From 4029202635fdea3ad8ef2a5caac3bdbebff6d147 Mon Sep 17 00:00:00 2001 From: "Jasper St. Pierre" Date: Mon, 28 Feb 2011 13:13:32 -0500 Subject: [PATCH 001/203] messageTray: Add Source.pushNotification method This allows clients to make minor adjustments to their notification content without triggering a new popup. https://bugzilla.gnome.org/show_bug.cgi?id=642793 --- js/ui/messageTray.js | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/js/ui/messageTray.js b/js/ui/messageTray.js index 4f2512238..8a29597de 100644 --- a/js/ui/messageTray.js +++ b/js/ui/messageTray.js @@ -844,12 +844,13 @@ Source.prototype = { return this._iconBin; }, - notify: function(notification) { + pushNotification: function(notification) { if (this.notification) { this.notification.disconnect(this._notificationClickedId); this.notification.disconnect(this._notificationDestroyedId); } + // FIXME: Right now, we don't save multiple notifications. this.notification = notification; this._notificationClickedId = notification.connect('clicked', Lang.bind(this, this.open)); @@ -862,7 +863,10 @@ Source.prototype = { this._notificationRemoved(); } })); + }, + notify: function(notification) { + this.pushNotification(notification); this.emit('notify', notification); }, From f4a000cb59875065248f435b0fd712056b3f6db9 Mon Sep 17 00:00:00 2001 From: "Jasper St. Pierre" Date: Mon, 28 Feb 2011 13:14:07 -0500 Subject: [PATCH 002/203] telepathyClient: Re-open existing chat sources on Shell restart This allows users to continue a chat they were having after the shell is restarted. https://bugzilla.gnome.org/show_bug.cgi?id=642793 --- js/ui/telepathyClient.js | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/js/ui/telepathyClient.js b/js/ui/telepathyClient.js index 7dd972e7a..7bfc7ace1 100644 --- a/js/ui/telepathyClient.js +++ b/js/ui/telepathyClient.js @@ -143,6 +143,10 @@ Source.prototype = { this._notifyAvatarId = this._contact.connect('notify::avatar-file', Lang.bind(this, this._updateAvatarIcon)); this._presenceChangedId = this._contact.connect('presence-changed', Lang.bind(this, this._presenceChanged)); + // Add ourselves as a source. + Main.messageTray.add(this); + this.pushNotification(this._notification); + this._displayPendingMessages(); }, @@ -216,9 +220,6 @@ Source.prototype = { }, notify: function() { - if (!Main.messageTray.contains(this)) - Main.messageTray.add(this); - MessageTray.Source.prototype.notify.call(this, this._notification); }, From 8c40c2086aac9d252c51150a9ac5f4760ba352dc Mon Sep 17 00:00:00 2001 From: "Jasper St. Pierre" Date: Mon, 28 Feb 2011 13:15:02 -0500 Subject: [PATCH 003/203] telepathyClient: Add alias change notifiers Update the Source title when an contact's alias changes, and also also add a minor meta message like the current timestamps. Updating the alias of a 'presenced' contact will overwrite the current title, and it will also not update the summary item title right now due to limitations of the message tray. https://bugzilla.gnome.org/show_bug.cgi?id=642793 --- js/ui/telepathyClient.js | 20 +++++++++++++++++--- 1 file changed, 17 insertions(+), 3 deletions(-) diff --git a/js/ui/telepathyClient.js b/js/ui/telepathyClient.js index 7bfc7ace1..ab90579a3 100644 --- a/js/ui/telepathyClient.js +++ b/js/ui/telepathyClient.js @@ -116,7 +116,7 @@ Source.prototype = { __proto__: MessageTray.Source.prototype, _init: function(account, conn, channel, contact) { - MessageTray.Source.prototype._init.call(this, channel.get_identifier()); + MessageTray.Source.prototype._init.call(this, contact.get_alias()); this.isChat = true; @@ -127,8 +127,6 @@ Source.prototype = { this._channel = channel; this._closedId = this._channel.connect('invalidated', Lang.bind(this, this._channelClosed)); - this._updateAlias(); - this._notification = new Notification(this); this._notification.setUrgency(MessageTray.Urgency.HIGH); @@ -151,7 +149,10 @@ Source.prototype = { }, _updateAlias: function() { + let oldAlias = this.title; this.title = this._contact.get_alias(); + this._notification.appendAliasChange(oldAlias, this.title); + this.pushNotification(this._notification); }, createNotificationIcon: function() { @@ -373,6 +374,19 @@ Notification.prototype = { this._history.unshift({ actor: label, time: (Date.now() / 1000), realMessage: false}); }, + appendAliasChange: function(oldAlias, newAlias) { + oldAlias = GLib.markup_escape_text(oldAlias, -1); + newAlias = GLib.markup_escape_text(newAlias, -1); + + /* Translators: this is the other person changing their old IM name to their new + IM name. */ + let message = '' + _("%s is now known as %s").format(oldAlias, newAlias) + ''; + let label = this.addBody(message, true); + label.add_style_class_name('chat-meta-message'); + this._history.unshift({ actor: label, time: (Date.now() / 1000), realMessage: false }); + this.update(newAlias, null, { customContent: true }); + }, + _onEntryActivated: function() { let text = this._responseEntry.get_text(); if (text == '') From 79d9df9bb144047d9cb6fc06770e6ebe42e45482 Mon Sep 17 00:00:00 2001 From: "Jasper St. Pierre" Date: Sun, 20 Feb 2011 03:41:51 -0500 Subject: [PATCH 004/203] telepathyClient: Add history navigation to entry This adds a non-saving history to each notification entry, like runDialog and lookingGlass. https://bugzilla.gnome.org/show_bug.cgi?id=642793 --- js/ui/telepathyClient.js | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/js/ui/telepathyClient.js b/js/ui/telepathyClient.js index ab90579a3..4056679d9 100644 --- a/js/ui/telepathyClient.js +++ b/js/ui/telepathyClient.js @@ -11,6 +11,7 @@ const Tp = imports.gi.TelepathyGLib; const Gettext = imports.gettext.domain('gnome-shell'); const _ = Gettext.gettext; +const History = imports.misc.history; const Main = imports.ui.main; const MessageTray = imports.ui.messageTray; @@ -291,6 +292,8 @@ Notification.prototype = { this._oldMaxScrollAdjustment = adjustment.upper; })); + this._inputHistory = new History.HistoryManager({ entry: this._responseEntry.clutter_text }); + this._history = []; this._timestampTimeoutId = 0; }, @@ -392,6 +395,8 @@ Notification.prototype = { if (text == '') return; + this._inputHistory.addItem(text); + // Telepathy sends out the Sent signal for us. // see Source._messageSent this._responseEntry.set_text(''); From ebcb87c163adb0ac48712c8251c946a30a1f6105 Mon Sep 17 00:00:00 2001 From: "Jasper St. Pierre" Date: Sat, 26 Feb 2011 09:23:38 -0500 Subject: [PATCH 005/203] shell-global: Add shell_get_self_contact_features This is another workaround for the lack of gjs supporting array arguments, this time wrapping tp_connection_upgrade_contacts to add new features to the connection's self contact. https://bugzilla.gnome.org/show_bug.cgi?id=642793 --- src/shell-global.c | 40 ++++++++++++++++++++++++++++++++++++++++ src/shell-global.h | 8 ++++++++ 2 files changed, 48 insertions(+) diff --git a/src/shell-global.c b/src/shell-global.c index b16758ff5..67c870325 100644 --- a/src/shell-global.c +++ b/src/shell-global.c @@ -2048,3 +2048,43 @@ shell_global_launch_calendar_server (ShellGlobal *global) g_free (calendar_server_exe); } + +static void +shell_global_get_self_contact_features_cb (TpConnection *connection, + guint n_contacts, + TpContact * const *contacts, + const GError *error, + gpointer user_data, + GObject *weak_object) +{ + if (error != NULL) { + g_print ("Failed to upgrade self contact: %s", error->message); + return; + } + ((ShellGetSelfContactFeaturesCb)user_data)(connection, *contacts); +} + +/** + * shell_get_self_contact_features: + * @self: A connection, which must be ready + * @n_features: Number of features in features + * @features: (array length=n_features) (allow-none) (element-type uint): + * Array of features + * @callback: (scope async): User callback to run when the contact is ready + * + * Wrap tp_connection_upgrade_contacts due to the lack of support for + * proper arrays arguments in GJS. + */ +void +shell_get_self_contact_features (TpConnection *self, + guint n_features, + const TpContactFeature *features, + ShellGetSelfContactFeaturesCb callback) +{ + TpContact *self_contact = tp_connection_get_self_contact (self); + + tp_connection_upgrade_contacts (self, 1, &self_contact, + n_features, features, + shell_global_get_self_contact_features_cb, + callback, NULL, NULL); +} diff --git a/src/shell-global.h b/src/shell-global.h index 42909801c..b3f86e398 100644 --- a/src/shell-global.h +++ b/src/shell-global.h @@ -157,6 +157,14 @@ void shell_get_tp_contacts (TpConnection *self, void shell_global_launch_calendar_server (ShellGlobal *global); +typedef void (*ShellGetSelfContactFeaturesCb) (TpConnection *connection, + TpContact *contact); + +void shell_get_self_contact_features (TpConnection *self, + guint n_features, + const TpContactFeature *features, + ShellGetSelfContactFeaturesCb callback); + G_END_DECLS #endif /* __SHELL_GLOBAL_H__ */ From 6ff69da0deca3f595d3592ff27bd96b15ea2797a Mon Sep 17 00:00:00 2001 From: "Jasper St. Pierre" Date: Sat, 26 Feb 2011 09:25:11 -0500 Subject: [PATCH 006/203] telepathyClient: Add support for aliases on the self-contact Upgrade the connection's self contact to allow aliases, so that we don't show the internal telepathy identifier anywhere user-visible. https://bugzilla.gnome.org/show_bug.cgi?id=642793 --- js/ui/telepathyClient.js | 18 ++++++++++++++++-- 1 file changed, 16 insertions(+), 2 deletions(-) diff --git a/js/ui/telepathyClient.js b/js/ui/telepathyClient.js index 4056679d9..89a1861b1 100644 --- a/js/ui/telepathyClient.js +++ b/js/ui/telepathyClient.js @@ -68,7 +68,22 @@ Client.prototype = { _observeChannels: function(observer, account, conn, channels, dispatchOp, requests, context) { - let connPath = conn.get_object_path(); + // If the self_contact doesn't have the ALIAS, make sure + // to fetch it before trying to grab the channels. + let self_contact = conn.get_self_contact(); + if (self_contact.has_feature(Tp.ContactFeature.ALIAS)) { + this._finishObserveChannels(account, conn, channels, context); + } else { + Shell.get_self_contact_features(conn, + contactFeatures.length, contactFeatures, + Lang.bind(this, function() { + this._finishObserveChannels(account, conn, channels, context); + })); + context.delay(); + } + }, + + _finishObserveChannels: function(account, conn, channels, context) { let len = channels.length; for (let i = 0; i < len; i++) { let channel = channels[i]; @@ -91,7 +106,6 @@ Client.prototype = { }), null); } - // Allow dbus method to return context.accept(); }, From e6aee5d7ea19a1377c0e7d3f33e2c7316e1bbe62 Mon Sep 17 00:00:00 2001 From: "Jasper St. Pierre" Date: Sat, 26 Feb 2011 09:38:25 -0500 Subject: [PATCH 007/203] telepathyClient: Add support for the ACTION message type This message type is usually supported by the '/me' command in IRC and IM clients. https://bugzilla.gnome.org/show_bug.cgi?id=642793 --- js/ui/telepathyClient.js | 31 +++++++++++++++++++++++++------ 1 file changed, 25 insertions(+), 6 deletions(-) diff --git a/js/ui/telepathyClient.js b/js/ui/telepathyClient.js index 89a1861b1..de504b436 100644 --- a/js/ui/telepathyClient.js +++ b/js/ui/telepathyClient.js @@ -240,7 +240,15 @@ Source.prototype = { }, respond: function(text) { - let msg = Tp.ClientMessage.new_text(Tp.ChannelTextMessageType.NORMAL, text); + let type; + if (text.slice(0, 4) == '/me ') { + type = Tp.ChannelTextMessageType.ACTION; + text = text.slice(4); + } else { + type = Tp.ChannelTextMessageType.NORMAL; + } + + let msg = Tp.ClientMessage.new_text(type, text); this._channel.send_message_async(msg, 0, null); }, @@ -313,14 +321,24 @@ Notification.prototype = { }, appendMessage: function(message, direction) { + let type = message.get_message_type(); let [text, flags] = message.to_text(); let timestamp = message.get_received_timestamp(); - this.update(this.source.title, text, { customContent: true }); - this._append(text, direction, timestamp); + let messageBody = GLib.markup_escape_text(text, -1); + let styles = [direction]; + + if (type == Tp.ChannelTextMessageType.ACTION) { + let senderAlias = GLib.markup_escape_text(message.sender.alias, -1); + messageBody = '%s %s'.format(senderAlias, messageBody); + styles.push('chat-action'); + } + + this.update(this.source.title, messageBody, { customContent: true, bannerMarkup: true }); + this._append(messageBody, styles, timestamp); }, - _append: function(text, style, timestamp) { + _append: function(text, styles, timestamp) { let currentTime = (Date.now() / 1000); if (!timestamp) timestamp = currentTime; @@ -332,8 +350,9 @@ Notification.prototype = { if (this._timestampTimeoutId) Mainloop.source_remove(this._timestampTimeoutId); - let body = this.addBody(text); - body.add_style_class_name(style); + let body = this.addBody(text, true); + for (let i = 0; i < styles.length; i ++) + body.add_style_class_name(styles[i]); this._history.unshift({ actor: body, time: timestamp, realMessage: true }); From 12df10b2d0d88b6c65fcedcb54f9b99335d231af Mon Sep 17 00:00:00 2001 From: "Jasper St. Pierre" Date: Sat, 26 Feb 2011 12:31:19 -0500 Subject: [PATCH 008/203] Require a recent TelepathyLogger We require a TelepathyLogger version with gobject-introspection support. https://bugzilla.gnome.org/show_bug.cgi?id=643377 --- configure.ac | 2 ++ tools/build/gnome-shell.modules | 12 ++++++++++-- 2 files changed, 12 insertions(+), 2 deletions(-) diff --git a/configure.ac b/configure.ac index 4da29428e..3ecdfedc1 100644 --- a/configure.ac +++ b/configure.ac @@ -71,6 +71,7 @@ LIBEDATASERVER_MIN_VERSION=1.2.0 LIBEDATASERVERUI2_MIN_VERSION=1.2.0 LIBEDATASERVERUI3_MIN_VERSION=2.91.6 TELEPATHY_GLIB_MIN_VERSION=0.13.12 +TELEPATHY_LOGGER_MIN_VERSION=0.2.4 POLKIT_MIN_VERSION=0.100 # Collect more than 20 libraries for a prize! @@ -87,6 +88,7 @@ PKG_CHECK_MODULES(GNOME_SHELL, gio-2.0 >= $GIO_MIN_VERSION gobject-introspection-1.0 >= $GOBJECT_INTROSPECTION_MIN_VERSION libcanberra telepathy-glib >= $TELEPATHY_GLIB_MIN_VERSION + telepathy-logger-0.2 >= $TELEPATHY_LOGGER_MIN_VERSION polkit-agent-1 >= $POLKIT_MIN_VERSION) PKG_CHECK_MODULES(SHELL_PERF_HELPER, gtk+-3.0 gio-2.0) diff --git a/tools/build/gnome-shell.modules b/tools/build/gnome-shell.modules index 6c8db0982..15f62fc23 100644 --- a/tools/build/gnome-shell.modules +++ b/tools/build/gnome-shell.modules @@ -259,6 +259,13 @@ + + + + + + + @@ -274,9 +281,10 @@ - - + + + From 525da01a62415ea63150dfdab53b809d9a0f7ec8 Mon Sep 17 00:00:00 2001 From: "Jasper St. Pierre" Date: Sat, 26 Feb 2011 12:32:27 -0500 Subject: [PATCH 009/203] shell-global: Add wrappers for TelepathyLogger gjs can't support more than one callback in the same function, so work around this with yet another shell-global wrapper. https://bugzilla.gnome.org/show_bug.cgi?id=643377 --- src/Makefile.am | 2 +- src/shell-global.c | 27 +++++++++++++++++++++++++++ src/shell-global.h | 7 +++++++ 3 files changed, 35 insertions(+), 1 deletion(-) diff --git a/src/Makefile.am b/src/Makefile.am index 7c251de0a..a018e81bd 100644 --- a/src/Makefile.am +++ b/src/Makefile.am @@ -262,7 +262,7 @@ libgnome_shell_la_LIBADD = \ libgnome_shell_la_CPPFLAGS = $(gnome_shell_cflags) Shell-0.1.gir: libgnome-shell.la St-1.0.gir -Shell_0_1_gir_INCLUDES = Clutter-1.0 ClutterX11-1.0 Meta-2.91 TelepathyGLib-0.12 +Shell_0_1_gir_INCLUDES = Clutter-1.0 ClutterX11-1.0 Meta-2.91 TelepathyGLib-0.12 TelepathyLogger-1.0 Shell_0_1_gir_CFLAGS = $(libgnome_shell_la_CPPFLAGS) -I $(srcdir) Shell_0_1_gir_LIBS = libgnome-shell.la Shell_0_1_gir_FILES = $(addprefix $(srcdir)/,$(libgnome_shell_la_gir_sources)) diff --git a/src/shell-global.c b/src/shell-global.c index 67c870325..88b8224b7 100644 --- a/src/shell-global.c +++ b/src/shell-global.c @@ -2088,3 +2088,30 @@ shell_get_self_contact_features (TpConnection *self, shell_global_get_self_contact_features_cb, callback, NULL, NULL); } + +/** + * shell_get_contact_events: + * @log_manager: A #TplLogManager + * @account: A #TpAccount + * @entity: A #TplEntity + * @num_events: The number of events to retrieve + * @callback: (scope async): User callback to run when the contact is ready + * + * Wrap tpl_log_manager_get_filtered_events_async because gjs cannot support + * multiple callbacks in the same function call. + */ +void +shell_get_contact_events (TplLogManager *log_manager, + TpAccount *account, + TplEntity *entity, + guint num_events, + GAsyncReadyCallback callback) +{ + tpl_log_manager_get_filtered_events_async (log_manager, + account, + entity, + TPL_EVENT_MASK_TEXT, + num_events, + NULL, NULL, + callback, NULL); +} diff --git a/src/shell-global.h b/src/shell-global.h index b3f86e398..1ca247c50 100644 --- a/src/shell-global.h +++ b/src/shell-global.h @@ -8,6 +8,7 @@ #include #include #include +#include G_BEGIN_DECLS @@ -165,6 +166,12 @@ void shell_get_self_contact_features (TpConnection *self, const TpContactFeature *features, ShellGetSelfContactFeaturesCb callback); +void shell_get_contact_events (TplLogManager *log_manager, + TpAccount *account, + TplEntity *entity, + guint num_events, + GAsyncReadyCallback callback); + G_END_DECLS #endif /* __SHELL_GLOBAL_H__ */ From 5a269db9d5d7b2a65f138cccfc6b449ba27f6d86 Mon Sep 17 00:00:00 2001 From: "Jasper St. Pierre" Date: Mon, 7 Mar 2011 17:10:53 -0500 Subject: [PATCH 010/203] telepathyClient: Add messages from TelepathyLogger This allows users to see chat history from other contacts with the inline message tray replies. https://bugzilla.gnome.org/show_bug.cgi?id=643377 --- js/ui/telepathyClient.js | 135 +++++++++++++++++++++++++++++++-------- 1 file changed, 107 insertions(+), 28 deletions(-) diff --git a/js/ui/telepathyClient.js b/js/ui/telepathyClient.js index de504b436..e7a8240a9 100644 --- a/js/ui/telepathyClient.js +++ b/js/ui/telepathyClient.js @@ -7,6 +7,7 @@ const Mainloop = imports.mainloop; const Shell = imports.gi.Shell; const Signals = imports.signals; const St = imports.gi.St; +const Tpl = imports.gi.TelepathyLogger; const Tp = imports.gi.TelepathyGLib; const Gettext = imports.gettext.domain('gnome-shell'); const _ = Gettext.gettext; @@ -22,6 +23,9 @@ const SCROLLBACK_RECENT_TIME = 15 * 60; // 15 minutes const SCROLLBACK_RECENT_LENGTH = 20; const SCROLLBACK_IDLE_LENGTH = 5; +// See Source._displayPendingMessages +const SCROLLBACK_HISTORY_LINES = 10; + const NotificationDirection = { SENT: 'chat-sent', RECEIVED: 'chat-received' @@ -36,6 +40,31 @@ let contactFeatures = [Tp.ContactFeature.ALIAS, // lets us see messages even if they belong to another app (eg, // Empathy). +function makeMessageFromTpMessage(tpMessage, direction) { + let [text, flags] = tpMessage.to_text(); + return { + messageType: tpMessage.get_message_type(), + text: text, + sender: tpMessage.sender.alias, + timestamp: tpMessage.get_received_timestamp(), + direction: direction + }; +} + + +function makeMessageFromTplEvent(event) { + let sent = event.get_sender().get_entity_type() == Tpl.EntityType.SELF; + let direction = sent ? NotificationDirection.SENT : NotificationDirection.RECEIVED; + + return { + messageType: event.get_message_type(), + text: event.get_message(), + sender: event.get_sender().get_alias(), + timestamp: event.get_timestamp(), + direction: direction + }; +} + function Client() { this._init(); }; @@ -160,7 +189,7 @@ Source.prototype = { Main.messageTray.add(this); this.pushNotification(this._notification); - this._displayPendingMessages(); + this._getLogMessages(); }, _updateAlias: function() { @@ -203,13 +232,50 @@ Source.prototype = { req.ensure_channel_async('', null, null); }, - _displayPendingMessages: function() { - let msgs = this._channel.get_pending_messages(); + _getLogMessages: function() { + let logManager = Tpl.LogManager.dup_singleton(); + let entity = Tpl.Entity.new_from_tp_contact(this._contact, Tpl.EntityType.CONTACT); + Shell.get_contact_events(logManager, + this._account, entity, + SCROLLBACK_HISTORY_LINES, + Lang.bind(this, this._displayPendingMessages)); + }, - for (let i = 0; i < msgs.length; i++) { - let msg = msgs[i]; - this._messageReceived(this._channel, msg); + _displayPendingMessages: function(logManager, result) { + let [success, events] = logManager.get_filtered_events_finish(result); + + let logMessages = events.map(makeMessageFromTplEvent); + for (let i = 0; i < logMessages.length; i++) { + this._notification.appendMessage(logMessages[i], true); } + + let pendingMessages = this._channel.get_pending_messages(); + let hasPendingMessage = false; + for (let i = 0; i < pendingMessages.length; i++) { + let message = makeMessageFromTpMessage(pendingMessages[i], NotificationDirection.RECEIVED); + + // Skip any pending messages that are in the logs. + let inLog = false; + for (let j = 0; j < logMessages.length; j++) { + let logMessage = logMessages[j]; + if (logMessage.timestamp == message.timestamp && logMessage.text == message.body) { + inLog = true; + } + } + + if (inLog) + continue; + + this._notification.appendMessage(message, true); + hasPendingMessage = true; + } + + // Only show the timestamp if we have at least one message. + if (hasPendingMessage || logMessages.length > 0) + this._notification.appendTimestamp(); + + if (hasPendingMessage) + this.notify(); }, _channelClosed: function() { @@ -225,14 +291,16 @@ Source.prototype = { }, _messageReceived: function(channel, message) { - this._notification.appendMessage(message, NotificationDirection.RECEIVED); + message = makeMessageFromTpMessage(message, NotificationDirection.RECEIVED); + this._notification.appendMessage(message); this.notify(); }, // This is called for both messages we send from // our client and other clients as well. _messageSent: function(channel, message, flags, token) { - this._notification.appendMessage(message, NotificationDirection.SENT); + message = makeMessageFromTpMessage(message, NotificationDirection.SENT); + this._notification.appendMessage(message); }, notify: function() { @@ -320,25 +388,34 @@ Notification.prototype = { this._timestampTimeoutId = 0; }, - appendMessage: function(message, direction) { - let type = message.get_message_type(); - let [text, flags] = message.to_text(); - let timestamp = message.get_received_timestamp(); + /** + * appendMessage: + * @message: An object with the properties: + * text: the body of the message, + * messageType: a #Tp.ChannelTextMessageType, + * sender: the name of the sender, + * timestamp: the time the message was sent + * direction: a #NotificationDirection + * + * @noTimestamp: Whether to add a timestamp. If %true, no timestamp + * will be added, regardless of the difference since the + * last timestamp + */ + appendMessage: function(message, noTimestamp) { + let messageBody = GLib.markup_escape_text(message.text, -1); + let styles = [message.direction]; - let messageBody = GLib.markup_escape_text(text, -1); - let styles = [direction]; - - if (type == Tp.ChannelTextMessageType.ACTION) { - let senderAlias = GLib.markup_escape_text(message.sender.alias, -1); + if (message.messageType == Tp.ChannelTextMessageType.ACTION) { + let senderAlias = GLib.markup_escape_text(message.sender, -1); messageBody = '%s %s'.format(senderAlias, messageBody); styles.push('chat-action'); } this.update(this.source.title, messageBody, { customContent: true, bannerMarkup: true }); - this._append(messageBody, styles, timestamp); + this._append(messageBody, styles, message.timestamp, noTimestamp); }, - _append: function(text, styles, timestamp) { + _append: function(text, styles, timestamp, noTimestamp) { let currentTime = (Date.now() / 1000); if (!timestamp) timestamp = currentTime; @@ -356,14 +433,16 @@ Notification.prototype = { this._history.unshift({ actor: body, time: timestamp, realMessage: true }); - if (timestamp < currentTime - SCROLLBACK_IMMEDIATE_TIME) - this._appendTimestamp(); - else - // Schedule a new timestamp in SCROLLBACK_IMMEDIATE_TIME - // from the timestamp of the message. - this._timestampTimeoutId = Mainloop.timeout_add_seconds( - SCROLLBACK_IMMEDIATE_TIME - (currentTime - timestamp), - Lang.bind(this, this._appendTimestamp)); + if (!noTimestamp) { + if (timestamp < currentTime - SCROLLBACK_IMMEDIATE_TIME) + this.appendTimestamp(); + else + // Schedule a new timestamp in SCROLLBACK_IMMEDIATE_TIME + // from the timestamp of the message. + this._timestampTimeoutId = Mainloop.timeout_add_seconds( + SCROLLBACK_IMMEDIATE_TIME - (currentTime - timestamp), + Lang.bind(this, this.appendTimestamp)); + } if (this._history.length > 1) { // Keep the scrollback from growing too long. If the most @@ -384,7 +463,7 @@ Notification.prototype = { } }, - _appendTimestamp: function() { + appendTimestamp: function() { let lastMessageTime = this._history[0].time; let lastMessageDate = new Date(lastMessageTime * 1000); From 982d8a0dc0166876c4b54f9cbe123bd8ed63260b Mon Sep 17 00:00:00 2001 From: Adel Gadllah Date: Tue, 15 Mar 2011 00:10:16 +0100 Subject: [PATCH 011/203] build: Fix TelepathyLogger version requirement We are supposed to require the 0.2 gir file not 1.0. --- src/Makefile.am | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/Makefile.am b/src/Makefile.am index a018e81bd..a24a71e56 100644 --- a/src/Makefile.am +++ b/src/Makefile.am @@ -262,7 +262,7 @@ libgnome_shell_la_LIBADD = \ libgnome_shell_la_CPPFLAGS = $(gnome_shell_cflags) Shell-0.1.gir: libgnome-shell.la St-1.0.gir -Shell_0_1_gir_INCLUDES = Clutter-1.0 ClutterX11-1.0 Meta-2.91 TelepathyGLib-0.12 TelepathyLogger-1.0 +Shell_0_1_gir_INCLUDES = Clutter-1.0 ClutterX11-1.0 Meta-2.91 TelepathyGLib-0.12 TelepathyLogger-0.2 Shell_0_1_gir_CFLAGS = $(libgnome_shell_la_CPPFLAGS) -I $(srcdir) Shell_0_1_gir_LIBS = libgnome-shell.la Shell_0_1_gir_FILES = $(addprefix $(srcdir)/,$(libgnome_shell_la_gir_sources)) From ddbc263da28d44e9b218b95930fa6edab0c1a207 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Mattias=20P=C3=B5ldaru?= Date: Tue, 15 Mar 2011 13:42:27 +0200 Subject: [PATCH 012/203] [l10n] Updated Estonian translation --- po/et.po | 360 ++++++++++++++++++++++++++++++------------------------- 1 file changed, 196 insertions(+), 164 deletions(-) diff --git a/po/et.po b/po/et.po index ddbe685b8..609555d7f 100644 --- a/po/et.po +++ b/po/et.po @@ -12,21 +12,21 @@ msgid "" msgstr "" "Project-Id-Version: gnome-shell MASTER\n" "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug.cgi?product=gnome-" -"shell&component=general\n" -"POT-Creation-Date: 2011-02-04 22:28+0000\n" -"PO-Revision-Date: 2011-02-06 08:43+0200\n" -"Last-Translator: Ivar Smolin \n" +"shell&keywords=I18N+L10N&component=general\n" +"POT-Creation-Date: 2011-03-14 01:40+0000\n" +"PO-Revision-Date: 2011-03-14 12:53+0300\n" +"Last-Translator: Mattias Põldaru \n" "Language-Team: Estonian \n" +"Language: et\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: et\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" "X-Poedit-Language: Estonian\n" "X-Poedit-Country: Estonia\n" msgid "GNOME Shell" -msgstr "GNOME kest" +msgstr "GNOME Shell" msgid "Window management and application launching" msgstr "Aknahaldur ja rakenduste käivitaja" @@ -58,6 +58,10 @@ msgstr "" msgid "History for command (Alt-F2) dialog" msgstr "Käsudialoogi (Alt-F2) ajalugu" +# suurendusklaasidialoog? miks ka mitte :) +msgid "History for the looking glass dialog" +msgstr "Otsingudialoogi ajalugu" + msgid "If true, display date in the clock, in addition to time." msgstr "Kui määratud, siis kuvatakse kellaaja kõrval ka kuupäeva." @@ -83,6 +87,16 @@ msgid "" "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 "" +"Määrab GStreameri toru, mida kasutatakse lindistuste kodeerimiseks. See peab " +"vastama gst-launch'i süntaksile. Torul peaks olema vaba plokk (pad), kuhu " +"lindistatav video salvestatakse. Tavaliselt on vaba plokk olemas; selle " +"ploki väljund kirjutatakse väljundfaili. Toru võib hoolitseda ka enda " +"väljundi eest - seda võib kasutada väljundi saatmiseks icecast serverisse " +"shout2send või sarnase tehnoloogia abil. Kui see on määramata või väärtus on " +"tühi, kasutatakse vaikimisi toru. See on praegu 'videorate ! vp8enc " +"quality=10 speed=2 threads=%T ! queue ! webmmux' ning lindistab WEBM " +"vormingusse VP8 koodekiga. %T asendatakse süsteemi oletatava optimaalseima " +"lõimede (thread) arvuga." msgid "Show date in clock" msgstr "Kell näitab kuupäeva" @@ -96,7 +110,7 @@ msgstr "Kellaaega näidatakse sekunditega" msgid "" "The applications corresponding to these identifiers will be displayed in the " "favorites area." -msgstr "" +msgstr "Nendele tunnustele vastavaid rakendusi kuvatakse lemmikutes." msgid "" "The filename for recorded screencasts will be a unique filename based on the " @@ -112,9 +126,10 @@ msgid "" "The framerate of the resulting screencast recordered by GNOME Shell's " "screencast recorder in frames-per-second." msgstr "" +"GNOME Shelli lindistatava ekraanivideo kaadrisagedus (kaadrit sekundis)." msgid "The gstreamer pipeline used to encode the screencast" -msgstr "" +msgstr "GStreameri toru, mida ekraanivideo kodeerimiseks kasutatakse" msgid "" "The shell normally monitors active applications in order to present the most " @@ -122,125 +137,19 @@ msgid "" "want to disable this for privacy reasons. Please note that doing so won't " "remove already saved data." msgstr "" +"Shell tavaliselt seirab aktiivseid rakendusi, et näidata enamkasutatavaid " +"(näiteks käivitajaid). Kuigi neid andmeid hoitakse privaatselt, võid " +"privaatsuse suurendamiseks selle keelata. Selle keelamine siiski ei eemalda " +"juba salvestatud andmeid." msgid "Uuids of extensions to disable" msgstr "Keelatavate laienduste UUID-d" msgid "Whether to collect stats about applications usage" -msgstr "" +msgstr "Kas rakenduste kasutuse kohta kogutakse andmeid" msgid "disabled OpenSearch providers" -msgstr "" - -msgid "Clip the crosshairs at the center" -msgstr "Niitristi keskel on auk" - -msgid "Color of the crosshairs" -msgstr "Niitristi värvus" - -msgid "" -"Determines the length of the vertical and horizontal lines that make up the " -"crosshairs." -msgstr "" - -msgid "" -"Determines the position of the magnified mouse image within the magnified " -"view and how it reacts to system mouse movement. The values are - none: no " -"mouse tracking; - centered: the mouse image is displayed at the center of " -"the zoom region (which also represents the point under the system mouse) and " -"the magnified contents are scrolled as the system mouse moves; - " -"proportional: the position of the magnified mouse in the zoom region is " -"proportionally the same as the position of the system mouse on screen; - " -"push: when the magnified mouse intersects a boundary of the zoom region, the " -"contents are scrolled into view." -msgstr "" - -msgid "" -"Determines the transparency of the crosshairs, from fully opaque to fully " -"transparent." -msgstr "" -"Määrab niitristi läbipaistvuse, alates täiesti läbipaistmatust kuni täiesti " -"läbipaistvani." - -msgid "" -"Determines whether the crosshairs intersect the magnified mouse sprite, or " -"are clipped such that the ends of the horizontal and vertical lines surround " -"the mouse image." -msgstr "" -"Määrab, kas niitrist kattub suurendatud hiire pildiga või on keskelt ära " -"lõigatud nii, et jooned ümbritsevad hiirekursori pilti." - -msgid "Enable lens mode" -msgstr "Läätsede režiimi lubamine" - -msgid "" -"Enables/disables display of crosshairs centered on the magnified mouse " -"sprite." -msgstr "Lubab/keelab niitristi kuvamise suurendatud hiirekursori kohal." - -msgid "" -"For centered mouse tracking, when the system pointer is at or near the edge " -"of the screen, the magnified contents continue to scroll such that the " -"screen edge moves into the magnified view." -msgstr "" - -msgid "Length of the crosshairs" -msgstr "Niitristi pikkus" - -msgid "Magnification factor" -msgstr "Suurendustegur" - -msgid "Mouse Tracking Mode" -msgstr "Hiire jälitamise režiim" - -msgid "Opacity of the crosshairs" -msgstr "Niitristi läbipaistvus" - -msgid "Screen position" -msgstr "Ekraani asukoht" - -msgid "Scroll magnified contents beyond the edges of the desktop" -msgstr "Suurendusklaas võib liikuda töölauapiiridest väljapoole" - -msgid "Show or hide crosshairs" -msgstr "Niitristi kuvamine või peitmine" - -msgid "Show or hide the magnifier" -msgstr "Suurendusklaasi kuvamine või peitmine" - -msgid "Show or hide the magnifier and all of its zoom regions." -msgstr "" -"Suurendusklaasi ja selle kõigi suurenduspiirkondade kuvamine või peitmine." - -msgid "" -"The color of the the vertical and horizontal lines that make up the " -"crosshairs." -msgstr "Niitristi püst- ja rõhtjoone värvus." - -msgid "" -"The magnified view either fills the entire screen, or occupies the top-half, " -"bottom-half, left-half, or right-half of the screen." -msgstr "" -"Suurendatud vaade täidab kas kogu ekraani või täidab ülemise, alumise, " -"vasaku või parema ekraanipoole." - -msgid "" -"The power of the magnification. A value of 1.0 means no magnification. A " -"value of 2.0 doubles the size." -msgstr "Suurendustegur. 1,0 tähendab originaalsuurust. 2,0 muudab kaks korda." - -msgid "Thickness of the crosshairs" -msgstr "Niitristi paksus" - -msgid "" -"Whether the magnified view should be centered over the location of the " -"system mouse and move with it." -msgstr "" -"Kas suurendatud vaate keskkoht peaks asetsema süsteemi hiire kohal ning " -"liikuma sellega kaasa." - -msgid "Width of the vertical and horizontal lines that make up the crosshairs." -msgstr "Niitristi moodustavate püst- ja rõhtjoone laius" +msgstr "keelatud OpenSearch pakkujad" msgid "Command not found" msgstr "Käsku ei leitud" @@ -264,8 +173,8 @@ msgstr "Kõik" msgid "APPLICATIONS" msgstr "Rakendused" -msgid "PREFERENCES" -msgstr "Eelistused" +msgid "SETTINGS" +msgstr "Seaded" msgid "New Window" msgstr "Uus aken" @@ -382,7 +291,7 @@ msgstr "L" #. Translators: Text to show if there are no events msgid "Nothing Scheduled" -msgstr "" +msgstr "Ühtegi sündmust pole plaanitud" #. Translators: Shown on calendar heading when selected day occurs on current year msgctxt "calendar heading" @@ -465,6 +374,8 @@ msgstr "Logi välja" msgid "Click Log Out to quit these applications and log out of the system." msgstr "" +"Nende rakenduste sulgemiseks ja süsteemist väljalogimiseks klõpsa nupule " +"Logi välja." #, c-format msgid "%s will be logged out automatically in %d seconds." @@ -482,6 +393,8 @@ msgstr "Lülita välja" msgid "Click Shut Down to quit these applications and shut down the system." msgstr "" +"Nende rakenduste sulgemiseks ja süsteemi väljalülitamiseks klõpsa nupule " +"Logi välja." #, c-format msgid "The system will shut down automatically in %d seconds." @@ -534,6 +447,9 @@ msgstr "Kuva lähtekoodi" msgid "Web Page" msgstr "Veebileht" +msgid "Open" +msgstr "Ava" + msgid "System Information" msgstr "Süsteemi andmed" @@ -546,6 +462,11 @@ msgstr "Aknad" msgid "Applications" msgstr "Rakendused" +#. Translators: this is the name of the dock/favorites area on +#. the left of the overview +msgid "Dash" +msgstr "Dokk" + #. TODO - _quit() doesn't really work on apps in state STARTING yet #, c-format msgid "Quit %s" @@ -556,6 +477,9 @@ msgstr "Lõpeta %s" msgid "Activities" msgstr "Tegevused" +msgid "Panel" +msgstr "Paneel" + #, c-format msgid "Failed to unmount '%s'" msgstr "'%s' lahtihaakimine nurjus" @@ -580,6 +504,18 @@ msgstr "toggle-switch-intl" msgid "Please enter a command:" msgstr "Palun sisesta käsk:" +msgid "Searching..." +msgstr "Otsimine..." + +msgid "No matching results." +msgstr "Tulemused puuduvad." + +msgid "Power Off..." +msgstr "Lülita välja..." + +msgid "Suspend" +msgstr "Uinak" + msgid "Available" msgstr "Saadaval" @@ -601,17 +537,8 @@ msgstr "Vaheta kasutajat" msgid "Log Out..." msgstr "Logi välja..." -#. This is temporarily removed, see -#. http://bugzilla.gnome.org/show_bug.cgi?id=636680 -#. for details. -#. item = new PopupMenu.PopupMenuItem(_("Suspend...")); -#. item.connect('activate', Lang.bind(this, this._onShutDownActivate)); -#. this.menu.addMenuItem(item); -msgid "Shut Down..." -msgstr "Lülita välja..." - msgid "Zoom" -msgstr "" +msgstr "Suurendus" msgid "Screen Reader" msgstr "Ekraanilugeja" @@ -638,10 +565,10 @@ msgid "Universal Access Settings" msgstr "Universaalse ligipääsu sätted" msgid "High Contrast" -msgstr "" +msgstr "Kõrgkontrastne" msgid "Large Text" -msgstr "" +msgstr "Suur tekst" msgid "Bluetooth" msgstr "Bluetooth" @@ -653,7 +580,7 @@ msgid "Send Files to Device..." msgstr "Failide saatmine seadmesse..." msgid "Setup a New Device..." -msgstr "" +msgstr "Uue seadme häälestamine..." msgid "Bluetooth Settings" msgstr "Bluetoothi sätted" @@ -672,7 +599,7 @@ msgstr "Viga seadme sirvimisel" #, c-format msgid "The requested device cannot be browsed, error is '%s'" -msgstr "" +msgstr "Küsitud seadet pole võimalik sirvida, viga on '%s'" msgid "Keyboard Settings" msgstr "Klaviatuurisätted" @@ -683,9 +610,6 @@ msgstr "Hiiresätted" msgid "Sound Settings" msgstr "Helisätted" -msgid "Bluetooth Agent" -msgstr "Bluetoothi agent" - #, c-format msgid "Authorization request from %s" msgstr "Autoriseerimise päring seadmelt %s" @@ -731,12 +655,20 @@ msgstr "Palun sisesta seadme poolt öeldav PIN-kood." msgid "OK" msgstr "Olgu" +msgid "Show Keyboard Layout..." +msgstr "Klaviatuuripaigutuse kuvamine..." + msgid "Localization Settings" msgstr "Lokaliseerimissätted" msgid "Power Settings" msgstr "Toitesätted..." +#. 0 is reported when UPower does not have enough data +#. to estimate battery life +msgid "Estimating..." +msgstr "Andmete kogumine..." + #, c-format msgid "%d hour remaining" msgid_plural "%d hours remaining" @@ -829,8 +761,15 @@ msgstr "%s on hõivatud." msgid "Sent at %X on %A" msgstr "Saadetud: %a, kell %X" -msgid "Search your computer" -msgstr "" +#. Translators: this is the text displayed +#. in the search entry when no search is +#. active; it should not exceed ~30 +#. characters. +msgid "Type to search..." +msgstr "Otsing..." + +msgid "Search" +msgstr "Otsing" #, c-format msgid "%s has finished starting" @@ -840,32 +779,28 @@ msgstr "%s läks käima" msgid "'%s' is ready" msgstr "'%s' on valmis" -msgid "" -"Can't add a new workspace because maximum workspaces limit has been reached." -msgstr "Pole võimalik uut tööala lisada, kuna tööalade piir on saavutatud." - -msgid "Can't remove the first workspace." -msgstr "Esimest tööala pole võimalik eemaldada." - #. translators: #. * The number of sound outputs on a particular device #, c-format msgid "%u Output" msgid_plural "%u Outputs" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "%u väljund" +msgstr[1] "%u väljundit" #. translators: #. * The number of sound inputs on a particular device #, c-format msgid "%u Input" msgid_plural "%u Inputs" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "%u sisend" +msgstr[1] "%u sisendit" msgid "System Sounds" msgstr "Süsteemi helid" +msgid "Print version" +msgstr "Printimise versioon" + msgid "Less than a minute ago" msgstr "Vähem kui minuti eest" @@ -893,6 +828,9 @@ msgid_plural "%d weeks ago" msgstr[0] "%d nädal tagasi" msgstr[1] "%d nädalat tagasi" +msgid "Authentication dialog was dismissed by the user" +msgstr "Kasutaja katkestas autentimisdialoogi" + msgid "Home Folder" msgstr "Kodukaust" @@ -901,9 +839,6 @@ msgstr "Kodukaust" msgid "File System" msgstr "Failisüsteem" -msgid "Search" -msgstr "Otsing" - #. Translators: the first string is the name of a gvfs #. * method, and the second string is a path. For #. * example, "Trash: some-directory". It means that the @@ -913,8 +848,111 @@ msgstr "Otsing" msgid "%1$s: %2$s" msgstr "%1$s: %2$s" -#~ msgid "Suspend..." -#~ msgstr "Peata..." +#~ msgid "Clip the crosshairs at the center" +#~ msgstr "Niitristi keskel on auk" + +#~ msgid "Color of the crosshairs" +#~ msgstr "Niitristi värvus" + +#~ msgid "" +#~ "Determines the transparency of the crosshairs, from fully opaque to fully " +#~ "transparent." +#~ msgstr "" +#~ "Määrab niitristi läbipaistvuse, alates täiesti läbipaistmatust kuni " +#~ "täiesti läbipaistvani." + +#~ msgid "" +#~ "Determines whether the crosshairs intersect the magnified mouse sprite, " +#~ "or are clipped such that the ends of the horizontal and vertical lines " +#~ "surround the mouse image." +#~ msgstr "" +#~ "Määrab, kas niitrist kattub suurendatud hiire pildiga või on keskelt ära " +#~ "lõigatud nii, et jooned ümbritsevad hiirekursori pilti." + +#~ msgid "Enable lens mode" +#~ msgstr "Läätsede režiimi lubamine" + +#~ msgid "" +#~ "Enables/disables display of crosshairs centered on the magnified mouse " +#~ "sprite." +#~ msgstr "Lubab/keelab niitristi kuvamise suurendatud hiirekursori kohal." + +#~ msgid "Length of the crosshairs" +#~ msgstr "Niitristi pikkus" + +#~ msgid "Magnification factor" +#~ msgstr "Suurendustegur" + +#~ msgid "Mouse Tracking Mode" +#~ msgstr "Hiire jälitamise režiim" + +#~ msgid "Opacity of the crosshairs" +#~ msgstr "Niitristi läbipaistvus" + +#~ msgid "Screen position" +#~ msgstr "Ekraani asukoht" + +#~ msgid "Scroll magnified contents beyond the edges of the desktop" +#~ msgstr "Suurendusklaas võib liikuda töölauapiiridest väljapoole" + +#~ msgid "Show or hide crosshairs" +#~ msgstr "Niitristi kuvamine või peitmine" + +#~ msgid "Show or hide the magnifier" +#~ msgstr "Suurendusklaasi kuvamine või peitmine" + +#~ msgid "Show or hide the magnifier and all of its zoom regions." +#~ msgstr "" +#~ "Suurendusklaasi ja selle kõigi suurenduspiirkondade kuvamine või peitmine." + +#~ msgid "" +#~ "The color of the the vertical and horizontal lines that make up the " +#~ "crosshairs." +#~ msgstr "Niitristi püst- ja rõhtjoone värvus." + +#~ msgid "" +#~ "The magnified view either fills the entire screen, or occupies the top-" +#~ "half, bottom-half, left-half, or right-half of the screen." +#~ msgstr "" +#~ "Suurendatud vaade täidab kas kogu ekraani või täidab ülemise, alumise, " +#~ "vasaku või parema ekraanipoole." + +#~ msgid "" +#~ "The power of the magnification. A value of 1.0 means no magnification. A " +#~ "value of 2.0 doubles the size." +#~ msgstr "" +#~ "Suurendustegur. 1,0 tähendab originaalsuurust. 2,0 muudab kaks korda." + +#~ msgid "Thickness of the crosshairs" +#~ msgstr "Niitristi paksus" + +#~ msgid "" +#~ "Whether the magnified view should be centered over the location of the " +#~ "system mouse and move with it." +#~ msgstr "" +#~ "Kas suurendatud vaate keskkoht peaks asetsema süsteemi hiire kohal ning " +#~ "liikuma sellega kaasa." + +#~ msgid "" +#~ "Width of the vertical and horizontal lines that make up the crosshairs." +#~ msgstr "Niitristi moodustavate püst- ja rõhtjoone laius" + +#~ msgid "PREFERENCES" +#~ msgstr "Eelistused" + +#~ msgid "Shut Down..." +#~ msgstr "Lülita välja..." + +#~ msgid "Bluetooth Agent" +#~ msgstr "Bluetoothi agent" + +#~ msgid "" +#~ "Can't add a new workspace because maximum workspaces limit has been " +#~ "reached." +#~ msgstr "Pole võimalik uut tööala lisada, kuna tööalade piir on saavutatud." + +#~ msgid "Can't remove the first workspace." +#~ msgstr "Esimest tööala pole võimalik eemaldada." #~ msgid "Clock" #~ msgstr "Kell" @@ -958,11 +996,5 @@ msgstr "%1$s: %2$s" #~ msgid "Find" #~ msgstr "Otsi" -#~ msgid "Searching..." -#~ msgstr "Otsimine..." - -#~ msgid "No matching results." -#~ msgstr "Tulemused puuduvad." - #~ msgid "Invisible" #~ msgstr "Nähtamatu" From 73853cf14786c78a26c09b4d6e6c94e35fb26077 Mon Sep 17 00:00:00 2001 From: Dan Winship Date: Tue, 15 Mar 2011 08:27:04 -0400 Subject: [PATCH 013/203] .gitignore: add gnome-shell-perf-helper --- .gitignore | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.gitignore b/.gitignore index dba52f811..b70dafaa1 100644 --- a/.gitignore +++ b/.gitignore @@ -44,8 +44,9 @@ src/calendar-server/org.gnome.Shell.CalendarServer.service src/gnome-shell src/gnome-shell-calendar-server src/gnome-shell-extension-tool -src/gnome-shell-real src/gnome-shell-jhbuild +src/gnome-shell-perf-helper +src/gnome-shell-real src/run-js-test src/test-recorder src/test-recorder.ogg From fcfd17e9732bcd0b77cbb59208f67d46daaf5c76 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Florian=20M=C3=BCllner?= Date: Sat, 12 Mar 2011 00:37:43 +0100 Subject: [PATCH 014/203] app-menu: Simplify startup animation During application startup, we used to display a rotating spinner which also moved from left to right, revealing the application title. The result looks rather busy, so remove the horizontal movement. https://bugzilla.gnome.org/show_bug.cgi?id=640782 --- data/theme/gnome-shell.css | 7 ---- js/ui/panel.js | 84 ++++++++------------------------------ 2 files changed, 17 insertions(+), 74 deletions(-) diff --git a/data/theme/gnome-shell.css b/data/theme/gnome-shell.css index 7d9f0110f..1335e8405 100644 --- a/data/theme/gnome-shell.css +++ b/data/theme/gnome-shell.css @@ -34,13 +34,6 @@ stage { color: rgba(0,0,0,0.5); } -.label-real-shadow { - background-gradient-direction: horizontal; - background-gradient-start: rgba(0, 0, 0, 0); - background-gradient-end: rgba(0, 0, 0, 255); - width: 10px; -} - StScrollBar { padding: 0px; diff --git a/js/ui/panel.js b/js/ui/panel.js index c08c3e834..79376199c 100644 --- a/js/ui/panel.js +++ b/js/ui/panel.js @@ -33,8 +33,7 @@ const HOT_CORNER_ACTIVATION_TIMEOUT = 0.5; const BUTTON_DND_ACTIVATION_TIMEOUT = 250; const ANIMATED_ICON_UPDATE_TIMEOUT = 100; -const SPINNER_UPDATE_TIMEOUT = 130; -const SPINNER_SPEED = 0.02; +const SPINNER_ANIMATION_TIME = 0.2; const STANDARD_TRAY_ICON_ORDER = ['a11y', 'display', 'keyboard', 'volume', 'bluetooth', 'network', 'battery']; const STANDARD_TRAY_ICON_SHELL_IMPLEMENTATION = { @@ -275,20 +274,13 @@ AppMenuButton.prototype = { this.hide(); })); - this._updateId = 0; - this._animationStep = 0; - this._clipWidth = PANEL_ICON_SIZE; - this._direction = SPINNER_SPEED; + this._stop = true; this._spinner = new AnimatedIcon('process-working.svg', PANEL_ICON_SIZE); this._container.add_actor(this._spinner.actor); this._spinner.actor.lower_bottom(); - this._shadow = new St.Bin({ style_class: 'label-real-shadow' }); - this._shadow.hide(); - this._container.add_actor(this._shadow); - let tracker = Shell.WindowTracker.get_default(); tracker.connect('notify::focus-app', Lang.bind(this, this._sync)); tracker.connect('app-state-changed', Lang.bind(this, this._onAppStateChanged)); @@ -338,62 +330,26 @@ AppMenuButton.prototype = { this._iconBox.remove_clip(); }, - _stopAnimation: function(animate) { - this._label.actor.remove_clip(); - if (this._updateId) { - this._shadow.hide(); - if (animate) { - Tweener.addTween(this._spinner.actor, - { opacity: 0, - time: 0.2, - transition: "easeOutQuad", - onCompleteScope: this, - onComplete: function() { - this._spinner.actor.opacity = 255; - this._spinner.actor.hide(); - } - }); - } - Mainloop.source_remove(this._updateId); - this._updateId = 0; - } - if (!animate) - this._spinner.actor.hide(); - }, - stopAnimation: function() { - this._direction = SPINNER_SPEED * 3; - this._stop = true; - }, + if (this._stop) + return; - _update: function() { - this._animationStep += this._direction; - if (this._animationStep > 1 && this._stop) { - this._animationStep = 1; - this._stopAnimation(true); - return false; - } - if (this._animationStep > 1) - this._animationStep = 1; - this._clipWidth = this._label.actor.width - (this._label.actor.width - PANEL_ICON_SIZE) * (1 - this._animationStep); - if (this.actor.get_direction() == St.TextDirection.LTR) { - this._label.actor.set_clip(0, 0, this._clipWidth + this._shadow.width, this.actor.height); - } else { - this._label.actor.set_clip(this._label.actor.width - this._clipWidth, 0, this._clipWidth, this.actor.height); - } - this._container.queue_relayout(); - return true; + this._stop = true; + Tweener.addTween(this._spinner.actor, + { opacity: 0, + time: SPINNER_ANIMATION_TIME, + transition: "easeOutQuad", + onCompleteScope: this, + onComplete: function() { + this._spinner.actor.opacity = 255; + this._spinner.actor.hide(); + } + }); }, startAnimation: function() { - this._direction = SPINNER_SPEED; - this._stopAnimation(false); - this._animationStep = 0; - this._update(); this._stop = false; - this._updateId = Mainloop.timeout_add(SPINNER_UPDATE_TIMEOUT, Lang.bind(this, this._update)); this._spinner.actor.show(); - this._shadow.show(); }, _getContentPreferredWidth: function(actor, forHeight, alloc) { @@ -455,18 +411,13 @@ AppMenuButton.prototype = { this._label.actor.allocate(childBox, flags); if (direction == St.TextDirection.LTR) { - childBox.x1 = Math.floor(iconWidth / 2) + this._clipWidth + this._shadow.width; + childBox.x1 = Math.floor(iconWidth / 2) + this._label.actor.width; childBox.x2 = childBox.x1 + this._spinner.actor.width; childBox.y1 = box.y1; childBox.y2 = box.y2 - 1; this._spinner.actor.allocate(childBox, flags); - childBox.x1 = Math.floor(iconWidth / 2) + this._clipWidth + 2; - childBox.x2 = childBox.x1 + this._shadow.width; - childBox.y1 = box.y1; - childBox.y2 = box.y2 - 1; - this._shadow.allocate(childBox, flags); } else { - childBox.x1 = this._label.actor.width - this._clipWidth - this._spinner.actor.width; + childBox.x1 = -this._spinner.actor.width; childBox.x2 = childBox.x1 + this._spinner.actor.width; childBox.y1 = box.y1; childBox.y2 = box.y2 - 1; @@ -545,7 +496,6 @@ AppMenuButton.prototype = { this.stopAnimation(); return; } - this._stopAnimation(); if (this._iconBox.child != null) this._iconBox.child.destroy(); From 44bbf26cb23fce76d9af36a764fedcc3fc9ac46f Mon Sep 17 00:00:00 2001 From: Dan Winship Date: Tue, 15 Mar 2011 08:40:11 -0400 Subject: [PATCH 015/203] gnome-shell.modules: add --disable-Werror to telepathy-logger It does not currently build error-free with gcc 4.6. --- tools/build/gnome-shell.modules | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tools/build/gnome-shell.modules b/tools/build/gnome-shell.modules index 15f62fc23..52a265d4b 100644 --- a/tools/build/gnome-shell.modules +++ b/tools/build/gnome-shell.modules @@ -259,7 +259,7 @@ - + From 90f15b3c5abdb26da1b465f64b4f5891e3c50e01 Mon Sep 17 00:00:00 2001 From: Dan Winship Date: Mon, 14 Mar 2011 09:05:59 -0400 Subject: [PATCH 016/203] dateMenu: open calendar specifically when opening evolution https://bugzilla.gnome.org/show_bug.cgi?id=641504 --- js/ui/dateMenu.js | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/js/ui/dateMenu.js b/js/ui/dateMenu.js index 8d35bbcef..6af0b68f5 100644 --- a/js/ui/dateMenu.js +++ b/js/ui/dateMenu.js @@ -205,8 +205,7 @@ DateMenuButton.prototype = { _onOpenCalendarActivate: function() { this.menu.close(); - // TODO: pass '-c calendar' (to force the calendar at startup) // TODO: pass the selected day - Util.spawnDesktop('evolution'); - }, + Util.spawn(['evolution', '-c', 'calendar']); + } }; From b72a32c70d60b560533fbcb6976183b7be6e5e5e Mon Sep 17 00:00:00 2001 From: Gabor Kelemen Date: Tue, 15 Mar 2011 14:44:00 +0100 Subject: [PATCH 017/203] Updated Hungarian translation --- po/hu.po | 275 +++++++++++++++++++++++++++++++------------------------ 1 file changed, 153 insertions(+), 122 deletions(-) diff --git a/po/hu.po b/po/hu.po index b37f1faf3..4f82eeb6a 100644 --- a/po/hu.po +++ b/po/hu.po @@ -7,8 +7,8 @@ msgid "" msgstr "" "Project-Id-Version: gnome-shell master\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2011-02-24 16:09+0100\n" -"PO-Revision-Date: 2011-02-24 16:10+0100\n" +"POT-Creation-Date: 2011-03-15 14:43+0100\n" +"PO-Revision-Date: 2011-03-15 14:42+0100\n" "Last-Translator: Gabor Kelemen \n" "Language-Team: Hungarian \n" "Language: \n" @@ -193,27 +193,27 @@ msgid "Execution of '%s' failed:" msgstr "„%s” végrehajtása meghiúsult:" #. Translators: Filter to display all applications -#: ../js/ui/appDisplay.js:174 +#: ../js/ui/appDisplay.js:226 msgid "All" msgstr "Összes" -#: ../js/ui/appDisplay.js:261 +#: ../js/ui/appDisplay.js:324 msgid "APPLICATIONS" msgstr "ALKALMAZÁSOK" -#: ../js/ui/appDisplay.js:291 -msgid "PREFERENCES" +#: ../js/ui/appDisplay.js:350 +msgid "SETTINGS" msgstr "BEÁLLÍTÁSOK" -#: ../js/ui/appDisplay.js:551 +#: ../js/ui/appDisplay.js:612 msgid "New Window" msgstr "Új ablak" -#: ../js/ui/appDisplay.js:555 +#: ../js/ui/appDisplay.js:615 msgid "Remove from Favorites" msgstr "Eltávolítás a Kedvencek közül" -#: ../js/ui/appDisplay.js:556 +#: ../js/ui/appDisplay.js:616 msgid "Add to Favorites" msgstr "Hozzáadás a Kedvencekhez" @@ -230,19 +230,19 @@ msgstr "%s eltávolítva a Kedvencek közül" #. Translators: Shown in calendar event list for all day events #. * Keep it short, best if you can use less then 10 characters #. -#: ../js/ui/calendar.js:65 +#: ../js/ui/calendar.js:66 msgctxt "event list time" msgid "All Day" msgstr "Egész nap" #. Translators: Shown in calendar event list, if 24h format -#: ../js/ui/calendar.js:70 +#: ../js/ui/calendar.js:71 msgctxt "event list time" msgid "%H:%M" msgstr "%k.%M" #. Transators: Shown in calendar event list, if 12h format -#: ../js/ui/calendar.js:77 +#: ../js/ui/calendar.js:78 msgctxt "event list time" msgid "%l:%M %p" msgstr "%p %l.%M" @@ -252,43 +252,43 @@ msgstr "%p %l.%M" #. * NOTE: These grid abbreviations are always shown together #. * and in order, e.g. "S M T W T F S". #. -#: ../js/ui/calendar.js:117 +#: ../js/ui/calendar.js:118 msgctxt "grid sunday" msgid "S" msgstr "V" #. Translators: Calendar grid abbreviation for Monday -#: ../js/ui/calendar.js:119 +#: ../js/ui/calendar.js:120 msgctxt "grid monday" msgid "M" msgstr "H" #. Translators: Calendar grid abbreviation for Tuesday -#: ../js/ui/calendar.js:121 +#: ../js/ui/calendar.js:122 msgctxt "grid tuesday" msgid "T" msgstr "K" #. Translators: Calendar grid abbreviation for Wednesday -#: ../js/ui/calendar.js:123 +#: ../js/ui/calendar.js:124 msgctxt "grid wednesday" msgid "W" msgstr "Sz" #. Translators: Calendar grid abbreviation for Thursday -#: ../js/ui/calendar.js:125 +#: ../js/ui/calendar.js:126 msgctxt "grid thursday" msgid "T" msgstr "Cs" #. Translators: Calendar grid abbreviation for Friday -#: ../js/ui/calendar.js:127 +#: ../js/ui/calendar.js:128 msgctxt "grid friday" msgid "F" msgstr "P" #. Translators: Calendar grid abbreviation for Saturday -#: ../js/ui/calendar.js:129 +#: ../js/ui/calendar.js:130 msgctxt "grid saturday" msgid "S" msgstr "Sz" @@ -299,136 +299,136 @@ msgstr "Sz" #. * so they need to be unique (e.g. Tuesday and Thursday cannot #. * both be 'T'). #. -#: ../js/ui/calendar.js:142 +#: ../js/ui/calendar.js:143 msgctxt "list sunday" msgid "Su" msgstr "V" #. Translators: Event list abbreviation for Monday -#: ../js/ui/calendar.js:144 +#: ../js/ui/calendar.js:145 msgctxt "list monday" msgid "M" msgstr "H" #. Translators: Event list abbreviation for Tuesday -#: ../js/ui/calendar.js:146 +#: ../js/ui/calendar.js:147 msgctxt "list tuesday" msgid "T" msgstr "K" #. Translators: Event list abbreviation for Wednesday -#: ../js/ui/calendar.js:148 +#: ../js/ui/calendar.js:149 msgctxt "list wednesday" msgid "W" msgstr "Sze" #. Translators: Event list abbreviation for Thursday -#: ../js/ui/calendar.js:150 +#: ../js/ui/calendar.js:151 msgctxt "list thursday" msgid "Th" msgstr "Cs" #. Translators: Event list abbreviation for Friday -#: ../js/ui/calendar.js:152 +#: ../js/ui/calendar.js:153 msgctxt "list friday" msgid "F" msgstr "P" #. Translators: Event list abbreviation for Saturday -#: ../js/ui/calendar.js:154 +#: ../js/ui/calendar.js:155 msgctxt "list saturday" msgid "S" msgstr "Szo" #. Translators: Text to show if there are no events -#: ../js/ui/calendar.js:701 +#: ../js/ui/calendar.js:704 msgid "Nothing Scheduled" msgstr "Semmi sincs ütemezve" #. Translators: Shown on calendar heading when selected day occurs on current year -#: ../js/ui/calendar.js:717 +#: ../js/ui/calendar.js:720 msgctxt "calendar heading" msgid "%A, %B %d" msgstr "%A, %B %d" #. Translators: Shown on calendar heading when selected day occurs on different year -#: ../js/ui/calendar.js:720 +#: ../js/ui/calendar.js:723 msgctxt "calendar heading" msgid "%A, %B %d, %Y" msgstr "%A, %Y %B %d" -#: ../js/ui/calendar.js:730 +#: ../js/ui/calendar.js:733 msgid "Today" msgstr "Ma" -#: ../js/ui/calendar.js:734 +#: ../js/ui/calendar.js:737 msgid "Tomorrow" msgstr "Holnap" -#: ../js/ui/calendar.js:743 +#: ../js/ui/calendar.js:746 msgid "This week" msgstr "Ezen a héten" -#: ../js/ui/calendar.js:751 +#: ../js/ui/calendar.js:754 msgid "Next week" msgstr "Jövő héten" -#: ../js/ui/dash.js:174 +#: ../js/ui/dash.js:174 ../js/ui/messageTray.js:935 msgid "Remove" msgstr "Eltávolítás" -#: ../js/ui/dateMenu.js:93 +#: ../js/ui/dateMenu.js:91 msgid "Date and Time Settings" msgstr "Dátum- és időbeállítások" -#: ../js/ui/dateMenu.js:112 +#: ../js/ui/dateMenu.js:111 msgid "Open Calendar" msgstr "Naptár megnyitása" #. Translators: This is the time format with date used #. in 24-hour mode. -#: ../js/ui/dateMenu.js:151 +#: ../js/ui/dateMenu.js:164 msgid "%a %b %e, %R:%S" msgstr "%a %b %e, %k.%M.%S" -#: ../js/ui/dateMenu.js:152 +#: ../js/ui/dateMenu.js:165 msgid "%a %b %e, %R" msgstr "%a %b %e, %k.%M" #. Translators: This is the time format without date used #. in 24-hour mode. -#: ../js/ui/dateMenu.js:156 +#: ../js/ui/dateMenu.js:169 msgid "%a %R:%S" msgstr "%a %k.%M.%S" -#: ../js/ui/dateMenu.js:157 +#: ../js/ui/dateMenu.js:170 msgid "%a %R" msgstr "%a %k.%M" #. Translators: This is a time format with date used #. for AM/PM. -#: ../js/ui/dateMenu.js:164 +#: ../js/ui/dateMenu.js:177 msgid "%a %b %e, %l:%M:%S %p" msgstr "%a %b %e, %p %l.%M.%S" -#: ../js/ui/dateMenu.js:165 +#: ../js/ui/dateMenu.js:178 msgid "%a %b %e, %l:%M %p" msgstr "%a %b %e, %p %l.%M" #. Translators: This is a time format without date used #. for AM/PM. -#: ../js/ui/dateMenu.js:169 +#: ../js/ui/dateMenu.js:182 msgid "%a %l:%M:%S %p" msgstr "%a, %p %l.%M.%S" -#: ../js/ui/dateMenu.js:170 +#: ../js/ui/dateMenu.js:183 msgid "%a %l:%M %p" msgstr "%a, %p %l.%M" #. Translators: This is the date format to use when the calendar popup is #. * shown - it is shown just below the time in the shell (e.g. "Tue 9:29 AM"). #. -#: ../js/ui/dateMenu.js:196 +#: ../js/ui/dateMenu.js:194 msgid "%A %B %e, %Y" msgstr "%Y. %b %e %A" @@ -511,37 +511,41 @@ msgstr "Megerősítés" msgid "Cancel" msgstr "Mégse" -#: ../js/ui/lookingGlass.js:587 +#: ../js/ui/lookingGlass.js:588 msgid "No extensions installed" msgstr "Nincsenek kiterjesztések telepítve" -#: ../js/ui/lookingGlass.js:624 +#: ../js/ui/lookingGlass.js:625 msgid "Enabled" msgstr "Engedélyezve" #. translators: #. * The device has been disabled -#: ../js/ui/lookingGlass.js:626 ../src/gvc/gvc-mixer-control.c:1087 +#: ../js/ui/lookingGlass.js:627 ../src/gvc/gvc-mixer-control.c:1091 msgid "Disabled" msgstr "Tiltva" -#: ../js/ui/lookingGlass.js:628 +#: ../js/ui/lookingGlass.js:629 msgid "Error" msgstr "Hiba" -#: ../js/ui/lookingGlass.js:630 +#: ../js/ui/lookingGlass.js:631 msgid "Out of date" msgstr "Elavult" -#: ../js/ui/lookingGlass.js:655 +#: ../js/ui/lookingGlass.js:656 msgid "View Source" msgstr "Forrás megtekintése" -#: ../js/ui/lookingGlass.js:661 +#: ../js/ui/lookingGlass.js:662 msgid "Web Page" msgstr "Weblap" -#: ../js/ui/messageTray.js:1902 +#: ../js/ui/messageTray.js:928 +msgid "Open" +msgstr "Megnyitás" + +#: ../js/ui/messageTray.js:1965 msgid "System Information" msgstr "Rendszerinformációk" @@ -557,18 +561,29 @@ msgstr "Ablakok" msgid "Applications" msgstr "Alkalmazások" +# FIXME - valami jobbat +#. Translators: this is the name of the dock/favorites area on +#. the left of the overview +#: ../js/ui/overview.js:202 +msgid "Dash" +msgstr "Dash" + #. TODO - _quit() doesn't really work on apps in state STARTING yet -#: ../js/ui/panel.js:537 +#: ../js/ui/panel.js:510 #, c-format msgid "Quit %s" msgstr "%s bezárása" #. Button on the left side of the panel. #. Translators: If there is no suitable word for "Activities" in your language, you can use the word for "Overview". -#: ../js/ui/panel.js:905 +#: ../js/ui/panel.js:869 msgid "Activities" msgstr "Tevékenységek" +#: ../js/ui/panel.js:970 +msgid "Panel" +msgstr "Panel" + #: ../js/ui/placeDisplay.js:122 #, c-format msgid "Failed to unmount '%s'" @@ -582,7 +597,7 @@ msgstr "Újra" msgid "Connect to..." msgstr "Kapcsolódás…" -#: ../js/ui/placeDisplay.js:409 +#: ../js/ui/placeDisplay.js:380 msgid "PLACES & DEVICES" msgstr "HELYEK ÉS ESZKÖZÖK" @@ -591,7 +606,7 @@ msgstr "HELYEK ÉS ESZKÖZÖK" #. "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:612 +#: ../js/ui/popupMenu.js:636 msgid "toggle-switch-us" msgstr "toggle-switch-intl" @@ -599,91 +614,91 @@ msgstr "toggle-switch-intl" msgid "Please enter a command:" msgstr "Adjon meg egy parancsot:" -#: ../js/ui/searchDisplay.js:295 +#: ../js/ui/searchDisplay.js:283 msgid "Searching..." msgstr "Keresés…" -#: ../js/ui/searchDisplay.js:309 +#: ../js/ui/searchDisplay.js:297 msgid "No matching results." msgstr "Nincs találat." -#: ../js/ui/statusMenu.js:99 ../js/ui/statusMenu.js:163 +#: ../js/ui/statusMenu.js:114 ../js/ui/statusMenu.js:178 msgid "Power Off..." msgstr "Kikapcsolás…" -#: ../js/ui/statusMenu.js:101 ../js/ui/statusMenu.js:162 +#: ../js/ui/statusMenu.js:116 ../js/ui/statusMenu.js:177 msgid "Suspend" msgstr "Felfüggesztés" -#: ../js/ui/statusMenu.js:122 +#: ../js/ui/statusMenu.js:137 msgid "Available" msgstr "Elérhető" -#: ../js/ui/statusMenu.js:127 +#: ../js/ui/statusMenu.js:142 msgid "Busy" msgstr "Elfoglalt" -#: ../js/ui/statusMenu.js:135 +#: ../js/ui/statusMenu.js:150 msgid "My Account" msgstr "Saját fiók" -#: ../js/ui/statusMenu.js:139 +#: ../js/ui/statusMenu.js:154 msgid "System Settings" msgstr "Rendszerbeállítások" -#: ../js/ui/statusMenu.js:146 +#: ../js/ui/statusMenu.js:161 msgid "Lock Screen" msgstr "Képernyő zárolása" -#: ../js/ui/statusMenu.js:150 +#: ../js/ui/statusMenu.js:165 msgid "Switch User" msgstr "Felhasználóváltás" -#: ../js/ui/statusMenu.js:155 +#: ../js/ui/statusMenu.js:170 msgid "Log Out..." msgstr "Kijelentkezés…" -#: ../js/ui/status/accessibility.js:81 +#: ../js/ui/status/accessibility.js:62 msgid "Zoom" msgstr "Nagyítás" -#: ../js/ui/status/accessibility.js:88 +#: ../js/ui/status/accessibility.js:69 msgid "Screen Reader" msgstr "Képernyőolvasó" -#: ../js/ui/status/accessibility.js:92 +#: ../js/ui/status/accessibility.js:73 msgid "Screen Keyboard" msgstr "Képernyő-billentyűzet" -#: ../js/ui/status/accessibility.js:96 +#: ../js/ui/status/accessibility.js:77 msgid "Visual Alerts" msgstr "Vizuális figyelmeztetések" -#: ../js/ui/status/accessibility.js:99 +#: ../js/ui/status/accessibility.js:80 msgid "Sticky Keys" msgstr "Ragadós billentyűk" -#: ../js/ui/status/accessibility.js:102 +#: ../js/ui/status/accessibility.js:83 msgid "Slow Keys" msgstr "Lassú billentyűk" -#: ../js/ui/status/accessibility.js:105 +#: ../js/ui/status/accessibility.js:86 msgid "Bounce Keys" msgstr "Billentyűszűrés" -#: ../js/ui/status/accessibility.js:108 +#: ../js/ui/status/accessibility.js:89 msgid "Mouse Keys" msgstr "Egérbillentyűk" -#: ../js/ui/status/accessibility.js:112 +#: ../js/ui/status/accessibility.js:93 msgid "Universal Access Settings" msgstr "Akadálymentesítési beállítások" -#: ../js/ui/status/accessibility.js:164 +#: ../js/ui/status/accessibility.js:145 msgid "High Contrast" msgstr "Nagy kontraszt" -#: ../js/ui/status/accessibility.js:209 +#: ../js/ui/status/accessibility.js:182 msgid "Large Text" msgstr "Nagy szöveg" @@ -738,7 +753,7 @@ msgstr "Billentyűzetbeállítások" msgid "Mouse Settings" msgstr "Egérbeállítások" -#: ../js/ui/status/bluetooth.js:263 ../js/ui/status/volume.js:65 +#: ../js/ui/status/bluetooth.js:263 ../js/ui/status/volume.js:66 msgid "Sound Settings" msgstr "Hangbeállítások" @@ -812,7 +827,13 @@ msgstr "Lokalizációs beállítások" msgid "Power Settings" msgstr "Energiabeállítások" -#: ../js/ui/status/power.js:112 +#. 0 is reported when UPower does not have enough data +#. to estimate battery life +#: ../js/ui/status/power.js:110 +msgid "Estimating..." +msgstr "Becslés…" + +#: ../js/ui/status/power.js:117 #, c-format msgid "%d hour remaining" msgid_plural "%d hours remaining" @@ -820,102 +841,102 @@ msgstr[0] "%d óra van hátra" msgstr[1] "%d óra van hátra" #. TRANSLATORS: this is a time string, as in "%d hours %d minutes remaining" -#: ../js/ui/status/power.js:115 +#: ../js/ui/status/power.js:120 #, c-format msgid "%d %s %d %s remaining" msgstr "%d %s %d %s van hátra" -#: ../js/ui/status/power.js:117 +#: ../js/ui/status/power.js:122 msgid "hour" msgid_plural "hours" msgstr[0] "óra" msgstr[1] "óra" -#: ../js/ui/status/power.js:117 +#: ../js/ui/status/power.js:122 msgid "minute" msgid_plural "minutes" msgstr[0] "perc" msgstr[1] "perc" -#: ../js/ui/status/power.js:120 +#: ../js/ui/status/power.js:125 #, c-format msgid "%d minute remaining" msgid_plural "%d minutes remaining" msgstr[0] "%d perc van hátra" msgstr[1] "%d perc van hátra" -#: ../js/ui/status/power.js:235 +#: ../js/ui/status/power.js:227 msgid "AC adapter" msgstr "Hálózati csatlakozó" -#: ../js/ui/status/power.js:237 +#: ../js/ui/status/power.js:229 msgid "Laptop battery" msgstr "Noteszgép-akkumulátor" -#: ../js/ui/status/power.js:239 +#: ../js/ui/status/power.js:231 msgid "UPS" msgstr "Szünetmentes táp" -#: ../js/ui/status/power.js:241 +#: ../js/ui/status/power.js:233 msgid "Monitor" msgstr "Monitor" -#: ../js/ui/status/power.js:243 +#: ../js/ui/status/power.js:235 msgid "Mouse" msgstr "Egér" -#: ../js/ui/status/power.js:245 +#: ../js/ui/status/power.js:237 msgid "Keyboard" msgstr "Billentyűzet" -#: ../js/ui/status/power.js:247 +#: ../js/ui/status/power.js:239 msgid "PDA" msgstr "PDA" -#: ../js/ui/status/power.js:249 +#: ../js/ui/status/power.js:241 msgid "Cell phone" msgstr "Mobiltelefon" -#: ../js/ui/status/power.js:251 +#: ../js/ui/status/power.js:243 msgid "Media player" msgstr "Médialejátszó" -#: ../js/ui/status/power.js:253 +#: ../js/ui/status/power.js:245 msgid "Tablet" msgstr "Táblagép" -#: ../js/ui/status/power.js:255 +#: ../js/ui/status/power.js:247 msgid "Computer" msgstr "Számítógép" -#: ../js/ui/status/power.js:257 ../src/shell-app-system.c:1013 +#: ../js/ui/status/power.js:249 ../src/shell-app-system.c:1013 msgid "Unknown" msgstr "Ismeretlen" -#: ../js/ui/status/volume.js:44 +#: ../js/ui/status/volume.js:45 msgid "Volume" msgstr "Hangerő" -#: ../js/ui/status/volume.js:57 +#: ../js/ui/status/volume.js:58 msgid "Microphone" msgstr "Mikrofon" -#: ../js/ui/telepathyClient.js:239 +#: ../js/ui/telepathyClient.js:332 #, c-format msgid "%s is online." msgstr "%s elérhető." -#: ../js/ui/telepathyClient.js:244 +#: ../js/ui/telepathyClient.js:337 #, c-format msgid "%s is offline." msgstr "%s kilépett." -#: ../js/ui/telepathyClient.js:247 +#: ../js/ui/telepathyClient.js:340 #, c-format msgid "%s is away." msgstr "%s távol van." -#: ../js/ui/telepathyClient.js:250 +#: ../js/ui/telepathyClient.js:343 #, c-format msgid "%s is busy." msgstr "%s elfoglalt." @@ -923,32 +944,43 @@ msgstr "%s elfoglalt." #. Translators: this is a time format string followed by a date. #. If applicable, replace %X with a strftime format valid for your #. locale, without seconds. -#: ../js/ui/telepathyClient.js:348 +#: ../js/ui/telepathyClient.js:474 #, no-c-format msgid "Sent at %X on %A" msgstr "Elküldve: %A, %X" +#. Translators: this is the other person changing their old IM name to their new +#. IM name. +#: ../js/ui/telepathyClient.js:498 +#, c-format +msgid "%s is now known as %s" +msgstr "%s mostantól %s néven ismert" + #. Translators: this is the text displayed #. in the search entry when no search is #. active; it should not exceed ~30 -#. characters -#: ../js/ui/viewSelector.js:30 +#. characters. +#: ../js/ui/viewSelector.js:119 msgid "Type to search..." msgstr "Gépeljen a kereséshez…" -#: ../js/ui/windowAttentionHandler.js:43 +#: ../js/ui/viewSelector.js:139 ../src/shell-util.c:250 +msgid "Search" +msgstr "Oldalsáv" + +#: ../js/ui/windowAttentionHandler.js:42 #, c-format msgid "%s has finished starting" msgstr "%s indítása befejeződött" -#: ../js/ui/windowAttentionHandler.js:45 +#: ../js/ui/windowAttentionHandler.js:44 #, c-format msgid "'%s' is ready" msgstr "„%s” kész" #. translators: #. * The number of sound outputs on a particular device -#: ../src/gvc/gvc-mixer-control.c:1094 +#: ../src/gvc/gvc-mixer-control.c:1098 #, c-format msgid "%u Output" msgid_plural "%u Outputs" @@ -957,43 +989,47 @@ msgstr[1] "%u kimenet" #. translators: #. * The number of sound inputs on a particular device -#: ../src/gvc/gvc-mixer-control.c:1104 +#: ../src/gvc/gvc-mixer-control.c:1108 #, c-format msgid "%u Input" msgid_plural "%u Inputs" msgstr[0] "%u bemenet" msgstr[1] "%u bemenet" -#: ../src/gvc/gvc-mixer-control.c:1402 +#: ../src/gvc/gvc-mixer-control.c:1406 msgid "System Sounds" msgstr "Rendszerhangok" -#: ../src/shell-global.c:1363 +#: ../src/main.c:395 +msgid "Print version" +msgstr "Verzió kiírása" + +#: ../src/shell-global.c:1308 msgid "Less than a minute ago" msgstr "Kevesebb, mint egy perce" -#: ../src/shell-global.c:1367 +#: ../src/shell-global.c:1312 #, c-format msgid "%d minute ago" msgid_plural "%d minutes ago" msgstr[0] "%d perce" msgstr[1] "%d perce" -#: ../src/shell-global.c:1372 +#: ../src/shell-global.c:1317 #, c-format msgid "%d hour ago" msgid_plural "%d hours ago" msgstr[0] "%d órája" msgstr[1] "%d órája" -#: ../src/shell-global.c:1377 +#: ../src/shell-global.c:1322 #, c-format msgid "%d day ago" msgid_plural "%d days ago" msgstr[0] "%d napja" msgstr[1] "%d napja" -#: ../src/shell-global.c:1382 +#: ../src/shell-global.c:1327 #, c-format msgid "%d week ago" msgid_plural "%d weeks ago" @@ -1001,7 +1037,7 @@ msgstr[0] "%d hete" msgstr[1] "%d hete" #: ../src/shell-polkit-authentication-agent.c:334 -msgid "Authentation dialog was dismissed by the user" +msgid "Authentication dialog was dismissed by the user" msgstr "A hitelesítési ablakot a felhasználó bezárta" #: ../src/shell-util.c:89 @@ -1014,10 +1050,6 @@ msgstr "Saját mappa" msgid "File System" msgstr "Fájlrendszer" -#: ../src/shell-util.c:250 -msgid "Search" -msgstr "Oldalsáv" - #. Translators: the first string is the name of a gvfs #. * method, and the second string is a path. For #. * example, "Trash: some-directory". It means that the @@ -1027,4 +1059,3 @@ msgstr "Oldalsáv" #, c-format msgid "%1$s: %2$s" msgstr "%1$s: %2$s" - From b16380e7e5e2b396d708bb5baaa509640644e797 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Fran=20Di=C3=A9guez?= Date: Tue, 15 Mar 2011 01:32:58 +0100 Subject: [PATCH 018/203] Updated Galician translations --- po/gl.po | 669 ++++++++++++++++++++++++++++--------------------------- 1 file changed, 344 insertions(+), 325 deletions(-) diff --git a/po/gl.po b/po/gl.po index 2bdba4397..289aaf99f 100644 --- a/po/gl.po +++ b/po/gl.po @@ -4,21 +4,21 @@ # # Anton Meixome , 2009. # Antón Méixome , 2009. -# Fran Diéguez , 2009, 2010, 2011. +# Fran Diéguez , 2009, 2010, 2011. # msgid "" msgstr "" "Project-Id-Version: gnome-shell master\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2011-02-06 00:11+0100\n" -"PO-Revision-Date: 2011-02-06 00:14+0100\n" -"Last-Translator: Fran Diéguez \n" -"Language-Team: Galician \n" +"POT-Creation-Date: 2011-03-15 01:31+0100\n" +"PO-Revision-Date: 2011-03-15 01:32+0100\n" +"Last-Translator: Fran Diéguez \n" +"Language-Team: Galician \n" "Language: gl\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Plural-Forms: nplurals=2; plural=(n!=1);\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" "X-Generator: Virtaal 0.4.0\n" #: ../data/gnome-shell.desktop.in.in.h:1 @@ -64,22 +64,26 @@ msgid "History for command (Alt-F2) dialog" msgstr "Historial do diálogo de orde (Alt-F2)" #: ../data/org.gnome.shell.gschema.xml.in.h:7 +msgid "History for the looking glass dialog" +msgstr "Historial do diálogo de «looking glass»" + +#: ../data/org.gnome.shell.gschema.xml.in.h:8 msgid "If true, display date in the clock, in addition to time." msgstr "Se é verdadeiro, móstrase a data no reloxo, ademais da hora." -#: ../data/org.gnome.shell.gschema.xml.in.h:8 +#: ../data/org.gnome.shell.gschema.xml.in.h:9 msgid "If true, display seconds in time." msgstr "Se é verdadeiro, móstranse os segundos na hora." -#: ../data/org.gnome.shell.gschema.xml.in.h:9 +#: ../data/org.gnome.shell.gschema.xml.in.h:10 msgid "If true, display the ISO week date in the calendar." msgstr "Se é verdadeiro, móstrase a data da semana ISO no calendario." -#: ../data/org.gnome.shell.gschema.xml.in.h:10 +#: ../data/org.gnome.shell.gschema.xml.in.h:11 msgid "List of desktop file IDs for favorite applications" msgstr "Mostra os ID de ficheiros desktop para os aplicativos preferidos" -#: ../data/org.gnome.shell.gschema.xml.in.h:12 +#: ../data/org.gnome.shell.gschema.xml.in.h:13 #, no-c-format msgid "" "Sets the GStreamer pipeline used to encode recordings. It follows the syntax " @@ -105,19 +109,19 @@ msgstr "" "códec VP8. Úsase %T como suposición para o número de fillos óptimos no " "sistema." -#: ../data/org.gnome.shell.gschema.xml.in.h:13 +#: ../data/org.gnome.shell.gschema.xml.in.h:14 msgid "Show date in clock" msgstr "Mostrar a data no reloxo" -#: ../data/org.gnome.shell.gschema.xml.in.h:14 +#: ../data/org.gnome.shell.gschema.xml.in.h:15 msgid "Show the week date in the calendar" msgstr "Mostrar a data da semana no calendario" -#: ../data/org.gnome.shell.gschema.xml.in.h:15 +#: ../data/org.gnome.shell.gschema.xml.in.h:16 msgid "Show time with seconds" msgstr "Mostrar a hora con segundos" -#: ../data/org.gnome.shell.gschema.xml.in.h:16 +#: ../data/org.gnome.shell.gschema.xml.in.h:17 msgid "" "The applications corresponding to these identifiers will be displayed in the " "favorites area." @@ -125,7 +129,7 @@ msgstr "" "Os aplicativos que corresponden a estes identificadores mostraranse na área " "de preferidos." -#: ../data/org.gnome.shell.gschema.xml.in.h:17 +#: ../data/org.gnome.shell.gschema.xml.in.h:18 msgid "" "The filename for recorded screencasts will be a unique filename based on the " "current date, and use this extension. It should be changed when recording to " @@ -135,7 +139,7 @@ msgstr "" "baseado na data actual e usa esta extensión. Debería cambiar ao grabar nun " "formato de contedor diferente." -#: ../data/org.gnome.shell.gschema.xml.in.h:18 +#: ../data/org.gnome.shell.gschema.xml.in.h:19 msgid "" "The framerate of the resulting screencast recordered by GNOME Shell's " "screencast recorder in frames-per-second." @@ -143,11 +147,11 @@ msgstr "" "A taxa de marcos do screencast resultante grabado polo grabador de " "screencasts de GNOME Shell en marcos-por-segundo." -#: ../data/org.gnome.shell.gschema.xml.in.h:19 +#: ../data/org.gnome.shell.gschema.xml.in.h:20 msgid "The gstreamer pipeline used to encode the screencast" msgstr "A tubería de gstreamer usada para codificar o screencast" -#: ../data/org.gnome.shell.gschema.xml.in.h:20 +#: ../data/org.gnome.shell.gschema.xml.in.h:21 msgid "" "The shell normally monitors active applications in order to present the most " "used ones (e.g. in launchers). While this data will be kept private, you may " @@ -159,172 +163,18 @@ msgstr "" "privados, vostede pode desactivar isto por motivos de privacidade. Teña en " "conta que facendo isto non eliminará os datos gardados." -#: ../data/org.gnome.shell.gschema.xml.in.h:21 +#: ../data/org.gnome.shell.gschema.xml.in.h:22 msgid "Uuids of extensions to disable" msgstr "Os Uuid das extensións a desactivar" -#: ../data/org.gnome.shell.gschema.xml.in.h:22 +#: ../data/org.gnome.shell.gschema.xml.in.h:23 msgid "Whether to collect stats about applications usage" msgstr "Indica se recoller estatísticas sobre o uso dos aplicativos" -#: ../data/org.gnome.shell.gschema.xml.in.h:23 +#: ../data/org.gnome.shell.gschema.xml.in.h:24 msgid "disabled OpenSearch providers" msgstr "fornecedores de OpenSearch desactivados" -#: ../data/org.gnome.accessibility.magnifier.gschema.xml.in.h:1 -msgid "Clip the crosshairs at the center" -msgstr "Poñer o punto de mira no centro" - -#: ../data/org.gnome.accessibility.magnifier.gschema.xml.in.h:2 -msgid "Color of the crosshairs" -msgstr "Cor do punto de mira" - -#: ../data/org.gnome.accessibility.magnifier.gschema.xml.in.h:3 -msgid "" -"Determines the length of the vertical and horizontal lines that make up the " -"crosshairs." -msgstr "" -"Determina a lonxitude das liñas verticais e horizontais que contén o punto " -"de mira." - -#: ../data/org.gnome.accessibility.magnifier.gschema.xml.in.h:4 -msgid "" -"Determines the position of the magnified mouse image within the magnified " -"view and how it reacts to system mouse movement. The values are - none: no " -"mouse tracking; - centered: the mouse image is displayed at the center of " -"the zoom region (which also represents the point under the system mouse) and " -"the magnified contents are scrolled as the system mouse moves; - " -"proportional: the position of the magnified mouse in the zoom region is " -"proportionally the same as the position of the system mouse on screen; - " -"push: when the magnified mouse intersects a boundary of the zoom region, the " -"contents are scrolled into view." -msgstr "" -"Determina a posición da imaxe magnificada do rato dentro da vista " -"magnificada e como reacciona ao movemento do rato do sistema. Os valores son " -"«none» (ningún): sen seguimento do rato; «centered» (centrado): a imaxe do " -"rato móstrase no centro da rexión ampliada (que tamén representa o punto " -"baixo o rato do sistema) e o contido magnificado deslízase segundo se move o " -"rato do sistema; «proporcional»: a posición do rato magnificado na rexión de " -"ampliación é proporcionalmente a mesma que a posición do rato do sistema na " -"pantalla; «push» (empurrar): cando o rato magnificado cruza un límite da " -"rexión de ampliación, o contido deslízase na vista." - -#: ../data/org.gnome.accessibility.magnifier.gschema.xml.in.h:5 -msgid "" -"Determines the transparency of the crosshairs, from fully opaque to fully " -"transparent." -msgstr "" -"Determina a transparencia do punto de mira, desde a opacidade total á " -"transparencia total." - -#: ../data/org.gnome.accessibility.magnifier.gschema.xml.in.h:6 -msgid "" -"Determines whether the crosshairs intersect the magnified mouse sprite, or " -"are clipped such that the ends of the horizontal and vertical lines surround " -"the mouse image." -msgstr "" -"Determina se as cruces cruzan o «sprite» magnificado do rato ou fíxanse de " -"tal forma que os finais das liñas horizontais e verticais rodean a imaxe do " -"rato." - -#: ../data/org.gnome.accessibility.magnifier.gschema.xml.in.h:7 -msgid "Enable lens mode" -msgstr "Activar o modo lente" - -#: ../data/org.gnome.accessibility.magnifier.gschema.xml.in.h:8 -msgid "" -"Enables/disables display of crosshairs centered on the magnified mouse " -"sprite." -msgstr "" -"Activa/desactiva a visualización do punto de mira centrada no mapa de bits " -"de magnificación do rato." - -#: ../data/org.gnome.accessibility.magnifier.gschema.xml.in.h:9 -msgid "" -"For centered mouse tracking, when the system pointer is at or near the edge " -"of the screen, the magnified contents continue to scroll such that the " -"screen edge moves into the magnified view." -msgstr "" -"Para o seguimento do centro do rato, cando o punteiro do sistema está preto " -"do bordo da pantalla, o contido magnificado continúa desprazándose de tal " -"forma que o bordo da pantalla móvese dentro da vista magnificada." - -#: ../data/org.gnome.accessibility.magnifier.gschema.xml.in.h:10 -msgid "Length of the crosshairs" -msgstr "Lonxitude do punto de mira" - -#: ../data/org.gnome.accessibility.magnifier.gschema.xml.in.h:11 -msgid "Magnification factor" -msgstr "Factor de magnificación" - -#: ../data/org.gnome.accessibility.magnifier.gschema.xml.in.h:12 -msgid "Mouse Tracking Mode" -msgstr "Modo de seguimento do rato" - -#: ../data/org.gnome.accessibility.magnifier.gschema.xml.in.h:13 -msgid "Opacity of the crosshairs" -msgstr "Opacidade do punto de mira" - -#: ../data/org.gnome.accessibility.magnifier.gschema.xml.in.h:14 -msgid "Screen position" -msgstr "Posición de pantalla" - -#: ../data/org.gnome.accessibility.magnifier.gschema.xml.in.h:15 -msgid "Scroll magnified contents beyond the edges of the desktop" -msgstr "Mostrar os contidos magnificados máis aló dos bordos do escritorio" - -#: ../data/org.gnome.accessibility.magnifier.gschema.xml.in.h:16 -msgid "Show or hide crosshairs" -msgstr "Mostrar ou agochar o punto de mira" - -#: ../data/org.gnome.accessibility.magnifier.gschema.xml.in.h:17 -msgid "Show or hide the magnifier" -msgstr "Mostrar ou agochar o magnificador" - -#: ../data/org.gnome.accessibility.magnifier.gschema.xml.in.h:18 -msgid "Show or hide the magnifier and all of its zoom regions." -msgstr "" -"Mostrar ou agochar o magnificador e todas as súas rexións de magnificación." - -#: ../data/org.gnome.accessibility.magnifier.gschema.xml.in.h:19 -msgid "" -"The color of the the vertical and horizontal lines that make up the " -"crosshairs." -msgstr "A cor das liñas verticais e horizontais que contén o punto de mira." - -#: ../data/org.gnome.accessibility.magnifier.gschema.xml.in.h:20 -msgid "" -"The magnified view either fills the entire screen, or occupies the top-half, " -"bottom-half, left-half, or right-half of the screen." -msgstr "" -"A vista magnificada tanto se enche a pantalla completa, ou ocupa a metade " -"superior, metade inferior, metade da esquerda ou metade da dereita da " -"pantalla." - -#: ../data/org.gnome.accessibility.magnifier.gschema.xml.in.h:21 -msgid "" -"The power of the magnification. A value of 1.0 means no magnification. A " -"value of 2.0 doubles the size." -msgstr "" -"O poder da magnificación. Un valor de 1.0 desactiva a magnificación. Un " -"valor de 2.0 duplica o tamaño." - -#: ../data/org.gnome.accessibility.magnifier.gschema.xml.in.h:22 -msgid "Thickness of the crosshairs" -msgstr "Grosor do punto de mira" - -#: ../data/org.gnome.accessibility.magnifier.gschema.xml.in.h:23 -msgid "" -"Whether the magnified view should be centered over the location of the " -"system mouse and move with it." -msgstr "" -"Indica se a visualización do punto de mira debería centrarse sobre a " -"localización do rato do sistema ou moverse con el." - -#: ../data/org.gnome.accessibility.magnifier.gschema.xml.in.h:24 -msgid "Width of the vertical and horizontal lines that make up the crosshairs." -msgstr "Anchura das liñas verticais e horizontais que contén o punto de mira." - #: ../js/misc/util.js:86 msgid "Command not found" msgstr "Orde non atopada" @@ -345,27 +195,27 @@ msgid "Execution of '%s' failed:" msgstr "Produciuse un fallo na execución de «%s»:" #. Translators: Filter to display all applications -#: ../js/ui/appDisplay.js:164 +#: ../js/ui/appDisplay.js:226 msgid "All" msgstr "Todos" -#: ../js/ui/appDisplay.js:245 +#: ../js/ui/appDisplay.js:324 msgid "APPLICATIONS" msgstr "APLICATIVOS" -#: ../js/ui/appDisplay.js:275 -msgid "PREFERENCES" -msgstr "PREFERENCIAS" +#: ../js/ui/appDisplay.js:350 +msgid "SETTINGS" +msgstr "CONFIGURACIÓN" -#: ../js/ui/appDisplay.js:572 +#: ../js/ui/appDisplay.js:612 msgid "New Window" msgstr "Xanela nova" -#: ../js/ui/appDisplay.js:576 +#: ../js/ui/appDisplay.js:615 msgid "Remove from Favorites" msgstr "Eliminar dos favoritos" -#: ../js/ui/appDisplay.js:577 +#: ../js/ui/appDisplay.js:616 msgid "Add to Favorites" msgstr "Engadir aos favoritos" @@ -382,19 +232,19 @@ msgstr "%s foi eliminado dos seus favoritos." #. Translators: Shown in calendar event list for all day events #. * Keep it short, best if you can use less then 10 characters #. -#: ../js/ui/calendar.js:65 +#: ../js/ui/calendar.js:66 msgctxt "event list time" msgid "All Day" msgstr "Todo o día" #. Translators: Shown in calendar event list, if 24h format -#: ../js/ui/calendar.js:70 +#: ../js/ui/calendar.js:71 msgctxt "event list time" msgid "%H:%M" msgstr "%H:%M" #. Transators: Shown in calendar event list, if 12h format -#: ../js/ui/calendar.js:77 +#: ../js/ui/calendar.js:78 msgctxt "event list time" msgid "%l:%M %p" msgstr "%l:%M %p" @@ -404,43 +254,43 @@ msgstr "%l:%M %p" #. * NOTE: These grid abbreviations are always shown together #. * and in order, e.g. "S M T W T F S". #. -#: ../js/ui/calendar.js:117 +#: ../js/ui/calendar.js:118 msgctxt "grid sunday" msgid "S" msgstr "D" #. Translators: Calendar grid abbreviation for Monday -#: ../js/ui/calendar.js:119 +#: ../js/ui/calendar.js:120 msgctxt "grid monday" msgid "M" msgstr "L" #. Translators: Calendar grid abbreviation for Tuesday -#: ../js/ui/calendar.js:121 +#: ../js/ui/calendar.js:122 msgctxt "grid tuesday" msgid "T" msgstr "M" #. Translators: Calendar grid abbreviation for Wednesday -#: ../js/ui/calendar.js:123 +#: ../js/ui/calendar.js:124 msgctxt "grid wednesday" msgid "W" msgstr "W" #. Translators: Calendar grid abbreviation for Thursday -#: ../js/ui/calendar.js:125 +#: ../js/ui/calendar.js:126 msgctxt "grid thursday" msgid "T" msgstr "X" #. Translators: Calendar grid abbreviation for Friday -#: ../js/ui/calendar.js:127 +#: ../js/ui/calendar.js:128 msgctxt "grid friday" msgid "F" msgstr "V" #. Translators: Calendar grid abbreviation for Saturday -#: ../js/ui/calendar.js:129 +#: ../js/ui/calendar.js:130 msgctxt "grid saturday" msgid "S" msgstr "S" @@ -451,81 +301,81 @@ msgstr "S" #. * so they need to be unique (e.g. Tuesday and Thursday cannot #. * both be 'T'). #. -#: ../js/ui/calendar.js:142 +#: ../js/ui/calendar.js:143 msgctxt "list sunday" msgid "Su" msgstr "Do" #. Translators: Event list abbreviation for Monday -#: ../js/ui/calendar.js:144 +#: ../js/ui/calendar.js:145 msgctxt "list monday" msgid "M" msgstr "L" #. Translators: Event list abbreviation for Tuesday -#: ../js/ui/calendar.js:146 +#: ../js/ui/calendar.js:147 msgctxt "list tuesday" msgid "T" msgstr "M" #. Translators: Event list abbreviation for Wednesday -#: ../js/ui/calendar.js:148 +#: ../js/ui/calendar.js:149 msgctxt "list wednesday" msgid "W" msgstr "W" #. Translators: Event list abbreviation for Thursday -#: ../js/ui/calendar.js:150 +#: ../js/ui/calendar.js:151 msgctxt "list thursday" msgid "Th" msgstr "X" #. Translators: Event list abbreviation for Friday -#: ../js/ui/calendar.js:152 +#: ../js/ui/calendar.js:153 msgctxt "list friday" msgid "F" msgstr "V" #. Translators: Event list abbreviation for Saturday -#: ../js/ui/calendar.js:154 +#: ../js/ui/calendar.js:155 msgctxt "list saturday" msgid "S" msgstr "S" #. Translators: Text to show if there are no events -#: ../js/ui/calendar.js:701 +#: ../js/ui/calendar.js:704 msgid "Nothing Scheduled" msgstr "Nada programado" #. Translators: Shown on calendar heading when selected day occurs on current year -#: ../js/ui/calendar.js:717 +#: ../js/ui/calendar.js:720 msgctxt "calendar heading" msgid "%A, %B %d" msgstr "%A, %d de %B" #. Translators: Shown on calendar heading when selected day occurs on different year -#: ../js/ui/calendar.js:720 +#: ../js/ui/calendar.js:723 msgctxt "calendar heading" msgid "%A, %B %d, %Y" msgstr "%A, %d de %B de %Y" -#: ../js/ui/calendar.js:730 +#: ../js/ui/calendar.js:733 msgid "Today" msgstr "Hoxe" -#: ../js/ui/calendar.js:734 +#: ../js/ui/calendar.js:737 msgid "Tomorrow" msgstr "Mañá" -#: ../js/ui/calendar.js:743 +#: ../js/ui/calendar.js:746 msgid "This week" msgstr "Esta semana" -#: ../js/ui/calendar.js:751 +#: ../js/ui/calendar.js:754 msgid "Next week" msgstr "A vindeira semana" -#: ../js/ui/dash.js:27 +#: ../js/ui/dash.js:174 ../js/ui/messageTray.js:933 msgid "Remove" msgstr "Eliminar" @@ -533,58 +383,58 @@ msgstr "Eliminar" msgid "Date and Time Settings" msgstr "Configuracións do data e hora" -#: ../js/ui/dateMenu.js:110 +#: ../js/ui/dateMenu.js:111 msgid "Open Calendar" msgstr "Abrir o calendario" #. Translators: This is the time format with date used #. in 24-hour mode. -#: ../js/ui/dateMenu.js:149 +#: ../js/ui/dateMenu.js:164 msgid "%a %b %e, %R:%S" msgstr "%a %e de %b, %R:%S" -#: ../js/ui/dateMenu.js:150 +#: ../js/ui/dateMenu.js:165 msgid "%a %b %e, %R" msgstr "%a %e de %b, %R" #. Translators: This is the time format without date used #. in 24-hour mode. -#: ../js/ui/dateMenu.js:154 +#: ../js/ui/dateMenu.js:169 msgid "%a %R:%S" msgstr "%a %R:%S" -#: ../js/ui/dateMenu.js:155 +#: ../js/ui/dateMenu.js:170 msgid "%a %R" msgstr "%a %R" #. Translators: This is a time format with date used #. for AM/PM. -#: ../js/ui/dateMenu.js:162 +#: ../js/ui/dateMenu.js:177 msgid "%a %b %e, %l:%M:%S %p" msgstr "%a %e de %b, %H:%M:%S" -#: ../js/ui/dateMenu.js:163 +#: ../js/ui/dateMenu.js:178 msgid "%a %b %e, %l:%M %p" msgstr "%a %e de %b, %H:%M" #. Translators: This is a time format without date used #. for AM/PM. -#: ../js/ui/dateMenu.js:167 +#: ../js/ui/dateMenu.js:182 msgid "%a %l:%M:%S %p" msgstr "%a %H:%M:%S" -#: ../js/ui/dateMenu.js:168 +#: ../js/ui/dateMenu.js:183 msgid "%a %l:%M %p" msgstr "%a %l:%M %p" #. Translators: This is the date format to use when the calendar popup is #. * shown - it is shown just below the time in the shell (e.g. "Tue 9:29 AM"). #. -#: ../js/ui/dateMenu.js:194 +#: ../js/ui/dateMenu.js:209 msgid "%A %B %e, %Y" msgstr "%a, %e de %B, %Y" -#: ../js/ui/docDisplay.js:18 +#: ../js/ui/docDisplay.js:19 msgid "RECENT ITEMS" msgstr "ELEMENTOS RECENTES" @@ -661,37 +511,41 @@ msgstr "Confirmar" msgid "Cancel" msgstr "Cancelar" -#: ../js/ui/lookingGlass.js:556 +#: ../js/ui/lookingGlass.js:588 msgid "No extensions installed" msgstr "Non hai ningunha extensión instalada" -#: ../js/ui/lookingGlass.js:593 +#: ../js/ui/lookingGlass.js:625 msgid "Enabled" msgstr "Activado" #. translators: #. * The device has been disabled -#: ../js/ui/lookingGlass.js:595 ../src/gvc/gvc-mixer-control.c:1087 +#: ../js/ui/lookingGlass.js:627 ../src/gvc/gvc-mixer-control.c:1087 msgid "Disabled" msgstr "Desactivado" -#: ../js/ui/lookingGlass.js:597 +#: ../js/ui/lookingGlass.js:629 msgid "Error" msgstr "Erro" -#: ../js/ui/lookingGlass.js:599 +#: ../js/ui/lookingGlass.js:631 msgid "Out of date" msgstr "Desactualizado" -#: ../js/ui/lookingGlass.js:624 +#: ../js/ui/lookingGlass.js:656 msgid "View Source" msgstr "Ver fonte" -#: ../js/ui/lookingGlass.js:630 +#: ../js/ui/lookingGlass.js:662 msgid "Web Page" msgstr "Páxina web" -#: ../js/ui/messageTray.js:1809 +#: ../js/ui/messageTray.js:926 +msgid "Open" +msgstr "Abrir" + +#: ../js/ui/messageTray.js:1963 msgid "System Information" msgstr "Información do sistema" @@ -699,40 +553,50 @@ msgstr "Información do sistema" msgid "Undo" msgstr "Desfacer" -#: ../js/ui/overview.js:159 +#: ../js/ui/overview.js:183 msgid "Windows" msgstr "Xanelas" -#: ../js/ui/overview.js:162 +#: ../js/ui/overview.js:186 msgid "Applications" msgstr "Aplicativos" +#. Translators: this is the name of the dock/favorites area on +#. the left of the overview +#: ../js/ui/overview.js:202 +msgid "Dash" +msgstr "" + #. TODO - _quit() doesn't really work on apps in state STARTING yet -#: ../js/ui/panel.js:480 +#: ../js/ui/panel.js:532 #, c-format msgid "Quit %s" msgstr "Saír de %s" #. Button on the left side of the panel. #. Translators: If there is no suitable word for "Activities" in your language, you can use the word for "Overview". -#: ../js/ui/panel.js:614 +#: ../js/ui/panel.js:893 msgid "Activities" msgstr "Actividades" -#: ../js/ui/placeDisplay.js:106 +#: ../js/ui/panel.js:994 +msgid "Panel" +msgstr "Panel" + +#: ../js/ui/placeDisplay.js:122 #, c-format msgid "Failed to unmount '%s'" msgstr "Produciuse un fallo ao desmontar «%s»" -#: ../js/ui/placeDisplay.js:109 +#: ../js/ui/placeDisplay.js:125 msgid "Retry" msgstr "Reintentar" -#: ../js/ui/placeDisplay.js:150 +#: ../js/ui/placeDisplay.js:165 msgid "Connect to..." msgstr "Conectar con…" -#: ../js/ui/placeDisplay.js:386 +#: ../js/ui/placeDisplay.js:409 msgid "PLACES & DEVICES" msgstr "LUGARES E DISPOSITIVOS" @@ -741,105 +605,105 @@ msgstr "LUGARES E DISPOSITIVOS" #. "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:33 +#: ../js/ui/popupMenu.js:618 msgid "toggle-switch-us" msgstr "toggle-switch-intl" -#: ../js/ui/runDialog.js:209 +#: ../js/ui/runDialog.js:201 msgid "Please enter a command:" msgstr "Insira unha orde:" -#: ../js/ui/searchDisplay.js:295 +#: ../js/ui/searchDisplay.js:283 msgid "Searching..." msgstr "Buscando..." -#: ../js/ui/searchDisplay.js:309 +#: ../js/ui/searchDisplay.js:297 msgid "No matching results." msgstr "Non hai resultados que coincidan." -#: ../js/ui/statusMenu.js:102 +#: ../js/ui/statusMenu.js:102 ../js/ui/statusMenu.js:166 +msgid "Power Off..." +msgstr "Apagar…" + +#: ../js/ui/statusMenu.js:104 ../js/ui/statusMenu.js:165 +msgid "Suspend" +msgstr "Suspender" + +#: ../js/ui/statusMenu.js:125 msgid "Available" msgstr "Dispoñíbel" -#: ../js/ui/statusMenu.js:107 +#: ../js/ui/statusMenu.js:130 msgid "Busy" msgstr "Ocupado" -#: ../js/ui/statusMenu.js:115 +#: ../js/ui/statusMenu.js:138 msgid "My Account" msgstr "A miña conta" -#: ../js/ui/statusMenu.js:119 +#: ../js/ui/statusMenu.js:142 msgid "System Settings" msgstr "Configuracións do sistema" -#: ../js/ui/statusMenu.js:126 +#: ../js/ui/statusMenu.js:149 msgid "Lock Screen" msgstr "Bloquear pantalla" -#: ../js/ui/statusMenu.js:130 +#: ../js/ui/statusMenu.js:153 msgid "Switch User" msgstr "Cambiar de usuario" -#: ../js/ui/statusMenu.js:135 +#: ../js/ui/statusMenu.js:158 msgid "Log Out..." msgstr "Saír da sesión…" -#. This is temporarily removed, see -#. http://bugzilla.gnome.org/show_bug.cgi?id=636680 -#. for details. -#. item = new PopupMenu.PopupMenuItem(_("Suspend...")); -#. item.connect('activate', Lang.bind(this, this._onShutDownActivate)); -#. this.menu.addMenuItem(item); -#: ../js/ui/statusMenu.js:149 -msgid "Shut Down..." -msgstr "Apagar…" - -#: ../js/ui/status/accessibility.js:83 +#: ../js/ui/status/accessibility.js:62 msgid "Zoom" msgstr "Ampliación" -#: ../js/ui/status/accessibility.js:89 +#: ../js/ui/status/accessibility.js:69 msgid "Screen Reader" msgstr "Lector de pantalla" -#: ../js/ui/status/accessibility.js:92 +#: ../js/ui/status/accessibility.js:73 msgid "Screen Keyboard" msgstr "Teclado en pantalla" -#: ../js/ui/status/accessibility.js:95 +#: ../js/ui/status/accessibility.js:77 msgid "Visual Alerts" msgstr "Alertas visuais" -#: ../js/ui/status/accessibility.js:98 +#: ../js/ui/status/accessibility.js:80 msgid "Sticky Keys" msgstr "Teclas persistentes" -#: ../js/ui/status/accessibility.js:101 +#: ../js/ui/status/accessibility.js:83 msgid "Slow Keys" msgstr "Teclas lentas" -#: ../js/ui/status/accessibility.js:104 +#: ../js/ui/status/accessibility.js:86 msgid "Bounce Keys" msgstr "Rebote das teclas" -#: ../js/ui/status/accessibility.js:107 +#: ../js/ui/status/accessibility.js:89 msgid "Mouse Keys" msgstr "Teclas do Rato" -#: ../js/ui/status/accessibility.js:111 +#: ../js/ui/status/accessibility.js:93 msgid "Universal Access Settings" msgstr "Configuracións de acceso universal" -#: ../js/ui/status/accessibility.js:163 +#: ../js/ui/status/accessibility.js:145 msgid "High Contrast" msgstr "Alto contraste" -#: ../js/ui/status/accessibility.js:205 +#: ../js/ui/status/accessibility.js:182 msgid "Large Text" msgstr "Texto máis grande" #: ../js/ui/status/bluetooth.js:42 ../js/ui/status/bluetooth.js:241 +#: ../js/ui/status/bluetooth.js:337 ../js/ui/status/bluetooth.js:371 +#: ../js/ui/status/bluetooth.js:411 ../js/ui/status/bluetooth.js:444 msgid "Bluetooth" msgstr "Bluetooth" @@ -888,15 +752,10 @@ msgstr "Configuracións do teclado" msgid "Mouse Settings" msgstr "Configuracións do rato" -#: ../js/ui/status/bluetooth.js:263 ../js/ui/status/volume.js:63 +#: ../js/ui/status/bluetooth.js:263 ../js/ui/status/volume.js:65 msgid "Sound Settings" msgstr "Configuracións do son" -#: ../js/ui/status/bluetooth.js:337 ../js/ui/status/bluetooth.js:371 -#: ../js/ui/status/bluetooth.js:411 ../js/ui/status/bluetooth.js:444 -msgid "Bluetooth Agent" -msgstr "Axente Bluetooth" - #: ../js/ui/status/bluetooth.js:372 #, c-format msgid "Authorization request from %s" @@ -955,7 +814,11 @@ msgstr "Introduza o PIN mencionado no dispositivo." msgid "OK" msgstr "Aceptar" -#: ../js/ui/status/keyboard.js:78 +#: ../js/ui/status/keyboard.js:73 +msgid "Show Keyboard Layout..." +msgstr "Mostrar a distribución do teclado…" + +#: ../js/ui/status/keyboard.js:76 msgid "Localization Settings" msgstr "Configuracións do son" @@ -963,7 +826,13 @@ msgstr "Configuracións do son" msgid "Power Settings" msgstr "Configuracións de enerxía" -#: ../js/ui/status/power.js:112 +#. 0 is reported when UPower does not have enough data +#. to estimate battery life +#: ../js/ui/status/power.js:110 +msgid "Estimating..." +msgstr "Estimando…" + +#: ../js/ui/status/power.js:117 #, c-format msgid "%d hour remaining" msgid_plural "%d hours remaining" @@ -971,102 +840,102 @@ msgstr[0] "%d hora restante" msgstr[1] "%d horas restante" #. TRANSLATORS: this is a time string, as in "%d hours %d minutes remaining" -#: ../js/ui/status/power.js:115 +#: ../js/ui/status/power.js:120 #, c-format msgid "%d %s %d %s remaining" msgstr "%d %s %d %s retante" -#: ../js/ui/status/power.js:117 +#: ../js/ui/status/power.js:122 msgid "hour" msgid_plural "hours" msgstr[0] "hora" msgstr[1] "horas" -#: ../js/ui/status/power.js:117 +#: ../js/ui/status/power.js:122 msgid "minute" msgid_plural "minutes" msgstr[0] "minuto" msgstr[1] "minutos" -#: ../js/ui/status/power.js:120 +#: ../js/ui/status/power.js:125 #, c-format msgid "%d minute remaining" msgid_plural "%d minutes remaining" msgstr[0] "%d minuto restante" msgstr[1] "%d minutos restantes" -#: ../js/ui/status/power.js:235 +#: ../js/ui/status/power.js:227 msgid "AC adapter" msgstr "Adaptador de corrente" -#: ../js/ui/status/power.js:237 +#: ../js/ui/status/power.js:229 msgid "Laptop battery" msgstr "Batería do portátil" -#: ../js/ui/status/power.js:239 +#: ../js/ui/status/power.js:231 msgid "UPS" msgstr "UPS" -#: ../js/ui/status/power.js:241 +#: ../js/ui/status/power.js:233 msgid "Monitor" msgstr "Monitor" -#: ../js/ui/status/power.js:243 +#: ../js/ui/status/power.js:235 msgid "Mouse" msgstr "Rato" -#: ../js/ui/status/power.js:245 +#: ../js/ui/status/power.js:237 msgid "Keyboard" msgstr "Teclado" -#: ../js/ui/status/power.js:247 +#: ../js/ui/status/power.js:239 msgid "PDA" msgstr "PDA" -#: ../js/ui/status/power.js:249 +#: ../js/ui/status/power.js:241 msgid "Cell phone" msgstr "Teléfono móbil" -#: ../js/ui/status/power.js:251 +#: ../js/ui/status/power.js:243 msgid "Media player" msgstr "Reprodutor multimedia" -#: ../js/ui/status/power.js:253 +#: ../js/ui/status/power.js:245 msgid "Tablet" msgstr "Tablet" -#: ../js/ui/status/power.js:255 +#: ../js/ui/status/power.js:247 msgid "Computer" msgstr "Computador" -#: ../js/ui/status/power.js:257 ../src/shell-app-system.c:1012 +#: ../js/ui/status/power.js:249 ../src/shell-app-system.c:1013 msgid "Unknown" msgstr "Descoñecido" -#: ../js/ui/status/volume.js:42 +#: ../js/ui/status/volume.js:44 msgid "Volume" msgstr "Volume" -#: ../js/ui/status/volume.js:55 +#: ../js/ui/status/volume.js:57 msgid "Microphone" msgstr "Micrófono" -#: ../js/ui/telepathyClient.js:563 +#: ../js/ui/telepathyClient.js:239 #, c-format msgid "%s is online." msgstr "%s está conectado/a." -#: ../js/ui/telepathyClient.js:568 +#: ../js/ui/telepathyClient.js:244 #, c-format msgid "%s is offline." msgstr "%s está desconectado/a." -#: ../js/ui/telepathyClient.js:571 +#: ../js/ui/telepathyClient.js:247 #, c-format msgid "%s is away." msgstr "%s está ausente." -#: ../js/ui/telepathyClient.js:574 +#: ../js/ui/telepathyClient.js:250 #, c-format msgid "%s is busy." msgstr "%s está ocupado/a." @@ -1074,36 +943,33 @@ msgstr "%s está ocupado/a." #. Translators: this is a time format string followed by a date. #. If applicable, replace %X with a strftime format valid for your #. locale, without seconds. -#: ../js/ui/telepathyClient.js:668 +#: ../js/ui/telepathyClient.js:348 #, no-c-format msgid "Sent at %X on %A" msgstr "Enviado ás %X o %A" -#: ../js/ui/viewSelector.js:26 -msgid "Search your computer" -msgstr "Buscar no seu computador" +#. Translators: this is the text displayed +#. in the search entry when no search is +#. active; it should not exceed ~30 +#. characters. +#: ../js/ui/viewSelector.js:117 +msgid "Type to search..." +msgstr "Teclear para buscar…" -#: ../js/ui/windowAttentionHandler.js:43 +#: ../js/ui/viewSelector.js:137 ../src/shell-util.c:250 +msgid "Search" +msgstr "Buscar" + +#: ../js/ui/windowAttentionHandler.js:42 #, c-format msgid "%s has finished starting" msgstr "%s rematou de iniarse" -#: ../js/ui/windowAttentionHandler.js:45 +#: ../js/ui/windowAttentionHandler.js:44 #, c-format msgid "'%s' is ready" msgstr "«%s» está preparado" -#: ../js/ui/workspacesView.js:243 -msgid "" -"Can't add a new workspace because maximum workspaces limit has been reached." -msgstr "" -"Non é posíbel engadir unha área de traballo nova porque chegouse ao límite " -"de áreas de traballo." - -#: ../js/ui/workspacesView.js:259 -msgid "Can't remove the first workspace." -msgstr "Non é posíbel quitar a primeira área de traballo." - #. translators: #. * The number of sound outputs on a particular device #: ../src/gvc/gvc-mixer-control.c:1094 @@ -1126,38 +992,42 @@ msgstr[1] "%u entradas" msgid "System Sounds" msgstr "Sons do sistema" -#: ../src/shell-global.c:1365 +#: ../src/shell-global.c:1298 msgid "Less than a minute ago" msgstr "Hai menos dun minuto" -#: ../src/shell-global.c:1369 +#: ../src/shell-global.c:1302 #, c-format msgid "%d minute ago" msgid_plural "%d minutes ago" msgstr[0] "hai %d minuto" msgstr[1] "hai %d minutos" -#: ../src/shell-global.c:1374 +#: ../src/shell-global.c:1307 #, c-format msgid "%d hour ago" msgid_plural "%d hours ago" msgstr[0] "hai %d hora" msgstr[1] "hai %d horas" -#: ../src/shell-global.c:1379 +#: ../src/shell-global.c:1312 #, c-format msgid "%d day ago" msgid_plural "%d days ago" msgstr[0] "hai %d día" msgstr[1] "hai %d días" -#: ../src/shell-global.c:1384 +#: ../src/shell-global.c:1317 #, c-format msgid "%d week ago" msgid_plural "%d weeks ago" msgstr[0] "hai %d semana" msgstr[1] "hai %d semanas" +#: ../src/shell-polkit-authentication-agent.c:334 +msgid "Authentication dialog was dismissed by the user" +msgstr "O usuario rexeitou o diálogo de autenticación" + #: ../src/shell-util.c:89 msgid "Home Folder" msgstr "Cartafol persoal" @@ -1168,10 +1038,6 @@ msgstr "Cartafol persoal" msgid "File System" msgstr "Sistema de ficheiros" -#: ../src/shell-util.c:250 -msgid "Search" -msgstr "Buscar" - #. Translators: the first string is the name of a gvfs #. * method, and the second string is a path. For #. * example, "Trash: some-directory". It means that the @@ -1182,8 +1048,161 @@ msgstr "Buscar" msgid "%1$s: %2$s" msgstr "%1$s: %2$s" -#~ msgid "Suspend..." -#~ msgstr "Suspender…" +#~ msgid "Clip the crosshairs at the center" +#~ msgstr "Poñer o punto de mira no centro" + +#~ msgid "Color of the crosshairs" +#~ msgstr "Cor do punto de mira" + +#~ msgid "" +#~ "Determines the length of the vertical and horizontal lines that make up " +#~ "the crosshairs." +#~ msgstr "" +#~ "Determina a lonxitude das liñas verticais e horizontais que contén o " +#~ "punto de mira." + +#~ msgid "" +#~ "Determines the position of the magnified mouse image within the magnified " +#~ "view and how it reacts to system mouse movement. The values are - none: " +#~ "no mouse tracking; - centered: the mouse image is displayed at the center " +#~ "of the zoom region (which also represents the point under the system " +#~ "mouse) and the magnified contents are scrolled as the system mouse moves; " +#~ "- proportional: the position of the magnified mouse in the zoom region is " +#~ "proportionally the same as the position of the system mouse on screen; - " +#~ "push: when the magnified mouse intersects a boundary of the zoom region, " +#~ "the contents are scrolled into view." +#~ msgstr "" +#~ "Determina a posición da imaxe magnificada do rato dentro da vista " +#~ "magnificada e como reacciona ao movemento do rato do sistema. Os valores " +#~ "son «none» (ningún): sen seguimento do rato; «centered» (centrado): a " +#~ "imaxe do rato móstrase no centro da rexión ampliada (que tamén representa " +#~ "o punto baixo o rato do sistema) e o contido magnificado deslízase " +#~ "segundo se move o rato do sistema; «proporcional»: a posición do rato " +#~ "magnificado na rexión de ampliación é proporcionalmente a mesma que a " +#~ "posición do rato do sistema na pantalla; «push» (empurrar): cando o rato " +#~ "magnificado cruza un límite da rexión de ampliación, o contido deslízase " +#~ "na vista." + +#~ msgid "" +#~ "Determines the transparency of the crosshairs, from fully opaque to fully " +#~ "transparent." +#~ msgstr "" +#~ "Determina a transparencia do punto de mira, desde a opacidade total á " +#~ "transparencia total." + +#~ msgid "" +#~ "Determines whether the crosshairs intersect the magnified mouse sprite, " +#~ "or are clipped such that the ends of the horizontal and vertical lines " +#~ "surround the mouse image." +#~ msgstr "" +#~ "Determina se as cruces cruzan o «sprite» magnificado do rato ou fíxanse " +#~ "de tal forma que os finais das liñas horizontais e verticais rodean a " +#~ "imaxe do rato." + +#~ msgid "Enable lens mode" +#~ msgstr "Activar o modo lente" + +#~ msgid "" +#~ "Enables/disables display of crosshairs centered on the magnified mouse " +#~ "sprite." +#~ msgstr "" +#~ "Activa/desactiva a visualización do punto de mira centrada no mapa de " +#~ "bits de magnificación do rato." + +#~ msgid "" +#~ "For centered mouse tracking, when the system pointer is at or near the " +#~ "edge of the screen, the magnified contents continue to scroll such that " +#~ "the screen edge moves into the magnified view." +#~ msgstr "" +#~ "Para o seguimento do centro do rato, cando o punteiro do sistema está " +#~ "preto do bordo da pantalla, o contido magnificado continúa desprazándose " +#~ "de tal forma que o bordo da pantalla móvese dentro da vista magnificada." + +#~ msgid "Length of the crosshairs" +#~ msgstr "Lonxitude do punto de mira" + +#~ msgid "Magnification factor" +#~ msgstr "Factor de magnificación" + +#~ msgid "Mouse Tracking Mode" +#~ msgstr "Modo de seguimento do rato" + +#~ msgid "Opacity of the crosshairs" +#~ msgstr "Opacidade do punto de mira" + +#~ msgid "Screen position" +#~ msgstr "Posición de pantalla" + +#~ msgid "Scroll magnified contents beyond the edges of the desktop" +#~ msgstr "Mostrar os contidos magnificados máis aló dos bordos do escritorio" + +#~ msgid "Show or hide crosshairs" +#~ msgstr "Mostrar ou agochar o punto de mira" + +#~ msgid "Show or hide the magnifier" +#~ msgstr "Mostrar ou agochar o magnificador" + +#~ msgid "Show or hide the magnifier and all of its zoom regions." +#~ msgstr "" +#~ "Mostrar ou agochar o magnificador e todas as súas rexións de " +#~ "magnificación." + +#~ msgid "" +#~ "The color of the the vertical and horizontal lines that make up the " +#~ "crosshairs." +#~ msgstr "A cor das liñas verticais e horizontais que contén o punto de mira." + +#~ msgid "" +#~ "The magnified view either fills the entire screen, or occupies the top-" +#~ "half, bottom-half, left-half, or right-half of the screen." +#~ msgstr "" +#~ "A vista magnificada tanto se enche a pantalla completa, ou ocupa a metade " +#~ "superior, metade inferior, metade da esquerda ou metade da dereita da " +#~ "pantalla." + +#~ msgid "" +#~ "The power of the magnification. A value of 1.0 means no magnification. A " +#~ "value of 2.0 doubles the size." +#~ msgstr "" +#~ "O poder da magnificación. Un valor de 1.0 desactiva a magnificación. Un " +#~ "valor de 2.0 duplica o tamaño." + +#~ msgid "Thickness of the crosshairs" +#~ msgstr "Grosor do punto de mira" + +#~ msgid "" +#~ "Whether the magnified view should be centered over the location of the " +#~ "system mouse and move with it." +#~ msgstr "" +#~ "Indica se a visualización do punto de mira debería centrarse sobre a " +#~ "localización do rato do sistema ou moverse con el." + +#~ msgid "" +#~ "Width of the vertical and horizontal lines that make up the crosshairs." +#~ msgstr "" +#~ "Anchura das liñas verticais e horizontais que contén o punto de mira." + +#~ msgid "PREFERENCES" +#~ msgstr "PREFERENCIAS" + +#~ msgid "Shut Down..." +#~ msgstr "Apagar…" + +#~ msgid "Bluetooth Agent" +#~ msgstr "Axente Bluetooth" + +#~ msgid "Search your computer" +#~ msgstr "Buscar no seu computador" + +#~ msgid "" +#~ "Can't add a new workspace because maximum workspaces limit has been " +#~ "reached." +#~ msgstr "" +#~ "Non é posíbel engadir unha área de traballo nova porque chegouse ao " +#~ "límite de áreas de traballo." + +#~ msgid "Can't remove the first workspace." +#~ msgstr "Non é posíbel quitar a primeira área de traballo." #~ msgid "Clock" #~ msgstr "Reloxo" From 5957bd1abb201593f1e1def02aaf907e66062293 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Fran=20Di=C3=A9guez?= Date: Tue, 15 Mar 2011 15:26:15 +0100 Subject: [PATCH 019/203] Updated Galician translations --- po/gl.po | 91 +++++++++++++++++++++++++++++++------------------------- 1 file changed, 51 insertions(+), 40 deletions(-) diff --git a/po/gl.po b/po/gl.po index 289aaf99f..830575597 100644 --- a/po/gl.po +++ b/po/gl.po @@ -10,8 +10,8 @@ msgid "" msgstr "" "Project-Id-Version: gnome-shell master\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2011-03-15 01:31+0100\n" -"PO-Revision-Date: 2011-03-15 01:32+0100\n" +"POT-Creation-Date: 2011-03-15 15:19+0100\n" +"PO-Revision-Date: 2011-03-15 15:25+0100\n" "Last-Translator: Fran Diéguez \n" "Language-Team: Galician \n" "Language: gl\n" @@ -375,7 +375,7 @@ msgstr "Esta semana" msgid "Next week" msgstr "A vindeira semana" -#: ../js/ui/dash.js:174 ../js/ui/messageTray.js:933 +#: ../js/ui/dash.js:174 ../js/ui/messageTray.js:935 msgid "Remove" msgstr "Eliminar" @@ -430,7 +430,7 @@ msgstr "%a %l:%M %p" #. Translators: This is the date format to use when the calendar popup is #. * shown - it is shown just below the time in the shell (e.g. "Tue 9:29 AM"). #. -#: ../js/ui/dateMenu.js:209 +#: ../js/ui/dateMenu.js:194 msgid "%A %B %e, %Y" msgstr "%a, %e de %B, %Y" @@ -521,7 +521,7 @@ msgstr "Activado" #. translators: #. * The device has been disabled -#: ../js/ui/lookingGlass.js:627 ../src/gvc/gvc-mixer-control.c:1087 +#: ../js/ui/lookingGlass.js:627 ../src/gvc/gvc-mixer-control.c:1091 msgid "Disabled" msgstr "Desactivado" @@ -541,11 +541,11 @@ msgstr "Ver fonte" msgid "Web Page" msgstr "Páxina web" -#: ../js/ui/messageTray.js:926 +#: ../js/ui/messageTray.js:928 msgid "Open" msgstr "Abrir" -#: ../js/ui/messageTray.js:1963 +#: ../js/ui/messageTray.js:1965 msgid "System Information" msgstr "Información do sistema" @@ -565,21 +565,21 @@ msgstr "Aplicativos" #. the left of the overview #: ../js/ui/overview.js:202 msgid "Dash" -msgstr "" +msgstr "Panel" #. TODO - _quit() doesn't really work on apps in state STARTING yet -#: ../js/ui/panel.js:532 +#: ../js/ui/panel.js:510 #, c-format msgid "Quit %s" msgstr "Saír de %s" #. Button on the left side of the panel. #. Translators: If there is no suitable word for "Activities" in your language, you can use the word for "Overview". -#: ../js/ui/panel.js:893 +#: ../js/ui/panel.js:869 msgid "Activities" msgstr "Actividades" -#: ../js/ui/panel.js:994 +#: ../js/ui/panel.js:970 msgid "Panel" msgstr "Panel" @@ -596,7 +596,7 @@ msgstr "Reintentar" msgid "Connect to..." msgstr "Conectar con…" -#: ../js/ui/placeDisplay.js:409 +#: ../js/ui/placeDisplay.js:380 msgid "PLACES & DEVICES" msgstr "LUGARES E DISPOSITIVOS" @@ -605,7 +605,7 @@ msgstr "LUGARES E DISPOSITIVOS" #. "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:618 +#: ../js/ui/popupMenu.js:636 msgid "toggle-switch-us" msgstr "toggle-switch-intl" @@ -621,39 +621,39 @@ msgstr "Buscando..." msgid "No matching results." msgstr "Non hai resultados que coincidan." -#: ../js/ui/statusMenu.js:102 ../js/ui/statusMenu.js:166 +#: ../js/ui/statusMenu.js:114 ../js/ui/statusMenu.js:178 msgid "Power Off..." msgstr "Apagar…" -#: ../js/ui/statusMenu.js:104 ../js/ui/statusMenu.js:165 +#: ../js/ui/statusMenu.js:116 ../js/ui/statusMenu.js:177 msgid "Suspend" msgstr "Suspender" -#: ../js/ui/statusMenu.js:125 +#: ../js/ui/statusMenu.js:137 msgid "Available" msgstr "Dispoñíbel" -#: ../js/ui/statusMenu.js:130 +#: ../js/ui/statusMenu.js:142 msgid "Busy" msgstr "Ocupado" -#: ../js/ui/statusMenu.js:138 +#: ../js/ui/statusMenu.js:150 msgid "My Account" msgstr "A miña conta" -#: ../js/ui/statusMenu.js:142 +#: ../js/ui/statusMenu.js:154 msgid "System Settings" msgstr "Configuracións do sistema" -#: ../js/ui/statusMenu.js:149 +#: ../js/ui/statusMenu.js:161 msgid "Lock Screen" msgstr "Bloquear pantalla" -#: ../js/ui/statusMenu.js:153 +#: ../js/ui/statusMenu.js:165 msgid "Switch User" msgstr "Cambiar de usuario" -#: ../js/ui/statusMenu.js:158 +#: ../js/ui/statusMenu.js:170 msgid "Log Out..." msgstr "Saír da sesión…" @@ -752,7 +752,7 @@ msgstr "Configuracións do teclado" msgid "Mouse Settings" msgstr "Configuracións do rato" -#: ../js/ui/status/bluetooth.js:263 ../js/ui/status/volume.js:65 +#: ../js/ui/status/bluetooth.js:263 ../js/ui/status/volume.js:66 msgid "Sound Settings" msgstr "Configuracións do son" @@ -912,30 +912,30 @@ msgstr "Computador" msgid "Unknown" msgstr "Descoñecido" -#: ../js/ui/status/volume.js:44 +#: ../js/ui/status/volume.js:45 msgid "Volume" msgstr "Volume" -#: ../js/ui/status/volume.js:57 +#: ../js/ui/status/volume.js:58 msgid "Microphone" msgstr "Micrófono" -#: ../js/ui/telepathyClient.js:239 +#: ../js/ui/telepathyClient.js:332 #, c-format msgid "%s is online." msgstr "%s está conectado/a." -#: ../js/ui/telepathyClient.js:244 +#: ../js/ui/telepathyClient.js:337 #, c-format msgid "%s is offline." msgstr "%s está desconectado/a." -#: ../js/ui/telepathyClient.js:247 +#: ../js/ui/telepathyClient.js:340 #, c-format msgid "%s is away." msgstr "%s está ausente." -#: ../js/ui/telepathyClient.js:250 +#: ../js/ui/telepathyClient.js:343 #, c-format msgid "%s is busy." msgstr "%s está ocupado/a." @@ -943,20 +943,27 @@ msgstr "%s está ocupado/a." #. Translators: this is a time format string followed by a date. #. If applicable, replace %X with a strftime format valid for your #. locale, without seconds. -#: ../js/ui/telepathyClient.js:348 +#: ../js/ui/telepathyClient.js:474 #, no-c-format msgid "Sent at %X on %A" msgstr "Enviado ás %X o %A" +#. Translators: this is the other person changing their old IM name to their new +#. IM name. +#: ../js/ui/telepathyClient.js:498 +#, c-format +msgid "%s is now known as %s" +msgstr "%s é coñecido agora como %s" + #. Translators: this is the text displayed #. in the search entry when no search is #. active; it should not exceed ~30 #. characters. -#: ../js/ui/viewSelector.js:117 +#: ../js/ui/viewSelector.js:119 msgid "Type to search..." msgstr "Teclear para buscar…" -#: ../js/ui/viewSelector.js:137 ../src/shell-util.c:250 +#: ../js/ui/viewSelector.js:139 ../src/shell-util.c:250 msgid "Search" msgstr "Buscar" @@ -972,7 +979,7 @@ msgstr "«%s» está preparado" #. translators: #. * The number of sound outputs on a particular device -#: ../src/gvc/gvc-mixer-control.c:1094 +#: ../src/gvc/gvc-mixer-control.c:1098 #, c-format msgid "%u Output" msgid_plural "%u Outputs" @@ -981,43 +988,47 @@ msgstr[1] "%u saídas" #. translators: #. * The number of sound inputs on a particular device -#: ../src/gvc/gvc-mixer-control.c:1104 +#: ../src/gvc/gvc-mixer-control.c:1108 #, c-format msgid "%u Input" msgid_plural "%u Inputs" msgstr[0] "%u entrada" msgstr[1] "%u entradas" -#: ../src/gvc/gvc-mixer-control.c:1402 +#: ../src/gvc/gvc-mixer-control.c:1406 msgid "System Sounds" msgstr "Sons do sistema" -#: ../src/shell-global.c:1298 +#: ../src/main.c:395 +msgid "Print version" +msgstr "Imprimir versión" + +#: ../src/shell-global.c:1308 msgid "Less than a minute ago" msgstr "Hai menos dun minuto" -#: ../src/shell-global.c:1302 +#: ../src/shell-global.c:1312 #, c-format msgid "%d minute ago" msgid_plural "%d minutes ago" msgstr[0] "hai %d minuto" msgstr[1] "hai %d minutos" -#: ../src/shell-global.c:1307 +#: ../src/shell-global.c:1317 #, c-format msgid "%d hour ago" msgid_plural "%d hours ago" msgstr[0] "hai %d hora" msgstr[1] "hai %d horas" -#: ../src/shell-global.c:1312 +#: ../src/shell-global.c:1322 #, c-format msgid "%d day ago" msgid_plural "%d days ago" msgstr[0] "hai %d día" msgstr[1] "hai %d días" -#: ../src/shell-global.c:1317 +#: ../src/shell-global.c:1327 #, c-format msgid "%d week ago" msgid_plural "%d weeks ago" From 7c90f078e77a53e46fc92b1f3f8605c38f8b8d65 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andrej=20=C5=BDnidar=C5=A1i=C4=8D?= Date: Tue, 15 Mar 2011 16:09:30 +0100 Subject: [PATCH 020/203] Updated Slovenian translation --- po/sl.po | 319 ++++++++++++++++++++----------------------------------- 1 file changed, 117 insertions(+), 202 deletions(-) diff --git a/po/sl.po b/po/sl.po index 65e028ce9..df379dcc4 100644 --- a/po/sl.po +++ b/po/sl.po @@ -7,15 +7,15 @@ msgid "" msgstr "" "Project-Id-Version: gnome-shell master\n" -"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug.cgi?product=gnome-shell&component=general\n" -"POT-Creation-Date: 2011-03-09 04:06+0000\n" -"PO-Revision-Date: 2011-03-09 13:14+0100\n" -"Last-Translator: Matej Urbančič \n" +"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug.cgi?product=gnome-shell&keywords=I18N+L10N&component=general\n" +"POT-Creation-Date: 2011-03-14 23:15+0000\n" +"PO-Revision-Date: 2011-03-15 10:32+0100\n" +"Last-Translator: Andrej Žnidaršič \n" "Language-Team: Slovenian GNOME Translation Team \n" +"Language: Slovenian\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: Slovenian\n" "Plural-Forms: nplurals=4; plural=(n%100==1 ? 1 : n%100==2 ? 2 : n%100==3 || n%100==4 ? 3 : 0);\n" "X-Poedit-Language: Slovenian\n" "X-Poedit-Country: SLOVENIA\n" @@ -54,19 +54,16 @@ msgid "History for command (Alt-F2) dialog" msgstr "Zgodovina pogovornega okna ukazov (Alt-F2)" #: ../data/org.gnome.shell.gschema.xml.in.h:7 -#, fuzzy msgid "History for the looking glass dialog" -msgstr "Zgodovina pogovornega okna ukazov (Alt-F2)" +msgstr "Zgodovina za pogovorno okno povečevalnega stekla" #: ../data/org.gnome.shell.gschema.xml.in.h:8 -#, fuzzy msgid "If true, display date in the clock, in addition to time." -msgstr "Izbrana možnost omogoča ob času tudi prikaz datuma." +msgstr "Izbrana možnost določi, da je ob času prikazan tudi datum." #: ../data/org.gnome.shell.gschema.xml.in.h:9 -#, fuzzy msgid "If true, display seconds in time." -msgstr "Izbrana možnost omogoča prikaz sekund." +msgstr "Izbrana možnost določi prikaz sekund v času." #: ../data/org.gnome.shell.gschema.xml.in.h:10 msgid "If true, display the ISO week date in the calendar." @@ -77,9 +74,9 @@ msgid "List of desktop file IDs for favorite applications" msgstr "Seznam določil ID namiznih datotek priljubljenih programov" #: ../data/org.gnome.shell.gschema.xml.in.h:13 -#, fuzzy, no-c-format +#, no-c-format msgid "Sets the GStreamer pipeline used to encode recordings. It follows the syntax used for gst-launch. The pipeline should have an unconnected sink pad where the recorded video is recorded. It will normally have a unconnected source pad; output from that pad will be written into the output file. However the pipeline can also take care of its own output - this might be used to send the output to an icecast server via shout2send or similar. When unset or set to an empty value, the default pipeline will be used. This is currently 'videorate ! vp8enc quality=10 speed=2 threads=%T ! queue ! webmmux' and records to WEBM using the VP8 codec. %T is used as a placeholder for a guess at the optimal thread count on the system." -msgstr "Določa cevovod programa GStreamer, ki se uporablja za kodiranje posnetkov. Ta sledi skladnji, ki je uporabljena za gst-launch. Cevovod mora imeti nepovezano korito, kamor se posnetek snema. Običajno je za to namenjen nepovezan izvorni pomnilnik, katerega odvod se zapiše v odvodno datoteko. Vendar pa lahko cevovod ta korak naredi v lastni odvod - možnost se lahko uporabi pri pošiljanju odvoda na strežnik icecast preko shout2send ali podobno. Nedoločena ali prazna možnost se odrazi kot privzeti cevovod. Trenutno je to 'videorate ! theoraenc ! oggmux' in omogoča snemanje v zapis Ogg Theora." +msgstr "Določa cevovod programa GStreamer, ki se uporablja za kodiranje posnetkov. Ta sledi skladnji, ki se uporablja za gst-launch. Cevovod mora imeti nepovezano korito, kamor se posnetek snema. Običajno je za to namenjen nepovezan izvorni pomnilnik, katerega odvod se zapiše v odvodno datoteko. Vendar pa lahko cevovod ta korak naredi v lastni odvod - možnost se lahko uporabi pri pošiljanju odvoda na strežnik icecast preko shout2send ali podobno. Nedoločena ali prazna možnost se odrazi kot privzeti cevovod. Trenutno je to 'videorate ! vp8enc quality=10 speed=2 threads=%T ! queue ! webmmux' in omogoča snemanje v zapis WEBM z uporabo kodeka VP8. %T se uporablja kot ročnik za ugibanje optimalnega števila niti na sistemu." #: ../data/org.gnome.shell.gschema.xml.in.h:14 msgid "Show date in clock" @@ -122,21 +119,18 @@ msgid "Whether to collect stats about applications usage" msgstr "Ali naj se beleži statistika uporabe programov" #: ../data/org.gnome.shell.gschema.xml.in.h:24 -#, fuzzy msgid "disabled OpenSearch providers" -msgstr "Seznam nameščenih ponudnikov" +msgstr "ponudniki OpenSearch so bili onemogočeni" #: ../js/misc/util.js:86 -#, fuzzy msgid "Command not found" -msgstr "Ukaz ni najden." +msgstr "Ukaz ni mogoče najti" #. Replace "Error invoking GLib.shell_parse_argv: " with #. something nicer #: ../js/misc/util.js:113 -#, fuzzy msgid "Could not parse command:" -msgstr "Ni mogoče razčleniti ukazne vrstice '%s': %s" +msgstr "Ukaza ni mogoče razčleniti:" #: ../js/misc/util.js:135 msgid "No such application" @@ -198,10 +192,9 @@ msgstr "%H:%M" #. Transators: Shown in calendar event list, if 12h format #: ../js/ui/calendar.js:78 -#, fuzzy msgctxt "event list time" msgid "%l:%M %p" -msgstr "%l:%M %p" +msgstr "%H.%M" #. Translators: Calendar grid abbreviation for Sunday. #. * @@ -245,7 +238,6 @@ msgstr "P" #. Translators: Calendar grid abbreviation for Saturday #: ../js/ui/calendar.js:130 -#, fuzzy msgctxt "grid saturday" msgid "S" msgstr "S" @@ -257,21 +249,18 @@ msgstr "S" #. * both be 'T'). #. #: ../js/ui/calendar.js:143 -#, fuzzy msgctxt "list sunday" msgid "Su" -msgstr "ne" +msgstr "Ne" #. Translators: Event list abbreviation for Monday #: ../js/ui/calendar.js:145 -#, fuzzy msgctxt "list monday" msgid "M" -msgstr "M" +msgstr "P" #. Translators: Event list abbreviation for Tuesday #: ../js/ui/calendar.js:147 -#, fuzzy msgctxt "list tuesday" msgid "T" msgstr "T" @@ -284,40 +273,35 @@ msgstr "S" #. Translators: Event list abbreviation for Thursday #: ../js/ui/calendar.js:151 -#, fuzzy msgctxt "list thursday" msgid "Th" -msgstr "če" +msgstr "Če" #. Translators: Event list abbreviation for Friday #: ../js/ui/calendar.js:153 -#, fuzzy msgctxt "list friday" msgid "F" -msgstr "F" +msgstr "Pe" #. Translators: Event list abbreviation for Saturday #: ../js/ui/calendar.js:155 -#, fuzzy msgctxt "list saturday" msgid "S" msgstr "S" #. Translators: Text to show if there are no events #: ../js/ui/calendar.js:704 -#, fuzzy msgid "Nothing Scheduled" -msgstr "Načrtovane naloge" +msgstr "Nič ni razporejeno" #. Translators: Shown on calendar heading when selected day occurs on current year #: ../js/ui/calendar.js:720 msgctxt "calendar heading" msgid "%A, %B %d" -msgstr "" +msgstr "%A, %d. %m." #. Translators: Shown on calendar heading when selected day occurs on different year #: ../js/ui/calendar.js:723 -#, fuzzy msgctxt "calendar heading" msgid "%A, %B %d, %Y" msgstr "%A, %d %B %Y" @@ -339,7 +323,7 @@ msgid "Next week" msgstr "Naslednji teden" #: ../js/ui/dash.js:174 -#: ../js/ui/messageTray.js:933 +#: ../js/ui/messageTray.js:935 msgid "Remove" msgstr "Odstrani" @@ -394,8 +378,7 @@ msgstr "%a, %H:%M" #. Translators: This is the date format to use when the calendar popup is #. * shown - it is shown just below the time in the shell (e.g. "Tue 9:29 AM"). #. -#: ../js/ui/dateMenu.js:209 -#, fuzzy +#: ../js/ui/dateMenu.js:194 msgid "%A %B %e, %Y" msgstr "%a, %e. %b., %R" @@ -415,22 +398,21 @@ msgstr "Odjava" #: ../js/ui/endSessionDialog.js:65 msgid "Click Log Out to quit these applications and log out of the system." -msgstr "" +msgstr "Kliknite Odjava za končanje teh programov in odjavo iz sistema." #: ../js/ui/endSessionDialog.js:66 -#, fuzzy, c-format +#, c-format msgid "%s will be logged out automatically in %d seconds." -msgstr "Samodejno boste odjavljeni čez %s sekund." +msgstr "%s bo samodejno odjavljen čez %d sekund." #: ../js/ui/endSessionDialog.js:67 -#, fuzzy, c-format +#, c-format msgid "You will be logged out automatically in %d seconds." -msgstr "Samodejno boste odjavljeni čez %s sekund." +msgstr "Samodejno boste odjavljeni čez %f sekund." #: ../js/ui/endSessionDialog.js:68 -#, fuzzy msgid "Logging out of the system." -msgstr "Onemogoči odjavo" +msgstr "Odjavljanje iz sistema." #: ../js/ui/endSessionDialog.js:74 #: ../js/ui/endSessionDialog.js:78 @@ -439,37 +421,34 @@ msgstr "Izklopi" #: ../js/ui/endSessionDialog.js:75 msgid "Click Shut Down to quit these applications and shut down the system." -msgstr "" +msgstr "Kliknite Izklop za končanje teh programov in izklop sistema." #: ../js/ui/endSessionDialog.js:76 -#, fuzzy, c-format +#, c-format msgid "The system will shut down automatically in %d seconds." -msgstr "Sistem se bo samodejno izklopil čez %s sekund." +msgstr "Sistem se bo samodejno izklopil čez %d sekund." #: ../js/ui/endSessionDialog.js:77 -#, fuzzy msgid "Shutting down the system." -msgstr "Izklapljanje programa Evolution" +msgstr "Izklapljanje sistema." #: ../js/ui/endSessionDialog.js:84 #: ../js/ui/endSessionDialog.js:88 -#, fuzzy msgid "Restart" -msgstr "Ponoven zagon" +msgstr "Zaženi znova" #: ../js/ui/endSessionDialog.js:85 msgid "Click Restart to quit these applications and restart the system." -msgstr "" +msgstr "Kliknite Zaženi znova za končanje teh programov in ponoven zagon sistema. " #: ../js/ui/endSessionDialog.js:86 -#, fuzzy, c-format +#, c-format msgid "The system will restart automatically in %d seconds." -msgstr "Sistem se bo samodejno ponovno zagnal čez %s sekund." +msgstr "Sistem se bo samodejno ponovno zagnal čez %d sekund." #: ../js/ui/endSessionDialog.js:87 -#, fuzzy msgid "Restarting the system." -msgstr "Sistemski klic:" +msgstr "Ponoven zagon sistema." #: ../js/ui/endSessionDialog.js:395 msgid "Confirm" @@ -491,7 +470,7 @@ msgstr "Omogočeno" #. translators: #. * The device has been disabled #: ../js/ui/lookingGlass.js:627 -#: ../src/gvc/gvc-mixer-control.c:1087 +#: ../src/gvc/gvc-mixer-control.c:1091 msgid "Disabled" msgstr "Onemogočeno" @@ -511,11 +490,11 @@ msgstr "Poglej vir" msgid "Web Page" msgstr "Spletna stran" -#: ../js/ui/messageTray.js:926 +#: ../js/ui/messageTray.js:928 msgid "Open" msgstr "Odpri" -#: ../js/ui/messageTray.js:1963 +#: ../js/ui/messageTray.js:1965 msgid "System Information" msgstr "Podrobnosti sistema" @@ -535,7 +514,7 @@ msgstr "Programi" #. the left of the overview #: ../js/ui/overview.js:202 msgid "Dash" -msgstr "" +msgstr "Armaturna plošča" #. TODO - _quit() doesn't really work on apps in state STARTING yet #: ../js/ui/panel.js:560 @@ -550,9 +529,8 @@ msgid "Activities" msgstr "Dejavnosti" #: ../js/ui/panel.js:1020 -#, fuzzy msgid "Panel" -msgstr "Prekliči" +msgstr "Pult" #: ../js/ui/placeDisplay.js:122 #, c-format @@ -567,7 +545,7 @@ msgstr "Poskusi znova" msgid "Connect to..." msgstr "Povezava z ..." -#: ../js/ui/placeDisplay.js:409 +#: ../js/ui/placeDisplay.js:380 msgid "PLACES & DEVICES" msgstr "Mesta in naprave" @@ -576,7 +554,7 @@ msgstr "Mesta in naprave" #. "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:618 +#: ../js/ui/popupMenu.js:636 msgid "toggle-switch-us" msgstr "toggle-switch-intl" @@ -592,42 +570,41 @@ msgstr "Iskanje ..." msgid "No matching results." msgstr "Ni zadetkov iskanja" -#: ../js/ui/statusMenu.js:102 -#: ../js/ui/statusMenu.js:166 +#: ../js/ui/statusMenu.js:114 +#: ../js/ui/statusMenu.js:178 msgid "Power Off..." -msgstr "" +msgstr "Izklop ..." -#: ../js/ui/statusMenu.js:104 -#: ../js/ui/statusMenu.js:165 -#, fuzzy +#: ../js/ui/statusMenu.js:116 +#: ../js/ui/statusMenu.js:177 msgid "Suspend" -msgstr "V pripravljenost" +msgstr "Zaustavi" -#: ../js/ui/statusMenu.js:125 +#: ../js/ui/statusMenu.js:137 msgid "Available" msgstr "Na voljo" -#: ../js/ui/statusMenu.js:130 +#: ../js/ui/statusMenu.js:142 msgid "Busy" msgstr "Zaposleno" -#: ../js/ui/statusMenu.js:138 +#: ../js/ui/statusMenu.js:150 msgid "My Account" msgstr "Račun" -#: ../js/ui/statusMenu.js:142 +#: ../js/ui/statusMenu.js:154 msgid "System Settings" msgstr "Sistemske nastavitve" -#: ../js/ui/statusMenu.js:149 +#: ../js/ui/statusMenu.js:161 msgid "Lock Screen" msgstr "Zakleni zaslon" -#: ../js/ui/statusMenu.js:153 +#: ../js/ui/statusMenu.js:165 msgid "Switch User" msgstr "Preklopi uporabnika" -#: ../js/ui/statusMenu.js:158 +#: ../js/ui/statusMenu.js:170 msgid "Log Out..." msgstr "Odjava ..." @@ -693,12 +670,10 @@ msgid "Send Files to Device..." msgstr "Pošilji datoteke na napravo ..." #: ../js/ui/status/bluetooth.js:70 -#, fuzzy msgid "Setup a New Device..." -msgstr "Namestitev nove naprave Bluetooth" +msgstr "Namestitev nove naprave ..." #: ../js/ui/status/bluetooth.js:95 -#, fuzzy msgid "Bluetooth Settings" msgstr "Nastavitve za Bluetooth" @@ -715,89 +690,81 @@ msgid "Browse Files..." msgstr "Brskanje datotek ..." #: ../js/ui/status/bluetooth.js:242 -#, fuzzy msgid "Error browsing device" -msgstr "Napaka med priklapljanjem naprave" +msgstr "Napaka med brskanjem po napravi" #: ../js/ui/status/bluetooth.js:243 #, c-format msgid "The requested device cannot be browsed, error is '%s'" -msgstr "" +msgstr "Po zahtevani naprave ni mogoče brskati, napaka je '%s'" #: ../js/ui/status/bluetooth.js:251 -#, fuzzy msgid "Keyboard Settings" -msgstr "Nastavitve računa" +msgstr "Nastavitve tipkovnice" #: ../js/ui/status/bluetooth.js:256 -#, fuzzy msgid "Mouse Settings" -msgstr "Nastavitve računa" +msgstr "Nastavitve miške" #: ../js/ui/status/bluetooth.js:263 -#: ../js/ui/status/volume.js:65 +#: ../js/ui/status/volume.js:66 msgid "Sound Settings" msgstr "Nastavitve zvoka" #: ../js/ui/status/bluetooth.js:372 -#, fuzzy, c-format +#, c-format msgid "Authorization request from %s" msgstr "Zahteva za pooblastitev od %s" #: ../js/ui/status/bluetooth.js:378 -#, fuzzy, c-format +#, c-format msgid "Device %s wants access to the service '%s'" -msgstr "Naprava %s čaka na dostop do storitve '%s'." +msgstr "Naprava %s želi dostop do storitve '%s'." #: ../js/ui/status/bluetooth.js:380 -#, fuzzy msgid "Always grant access" -msgstr "_Vedno odobri dostop" +msgstr "Vedno odobri dostop" #: ../js/ui/status/bluetooth.js:381 -#, fuzzy msgid "Grant this time only" -msgstr "Pokaži le _ta okvir" +msgstr "Odobri le tokrat" #: ../js/ui/status/bluetooth.js:382 msgid "Reject" msgstr "Zavrni" #: ../js/ui/status/bluetooth.js:412 -#, fuzzy, c-format +#, c-format msgid "Pairing confirmation for %s" -msgstr "Potrditev združevanja z napravo '%s'" +msgstr "Potrditev razčlenjevanja za %s" #: ../js/ui/status/bluetooth.js:418 #: ../js/ui/status/bluetooth.js:452 -#, fuzzy, c-format +#, c-format msgid "Device %s wants to pair with this computer" -msgstr "Naprava '%s' se skuša povezati z računalnikom" +msgstr "Naprava %s se skuša povezati s tem računalnikom" #: ../js/ui/status/bluetooth.js:419 -#, fuzzy, c-format +#, c-format msgid "Please confirm whether the PIN '%s' matches the one on the device." -msgstr "Potrdite, ali se prehodno geslo '%s' sklada z geslom naprave %s." +msgstr "Potrdite, ali se PIN '%s' ujema s tistim na napravi." #: ../js/ui/status/bluetooth.js:421 -#, fuzzy msgid "Matches" -msgstr "Zadetki" +msgstr "Ujemanja" #: ../js/ui/status/bluetooth.js:422 -#, fuzzy msgid "Does not match" -msgstr "Se ne sklada" +msgstr "Se ne ujema" #: ../js/ui/status/bluetooth.js:445 -#, fuzzy, c-format +#, c-format msgid "Pairing request for %s" -msgstr "Zahteva za združevanje z napravo '%s'" +msgstr "Zahteva razčlenjevanja za %s" #: ../js/ui/status/bluetooth.js:453 -#, fuzzy msgid "Please enter the PIN mentioned on the device." -msgstr "Vnesite prehodno geslo naprave %s." +msgstr "Vnesite PIN, ki je naveden na napravi." #: ../js/ui/status/bluetooth.js:469 msgid "OK" @@ -808,9 +775,8 @@ msgid "Show Keyboard Layout..." msgstr "Pokaži razporeditev tipkovnice ..." #: ../js/ui/status/keyboard.js:76 -#, fuzzy msgid "Localization Settings" -msgstr "Nastavitve računa" +msgstr "Krajevne nastavitve" #: ../js/ui/status/power.js:85 msgid "Power Settings" @@ -820,7 +786,7 @@ msgstr "Upravljanje napajanja" #. to estimate battery life #: ../js/ui/status/power.js:110 msgid "Estimating..." -msgstr "" +msgstr "Ocenjevanje ...." #: ../js/ui/status/power.js:117 #, c-format @@ -911,51 +877,58 @@ msgstr "Računalnik" msgid "Unknown" msgstr "Neznano" -#: ../js/ui/status/volume.js:44 +#: ../js/ui/status/volume.js:45 msgid "Volume" msgstr "Glasnost" -#: ../js/ui/status/volume.js:57 +#: ../js/ui/status/volume.js:58 msgid "Microphone" msgstr "Mikrofon" -#: ../js/ui/telepathyClient.js:239 -#, fuzzy, c-format +#: ../js/ui/telepathyClient.js:332 +#, c-format msgid "%s is online." -msgstr "%s je povezan" +msgstr "%s je povezan." -#: ../js/ui/telepathyClient.js:244 -#, fuzzy, c-format +#: ../js/ui/telepathyClient.js:337 +#, c-format msgid "%s is offline." msgstr "%s ni povezan." -#: ../js/ui/telepathyClient.js:247 -#, fuzzy, c-format +#: ../js/ui/telepathyClient.js:340 +#, c-format msgid "%s is away." -msgstr "Uporabnik %s je odsoten:" +msgstr "%s je odsoten." -#: ../js/ui/telepathyClient.js:250 -#, fuzzy, c-format +#: ../js/ui/telepathyClient.js:343 +#, c-format msgid "%s is busy." -msgstr "\"%s\" je zaposlen:" +msgstr "%s je zaposlen." #. Translators: this is a time format string followed by a date. #. If applicable, replace %X with a strftime format valid for your #. locale, without seconds. -#: ../js/ui/telepathyClient.js:348 -#, fuzzy, no-c-format +#: ../js/ui/telepathyClient.js:474 +#, no-c-format msgid "Sent at %X on %A" -msgstr "Sporočilo poslano ob odsotnosti " +msgstr "Poslano na %X ob %A" + +#. Translators: this is the other person changing their old IM name to their new +#. IM name. +#: ../js/ui/telepathyClient.js:498 +#, c-format +msgid "%s is now known as %s" +msgstr "%s je sedaj znan kot v %s" #. Translators: this is the text displayed #. in the search entry when no search is #. active; it should not exceed ~30 #. characters. -#: ../js/ui/viewSelector.js:117 +#: ../js/ui/viewSelector.js:119 msgid "Type to search..." -msgstr "" +msgstr "Vtipkajte za iskanje ..." -#: ../js/ui/viewSelector.js:137 +#: ../js/ui/viewSelector.js:139 #: ../src/shell-util.c:250 msgid "Search" msgstr "Poišči" @@ -972,7 +945,7 @@ msgstr "'%s' storitev je pripravljena" #. translators: #. * The number of sound outputs on a particular device -#: ../src/gvc/gvc-mixer-control.c:1094 +#: ../src/gvc/gvc-mixer-control.c:1098 #, c-format msgid "%u Output" msgid_plural "%u Outputs" @@ -983,7 +956,7 @@ msgstr[3] "%u odvodi naprave" #. translators: #. * The number of sound inputs on a particular device -#: ../src/gvc/gvc-mixer-control.c:1104 +#: ../src/gvc/gvc-mixer-control.c:1108 #, c-format msgid "%u Input" msgid_plural "%u Inputs" @@ -992,7 +965,7 @@ msgstr[1] "%u dovod naprave" msgstr[2] "%u dovoda naprave" msgstr[3] "%u dovodi naprave" -#: ../src/gvc/gvc-mixer-control.c:1402 +#: ../src/gvc/gvc-mixer-control.c:1406 msgid "System Sounds" msgstr "Sistemski zvoki" @@ -1042,7 +1015,7 @@ msgstr[3] "Pred %d tedni" #: ../src/shell-polkit-authentication-agent.c:334 msgid "Authentication dialog was dismissed by the user" -msgstr "" +msgstr "Uporabnik je zavrnil pogovorno okno overitve" #: ../src/shell-util.c:89 msgid "Home Folder" @@ -1066,32 +1039,24 @@ msgstr "%1$s: %2$s" #~ msgid "PREFERENCES" #~ msgstr "Možnosti" - #~ msgid "Shut Down..." #~ msgstr "Izklopi ..." - #~ msgid "Search your computer" #~ msgstr "Iskanje po računalniku" - #~ msgid "Clip the crosshairs at the center" #~ msgstr "Ali merek prekriva kazalko miške v središču" - #~ msgid "Color of the crosshairs" #~ msgstr "Barva merka" - #~ msgid "" #~ "Determines the length of the vertical and horizontal lines that make up " #~ "the crosshairs." #~ msgstr "Določi dolžino navpične in vodoravne črte, ki določata merek." - #~ msgid "" #~ "Determines the transparency of the crosshairs, from fully opaque to fully " #~ "transparent." #~ msgstr "Določi prosojnost merka, od prekrivne to prozorne." - #~ msgid "Enable lens mode" #~ msgstr "Omogočeni način leče" - #~ msgid "" #~ "For centered mouse tracking, when the system pointer is at or near the " #~ "edge of the screen, the magnified contents continue to scroll such that " @@ -1100,63 +1065,48 @@ msgstr "%1$s: %2$s" #~ "Pri usredinjenem sledenju miški, ko je sistemski kazalnik ob robu " #~ "zaslona, približanje vsebine drsi naprej tako, da je rob zaslona v " #~ "približanem pogledu." - #~ msgid "Length of the crosshairs" #~ msgstr "Dolžina merka" - #~ msgid "Magnification factor" #~ msgstr "Faktor približanja" - #~ msgid "Mouse Tracking Mode" #~ msgstr "Način sledenja miške" - #~ msgid "Opacity of the crosshairs" #~ msgstr "Prosojnost merka" - #~ msgid "Screen position" #~ msgstr "Položaj zaslona" - #~ msgid "Scroll magnified contents beyond the edges of the desktop" #~ msgstr "Zdrsni približano vsebino preko robov namizja" - #~ msgid "Show or hide crosshairs" #~ msgstr "Pokaži ali skrij merek" - #~ msgid "Show or hide the magnifier" #~ msgstr "Pokaži ali skrij približevalnik" - #~ msgid "Show or hide the magnifier and all of its zoom regions." #~ msgstr "Pokaže ali skrije povečevalo in vsa njegova območja približevanja." - #~ msgid "" #~ "The color of the the vertical and horizontal lines that make up the " #~ "crosshairs." #~ msgstr "Barva navpične in vodoravne črte, ki določata merek." - #~ msgid "" #~ "The magnified view either fills the entire screen, or occupies the top-" #~ "half, bottom-half, left-half, or right-half of the screen." #~ msgstr "" #~ "Približan pogled lahko zapolni celoten zaslon, lahko pa zasede zgornjo, " #~ "spodnjo, levo ali pa desno polovico zaslona." - #~ msgid "" #~ "The power of the magnification. A value of 1.0 means no magnification. A " #~ "value of 2.0 doubles the size." #~ msgstr "" #~ "Vrednost približanja. Vrednost 1.0 pomeni brez približanja, vrednost 2.0 " #~ "pa podvoji učinek približanja." - #~ msgid "Thickness of the crosshairs" #~ msgstr "Debelina merka" - #~ msgid "" #~ "Whether the magnified view should be centered over the location of the " #~ "system mouse and move with it." #~ msgstr "" #~ "Ali naj bo približan pogled usredinjen na mesto sistemske miške in se z " #~ "njo premika." - #~ msgid "" #~ "Width of the vertical and horizontal lines that make up the crosshairs." #~ msgstr "Širina navpične in vodoravne čete, ki določata merek." @@ -1164,36 +1114,28 @@ msgstr "%1$s: %2$s" #, fuzzy #~ msgid "Bluetooth Agent" #~ msgstr "Agent KAOS" - #~ msgid "" #~ "Can't add a new workspace because maximum workspaces limit has been " #~ "reached." #~ msgstr "" #~ "Ni mogoče dodati nove delovne površine, ker je doseženo njihovo največje " #~ "dovoljeno število." - #~ msgid "Can't remove the first workspace." #~ msgstr "Ni mogoče odstraniti prve delovne površine." - #~ msgid "Clock" #~ msgstr "Ura" - #~ msgid "Customize the panel clock" #~ msgstr "Prilagodi uro pladnja" - #~ msgid "Custom format of the clock" #~ msgstr "Zapis ure po meri" - #~ msgid "Hour format" #~ msgstr "Urni zapis" - #~ msgid "" #~ "If true and format is either \"12-hour\" or \"24-hour\", display seconds " #~ "in time." #~ msgstr "" #~ "Izbrana možnost določa ali \"12-urni\" ali pa \"24-urni\" zapis časa s " #~ "prikazanimi sekundami." - #~ msgid "" #~ "This key specifies the format used by the panel clock when the format key " #~ "is set to \"custom\". You can use conversion specifiers understood by " @@ -1204,106 +1146,79 @@ msgstr "%1$s: %2$s" #~ "zapisa nastavljen kot \"prikrojen\". Za določitev zapisa lahko uporabite " #~ "tudi oznake funkcije strftime(), ki so podrobneje zapisane v priročniku " #~ "funkcije." - #~ msgid "" #~ "This key specifies the hour format used by the panel clock. Possible " #~ "values are \"12-hour\", \"24-hour\", \"unix\" and \"custom\". If set to " -#~ "\"unix\", the clock will display time in seconds since Epoch, i.e. 1970-" -#~ "01-01. If set to \"custom\", the clock will display time according to the " -#~ "format specified in the custom_format key. Note that if set to either " -#~ "\"unix\" or \"custom\", the show_date and show_seconds keys are ignored." +#~ "\"unix\", the clock will display time in seconds since Epoch, i.e. " +#~ "1970-01-01. If set to \"custom\", the clock will display time according " +#~ "to the format specified in the custom_format key. Note that if set to " +#~ "either \"unix\" or \"custom\", the show_date and show_seconds keys are " +#~ "ignored." #~ msgstr "" #~ "Ključ določa zapis ure. Mogoče vrednosti so \"12-urni\", \"24-urni\", " #~ "\"unix\" in \"po meri\". Možnost \"unix\" prikazuje čas v sekundah od " #~ "začetka ere, torej od 01.01.1970, možnost \"po meri\" pa omogoča " #~ "prikrojen zapis. Pri izbiri zapisa \"unix\" ali \"po meri\" sta izbiri " #~ "pokaži datum in pokaži sekunde, prezrti." - #~ msgid "Clock Format" #~ msgstr "Zapis ure" - #~ msgid "Clock Preferences" #~ msgstr "Možnosti ure" - #~ msgid "Panel Display" #~ msgstr "Prikazovanje pladnja" - #~ msgid "Show seco_nds" #~ msgstr "Pokaži _sekunde" - #~ msgid "Show the _date" #~ msgstr "Pokaži _datum" - #~ msgid "_12 hour format" #~ msgstr "_12-urni zapis časa" - #~ msgid "_24 hour format" #~ msgstr "_24-urni zapis časa" - #~ msgid "Preferences" #~ msgstr "Možnosti" - #~ msgid "What's using power..." #~ msgstr "Kaj porablja napetost ..." - #~ msgid "Overview workspace view mode" #~ msgstr "Način pregleda predogleda delovnih površin" - #~ msgid "" #~ "The selected workspace view mode in the overview. Supported values are " #~ "\"single\" and \"grid\"." #~ msgstr "" #~ "Izbrani pogled delovnih površin v predogledu. Podprte vrednosti sta " #~ "\"enojno\" in \"mrežno\"." - #~ msgid "Drag here to add favorites" #~ msgstr "S potegom na to mesto se izbor doda med priljubljene" - #~ msgid "Find" #~ msgstr "Najdi" - #~ msgid "Invisible" #~ msgstr "Nevidno" - #~ msgid "System Preferences..." #~ msgstr "Sistemske možnosti ..." - #~ msgid "ON" #~ msgstr "⚪" - #~ msgid "OFF" #~ msgstr "⚫" - #~ msgid "Sidebar" #~ msgstr "Stranska vrstica" - #~ msgid "Recent Documents" #~ msgstr "Nedavni dokumenti" - #~ msgid "PLACES" #~ msgstr "Mesta" - #~ msgid "SEARCH RESULTS" #~ msgstr "Rezultati iskanja" - #~ msgid "Can't lock screen: %s" #~ msgstr "Ni mogoče zakleniti zaslona: %s" - #~ msgid "Can't temporarily set screensaver to blank screen: %s" #~ msgstr "" #~ "Ni mogoče začasno nastaviti črnega zaslona za ohranjevalnik zaslona: %s" - #~ msgid "Can't logout: %s" #~ msgstr "Ni se mogoče odjaviti: %s" - #~ msgid "Frequent" #~ msgstr "Pogosto" - #~ msgid "More" #~ msgstr "Več" - #~ msgid "(see all)" #~ msgstr "(poglej vse)" - #~ msgid "Browse" #~ msgstr "Prebrskaj" + From 971e3f679fe2a6c9310f1a8594b455ecb54e3e37 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Matej=20Urban=C4=8Di=C4=8D?= Date: Tue, 15 Mar 2011 16:13:05 +0100 Subject: [PATCH 021/203] Updated Slovenian translation --- po/sl.po | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/po/sl.po b/po/sl.po index df379dcc4..1734e4010 100644 --- a/po/sl.po +++ b/po/sl.po @@ -408,7 +408,7 @@ msgstr "%s bo samodejno odjavljen čez %d sekund." #: ../js/ui/endSessionDialog.js:67 #, c-format msgid "You will be logged out automatically in %d seconds." -msgstr "Samodejno boste odjavljeni čez %f sekund." +msgstr "Samodejno boste odjavljeni čez %d sekund." #: ../js/ui/endSessionDialog.js:68 msgid "Logging out of the system." From e8eec2d357a5b4c6db312687c8987b0595e91bec Mon Sep 17 00:00:00 2001 From: "Owen W. Taylor" Date: Fri, 4 Mar 2011 15:54:19 -0500 Subject: [PATCH 022/203] Use points for font sizes Do a basic job of converting font sizes from pixels to points, so they will scale will the global GNOME scale factor. Some other sizes that are clearly related to the font sizes are changed to ems, but no comprehensive attempt is made to get rid of px units. https://bugzilla.gnome.org/show_bug.cgi?id=636868 --- data/theme/gnome-shell.css | 70 +++++++++++++++++++------------------- js/ui/overview.js | 2 +- js/ui/panel.js | 4 +-- js/ui/workspace.js | 2 +- 4 files changed, 38 insertions(+), 40 deletions(-) diff --git a/data/theme/gnome-shell.css b/data/theme/gnome-shell.css index 1335e8405..fac0006e0 100644 --- a/data/theme/gnome-shell.css +++ b/data/theme/gnome-shell.css @@ -98,7 +98,7 @@ StTooltip StLabel { .popup-menu { color: #ffffff; - font-size: 14px; + font-size: 10.5pt; min-width: 200px; } @@ -183,6 +183,8 @@ StTooltip StLabel { color: #ffffff; background-color: black; border-image: url("panel-border.svg") 1; + font-size: 10.5pt; + height: 1.86em; } #panelLeft, #panelCenter, #panelRight { @@ -242,7 +244,6 @@ StTooltip StLabel { .panel-button { padding: 0px 12px; - font-size: 14px; font-weight: bold; color: #ccc; transition-duration: 100; @@ -345,7 +346,7 @@ StTooltip StLabel { background: rgba(0,0,0,0.8); border: 1px solid rgba(128,128,128,0.40); border-radius: 10px; - font-size: 12px; + font-size: 9pt; padding: 2px 8px; -shell-caption-spacing: 4px; } @@ -365,7 +366,7 @@ StTooltip StLabel { #dash { color: #5f5f5f; - font-size: 12px; + font-size: 9pt; padding: 4px 0px; background-color: rgba(0, 0, 0, 0.5); border: 1px solid rgba(128, 128, 128, 0.4); @@ -391,12 +392,12 @@ StTooltip StLabel { } #viewSelector { - spacing: 16px; - font-size: 16px; + spacing: 1em; + font-size: 12pt; } #viewSelectorTabBar { - padding: 16px; + padding: 1em; } #searchArea { @@ -444,8 +445,8 @@ StTooltip StLabel { .view-tab-title { color: #888a85; font-weight: bold; - padding: 0px 12px; - height: 24px; + padding: 0px 0.75em; + height: 1.5em; } .view-tab-title:hover { @@ -455,8 +456,7 @@ StTooltip StLabel { .view-tab-title:selected { color: #000000; background-color: #c2c7cd; - border-radius: 4px; - height: 24px; + border-radius: 0.25em; } #searchResults { @@ -519,7 +519,7 @@ StTooltip StLabel { .dash-search-button-label { color: #cccccc; - font-size: 16px; + font-size: 12pt; } /* Apps */ @@ -544,9 +544,9 @@ StTooltip StLabel { } .app-filter { - font-size: 14px; + font-size: 10.5pt; font-weight: bold; - height: 40px; + height: 2.85em; color: #aaa; width: 200px; } @@ -589,7 +589,7 @@ StTooltip StLabel { border-radius: 4px; padding: 3px; border: 1px rgba(0,0,0,0); - font-size: 10px; + font-size: 7.5pt; color: white; transition-duration: 100; text-align: center; @@ -619,7 +619,7 @@ StTooltip StLabel { } .app-well-menu { - font-size: 12px + font-size: 9pt; } /* LookingGlass */ @@ -775,7 +775,7 @@ StTooltip StLabel { .calendar-month-label { color: #666666; - font-size: 10px; + font-size: 7.5pt; padding: 2px; font-weight: bold; } @@ -818,16 +818,16 @@ StTooltip StLabel { .datemenu-date-label { padding: .4em 1.75em; - font-size: 14px; + font-size: 10.5pt; color: #cccccc; font-weight: bold; } .calendar-day-base { - font-size: 10px; + font-size: 7.5pt; text-align: center; - width: 24px; - height: 24px; + width: 2.4em; + height: 2.4em; } .calendar-day-base:hover { @@ -897,7 +897,7 @@ StTooltip StLabel { } .events-day-header { - font-size: 12px; + font-size: 9pt; font-weight: bold; color: rgba(153, 153, 153, 1.0); padding-left: 0.3em; @@ -909,7 +909,7 @@ StTooltip StLabel { } .events-day-dayname { - font-size: 12px; + font-size: 9pt; color: rgba(153, 153, 153, 1.0); text-align: left; } @@ -919,7 +919,7 @@ StTooltip StLabel { } .events-day-time { - font-size: 12px; + font-size: 9pt; color: #fff; text-align: right; } @@ -929,7 +929,7 @@ StTooltip StLabel { } .events-day-task { - font-size: 12px; + font-size: 9pt; color: rgba(153, 153, 153, 1.0); } @@ -964,7 +964,7 @@ StTooltip StLabel { } #notification { - font-size: 16px; + font-size: 12pt; border-radius: 5px 5px 0px 0px; background: rgba(0,0,0,0.9); padding: 8px 8px 4px 8px; @@ -993,7 +993,7 @@ StTooltip StLabel { } .summary-boxpointer #summary-right-click-menu { - font-size: 14px; + font-size: 10.5pt; padding-top: 12px; padding-bottom: 12px; } @@ -1095,7 +1095,7 @@ StTooltip StLabel { .chat-meta-message { padding-left: 4px; border-radius: 4px; - font-size: 14px; + font-size: 10.5pt; color: #bbbbbb; } @@ -1163,7 +1163,7 @@ StTooltip StLabel { } .source-title { - font-size: 12px; + font-size: 9pt; font-weight: bold; padding-left: 4px; } @@ -1185,7 +1185,7 @@ StTooltip StLabel { border-radius: 24px; padding: 20px; - font-size: 12px; + font-size: 9pt; color: white; } @@ -1317,7 +1317,7 @@ StTooltip StLabel { .modal-dialog-button { border: 1px solid #8b8b8b; border-radius: 18px; - font-size: 14px; + font-size: 10.5pt; margin-left: 10px; margin-right: 10px; @@ -1350,12 +1350,12 @@ StTooltip StLabel { /* Run Dialog */ .run-dialog-label { - font-size: 12px; + font-size: 9pt; color: white; } .run-dialog-error-label { - font-size: 12px; + font-size: 9pt; color: white; } @@ -1365,9 +1365,9 @@ StTooltip StLabel { } .run-dialog-entry { - font-size: 14px; + font-size: 10.5pt; font-weight: bold; - width: 320px; + width: 23em; color: white; } diff --git a/js/ui/overview.js b/js/ui/overview.js index 18f0c0f85..3bb478923 100644 --- a/js/ui/overview.js +++ b/js/ui/overview.js @@ -439,7 +439,7 @@ Overview.prototype = { let primary = global.get_primary_monitor(); let rtl = (St.Widget.get_default_direction () == St.TextDirection.RTL); - let contentY = Panel.PANEL_HEIGHT; + let contentY = Main.panel.actor.height; let contentHeight = primary.height - contentY - Main.messageTray.actor.height; this._group.set_position(primary.x, primary.y); diff --git a/js/ui/panel.js b/js/ui/panel.js index 79376199c..da27f6fbe 100644 --- a/js/ui/panel.js +++ b/js/ui/panel.js @@ -22,8 +22,6 @@ const DateMenu = imports.ui.dateMenu; const Main = imports.ui.main; const Tweener = imports.ui.tweener; -const PANEL_HEIGHT = 26; - const PANEL_ICON_SIZE = 24; const STARTUP_ANIMATION_TIME = 0.2; @@ -1044,7 +1042,7 @@ Panel.prototype = { let primary = global.get_primary_monitor(); this.actor.set_position(primary.x, primary.y); - this.actor.set_size(primary.width, PANEL_HEIGHT); + this.actor.set_size(primary.width, -1); this._leftCorner.relayout(); this._rightCorner.relayout(); diff --git a/js/ui/workspace.js b/js/ui/workspace.js index 9a80f8c8e..82dbcb087 100644 --- a/js/ui/workspace.js +++ b/js/ui/workspace.js @@ -222,7 +222,7 @@ WindowClone.prototype = { let [width, height] = this.actor.get_transformed_size(); this.actor.x = _clamp(this.actor.x, 0, global.screen_width - width); - this.actor.y = _clamp(this.actor.y, Panel.PANEL_HEIGHT, global.screen_height - height); + this.actor.y = _clamp(this.actor.y, Main.panel.actor.height, global.screen_height - height); }, _zoomStart : function () { From 4d804c2a29ae1428d11c18c33c2405a68da155ab Mon Sep 17 00:00:00 2001 From: Dan Winship Date: Tue, 15 Mar 2011 07:36:04 -0400 Subject: [PATCH 023/203] telepathyClient: remove alias-change messages, to unbreak string freeze https://bugzilla.gnome.org/show_bug.cgi?id=642793 --- js/ui/telepathyClient.js | 20 +++++++++++--------- 1 file changed, 11 insertions(+), 9 deletions(-) diff --git a/js/ui/telepathyClient.js b/js/ui/telepathyClient.js index e7a8240a9..4634a40d3 100644 --- a/js/ui/telepathyClient.js +++ b/js/ui/telepathyClient.js @@ -490,16 +490,18 @@ Notification.prototype = { }, appendAliasChange: function(oldAlias, newAlias) { - oldAlias = GLib.markup_escape_text(oldAlias, -1); - newAlias = GLib.markup_escape_text(newAlias, -1); + // FIXME: uncomment this after 3.0 string freeze ends - /* Translators: this is the other person changing their old IM name to their new - IM name. */ - let message = '' + _("%s is now known as %s").format(oldAlias, newAlias) + ''; - let label = this.addBody(message, true); - label.add_style_class_name('chat-meta-message'); - this._history.unshift({ actor: label, time: (Date.now() / 1000), realMessage: false }); - this.update(newAlias, null, { customContent: true }); + // oldAlias = GLib.markup_escape_text(oldAlias, -1); + // newAlias = GLib.markup_escape_text(newAlias, -1); + + // /* Translators: this is the other person changing their old IM name to their new + // IM name. */ + // let message = '' + _("%s is now known as %s").format(oldAlias, newAlias) + ''; + // let label = this.addBody(message, true); + // label.add_style_class_name('chat-meta-message'); + // this._history.unshift({ actor: label, time: (Date.now() / 1000), realMessage: false }); + // this.update(newAlias, null, { customContent: true }); }, _onEntryActivated: function() { From a9505d0426bfc092983bb0023425280a63f3ed77 Mon Sep 17 00:00:00 2001 From: "Jasper St. Pierre" Date: Fri, 11 Mar 2011 19:03:20 -0500 Subject: [PATCH 024/203] workspaceView: Make sure to scale the workspace proportionally Commit 0207f1f29b776ae5f8f59321284f1adc2f85159e landed a new way of zooming, but was causing all sorts of window positioning weirdness because the positions were supposed to be working against a proportional workspace. https://bugzilla.gnome.org/show_bug.cgi?id=644542 --- js/ui/workspacesView.js | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/js/ui/workspacesView.js b/js/ui/workspacesView.js index 3f79ec8c3..2d63ed1b6 100644 --- a/js/ui/workspacesView.js +++ b/js/ui/workspacesView.js @@ -708,8 +708,11 @@ WorkspacesDisplay.prototype = { if (!this.workspacesView) return; - let width = this.actor.allocation.x2 - this.actor.allocation.x1; - let height = this.actor.allocation.y2 - this.actor.allocation.y1; + let fullWidth = this.actor.allocation.x2 - this.actor.allocation.x1; + let fullHeight = this.actor.allocation.y2 - this.actor.allocation.y1; + + let width = fullWidth; + let height = fullHeight; let [controlsMin, controlsNatural] = this._controls.get_preferred_width(height); let controlsVisible = this._controls.get_theme_node().get_length('visible-width'); @@ -728,6 +731,9 @@ WorkspacesDisplay.prototype = { x += controlsVisible; } + height = (fullHeight / fullWidth) * width; + y += (fullHeight - height) / 2; + this.workspacesView.setGeometry(x, y, width, height); }, From 0a3d80b86e66f19586d6253a965e6bcd712ff441 Mon Sep 17 00:00:00 2001 From: Dan Winship Date: Fri, 11 Mar 2011 07:09:02 -0500 Subject: [PATCH 025/203] accessibility: remove Screen Reader and Screen Keyboard entries These are not 100% ready for 3.0 (though they are still available from the control panel). https://bugzilla.gnome.org/show_bug.cgi?id=639762 --- js/ui/status/accessibility.js | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/js/ui/status/accessibility.js b/js/ui/status/accessibility.js index 5d77a5c1c..67b019ec8 100644 --- a/js/ui/status/accessibility.js +++ b/js/ui/status/accessibility.js @@ -66,13 +66,13 @@ ATIndicator.prototype = { let textZoom = this._buildFontItem(); this.menu.addMenuItem(textZoom); - let screenReader = this._buildItem(_("Screen Reader"), APPLICATIONS_SCHEMA, - 'screen-reader-enabled'); - this.menu.addMenuItem(screenReader); +// let screenReader = this._buildItem(_("Screen Reader"), APPLICATIONS_SCHEMA, +// 'screen-reader-enabled'); +// this.menu.addMenuItem(screenReader); - let screenKeyboard = this._buildItem(_("Screen Keyboard"), APPLICATIONS_SCHEMA, - 'screen-keyboard-enabled'); - this.menu.addMenuItem(screenKeyboard); +// let screenKeyboard = this._buildItem(_("Screen Keyboard"), APPLICATIONS_SCHEMA, +// 'screen-keyboard-enabled'); +// this.menu.addMenuItem(screenKeyboard); let visualBell = this._buildItemGConf(_("Visual Alerts"), client, KEY_VISUAL_BELL); this.menu.addMenuItem(visualBell); From 43020b20b770096e208be4eceae360b0020b5c42 Mon Sep 17 00:00:00 2001 From: Dan Winship Date: Wed, 9 Mar 2011 08:58:27 -0500 Subject: [PATCH 026/203] ShellWindowTracker: don't create ShellApps for non-interesting windows If a process does not have any "interesting" windows, then it can't be considered a running app. (Previously we were calling get_app_for_window() before ruling out non-interesting windows, which ended up calling _shell_app_new_for_window(), which would add the window to the ShellApp directly, bypassing the is_interesting check.) https://bugzilla.gnome.org/show_bug.cgi?id=642221 --- src/shell-window-tracker.c | 23 +---------------------- 1 file changed, 1 insertion(+), 22 deletions(-) diff --git a/src/shell-window-tracker.c b/src/shell-window-tracker.c index d2889236f..44a4a48e3 100644 --- a/src/shell-window-tracker.c +++ b/src/shell-window-tracker.c @@ -225,23 +225,6 @@ get_appid_from_window (MetaWindow *window) return appid_guess; } -/** - * window_is_tracked: - * - * We don't attempt to associate override-redirect windows with applications - * at all, since there's no reason to do so yet. - * - * Returns: %TRUE iff we want to scan this window for application association - */ -static gboolean -window_is_tracked (MetaWindow *window) -{ - if (meta_window_is_override_redirect (window)) - return FALSE; - - return TRUE; -} - /** * shell_window_tracker_is_window_interesting: * @@ -529,7 +512,7 @@ track_window (ShellWindowTracker *self, { ShellApp *app; - if (!window_is_tracked (window)) + if (!shell_window_tracker_is_window_interesting (window)) return; app = get_app_for_window (self, window); @@ -539,10 +522,6 @@ track_window (ShellWindowTracker *self, /* At this point we've stored the association from window -> application */ g_hash_table_insert (self->window_to_app, window, app); - /* However, only put interesting windows in the window list for an app. */ - if (!shell_window_tracker_is_window_interesting (window)) - return; - if (shell_app_is_transient (app)) { /* For a transient application, it's possible one of our title regexps From c0d0c792e120a879264360ed59e539fe2a31bad1 Mon Sep 17 00:00:00 2001 From: "Owen W. Taylor" Date: Mon, 7 Mar 2011 15:31:55 -0500 Subject: [PATCH 027/203] StContainer: Account for floating-point imprecision when sorting actors When we compare the boxes for two actors, they may appear to overlap by a small amount because of floating-point imprecision. Allow for up to 0.1 pixel overlap when determining what children are in the focus direction from the currently focused actor. https://bugzilla.gnome.org/show_bug.cgi?id=644134 --- src/st/st-container.c | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/src/st/st-container.c b/src/st/st-container.c index 24430d040..403da5573 100644 --- a/src/st/st-container.c +++ b/src/st/st-container.c @@ -445,33 +445,35 @@ filter_by_position (GList *children, clutter_actor_get_allocation_box (child, &cbox); /* Filter out children if they are in the wrong direction from - * @rbox, or if they don't overlap it. + * @rbox, or if they don't overlap it. To account for floating- + * point imprecision, an actor is "down" (etc.) from an another + * actor even if it overlaps it by up to 0.1 pixels. */ switch (direction) { case GTK_DIR_UP: - if (cbox.y2 > rbox->y1) + if (cbox.y2 > rbox->y1 + 0.1) continue; if (cbox.x1 >= rbox->x2 || cbox.x2 <= rbox->x1) continue; break; case GTK_DIR_DOWN: - if (cbox.y1 < rbox->y2) + if (cbox.y1 < rbox->y2 - 0.1) continue; if (cbox.x1 >= rbox->x2 || cbox.x2 <= rbox->x1) continue; break; case GTK_DIR_LEFT: - if (cbox.x2 > rbox->x1) + if (cbox.x2 > rbox->x1 + 0.1) continue; if (cbox.y1 >= rbox->y2 || cbox.y2 <= rbox->y1) continue; break; case GTK_DIR_RIGHT: - if (cbox.x1 < rbox->x2) + if (cbox.x1 < rbox->x2 - 0.1) continue; if (cbox.y1 >= rbox->y2 || cbox.y2 <= rbox->y1) continue; From 735397aa896fe91e54b8210d535e9fa28a8d9109 Mon Sep 17 00:00:00 2001 From: Ray Strode Date: Tue, 15 Mar 2011 15:19:58 -0400 Subject: [PATCH 028/203] gdm: fix empty real name check gdm_user_get_real_name() checks for an empty real name and automatically falls back to username if real name is NULL. It doesn't automatically fall back to username if real name is empty, however. This commit makes it fall back for both cases. https://bugzilla.gnome.org/show_bug.cgi?id=644765 --- src/gdmuser/gdm-user.c | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/src/gdmuser/gdm-user.c b/src/gdmuser/gdm-user.c index 735c2cb74..0a592cc6a 100644 --- a/src/gdmuser/gdm-user.c +++ b/src/gdmuser/gdm-user.c @@ -407,7 +407,9 @@ gdm_user_get_uid (GdmUser *user) * gdm_user_get_real_name: * @user: the user object to examine. * - * Retrieves the display name of @user. + * Retrieves a displayable name for @user. By default this is the real name + * of the user, but will fall back to the user name if there is no real name + * defined. * * Returns: (transfer none): a pointer to an array of characters which must not be modified or * freed, or %NULL. @@ -417,7 +419,12 @@ gdm_user_get_real_name (GdmUser *user) { g_return_val_if_fail (GDM_IS_USER (user), NULL); - return (user->real_name ? user->real_name : user->user_name); + if (user->real_name == NULL || + user->real_name[0] == '\0') { + return user->user_name; + } + + return user->real_name; } /** From 1314559833a7fa18b033abd90265eb587f870b57 Mon Sep 17 00:00:00 2001 From: Ray Strode Date: Tue, 15 Mar 2011 15:22:20 -0400 Subject: [PATCH 029/203] polkit: drop gdmuser naming workaround The polkit authentication dialog contains logic for falling back to dispalying a user's username if that user has no real name. This logic is no longer needed because gdmuser does it internally now. https://bugzilla.gnome.org/show_bug.cgi?id=644765 --- js/ui/polkitAuthenticationAgent.js | 4 ---- 1 file changed, 4 deletions(-) diff --git a/js/ui/polkitAuthenticationAgent.js b/js/ui/polkitAuthenticationAgent.js index 8834c0e43..22535b785 100644 --- a/js/ui/polkitAuthenticationAgent.js +++ b/js/ui/polkitAuthenticationAgent.js @@ -108,10 +108,6 @@ AuthenticationDialog.prototype = { userRealName = _('Administrator'); } - // Work around Gdm.UserManager returning an empty string for the real name - if (userRealName.length == 0) - userRealName = userName; - if (userIsRoot) { let userLabel = new St.Label(({ style_class: 'polkit-dialog-user-root-label', text: userRealName })); From 8d57c5052c0fdc58ef387d27306eaaa709119f51 Mon Sep 17 00:00:00 2001 From: Khaled Hosny Date: Wed, 16 Mar 2011 14:53:53 +0200 Subject: [PATCH 030/203] Updated Arabic translation --- po/ar.po | 86 +++++++++++++++++++++++++++++--------------------------- 1 file changed, 45 insertions(+), 41 deletions(-) diff --git a/po/ar.po b/po/ar.po index 54c334476..b0e0a8e68 100644 --- a/po/ar.po +++ b/po/ar.po @@ -6,7 +6,7 @@ msgid "" msgstr "" "Project-Id-Version: HEAD\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2011-03-09 01:12+0200\n" +"POT-Creation-Date: 2011-03-16 14:53+0200\n" "PO-Revision-Date: 2011-03-09 01:12+0300\n" "Last-Translator: Khaled Hosny \n" "Language-Team: Arabic \n" @@ -344,7 +344,7 @@ msgstr "هذا الأسبوع" msgid "Next week" msgstr "الأسبوع القادم" -#: ../js/ui/dash.js:174 ../js/ui/messageTray.js:933 +#: ../js/ui/dash.js:174 ../js/ui/messageTray.js:935 msgid "Remove" msgstr "أزِل" @@ -399,7 +399,7 @@ msgstr "%A %Ol:%OM %p" #. Translators: This is the date format to use when the calendar popup is #. * shown - it is shown just below the time in the shell (e.g. "Tue 9:29 AM"). #. -#: ../js/ui/dateMenu.js:209 +#: ../js/ui/dateMenu.js:194 msgid "%A %B %e, %Y" msgstr "%A %e %B، %Y" @@ -486,7 +486,7 @@ msgstr "مفعّل" #. translators: #. * The device has been disabled -#: ../js/ui/lookingGlass.js:627 ../src/gvc/gvc-mixer-control.c:1087 +#: ../js/ui/lookingGlass.js:627 ../src/gvc/gvc-mixer-control.c:1091 msgid "Disabled" msgstr "معطّل" @@ -506,11 +506,11 @@ msgstr "اعرض المصدر" msgid "Web Page" msgstr "صفحة الوب" -#: ../js/ui/messageTray.js:926 +#: ../js/ui/messageTray.js:928 msgid "Open" msgstr "افتح" -#: ../js/ui/messageTray.js:1963 +#: ../js/ui/messageTray.js:1965 msgid "System Information" msgstr "معلومات النظام" @@ -533,18 +533,18 @@ msgid "Dash" msgstr "الشريط" #. TODO - _quit() doesn't really work on apps in state STARTING yet -#: ../js/ui/panel.js:560 +#: ../js/ui/panel.js:508 #, c-format msgid "Quit %s" msgstr "أغلق %s" #. Button on the left side of the panel. #. Translators: If there is no suitable word for "Activities" in your language, you can use the word for "Overview". -#: ../js/ui/panel.js:919 +#: ../js/ui/panel.js:867 msgid "Activities" msgstr "الأنشطة" -#: ../js/ui/panel.js:1020 +#: ../js/ui/panel.js:968 msgid "Panel" msgstr "اللوحة" @@ -561,7 +561,7 @@ msgstr "أعد المحاولة" msgid "Connect to..." msgstr "اتّصل ب‍..." -#: ../js/ui/placeDisplay.js:409 +#: ../js/ui/placeDisplay.js:380 msgid "PLACES & DEVICES" msgstr "الأماكن والأجهزة" @@ -570,7 +570,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:618 +#: ../js/ui/popupMenu.js:636 msgid "toggle-switch-us" msgstr "toggle-switch-intl" @@ -586,39 +586,39 @@ msgstr "يبحث..." msgid "No matching results." msgstr "لا نتائج مطابقة." -#: ../js/ui/statusMenu.js:102 ../js/ui/statusMenu.js:166 +#: ../js/ui/statusMenu.js:114 ../js/ui/statusMenu.js:178 msgid "Power Off..." msgstr "أطفئ..." -#: ../js/ui/statusMenu.js:104 ../js/ui/statusMenu.js:165 +#: ../js/ui/statusMenu.js:116 ../js/ui/statusMenu.js:177 msgid "Suspend" msgstr "علّق" -#: ../js/ui/statusMenu.js:125 +#: ../js/ui/statusMenu.js:137 msgid "Available" msgstr "متاح" -#: ../js/ui/statusMenu.js:130 +#: ../js/ui/statusMenu.js:142 msgid "Busy" msgstr "مشغول" -#: ../js/ui/statusMenu.js:138 +#: ../js/ui/statusMenu.js:150 msgid "My Account" msgstr "حسابي" -#: ../js/ui/statusMenu.js:142 +#: ../js/ui/statusMenu.js:154 msgid "System Settings" msgstr "إعدادات النظام" -#: ../js/ui/statusMenu.js:149 +#: ../js/ui/statusMenu.js:161 msgid "Lock Screen" msgstr "أوصد الشاشة" -#: ../js/ui/statusMenu.js:153 +#: ../js/ui/statusMenu.js:165 msgid "Switch User" msgstr "بدّل المستخدم" -#: ../js/ui/statusMenu.js:158 +#: ../js/ui/statusMenu.js:170 msgid "Log Out..." msgstr "اخرج..." @@ -626,14 +626,12 @@ msgstr "اخرج..." msgid "Zoom" msgstr "تقريب" -#: ../js/ui/status/accessibility.js:69 -msgid "Screen Reader" -msgstr "قارئ الشاشة" - -#: ../js/ui/status/accessibility.js:73 -msgid "Screen Keyboard" -msgstr "لوحة مفاتيح على الشاشة" - +#. let screenReader = this._buildItem(_("Screen Reader"), APPLICATIONS_SCHEMA, +#. 'screen-reader-enabled'); +#. this.menu.addMenuItem(screenReader); +#. let screenKeyboard = this._buildItem(_("Screen Keyboard"), APPLICATIONS_SCHEMA, +#. 'screen-keyboard-enabled'); +#. this.menu.addMenuItem(screenKeyboard); #: ../js/ui/status/accessibility.js:77 msgid "Visual Alerts" msgstr "تنبيهات بصرية" @@ -717,7 +715,7 @@ msgstr "إعدادات لوحة المفاتيح" msgid "Mouse Settings" msgstr "إعدادات الفأرة" -#: ../js/ui/status/bluetooth.js:263 ../js/ui/status/volume.js:65 +#: ../js/ui/status/bluetooth.js:263 ../js/ui/status/volume.js:66 msgid "Sound Settings" msgstr "إعدادات الصوت" @@ -893,30 +891,30 @@ msgstr "حاسوب" msgid "Unknown" msgstr "مجهول" -#: ../js/ui/status/volume.js:44 +#: ../js/ui/status/volume.js:45 msgid "Volume" msgstr "جزء" -#: ../js/ui/status/volume.js:57 +#: ../js/ui/status/volume.js:58 msgid "Microphone" msgstr "ميكروفون" -#: ../js/ui/telepathyClient.js:239 +#: ../js/ui/telepathyClient.js:332 #, c-format msgid "%s is online." msgstr "‏%s متّصل." -#: ../js/ui/telepathyClient.js:244 +#: ../js/ui/telepathyClient.js:337 #, c-format msgid "%s is offline." msgstr "‏%s غير متّصل." -#: ../js/ui/telepathyClient.js:247 +#: ../js/ui/telepathyClient.js:340 #, c-format msgid "%s is away." msgstr "‏%s غائب." -#: ../js/ui/telepathyClient.js:250 +#: ../js/ui/telepathyClient.js:343 #, c-format msgid "%s is busy." msgstr "‏%s مشغول." @@ -924,7 +922,7 @@ msgstr "‏%s مشغول." #. Translators: this is a time format string followed by a date. #. If applicable, replace %X with a strftime format valid for your #. locale, without seconds. -#: ../js/ui/telepathyClient.js:348 +#: ../js/ui/telepathyClient.js:474 #, no-c-format msgid "Sent at %X on %A" msgstr "أُرسلت الساعة %l:%M:%S في %A" @@ -933,11 +931,11 @@ msgstr "أُرسلت الساعة %l:%M:%S في %A" #. in the search entry when no search is #. active; it should not exceed ~30 #. characters. -#: ../js/ui/viewSelector.js:117 +#: ../js/ui/viewSelector.js:119 msgid "Type to search..." msgstr "اكتب نصا للبحث عنه..." -#: ../js/ui/viewSelector.js:137 ../src/shell-util.c:250 +#: ../js/ui/viewSelector.js:139 ../src/shell-util.c:250 msgid "Search" msgstr "ابحث" @@ -953,7 +951,7 @@ msgstr "‏'%s' جاهز" #. translators: #. * The number of sound outputs on a particular device -#: ../src/gvc/gvc-mixer-control.c:1094 +#: ../src/gvc/gvc-mixer-control.c:1098 #, c-format msgid "%u Output" msgid_plural "%u Outputs" @@ -966,7 +964,7 @@ msgstr[5] "%u مخرج" #. translators: #. * The number of sound inputs on a particular device -#: ../src/gvc/gvc-mixer-control.c:1104 +#: ../src/gvc/gvc-mixer-control.c:1108 #, c-format msgid "%u Input" msgid_plural "%u Inputs" @@ -977,7 +975,7 @@ msgstr[3] "%u مداخل" msgstr[4] "%u مدخلا" msgstr[5] "%u مدخل" -#: ../src/gvc/gvc-mixer-control.c:1402 +#: ../src/gvc/gvc-mixer-control.c:1406 msgid "System Sounds" msgstr "أصوات النظام" @@ -1057,6 +1055,12 @@ msgstr "نظام الملفات" msgid "%1$s: %2$s" msgstr "‏%1$s:‏ %2$s" +#~ msgid "Screen Reader" +#~ msgstr "قارئ الشاشة" + +#~ msgid "Screen Keyboard" +#~ msgstr "لوحة مفاتيح على الشاشة" + #~ msgid "PREFERENCES" #~ msgstr "التفضيلات" From e27293edbc1c26ea1c3ddd54f25fac3a8a04e9dd Mon Sep 17 00:00:00 2001 From: Dan Winship Date: Mon, 7 Mar 2011 14:04:03 -0500 Subject: [PATCH 031/203] messageTray: fix summary area wobbling Due to accumulation of rounding errors, the left edge of the summary area could wobble by a few pixels during animations. Fix that. https://bugzilla.gnome.org/show_bug.cgi?id=636930 --- js/ui/messageTray.js | 31 +++++++++++++++++++++++++++---- 1 file changed, 27 insertions(+), 4 deletions(-) diff --git a/js/ui/messageTray.js b/js/ui/messageTray.js index 8a29597de..c105d4df6 100644 --- a/js/ui/messageTray.js +++ b/js/ui/messageTray.js @@ -1339,6 +1339,8 @@ MessageTray.prototype = { }, set _expandedSummaryItemTitleWidth(expansion) { + expansion = Math.round(expansion); + // Expand the expanding item to its new width if (this._expandedSummaryItem) this._expandedSummaryItem.setTitleWidth(expansion); @@ -1369,11 +1371,32 @@ MessageTray.prototype = { if (this._summaryItems[i] == this._expandedSummaryItem) continue; - let width = this._summaryItems[i].getTitleWidth(); - this._summaryItems[i].setTitleWidth(width * shrinkage); + let oldWidth = this._summaryItems[i].getTitleWidth(); + let newWidth = Math.floor(oldWidth * shrinkage); + excess -= newWidth; + this._summaryItems[i].setTitleWidth(newWidth); + } + if (this._expandedSummaryItem) { + let oldWidth = this._imaginarySummaryItemTitleWidth; + let newWidth = Math.floor(oldWidth * shrinkage); + excess -= newWidth; + this._imaginarySummaryItemTitleWidth = newWidth; + } + + // If the tray as a whole is fully-expanded, make sure the + // left edge doesn't wobble during animation due to rounding. + if (this._imaginarySummaryItemTitleWidth == 0 && excess != 0) { + for (let i = 0; i < this._summaryItems.length; i++) { + if (this._summaryItems[i] == this._expandedSummaryItem) + continue; + + let oldWidth = this._summaryItems[i].getTitleWidth(); + if (oldWidth != 0) { + this._summaryItems[i].setTitleWidth (oldWidth + excess); + break; + } + } } - if (this._expandedSummaryItem) - this._imaginarySummaryItemTitleWidth *= shrinkage; }, _expandSummaryItemCompleted: function() { From 7f67c34b396d9ada7d665f76e6bcd08edfc9799e Mon Sep 17 00:00:00 2001 From: Giovanni Campagna Date: Tue, 15 Mar 2011 21:22:57 +0100 Subject: [PATCH 032/203] Bluetooth: fix updating the device list Inside the inner loop, use the inner iterator, not that of the outer loop. At the same time, refactor the code to rely less on private properties appended to foreign objects. https://bugzilla.gnome.org/show_bug.cgi?id=644858 --- js/ui/status/bluetooth.js | 21 ++++++++------------- 1 file changed, 8 insertions(+), 13 deletions(-) diff --git a/js/ui/status/bluetooth.js b/js/ui/status/bluetooth.js index 78859075c..092cd1ae8 100644 --- a/js/ui/status/bluetooth.js +++ b/js/ui/status/bluetooth.js @@ -136,6 +136,7 @@ Indicator.prototype = { _updateDevices: function() { let devices = this._applet.get_devices(); + let newlist = [ ]; for (let i = 0; i < this._deviceItems.length; i++) { let item = this._deviceItems[i]; let destroy = true; @@ -143,26 +144,20 @@ Indicator.prototype = { // we need to deep compare because BluetoothSimpleDevice is a boxed type // (but we take advantage of that, because _skip will disappear the next // time get_devices() is called) - if (this._deviceCompare(item._device, devices[i])) { - item.label.text = devices[i].alias; - devices[i]._skip = true; + if (this._deviceCompare(item._device, devices[j])) { + item.label.text = devices[j].alias; + devices[j]._skip = true; destroy = false; + break; } } - if (destroy) { + if (destroy) item.destroy(); - item._destroyed = true; - } - } - - let newlist = [ ]; - for (let i = 0; i < this._deviceItems.length; i++) { - let item = this._deviceItems[i]; - if (!item._destroyed) + else newlist.push(item); } - this._deviceItems = newlist; + this._deviceItems = newlist; this._hasDevices = newlist.length > 0; for (let i = 0; i < devices.length; i++) { let d = devices[i]; From c8ac3fd4f51a4d85a396602fc0d79abcb3e255fa Mon Sep 17 00:00:00 2001 From: Giovanni Campagna Date: Tue, 25 Jan 2011 22:08:12 +0100 Subject: [PATCH 033/203] Status area: add NetworkManager indicator Adds an implementation of nm-applet in javascript. Uses the new introspection from NetworkManager, and temporarily requires nm-applet to be running for the secret service. Features a renewed interface, with each device controllable through a switch, which if toggled off disconnects, and if toggled on connects to the most recently used valid connection. More esoteric features like creation of ad-hoc networks have been moved to the control center panel. https://bugzilla.gnome.org/show_bug.cgi?id=621707 --- data/theme/gnome-shell.css | 8 + js/Makefile.am | 2 + js/misc/modemManager.js | 225 ++++ js/misc/util.js | 80 ++ js/ui/panel.js | 6 + js/ui/status/network.js | 2062 ++++++++++++++++++++++++++++++++++ po/POTFILES.in | 2 + src/Makefile.am | 5 +- src/shell-mobile-providers.c | 816 ++++++++++++++ src/shell-mobile-providers.h | 96 ++ 10 files changed, 3301 insertions(+), 1 deletion(-) create mode 100644 js/misc/modemManager.js create mode 100644 js/ui/status/network.js create mode 100644 src/shell-mobile-providers.c create mode 100644 src/shell-mobile-providers.h diff --git a/data/theme/gnome-shell.css b/data/theme/gnome-shell.css index fac0006e0..c64c23209 100644 --- a/data/theme/gnome-shell.css +++ b/data/theme/gnome-shell.css @@ -153,6 +153,14 @@ StTooltip StLabel { spacing: .5em; } +.popup-inactive-menu-item { + font-style: italic; +} + +.popup-subtitle-menu-item { + font-weight: bold; +} + .popup-menu-icon { icon-size: 1.14em; } diff --git a/js/Makefile.am b/js/Makefile.am index 55bb11131..a085bfc31 100644 --- a/js/Makefile.am +++ b/js/Makefile.am @@ -8,6 +8,7 @@ nobase_dist_js_DATA = \ misc/format.js \ misc/gnomeSession.js \ misc/history.js \ + misc/modemManager.js \ misc/params.js \ misc/util.js \ perf/core.js \ @@ -50,6 +51,7 @@ nobase_dist_js_DATA = \ ui/statusMenu.js \ ui/status/accessibility.js \ ui/status/keyboard.js \ + ui/status/network.js \ ui/status/power.js \ ui/status/volume.js \ ui/status/bluetooth.js \ diff --git a/js/misc/modemManager.js b/js/misc/modemManager.js new file mode 100644 index 000000000..f33023805 --- /dev/null +++ b/js/misc/modemManager.js @@ -0,0 +1,225 @@ +// -*- mode: js2; indent-tabs-mode: nil; js2-basic-offset: 4 -*- + +const DBus = imports.dbus; +const Lang = imports.lang; +const Shell = imports.gi.Shell; +const Signals = imports.signals; + +// The following are not the complete interfaces, just the methods we need +// (or may need in the future) + +const ModemGsmNetworkInterface = { + name: 'org.freedesktop.ModemManager.Modem.Gsm.Network', + methods: [ + { name: 'GetRegistrationInfo', inSignature: '', outSignature: 'uss' }, + { name: 'GetSignalQuality', inSignature: '', outSignature: 'u' } + ], + properties: [ + { name: 'AccessTechnology', signature: 'u', access: 'read' } + ], + signals: [ + { name: 'SignalQuality', inSignature: 'u' }, + { name: 'RegistrationInfo', inSignature: 'uss' } + ] +}; +const ModemGsmNetworkProxy = DBus.makeProxyClass(ModemGsmNetworkInterface); + +const ModemCdmaInterface = { + name: 'org.freedesktop.ModemManager.Modem.Cdma', + methods: [ + { name: 'GetSignalQuality', inSignature: '', outSignature: 'u' }, + { name: 'GetServingSystem', inSignature: '', outSignature: 'usu' } + ], + signals: [ + { name: 'SignalQuality', inSignature: 'u' } + ] +}; +const ModemCdmaProxy = DBus.makeProxyClass(ModemCdmaInterface); + +let _providersTable; +function _getProvidersTable() { + if (_providersTable) + return _providersTable; + let [providers, countryCodes] = Shell.mobile_providers_parse(); + return _providersTable = providers; +} + +function ModemGsm() { + this._init.apply(this, arguments); +} + +ModemGsm.prototype = { + _init: function(path) { + this._proxy = new ModemGsmNetworkProxy(DBus.system, 'org.freedesktop.ModemManager', path); + + this.signal_quality = 0; + this.operator_name = null; + + // Code is duplicated because the function have different signatures + this._proxy.connect('SignalQuality', Lang.bind(this, function(proxy, quality) { + this.signal_quality = quality; + this.emit('notify::signal-quality'); + })); + this._proxy.connect('RegistrationInfo', Lang.bind(this, function(proxy, status, code, name) { + this.operator_name = this._findOperatorName(name, code); + this.emit('notify::operator-name'); + })); + this._proxy.GetRegistrationInfoRemote(Lang.bind(this, function(result, err) { + if (err) { + log(err); + return; + } + + let [status, code, name] = result; + this.operator_name = this._findOperatorName(name, code); + this.emit('notify::operator-name'); + })); + this._proxy.GetSignalQualityRemote(Lang.bind(this, function(result, err) { + if (err) { + // it will return an error if the device is not connected + this.signal_quality = 0; + } else { + let [quality] = result; + this.signal_quality = quality; + } + this.emit('notify::signal-quality'); + })); + }, + + _findOperatorName: function(name, opCode) { + if (name.length != 0 && (name.length > 6 || name.length < 5)) { + // this looks like a valid name, i.e. not an MCCMNC (that some + // devices return when not yet connected + return name; + } + if (isNaN(parseInt(name))) { + // name is definitely not a MCCMNC, so it may be a name + // after all; return that + return name; + } + + let needle; + if (name.length == 0 && opCode) + needle = opCode; + else if (name.length == 6 || name.length == 5) + needle = name; + else // nothing to search + return null; + + return this._findProviderForMCCMNC(needle); + }, + + _findProviderForMCCMNC: function(needle) { + let table = _getProvidersTable(); + let needlemcc = needle.substring(0, 3); + let needlemnc = needle.substring(3, needle.length); + + let name2, name3; + for (let iter in table) { + let providers = table[iter]; + + // Search through each country's providers + for (let i = 0; i < providers.length; i++) { + let provider = providers[i]; + + // Search through MCC/MNC list + let list = provider.get_gsm_mcc_mnc(); + for (let j = 0; j < list.length; j++) { + let mccmnc = list[j]; + + // Match both 2-digit and 3-digit MNC; prefer a + // 3-digit match if found, otherwise a 2-digit one. + if (mccmnc.mcc != needlemcc) + continue; // MCC was wrong + + if (!name3 && needle.length == 6 && needlemnc == mccmnc.mnc) + name3 = provider.name; + + if (!name2 && needlemnc.substring(0, 2) == mccmnc.mnc.substring(0, 2)) + name2 = provider.name; + + if (name2 && name3) + break; + } + } + } + + return name3 || name2 || null; + } +} +Signals.addSignalMethods(ModemGsm.prototype); + +function ModemCdma() { + this._init.apply(this, arguments); +} + +ModemCdma.prototype = { + _init: function(path) { + this._proxy = new ModemCdmaProxy(DBus.system, 'org.freedesktop.ModemManager', path); + + this.signal_quality = 0; + this.operator_name = null; + this._proxy.connect('SignalQuality', Lang.bind(this, function(proxy, quality) { + this.signal_quality = quality; + this.emit('notify::signal-quality'); + + // receiving this signal means the device got activated + // and we can finally call GetServingSystem + if (this.operator_name == null) + this._refreshServingSystem(); + })); + this._proxy.GetSignalQualityRemote(Lang.bind(this, function(result, err) { + if (err) { + // it will return an error if the device is not connected + this.signal_quality = 0; + } else { + let [quality] = result; + this.signal_quality = quality; + } + this.emit('notify::signal-quality'); + })); + }, + + _refreshServingSystem: function() { + this._proxy.GetServingSystemRemote(Lang.bind(this, function(result, err) { + if (err) { + // it will return an error if the device is not connected + this.operator_name = null; + } else { + let [bandClass, band, id] = result; + if (name.length > 0) + this.operator_name = this._findProviderForSid(id); + else + this.operator_name = null; + } + this.emit('notify::operator-name'); + })); + }, + + _findProviderForSid: function(sid) { + if (sid == 0) + return null; + + let table = _getProvidersTable(); + + // Search through each country + for (let iter in table) { + let providers = table[iter]; + + // Search through each country's providers + for (let i = 0; i < providers.length; i++) { + let provider = providers[i]; + let cdma_sid = provider.get_cdma_sid(); + + // Search through CDMA SID list + for (let j = 0; j < cdma_sid.length; j++) { + if (cdma_sid[j] == sid) + return provider.name; + } + } + } + + return null; + } +}; +Signals.addSignalMethods(ModemCdma.prototype); diff --git a/js/misc/util.js b/js/misc/util.js index e2ec2c164..f68907ec2 100644 --- a/js/misc/util.js +++ b/js/misc/util.js @@ -178,3 +178,83 @@ function killall(processName) { logError(e, 'Failed to kill ' + processName); } } + +// This was ported from network-manager-applet +// Copyright 2007 - 2011 Red Hat, Inc. +// Author: Dan Williams + +const _IGNORED_WORDS = [ + 'Semiconductor', + 'Components', + 'Corporation', + 'Communications', + 'Company', + 'Corp.', + 'Corp', + 'Co.', + 'Inc.', + 'Inc', + 'Incorporated', + 'Ltd.', + 'Limited.', + 'Intel?', + 'chipset', + 'adapter', + '[hex]', + 'NDIS', + 'Module' +]; + +const _IGNORED_PHRASES = [ + 'Multiprotocol MAC/baseband processor', + 'Wireless LAN Controller', + 'Wireless LAN Adapter', + 'Wireless Adapter', + 'Network Connection', + 'Wireless Cardbus Adapter', + 'Wireless CardBus Adapter', + '54 Mbps Wireless PC Card', + 'Wireless PC Card', + 'Wireless PC', + 'PC Card with XJACK(r) Antenna', + 'Wireless cardbus', + 'Wireless LAN PC Card', + 'Technology Group Ltd.', + 'Communication S.p.A.', + 'Business Mobile Networks BV', + 'Mobile Broadband Minicard Composite Device', + 'Mobile Communications AB', + '(PC-Suite Mode)' +]; + +function fixupPCIDescription(desc) { + desc.replace(/[_,]/, ' '); + + /* Attempt to shorten ID by ignoring certain phrases */ + for (let i = 0; i < _IGNORED_PHRASES.length; i++) { + let item = _IGNORED_PHRASES[i]; + let pos = desc.indexOf(item); + if (pos != -1) { + let before = desc.substring(0, pos); + let after = desc.substring(pos + item.length, desc.length); + desc = before + after; + } + } + + /* Attmept to shorten ID by ignoring certain individual words */ + let words = desc.split(' '); + let out = [ ]; + for (let i = 0; i < words; i++) { + let item = words[i]; + + // skip empty items (that come out from consecutive spaces) + if (item.length == 0) + continue; + + if (_IGNORED_WORDS.indexOf(item) == -1) { + out.push(item); + } + } + + return out.join(' '); +} diff --git a/js/ui/panel.js b/js/ui/panel.js index da27f6fbe..d606fd741 100644 --- a/js/ui/panel.js +++ b/js/ui/panel.js @@ -44,6 +44,12 @@ const STANDARD_TRAY_ICON_SHELL_IMPLEMENTATION = { if (Config.HAVE_BLUETOOTH) STANDARD_TRAY_ICON_SHELL_IMPLEMENTATION['bluetooth'] = imports.ui.status.bluetooth.Indicator; +try { + STANDARD_TRAY_ICON_SHELL_IMPLEMENTATION['network'] = imports.ui.status.network.NMApplet; +} catch(e) { + log('NMApplet is not supported. It is possible that your NetworkManager version is too old'); +} + // To make sure the panel corners blend nicely with the panel, // we draw background and borders the same way, e.g. drawing // them as filled shapes from the outside inwards instead of diff --git a/js/ui/status/network.js b/js/ui/status/network.js new file mode 100644 index 000000000..3b240f3bc --- /dev/null +++ b/js/ui/status/network.js @@ -0,0 +1,2062 @@ +// -*- mode: js2; indent-tabs-mode: nil; js2-basic-offset: 4 -*- +const ByteArray = imports.byteArray; +const DBus = imports.dbus; +const GLib = imports.gi.GLib; +const GObject = imports.gi.GObject; +const Lang = imports.lang; +const Mainloop = imports.mainloop; +const NetworkManager = imports.gi.NetworkManager; +const NMClient = imports.gi.NMClient; +const Shell = imports.gi.Shell; +const Signals = imports.signals; +const St = imports.gi.St; + +const Main = imports.ui.main; +const PanelMenu = imports.ui.panelMenu; +const PopupMenu = imports.ui.popupMenu; +const MessageTray = imports.ui.messageTray; +const ModemManager = imports.misc.modemManager; +const Util = imports.misc.util; + +const Gettext = imports.gettext.domain('gnome-shell'); +const _ = Gettext.gettext; + +const NMConnectionCategory = { + WIRED: 'wired', + WIRELESS: 'wireless', + WWAN: 'wwan', + VPN: 'vpn' +}; + +const NMAccessPointSecurity = { + UNKNOWN: 0, + NONE: 1, + WEP: 2, + WPA: 3, + WPA2: 4 +}; + +// small optimization, to avoid using [] all the time +const NM80211Mode = NetworkManager['80211Mode']; +const NM80211ApFlags = NetworkManager['80211ApFlags']; +const NM80211ApSecurityFlags = NetworkManager['80211ApSecurityFlags']; + +function macToArray(string) { + return string.split(':').map(function(el) { + return parseInt(el, 16); + }); +} + +function macCompare(one, two) { + for (let i = 0; i < 6; i++) { + if (one[i] != two[i]) + return false; + } + return true; +} + +function ssidCompare(one, two) { + if (!one || !two) + return false; + if (one.length != two.length) + return false; + for (let i = 0; i < one.length; i++) { + if (one[i] != two[i]) + return false; + } + return true; +} + +// shared between NMNetworkMenuItem and NMDeviceWWAN +function signalToIcon(value) { + if (value > 80) + return 'excellent'; + if (value > 55) + return 'good'; + if (value > 30) + return 'ok'; + if (value > 5) + return 'weak'; + return 'none'; +} + +// shared between NMNetworkMenuItem and NMDeviceWireless +function sortAccessPoints(accessPoints) { + return accessPoints.sort(function (one, two) { + return two.strength - one.strength; + }); +} + +function NMNetworkMenuItem() { + this._init.apply(this, arguments); +} + +NMNetworkMenuItem.prototype = { + __proto__: PopupMenu.PopupImageMenuItem.prototype, + + _init: function(accessPoints, title, params) { + accessPoints = sortAccessPoints(accessPoints); + this.bestAP = accessPoints[0]; + + let ssid = this.bestAP.get_ssid(); + title = title || NetworkManager.utils_ssid_to_utf8(ssid) || _(""); + + PopupMenu.PopupImageMenuItem.prototype._init.call(this, title, this._getIcon(), params); + + this._accessPoints = [ ]; + for (let i = 0; i < accessPoints.length; i++) { + let ap = accessPoints[i]; + // need a wrapper object here, because the access points can be shared + // between many NMNetworkMenuItems + let apObj = { + ap: ap, + updateId: ap.connect('notify::strength', Lang.bind(this, this._updated)) + }; + this._accessPoints.push(apObj); + } + }, + + _updated: function(ap, strength) { + if (strength > this.bestAP.strength) + this.bestAP = ap; + + this.setIcon(this._getIcon()); + }, + + _getIcon: function() { + return 'network-wireless-signal-' + signalToIcon(this.bestAP.strength); + }, + + updateAccessPoints: function(accessPoints) { + for (let i = 0; i < this._accessPoints.length; i++) { + let apObj = this._accessPoints[i]; + apObj.ap.disconnect(apObj.updateId); + apObj.updateId = 0; + } + + accessPoints = sortAccessPoints(accessPoints); + this.bestAP = accessPoints[0]; + this._accessPoints = [ ]; + for (let i = 0; i < accessPoints; i++) { + let ap = accessPoints[i]; + let apObj = { + ap: ap, + updateId: ap.connect('notify::strength', Lang.bind(this, this._updated)) + }; + this._accessPoints.push(apObj); + } + }, + + destroy: function() { + for (let i = 0; i < this._accessPoints.length; i++) { + let apObj = this._accessPoints[i]; + apObj.ap.disconnect(apObj.updateId); + apObj.updateId = 0; + } + + PopupMenu.PopupImageMenuItem.prototype.destroy.call(this); + } +}; + +function NMDeviceTitleMenuItem() { + this._init.apply(this, arguments); +} + +NMDeviceTitleMenuItem.prototype = { + __proto__: PopupMenu.PopupBaseMenuItem.prototype, + + _init: function(description, params) { + PopupMenu.PopupBaseMenuItem.prototype._init.call(this, params); + + this._descriptionLabel = new St.Label({ text: description, + style_class: 'popup-subtitle-menu-item' + }); + this.addActor(this._descriptionLabel); + + this._statusBin = new St.Bin({ x_align: St.Align.END }); + this.addActor(this._statusBin, { align: St.Align.END }); + + this._statusLabel = new St.Label({ text: '', + style_class: 'popup-inactive-menu-item' + }); + this._switch = new PopupMenu.Switch(false); + this._statusBin.child = this._switch.actor; + }, + + setStatus: function(text) { + if (text) { + this._statusLabel.text = text; + this._statusBin.child = this._statusLabel; + this.actor.reactive = false; + this.actor.can_focus = false; + } else { + this._statusBin.child = this._switch.actor; + this.actor.reactive = true; + this.actor.can_focus = true; + } + }, + + activate: function(event) { + if (this._switch.actor.mapped) { + this._switch.toggle(); + this.emit('toggled', this._switch.state); + } + + PopupMenu.PopupBaseMenuItem.prototype.activate.call(this, event); + }, + + get state() { + return this._switch.state; + }, + + setToggleState: function(newval) { + this._switch.setToggleState(newval); + } +}; + +function NMWiredSectionTitleMenuItem() { + this._init.apply(this, arguments); +} + +NMWiredSectionTitleMenuItem.prototype = { + __proto__: NMDeviceTitleMenuItem.prototype, + + updateForDevice: function(device) { + if (device) { + this._device = device; + this.setStatus(device.getStatusLabel()); + this.setToggleState(device.connected); + } else + this.setStatus(''); + }, + + activate: function(event) { + NMDeviceTitleMenuItem.prototype.activate.call(this, event); + + if (!this._device) { + log('Section title activated when there is more than one device, should be non reactive'); + return; + } + + if (this._switch.state) + this._device.activate(); + else + this._device.deactivate(); + } +}; + +function NMWirelessSectionTitleMenuItem() { + this._init.apply(this, arguments); +} + +NMWirelessSectionTitleMenuItem.prototype = { + __proto__: NMDeviceTitleMenuItem.prototype, + + _init: function(client, property, title, params) { + NMDeviceTitleMenuItem.prototype._init.call(this, title, params); + + this._client = client; + this._property = property + '_enabled'; + this._propertyHardware = property + '_hardware_enabled'; + this._setEnabledFunc = property + '_set_enabled'; + + this._client.connect('notify::' + property + '-enabled', Lang.bind(this, this._propertyChanged)); + this._client.connect('notify::' + property + '-hardware-enabled', Lang.bind(this, this._propertyChanged)); + + this._propertyChanged(); + }, + + updateForDevice: function(device) { + // we show the switch + // - if there not just one device + // - if the switch is off + // - if the device is activated or disconnected + if (device && this._softwareEnabled && this._hardwareEnabled) { + let text = device.getStatusLabel(); + this.setStatus(text); + } else + this.setStatus(null); + }, + + activate: function(event) { + NMDeviceTitleMenuItem.prototype.activate.call(this, event); + + this._client[this._setEnabledFunc](this._switch.state); + }, + + _propertyChanged: function() { + this._softwareEnabled = this._client[this._property]; + this._hardwareEnabled = this._client[this._propertyHardware]; + + let enabled = this._softwareEnabled && this._hardwareEnabled; + this.setToggleState(enabled); + if (!this._hardwareEnabled) + /* Translators: this indicates that wireless or wwan is disabled by hardware killswitch */ + this.setStatus(_("disabled")); + + this.emit('enabled-changed', enabled); + } +}; + +function NMDevice() { + throw new TypeError('Instantanting abstract class NMDevice'); +} + +NMDevice.prototype = { + _init: function(client, device, connections) { + this.device = device; + if (device) { + this.device._delegate = this; + this._stateChangedId = this.device.connect('state-changed', Lang.bind(this, this._deviceStateChanged)); + } else + this._stateChangedId = 0; + + // protected + this._client = client; + this._connections = [ ]; + for (let i = 0; i < connections.length; i++) { + if (!connections[i]._uuid) + continue; + if (!this.connectionValid(connections[i])) + continue; + // record the connection + let obj = { + connection: connections[i], + name: connections[i]._name, + uuid: connections[i]._uuid, + timestamp: connections[i]._timestamp, + }; + this._connections.push(obj); + } + this._connections.sort(function(one, two) { + return two.timestamp - one.timestamp; + }); + this._activeConnection = null; + this._activeConnectionItem = null; + this._autoConnectionItem = null; + + if (this.device) { + this.statusItem = new NMDeviceTitleMenuItem(this._getDescription()); + this._statusChanged = this.statusItem.connect('toggled', Lang.bind(this, function(item, state) { + if (state) + this.activate(); + else + this.deactivate(); + this.emit('enabled-changed'); + })); + } + this.section = new PopupMenu.PopupMenuSection(); + + this._createSection(); + }, + + destroy: function() { + if (this.device) + this.device._delegate = null; + + if (this._stateChangedId) { + // Need to go through GObject.Object.prototype because + // nm_device_disconnect conflicts with g_signal_disconnect + GObject.Object.prototype.disconnect.call(this.device, this._stateChangedId); + this._stateChangedId = 0; + } + + this._clearSection(); + if (this.titleItem) + this.titleItem.destroy(); + this.section.destroy(); + }, + + deactivate: function() { + this.device.disconnect(null); + }, + + activate: function() { + if (this._activeConnection) + // nothing to do + return; + + // pick the most recently used connection and connect to that + // or if no connections ever set, create an automatic one + if (this._connections.length > 0) { + this._client.activate_connection(this._connections[0].connection.path, this.device, null, null); + } else if (this._autoConnectionName) { + let connection = this._createAutomaticConnection(); + this._client.add_and_activate_connection(connection, this.device, null, null); + } + }, + + get connected() { + return this.device.state == NetworkManager.DeviceState.ACTIVATED; + }, + + setActiveConnection: function(activeConnection) { + if (activeConnection == this._activeConnection) + // nothing to do + return; + + // remove any UI + if (this._activeConnectionItem) { + this._activeConnectionItem.destroy(); + this._activeConnectionItem = null; + } + + this._activeConnection = activeConnection; + + this._clearSection(); + this._createSection(); + }, + + checkConnection: function(connection) { + let exists = this._findConnection(connection) != -1; + let valid = this.connectionValid(connection); + if (exists && !valid) + this.removeConnection(connection); + else if (!exists && valid) + this.addConnection(connection); + }, + + addConnection: function(connection) { + // record the connection + let obj = { + connection: connection, + name: connection._name, + uuid: connection._uuid, + timestamp: connection._timestamp, + }; + this._connections.push(obj); + this._connections.sort(function(one, two) { + return two.timestamp - one.timestamp; + }); + + this._clearSection(); + this._createSection(); + }, + + removeConnection: function(connection) { + if (!connection._uuid) { + log('Cannot remove a connection without an UUID'); + return; + } + let pos = this._findConnection(connection._uuid); + if (pos == -1) { + // this connection was never added, nothing to do here + return; + } + + let obj = this._connections[pos]; + if (obj.item) + obj.item.destroy(); + this._connections.splice(pos, 1); + + if (this._connections.length == 0) { + // We need to show the automatic connection again + this._clearSection(); + this._createSection(); + } + }, + + connectionValid: function(connection) { + throw new TypeError('Invoking pure virtual function NMDevice.connectionValid'); + }, + + setEnabled: function(enabled) { + // do nothing by default, we want to keep the conneciton list visible + // in the majority of cases (wired, wwan, vpn) + }, + + getStatusLabel: function() { + switch(this.device.state) { + case NetworkManager.DeviceState.DISCONNECTED: + case NetworkManager.DeviceState.ACTIVATED: + return null; + case NetworkManager.DeviceState.PREPARE: + case NetworkManager.DeviceState.CONFIG: + case NetworkManager.DeviceState.IP_CONFIG: + return _("connecting..."); + case NetworkManager.DeviceState.NEED_AUTH: + /* Translators: this is for network connections that require some kind of key or password */ + return _("authentication required"); + case NetworkManager.DeviceState.UNAVAILABLE: + // we don't check if the carrier property is actually false, as that causes race + // conditions if state is changed before the new carrier value is picked by libnm-glib + if (this.device.capabilities & NetworkManager.DeviceCapabilities.CARRIER_DETECT) + /* Translators: this is for wired network devices that are physically disconnected */ + return _("cable unplugged"); + else + /* Translators: this is for a network device that cannot be activated (for example it + is disabled by rfkill, or it has no coverage */ + return _("unavailable"); + case NetworkManager.DeviceState.FAILED: + return _("connection failed"); + default: + log('Device state invalid, is %d'.format(this.device.state)); + return 'invalid'; + } + }, + + // protected + _createAutomaticConnection: function() { + throw new TypeError('Invoking pure virtual function NMDevice.createAutomaticConnection'); + }, + + _findConnection: function(uuid) { + for (let i = 0; i < this._connections.length; i++) { + let obj = this._connections[i]; + if (obj.uuid == uuid) + return i; + } + return -1; + }, + + _clearSection: function() { + // Clear everything + this.section.removeAll(); + this._autoConnectionItem = null; + this._activeConnectionItem = null; + for (let i = 0; i < this._connections.length; i++) { + this._connections[i].item = null; + } + }, + + _shouldShowConnectionList: function() { + return (this.device.state == NetworkManager.DeviceState.DISCONNECTED || + this.device.state == NetworkManager.DeviceState.ACTIVATED); + }, + + _createSection: function() { + if (!this._shouldShowConnectionList()) + return; + + if (this._activeConnection) { + this._createActiveConnectionItem(); + this.section.addMenuItem(this._activeConnectionItem); + } + if (this._connections.length > 0) { + for(let j = 0; j < this._connections.length; ++j) { + let obj = this._connections[j]; + if (this._activeConnection && + obj.connection == this._activeConnection._connection) + continue; + obj.item = this._createConnectionItem(obj); + this.section.addMenuItem(obj.item); + } + } else if (this._autoConnectionName) { + this._autoConnectionItem = new PopupMenu.PopupMenuItem(this._autoConnectionName); + this._autoConnectionItem.connect('activate', Lang.bind(this, function() { + let connection = this._createAutomaticConnection(); + this._client.add_and_activate_connection(connection, this.device, null, null); + })); + this.section.addMenuItem(this._autoConnectionItem); + } + }, + + _createConnectionItem: function(obj) { + let path = obj.connection.path; + let item = new PopupMenu.PopupMenuItem(obj.name); + item.connect('activate', Lang.bind(this, function() { + this._client.activate_connection(path, this.device, null, null); + })); + return item; + }, + + _createActiveConnectionItem: function() { + let title; + let active = this._activeConnection._connection; + if (active) { + title = active._name; + } else { + /* TRANSLATORS: this is the indication that a connection for another logged in user is active, + and we cannot access its settings (including the name) */ + title = _("Connected (private)"); + } + this._activeConnectionItem = new PopupMenu.PopupMenuItem(title, { reactive: false }); + this._activeConnectionItem.setShowDot(true); + }, + + _deviceStateChanged: function(device, newstate, oldstate, reason) { + if (newstate == oldstate) { + log('device emitted state-changed without actually changing state'); + return; + } + + if (oldstate == NetworkManager.DeviceState.ACTIVATED) { + this.emit('network-lost'); + } + + switch(newstate) { + case NetworkManager.DeviceState.NEED_AUTH: + // FIXME: make this have a real effect + // (currently we rely on a running nm-applet) + this.emit('need-auth'); + break; + case NetworkManager.DeviceState.FAILED: + this.emit('activation-failed', reason); + break; + } + + this.statusItem.setStatus(this.getStatusLabel()); + this.statusItem.setToggleState(this.connected); + + this._clearSection(); + this._createSection(); + this.emit('state-changed'); + }, + + _getDescription: function() { + let dev_product = this.device.get_product(); + let dev_vendor = this.device.get_vendor(); + if (!dev_product || !dev_vendor) + return null; + + let product = Util.fixupPCIDescription(dev_product); + let vendor = Util.fixupPCIDescription(dev_vendor); + let out = ''; + + // Another quick hack; if all of the fixed up vendor string + // is found in product, ignore the vendor. + if (product.indexOf(vendor) == -1) + out += vendor + ' '; + out += product; + + return out; + } +}; +Signals.addSignalMethods(NMDevice.prototype); + + +function NMDeviceWired() { + this._init.apply(this, arguments); +} + +NMDeviceWired.prototype = { + __proto__: NMDevice.prototype, + + _init: function(client, device, connections) { + this._autoConnectionName = _("Auto Ethernet"); + this.category = NMConnectionCategory.WIRED; + + NMDevice.prototype._init.call(this, client, device, connections); + }, + + connectionValid: function(connection) { + if (connection._type != NetworkManager.SETTING_WIRED_SETTING_NAME) + return false; + + let ethernetSettings = connection.get_setting_by_name(NetworkManager.SETTING_WIRED_SETTING_NAME); + let fixedMac = ethernetSettings.get_mac_address(); + if (fixedMac) + return macCompare(fixedMac, macToArray(this.device.perm_hw_address)); + return true; + }, + + _createAutomaticConnection: function() { + let connection = new NetworkManager.Connection(); + connection._uuid = NetworkManager.utils_uuid_generate(); + connection.add_setting(new NetworkManager.SettingWired()); + connection.add_setting(new NetworkManager.SettingConnection({ + uuid: connection._uuid, + id: this._autoConnectionName, + type: NetworkManager.SETTING_WIRED_SETTING_NAME, + autoconnect: true + })); + return connection; + } +}; + +function NMDeviceModem() { + this._init.apply(this, arguments); +} + +NMDeviceModem.prototype = { + __proto__: NMDevice.prototype, + + _init: function(client, device, connections) { + let is_wwan = false; + + this._enabled = true; + this.mobileDevice = null; + this._connectionType = 'ppp'; + + this._capabilities = device.current_capabilities; + if (this._capabilities & NetworkManager.DeviceModemCapabilities.GSM_UMTS) { + is_wwan = true; + this.mobileDevice = new ModemManager.ModemGsm(device.udi); + this._connectionType = NetworkManager.SETTING_GSM_SETTING_NAME; + } else if (this._capabilities & NetworkManager.DeviceModemCapabilities.CDMA_EVDO) { + is_wwan = true; + this.mobileDevice = new ModemManager.ModemCdma(device.udi); + this._connectionType = NetworkManager.SETTING_CDMA_SETTING_NAME; + } else if (this._capabilities & NetworkManager.DeviceModemCapabilities.LTE) { + is_wwan = true; + // FIXME: support signal quality + } + + if (is_wwan) { + this.category = NMConnectionCategory.WWAN; + this._autoConnectionName = _("Auto broadband"); + } else { + this.category = NMConnectionCategory.WIRED; + this._autoConnectionName = _("Auto dial-up"); + } + + if (this.mobileDevice) { + this._operatorNameId = this.mobileDevice.connect('notify::operator-name', Lang.bind(this, function() { + if (this._operatorItem) { + let name = this.mobileDevice.operator_name; + if (name) { + this._operatorItem.label.text = name; + this._operatorItem.actor.show(); + } else + this._operatorItem.actor.hide(); + } + })); + this._signalQualityId = this.mobileDevice.connect('notify::signal-quality', Lang.bind(this, function() { + if (this._operatorItem) { + this._operatorItem.setIcon(this._getSignalIcon()); + } + })); + } + + NMDevice.prototype._init.call(this, client, device, connections, 1); + }, + + setEnabled: function(enabled) { + this._enabled = enabled; + if (this.category == NMConnectionCategory.WWAN) { + if (enabled) { + // prevent "network unavailable" statuses + this.statusItem.setStatus(null); + } else + this.statusItem.setStatus(this.getStatusLabel()); + } + + NMDevice.prototype.setEnabled.call(this, enabled); + }, + + get connected() { + return this._enabled && this.device.state == NetworkManager.DeviceState.CONNECTED; + }, + + destroy: function() { + if (this._operatorNameId) { + this.mobileDevice.disconnect(this._operatorNameId); + this._operatorNameId = 0; + } + if (this._signalQualityId) { + this.mobileDevice.disconnect(this._signalQualityId); + this._signalQualityId = 0; + } + + NMDevice.prototype.destroy.call(this); + }, + + _getSignalIcon: function() { + return 'network-cellular-signal-' + signalToIcon(this.mobileDevice.signal_quality); + }, + + _createSection: function() { + if (this.mobileDevice) { + // If operator_name is null, just pass the empty string, as the item is hidden anyway + this._operatorItem = new PopupMenu.PopupImageMenuItem(this.mobileDevice.operator_name || '', + this._getSignalIcon(), + { reactive: false }); + if (this.mobileDevice.operator_name) + this._operatorItem.actor.hide(); + this.section.addMenuItem(this._operatorItem); + } + + NMDevice.prototype._createSection.call(this); + }, + + clearSection: function() { + this._operatorItem = null; + + NMDevice.prototype._clearSection.call(this); + }, + + connectionValid: function(connection) { + return connection._type == this._connectionType; + }, + + _createAutomaticConnection: function() { + // FIXME: we need to summon the mobile wizard here + // or NM will not have the necessary parameters to complete the connection + // pending a DBus method on nm-applet + + let connection = new NetworkManager.Connection; + connection._uuid = NetworkManager.utils_uuid_generate(); + connection.add_setting(new NetworkManager.SettingConnection({ + uuid: connection._uuid, + id: this._autoConnectionName, + type: this._connectionType, + autoconnect: false + })); + return connection; + } +}; + +function NMDeviceBluetooth() { + this._init.apply(this, arguments); +} + +NMDeviceBluetooth.prototype = { + __proto__: NMDevice.prototype, + + _init: function(client, device, connections) { + this._autoConnectionName = this._makeConnectionName(device); + device.connect('notify::name', Lang.bind(this, this._updateAutoConnectionName)); + + this.category = NMConnectionCategory.WWAN; + + NMDevice.prototype._init.call(this, client, device, connections); + }, + + connectionValid: function(connection) { + if (connection._type != NetworkManager.SETTING_BLUETOOTH_SETTING_NAME) + return false; + + let bluetoothSettings = connection.get_setting_by_name(NetworkManager.SETTING_BLUETOOTH_SETTING_NAME); + let fixedBdaddr = bluetoothSettings.get_bdaddr(); + if (fixedBdaddr) + return macCompare(fixedBdaddr, macToArray(this.device.hw_address)); + + return true; + }, + + _createAutomaticConnection: function() { + let connection = new NetworkManager.Connection; + connection._uuid = NetworkManager.utils_uuid_generate(); + connection.add_setting(new NetworkManager.SettingBluetooth); + connection.add_setting(new NetworkManager.SettingConnection({ + uuid: connection._uuid, + id: this._autoConnectionName, + type: NetworkManager.SETTING_BLUETOOTH_SETTING_NAME, + autoconnect: false + })); + return connection; + }, + + _makeConnectionName: function(device) { + let name = device.name; + if (name) + return _("Auto %s").format(name); + else + return _("Auto bluetooth"); + }, + + _updateAutoConnectionName: function() { + this._autoConnectionName = this._makeConnectioName(this.device); + + this._clearSection(); + this._createSection(); + } +}; + + +// Not a real device, but I save a lot code this way +function NMDeviceVPN() { + this._init.apply(this, arguments); +} + +NMDeviceVPN.prototype = { + __proto__: NMDevice.prototype, + + _init: function(client) { + // Disable autoconnections + this._autoConnectionName = null; + this.category = NMConnectionCategory.VPN; + + NMDevice.prototype._init.call(this, client, null, [ ]); + }, + + connectionValid: function(connection) { + return connection._type == NetworkManager.SETTING_VPN_SETTING_NAME; + }, + + get empty() { + return this._connections.length == 0; + }, + + get connected() { + return true; + }, + + _shouldShowConnectionList: function() { + return true; + }, + + deactivate: function() { + if (this._activeConnection) + this._client.deactivate_connection(this._activeConnection); + }, + + getStatusLabel: function() { + return null; + } +}; + +function NMDeviceWireless() { + this._init.apply(this, arguments); +} + +NMDeviceWireless.prototype = { + __proto__: NMDevice.prototype, + + _init: function(client, device, connections) { + this.category = NMConnectionCategory.WIRELESS; + + this._overflowItem = null; + this._networks = [ ]; + + // breaking the layers with this, but cannot call + // this.connectionValid until I have a device + this.device = device; + + let validConnections = connections.filter(Lang.bind(this, function(connection) { + return this.connectionValid(connection); + })); + let accessPoints = device.get_access_points() || [ ]; + for (let i = 0; i < accessPoints.length; i++) { + // Access points are grouped by network + let ap = accessPoints[i]; + let pos = this._findNetwork(ap); + let obj; + if (pos != -1) { + obj = this._networks[pos]; + obj.accessPoints.push(ap); + } else { + obj = { ssid: ap.get_ssid(), + mode: ap.mode, + security: this._getApSecurityType(ap), + connections: [ ], + item: null, + accessPoints: [ ap ] + }; + this._networks.push(obj); + } + + // Check if some connection is valid for this AP + for (let j = 0; j < validConnections.length; j++) { + let connection = validConnections[j]; + if (this._connectionValidForAP(connection, ap) && + obj.connections.indexOf(connection) == -1) { + obj.connections.push(connection); + } + } + } + this._apAddedId = device.connect('access-point-added', Lang.bind(this, this._accessPointAdded)); + this._apRemovedId = device.connect('access-point-removed', Lang.bind(this, this._accessPointRemoved)); + + NMDevice.prototype._init.call(this, client, device, validConnections); + }, + + destroy: function() { + if (this._apAddedId) { + // see above for this HACK + GObject.Object.prototype.disconnect.call(this.device, this._apAddedId); + this._apAddedId = 0; + } + + if (this._apRemovedId) { + GObject.Object.prototype.disconnect.call(this.device, this._apRemovedId); + this._apRemovedId = 0; + } + + NMDevice.prototype.destroy.call(this); + }, + + setEnabled: function(enabled) { + if (enabled) { + this.statusItem.actor.show(); + this.section.actor.show(); + } else { + this.statusItem.actor.hide(); + this.section.actor.hide(); + } + }, + + activate: function() { + if (this._activeConnection) + // nothing to do + return; + + // among all visible networks, pick the last recently used connection + let best = null; + let bestApObj = null; + let bestTime = 0; + for (let i = 0; i < this._networks.length; i++) { + let apObj = this._networks[i]; + for (let j = 0; j < apObj.connections.length; j++) { + let connection = apObj.connections[j]; + if (connection._timestamp > bestTime) { + best = connection; + bestTime = connection._timestamp; + bestApObj = apObj; + } + } + } + + if (best) { + for (let i = 0; i < bestApObj.accessPoints.length; i++) { + let ap = bestApObj.accessPoints[i]; + if (this._connectionValidForAP(best, ap)) { + this._client.activate_connection(best.path, this.device, ap.dbus_path, null); + break; + } + } + return; + } + + // XXX: what else to do? + // for now, just pick a random network + // (this function is called in a corner case anyway, that is, only when + // the user toggles the switch and has more than one wireless device) + if (this._networks.length > 0) { + let connection = this._createAutomaticConnection(this._networks[0]); + let accessPoints = sortAccessPoints(this._networks[0].accessPoints); + this._client.add_and_activate_connection(connection, this.device, accessPoints[0].dbus_path, null); + } + }, + + _getApSecurityType: function(accessPoint) { + if (accessPoint._secType) + return accessPoint._secType; + // XXX: have this checked by someone familiar with IEEE 802.1x + + let flags = accessPoint.flags; + let wpa_flags = accessPoint.wpa_flags; + let rsn_flags = accessPoint.rsn_flags; + let type; + if ( !(flags & NM80211ApFlags.PRIVACY) + && (wpa_flags == NM80211ApSecurityFlags.NONE) + && (rsn_flags == NM80211ApSecurityFlags.NONE)) + type = NMAccessPointSecurity.NONE; + else if ( (flags & NM80211ApFlags.PRIVACY) + && (wpa_flags == NM80211ApSecurityFlags.NONE) + && (rsn_flags == NM80211ApSecurityFlags.NONE)) + type = NMAccessPointSecurity.WEP; + else if ( !(flags & NM80211ApFlags.PRIVACY) + && (wpa_flags != NM80211ApSecurity.NONE) + && (rsn_flags != NM80211ApSecurity.NONE)) + type = NMAccessPointSecurity.WPA; + else + type = NMAccessPointSecurity.WPA2; + + // cache the found value to avoid checking flags all the time + accessPoint._secType = type; + return type; + }, + + _networkCompare: function(network, accessPoint) { + if (!ssidCompare(network.ssid, accessPoint.get_ssid())) + return false; + if (network.mode != accessPoint.mode) + return false; + if (network.security != this._getApSecurityType(accessPoint)) + return false; + + return true; + }, + + _findNetwork: function(accessPoint) { + for (let i = 0; i < this._networks.length; i++) { + if (this._networkCompare(this._networks[i], accessPoint)) + return i; + } + return -1; + }, + + _accessPointAdded: function(device, accessPoint) { + let pos = this._findNetwork(accessPoint); + let apObj; + if (pos != -1) { + apObj = this._networks[pos]; + if (apObj.accessPoints.indexOf(accessPoint) != -1) { + log('Access point was already seen, not adding again'); + return; + } + + apObj.accessPoints.push(accessPoint); + } else { + apObj = { ssid: accessPoint.get_ssid(), + mode: accessPoint.mode, + security: this._getApSecurityType(accessPoint), + connections: [ ], + item: null, + accessPoints: [ accessPoint ] + }; + this._networks.push(apObj); + } + + // check if this enables new connections for this group + for (let i = 0; i < this._connections.length; i++) { + let connection = this._connections[i].connection; + if (this._connectionValidForAP(connection, accessPoint) && + apObj.connections.indexOf(connection) == -1) { + apObj.connections.push(connection); + } + } + + // update everything + this._clearSection(); + this._createSection(); + }, + + _accessPointRemoved: function(device, accessPoint) { + let pos = this._findNetwork(accessPoint); + + if (pos == -1) { + log('Removing an access point that was never added'); + return; + } + + let apObj = this._networks[pos]; + let i = apObj.accessPoints.indexOf(accessPoint); + + if (i == -1) { + log('Removing an access point that was never added'); + return; + } + + apObj.accessPoints.splice(i, 1); + + if (apObj.accessPoints.length == 0) { + if (apObj.item) + apObj.item.destroy(); + this._networks.splice(pos, 1); + } else if (apObj.item) + apObj.item.updateAccessPoints(apObj.accessPoints); + }, + + _createAPItem: function(connection, accessPointObj, useConnectionName) { + let item = new NMNetworkMenuItem(accessPointObj.accessPoints, useConnectionName ? connection._name : undefined); + item._connection = connection; + item.connect('activate', Lang.bind(this, function() { + let accessPoints = sortAccessPoints(accessPointObj.accessPoints); + for (let i = 0; i < accessPoints.length; i++) { + if (this._connectionValidForAP(connection, accessPoints[i])) { + this._client.activate_connection(connection.path, this.device, accessPoints[i].dbus_path, null); + break; + } + } + })); + return item; + }, + + connectionValid: function(connection) { + if (connection._type != NetworkManager.SETTING_WIRELESS_SETTING_NAME) + return false; + + let wirelessSettings = connection.get_setting_by_name(NetworkManager.SETTING_WIRELESS_SETTING_NAME); + let wirelessSecuritySettings = connection.get_setting_by_name(NetworkManager.SETTING_WIRELESS_SECURITY_SETTING_NAME); + + let fixedMac = wirelessSettings.get_mac_address(); + if (fixedMac && !macCompare(fixedMac, macToArray(this.device.perm_hw_address))) + return false; + + if (wirelessSecuritySettings && + wirelessSecuritySettings.key_mgmt != 'none' && + wirelessSecuritySettings.key_mgmt != 'ieee8021x') { + let capabilities = this.device.wireless_capabilities; + if (!(capabilities & NetworkManager.DeviceWifiCapabilities.WPA) || + !(capabilities & NetworkManager.DeviceWifiCapabilities.CIPHER_TKIP)) + return false; + if (wirelessSecuritySettings.get_num_protos() == 1 && + wirelessSecuritySettings.get_proto(0) == 'rsn' && + !(capabilities & NetworkManager.DeviceWifiCapabilities.RSN)) + return false; + if (wirelessSecuritySettings.get_num_pairwise() == 1 && + wirelessSecuritySettings.get_pairwise(0) == 'ccmp' && + !(capabilities & NetworkManager.DeviceWifiCapabilities.CIPHER_CCMP)) + return false; + if (wirelessSecuritySettings.get_num_groups() == 1 && + wirelessSecuritySettings.get_group(0) == 'ccmp' && + !(capabilities & NetworkManager.DeviceWifiCapabilities.CIPHER_CCMP)) + return false; + } + return true; + }, + + _clearSection: function() { + NMDevice.prototype._clearSection.call(this); + + for (let i = 0; i < this._networks.length; i++) + this._networks[i].item = null; + this._overflowItem = null; + }, + + removeConnection: function(connection) { + if (!connection._uuid) + return; + let pos = this._findConnection(connection._uuid); + if (pos == -1) { + // removing connection that was never added + return; + } + + let obj = this._connections[pos]; + this._connections.splice(pos, 1); + + let anyauto = false, forceupdate = false; + for (let i = 0; i < this._networks.length; i++) { + let apObj = this._networks[i]; + let connections = apObj.connections; + for (let k = 0; k < connections.length; k++) { + if (connections[k]._uuid == connection._uuid) { + // remove the connection from the access point group + connections.splice(k); + anyauto = connections.length == 0; + if (apObj.item) { + if (apObj.item instanceof PopupMenu.PopupSubMenuMenuItem) { + let items = apObj.item.menu.getMenuItems(); + if (items.length == 2) { + // we need to update the connection list to convert this to a normal item + forceupdate = true; + } else { + for (let j = 0; j < items.length; j++) { + if (items[j]._connection._uuid == connection._uuid) { + items[j].destroy(); + break; + } + } + } + } else { + apObj.item.destroy(); + apObj.item = null; + } + } + break; + } + } + } + + if (forceupdate || anyauto) { + this._clearSection(); + this._createSection(); + } + }, + + addConnection: function(connection) { + // record the connection + let obj = { + connection: connection, + name: connection._name, + uuid: connection._uuid, + }; + this._connections.push(obj); + + // find an appropriate access point + let any = false, forceupdate = false; + for (let i = 0; i < this._networks.length; i++) { + let apObj = this._networks[i]; + + // Check if connection is valid for any of these access points + let any = false; + for (let k = 0; k < apObj.accessPoints.length; k++) { + let ap = apObj.accessPoints[k]; + if (this._connectionValidForAP(connection, ap)) { + apObj.connections.push(connection); + any = true; + break; + } + } + + if (any && this._shouldShowConnectionList()) { + // we need to show this connection + if (apObj.item && apObj.item.menu) { + // We're already showing the submenu for this access point + apObj.item.menu.addMenuItem(this._createAPItem(connection, apObj, true)); + } else { + if (apObj.item) + apObj.item.destroy(); + if (apObj.connections.length == 1) { + apObj.item = this._createAPItem(connection, apObj, false); + this.section.addMenuItem(apObj.item); + } else { + apObj.item = null; + // we need to force an update to create the submenu + forceupdate = true; + } + } + } + } + + if (forceupdate) { + this._clearSection(); + this._createSection(); + } + }, + + _connectionValidForAP: function(connection, ap) { + // copied and adapted from nm-applet + let wirelessSettings = connection.get_setting_by_name(NetworkManager.SETTING_WIRELESS_SETTING_NAME); + if (!ssidCompare(wirelessSettings.get_ssid(), ap.get_ssid())) + return false; + + let wirelessSecuritySettings = connection.get_setting_by_name(NetworkManager.SETTING_WIRELESS_SECURITY_SETTING_NAME); + + let fixedBssid = wirelessSettings.get_bssid(); + if (fixedBssid && !macCompare(fixedBssid, macToArray(ap.hw_address))) + return false; + + let fixedBand = wirelessSettings.band; + if (fixedBand) { + let freq = ap.frequency; + if (fixedBand == 'a' && (freq < 4915 || freq > 5825)) + return false; + if (fixedBand == 'bg' && (freq < 2412 || freq > 2484)) + return false; + } + + let fixedChannel = wirelessSettings.channel; + if (fixedChannel && fixedChannel != NetworkManager.utils_wifi_freq_to_channel(ap.frequency)) + return false; + + if (!wirelessSecuritySettings) + return true; + + return wirelessSettings.ap_security_compatible(wirelessSecuritySettings, ap.flags, ap.wpa_flags, ap.rsn_flags, ap.mode); + }, + + _createActiveConnectionItem: function() { + let activeAp = this.device.active_access_point; + let icon, title; + if (this._activeConnection._connection) { + let connection = this._activeConnection._connection; + if (activeAp) + this._activeConnectionItem = new NMNetworkMenuItem([ activeAp ], undefined, + { reactive: false }); + else + this._activeConnectionItem = new PopupMenu.PopupImageMenuItem(connection._name, + 'network-wireless-connected', + { reactive: false }); + } else { + // We cannot read the connection (due to ACL, or API incompatibility), but we still show signal if we have it + let menuItem; + if (activeAp) + this._activeConnectionItem = new NMNetworkMenuItem([ activeAp ], undefined, + { reactive: false }); + else + this._activeConnectionItem = new PopupMenu.PopupImageMenuItem(_("Connected (private)"), + 'network-wireless-connected', + { reactive: false }); + } + this._activeConnectionItem.setShowDot(true); + }, + + _createAutomaticConnection: function(apObj) { + let name; + let ssid = NetworkManager.utils_ssid_to_utf8(apObj.ssid); + if (ssid) { + /* TRANSLATORS: this the automatic wireless connection name (including the network name) */ + name = _("Auto %s").format(ssid); + } else + name = _("Auto wireless"); + + let connection = new NetworkManager.Connection(); + connection.add_setting(new NetworkManager.SettingWireless()); + connection.add_setting(new NetworkManager.SettingConnection({ + id: name, + autoconnect: true, // NetworkManager will know to ignore this if appropriate + uuid: NetworkManager.utils_uuid_generate(), + type: NetworkManager.SETTING_WIRELESS_SETTING_NAME + })); + return connection; + }, + + _createSection: function() { + if (!this._shouldShowConnectionList()) + return; + + if(this._activeConnection) { + this._createActiveConnectionItem(); + this.section.addMenuItem(this._activeConnectionItem); + } + + let activeAp = this.device.active_access_point; + let activeApSsid = activeAp ? activeAp.get_ssid() : null; + + // we want five access points in the menu, including the active one + let numItems = this._activeConnection ? 4 : 5; + + for(let j = 0; j < this._networks.length; j++) { + let apObj = this._networks[j]; + if(activeAp && ssidCompare(apObj.ssid, activeApSsid)) + continue; + + let menuItem; + if(apObj.connections.length > 0) { + if (apObj.connections.length == 1) + apObj.item = this._createAPItem(apObj.connections[0], apObj, false); + else { + let title = NetworkManager.utils_ssid_to_utf8(apObj.ssid) || _(""); + apObj.item = new PopupMenu.PopupSubMenuMenuItem(title); + apObj.item._apObj = apObj; + for (let i = 0; i < apObj.connections.length; i++) + apObj.item.menu.addMenuItem(this._createAPItem(apObj.connections[i], apObj, true)); + } + } else { + apObj.item = new NMNetworkMenuItem(apObj.accessPoints); + apObj.item._apObj = apObj; + apObj.item.connect('activate', Lang.bind(this, function() { + let connection = this._createAutomaticConnection(apObj); + let accessPoints = sortAccessPoints(apObj.accessPoints); + this._client.add_and_activate_connection(connection, this.device, accessPoints[0].dbus_path, null) + })); + } + + if (j < numItems) + this.section.addMenuItem(apObj.item); + else { + if (!this._overflowItem) { + this._overflowItem = new PopupMenu.PopupSubMenuMenuItem(_("More...")); + this.section.addMenuItem(this._overflowItem); + } + this._overflowItem.menu.addMenuItem(apObj.item); + } + } + }, +}; + +function NMApplet() { + this._init.apply(this, arguments); +} +NMApplet.prototype = { + __proto__: PanelMenu.SystemStatusButton.prototype, + + _init: function() { + PanelMenu.SystemStatusButton.prototype._init.call(this, 'network-error'); + + this._client = NMClient.Client.new(); + + this._statusSection = new PopupMenu.PopupMenuSection(); + this._statusItem = new PopupMenu.PopupMenuItem('', { style_class: 'popup-inactive-menu-item', reactive: false }); + this._statusSection.addMenuItem(this._statusItem); + this._statusSection.addAction(_("Enable networking"), Lang.bind(this, function() { + this._client.networking_enabled = true; + })); + this._statusSection.addMenuItem(new PopupMenu.PopupSeparatorMenuItem()); + this._statusSection.actor.hide(); + this.menu.addMenuItem(this._statusSection); + + this._devices = { }; + + this._devices.wired = { + section: new PopupMenu.PopupMenuSection(), + devices: [ ], + item: new NMWiredSectionTitleMenuItem(_("Wired")) + }; + + this._devices.wired.section.addMenuItem(this._devices.wired.item); + this._devices.wired.section.addMenuItem(new PopupMenu.PopupSeparatorMenuItem()); + this._devices.wired.section.actor.hide(); + this.menu.addMenuItem(this._devices.wired.section); + + this._devices.wireless = { + section: new PopupMenu.PopupMenuSection(), + devices: [ ], + item: this._makeToggleItem('wireless', _("Wireless")) + }; + this._devices.wireless.section.addMenuItem(this._devices.wireless.item); + this._devices.wireless.section.addMenuItem(new PopupMenu.PopupSeparatorMenuItem()); + this._devices.wireless.section.actor.hide(); + this.menu.addMenuItem(this._devices.wireless.section); + + this._devices.wwan = { + section: new PopupMenu.PopupMenuSection(), + devices: [ ], + item: this._makeToggleItem('wwan', _("Mobile broadband")) + }; + this._devices.wwan.section.addMenuItem(this._devices.wwan.item); + this._devices.wwan.section.addMenuItem(new PopupMenu.PopupSeparatorMenuItem()); + this._devices.wwan.section.actor.hide(); + this.menu.addMenuItem(this._devices.wwan.section); + + this._devices.vpn = { + section: new PopupMenu.PopupMenuSection(), + device: new NMDeviceVPN(this._client), + item: new NMWiredSectionTitleMenuItem(_("VPN Connections")) + }; + this._devices.vpn.item.updateForDevice(this._devices.vpn.device); + this._devices.vpn.section.addMenuItem(this._devices.vpn.item); + this._devices.vpn.section.addMenuItem(this._devices.vpn.device.section); + this._devices.vpn.section.addMenuItem(new PopupMenu.PopupSeparatorMenuItem()); + this._devices.vpn.section.actor.hide(); + this.menu.addMenuItem(this._devices.vpn.section); + + this.menu.addAction(_("Network Settings"), function() { + Util.spawnDesktop('gnome-network-panel'); + }); + + this._activeConnections = [ ]; + this._connections = [ ]; + + this._mainConnection = null; + this._activeAccessPointUpdateId = 0; + this._activeAccessPoint = null; + this._mobileUpdateId = 0; + this._mobileUpdateDevice = null; + + // Device types + this._dtypes = { }; + this._dtypes[NetworkManager.DeviceType.ETHERNET] = NMDeviceWired; + this._dtypes[NetworkManager.DeviceType.WIFI] = NMDeviceWireless; + this._dtypes[NetworkManager.DeviceType.MODEM] = NMDeviceModem; + this._dtypes[NetworkManager.DeviceType.BT] = NMDeviceBluetooth; + // TODO: WiMax support + + // Connection types + this._ctypes = { }; + this._ctypes[NetworkManager.SETTING_WIRELESS_SETTING_NAME] = NMConnectionCategory.WIRELESS; + this._ctypes[NetworkManager.SETTING_WIRED_SETTING_NAME] = NMConnectionCategory.WIRED; + this._ctypes[NetworkManager.SETTING_PPPOE_SETTING_NAME] = NMConnectionCategory.WIRED; + this._ctypes[NetworkManager.SETTING_PPP_SETTING_NAME] = NMConnectionCategory.WIRED; + this._ctypes[NetworkManager.SETTING_BLUETOOTH_SETTING_NAME] = NMConnectionCategory.WWAN; + this._ctypes[NetworkManager.SETTING_CDMA_SETTING_NAME] = NMConnectionCategory.WWAN; + this._ctypes[NetworkManager.SETTING_GSM_SETTING_NAME] = NMConnectionCategory.WWAN; + this._ctypes[NetworkManager.SETTING_VPN_SETTING_NAME] = NMConnectionCategory.VPN; + + this._settings = NMClient.RemoteSettings.new(null); + this._connectionsReadId = this._settings.connect('connections-read', Lang.bind(this, function() { + this._readConnections(); + this._readDevices(); + this._syncNMState(); + + // Connect to signals late so that early signals don't find in inconsistent state + // and connect only once (this signal handler can be called again if NetworkManager goes up and down) + if (!this._inited) { + this._inited = true; + this._client.connect('notify::manager-running', Lang.bind(this, this._syncNMState)); + 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::active-connections', Lang.bind(this, this._updateIcon)); + this._client.connect('device-added', Lang.bind(this, this._deviceAdded)); + this._client.connect('device-removed', Lang.bind(this, this._deviceRemoved)); + this._settings.connect('new-connection', Lang.bind(this, this._newConnection)); + } + })); + }, + + _ensureSource: function() { + if (!this._source) { + this._source = new NMMessageTraySource(); + this._source._destroyId = this._source.connect('destroy', Lang.bind(this, function() { + this._source._destroyId = 0; + this._source = null; + })); + Main.messageTray.add(this._source); + } + }, + + _makeToggleItem: function(type, title) { + let item = new NMWirelessSectionTitleMenuItem(this._client, type, title); + item.connect('enabled-changed', Lang.bind(this, function(item, enabled) { + let devices = this._devices[type].devices; + devices.forEach(function(dev) { + dev.setEnabled(enabled); + }); + this._syncSectionTitle(type); + })); + return item; + }, + + _syncSectionTitle: function(category) { + let devices = this._devices[category].devices; + let managedDevices = devices.filter(function(dev) { + return dev.device.state != NetworkManager.DeviceState.UNMANAGED; + }); + let item = this._devices[category].item; + let section = this._devices[category].section; + if (managedDevices.length == 0) + section.actor.hide(); + else { + section.actor.show(); + if (managedDevices.length == 1) { + let dev = managedDevices[0]; + dev.statusItem.actor.hide(); + item.updateForDevice(dev); + } else { + managedDevices.forEach(function(dev) { + dev.statusItem.actor.show(); + }); + } + } + }, + + _readDevices: function() { + let devices = this._client.get_devices() || [ ]; + for (let i = 0; i < devices.length; ++i) { + this._deviceAdded(this._client, devices[i]); + } + }, + + _deviceAdded: function(client, device) { + if (device._delegate) { + // already seen, not adding again + return; + } + let wrapperClass = this._dtypes[device.get_device_type()]; + if (wrapperClass) { + let wrapper = new wrapperClass(this._client, device, this._connections); + + // FIXME: these notifications are duplicate with those exposed by nm-applet + // uncomment this code in 3.2, when we'll conflict with and kill nm-applet + /* wrapper._networkLostId = wrapper.connect('network-lost', Lang.bind(this, function(emitter) { + this._ensureSource(); + let icon = new St.Icon({ icon_name: 'network-offline', + icon_type: St.IconType.SYMBOLIC, + icon_size: this._source.ICON_SIZE + }); + let notification = new MessageTray.Notification(this._source, + _("Connectivity lost"), + _("You're no longer connected to the network"), + { icon: icon }); + this._source.notify(notification); + })); + wrapper._activationFailedId = wrapper.connect('activation-failed', Lang.bind(this, function(wrapper, reason) { + this._ensureSource(); + let icon = new St.Icon({ icon_name: 'network-error', + icon_type: St.IconType.SYMBOLIC, + icon_size: this._source.ICON_SIZE, + }); + let banner; + // XXX: nm-applet has no special text depending on reason + // but I'm not sure of this generic message + let notification = new MessageTray.Notification(this._source, + _("Connection failed"), + _("Activation of network connection failed"), + { icon: icon }); + this._source.notify(notification); + })); */ + wrapper._stateChangedId = wrapper.connect('state-changed', Lang.bind(this, function(dev) { + this._syncSectionTitle(dev.category); + })); + wrapper._destroyId = wrapper.connect('destroy', function(wrapper) { + //wrapper.disconnect(wrapper._networkLostId); + //wrapper.disconnect(wrapper._activationFailedId); + wrapper.disconnect(wrapper._stateChangedId); + }); + let section = this._devices[wrapper.category].section; + let devices = this._devices[wrapper.category].devices; + + section.addMenuItem(wrapper.section, 1); + section.addMenuItem(wrapper.statusItem, 1); + devices.push(wrapper); + + this._syncSectionTitle(wrapper.category); + } else + log('Invalid network device type, is ' + device.get_device_type()); + }, + + _deviceRemoved: function(client, device) { + if (!device._delegate) { + log('Removing a network device that was not added'); + return; + } + + let wrapper = device._delegate; + wrapper.destroy(); + + let devices = this._devices[wrapper.category].devices; + let pos = devices.indexOf(wrapper); + devices.splice(pos, 1); + + this._syncSectionTitle(wrapper.category) + }, + + _syncActiveConnections: function() { + let closedConnections = [ ]; + let newActiveConnections = this._client.get_active_connections() || [ ]; + for (let i = 0; i < this._activeConnections.length; i++) { + let a = this._activeConnections[i]; + if (newActiveConnections.indexOf(a) == -1) // connection is removed + closedConnections.push(a); + } + + for (let i = 0; i < closedConnections.length; i++) { + let active = closedConnections[i]; + if (active._primaryDevice) + active._primaryDevice.setActiveConnection(null); + if (active._notifyStateId) { + active.disconnect(active._notifyStateId); + active._notifyStateId = 0; + } + if (active._inited) { + active.disconnect(active._notifyDefaultId); + active.disconnect(active._notifyDefault6Id); + active._inited = false; + } + } + + this._activeConnections = newActiveConnections; + this._mainConnection = null; + let activating = null; + let default_ip4 = null; + let default_ip6 = null; + for (let i = 0; i < this._activeConnections.length; i++) { + let a = this._activeConnections[i]; + + if (!a._inited) { + a._notifyDefaultId = a.connect('notify::default', Lang.bind(this, this._updateIcon)); + a._notifyDefault6Id = a.connect('notify::default6', Lang.bind(this, this._updateIcon)); + if (a.state == NetworkManager.ActiveConnectionState.ACTIVATING) // prepare to notify to the user + a._notifyStateId = a.connect('notify::state', Lang.bind(this, this._notifyActiveConnection)); + else { + // notify as soon as possible + Mainloop.idle_add(Lang.bind(this, function() { + this._notifyActiveConnection(a); + })); + } + + a._inited = true; + } + + if (!a._connection) { + a._connection = this._settings.get_connection_by_path(a.connection); + + if (a._connection) { + a._type = a._connection._type; + a._section = this._ctypes[a._type]; + } else { + a._connection = null; + a._type = null; + a._section = null; + log('Cannot find connection for active (or connection cannot be read)'); + } + } + + if (a['default']) + default_ip4 = a; + if (a.default6) + default_ip6 = a; + + if (a.state == NetworkManager.ActiveConnectionState.ACTIVATING) { + activating = a; + + // don't set activating connections to devices, NMDevice:state-changed + // should take care of rebuilding the menu + continue; + } + + if (!a._primaryDevice) { + if (a._type != NetworkManager.SETTING_VPN_SETTING_NAME) { + // find a good device to be considered primary + a._primaryDevice = null; + let devices = a.get_devices(); + for (let j = 0; j < devices.length; j++) { + let d = devices[j]; + if (d._delegate) { + a._primaryDevice = d._delegate; + break; + } + } + } else + a._primaryDevice = this._vpnDevice; + + if (a._primaryDevice) + a._primaryDevice.setActiveConnection(a); + } + } + + this._mainConnection = activating || default_ip4 || default_ip6 || this._activeConnections[0] || null; + }, + + _notifyActiveConnection: function(active) { + // FIXME: duplicate notifications when nm-applet is running + // This code will come back when nm-applet is killed + this._syncNMState(); + return; + + if (active.state == NetworkManager.ActiveConnectionState.ACTIVATED) { + + // notify only connections that are visible + if (active._connection) { + this._ensureSource(); + + let icon; + let banner; + switch (active._section) { + case NMConnectionCategory.WWAN: + icon = 'network-cellular-signal-excellent'; + banner = _("You're now connected to mobile broadband connection '%s'").format(active._connection._name); + break; + case NMConnectionCategory.WIRELESS: + icon = 'network-wireless-signal-excellent'; + banner = _("You're now connected to wireless network '%s'").format(active._connection._name); + break; + case NMConnectionCategory.WIRED: + icon = 'network-wired'; + banner = _("You're now connected to wired network '%s'").format(active._connection._name); + break; + case NMConnectionCategory.VPN: + icon = 'network-vpn'; + banner = _("You're now connected to VPN network '%s'").format(active._connection._name); + break; + default: + // a fallback for a generic 'connected' icon + icon = 'network-transmit-receive'; + banner = _("You're now connected to '%s'").format(active._connection._name); + } + + let iconActor = new St.Icon({ icon_name: icon, + icon_type: St.IconType.SYMBOLIC, + icon_size: this._source.ICON_SIZE + }); + let notification = new MessageTray.Notification(this._source, + _("Connection estabilished"), + banner, + { icon: iconActor }); + this._source.notify(notification); + } + + if (active._stateChangeId) { + active.disconnect(active._stateChangeId); + active._stateChangeId = 0; + } + } + + this._syncNMState(); + }, + + _readConnections: function() { + let connections = this._settings.list_connections(); + for (let i = 0; i < connections.length; i++) { + let connection = connections[i]; + if (connection._uuid) { + // connection was already seen (for example because NetworkManager was restarted) + continue; + } + connection._removedId = connection.connect('removed', Lang.bind(this, this._connectionRemoved)); + connection._updatedId = connection.connect('updated', Lang.bind(this, this._updateConnection)); + + this._updateConnection(connection); + this._connections.push(connection); + } + }, + + _newConnection: function(settings, connection) { + if (connection._uuid) { + // connection was already seen + return; + } + + connection._removedId = connection.connect('removed', Lang.bind(this, this._connectionRemoved)); + connection._updatedId = connection.connect('updated', Lang.bind(this, this._updateConnection)); + + this._updateConnection(connection); + this._connections.push(connection); + + this._updateIcon(); + }, + + _connectionRemoved: function(connection) { + let pos = this._connections.indexOf(connection); + if (pos != -1) + this._connections.splice(connection); + + let section = connection._section; + if (section == NMConnectionCategory.VPN) { + this._devices.vpn.device.removeConnection(connection); + if (this._devices.vpn.device.empty) + this._devices.vpn.section.actor.hide(); + } else { + let devices = this._devices[section].devices; + for (let i = 0; i < devices.length; i++) + devices[i].removeConnection(connection); + } + + connection._uuid = null; + connection.disconnect(connection._removedId); + connection.disconnect(connection._updatedId); + }, + + _updateConnection: function(connection) { + let connectionSettings = connection.get_setting_by_name(NetworkManager.SETTING_CONNECTION_SETTING_NAME); + connection._type = connectionSettings.type; + connection._section = this._ctypes[connection._type]; + connection._name = connectionSettings.id; + connection._uuid = connectionSettings.uuid; + connection._timestamp = connectionSettings.timestamp; + + let section = connection._section; + if (section == NMConnectionCategory.VPN) { + this._devices.vpn.device.checkConnection(connection); + this._devices.vpn.section.actor.show(); + connection._everAdded = true; + } else { + let devices = this._devices[section].devices; + for (let i = 0; i < devices.length; i++) { + devices[i].checkConnection(connection); + } + } + }, + + _hideDevices: function() { + this._devicesHidden = true; + + for (let category in this._devices) + this._devices[category].section.actor.hide(); + }, + + _showNormal: function() { + if (!this._devicesHidden) // nothing to do + return; + this._devicesHidden = false; + + this._statusSection.actor.hide(); + + this._syncSectionTitle('wired'); + this._syncSectionTitle('wireless'); + this._syncSectionTitle('wwan'); + + if (!this._devices.vpn.device.empty) + this._devices.vpn.section.actor.show(); + }, + + _syncNMState: function() { + if (!this._client.manager_running) { + log('NetworkManager is not running, hiding...'); + this.menu.close(); + this.actor.hide(); + return; + } else + this.actor.show(); + + if (!this._client.networking_enabled) { + this.setIcon('network-offline'); + this._hideDevices(); + this._statusItem.label.text = _("Networking is disabled"); + this._statusSection.actor.show(); + return; + } + + this._showNormal(); + this._updateIcon(); + }, + + _updateIcon: function() { + this._syncActiveConnections(); + let mc = this._mainConnection; + let hasApIcon = false; + let hasMobileIcon = false; + + if (!mc) { + this.setIcon('network-offline'); + } else if (mc.state == NetworkManager.ActiveConnectionState.ACTIVATING) { + switch (mc._section) { + case NMConnectionCategory.WWAN: + this.setIcon('network-cellular-acquiring'); + break; + case NMConnectionCategory.WIRELESS: + this.setIcon('network-wireless-acquiring'); + break; + case NMConnectionCategory.WIRED: + this.setIcon('network-wired-acquiring'); + break; + case NMConnectionCategory.VPN: + this.setIcon('network-vpn-acquiring'); + break; + default: + // fallback to a generic connected icon + // (it could be a private connection of some other user) + this.setIcon('network-wired-acquiring'); + } + } else { + let dev; + switch (mc._section) { + case NMConnectionCategory.WIRELESS: + dev = mc._primaryDevice; + if (dev) { + let ap = dev.device.active_access_point; + let mode = dev.device.mode; + if (!ap) { + if (mode != NetworkManager['80211Mode'].ADHOC) { + log('An active wireless connection, in infrastructure mode, involves no access point?'); + break; + } + this.setIcon('network-wireless-connected'); + } else { + if (this._accessPointUpdateId && this._activeAccessPoint != ap) { + this._activeAccessPoint.disconnect(this._accessPointUpdateId); + this._activeAccessPoint = ap; + this._activeAccessPointUpdateId = ap.connect('notify::strength', Lang.bind(function() { + this.setIcon('network-wireless-signal-' + signalToIcon(ap.strength)); + })); + } + this.setIcon('network-wireless-signal-' + signalToIcon(ap.strength)); + hasApIcon = true; + } + break; + } else { + log('Active connection with no primary device?'); + break; + } + case NMConnectionCategory.WIRED: + this.setIcon('network-wired'); + break; + case NMConnectionCategory.WWAN: + dev = mc._primaryDevice; + if (!dev) { + log('Active connection with no primary device?'); + break; + } + if (!dev.mobileDevice) { + // this can happen for bluetooth in PAN mode + this.setIcon('network-cellular-connected'); + break; + } + + if (this._mobileUpdateId && this._mobileUpdateDevice != dev) { + this._mobileUpdateDevice.disconnect(this._mobileUpdateId); + this._mobileUpdateDevice = dev.mobileDevice; + this._mobileUpdateId = dev.mobileDevice.connect('notify::signal-quality', Lang.bind(this, function() { + this.setIcon('network-cellular-signal-' + signalToIcon(dev.mobileDevice.signal_quality)); + })); + } + this.setIcon('network-cellular-signal-' + signalToIcon(dev.mobileDevice.signal_quality)); + hasMobileIcon = true; + break; + case NMConnectionCategory.VPN: + this.setIcon('network-vpn'); + break; + default: + // fallback to a generic connected icon + // (it could be a private connection of some other user) + this.setIcon('network-wired'); + break; + } + } + + // cleanup stale signal connections + + if (!hasApIcon && this._activeAccessPointUpdateId) { + this._activeAccessPoint.disconnect(this._activeAccessPointUpdateId); + this._activeAccessPoint = null; + this._activeAccessPointUpdateId = 0; + } + if (!hasMobileIcon && this._mobileUpdateId) { + this._mobileUpdateDevice.disconnect(this._mobileUpdateId); + this._mobileUpdateDevice = null; + this._mobileUpdateId = 0; + } + } +}; + +function NMMessageTraySource() { + this._init(); +} + +NMMessageTraySource.prototype = { + __proto__: MessageTray.Source.prototype, + + _init: function() { + MessageTray.Source.prototype._init.call(this, _("Network Manager")); + + let icon = new St.Icon({ icon_name: 'network-transmit-receive', + icon_type: St.IconType.SYMBOLIC, + icon_size: this.ICON_SIZE + }); + this._setSummaryIcon(icon); + } +}; diff --git a/po/POTFILES.in b/po/POTFILES.in index 1a4e2720b..51303bbf6 100644 --- a/po/POTFILES.in +++ b/po/POTFILES.in @@ -20,6 +20,7 @@ js/ui/statusMenu.js js/ui/status/accessibility.js js/ui/status/bluetooth.js js/ui/status/keyboard.js +js/ui/status/network.js js/ui/status/power.js js/ui/status/volume.js js/ui/telepathyClient.js @@ -31,6 +32,7 @@ src/gdmuser/gdm-user.c src/main.c src/shell-app-system.c src/shell-global.c +src/shell-mobile-providers.c src/shell-polkit-authentication-agent.c src/shell-util.c diff --git a/src/Makefile.am b/src/Makefile.am index a24a71e56..e878f20bf 100644 --- a/src/Makefile.am +++ b/src/Makefile.am @@ -62,7 +62,8 @@ gnome_shell_cflags = \ $(GNOME_SHELL_CFLAGS) \ -I$(srcdir)/tray \ -DVERSION=\"$(VERSION)\" \ - -DLOCALEDIR=\"$(datadir)/locale\" \ + -DLOCALEDIR=\"$(datadir)/locale\" \ + -DDATADIR=\"$(datadir)\" \ -DGNOME_SHELL_LIBEXECDIR=\"$(libexecdir)\" \ -DGNOME_SHELL_DATADIR=\"$(pkgdatadir)\" \ -DGNOME_SHELL_PKGLIBDIR=\"$(pkglibdir)\" \ @@ -90,6 +91,7 @@ shell_public_headers_h = \ shell-generic-container.h \ shell-gtk-embed.h \ shell-global.h \ + shell-mobile-providers.h \ shell-perf-log.h \ shell-slicer.h \ shell-stack.h \ @@ -121,6 +123,7 @@ libgnome_shell_la_SOURCES = \ shell-generic-container.c \ shell-gtk-embed.c \ shell-global.c \ + shell-mobile-providers.c \ shell-perf-log.c \ shell-polkit-authentication-agent.h \ shell-polkit-authentication-agent.c \ diff --git a/src/shell-mobile-providers.c b/src/shell-mobile-providers.c new file mode 100644 index 000000000..5d985ed09 --- /dev/null +++ b/src/shell-mobile-providers.c @@ -0,0 +1,816 @@ +/* -*- Mode: C; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the + * Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, + * Boston, MA 02110-1301 USA. + * + * Copyright (C) 2009 Novell, Inc. + * Author: Tambet Ingo (tambet@gmail.com). + * + * Copyright (C) 2009 - 2010 Red Hat, Inc. + */ + +#include "config.h" + +#include +#include +#include + +#include + +#include "shell-mobile-providers.h" + +#ifndef MOBILE_BROADBAND_PROVIDER_INFO +#define MOBILE_BROADBAND_PROVIDER_INFO DATADIR "/mobile-broadband-provider-info/serviceproviders.xml" +#endif + +#define ISO_3166_COUNTRY_CODES DATADIR "/zoneinfo/iso3166.tab" + + + +static GHashTable * +read_country_codes (void) +{ + GHashTable *table; + GIOChannel *channel; + GString *buffer; + GError *error = NULL; + GIOStatus status; + + channel = g_io_channel_new_file (ISO_3166_COUNTRY_CODES, "r", &error); + if (!channel) { + if (error) { + g_warning ("Could not read " ISO_3166_COUNTRY_CODES ": %s", error->message); + g_error_free (error); + } else + g_warning ("Could not read " ISO_3166_COUNTRY_CODES ": Unknown error"); + + return NULL; + } + + table = g_hash_table_new_full (g_str_hash, g_str_equal, g_free, g_free); + buffer = g_string_sized_new (32); + + status = G_IO_STATUS_NORMAL; + while (status == G_IO_STATUS_NORMAL) { + status = g_io_channel_read_line_string (channel, buffer, NULL, &error); + + switch (status) { + case G_IO_STATUS_NORMAL: + if (buffer->str[0] != '#') { + char **pieces; + + pieces = g_strsplit (buffer->str, "\t", 2); + + /* Hack for rh#556292; iso3166.tab is just wrong */ + pieces[1] = pieces[1] ? g_strchomp (pieces[1]) : NULL; + if (pieces[1] && !strcmp (pieces[1], "Britain (UK)")) { + g_free (pieces[1]); + pieces[1] = g_strdup (_("United Kingdom")); + } + + g_hash_table_insert (table, pieces[0], pieces[1]); + g_free (pieces); + } + + g_string_truncate (buffer, 0); + break; + case G_IO_STATUS_EOF: + break; + case G_IO_STATUS_ERROR: + g_warning ("Error while reading: %s", error->message); + g_error_free (error); + break; + case G_IO_STATUS_AGAIN: + /* FIXME: Try again a few times, but really, it never happes, right? */ + break; + } + } + + g_string_free (buffer, TRUE); + g_io_channel_unref (channel); + + return table; +} + +/* XML Parser */ + +typedef enum { + PARSER_TOPLEVEL = 0, + PARSER_COUNTRY, + PARSER_PROVIDER, + PARSER_METHOD_GSM, + PARSER_METHOD_GSM_APN, + PARSER_METHOD_CDMA, + PARSER_ERROR +} MobileContextState; + +typedef struct { + GHashTable *country_codes; + GHashTable *table; + + char *current_country; + GSList *current_providers; + ShellMobileProvider *current_provider; + ShellMobileAccessMethod *current_method; + + char *text_buffer; + MobileContextState state; +} MobileParser; + +static ShellGsmMccMnc * +mcc_mnc_new (const char *mcc, const char *mnc) +{ + ShellGsmMccMnc *m; + + m = g_slice_new (ShellGsmMccMnc); + m->mcc = g_strstrip (g_strdup (mcc)); + m->mnc = g_strstrip (g_strdup (mnc)); + return m; +} + +/* added in porting */ +static ShellGsmMccMnc * +mcc_mnc_copy (const ShellGsmMccMnc *other) { + ShellGsmMccMnc *ret; + + ret = g_slice_new (ShellGsmMccMnc); + ret->mcc = g_strdup (other->mcc); + ret->mnc = g_strdup (other->mnc); + return ret; +} + +static void +mcc_mnc_free (ShellGsmMccMnc *m) +{ + g_return_if_fail (m != NULL); + g_free (m->mcc); + g_free (m->mnc); + g_slice_free (ShellGsmMccMnc, m); +} + +/* added in porting */ +G_DEFINE_BOXED_TYPE (ShellGsmMccMnc, shell_gsm_mcc_mnc, mcc_mnc_copy, mcc_mnc_free) + +static ShellMobileAccessMethod * +access_method_new (void) +{ + ShellMobileAccessMethod *method; + + method = g_slice_new0 (ShellMobileAccessMethod); + method->refs = 1; + method->lcl_names = g_hash_table_new_full (g_str_hash, g_str_equal, + (GDestroyNotify) g_free, + (GDestroyNotify) g_free); + + return method; +} + +ShellMobileAccessMethod * +shell_mobile_access_method_ref (ShellMobileAccessMethod *method) +{ + g_return_val_if_fail (method != NULL, NULL); + g_return_val_if_fail (method->refs > 0, NULL); + + method->refs++; + + return method; +} + +void +shell_mobile_access_method_unref (ShellMobileAccessMethod *method) +{ + g_return_if_fail (method != NULL); + g_return_if_fail (method->refs > 0); + + if (--method->refs == 0) { + g_free (method->name); + g_hash_table_destroy (method->lcl_names); + g_free (method->username); + g_free (method->password); + g_free (method->gateway); + g_free (method->gsm_apn); + g_slist_foreach (method->dns, (GFunc) g_free, NULL); + g_slist_free (method->dns); + + g_slice_free (ShellMobileAccessMethod, method); + } +} + +GType +shell_mobile_access_method_get_type (void) +{ + static GType type = 0; + + if (G_UNLIKELY (type == 0)) { + type = g_boxed_type_register_static ("ShellMobileAccessMethod", + (GBoxedCopyFunc) shell_mobile_access_method_ref, + (GBoxedFreeFunc) shell_mobile_access_method_unref); + } + return type; +} + + +static ShellMobileProvider * +provider_new (void) +{ + ShellMobileProvider *provider; + + provider = g_slice_new0 (ShellMobileProvider); + provider->refs = 1; + provider->lcl_names = g_hash_table_new_full (g_str_hash, g_str_equal, + (GDestroyNotify) g_free, + (GDestroyNotify) g_free); + + return provider; +} + +ShellMobileProvider * +shell_mobile_provider_ref (ShellMobileProvider *provider) +{ + provider->refs++; + + return provider; +} + +void +shell_mobile_provider_unref (ShellMobileProvider *provider) +{ + if (--provider->refs == 0) { + g_free (provider->name); + g_hash_table_destroy (provider->lcl_names); + + g_slist_foreach (provider->methods, (GFunc) shell_mobile_access_method_unref, NULL); + g_slist_free (provider->methods); + + g_slist_foreach (provider->gsm_mcc_mnc, (GFunc) mcc_mnc_free, NULL); + g_slist_free (provider->gsm_mcc_mnc); + + g_slist_free (provider->cdma_sid); + + g_slice_free (ShellMobileProvider, provider); + } +} + +GType +shell_mobile_provider_get_type (void) +{ + static GType type = 0; + + if (G_UNLIKELY (type == 0)) { + type = g_boxed_type_register_static ("ShellMobileProvider", + (GBoxedCopyFunc) shell_mobile_provider_ref, + (GBoxedFreeFunc) shell_mobile_provider_unref); + } + return type; +} + +static void +provider_list_free (gpointer data) +{ + GSList *list = (GSList *) data; + + while (list) { + shell_mobile_provider_unref ((ShellMobileProvider *) list->data); + list = g_slist_delete_link (list, list); + } +} + +static void +parser_toplevel_start (MobileParser *parser, + const char *name, + const char **attribute_names, + const char **attribute_values) +{ + int i; + + if (!strcmp (name, "serviceproviders")) { + for (i = 0; attribute_names && attribute_names[i]; i++) { + if (!strcmp (attribute_names[i], "format")) { + if (strcmp (attribute_values[i], "2.0")) { + g_warning ("%s: mobile broadband provider database format '%s'" + " not supported.", __func__, attribute_values[i]); + parser->state = PARSER_ERROR; + break; + } + } + } + } else if (!strcmp (name, "country")) { + for (i = 0; attribute_names && attribute_names[i]; i++) { + if (!strcmp (attribute_names[i], "code")) { + char *country_code; + char *country; + + country_code = g_ascii_strup (attribute_values[i], -1); + country = g_hash_table_lookup (parser->country_codes, country_code); + if (country) { + parser->current_country = g_strdup (country); + g_free (country_code); + } else + parser->current_country = country_code; + + parser->state = PARSER_COUNTRY; + break; + } + } + } +} + +static void +parser_country_start (MobileParser *parser, + const char *name, + const char **attribute_names, + const char **attribute_values) +{ + if (!strcmp (name, "provider")) { + parser->state = PARSER_PROVIDER; + parser->current_provider = provider_new (); + } +} + +static void +parser_provider_start (MobileParser *parser, + const char *name, + const char **attribute_names, + const char **attribute_values) +{ + if (!strcmp (name, "gsm")) + parser->state = PARSER_METHOD_GSM; + else if (!strcmp (name, "cdma")) { + parser->state = PARSER_METHOD_CDMA; + parser->current_method = access_method_new (); + } +} + +static void +parser_gsm_start (MobileParser *parser, + const char *name, + const char **attribute_names, + const char **attribute_values) +{ + if (!strcmp (name, "network-id")) { + const char *mcc = NULL, *mnc = NULL; + int i; + + for (i = 0; attribute_names && attribute_names[i]; i++) { + if (!strcmp (attribute_names[i], "mcc")) + mcc = attribute_values[i]; + else if (!strcmp (attribute_names[i], "mnc")) + mnc = attribute_values[i]; + + if (mcc && strlen (mcc) && mnc && strlen (mnc)) { + parser->current_provider->gsm_mcc_mnc = g_slist_prepend (parser->current_provider->gsm_mcc_mnc, + mcc_mnc_new (mcc, mnc)); + break; + } + } + } else if (!strcmp (name, "apn")) { + int i; + + for (i = 0; attribute_names && attribute_names[i]; i++) { + if (!strcmp (attribute_names[i], "value")) { + + parser->state = PARSER_METHOD_GSM_APN; + parser->current_method = access_method_new (); + parser->current_method->gsm_apn = g_strstrip (g_strdup (attribute_values[i])); + break; + } + } + } +} + +static void +parser_cdma_start (MobileParser *parser, + const char *name, + const char **attribute_names, + const char **attribute_values) +{ + if (!strcmp (name, "sid")) { + int i; + + for (i = 0; attribute_names && attribute_names[i]; i++) { + if (!strcmp (attribute_names[i], "value")) { + unsigned long tmp; + + errno = 0; + tmp = strtoul (attribute_values[i], NULL, 10); + if (errno == 0 && tmp > 0) + parser->current_provider->cdma_sid = g_slist_prepend (parser->current_provider->cdma_sid, + GUINT_TO_POINTER ((guint32) tmp)); + break; + } + } + } +} + +static void +mobile_parser_start_element (GMarkupParseContext *context, + const gchar *element_name, + const gchar **attribute_names, + const gchar **attribute_values, + gpointer data, + GError **error) +{ + MobileParser *parser = (MobileParser *) data; + + if (parser->text_buffer) { + g_free (parser->text_buffer); + parser->text_buffer = NULL; + } + + switch (parser->state) { + case PARSER_TOPLEVEL: + parser_toplevel_start (parser, element_name, attribute_names, attribute_values); + break; + case PARSER_COUNTRY: + parser_country_start (parser, element_name, attribute_names, attribute_values); + break; + case PARSER_PROVIDER: + parser_provider_start (parser, element_name, attribute_names, attribute_values); + break; + case PARSER_METHOD_GSM: + parser_gsm_start (parser, element_name, attribute_names, attribute_values); + break; + case PARSER_METHOD_CDMA: + parser_cdma_start (parser, element_name, attribute_names, attribute_values); + break; + default: + break; + } +} + +static void +parser_country_end (MobileParser *parser, + const char *name) +{ + if (!strcmp (name, "country")) { + g_hash_table_insert (parser->table, parser->current_country, parser->current_providers); + parser->current_country = NULL; + parser->current_providers = NULL; + parser->text_buffer = NULL; + parser->state = PARSER_TOPLEVEL; + } +} + +static void +parser_provider_end (MobileParser *parser, + const char *name) +{ + if (!strcmp (name, "name")) { + if (!parser->current_provider->name) { + /* Use the first one. */ + parser->current_provider->name = parser->text_buffer; + parser->text_buffer = NULL; + } + } else if (!strcmp (name, "provider")) { + parser->current_provider->methods = g_slist_reverse (parser->current_provider->methods); + + parser->current_provider->gsm_mcc_mnc = g_slist_reverse (parser->current_provider->gsm_mcc_mnc); + parser->current_provider->cdma_sid = g_slist_reverse (parser->current_provider->cdma_sid); + + parser->current_providers = g_slist_prepend (parser->current_providers, parser->current_provider); + parser->current_provider = NULL; + parser->text_buffer = NULL; + parser->state = PARSER_COUNTRY; + } +} + +static void +parser_gsm_end (MobileParser *parser, + const char *name) +{ + if (!strcmp (name, "gsm")) { + parser->text_buffer = NULL; + parser->state = PARSER_PROVIDER; + } +} + +static void +parser_gsm_apn_end (MobileParser *parser, + const char *name) +{ + if (!strcmp (name, "name")) { + if (!parser->current_method->name) { + /* Use the first one. */ + parser->current_method->name = parser->text_buffer; + parser->text_buffer = NULL; + } + } else if (!strcmp (name, "username")) { + parser->current_method->username = parser->text_buffer; + parser->text_buffer = NULL; + } else if (!strcmp (name, "password")) { + parser->current_method->password = parser->text_buffer; + parser->text_buffer = NULL; + } else if (!strcmp (name, "dns")) { + parser->current_method->dns = g_slist_prepend (parser->current_method->dns, parser->text_buffer); + parser->text_buffer = NULL; + } else if (!strcmp (name, "gateway")) { + parser->current_method->gateway = parser->text_buffer; + parser->text_buffer = NULL; + } else if (!strcmp (name, "apn")) { + parser->current_method->type = SHELL_MOBILE_ACCESS_METHOD_TYPE_GSM; + parser->current_method->dns = g_slist_reverse (parser->current_method->dns); + + if (!parser->current_method->name) + parser->current_method->name = g_strdup (_("Default")); + + parser->current_provider->methods = g_slist_prepend (parser->current_provider->methods, + parser->current_method); + parser->current_method = NULL; + parser->text_buffer = NULL; + parser->state = PARSER_METHOD_GSM; + } +} + +static void +parser_cdma_end (MobileParser *parser, + const char *name) +{ + if (!strcmp (name, "username")) { + parser->current_method->username = parser->text_buffer; + parser->text_buffer = NULL; + } else if (!strcmp (name, "password")) { + parser->current_method->password = parser->text_buffer; + parser->text_buffer = NULL; + } else if (!strcmp (name, "dns")) { + parser->current_method->dns = g_slist_prepend (parser->current_method->dns, parser->text_buffer); + parser->text_buffer = NULL; + } else if (!strcmp (name, "gateway")) { + parser->current_method->gateway = parser->text_buffer; + parser->text_buffer = NULL; + } else if (!strcmp (name, "cdma")) { + parser->current_method->type = SHELL_MOBILE_ACCESS_METHOD_TYPE_CDMA; + parser->current_method->dns = g_slist_reverse (parser->current_method->dns); + + if (!parser->current_method->name) + parser->current_method->name = g_strdup (parser->current_provider->name); + + parser->current_provider->methods = g_slist_prepend (parser->current_provider->methods, + parser->current_method); + parser->current_method = NULL; + parser->text_buffer = NULL; + parser->state = PARSER_PROVIDER; + } +} + +static void +mobile_parser_end_element (GMarkupParseContext *context, + const gchar *element_name, + gpointer data, + GError **error) +{ + MobileParser *parser = (MobileParser *) data; + + switch (parser->state) { + case PARSER_COUNTRY: + parser_country_end (parser, element_name); + break; + case PARSER_PROVIDER: + parser_provider_end (parser, element_name); + break; + case PARSER_METHOD_GSM: + parser_gsm_end (parser, element_name); + break; + case PARSER_METHOD_GSM_APN: + parser_gsm_apn_end (parser, element_name); + break; + case PARSER_METHOD_CDMA: + parser_cdma_end (parser, element_name); + break; + default: + break; + } +} + +static void +mobile_parser_characters (GMarkupParseContext *context, + const gchar *text, + gsize text_len, + gpointer data, + GError **error) +{ + MobileParser *parser = (MobileParser *) data; + + g_free (parser->text_buffer); + parser->text_buffer = g_strdup (text); +} + +static const GMarkupParser mobile_parser = { + mobile_parser_start_element, + mobile_parser_end_element, + mobile_parser_characters, + NULL, /* passthrough */ + NULL /* error */ +}; + +/** + * shell_mobile_providers_parse: + * @out_ccs: (out) (allow-none): (element-type utf8 utf8): a #GHashTable containing + * country codes + * + * Returns: (element-type utf8 GList) (transfer container): a + * hash table where keys are country names 'char *', values are a 'GSList *' + * of 'ShellMobileProvider *'. Everything is destroyed with g_hash_table_destroy (). +*/ +GHashTable * +shell_mobile_providers_parse (GHashTable **out_ccs) +{ + GMarkupParseContext *ctx; + GIOChannel *channel; + MobileParser parser; + GError *error = NULL; + char buffer[4096]; + GIOStatus status; + gsize len = 0; + + memset (&parser, 0, sizeof (MobileParser)); + + parser.country_codes = read_country_codes (); + if (!parser.country_codes) + goto out; + + channel = g_io_channel_new_file (MOBILE_BROADBAND_PROVIDER_INFO, "r", &error); + if (!channel) { + if (error) { + g_warning ("Could not read " MOBILE_BROADBAND_PROVIDER_INFO ": %s", error->message); + g_error_free (error); + } else + g_warning ("Could not read " MOBILE_BROADBAND_PROVIDER_INFO ": Unknown error"); + + goto out; + } + + parser.table = g_hash_table_new_full (g_str_hash, g_str_equal, g_free, provider_list_free); + parser.state = PARSER_TOPLEVEL; + + ctx = g_markup_parse_context_new (&mobile_parser, 0, &parser, NULL); + + status = G_IO_STATUS_NORMAL; + while (status == G_IO_STATUS_NORMAL) { + status = g_io_channel_read_chars (channel, buffer, sizeof (buffer), &len, &error); + + switch (status) { + case G_IO_STATUS_NORMAL: + if (!g_markup_parse_context_parse (ctx, buffer, len, &error)) { + status = G_IO_STATUS_ERROR; + g_warning ("Error while parsing XML: %s", error->message); + g_error_free (error);; + } + break; + case G_IO_STATUS_EOF: + break; + case G_IO_STATUS_ERROR: + g_warning ("Error while reading: %s", error->message); + g_error_free (error); + break; + case G_IO_STATUS_AGAIN: + /* FIXME: Try again a few times, but really, it never happes, right? */ + break; + } + } + + g_io_channel_unref (channel); + g_markup_parse_context_free (ctx); + + if (parser.current_provider) { + g_warning ("pending current provider"); + shell_mobile_provider_unref (parser.current_provider); + } + + if (parser.current_providers) { + g_warning ("pending current providers"); + provider_list_free (parser.current_providers); + } + + g_free (parser.current_country); + g_free (parser.text_buffer); + + out: + if (parser.country_codes) { + if (out_ccs) + *out_ccs = parser.country_codes; + else + g_hash_table_destroy (parser.country_codes); + } + + return parser.table; +} + +static void +dump_generic (ShellMobileAccessMethod *method) +{ + GSList *iter; + GString *dns; + + g_print (" username: %s\n", method->username ? method->username : ""); + g_print (" password: %s\n", method->password ? method->password : ""); + + dns = g_string_new (NULL); + for (iter = method->dns; iter; iter = g_slist_next (iter)) + g_string_append_printf (dns, "%s%s", dns->len ? ", " : "", (char *) iter->data); + g_print (" dns : %s\n", dns->str); + g_string_free (dns, TRUE); + + g_print (" gateway : %s\n", method->gateway ? method->gateway : ""); +} + +static void +dump_cdma (ShellMobileAccessMethod *method) +{ + g_print (" CDMA: %s\n", method->name); + + dump_generic (method); +} + +static void +dump_gsm (ShellMobileAccessMethod *method) +{ + g_print (" APN: %s (%s)\n", method->name, method->gsm_apn); + + dump_generic (method); +} + +static void +dump_country (gpointer key, gpointer value, gpointer user_data) +{ + GSList *citer, *miter; + + for (citer = value; citer; citer = g_slist_next (citer)) { + ShellMobileProvider *provider = citer->data; + + g_print ("Provider: %s (%s)\n", provider->name, (const char *) key); + for (miter = provider->methods; miter; miter = g_slist_next (miter)) { + ShellMobileAccessMethod *method = miter->data; + GSList *liter; + + + for (liter = provider->gsm_mcc_mnc; liter; liter = g_slist_next (liter)) { + ShellGsmMccMnc *m = liter->data; + g_print (" MCC/MNC: %s-%s\n", m->mcc, m->mnc); + } + + for (liter = provider->cdma_sid; liter; liter = g_slist_next (liter)) + g_print (" SID: %d\n", GPOINTER_TO_UINT (liter->data)); + + switch (method->type) { + case SHELL_MOBILE_ACCESS_METHOD_TYPE_CDMA: + dump_cdma (method); + break; + case SHELL_MOBILE_ACCESS_METHOD_TYPE_GSM: + dump_gsm (method); + break; + default: + break; + } + g_print ("\n"); + } + } +} + +void +shell_mobile_providers_dump (GHashTable *providers) +{ + g_return_if_fail (providers != NULL); + g_hash_table_foreach (providers, dump_country, NULL); +} + +/* All the following don't exist in nm-applet, because C doesn't need + those. They're only needed for the introspection annotations +*/ + +/** + * shell_mobile_provider_get_gsm_mcc_mnc: + * @provider: a #ShellMobileProvider + * + * Returns: (element-type Shell.GsmMccMnc) (transfer none): the + * list of #ShellGsmMccMnc this provider exposes + */ +GSList * +shell_mobile_provider_get_gsm_mcc_mnc (ShellMobileProvider *provider) +{ + return provider->gsm_mcc_mnc; +} + +/** + * shell_mobile_provider_get_cdma_sid: + * @provider: a #ShellMobileProvider + * + * Returns: (element-type guint32) (transfer none): the + * list of CDMA sids this provider exposes + */ +GSList * +shell_mobile_provider_get_cdma_sid (ShellMobileProvider *provider) +{ + return provider->cdma_sid; +} diff --git a/src/shell-mobile-providers.h b/src/shell-mobile-providers.h new file mode 100644 index 000000000..d70b8e2f0 --- /dev/null +++ b/src/shell-mobile-providers.h @@ -0,0 +1,96 @@ +/* -*- Mode: C; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the + * Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, + * Boston, MA 02110-1301 USA. + * + * Copyright (C) 2009 Novell, Inc. + * Author: Tambet Ingo (tambet@gmail.com). + * + * Copyright (C) 2009 - 2010 Red Hat, Inc. + * + * Ported to GNOME Shell by Giovanni Campagna + * Porting consisted only in replacing nmn with shell, to be compatible with + * GObject Introspection namespacing + */ + +#ifndef SHELL_MOBILE_PROVIDERS_H +#define SHELL_MOBILE_PROVIDERS_H + +#include +#include + +#define SHELL_TYPE_MOBILE_PROVIDER (shell_mobile_provider_get_type ()) +#define SHELL_TYPE_MOBILE_ACCESS_METHOD (shell_mobile_access_method_get_type ()) + +typedef enum { + SHELL_MOBILE_ACCESS_METHOD_TYPE_UNKNOWN = 0, + SHELL_MOBILE_ACCESS_METHOD_TYPE_GSM, + SHELL_MOBILE_ACCESS_METHOD_TYPE_CDMA +} ShellMobileAccessMethodType; + +typedef struct { + char *mcc; + char *mnc; +} ShellGsmMccMnc; + +typedef struct { + char *name; + /* maps lang (char *) -> name (char *) */ + GHashTable *lcl_names; + + char *username; + char *password; + char *gateway; + GSList *dns; /* GSList of 'char *' */ + + /* Only used with SHELL_PROVIDER_TYPE_GSM */ + char *gsm_apn; + + ShellMobileAccessMethodType type; + + gint refs; +} ShellMobileAccessMethod; + +typedef struct { + char *name; + /* maps lang (char *) -> name (char *) */ + GHashTable *lcl_names; + + GSList *methods; /* GSList of ShellMobileAccessMethod */ + + GSList *gsm_mcc_mnc; /* GSList of ShellGsmMccMnc */ + GSList *cdma_sid; /* GSList of guint32 */ + + gint refs; +} ShellMobileProvider; + + +GType shell_gsm_mcc_mnc_get_type (void); /* added in porting */ +GType shell_mobile_provider_get_type (void); +GType shell_mobile_access_method_get_type (void); + +ShellMobileProvider *shell_mobile_provider_ref (ShellMobileProvider *provider); +void shell_mobile_provider_unref (ShellMobileProvider *provider); +GSList * shell_mobile_provider_get_gsm_mcc_mnc (ShellMobileProvider *provider); +GSList * shell_mobile_provider_get_cdma_sid (ShellMobileProvider *provider); + +ShellMobileAccessMethod *shell_mobile_access_method_ref (ShellMobileAccessMethod *method); +void shell_mobile_access_method_unref (ShellMobileAccessMethod *method); + +GHashTable *shell_mobile_providers_parse (GHashTable **out_ccs); + +void shell_mobile_providers_dump (GHashTable *providers); + +#endif /* SHELL_MOBILE_PROVIDERS_H */ From cab9a580e8f3b370bd69f6706de1d3f6da1ee147 Mon Sep 17 00:00:00 2001 From: Dan Winship Date: Wed, 16 Mar 2011 09:40:25 -0400 Subject: [PATCH 034/203] gnome-shell-jhbuild: Adjust GI_TYPELIB_PATH for NM inclusion When jhbuilding, we use a jhbuilt gobject-introspection, so the default typelib path is the jhbuild prefix, not /usr. So if we are using NetworkManager from packages, we need to adjust GI_TYPELIB_PATH to include it. https://bugzilla.gnome.org/show_bug.cgi?id=621707 --- configure.ac | 8 ++++++++ src/Makefile.am | 1 + src/gnome-shell-jhbuild.in | 10 ++++++---- 3 files changed, 15 insertions(+), 4 deletions(-) diff --git a/configure.ac b/configure.ac index 3ecdfedc1..0d5581d74 100644 --- a/configure.ac +++ b/configure.ac @@ -98,6 +98,14 @@ AC_DEFINE_UNQUOTED([GJS_VERSION], ["$GJS_VERSION"], [The version of GJS we're li AC_SUBST([GJS_VERSION], ["$GJS_VERSION"]) GOBJECT_INTROSPECTION_CHECK([$GOBJECT_INTROSPECTION_MIN_VERSION]) +JHBUILD_TYPELIBDIR="$INTROSPECTION_TYPELIBDIR" +# NM is the only typelib we use that we don't jhbuild +PKG_CHECK_EXISTS([libnm-glib >= 0.8.995], + [NM_TYPELIBDIR=`$PKG_CONFIG --variable=libdir libnm-glib`/girepository-1.0 + if test "$INTROSPECTION_TYPELIBDIR" != "$NM_TYPELIBDIR"; then + JHBUILD_TYPELIBDIR="$JHBUILD_TYPELIBDIR:$NM_TYPELIBDIR" + fi]) +AC_SUBST(JHBUILD_TYPELIBDIR) saved_CFLAGS=$CFLAGS saved_LIBS=$LIBS diff --git a/src/Makefile.am b/src/Makefile.am index e878f20bf..7fcd3e8d0 100644 --- a/src/Makefile.am +++ b/src/Makefile.am @@ -38,6 +38,7 @@ generated_script_substitutions = \ -e "s|@datadir[@]|$(datadir)|" \ -e "s|@libexecdir[@]|$(libexecdir)|" \ -e "s|@libdir[@]|$(libdir)|" \ + -e "s|@JHBUILD_TYPELIBDIR[@]|$(JHBUILD_TYPELIBDIR)|" \ -e "s|@pkgdatadir[@]|$(pkgdatadir)|" \ -e "s|@PYTHON[@]|$(PYTHON)|" \ -e "s|@VERSION[@]|$(VERSION)|" \ diff --git a/src/gnome-shell-jhbuild.in b/src/gnome-shell-jhbuild.in index 1cc4ef4d3..924e9b386 100755 --- a/src/gnome-shell-jhbuild.in +++ b/src/gnome-shell-jhbuild.in @@ -197,12 +197,16 @@ def start_shell(perf_output=None): if os.path.exists(os.path.join(self_dir, 'gnome-shell-jhbuild.in')): running_from_source_tree = True top_dir = os.path.dirname(self_dir) - typelib_dir = os.path.join(top_dir, "src") + typelib_dir = '@JHBUILD_TYPELIBDIR@:' + os.path.join(top_dir, "src") js_dir = os.path.join(top_dir, "js") data_dir = os.path.join(top_dir, "data") else: running_from_source_tree = False js_dir = os.path.join('@pkgdatadir@', 'js') + typelib_dir = '@JHBUILD_TYPELIBDIR@' + + if os.environ.has_key('GI_TYPELIB_PATH'): + typelib_dir = typelib_dir + ":" + os.environ.get('GI_TYPELIB_PATH') # Set up environment env = dict(os.environ) @@ -215,14 +219,12 @@ def start_shell(perf_output=None): # run". See bug #642084 env.update({'GNOME_SHELL_JS' : js_dir, 'PATH' : '@bindir@:' + os.environ.get('PATH', ''), + 'GI_TYPELIB_PATH' : typelib_dir, 'XDG_CONFIG_DIRS' : '@sysconfdir@/xdg:' + (os.environ.get('XDG_CONFIG_DIRS') or '/etc/xdg'), 'XDG_DATA_DIRS' : '@datadir@:' + (os.environ.get('XDG_DATA_DIRS') or '/usr/local/share:/usr/share')}) if running_from_source_tree: - if os.environ.has_key('GI_TYPELIB_PATH'): - typelib_dir = typelib_dir + ":" + os.environ.get('GI_TYPELIB_PATH') env.update({'GNOME_SHELL_BINDIR' : self_dir, 'GNOME_SHELL_DATADIR' : data_dir, - 'GI_TYPELIB_PATH' : typelib_dir, 'GSETTINGS_SCHEMA_DIR' : data_dir }) else: # This is just broken to set in the installed case; see bug #642084 From f5df5faf71f911e55554f3aa11d37fa8ea9d2536 Mon Sep 17 00:00:00 2001 From: Aron Xu Date: Wed, 16 Mar 2011 23:28:14 +0800 Subject: [PATCH 035/203] Update Simplified Chinese translation. --- po/zh_CN.po | 257 +++++++++++++++++++++++++++++----------------------- 1 file changed, 144 insertions(+), 113 deletions(-) diff --git a/po/zh_CN.po b/po/zh_CN.po index f4024949c..3af796aca 100644 --- a/po/zh_CN.po +++ b/po/zh_CN.po @@ -1,5 +1,5 @@ # Chinese (China) translation for gnome-shell. -# Copyright (C) 2009 Free Software Foundation, Inc. +# Copyright (C) 2010, 2011 Free Software Foundation, Inc. # This file is distributed under the same license as the gnome-shell package. # jiero , 2010. # Aron Xu , 2010. @@ -10,15 +10,16 @@ # Aron Xu , 2010, 2011. # YunQiang Su , 2010, 2011. # 李炜 , 2011. +# chiachen , 2011. # msgid "" msgstr "" "Project-Id-Version: gnome-shell master\n" "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug.cgi?product=gnome-" -"shell&component=general\n" -"POT-Creation-Date: 2011-03-01 14:37+0000\n" -"PO-Revision-Date: 2011-03-01 15:55+0000\n" -"Last-Translator: YunQiang Su \n" +"shell&keywords=I18N+L10N&component=general\n" +"POT-Creation-Date: 2011-03-15 19:36+0000\n" +"PO-Revision-Date: 2011-03-16 23:27+0800\n" +"Last-Translator: chiachen \n" "Language-Team: Chinese (simplified) \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -64,9 +65,8 @@ msgstr "命令对话框(Alt-F2)的历史记录" #: ../data/org.gnome.shell.gschema.xml.in.h:7 #, fuzzy -#| msgid "History for command (Alt-F2) dialog" msgid "History for the looking glass dialog" -msgstr "命令对话框(Alt-F2)的历史记录" +msgstr "查看仪表历史记录" #: ../data/org.gnome.shell.gschema.xml.in.h:8 msgid "If true, display date in the clock, in addition to time." @@ -142,7 +142,7 @@ msgstr "GNOME Shell 的屏幕录像程序录制的屏幕录像的帧率,以 #: ../data/org.gnome.shell.gschema.xml.in.h:20 msgid "The gstreamer pipeline used to encode the screencast" -msgstr "用于编码屏幕录像的 GStreamer 管线" +msgstr "用于编码屏幕录像的 GStreamer 管道" #: ../data/org.gnome.shell.gschema.xml.in.h:21 msgid "" @@ -151,7 +151,7 @@ msgid "" "want to disable this for privacy reasons. Please note that doing so won't " "remove already saved data." msgstr "" -"Gnome shell 一般将监视活动应用程序,以便呈现最常用的(例如,在启动器中)。同" +"Gnome Shell 一般将监视活动应用程序,以便呈现最常用的(例如,在启动器中)。同" "时,此数据将保持私密,您可能因为隐私原因想要禁用此项。请注意,这么做,并不会" "移除已经保存的数据。" @@ -187,27 +187,27 @@ msgid "Execution of '%s' failed:" msgstr "运行“%s”失败:" #. Translators: Filter to display all applications -#: ../js/ui/appDisplay.js:195 +#: ../js/ui/appDisplay.js:226 msgid "All" msgstr "全部" -#: ../js/ui/appDisplay.js:282 +#: ../js/ui/appDisplay.js:324 msgid "APPLICATIONS" msgstr "应用程序" -#: ../js/ui/appDisplay.js:312 -msgid "PREFERENCES" -msgstr "首选项" +#: ../js/ui/appDisplay.js:350 +msgid "SETTINGS" +msgstr "设置" -#: ../js/ui/appDisplay.js:572 +#: ../js/ui/appDisplay.js:612 msgid "New Window" msgstr "新窗口" -#: ../js/ui/appDisplay.js:575 +#: ../js/ui/appDisplay.js:615 msgid "Remove from Favorites" msgstr "从收藏夹中移除" -#: ../js/ui/appDisplay.js:576 +#: ../js/ui/appDisplay.js:616 msgid "Add to Favorites" msgstr "添加到收藏夹" @@ -249,7 +249,7 @@ msgstr "%I:%M %p" #: ../js/ui/calendar.js:118 msgctxt "grid sunday" msgid "S" -msgstr "六" +msgstr "日" #. Translators: Calendar grid abbreviation for Monday #: ../js/ui/calendar.js:120 @@ -367,7 +367,7 @@ msgstr "本周" msgid "Next week" msgstr "下周" -#: ../js/ui/dash.js:174 +#: ../js/ui/dash.js:174 ../js/ui/messageTray.js:935 msgid "Remove" msgstr "移除" @@ -375,54 +375,54 @@ msgstr "移除" msgid "Date and Time Settings" msgstr "日期和时间设置" -#: ../js/ui/dateMenu.js:110 +#: ../js/ui/dateMenu.js:111 msgid "Open Calendar" msgstr "打开日历" #. Translators: This is the time format with date used #. in 24-hour mode. -#: ../js/ui/dateMenu.js:162 +#: ../js/ui/dateMenu.js:164 msgid "%a %b %e, %R:%S" msgstr "%m月%d日%R:%S%A" -#: ../js/ui/dateMenu.js:163 +#: ../js/ui/dateMenu.js:165 msgid "%a %b %e, %R" msgstr "%m月%d日%R%A" #. Translators: This is the time format without date used #. in 24-hour mode. -#: ../js/ui/dateMenu.js:167 +#: ../js/ui/dateMenu.js:169 msgid "%a %R:%S" -msgstr "%R:%S%A" +msgstr "%A %R:%S" -#: ../js/ui/dateMenu.js:168 +#: ../js/ui/dateMenu.js:170 msgid "%a %R" -msgstr "%R%A" +msgstr "%A %R" #. Translators: This is a time format with date used #. for AM/PM. -#: ../js/ui/dateMenu.js:175 +#: ../js/ui/dateMenu.js:177 msgid "%a %b %e, %l:%M:%S %p" msgstr "%m月%d日%A %I:%M:%S %p" -#: ../js/ui/dateMenu.js:176 +#: ../js/ui/dateMenu.js:178 msgid "%a %b %e, %l:%M %p" msgstr "%m月%d日%A %I:%M %p" #. Translators: This is a time format without date used #. for AM/PM. -#: ../js/ui/dateMenu.js:180 +#: ../js/ui/dateMenu.js:182 msgid "%a %l:%M:%S %p" msgstr "%A %I:%M:%S %p" -#: ../js/ui/dateMenu.js:181 +#: ../js/ui/dateMenu.js:183 msgid "%a %l:%M %p" msgstr "%I:%M %p" #. Translators: This is the date format to use when the calendar popup is #. * shown - it is shown just below the time in the shell (e.g. "Tue 9:29 AM"). #. -#: ../js/ui/dateMenu.js:207 +#: ../js/ui/dateMenu.js:194 msgid "%A %B %e, %Y" msgstr "%Y年%m月%d日%A" @@ -451,7 +451,7 @@ msgstr "%s 将在 %d 秒后自动注销。" #: ../js/ui/endSessionDialog.js:67 #, c-format msgid "You will be logged out automatically in %d seconds." -msgstr "你将在 %d 秒后自动注销。" +msgstr "您将在 %d 秒后自动注销。" #: ../js/ui/endSessionDialog.js:68 msgid "Logging out of the system." @@ -499,37 +499,41 @@ msgstr "确定" msgid "Cancel" msgstr "取消" -#: ../js/ui/lookingGlass.js:587 +#: ../js/ui/lookingGlass.js:588 msgid "No extensions installed" msgstr "未安装扩展" -#: ../js/ui/lookingGlass.js:624 +#: ../js/ui/lookingGlass.js:625 msgid "Enabled" msgstr "已启用" #. translators: #. * The device has been disabled -#: ../js/ui/lookingGlass.js:626 ../src/gvc/gvc-mixer-control.c:1087 +#: ../js/ui/lookingGlass.js:627 ../src/gvc/gvc-mixer-control.c:1091 msgid "Disabled" msgstr "已禁用" -#: ../js/ui/lookingGlass.js:628 +#: ../js/ui/lookingGlass.js:629 msgid "Error" msgstr "错误" -#: ../js/ui/lookingGlass.js:630 +#: ../js/ui/lookingGlass.js:631 msgid "Out of date" msgstr "过时" -#: ../js/ui/lookingGlass.js:655 +#: ../js/ui/lookingGlass.js:656 msgid "View Source" msgstr "查看源" -#: ../js/ui/lookingGlass.js:661 +#: ../js/ui/lookingGlass.js:662 msgid "Web Page" msgstr "网页" -#: ../js/ui/messageTray.js:1902 +#: ../js/ui/messageTray.js:928 +msgid "Open" +msgstr "打开" + +#: ../js/ui/messageTray.js:1965 msgid "System Information" msgstr "系统信息" @@ -545,18 +549,28 @@ msgstr "窗口" msgid "Applications" msgstr "应用程序" +#. Translators: this is the name of the dock/favorites area on +#. the left of the overview +#: ../js/ui/overview.js:202 +msgid "Dash" +msgstr "虚线" + #. TODO - _quit() doesn't really work on apps in state STARTING yet -#: ../js/ui/panel.js:529 +#: ../js/ui/panel.js:508 #, c-format msgid "Quit %s" msgstr "退出 %s" #. Button on the left side of the panel. #. Translators: If there is no suitable word for "Activities" in your language, you can use the word for "Overview". -#: ../js/ui/panel.js:897 +#: ../js/ui/panel.js:867 msgid "Activities" msgstr "活动" +#: ../js/ui/panel.js:968 +msgid "Panel" +msgstr "面板" + #: ../js/ui/placeDisplay.js:122 #, c-format msgid "Failed to unmount '%s'" @@ -570,7 +584,7 @@ msgstr "重试" msgid "Connect to..." msgstr "连接到..." -#: ../js/ui/placeDisplay.js:409 +#: ../js/ui/placeDisplay.js:380 msgid "PLACES & DEVICES" msgstr "位置和设备" @@ -579,7 +593,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:612 +#: ../js/ui/popupMenu.js:636 msgid "toggle-switch-us" msgstr "toggle-switch-intl" @@ -587,91 +601,89 @@ msgstr "toggle-switch-intl" msgid "Please enter a command:" msgstr "请输入一个命令:" -#: ../js/ui/searchDisplay.js:295 +#: ../js/ui/searchDisplay.js:283 msgid "Searching..." msgstr "正在搜索..." -#: ../js/ui/searchDisplay.js:309 +#: ../js/ui/searchDisplay.js:297 msgid "No matching results." msgstr "无匹配结果。" -#: ../js/ui/statusMenu.js:102 ../js/ui/statusMenu.js:166 +#: ../js/ui/statusMenu.js:114 ../js/ui/statusMenu.js:178 msgid "Power Off..." msgstr "关机..." -#: ../js/ui/statusMenu.js:104 ../js/ui/statusMenu.js:165 +#: ../js/ui/statusMenu.js:116 ../js/ui/statusMenu.js:177 msgid "Suspend" msgstr "休眠" -#: ../js/ui/statusMenu.js:125 +#: ../js/ui/statusMenu.js:137 msgid "Available" msgstr "可用" -#: ../js/ui/statusMenu.js:130 +#: ../js/ui/statusMenu.js:142 msgid "Busy" msgstr "忙碌" -#: ../js/ui/statusMenu.js:138 +#: ../js/ui/statusMenu.js:150 msgid "My Account" msgstr "我的帐户" -#: ../js/ui/statusMenu.js:142 +#: ../js/ui/statusMenu.js:154 msgid "System Settings" msgstr "系统设置" -#: ../js/ui/statusMenu.js:149 +#: ../js/ui/statusMenu.js:161 msgid "Lock Screen" msgstr "锁住屏幕" -#: ../js/ui/statusMenu.js:153 +#: ../js/ui/statusMenu.js:165 msgid "Switch User" msgstr "切换用户" -#: ../js/ui/statusMenu.js:158 +#: ../js/ui/statusMenu.js:170 msgid "Log Out..." msgstr "退出..." -#: ../js/ui/status/accessibility.js:81 +#: ../js/ui/status/accessibility.js:62 msgid "Zoom" msgstr "缩放" -#: ../js/ui/status/accessibility.js:88 -msgid "Screen Reader" -msgstr "屏幕阅读器" - -#: ../js/ui/status/accessibility.js:92 -msgid "Screen Keyboard" -msgstr "屏幕键盘" - -#: ../js/ui/status/accessibility.js:96 +#. let screenReader = this._buildItem(_("Screen Reader"), APPLICATIONS_SCHEMA, +#. 'screen-reader-enabled'); +#. this.menu.addMenuItem(screenReader); +#. let screenKeyboard = this._buildItem(_("Screen Keyboard"), APPLICATIONS_SCHEMA, +#. 'screen-keyboard-enabled'); +#. this.menu.addMenuItem(screenKeyboard); +#: ../js/ui/status/accessibility.js:77 msgid "Visual Alerts" msgstr "视觉响铃" -#: ../js/ui/status/accessibility.js:99 +#: ../js/ui/status/accessibility.js:80 msgid "Sticky Keys" msgstr "粘滞键" -#: ../js/ui/status/accessibility.js:102 +#: ../js/ui/status/accessibility.js:83 msgid "Slow Keys" msgstr "慢速键" -#: ../js/ui/status/accessibility.js:105 +#: ../js/ui/status/accessibility.js:86 msgid "Bounce Keys" msgstr "筛选键" -#: ../js/ui/status/accessibility.js:108 +#: ../js/ui/status/accessibility.js:89 msgid "Mouse Keys" msgstr "鼠标按键" -#: ../js/ui/status/accessibility.js:112 +#: ../js/ui/status/accessibility.js:93 msgid "Universal Access Settings" msgstr "通用访问设置" -#: ../js/ui/status/accessibility.js:164 +#: ../js/ui/status/accessibility.js:145 msgid "High Contrast" msgstr "高对比度" -#: ../js/ui/status/accessibility.js:209 +#: ../js/ui/status/accessibility.js:182 msgid "Large Text" msgstr "大号文本" @@ -726,7 +738,7 @@ msgstr "键盘设置" msgid "Mouse Settings" msgstr "鼠标设置" -#: ../js/ui/status/bluetooth.js:263 ../js/ui/status/volume.js:65 +#: ../js/ui/status/bluetooth.js:263 ../js/ui/status/volume.js:66 msgid "Sound Settings" msgstr "声音设置" @@ -800,106 +812,112 @@ msgstr "本地化设置" msgid "Power Settings" msgstr "电源设置" -#: ../js/ui/status/power.js:112 +#. 0 is reported when UPower does not have enough data +#. to estimate battery life +#: ../js/ui/status/power.js:110 +msgid "Estimating..." +msgstr "正在评估..." + +#: ../js/ui/status/power.js:117 #, c-format msgid "%d hour remaining" msgid_plural "%d hours remaining" msgstr[0] "剩余 %d 小时" #. TRANSLATORS: this is a time string, as in "%d hours %d minutes remaining" -#: ../js/ui/status/power.js:115 +#: ../js/ui/status/power.js:120 #, c-format msgid "%d %s %d %s remaining" msgstr "剩余 %d %s %d %s" -#: ../js/ui/status/power.js:117 +#: ../js/ui/status/power.js:122 msgid "hour" msgid_plural "hours" msgstr[0] "小时" -#: ../js/ui/status/power.js:117 +#: ../js/ui/status/power.js:122 msgid "minute" msgid_plural "minutes" msgstr[0] "分钟" -#: ../js/ui/status/power.js:120 +#: ../js/ui/status/power.js:125 #, c-format msgid "%d minute remaining" msgid_plural "%d minutes remaining" msgstr[0] "剩余 %d 分钟" -#: ../js/ui/status/power.js:235 +#: ../js/ui/status/power.js:227 msgid "AC adapter" msgstr "AC 适配器" -#: ../js/ui/status/power.js:237 +#: ../js/ui/status/power.js:229 msgid "Laptop battery" msgstr "笔记本电池" -#: ../js/ui/status/power.js:239 +#: ../js/ui/status/power.js:231 msgid "UPS" msgstr "UPS" -#: ../js/ui/status/power.js:241 +#: ../js/ui/status/power.js:233 msgid "Monitor" msgstr "显示器" -#: ../js/ui/status/power.js:243 +#: ../js/ui/status/power.js:235 msgid "Mouse" msgstr "鼠标" -#: ../js/ui/status/power.js:245 +#: ../js/ui/status/power.js:237 msgid "Keyboard" msgstr "键盘" -#: ../js/ui/status/power.js:247 +#: ../js/ui/status/power.js:239 msgid "PDA" msgstr "PDA" -#: ../js/ui/status/power.js:249 +#: ../js/ui/status/power.js:241 msgid "Cell phone" msgstr "手机" -#: ../js/ui/status/power.js:251 +#: ../js/ui/status/power.js:243 msgid "Media player" msgstr "媒体播放器" -#: ../js/ui/status/power.js:253 +#: ../js/ui/status/power.js:245 msgid "Tablet" msgstr "触摸板" -#: ../js/ui/status/power.js:255 +#: ../js/ui/status/power.js:247 msgid "Computer" msgstr "计算机" -#: ../js/ui/status/power.js:257 ../src/shell-app-system.c:1013 +#: ../js/ui/status/power.js:249 ../src/shell-app-system.c:1013 msgid "Unknown" msgstr "未知" -#: ../js/ui/status/volume.js:44 +#: ../js/ui/status/volume.js:45 msgid "Volume" msgstr "音量" -#: ../js/ui/status/volume.js:57 +#: ../js/ui/status/volume.js:58 msgid "Microphone" msgstr "麦克风" -#: ../js/ui/telepathyClient.js:239 +#: ../js/ui/telepathyClient.js:332 #, c-format msgid "%s is online." msgstr "%s 在线。" -#: ../js/ui/telepathyClient.js:244 +#: ../js/ui/telepathyClient.js:337 #, c-format msgid "%s is offline." msgstr "%s 离线。" -#: ../js/ui/telepathyClient.js:247 +#: ../js/ui/telepathyClient.js:340 #, c-format msgid "%s is away." msgstr "%s 离开。" -#: ../js/ui/telepathyClient.js:250 +#: ../js/ui/telepathyClient.js:343 #, c-format msgid "%s is busy." msgstr "%s 忙碌。" @@ -907,32 +925,36 @@ msgstr "%s 忙碌。" #. Translators: this is a time format string followed by a date. #. If applicable, replace %X with a strftime format valid for your #. locale, without seconds. -#: ../js/ui/telepathyClient.js:348 +#: ../js/ui/telepathyClient.js:474 #, no-c-format msgid "Sent at %X on %A" -msgstr "发送于 %X on %A" +msgstr "发送于 %X,在 %A" #. Translators: this is the text displayed #. in the search entry when no search is #. active; it should not exceed ~30 #. characters. -#: ../js/ui/viewSelector.js:103 +#: ../js/ui/viewSelector.js:119 msgid "Type to search..." msgstr "搜索..." -#: ../js/ui/windowAttentionHandler.js:43 +#: ../js/ui/viewSelector.js:139 ../src/shell-util.c:250 +msgid "Search" +msgstr "搜索" + +#: ../js/ui/windowAttentionHandler.js:42 #, c-format msgid "%s has finished starting" msgstr "%s 已启动" -#: ../js/ui/windowAttentionHandler.js:45 +#: ../js/ui/windowAttentionHandler.js:44 #, c-format msgid "'%s' is ready" msgstr "%s 已就绪" #. translators: #. * The number of sound outputs on a particular device -#: ../src/gvc/gvc-mixer-control.c:1094 +#: ../src/gvc/gvc-mixer-control.c:1098 #, c-format msgid "%u Output" msgid_plural "%u Outputs" @@ -940,39 +962,43 @@ msgstr[0] "%u 个输出" #. translators: #. * The number of sound inputs on a particular device -#: ../src/gvc/gvc-mixer-control.c:1104 +#: ../src/gvc/gvc-mixer-control.c:1108 #, c-format msgid "%u Input" msgid_plural "%u Inputs" msgstr[0] "%u 个输入" -#: ../src/gvc/gvc-mixer-control.c:1402 +#: ../src/gvc/gvc-mixer-control.c:1406 msgid "System Sounds" msgstr "系统声音" -#: ../src/shell-global.c:1298 +#: ../src/main.c:395 +msgid "Print version" +msgstr "打印版本" + +#: ../src/shell-global.c:1308 msgid "Less than a minute ago" msgstr "少于一分钟前" -#: ../src/shell-global.c:1302 +#: ../src/shell-global.c:1312 #, c-format msgid "%d minute ago" msgid_plural "%d minutes ago" msgstr[0] "%d 分钟前" -#: ../src/shell-global.c:1307 +#: ../src/shell-global.c:1317 #, c-format msgid "%d hour ago" msgid_plural "%d hours ago" msgstr[0] "%d 小时前" -#: ../src/shell-global.c:1312 +#: ../src/shell-global.c:1322 #, c-format msgid "%d day ago" msgid_plural "%d days ago" msgstr[0] "%d 天前" -#: ../src/shell-global.c:1317 +#: ../src/shell-global.c:1327 #, c-format msgid "%d week ago" msgid_plural "%d weeks ago" @@ -992,10 +1018,6 @@ msgstr "主文件夹" msgid "File System" msgstr "文件系统" -#: ../src/shell-util.c:250 -msgid "Search" -msgstr "搜索" - #. Translators: the first string is the name of a gvfs #. * method, and the second string is a path. For #. * example, "Trash: some-directory". It means that the @@ -1006,6 +1028,15 @@ msgstr "搜索" msgid "%1$s: %2$s" msgstr "%1$s: %2$s" +#~ msgid "Screen Reader" +#~ msgstr "屏幕阅读器" + +#~ msgid "Screen Keyboard" +#~ msgstr "屏幕键盘" + +#~ msgid "PREFERENCES" +#~ msgstr "首选项" + #~ msgid "Shut Down..." #~ msgstr "关机..." From 2646741297d3b158a505b841d9d55230a8dc50bf Mon Sep 17 00:00:00 2001 From: Khaled Hosny Date: Wed, 16 Mar 2011 17:46:00 +0200 Subject: [PATCH 036/203] Updated Arabic translation --- po/ar.po | 203 +++++++++++++++++++++++++++++++++++++++++++++---------- 1 file changed, 169 insertions(+), 34 deletions(-) diff --git a/po/ar.po b/po/ar.po index b0e0a8e68..3037aa613 100644 --- a/po/ar.po +++ b/po/ar.po @@ -6,8 +6,8 @@ msgid "" msgstr "" "Project-Id-Version: HEAD\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2011-03-16 14:53+0200\n" -"PO-Revision-Date: 2011-03-09 01:12+0300\n" +"POT-Creation-Date: 2011-03-16 17:45+0200\n" +"PO-Revision-Date: 2011-03-16 17:41+0300\n" "Last-Translator: Khaled Hosny \n" "Language-Team: Arabic \n" "MIME-Version: 1.0\n" @@ -472,7 +472,7 @@ msgstr "يُعيد تشغيل النظام." msgid "Confirm" msgstr "أكّد" -#: ../js/ui/endSessionDialog.js:400 ../js/ui/status/bluetooth.js:470 +#: ../js/ui/endSessionDialog.js:400 ../js/ui/status/bluetooth.js:465 msgid "Cancel" msgstr "ألغِ" @@ -510,7 +510,7 @@ msgstr "صفحة الوب" msgid "Open" msgstr "افتح" -#: ../js/ui/messageTray.js:1965 +#: ../js/ui/messageTray.js:1988 msgid "System Information" msgstr "معلومات النظام" @@ -533,18 +533,18 @@ msgid "Dash" msgstr "الشريط" #. TODO - _quit() doesn't really work on apps in state STARTING yet -#: ../js/ui/panel.js:508 +#: ../js/ui/panel.js:514 #, c-format msgid "Quit %s" msgstr "أغلق %s" #. Button on the left side of the panel. #. Translators: If there is no suitable word for "Activities" in your language, you can use the word for "Overview". -#: ../js/ui/panel.js:867 +#: ../js/ui/panel.js:873 msgid "Activities" msgstr "الأنشطة" -#: ../js/ui/panel.js:968 +#: ../js/ui/panel.js:974 msgid "Panel" msgstr "اللوحة" @@ -664,9 +664,9 @@ msgstr "تباين عال" msgid "Large Text" msgstr "نص كبير" -#: ../js/ui/status/bluetooth.js:42 ../js/ui/status/bluetooth.js:241 -#: ../js/ui/status/bluetooth.js:337 ../js/ui/status/bluetooth.js:371 -#: ../js/ui/status/bluetooth.js:411 ../js/ui/status/bluetooth.js:444 +#: ../js/ui/status/bluetooth.js:42 ../js/ui/status/bluetooth.js:236 +#: ../js/ui/status/bluetooth.js:332 ../js/ui/status/bluetooth.js:366 +#: ../js/ui/status/bluetooth.js:406 ../js/ui/status/bluetooth.js:439 msgid "Bluetooth" msgstr "بلوتوث" @@ -686,94 +686,94 @@ msgstr "اضبط جهازا جديدا..." msgid "Bluetooth Settings" msgstr "إعدادات بلوتوث" -#: ../js/ui/status/bluetooth.js:192 +#: ../js/ui/status/bluetooth.js:187 msgid "Connection" msgstr "الاتصال" -#: ../js/ui/status/bluetooth.js:228 +#: ../js/ui/status/bluetooth.js:223 msgid "Send Files..." msgstr "أرسل ملفات..." -#: ../js/ui/status/bluetooth.js:233 +#: ../js/ui/status/bluetooth.js:228 msgid "Browse Files..." msgstr "تصفح الملفات..." -#: ../js/ui/status/bluetooth.js:242 +#: ../js/ui/status/bluetooth.js:237 msgid "Error browsing device" msgstr "عطل أثناء تصفّح الجهاز" -#: ../js/ui/status/bluetooth.js:243 +#: ../js/ui/status/bluetooth.js:238 #, c-format msgid "The requested device cannot be browsed, error is '%s'" msgstr "تعذّر تصفح الجهاز، رسالة العطل '%s'" -#: ../js/ui/status/bluetooth.js:251 +#: ../js/ui/status/bluetooth.js:246 msgid "Keyboard Settings" msgstr "إعدادات لوحة المفاتيح" -#: ../js/ui/status/bluetooth.js:256 +#: ../js/ui/status/bluetooth.js:251 msgid "Mouse Settings" msgstr "إعدادات الفأرة" -#: ../js/ui/status/bluetooth.js:263 ../js/ui/status/volume.js:66 +#: ../js/ui/status/bluetooth.js:258 ../js/ui/status/volume.js:66 msgid "Sound Settings" msgstr "إعدادات الصوت" -#: ../js/ui/status/bluetooth.js:372 +#: ../js/ui/status/bluetooth.js:367 #, c-format msgid "Authorization request from %s" msgstr "طلب تخويل من %s" -#: ../js/ui/status/bluetooth.js:378 +#: ../js/ui/status/bluetooth.js:373 #, c-format msgid "Device %s wants access to the service '%s'" msgstr "يريد الجهاز %s صلاحية الوصول للخدمة '%s'" -#: ../js/ui/status/bluetooth.js:380 +#: ../js/ui/status/bluetooth.js:375 msgid "Always grant access" msgstr "امنح الصلاحية دائما" -#: ../js/ui/status/bluetooth.js:381 +#: ../js/ui/status/bluetooth.js:376 msgid "Grant this time only" msgstr "امنح هذه المرة فقط" -#: ../js/ui/status/bluetooth.js:382 +#: ../js/ui/status/bluetooth.js:377 msgid "Reject" msgstr "أخرج" -#: ../js/ui/status/bluetooth.js:412 +#: ../js/ui/status/bluetooth.js:407 #, c-format msgid "Pairing confirmation for %s" msgstr "تأكيد مزاوجة %s" -#: ../js/ui/status/bluetooth.js:418 ../js/ui/status/bluetooth.js:452 +#: ../js/ui/status/bluetooth.js:413 ../js/ui/status/bluetooth.js:447 #, c-format msgid "Device %s wants to pair with this computer" msgstr "يريد الجهاز %s المزاوجة مع هذا الحاسوب" -#: ../js/ui/status/bluetooth.js:419 +#: ../js/ui/status/bluetooth.js:414 #, c-format msgid "Please confirm whether the PIN '%s' matches the one on the device." msgstr "من فضلك أكد تطابق الرقم '%s' مع الموجود على الجهاز." -#: ../js/ui/status/bluetooth.js:421 +#: ../js/ui/status/bluetooth.js:416 msgid "Matches" msgstr "مطابقات" -#: ../js/ui/status/bluetooth.js:422 +#: ../js/ui/status/bluetooth.js:417 msgid "Does not match" msgstr "لا تتطابق" -#: ../js/ui/status/bluetooth.js:445 +#: ../js/ui/status/bluetooth.js:440 #, c-format msgid "Pairing request for %s" msgstr "طلب مزاوجة من %s" -#: ../js/ui/status/bluetooth.js:453 +#: ../js/ui/status/bluetooth.js:448 msgid "Please enter the PIN mentioned on the device." msgstr "من فضلك أدخل الرقم المذكور على الجهاز." -#: ../js/ui/status/bluetooth.js:469 +#: ../js/ui/status/bluetooth.js:464 msgid "OK" msgstr "حسنا" @@ -785,6 +785,136 @@ msgstr "أظهر تخطيط لوحة المفاتيح..." msgid "Localization Settings" msgstr "إعدادات اللغة" +#: ../js/ui/status/network.js:102 ../js/ui/status/network.js:1393 +msgid "" +msgstr "<غير معروفة>" + +#. Translators: this indicates that wireless or wwan is disabled by hardware killswitch +#: ../js/ui/status/network.js:295 +msgid "disabled" +msgstr "مُعَطَّلة" + +#: ../js/ui/status/network.js:476 +msgid "connecting..." +msgstr "يتّصل..." + +#. Translators: this is for network connections that require some kind of key or password +#: ../js/ui/status/network.js:479 +msgid "authentication required" +msgstr "الاستيثاق مطلوب" + +#. Translators: this is for wired network devices that are physically disconnected +#: ../js/ui/status/network.js:485 +msgid "cable unplugged" +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:489 +msgid "unavailable" +msgstr "غير متاح" + +#: ../js/ui/status/network.js:491 +msgid "connection failed" +msgstr "فشل الاتصال" + +#. TRANSLATORS: this is the indication that a connection for another logged in user is active, +#. and we cannot access its settings (including the name) +#: ../js/ui/status/network.js:571 ../js/ui/status/network.js:1341 +msgid "Connected (private)" +msgstr "متّصل (شخصي)" + +#: ../js/ui/status/network.js:636 +msgid "Auto Ethernet" +msgstr "إيثرنت تلقائي" + +#: ../js/ui/status/network.js:697 +msgid "Auto broadband" +msgstr "نطاق عريض تلقائي" + +#: ../js/ui/status/network.js:700 +msgid "Auto dial-up" +msgstr "اتصال هاتفي تلقائي" + +#. TRANSLATORS: this the automatic wireless connection name (including the network name) +#: ../js/ui/status/network.js:843 ../js/ui/status/network.js:1353 +#, c-format +msgid "Auto %s" +msgstr "‏%s تلقائي" + +#: ../js/ui/status/network.js:845 +msgid "Auto bluetooth" +msgstr "بلوتوث تلقائي" + +#: ../js/ui/status/network.js:1355 +msgid "Auto wireless" +msgstr "لاسلكي تلقائي" + +#: ../js/ui/status/network.js:1413 +msgid "More..." +msgstr "المزيد..." + +#: ../js/ui/status/network.js:1436 +msgid "Enable networking" +msgstr "فعّل الشبكات" + +#: ../js/ui/status/network.js:1448 +msgid "Wired" +msgstr "سلكي" + +#: ../js/ui/status/network.js:1459 +msgid "Wireless" +msgstr "لاسلكي" + +#: ../js/ui/status/network.js:1469 +msgid "Mobile broadband" +msgstr "شبكة هاتف محمول" + +#: ../js/ui/status/network.js:1479 +msgid "VPN Connections" +msgstr "اتصال ش‌خ‌ف" + +#: ../js/ui/status/network.js:1488 +msgid "Network Settings" +msgstr "إعدادات الشّبكة" + +#: ../js/ui/status/network.js:1782 +#, c-format +msgid "You're now connected to mobile broadband connection '%s'" +msgstr "صرت الآن متّصلا بشبكة الهاتف المحمول '%s'" + +#: ../js/ui/status/network.js:1786 +#, c-format +msgid "You're now connected to wireless network '%s'" +msgstr "صرت الآن متّصلا بالشبكة اللاسلكية '%s'" + +#: ../js/ui/status/network.js:1790 +#, c-format +msgid "You're now connected to wired network '%s'" +msgstr "صرت الآن متّصلا بالشبكة السلكية '%s'" + +#: ../js/ui/status/network.js:1794 +#, c-format +msgid "You're now connected to VPN network '%s'" +msgstr "صرت الآن متّصلا بشبكة ش‌خ‌ف '%s'" + +#: ../js/ui/status/network.js:1799 +#, c-format +msgid "You're now connected to '%s'" +msgstr "صرت الآن متّصلا بشبكة '%s'" + +#: ../js/ui/status/network.js:1807 +msgid "Connection estabilished" +msgstr "تم الاتصال" + +#: ../js/ui/status/network.js:1929 +msgid "Networking is disabled" +msgstr "عُطّلت الشبكات" + +#: ../js/ui/status/network.js:2054 +msgid "Network Manager" +msgstr "مدير الشبكة" + #: ../js/ui/status/power.js:85 msgid "Power Settings" msgstr "إعدادات الطاقة" @@ -1031,6 +1161,14 @@ msgstr[3] "منذ %d أسابيع" msgstr[4] "منذ %d أسبوعا" msgstr[5] "منذ %d أسبوع" +#: ../src/shell-mobile-providers.c:80 +msgid "United Kingdom" +msgstr "المملكة المتحدة" + +#: ../src/shell-mobile-providers.c:526 +msgid "Default" +msgstr "المبدئي" + #: ../src/shell-polkit-authentication-agent.c:334 msgid "Authentication dialog was dismissed by the user" msgstr "أغلق المستخدم مربع الاستيثاق الحِواري" @@ -1129,9 +1267,6 @@ msgstr "‏%1$s:‏ %2$s" #~ msgid "Frequent" #~ msgstr "متكرر" -#~ msgid "More" -#~ msgstr "المزيد" - #~ msgid "(see all)" #~ msgstr "(انظر الكل)" From 2ea762cfc9474c21b554cdcda03d400fa566c271 Mon Sep 17 00:00:00 2001 From: Luca Ferretti Date: Wed, 16 Mar 2011 17:03:51 +0100 Subject: [PATCH 037/203] Updated Italian transaltion --- po/it.po | 274 +++++++++++++++++++++++++++++++++++++++++-------------- 1 file changed, 208 insertions(+), 66 deletions(-) diff --git a/po/it.po b/po/it.po index c2190a90a..a35328491 100644 --- a/po/it.po +++ b/po/it.po @@ -8,8 +8,8 @@ msgid "" msgstr "" "Project-Id-Version: gnome-shell\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2011-03-11 01:54+0100\n" -"PO-Revision-Date: 2011-03-11 01:56+0100\n" +"POT-Creation-Date: 2011-03-16 16:50+0100\n" +"PO-Revision-Date: 2011-03-16 17:03+0100\n" "Last-Translator: Luca Ferretti \n" "Language-Team: Italian \n" "Language: it\n" @@ -376,7 +376,7 @@ msgstr "Questa settimana" msgid "Next week" msgstr "Prossima settimana" -#: ../js/ui/dash.js:174 ../js/ui/messageTray.js:931 +#: ../js/ui/dash.js:174 ../js/ui/messageTray.js:935 msgid "Remove" msgstr "Rimuovi" @@ -431,7 +431,7 @@ msgstr "%a %l.%M %P" #. Translators: This is the date format to use when the calendar popup is #. * shown - it is shown just below the time in the shell (e.g. "Tue 9:29 AM"). #. -#: ../js/ui/dateMenu.js:209 +#: ../js/ui/dateMenu.js:194 msgid "%A %B %e, %Y" msgstr "%a %e %B %Y" @@ -512,7 +512,7 @@ msgstr "Riavvio del sistema." msgid "Confirm" msgstr "Conferma" -#: ../js/ui/endSessionDialog.js:400 ../js/ui/status/bluetooth.js:470 +#: ../js/ui/endSessionDialog.js:400 ../js/ui/status/bluetooth.js:465 msgid "Cancel" msgstr "Annulla" @@ -528,7 +528,7 @@ msgstr "Abilitato" # (ndt) o disabilitata? #. translators: #. * The device has been disabled -#: ../js/ui/lookingGlass.js:627 ../src/gvc/gvc-mixer-control.c:1087 +#: ../js/ui/lookingGlass.js:627 ../src/gvc/gvc-mixer-control.c:1091 msgid "Disabled" msgstr "Disabilitato" @@ -548,11 +548,11 @@ msgstr "Visualizza sorgente" msgid "Web Page" msgstr "Pagina web" -#: ../js/ui/messageTray.js:924 +#: ../js/ui/messageTray.js:928 msgid "Open" msgstr "Apri" -#: ../js/ui/messageTray.js:1961 +#: ../js/ui/messageTray.js:1988 msgid "System Information" msgstr "Informazione di sistema" @@ -576,18 +576,18 @@ msgid "Dash" msgstr "Dash" #. TODO - _quit() doesn't really work on apps in state STARTING yet -#: ../js/ui/panel.js:560 +#: ../js/ui/panel.js:514 #, c-format msgid "Quit %s" msgstr "Chiudi %s" #. Button on the left side of the panel. #. Translators: If there is no suitable word for "Activities" in your language, you can use the word for "Overview". -#: ../js/ui/panel.js:919 +#: ../js/ui/panel.js:873 msgid "Activities" msgstr "Attività" -#: ../js/ui/panel.js:1020 +#: ../js/ui/panel.js:974 msgid "Panel" msgstr "Pannello" @@ -605,7 +605,7 @@ msgstr "Riprova" msgid "Connect to..." msgstr "Connetti a..." -#: ../js/ui/placeDisplay.js:409 +#: ../js/ui/placeDisplay.js:380 msgid "PLACES & DEVICES" msgstr "RISORSE E DISPOSITIVI" @@ -614,7 +614,7 @@ msgstr "RISORSE E DISPOSITIVI" #. "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:618 +#: ../js/ui/popupMenu.js:636 msgid "toggle-switch-us" msgstr "toggle-switch-us" @@ -630,39 +630,39 @@ msgstr "Ricerca..." msgid "No matching results." msgstr "Nessun risultato corrispondente." -#: ../js/ui/statusMenu.js:113 ../js/ui/statusMenu.js:177 +#: ../js/ui/statusMenu.js:114 ../js/ui/statusMenu.js:178 msgid "Power Off..." msgstr "Spegni..." -#: ../js/ui/statusMenu.js:115 ../js/ui/statusMenu.js:176 +#: ../js/ui/statusMenu.js:116 ../js/ui/statusMenu.js:177 msgid "Suspend" msgstr "Sospendi" -#: ../js/ui/statusMenu.js:136 +#: ../js/ui/statusMenu.js:137 msgid "Available" msgstr "Disponibile" -#: ../js/ui/statusMenu.js:141 +#: ../js/ui/statusMenu.js:142 msgid "Busy" msgstr "Non disponibile" -#: ../js/ui/statusMenu.js:149 +#: ../js/ui/statusMenu.js:150 msgid "My Account" msgstr "Account personale" -#: ../js/ui/statusMenu.js:153 +#: ../js/ui/statusMenu.js:154 msgid "System Settings" msgstr "Impostazioni di sistema" -#: ../js/ui/statusMenu.js:160 +#: ../js/ui/statusMenu.js:161 msgid "Lock Screen" msgstr "Blocca schermo" -#: ../js/ui/statusMenu.js:164 +#: ../js/ui/statusMenu.js:165 msgid "Switch User" msgstr "Cambia utente" -#: ../js/ui/statusMenu.js:169 +#: ../js/ui/statusMenu.js:170 msgid "Log Out..." msgstr "Termina sessione..." @@ -670,14 +670,12 @@ msgstr "Termina sessione..." msgid "Zoom" msgstr "Ingrandimento" -#: ../js/ui/status/accessibility.js:69 -msgid "Screen Reader" -msgstr "Lettore schermo" - -#: ../js/ui/status/accessibility.js:73 -msgid "Screen Keyboard" -msgstr "Tastiera a schermo" - +#. let screenReader = this._buildItem(_("Screen Reader"), APPLICATIONS_SCHEMA, +#. 'screen-reader-enabled'); +#. this.menu.addMenuItem(screenReader); +#. let screenKeyboard = this._buildItem(_("Screen Keyboard"), APPLICATIONS_SCHEMA, +#. 'screen-keyboard-enabled'); +#. this.menu.addMenuItem(screenKeyboard); #: ../js/ui/status/accessibility.js:77 msgid "Visual Alerts" msgstr "Allerte visive" @@ -710,9 +708,9 @@ msgstr "Contrasto elevato" msgid "Large Text" msgstr "Caratteri grandi" -#: ../js/ui/status/bluetooth.js:42 ../js/ui/status/bluetooth.js:241 -#: ../js/ui/status/bluetooth.js:337 ../js/ui/status/bluetooth.js:371 -#: ../js/ui/status/bluetooth.js:411 ../js/ui/status/bluetooth.js:444 +#: ../js/ui/status/bluetooth.js:42 ../js/ui/status/bluetooth.js:236 +#: ../js/ui/status/bluetooth.js:332 ../js/ui/status/bluetooth.js:366 +#: ../js/ui/status/bluetooth.js:406 ../js/ui/status/bluetooth.js:439 msgid "Bluetooth" msgstr "Bluetooth" @@ -735,94 +733,94 @@ msgstr "Impostazioni Bluetooth" # indica lo stato del device BT, per esempio gli auricolari # credo sia meglio l'aggettivo che il sostantivo -#: ../js/ui/status/bluetooth.js:192 +#: ../js/ui/status/bluetooth.js:187 msgid "Connection" msgstr "Collegato" -#: ../js/ui/status/bluetooth.js:228 +#: ../js/ui/status/bluetooth.js:223 msgid "Send Files..." msgstr "Invia file..." -#: ../js/ui/status/bluetooth.js:233 +#: ../js/ui/status/bluetooth.js:228 msgid "Browse Files..." msgstr "Esplora file..." -#: ../js/ui/status/bluetooth.js:242 +#: ../js/ui/status/bluetooth.js:237 msgid "Error browsing device" msgstr "Errore nell'esplorare il dispositivo" -#: ../js/ui/status/bluetooth.js:243 +#: ../js/ui/status/bluetooth.js:238 #, c-format msgid "The requested device cannot be browsed, error is '%s'" msgstr "Non è possibile esplorare il dispositivo richiesto, l'errore è «%s»" -#: ../js/ui/status/bluetooth.js:251 +#: ../js/ui/status/bluetooth.js:246 msgid "Keyboard Settings" msgstr "Impostazioni tastiera" -#: ../js/ui/status/bluetooth.js:256 +#: ../js/ui/status/bluetooth.js:251 msgid "Mouse Settings" msgstr "Impostazioni mouse" -#: ../js/ui/status/bluetooth.js:263 ../js/ui/status/volume.js:65 +#: ../js/ui/status/bluetooth.js:258 ../js/ui/status/volume.js:66 msgid "Sound Settings" msgstr "Impostazioni audio" -#: ../js/ui/status/bluetooth.js:372 +#: ../js/ui/status/bluetooth.js:367 #, c-format msgid "Authorization request from %s" msgstr "Richesta autorizzazione da %s" -#: ../js/ui/status/bluetooth.js:378 +#: ../js/ui/status/bluetooth.js:373 #, 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:380 +#: ../js/ui/status/bluetooth.js:375 msgid "Always grant access" msgstr "Consenti sempre accesso" -#: ../js/ui/status/bluetooth.js:381 +#: ../js/ui/status/bluetooth.js:376 msgid "Grant this time only" msgstr "Consenti solo stavolta" -#: ../js/ui/status/bluetooth.js:382 +#: ../js/ui/status/bluetooth.js:377 msgid "Reject" msgstr "Rifiuta" -#: ../js/ui/status/bluetooth.js:412 +#: ../js/ui/status/bluetooth.js:407 #, c-format msgid "Pairing confirmation for %s" msgstr "Conferma associazione per %s" -#: ../js/ui/status/bluetooth.js:418 ../js/ui/status/bluetooth.js:452 +#: ../js/ui/status/bluetooth.js:413 ../js/ui/status/bluetooth.js:447 #, 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:419 +#: ../js/ui/status/bluetooth.js:414 #, c-format msgid "Please confirm whether the PIN '%s' matches the one on the device." msgstr "Confermare la corrispondenza del PIN «%s» con quello sul dispositivo." -#: ../js/ui/status/bluetooth.js:421 +#: ../js/ui/status/bluetooth.js:416 msgid "Matches" msgstr "Corrisponde" -#: ../js/ui/status/bluetooth.js:422 +#: ../js/ui/status/bluetooth.js:417 msgid "Does not match" msgstr "Non corrisponde" -#: ../js/ui/status/bluetooth.js:445 +#: ../js/ui/status/bluetooth.js:440 #, c-format msgid "Pairing request for %s" msgstr "Richiesta associazione per %s" -#: ../js/ui/status/bluetooth.js:453 +#: ../js/ui/status/bluetooth.js:448 msgid "Please enter the PIN mentioned on the device." msgstr "Inserire il PIN indicato sul dispositivo." -#: ../js/ui/status/bluetooth.js:469 +#: ../js/ui/status/bluetooth.js:464 msgid "OK" msgstr "OK" @@ -834,6 +832,136 @@ msgstr "Mostra disposizione tastiera..." msgid "Localization Settings" msgstr "Impostazioni localizzazione" +#: ../js/ui/status/network.js:102 ../js/ui/status/network.js:1393 +msgid "" +msgstr "" + +#. Translators: this indicates that wireless or wwan is disabled by hardware killswitch +#: ../js/ui/status/network.js:295 +msgid "disabled" +msgstr "disabilitata" + +#: ../js/ui/status/network.js:476 +msgid "connecting..." +msgstr "connessione..." + +#. Translators: this is for network connections that require some kind of key or password +#: ../js/ui/status/network.js:479 +msgid "authentication required" +msgstr "richiesta autenticazione" + +#. Translators: this is for wired network devices that are physically disconnected +#: ../js/ui/status/network.js:485 +msgid "cable unplugged" +msgstr "cavo scollegato" + +#. 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:489 +msgid "unavailable" +msgstr "non disponibile" + +#: ../js/ui/status/network.js:491 +msgid "connection failed" +msgstr "connessione non riuscita" + +#. TRANSLATORS: this is the indication that a connection for another logged in user is active, +#. and we cannot access its settings (including the name) +#: ../js/ui/status/network.js:571 ../js/ui/status/network.js:1341 +msgid "Connected (private)" +msgstr "Connessa (privata)" + +#: ../js/ui/status/network.js:636 +msgid "Auto Ethernet" +msgstr "Ethernet automatica" + +#: ../js/ui/status/network.js:697 +msgid "Auto broadband" +msgstr "Banda larga automatica" + +#: ../js/ui/status/network.js:700 +msgid "Auto dial-up" +msgstr "Dial-up automatica" + +#. TRANSLATORS: this the automatic wireless connection name (including the network name) +#: ../js/ui/status/network.js:843 ../js/ui/status/network.js:1353 +#, c-format +msgid "Auto %s" +msgstr "%s automatica" + +#: ../js/ui/status/network.js:845 +msgid "Auto bluetooth" +msgstr "Bluetooth automatica" + +#: ../js/ui/status/network.js:1355 +msgid "Auto wireless" +msgstr "Wireless automatica" + +#: ../js/ui/status/network.js:1413 +msgid "More..." +msgstr "Altro..." + +#: ../js/ui/status/network.js:1436 +msgid "Enable networking" +msgstr "Abilita rete" + +#: ../js/ui/status/network.js:1448 +msgid "Wired" +msgstr "Via cavo" + +#: ../js/ui/status/network.js:1459 +msgid "Wireless" +msgstr "Wireless" + +#: ../js/ui/status/network.js:1469 +msgid "Mobile broadband" +msgstr "Banda larga mobile" + +#: ../js/ui/status/network.js:1479 +msgid "VPN Connections" +msgstr "Connessioni VPN" + +#: ../js/ui/status/network.js:1488 +msgid "Network Settings" +msgstr "Impostazioni rete" + +#: ../js/ui/status/network.js:1782 +#, c-format +msgid "You're now connected to mobile broadband connection '%s'" +msgstr "Connessi alla rete mobile «%s»" + +#: ../js/ui/status/network.js:1786 +#, c-format +msgid "You're now connected to wireless network '%s'" +msgstr "Connessi alla rete wireless «%s»" + +#: ../js/ui/status/network.js:1790 +#, c-format +msgid "You're now connected to wired network '%s'" +msgstr "Connessi alla rete via cavo «%s»" + +#: ../js/ui/status/network.js:1794 +#, c-format +msgid "You're now connected to VPN network '%s'" +msgstr "Connessi alla rete VPN «%s»" + +#: ../js/ui/status/network.js:1799 +#, c-format +msgid "You're now connected to '%s'" +msgstr "Connessi a «%s»" + +#: ../js/ui/status/network.js:1807 +msgid "Connection estabilished" +msgstr "Connessione stabilita" + +#: ../js/ui/status/network.js:1929 +msgid "Networking is disabled" +msgstr "Rete disabilitata" + +#: ../js/ui/status/network.js:2054 +msgid "Network Manager" +msgstr "Gestore reti" + #: ../js/ui/status/power.js:85 msgid "Power Settings" msgstr "Impostazioni alimentazione" @@ -925,30 +1053,30 @@ msgstr "Computer" msgid "Unknown" msgstr "Sconosciuto" -#: ../js/ui/status/volume.js:44 +#: ../js/ui/status/volume.js:45 msgid "Volume" msgstr "Volume" -#: ../js/ui/status/volume.js:57 +#: ../js/ui/status/volume.js:58 msgid "Microphone" msgstr "Microfono" -#: ../js/ui/telepathyClient.js:239 +#: ../js/ui/telepathyClient.js:332 #, c-format msgid "%s is online." msgstr "%s è disponibile." -#: ../js/ui/telepathyClient.js:244 +#: ../js/ui/telepathyClient.js:337 #, c-format msgid "%s is offline." msgstr "%s è fuori rete." -#: ../js/ui/telepathyClient.js:247 +#: ../js/ui/telepathyClient.js:340 #, c-format msgid "%s is away." msgstr "%s è assente." -#: ../js/ui/telepathyClient.js:250 +#: ../js/ui/telepathyClient.js:343 #, c-format msgid "%s is busy." msgstr "%s non è disponibile." @@ -956,7 +1084,7 @@ msgstr "%s non è disponibile." #. Translators: this is a time format string followed by a date. #. If applicable, replace %X with a strftime format valid for your #. locale, without seconds. -#: ../js/ui/telepathyClient.js:357 +#: ../js/ui/telepathyClient.js:474 #, no-c-format msgid "Sent at %X on %A" msgstr "Inviato alle %-H.%M di %A" @@ -965,11 +1093,11 @@ msgstr "Inviato alle %-H.%M di %A" #. in the search entry when no search is #. active; it should not exceed ~30 #. characters. -#: ../js/ui/viewSelector.js:117 +#: ../js/ui/viewSelector.js:119 msgid "Type to search..." msgstr "Digitare per cercare..." -#: ../js/ui/viewSelector.js:137 ../src/shell-util.c:250 +#: ../js/ui/viewSelector.js:139 ../src/shell-util.c:250 msgid "Search" msgstr "Cerca" @@ -986,7 +1114,7 @@ msgstr "«%s» è pronto" #. translators: #. * The number of sound outputs on a particular device -#: ../src/gvc/gvc-mixer-control.c:1094 +#: ../src/gvc/gvc-mixer-control.c:1098 #, c-format msgid "%u Output" msgid_plural "%u Outputs" @@ -995,14 +1123,14 @@ msgstr[1] "%u uscite" #. translators: #. * The number of sound inputs on a particular device -#: ../src/gvc/gvc-mixer-control.c:1104 +#: ../src/gvc/gvc-mixer-control.c:1108 #, c-format msgid "%u Input" msgid_plural "%u Inputs" msgstr[0] "%u ingresso" msgstr[1] "%u ingressi" -#: ../src/gvc/gvc-mixer-control.c:1402 +#: ../src/gvc/gvc-mixer-control.c:1406 msgid "System Sounds" msgstr "Audio di sistema" @@ -1042,6 +1170,14 @@ msgid_plural "%d weeks ago" msgstr[0] "%d settimana fa" msgstr[1] "%d settimane fa" +#: ../src/shell-mobile-providers.c:80 +msgid "United Kingdom" +msgstr "Regno Unito" + +#: ../src/shell-mobile-providers.c:526 +msgid "Default" +msgstr "Predefinito" + #: ../src/shell-polkit-authentication-agent.c:334 #, fuzzy msgid "Authentication dialog was dismissed by the user" @@ -1069,6 +1205,12 @@ msgstr "File system" msgid "%1$s: %2$s" msgstr "%1$s: %2$s" +#~ msgid "Screen Reader" +#~ msgstr "Lettore schermo" + +#~ msgid "Screen Keyboard" +#~ msgstr "Tastiera a schermo" + #~ msgid "PREFERENCES" #~ msgstr "PREFERENZE" From c6170ed75126291545622b61b7f6c5e7b2e776f9 Mon Sep 17 00:00:00 2001 From: "Owen W. Taylor" Date: Mon, 7 Mar 2011 22:09:41 -0500 Subject: [PATCH 038/203] windowManager: fix up accounting of dimmed windows Simplify the accounting of which windows we should dim by checking the current state of windows rather than trying to track changes, and by keeping a list of dimmed windows rather than a list of windows with a dimmed parent. Remove windows from the list of dimmed windows when they are destroyed. This should fix problems where destroyed windows could end up in the list of dimmed windows. https://bugzilla.gnome.org/show_bug.cgi?id=644167 --- js/ui/windowManager.js | 88 +++++++++++++++++++++--------------------- 1 file changed, 45 insertions(+), 43 deletions(-) diff --git a/js/ui/windowManager.js b/js/ui/windowManager.js index a10608f48..b113a1a28 100644 --- a/js/ui/windowManager.js +++ b/js/ui/windowManager.js @@ -123,11 +123,11 @@ WindowManager.prototype = { Main.overview.connect('showing', Lang.bind(this, function() { for (let i = 0; i < this._dimmedWindows.length; i++) - this._undimParentWindow(this._dimmedWindows[i], true); + this._undimWindow(this._dimmedWindows[i], true); })); Main.overview.connect('hiding', Lang.bind(this, function() { for (let i = 0; i < this._dimmedWindows.length; i++) - this._dimParentWindow(this._dimmedWindows[i], true); + this._dimWindow(this._dimmedWindows[i], true); })); }, @@ -234,41 +234,39 @@ WindowManager.prototype = { _unmaximizeWindowDone : function(shellwm, actor) { }, - _parentHasOtherAttachedDialog: function(parent, self) { + _hasAttachedDialogs: function(window, ignoreWindow) { var count = 0; - parent.foreach_transient(function(win) { - if (win.get_window_type() == Meta.WindowType.MODAL_DIALOG && win != self) + window.foreach_transient(function(win) { + if (win != ignoreWindow && win.get_window_type() == Meta.WindowType.MODAL_DIALOG) count++; return false; }); return count != 0; }, - _markParentWindowAsDimmable: function(actor, animate) { - if (Meta.prefs_get_attach_modal_dialogs()) { - this._dimmedWindows.push(actor); - if (this._shouldAnimate()) - this._dimParentWindow(actor, animate); + _checkDimming: function(window, ignoreWindow) { + let shouldDim = Meta.prefs_get_attach_modal_dialogs() && this._hasAttachedDialogs(window, ignoreWindow); + + if (shouldDim && !window._dimmed) { + window._dimmed = true; + this._dimmedWindows.push(window); + if (!Main.overview.visible) + this._dimWindow(window, true); + } else if (!shouldDim && window._dimmed) { + window._dimmed = false; + this._dimmedWindows = this._dimmedWindows.filter(function(win) { + return win != window; + }); + if (!Main.overview.visible) + this._undimWindow(window, true); } }, - _unmarkParentWindowAsDimmable: function(actor, animate) { - if (!Main.overview.visible) - this._undimParentWindow(actor, true); - this._dimmedWindows = this._dimmedWindows.filter(function(win) { - return win != actor; - }); - }, - - _dimParentWindow: function(actor, animate) { - let meta = actor.get_meta_window(); - let parent = meta.get_transient_for(); - if (!parent) + _dimWindow: function(window, animate) { + let actor = window.get_compositor_private(); + if (!actor) return; - let parentActor = parent.get_compositor_private(); - if (!parentActor || this._parentHasOtherAttachedDialog(parent, meta)) - return; - let texture = parentActor.get_texture(); + let texture = actor.get_texture(); if (animate) Tweener.addTween(getWindowDimmer(texture), { dimFraction: 1.0, @@ -279,15 +277,11 @@ WindowManager.prototype = { getWindowDimmer(texture).dimFraction = 1.0; }, - _undimParentWindow: function(actor, animate) { - let meta = actor.get_meta_window(); - let parent = meta.get_transient_for(); - if (!parent) + _undimWindow: function(window, animate) { + let actor = window.get_compositor_private(); + if (!actor) return; - let parentActor = parent.get_compositor_private(); - if (!parentActor || this._parentHasOtherAttachedDialog(parent, meta)) - return; - let texture = parentActor.get_texture(); + let texture = actor.get_texture(); if (animate) Tweener.addTween(getWindowDimmer(texture), { dimFraction: 0.0, @@ -304,17 +298,19 @@ WindowManager.prototype = { let type = actor.meta_window.get_window_type(); if (type == actor._windowType) return; - if (type == Meta.WindowType.MODAL_DIALOG) - this._markParentWindowAsDimmable(actor, true); - else if (actor._windowType == Meta.WindowType.MODAL_DIALOG) - this._unmarkParentWindowAsDimmable(actor, true); + if (type == Meta.WindowType.MODAL_DIALOG || + actor._windowType == Meta.WindowType.MODAL_DIALOG) { + let parent = actor.get_meta_window().get_transient_for(); + if (parent) + this._checkDimming(parent); + } actor._windowType = type; })); if (actor.meta_window.get_window_type() == Meta.WindowType.MODAL_DIALOG && Meta.prefs_get_attach_modal_dialogs() && actor.get_meta_window().get_transient_for()) { - this._markParentWindowAsDimmable(actor, true); + this._checkDimming(actor.get_meta_window().get_transient_for()); if (this._shouldAnimate()) { actor.set_scale(1.0, 0.0); actor.show(); @@ -374,14 +370,20 @@ WindowManager.prototype = { }, _destroyWindow : function(shellwm, actor) { - let parent = actor.meta_window.get_transient_for(); + let window = actor.meta_window; + let parent = window.get_transient_for(); if (actor._notifyWindowTypeSignalId) { - actor.meta_window.disconnect(actor._notifyWindowTypeSignalId); + window.disconnect(actor._notifyWindowTypeSignalId); actor._notifyWindowTypeSignalId = 0; } - while (actor.meta_window.get_window_type() == Meta.WindowType.MODAL_DIALOG + if (window._dimmed) { + this._dimmedWindows = this._dimmedWindows.filter(function(win) { + return win != window; + }); + } + while (window.get_window_type() == Meta.WindowType.MODAL_DIALOG && parent) { - this._unmarkParentWindowAsDimmable(actor, true); + this._checkDimming(parent, window); if (!Meta.prefs_get_attach_modal_dialogs() || !this._shouldAnimate()) break; From 0de5c5e8a3b75e83ff244df11810e4e5aa88dd13 Mon Sep 17 00:00:00 2001 From: Gabor Kelemen Date: Wed, 16 Mar 2011 19:01:21 +0100 Subject: [PATCH 039/203] Updated Hungarian translation --- po/hu.po | 221 +++++++++++++++++++++++++++++++++++++++++++------------ 1 file changed, 175 insertions(+), 46 deletions(-) diff --git a/po/hu.po b/po/hu.po index 4f82eeb6a..065f2f5d8 100644 --- a/po/hu.po +++ b/po/hu.po @@ -7,8 +7,8 @@ msgid "" msgstr "" "Project-Id-Version: gnome-shell master\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2011-03-15 14:43+0100\n" -"PO-Revision-Date: 2011-03-15 14:42+0100\n" +"POT-Creation-Date: 2011-03-16 19:01+0100\n" +"PO-Revision-Date: 2011-03-16 19:01+0100\n" "Last-Translator: Gabor Kelemen \n" "Language-Team: Hungarian \n" "Language: \n" @@ -507,7 +507,7 @@ msgstr "A rendszer újraindítása." msgid "Confirm" msgstr "Megerősítés" -#: ../js/ui/endSessionDialog.js:400 ../js/ui/status/bluetooth.js:470 +#: ../js/ui/endSessionDialog.js:400 ../js/ui/status/bluetooth.js:465 msgid "Cancel" msgstr "Mégse" @@ -545,7 +545,7 @@ msgstr "Weblap" msgid "Open" msgstr "Megnyitás" -#: ../js/ui/messageTray.js:1965 +#: ../js/ui/messageTray.js:1988 msgid "System Information" msgstr "Rendszerinformációk" @@ -569,18 +569,18 @@ msgid "Dash" msgstr "Dash" #. TODO - _quit() doesn't really work on apps in state STARTING yet -#: ../js/ui/panel.js:510 +#: ../js/ui/panel.js:514 #, c-format msgid "Quit %s" msgstr "%s bezárása" #. Button on the left side of the panel. #. Translators: If there is no suitable word for "Activities" in your language, you can use the word for "Overview". -#: ../js/ui/panel.js:869 +#: ../js/ui/panel.js:873 msgid "Activities" msgstr "Tevékenységek" -#: ../js/ui/panel.js:970 +#: ../js/ui/panel.js:974 msgid "Panel" msgstr "Panel" @@ -662,14 +662,12 @@ msgstr "Kijelentkezés…" msgid "Zoom" msgstr "Nagyítás" -#: ../js/ui/status/accessibility.js:69 -msgid "Screen Reader" -msgstr "Képernyőolvasó" - -#: ../js/ui/status/accessibility.js:73 -msgid "Screen Keyboard" -msgstr "Képernyő-billentyűzet" - +#. let screenReader = this._buildItem(_("Screen Reader"), APPLICATIONS_SCHEMA, +#. 'screen-reader-enabled'); +#. this.menu.addMenuItem(screenReader); +#. let screenKeyboard = this._buildItem(_("Screen Keyboard"), APPLICATIONS_SCHEMA, +#. 'screen-keyboard-enabled'); +#. this.menu.addMenuItem(screenKeyboard); #: ../js/ui/status/accessibility.js:77 msgid "Visual Alerts" msgstr "Vizuális figyelmeztetések" @@ -702,9 +700,9 @@ msgstr "Nagy kontraszt" msgid "Large Text" msgstr "Nagy szöveg" -#: ../js/ui/status/bluetooth.js:42 ../js/ui/status/bluetooth.js:241 -#: ../js/ui/status/bluetooth.js:337 ../js/ui/status/bluetooth.js:371 -#: ../js/ui/status/bluetooth.js:411 ../js/ui/status/bluetooth.js:444 +#: ../js/ui/status/bluetooth.js:42 ../js/ui/status/bluetooth.js:236 +#: ../js/ui/status/bluetooth.js:332 ../js/ui/status/bluetooth.js:366 +#: ../js/ui/status/bluetooth.js:406 ../js/ui/status/bluetooth.js:439 msgid "Bluetooth" msgstr "Bluetooth" @@ -724,94 +722,94 @@ msgstr "Új eszköz beállítása…" msgid "Bluetooth Settings" msgstr "Bluetooth-beállítások" -#: ../js/ui/status/bluetooth.js:192 +#: ../js/ui/status/bluetooth.js:187 msgid "Connection" msgstr "Kapcsolat" -#: ../js/ui/status/bluetooth.js:228 +#: ../js/ui/status/bluetooth.js:223 msgid "Send Files..." msgstr "Fájlok küldése…" -#: ../js/ui/status/bluetooth.js:233 +#: ../js/ui/status/bluetooth.js:228 msgid "Browse Files..." msgstr "Fájlok tallózása…" -#: ../js/ui/status/bluetooth.js:242 +#: ../js/ui/status/bluetooth.js:237 msgid "Error browsing device" msgstr "Hiba az eszköz tallózásakor" -#: ../js/ui/status/bluetooth.js:243 +#: ../js/ui/status/bluetooth.js:238 #, c-format msgid "The requested device cannot be browsed, error is '%s'" msgstr "A kért eszköz nem tallózható. A hiba: „%s”" -#: ../js/ui/status/bluetooth.js:251 +#: ../js/ui/status/bluetooth.js:246 msgid "Keyboard Settings" msgstr "Billentyűzetbeállítások" -#: ../js/ui/status/bluetooth.js:256 +#: ../js/ui/status/bluetooth.js:251 msgid "Mouse Settings" msgstr "Egérbeállítások" -#: ../js/ui/status/bluetooth.js:263 ../js/ui/status/volume.js:66 +#: ../js/ui/status/bluetooth.js:258 ../js/ui/status/volume.js:66 msgid "Sound Settings" msgstr "Hangbeállítások" -#: ../js/ui/status/bluetooth.js:372 +#: ../js/ui/status/bluetooth.js:367 #, c-format msgid "Authorization request from %s" msgstr "Felhatalmazási kérés a következőtől: %s" -#: ../js/ui/status/bluetooth.js:378 +#: ../js/ui/status/bluetooth.js:373 #, c-format msgid "Device %s wants access to the service '%s'" msgstr "A(z) %s eszköz szeretné használni a(z) „%s” szolgáltatást" -#: ../js/ui/status/bluetooth.js:380 +#: ../js/ui/status/bluetooth.js:375 msgid "Always grant access" msgstr "Hozzáférhet mindig" -#: ../js/ui/status/bluetooth.js:381 +#: ../js/ui/status/bluetooth.js:376 msgid "Grant this time only" msgstr "Csak most" -#: ../js/ui/status/bluetooth.js:382 +#: ../js/ui/status/bluetooth.js:377 msgid "Reject" msgstr "Visszautasítás" -#: ../js/ui/status/bluetooth.js:412 +#: ../js/ui/status/bluetooth.js:407 #, c-format msgid "Pairing confirmation for %s" msgstr "Párosítás megerősítése ehhez: %s" -#: ../js/ui/status/bluetooth.js:418 ../js/ui/status/bluetooth.js:452 +#: ../js/ui/status/bluetooth.js:413 ../js/ui/status/bluetooth.js:447 #, c-format msgid "Device %s wants to pair with this computer" msgstr "Az eszköz (%s) párosítást kér a számítógéppel" -#: ../js/ui/status/bluetooth.js:419 +#: ../js/ui/status/bluetooth.js:414 #, c-format msgid "Please confirm whether the PIN '%s' matches the one on the device." msgstr "Erősítse meg, hogy a(z) „%s” PIN megegyezik az eszközön lévővel." -#: ../js/ui/status/bluetooth.js:421 +#: ../js/ui/status/bluetooth.js:416 msgid "Matches" msgstr "Megegyezik" -#: ../js/ui/status/bluetooth.js:422 +#: ../js/ui/status/bluetooth.js:417 msgid "Does not match" msgstr "Nem egyezik" -#: ../js/ui/status/bluetooth.js:445 +#: ../js/ui/status/bluetooth.js:440 #, c-format msgid "Pairing request for %s" msgstr "Párosítási kérés ehhez: %s" -#: ../js/ui/status/bluetooth.js:453 +#: ../js/ui/status/bluetooth.js:448 msgid "Please enter the PIN mentioned on the device." msgstr "Adja meg az eszközön említett PIN-kódot." -#: ../js/ui/status/bluetooth.js:469 +#: ../js/ui/status/bluetooth.js:464 msgid "OK" msgstr "OK" @@ -823,6 +821,136 @@ msgstr "Billentyűzetkiosztás megjelenítése…" msgid "Localization Settings" msgstr "Lokalizációs beállítások" +#: ../js/ui/status/network.js:102 ../js/ui/status/network.js:1393 +msgid "" +msgstr "" + +#. Translators: this indicates that wireless or wwan is disabled by hardware killswitch +#: ../js/ui/status/network.js:295 +msgid "disabled" +msgstr "tiltva" + +#: ../js/ui/status/network.js:476 +msgid "connecting..." +msgstr "kapcsolódás…" + +#. Translators: this is for network connections that require some kind of key or password +#: ../js/ui/status/network.js:479 +msgid "authentication required" +msgstr "hitelesítés szükséges" + +#. Translators: this is for wired network devices that are physically disconnected +#: ../js/ui/status/network.js:485 +msgid "cable unplugged" +msgstr "vezeték kihúzva" + +#. 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:489 +msgid "unavailable" +msgstr "nem érhető el" + +#: ../js/ui/status/network.js:491 +msgid "connection failed" +msgstr "a kapcsolódás meghiúsult" + +#. TRANSLATORS: this is the indication that a connection for another logged in user is active, +#. and we cannot access its settings (including the name) +#: ../js/ui/status/network.js:571 ../js/ui/status/network.js:1341 +msgid "Connected (private)" +msgstr "Kapcsolódva (privát)" + +#: ../js/ui/status/network.js:636 +msgid "Auto Ethernet" +msgstr "Auto Ethernet" + +#: ../js/ui/status/network.js:697 +msgid "Auto broadband" +msgstr "Auto széles sáv" + +#: ../js/ui/status/network.js:700 +msgid "Auto dial-up" +msgstr "Auto betárcsázós" + +#. TRANSLATORS: this the automatic wireless connection name (including the network name) +#: ../js/ui/status/network.js:843 ../js/ui/status/network.js:1353 +#, c-format +msgid "Auto %s" +msgstr "Auto %s" + +#: ../js/ui/status/network.js:845 +msgid "Auto bluetooth" +msgstr "Auto Bluetooth" + +#: ../js/ui/status/network.js:1355 +msgid "Auto wireless" +msgstr "Auto vezeték nélküli" + +#: ../js/ui/status/network.js:1413 +msgid "More..." +msgstr "Több…" + +#: ../js/ui/status/network.js:1436 +msgid "Enable networking" +msgstr "Hálózat engedélyezése" + +#: ../js/ui/status/network.js:1448 +msgid "Wired" +msgstr "Vezetékes" + +#: ../js/ui/status/network.js:1459 +msgid "Wireless" +msgstr "Vezeték nélküli" + +#: ../js/ui/status/network.js:1469 +msgid "Mobile broadband" +msgstr "Mobil széles sáv" + +#: ../js/ui/status/network.js:1479 +msgid "VPN Connections" +msgstr "VPN kapcsolatok" + +#: ../js/ui/status/network.js:1488 +msgid "Network Settings" +msgstr "Hálózati beállítások" + +#: ../js/ui/status/network.js:1782 +#, c-format +msgid "You're now connected to mobile broadband connection '%s'" +msgstr "Csatlakozott a(z) „%s” mobil széles sávú kapcsolathoz" + +#: ../js/ui/status/network.js:1786 +#, c-format +msgid "You're now connected to wireless network '%s'" +msgstr "Csatlakozott a(z) „%s” vezeték nélküli hálózathoz" + +#: ../js/ui/status/network.js:1790 +#, c-format +msgid "You're now connected to wired network '%s'" +msgstr "Csatlakozott a(z) „%s” vezetékes hálózathoz" + +#: ../js/ui/status/network.js:1794 +#, c-format +msgid "You're now connected to VPN network '%s'" +msgstr "Csatlakozott a(z) „%s” VPN hálózathoz" + +#: ../js/ui/status/network.js:1799 +#, c-format +msgid "You're now connected to '%s'" +msgstr "Csatlakozott ehhez: „%s”" + +#: ../js/ui/status/network.js:1807 +msgid "Connection estabilished" +msgstr "Kapcsolat létrejött" + +#: ../js/ui/status/network.js:1929 +msgid "Networking is disabled" +msgstr "Hálózat letiltva" + +#: ../js/ui/status/network.js:2054 +msgid "Network Manager" +msgstr "Hálózatkezelő" + #: ../js/ui/status/power.js:85 msgid "Power Settings" msgstr "Energiabeállítások" @@ -949,13 +1077,6 @@ msgstr "%s elfoglalt." msgid "Sent at %X on %A" msgstr "Elküldve: %A, %X" -#. Translators: this is the other person changing their old IM name to their new -#. IM name. -#: ../js/ui/telepathyClient.js:498 -#, c-format -msgid "%s is now known as %s" -msgstr "%s mostantól %s néven ismert" - #. Translators: this is the text displayed #. in the search entry when no search is #. active; it should not exceed ~30 @@ -1036,6 +1157,14 @@ msgid_plural "%d weeks ago" msgstr[0] "%d hete" msgstr[1] "%d hete" +#: ../src/shell-mobile-providers.c:80 +msgid "United Kingdom" +msgstr "Egyesült Királyság" + +#: ../src/shell-mobile-providers.c:526 +msgid "Default" +msgstr "Alapértelmezett" + #: ../src/shell-polkit-authentication-agent.c:334 msgid "Authentication dialog was dismissed by the user" msgstr "A hitelesítési ablakot a felhasználó bezárta" From 830ab599dfe3154b671660c8fff6ba73659d1c7c Mon Sep 17 00:00:00 2001 From: Daniel Mustieles Date: Wed, 16 Mar 2011 19:30:11 +0100 Subject: [PATCH 040/203] Updated Spanish translation --- po/es.po | 71 +++++++++++++++++++++++++++++++------------------------- 1 file changed, 39 insertions(+), 32 deletions(-) diff --git a/po/es.po b/po/es.po index 742c329e5..c8d8ebb25 100644 --- a/po/es.po +++ b/po/es.po @@ -9,9 +9,9 @@ msgid "" msgstr "" "Project-Id-Version: gnome-shell.master\n" "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug.cgi?product=gnome-" -"shell&component=general\n" -"POT-Creation-Date: 2011-03-09 21:00+0000\n" -"PO-Revision-Date: 2011-03-10 10:59+0100\n" +"shell&keywords=I18N+L10N&component=general\n" +"POT-Creation-Date: 2011-03-14 22:52+0000\n" +"PO-Revision-Date: 2011-03-15 10:27+0100\n" "Last-Translator: Daniel Mustieles \n" "Language-Team: Español \n" "MIME-Version: 1.0\n" @@ -374,7 +374,7 @@ msgstr "Esta semana" msgid "Next week" msgstr "La semana que viene" -#: ../js/ui/dash.js:174 ../js/ui/messageTray.js:931 +#: ../js/ui/dash.js:174 ../js/ui/messageTray.js:935 msgid "Remove" msgstr "Quitar" @@ -429,7 +429,7 @@ msgstr "%a %H:%M" #. Translators: This is the date format to use when the calendar popup is #. * shown - it is shown just below the time in the shell (e.g. "Tue 9:29 AM"). #. -#: ../js/ui/dateMenu.js:209 +#: ../js/ui/dateMenu.js:194 msgid "%A %B %e, %Y" msgstr "%A, %e de %B de %Y" @@ -519,7 +519,7 @@ msgstr "Activado" #. translators: #. * The device has been disabled -#: ../js/ui/lookingGlass.js:627 ../src/gvc/gvc-mixer-control.c:1087 +#: ../js/ui/lookingGlass.js:627 ../src/gvc/gvc-mixer-control.c:1091 msgid "Disabled" msgstr "Desactivado" @@ -539,11 +539,11 @@ msgstr "Ver fuente" msgid "Web Page" msgstr "Página web" -#: ../js/ui/messageTray.js:924 +#: ../js/ui/messageTray.js:928 msgid "Open" msgstr "Abrir" -#: ../js/ui/messageTray.js:1961 +#: ../js/ui/messageTray.js:1965 msgid "System Information" msgstr "Información del sistema" @@ -594,7 +594,7 @@ msgstr "Reintentar" msgid "Connect to..." msgstr "Conectar a…" -#: ../js/ui/placeDisplay.js:409 +#: ../js/ui/placeDisplay.js:380 msgid "PLACES & DEVICES" msgstr "LUGARES Y DISPOSITIVOS" @@ -603,7 +603,7 @@ msgstr "LUGARES Y DISPOSITIVOS" #. "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:618 +#: ../js/ui/popupMenu.js:636 msgid "toggle-switch-us" msgstr "toggle-switch-intl" @@ -619,39 +619,39 @@ msgstr "Buscando…" msgid "No matching results." msgstr "No se encontró ningún resultado coincidente." -#: ../js/ui/statusMenu.js:113 ../js/ui/statusMenu.js:177 +#: ../js/ui/statusMenu.js:114 ../js/ui/statusMenu.js:178 msgid "Power Off..." msgstr "Apagar…" -#: ../js/ui/statusMenu.js:115 ../js/ui/statusMenu.js:176 +#: ../js/ui/statusMenu.js:116 ../js/ui/statusMenu.js:177 msgid "Suspend" msgstr "Suspender" -#: ../js/ui/statusMenu.js:136 +#: ../js/ui/statusMenu.js:137 msgid "Available" msgstr "Disponible" -#: ../js/ui/statusMenu.js:141 +#: ../js/ui/statusMenu.js:142 msgid "Busy" msgstr "Ocupado" -#: ../js/ui/statusMenu.js:149 +#: ../js/ui/statusMenu.js:150 msgid "My Account" msgstr "Mi cuenta" -#: ../js/ui/statusMenu.js:153 +#: ../js/ui/statusMenu.js:154 msgid "System Settings" msgstr "Configuración del sistema" -#: ../js/ui/statusMenu.js:160 +#: ../js/ui/statusMenu.js:161 msgid "Lock Screen" msgstr "Bloquear la pantalla" -#: ../js/ui/statusMenu.js:164 +#: ../js/ui/statusMenu.js:165 msgid "Switch User" msgstr "Cambiar de usuario" -#: ../js/ui/statusMenu.js:169 +#: ../js/ui/statusMenu.js:170 msgid "Log Out..." msgstr "Cerrar la sesión…" @@ -750,7 +750,7 @@ msgstr "Configuración del teclado" msgid "Mouse Settings" msgstr "Ajustes del ratón…" -#: ../js/ui/status/bluetooth.js:263 ../js/ui/status/volume.js:65 +#: ../js/ui/status/bluetooth.js:263 ../js/ui/status/volume.js:66 msgid "Sound Settings" msgstr "Configuración del sonido" @@ -910,30 +910,30 @@ msgstr "Equipo" msgid "Unknown" msgstr "Desconocido" -#: ../js/ui/status/volume.js:44 +#: ../js/ui/status/volume.js:45 msgid "Volume" msgstr "Volumen" -#: ../js/ui/status/volume.js:57 +#: ../js/ui/status/volume.js:58 msgid "Microphone" msgstr "Micrófono" -#: ../js/ui/telepathyClient.js:239 +#: ../js/ui/telepathyClient.js:332 #, c-format msgid "%s is online." msgstr "%s está conectado/a." -#: ../js/ui/telepathyClient.js:244 +#: ../js/ui/telepathyClient.js:337 #, c-format msgid "%s is offline." msgstr "%s está desconectado/a." -#: ../js/ui/telepathyClient.js:247 +#: ../js/ui/telepathyClient.js:340 #, c-format msgid "%s is away." msgstr "%s está ausente." -#: ../js/ui/telepathyClient.js:250 +#: ../js/ui/telepathyClient.js:343 #, c-format msgid "%s is busy." msgstr "%s está ocupado/a." @@ -941,20 +941,27 @@ msgstr "%s está ocupado/a." #. Translators: this is a time format string followed by a date. #. If applicable, replace %X with a strftime format valid for your #. locale, without seconds. -#: ../js/ui/telepathyClient.js:357 +#: ../js/ui/telepathyClient.js:474 #, no-c-format msgid "Sent at %X on %A" msgstr "Enviado a las %X el %A" +#. Translators: this is the other person changing their old IM name to their new +#. IM name. +#: ../js/ui/telepathyClient.js:498 +#, c-format +msgid "%s is now known as %s" +msgstr "Ahora %s se llama %s" + #. Translators: this is the text displayed #. in the search entry when no search is #. active; it should not exceed ~30 #. characters. -#: ../js/ui/viewSelector.js:117 +#: ../js/ui/viewSelector.js:119 msgid "Type to search..." msgstr "Teclear para buscar…" -#: ../js/ui/viewSelector.js:137 ../src/shell-util.c:250 +#: ../js/ui/viewSelector.js:139 ../src/shell-util.c:250 msgid "Search" msgstr "Buscar" @@ -970,7 +977,7 @@ msgstr "«%s» está preparado" #. translators: #. * The number of sound outputs on a particular device -#: ../src/gvc/gvc-mixer-control.c:1094 +#: ../src/gvc/gvc-mixer-control.c:1098 #, c-format msgid "%u Output" msgid_plural "%u Outputs" @@ -979,14 +986,14 @@ msgstr[1] "%u salidas" #. translators: #. * The number of sound inputs on a particular device -#: ../src/gvc/gvc-mixer-control.c:1104 +#: ../src/gvc/gvc-mixer-control.c:1108 #, c-format msgid "%u Input" msgid_plural "%u Inputs" msgstr[0] "%u entrada" msgstr[1] "%u entradas" -#: ../src/gvc/gvc-mixer-control.c:1402 +#: ../src/gvc/gvc-mixer-control.c:1406 msgid "System Sounds" msgstr "Sonidos del sistema" From d8c2290099660fae396fe7b4e3eb983d4a6996f9 Mon Sep 17 00:00:00 2001 From: Jonathan Strander Date: Sun, 13 Mar 2011 20:01:50 -0500 Subject: [PATCH 041/203] Prelight panel items on hover In order to give feedback when the user hovers over items on the panel, we should prelight them. https://bugzilla.gnome.org/show_bug.cgi?id=609576 --- data/theme/gnome-shell.css | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/data/theme/gnome-shell.css b/data/theme/gnome-shell.css index c64c23209..e281fcda0 100644 --- a/data/theme/gnome-shell.css +++ b/data/theme/gnome-shell.css @@ -257,6 +257,11 @@ StTooltip StLabel { transition-duration: 100; } +.panel-button:hover { + color: white; + text-shadow: black 0px 2px 2px; +} + .panel-button:active, .panel-button:checked, .panel-button:focus { From 61282737c5592c33b7ec2d444f9d5c2ee4911cd8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Fran=20Di=C3=A9guez?= Date: Wed, 16 Mar 2011 19:55:45 +0100 Subject: [PATCH 042/203] Updated Galician translations --- po/gl.po | 230 ++++++++++++++++++++++++++++++++++++++++++++----------- 1 file changed, 184 insertions(+), 46 deletions(-) diff --git a/po/gl.po b/po/gl.po index 830575597..d69beb05e 100644 --- a/po/gl.po +++ b/po/gl.po @@ -10,8 +10,8 @@ msgid "" msgstr "" "Project-Id-Version: gnome-shell master\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2011-03-15 15:19+0100\n" -"PO-Revision-Date: 2011-03-15 15:25+0100\n" +"POT-Creation-Date: 2011-03-16 19:45+0100\n" +"PO-Revision-Date: 2011-03-16 19:54+0100\n" "Last-Translator: Fran Diéguez \n" "Language-Team: Galician \n" "Language: gl\n" @@ -507,7 +507,7 @@ msgstr "Reiniciando o computador." msgid "Confirm" msgstr "Confirmar" -#: ../js/ui/endSessionDialog.js:400 ../js/ui/status/bluetooth.js:470 +#: ../js/ui/endSessionDialog.js:400 ../js/ui/status/bluetooth.js:465 msgid "Cancel" msgstr "Cancelar" @@ -545,7 +545,7 @@ msgstr "Páxina web" msgid "Open" msgstr "Abrir" -#: ../js/ui/messageTray.js:1965 +#: ../js/ui/messageTray.js:1988 msgid "System Information" msgstr "Información do sistema" @@ -568,18 +568,18 @@ msgid "Dash" msgstr "Panel" #. TODO - _quit() doesn't really work on apps in state STARTING yet -#: ../js/ui/panel.js:510 +#: ../js/ui/panel.js:514 #, c-format msgid "Quit %s" msgstr "Saír de %s" #. Button on the left side of the panel. #. Translators: If there is no suitable word for "Activities" in your language, you can use the word for "Overview". -#: ../js/ui/panel.js:869 +#: ../js/ui/panel.js:873 msgid "Activities" msgstr "Actividades" -#: ../js/ui/panel.js:970 +#: ../js/ui/panel.js:974 msgid "Panel" msgstr "Panel" @@ -661,14 +661,12 @@ msgstr "Saír da sesión…" msgid "Zoom" msgstr "Ampliación" -#: ../js/ui/status/accessibility.js:69 -msgid "Screen Reader" -msgstr "Lector de pantalla" - -#: ../js/ui/status/accessibility.js:73 -msgid "Screen Keyboard" -msgstr "Teclado en pantalla" - +#. let screenReader = this._buildItem(_("Screen Reader"), APPLICATIONS_SCHEMA, +#. 'screen-reader-enabled'); +#. this.menu.addMenuItem(screenReader); +#. let screenKeyboard = this._buildItem(_("Screen Keyboard"), APPLICATIONS_SCHEMA, +#. 'screen-keyboard-enabled'); +#. this.menu.addMenuItem(screenKeyboard); #: ../js/ui/status/accessibility.js:77 msgid "Visual Alerts" msgstr "Alertas visuais" @@ -701,9 +699,9 @@ msgstr "Alto contraste" msgid "Large Text" msgstr "Texto máis grande" -#: ../js/ui/status/bluetooth.js:42 ../js/ui/status/bluetooth.js:241 -#: ../js/ui/status/bluetooth.js:337 ../js/ui/status/bluetooth.js:371 -#: ../js/ui/status/bluetooth.js:411 ../js/ui/status/bluetooth.js:444 +#: ../js/ui/status/bluetooth.js:42 ../js/ui/status/bluetooth.js:236 +#: ../js/ui/status/bluetooth.js:332 ../js/ui/status/bluetooth.js:366 +#: ../js/ui/status/bluetooth.js:406 ../js/ui/status/bluetooth.js:439 msgid "Bluetooth" msgstr "Bluetooth" @@ -723,94 +721,94 @@ msgstr "Configurar un novo dispositivo…" msgid "Bluetooth Settings" msgstr "Configuracións de Bluetooth" -#: ../js/ui/status/bluetooth.js:192 +#: ../js/ui/status/bluetooth.js:187 msgid "Connection" msgstr "Conexión" -#: ../js/ui/status/bluetooth.js:228 +#: ../js/ui/status/bluetooth.js:223 msgid "Send Files..." msgstr "Enviar ficheiros…" -#: ../js/ui/status/bluetooth.js:233 +#: ../js/ui/status/bluetooth.js:228 msgid "Browse Files..." msgstr "Explorar ficheiros…" -#: ../js/ui/status/bluetooth.js:242 +#: ../js/ui/status/bluetooth.js:237 msgid "Error browsing device" msgstr "Produciuse un erro ao explorar o dispositivo" -#: ../js/ui/status/bluetooth.js:243 +#: ../js/ui/status/bluetooth.js:238 #, c-format msgid "The requested device cannot be browsed, error is '%s'" msgstr "O dispositivo solicitado non pode explorarse, o erro foi «%s»" -#: ../js/ui/status/bluetooth.js:251 +#: ../js/ui/status/bluetooth.js:246 msgid "Keyboard Settings" msgstr "Configuracións do teclado" -#: ../js/ui/status/bluetooth.js:256 +#: ../js/ui/status/bluetooth.js:251 msgid "Mouse Settings" msgstr "Configuracións do rato" -#: ../js/ui/status/bluetooth.js:263 ../js/ui/status/volume.js:66 +#: ../js/ui/status/bluetooth.js:258 ../js/ui/status/volume.js:66 msgid "Sound Settings" msgstr "Configuracións do son" -#: ../js/ui/status/bluetooth.js:372 +#: ../js/ui/status/bluetooth.js:367 #, c-format msgid "Authorization request from %s" msgstr "Solicitude de autorización de %s" -#: ../js/ui/status/bluetooth.js:378 +#: ../js/ui/status/bluetooth.js:373 #, 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:380 +#: ../js/ui/status/bluetooth.js:375 msgid "Always grant access" msgstr "Conceder acceso sempre" -#: ../js/ui/status/bluetooth.js:381 +#: ../js/ui/status/bluetooth.js:376 msgid "Grant this time only" msgstr "Conceder só esta vez" -#: ../js/ui/status/bluetooth.js:382 +#: ../js/ui/status/bluetooth.js:377 msgid "Reject" msgstr "Rexeitar" -#: ../js/ui/status/bluetooth.js:412 +#: ../js/ui/status/bluetooth.js:407 #, c-format msgid "Pairing confirmation for %s" msgstr "Confirmación de emparellado para «%s»" -#: ../js/ui/status/bluetooth.js:418 ../js/ui/status/bluetooth.js:452 +#: ../js/ui/status/bluetooth.js:413 ../js/ui/status/bluetooth.js:447 #, 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:419 +#: ../js/ui/status/bluetooth.js:414 #, c-format msgid "Please confirm whether the PIN '%s' matches the one on the device." msgstr "Confirme que o PIN mostrado en «%s» coincide co do dispositivo." -#: ../js/ui/status/bluetooth.js:421 +#: ../js/ui/status/bluetooth.js:416 msgid "Matches" msgstr "Coincide" -#: ../js/ui/status/bluetooth.js:422 +#: ../js/ui/status/bluetooth.js:417 msgid "Does not match" msgstr "Non coincide" -#: ../js/ui/status/bluetooth.js:445 +#: ../js/ui/status/bluetooth.js:440 #, c-format msgid "Pairing request for %s" msgstr "Solicitude de emparellamento para «%s»" -#: ../js/ui/status/bluetooth.js:453 +#: ../js/ui/status/bluetooth.js:448 msgid "Please enter the PIN mentioned on the device." msgstr "Introduza o PIN mencionado no dispositivo." -#: ../js/ui/status/bluetooth.js:469 +#: ../js/ui/status/bluetooth.js:464 msgid "OK" msgstr "Aceptar" @@ -822,6 +820,136 @@ msgstr "Mostrar a distribución do teclado…" msgid "Localization Settings" msgstr "Configuracións do son" +#: ../js/ui/status/network.js:102 ../js/ui/status/network.js:1393 +msgid "" +msgstr "" + +#. Translators: this indicates that wireless or wwan is disabled by hardware killswitch +#: ../js/ui/status/network.js:295 +msgid "disabled" +msgstr "desactivada" + +#: ../js/ui/status/network.js:476 +msgid "connecting..." +msgstr "conectando..." + +#. Translators: this is for network connections that require some kind of key or password +#: ../js/ui/status/network.js:479 +msgid "authentication required" +msgstr "autenticación requirida" + +#. Translators: this is for wired network devices that are physically disconnected +#: ../js/ui/status/network.js:485 +msgid "cable unplugged" +msgstr "cable desconectado" + +#. 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:489 +msgid "unavailable" +msgstr "non dispoñíbel" + +#: ../js/ui/status/network.js:491 +msgid "connection failed" +msgstr "conexión fallida" + +#. TRANSLATORS: this is the indication that a connection for another logged in user is active, +#. and we cannot access its settings (including the name) +#: ../js/ui/status/network.js:571 ../js/ui/status/network.js:1341 +msgid "Connected (private)" +msgstr "Conectado (privado)" + +#: ../js/ui/status/network.js:636 +msgid "Auto Ethernet" +msgstr "Ethernet automática" + +#: ../js/ui/status/network.js:697 +msgid "Auto broadband" +msgstr "Banda larga automática" + +#: ../js/ui/status/network.js:700 +msgid "Auto dial-up" +msgstr "Por liña conmutada automática" + +#. TRANSLATORS: this the automatic wireless connection name (including the network name) +#: ../js/ui/status/network.js:843 ../js/ui/status/network.js:1353 +#, c-format +msgid "Auto %s" +msgstr "%s automática" + +#: ../js/ui/status/network.js:845 +msgid "Auto bluetooth" +msgstr "Bluetooth automática" + +#: ../js/ui/status/network.js:1355 +msgid "Auto wireless" +msgstr "Sen fíos automática" + +#: ../js/ui/status/network.js:1413 +msgid "More..." +msgstr "Máis..." + +#: ../js/ui/status/network.js:1436 +msgid "Enable networking" +msgstr "Activar rede" + +#: ../js/ui/status/network.js:1448 +msgid "Wired" +msgstr "Con fíos" + +#: ../js/ui/status/network.js:1459 +msgid "Wireless" +msgstr "Sen fíos" + +#: ../js/ui/status/network.js:1469 +msgid "Mobile broadband" +msgstr "Banda larga móbil" + +#: ../js/ui/status/network.js:1479 +msgid "VPN Connections" +msgstr "Conexións VPN" + +#: ../js/ui/status/network.js:1488 +msgid "Network Settings" +msgstr "Configuracións da rede" + +#: ../js/ui/status/network.js:1782 +#, c-format +msgid "You're now connected to mobile broadband connection '%s'" +msgstr "Vostede está conectado agora á conexión de banda larga móbil «%s»" + +#: ../js/ui/status/network.js:1786 +#, c-format +msgid "You're now connected to wireless network '%s'" +msgstr "Vostede está conectado agora á conexión sen fíos «%s»" + +#: ../js/ui/status/network.js:1790 +#, c-format +msgid "You're now connected to wired network '%s'" +msgstr "Vostede está conectado agora á conexión con fíos «%s»" + +#: ../js/ui/status/network.js:1794 +#, c-format +msgid "You're now connected to VPN network '%s'" +msgstr "Vostede está conectado agora á conexión VPN «%s»" + +#: ../js/ui/status/network.js:1799 +#, c-format +msgid "You're now connected to '%s'" +msgstr "Vostede está conectado agora a «%s»" + +#: ../js/ui/status/network.js:1807 +msgid "Connection estabilished" +msgstr "Conexión estabelecida" + +#: ../js/ui/status/network.js:1929 +msgid "Networking is disabled" +msgstr "A rede está desactivada" + +#: ../js/ui/status/network.js:2054 +msgid "Network Manager" +msgstr "Xestor de rede" + #: ../js/ui/status/power.js:85 msgid "Power Settings" msgstr "Configuracións de enerxía" @@ -948,13 +1076,6 @@ msgstr "%s está ocupado/a." msgid "Sent at %X on %A" msgstr "Enviado ás %X o %A" -#. Translators: this is the other person changing their old IM name to their new -#. IM name. -#: ../js/ui/telepathyClient.js:498 -#, c-format -msgid "%s is now known as %s" -msgstr "%s é coñecido agora como %s" - #. Translators: this is the text displayed #. in the search entry when no search is #. active; it should not exceed ~30 @@ -1035,6 +1156,14 @@ msgid_plural "%d weeks ago" msgstr[0] "hai %d semana" msgstr[1] "hai %d semanas" +#: ../src/shell-mobile-providers.c:80 +msgid "United Kingdom" +msgstr "Reino Unido" + +#: ../src/shell-mobile-providers.c:526 +msgid "Default" +msgstr "Predeterminado" + #: ../src/shell-polkit-authentication-agent.c:334 msgid "Authentication dialog was dismissed by the user" msgstr "O usuario rexeitou o diálogo de autenticación" @@ -1059,6 +1188,15 @@ msgstr "Sistema de ficheiros" msgid "%1$s: %2$s" msgstr "%1$s: %2$s" +#~ msgid "Screen Reader" +#~ msgstr "Lector de pantalla" + +#~ msgid "Screen Keyboard" +#~ msgstr "Teclado en pantalla" + +#~ msgid "%s is now known as %s" +#~ msgstr "%s é coñecido agora como %s" + #~ msgid "Clip the crosshairs at the center" #~ msgstr "Poñer o punto de mira no centro" From b4f16c4df830ff4f13d4da3d4f29acbb8d04bfda Mon Sep 17 00:00:00 2001 From: Colin Walters Date: Tue, 15 Mar 2011 18:31:16 -0400 Subject: [PATCH 043/203] Add shell_global_report_error() Move the "system notification error" handling out of util.js, and add it to ShellGlobal so we can start calling it from across the codebase better (including C). https://bugzilla.gnome.org/show_bug.cgi?id=644402 --- js/misc/util.js | 8 +------- js/ui/main.js | 24 ++++++++++++++++++++++++ src/shell-global.c | 32 ++++++++++++++++++++++++++++++++ src/shell-global.h | 5 +++++ 4 files changed, 62 insertions(+), 7 deletions(-) diff --git a/js/misc/util.js b/js/misc/util.js index f68907ec2..1bc1a7283 100644 --- a/js/misc/util.js +++ b/js/misc/util.js @@ -6,7 +6,6 @@ const GLib = imports.gi.GLib; const Shell = imports.gi.Shell; const Main = imports.ui.main; -const MessageTray = imports.ui.messageTray; const Gettext = imports.gettext.domain('gnome-shell'); const _ = Gettext.gettext; @@ -146,12 +145,7 @@ function trySpawnDesktop(id) { function _handleSpawnError(command, err) { let title = _("Execution of '%s' failed:").format(command); - - let source = new MessageTray.SystemNotificationSource(); - Main.messageTray.add(source); - let notification = new MessageTray.Notification(source, title, err.message); - notification.setTransient(true); - source.notify(notification); + Main.notifyProblem(title, err.message); } // killall: diff --git a/js/ui/main.js b/js/ui/main.js index 24dab3193..3c3763bfb 100644 --- a/js/ui/main.js +++ b/js/ui/main.js @@ -86,6 +86,9 @@ function start() { global.logError = _logError; global.log = _logDebug; + // Chain up async errors reported from C + global.connect('notify-error', function (global, msg, detail) { notifyError(msg, detail); }); + Gio.DesktopAppInfo.set_desktop_env('GNOME'); shellDBusService = new ShellDBus.GnomeShell(); @@ -395,6 +398,27 @@ function loadTheme() { themeContext.set_theme (theme); } +/** + * notifyError: + * @msg: An error message + * @details: Additional information + * + * See shell_global_notify_problem(). + */ +function notifyError(msg, details) { + // Also print to stderr so it's logged somewhere + if (details) + log("error: " + msg + ": " + details); + else + log("error: " + msg) + + let source = new MessageTray.SystemNotificationSource(); + messageTray.add(source); + let notification = new MessageTray.Notification(source, msg, details); + notification.setTransient(true); + source.notify(notification); +} + /** * _log: * @category: string message type ('info', 'error') diff --git a/src/shell-global.c b/src/shell-global.c index 88b8224b7..ab112cc0f 100644 --- a/src/shell-global.c +++ b/src/shell-global.c @@ -21,6 +21,7 @@ #include #include #include +#include #include #include #include @@ -102,6 +103,7 @@ enum XDND_POSITION_CHANGED, XDND_LEAVE, XDND_ENTER, + NOTIFY_ERROR, LAST_SIGNAL }; @@ -293,6 +295,17 @@ shell_global_class_init (ShellGlobalClass *klass) g_cclosure_marshal_VOID__VOID, G_TYPE_NONE, 0); + shell_global_signals[NOTIFY_ERROR] = + g_signal_new ("notify-error", + G_TYPE_FROM_CLASS (klass), + G_SIGNAL_RUN_LAST, + 0, + NULL, NULL, + gi_cclosure_marshal_generic, + G_TYPE_NONE, 2, + G_TYPE_STRING, + G_TYPE_STRING); + g_object_class_install_property (gobject_class, PROP_OVERLAY_GROUP, g_param_spec_object ("overlay-group", @@ -1238,6 +1251,25 @@ shell_global_maybe_gc (ShellGlobal *global) gjs_context_maybe_gc (global->js_context); } +/** + * shell_global_notify_error: + * @global: a #ShellGlobal + * @msg: Error message + * @details: Error details + * + * Show a system error notification. Use this function + * when a user-initiated action results in a non-fatal problem + * from causes that may not be under system control. For + * example, an application crash. + */ +void +shell_global_notify_error (ShellGlobal *global, + const char *msg, + const char *details) +{ + g_signal_emit_by_name (global, "notify-error", msg, details); +} + static void grab_notify (GtkWidget *widget, gboolean was_grabbed, gpointer user_data) { diff --git a/src/shell-global.h b/src/shell-global.h index 1ca247c50..f05391915 100644 --- a/src/shell-global.h +++ b/src/shell-global.h @@ -143,6 +143,11 @@ void shell_global_play_theme_sound (ShellGlobal *global, void shell_global_cancel_theme_sound (ShellGlobal *global, guint id); + +void shell_global_notify_error (ShellGlobal *global, + const char *msg, + const char *details); + void shell_global_init_xdnd (ShellGlobal *global); typedef void (*ShellGetTpContactCb) (TpConnection *connection, From 4bf1df0894f8508d7a9476f7d432534b28930d98 Mon Sep 17 00:00:00 2001 From: Colin Walters Date: Tue, 15 Mar 2011 18:34:51 -0400 Subject: [PATCH 044/203] ShellApp: Report error when we fail to run an app https://bugzilla.gnome.org/show_bug.cgi?id=644402 --- po/POTFILES.in | 1 + src/shell-app.c | 27 ++++++++++++++++++++------- 2 files changed, 21 insertions(+), 7 deletions(-) diff --git a/po/POTFILES.in b/po/POTFILES.in index 51303bbf6..17e8a4d31 100644 --- a/po/POTFILES.in +++ b/po/POTFILES.in @@ -30,6 +30,7 @@ js/ui/workspacesView.js src/gvc/gvc-mixer-control.c src/gdmuser/gdm-user.c src/main.c +src/shell-app.c src/shell-app-system.c src/shell-global.c src/shell-mobile-providers.c diff --git a/src/shell-app.c b/src/shell-app.c index 9ffe85654..b27ebe6ba 100644 --- a/src/shell-app.c +++ b/src/shell-app.c @@ -4,6 +4,8 @@ #include +#include + #include #include "shell-app-private.h" @@ -427,13 +429,24 @@ shell_app_activate (ShellApp *app, switch (app->state) { case SHELL_APP_STATE_STOPPED: - /* TODO sensibly handle this error */ - shell_app_info_launch_full (app->info, - 0, - NULL, - workspace, - NULL, - NULL); + { + GError *error = NULL; + if (!shell_app_info_launch_full (app->info, + 0, + NULL, + workspace, + NULL, + &error)) + { + char *msg; + msg = g_strdup_printf (_("Failed to launch '%s'"), shell_app_get_name (app)); + shell_global_notify_error (shell_global_get (), + msg, + error->message); + g_free (msg); + g_clear_error (&error); + } + } break; case SHELL_APP_STATE_STARTING: break; From fea8b6da2fd524bbdade67516c2d107eda3cf1f0 Mon Sep 17 00:00:00 2001 From: Colin Walters Date: Thu, 10 Mar 2011 12:19:10 -0500 Subject: [PATCH 045/203] Remove broken ShellAppSystem API and all consumers In commit 9bd22dc0, I introduced an API to load an arbitrary .desktop file, not necessarily from the menu path. It turns out this function was broken because it created ShellApp instances that were *different* from ones that were cached normally. As far as I can tell, we didn't initially use it. Then later Util.spawnDesktop was created which used this function. Remove this broken function and all callers; if we're loading .desktop files from *outside* the menu path, we can look at readding. This patch also kills off Util.spawnDesktop in favor of callers talking to ShellAppSystem directly, now that the latter reports errors. https://bugzilla.gnome.org/show_bug.cgi?id=644402 --- js/misc/util.js | 41 ------------------- js/ui/dateMenu.js | 3 +- js/ui/status/accessibility.js | 3 +- js/ui/status/power.js | 3 +- js/ui/status/volume.js | 3 +- js/ui/statusMenu.js | 6 ++- src/shell-app-system.c | 75 ++++++++--------------------------- src/shell-app-system.h | 3 -- 8 files changed, 29 insertions(+), 108 deletions(-) diff --git a/js/misc/util.js b/js/misc/util.js index 1bc1a7283..1112bef21 100644 --- a/js/misc/util.js +++ b/js/misc/util.js @@ -55,20 +55,6 @@ function spawnCommandLine(command_line) { } } -// spawnDesktop: -// @id: a desktop file ID -// -// Spawns the desktop file identified by @id using startup notification, -// etc, handling any errors that occur when trying to find or start -// the program. -function spawnDesktop(id) { - try { - trySpawnDesktop(id); - } catch (err) { - _handleSpawnError(id, err); - } -} - // trySpawn: // @argv: an argv array // @@ -116,33 +102,6 @@ function trySpawnCommandLine(command_line) { trySpawn(argv); } -// trySpawnDesktop: -// @id: a desktop file ID -// -// Spawns the desktop file identified by @id using startup notification. -// On error, throws an exception. -function trySpawnDesktop(id) { - let app; - - // shell_app_system_load_from_desktop_file() will end up returning - // a stupid error message if the desktop file doesn't exist, but - // that's the only case it returns an error for, so we just - // substitute our own error in instead - try { - app = Shell.AppSystem.get_default().load_from_desktop_file(id + '.desktop'); - } catch (err) { - throw new Error(_("No such application")); - } - - try { - app.launch(); - } catch(err) { - // see trySpawn - err.message = err.message.replace(/.*\((.+)\)/, '$1'); - throw err; - } -} - function _handleSpawnError(command, err) { let title = _("Execution of '%s' failed:").format(command); Main.notifyProblem(title, err.message); diff --git a/js/ui/dateMenu.js b/js/ui/dateMenu.js index 6af0b68f5..c0c8cea4e 100644 --- a/js/ui/dateMenu.js +++ b/js/ui/dateMenu.js @@ -200,7 +200,8 @@ DateMenuButton.prototype = { _onPreferencesActivate: function() { this.menu.close(); - Util.spawnDesktop('gnome-datetime-panel'); + let app = Shell.AppSystem.get_default().get_app('gnome-datetime-panel.desktop'); + app.activate(-1); }, _onOpenCalendarActivate: function() { diff --git a/js/ui/status/accessibility.js b/js/ui/status/accessibility.js index 67b019ec8..b9cf7230a 100644 --- a/js/ui/status/accessibility.js +++ b/js/ui/status/accessibility.js @@ -91,7 +91,8 @@ ATIndicator.prototype = { this.menu.addMenuItem(new PopupMenu.PopupSeparatorMenuItem()); this.menu.addAction(_("Universal Access Settings"), function() { - Util.spawnDesktop('gnome-universal-access-panel'); + let app = Shell.AppSystem.get_default().get_app('gnome-universal-access-panel.desktop'); + app.activate(-1); }); }, diff --git a/js/ui/status/power.js b/js/ui/status/power.js index fabb18187..ca41f3a71 100644 --- a/js/ui/status/power.js +++ b/js/ui/status/power.js @@ -83,7 +83,8 @@ Indicator.prototype = { this.menu.addMenuItem(new PopupMenu.PopupSeparatorMenuItem()); this.menu.addAction(_("Power Settings"),function() { - Util.spawnDesktop('gnome-power-panel'); + let app = Shell.AppSystem.get_default().get_app('gnome-power-panel.desktop'); + app.activate(-1); }); this._proxy.connect('Changed', Lang.bind(this, this._devicesChanged)); diff --git a/js/ui/status/volume.js b/js/ui/status/volume.js index 36aa65d12..29ffcee76 100644 --- a/js/ui/status/volume.js +++ b/js/ui/status/volume.js @@ -64,7 +64,8 @@ Indicator.prototype = { this.menu.addMenuItem(new PopupMenu.PopupSeparatorMenuItem()); this.menu.addAction(_("Sound Settings"), function() { - Util.spawnDesktop('gnome-sound-panel'); + let app = Shell.AppSystem.get_default().get_app('gnome-sound-panel.desktop'); + app.activate(-1); }); this.actor.connect('scroll-event', Lang.bind(this, this._onScrollEvent)); diff --git a/js/ui/statusMenu.js b/js/ui/statusMenu.js index 2a04506db..26a4fe46a 100644 --- a/js/ui/statusMenu.js +++ b/js/ui/statusMenu.js @@ -190,12 +190,14 @@ StatusMenuButton.prototype = { _onMyAccountActivate: function() { Main.overview.hide(); - Util.spawnDesktop('gnome-user-accounts-panel'); + let app = Shell.AppSystem.get_default().get_app('gnome-user-accounts-panel.desktop'); + app.activate(-1); }, _onPreferencesActivate: function() { Main.overview.hide(); - Util.spawnDesktop('gnome-control-center'); + let app = Shell.AppSystem.get_default().get_app('gnome-control-center.desktop'); + app.activate(-1); }, _onLockScreenActivate: function() { diff --git a/src/shell-app-system.c b/src/shell-app-system.c index 519a83010..9012540a2 100644 --- a/src/shell-app-system.c +++ b/src/shell-app-system.c @@ -159,20 +159,6 @@ shell_app_info_new_from_window (MetaWindow *window) return info; } -static ShellAppInfo * -shell_app_info_new_from_keyfile_take_ownership (GKeyFile *keyfile, - const char *path) -{ - ShellAppInfo *info; - - info = g_slice_alloc0 (sizeof (ShellAppInfo)); - info->type = SHELL_APP_INFO_TYPE_DESKTOP_FILE; - info->refcount = 1; - info->keyfile = keyfile; - info->keyfile_path = g_strdup (path); - return info; -} - static void shell_app_system_class_init(ShellAppSystemClass *klass) { GObjectClass *gobject_class = (GObjectClass *)klass; @@ -576,44 +562,6 @@ _shell_app_system_register_app (ShellAppSystem *self, g_object_weak_ref (G_OBJECT (app), shell_app_system_on_app_weakref, ref); } -ShellAppInfo * -shell_app_system_load_from_desktop_file (ShellAppSystem *system, - const char *filename, - GError **error) -{ - ShellAppInfo *appinfo; - GKeyFile *keyfile; - char *full_path = NULL; - gboolean success; - - keyfile = g_key_file_new (); - - if (strchr (filename, '/') != NULL) - { - success = g_key_file_load_from_file (keyfile, filename, G_KEY_FILE_NONE, error); - full_path = g_strdup (filename); - } - else - { - char *app_path = g_build_filename ("applications", filename, NULL); - success = g_key_file_load_from_data_dirs (keyfile, app_path, &full_path, - G_KEY_FILE_NONE, error); - g_free (app_path); - } - - if (!success) - { - g_key_file_free (keyfile); - g_free (full_path); - return NULL; - } - - appinfo = shell_app_info_new_from_keyfile_take_ownership (keyfile, full_path); - g_free (full_path); - - return appinfo; -} - /** * shell_app_system_create_from_window: * @@ -1386,12 +1334,23 @@ shell_app_info_launch_full (ShellAppInfo *info, shell_app = shell_app_system_get_app (shell_app_system_get_default (), shell_app_info_get_id (info)); - ret = g_desktop_app_info_launch_uris_as_manager (gapp, uris, - G_APP_LAUNCH_CONTEXT (context), - G_SPAWN_SEARCH_PATH | G_SPAWN_DO_NOT_REAP_CHILD, - NULL, NULL, - _gather_pid_callback, shell_app, - error); + /* In the case where we know an app, we handle reaping the child internally, + * in the window tracker. + */ + if (shell_app != NULL) + ret = g_desktop_app_info_launch_uris_as_manager (gapp, uris, + G_APP_LAUNCH_CONTEXT (context), + G_SPAWN_SEARCH_PATH | G_SPAWN_DO_NOT_REAP_CHILD, + NULL, NULL, + _gather_pid_callback, shell_app, + error); + else + ret = g_desktop_app_info_launch_uris_as_manager (gapp, uris, + G_APP_LAUNCH_CONTEXT (context), + G_SPAWN_SEARCH_PATH, + NULL, NULL, + NULL, NULL, + error); g_object_unref (G_OBJECT (gapp)); diff --git a/src/shell-app-system.h b/src/shell-app-system.h index 3b615cecb..b53c78d6d 100644 --- a/src/shell-app-system.h +++ b/src/shell-app-system.h @@ -81,9 +81,6 @@ ShellApp *shell_app_system_get_app_for_window (ShellAppSystem *sel ShellApp *shell_app_system_lookup_heuristic_basename (ShellAppSystem *system, const char *id); -ShellAppInfo *shell_app_system_load_from_desktop_file (ShellAppSystem *system, - const char *filename, - GError **error); ShellAppInfo *shell_app_system_create_from_window (ShellAppSystem *system, MetaWindow *window); From 079953c3ee396ca5dccd38e6a36e85c355f3e109 Mon Sep 17 00:00:00 2001 From: Alexander Larsson Date: Mon, 28 Feb 2011 13:50:19 +0100 Subject: [PATCH 046/203] Switch to using the mutter primary monitor APIs https://bugzilla.gnome.org/show_bug.cgi?id=609258 --- js/ui/chrome.js | 4 ++-- js/ui/main.js | 2 +- js/ui/messageTray.js | 2 +- src/shell-global.c | 38 +++----------------------------------- 4 files changed, 7 insertions(+), 39 deletions(-) diff --git a/js/ui/chrome.js b/js/ui/chrome.js index addc9ac7d..32b8f04f4 100644 --- a/js/ui/chrome.js +++ b/js/ui/chrome.js @@ -36,8 +36,8 @@ Chrome.prototype = { this._trackedActors = []; - global.gdk_screen.connect('monitors-changed', - Lang.bind(this, this._monitorsChanged)); + global.screen.connect('monitors-changed', + Lang.bind(this, this._monitorsChanged)); global.screen.connect('restacked', Lang.bind(this, this._windowsRestacked)); diff --git a/js/ui/main.js b/js/ui/main.js index 3c3763bfb..2b4c20f46 100644 --- a/js/ui/main.js +++ b/js/ui/main.js @@ -192,7 +192,7 @@ function start() { // Attempt to become a PolicyKit authentication agent PolkitAuthenticationAgent.init() - global.gdk_screen.connect('monitors-changed', _relayout); + global.screen.connect('monitors-changed', _relayout); ExtensionSystem.init(); ExtensionSystem.loadExtensions(); diff --git a/js/ui/messageTray.js b/js/ui/messageTray.js index c105d4df6..5f707d400 100644 --- a/js/ui/messageTray.js +++ b/js/ui/messageTray.js @@ -1066,7 +1066,7 @@ MessageTray.prototype = { Main.chrome.trackActor(this._notificationBin); Main.chrome.trackActor(this._summaryBoxPointer.actor); - global.gdk_screen.connect('monitors-changed', Lang.bind(this, this._setSizePosition)); + global.screen.connect('monitors-changed', Lang.bind(this, this._setSizePosition)); this._setSizePosition(); diff --git a/src/shell-global.c b/src/shell-global.c index ab112cc0f..2d55033fa 100644 --- a/src/shell-global.c +++ b/src/shell-global.c @@ -1400,44 +1400,12 @@ shell_global_get_monitors (ShellGlobal *global) MetaRectangle * shell_global_get_primary_monitor (ShellGlobal *global) { - GdkScreen *screen = shell_global_get_gdk_screen (global); - GdkRectangle gdk_rect; + MetaScreen *screen = shell_global_get_screen (global); MetaRectangle rect; gint primary = 0; - /* gdk_screen_get_primary_monitor is only present in gtk-2.20+ - * and is in a useable state (supports heuristics and fallback modes) - * starting with 2.20.1 - */ -#if !GTK_CHECK_VERSION (2, 20, 1) - gint i; - gchar *output_name = NULL; - gint num_monitors = gdk_screen_get_n_monitors (screen); - - for (i = 0; i < num_monitors; i++) - { - /* Prefer the laptop's internal screen if present */ - output_name = gdk_screen_get_monitor_plug_name (screen, i); - if (output_name) - { - gboolean is_lvds = g_ascii_strncasecmp (output_name, "LVDS", 4) == 0; - g_free (output_name); - if (is_lvds) - { - primary = i; - break; - } - } - } -#else - primary = gdk_screen_get_primary_monitor (screen); -#endif - - gdk_screen_get_monitor_geometry (screen, primary, &gdk_rect); - rect.x = gdk_rect.x; - rect.y = gdk_rect.y; - rect.width = gdk_rect.width; - rect.height = gdk_rect.height; + primary = meta_screen_get_primary_monitor (screen); + meta_screen_get_monitor_geometry (screen, primary, &rect); return meta_rectangle_copy (&rect); } From d8bd9f5a66609ab36bfcb7dc114145049adb7af4 Mon Sep 17 00:00:00 2001 From: Alexander Larsson Date: Mon, 28 Feb 2011 20:06:58 +0100 Subject: [PATCH 047/203] Add and export shell_global_get_primary_monitor_index https://bugzilla.gnome.org/show_bug.cgi?id=609258 --- src/shell-global.c | 17 +++++++++++++++++ src/shell-global.h | 1 + 2 files changed, 18 insertions(+) diff --git a/src/shell-global.c b/src/shell-global.c index 2d55033fa..32836cba5 100644 --- a/src/shell-global.c +++ b/src/shell-global.c @@ -1410,6 +1410,23 @@ shell_global_get_primary_monitor (ShellGlobal *global) return meta_rectangle_copy (&rect); } +/** + * shell_global_get_primary_monitor_index: + * @global: the #ShellGlobal + * + * Gets the index of the primary monitor (the one that the + * panel is on). + * + * Return value: the index of the primary monitor + */ +int +shell_global_get_primary_monitor_index (ShellGlobal *global) +{ + MetaScreen *screen = shell_global_get_screen (global); + + return meta_screen_get_primary_monitor (screen); +} + /** * shell_global_get_focus_monitor: * @global: the #ShellGlobal diff --git a/src/shell-global.h b/src/shell-global.h index f05391915..40f9a8f9b 100644 --- a/src/shell-global.h +++ b/src/shell-global.h @@ -100,6 +100,7 @@ void shell_global_format_time_relative_pretty (ShellGlobal *global, guint delta, GSList *shell_global_get_monitors (ShellGlobal *global); MetaRectangle *shell_global_get_primary_monitor (ShellGlobal *global); +int shell_global_get_primary_monitor_index (ShellGlobal *global); MetaRectangle *shell_global_get_focus_monitor (ShellGlobal *global); void shell_global_get_pointer (ShellGlobal *global, From 708f1a97dd54772bf586523598be1701a8afe839 Mon Sep 17 00:00:00 2001 From: Alexander Larsson Date: Thu, 3 Mar 2011 22:31:10 +0100 Subject: [PATCH 048/203] Move the font color CSS rule from .workspaces-view to .window-caption This is needed once we start seeing window captions outside the workspaces view (for other monitors). https://bugzilla.gnome.org/show_bug.cgi?id=609258 --- data/theme/gnome-shell.css | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/data/theme/gnome-shell.css b/data/theme/gnome-shell.css index e281fcda0..d9ae984d0 100644 --- a/data/theme/gnome-shell.css +++ b/data/theme/gnome-shell.css @@ -324,7 +324,7 @@ StTooltip StLabel { background-color: rgba(0,0,0,0.6); } -.workspaces-view { +.window-caption { color: white; spacing: 25px; } From 06d2c0af3502295a76824191110c07c3e8d7fc30 Mon Sep 17 00:00:00 2001 From: Dan Winship Date: Thu, 3 Mar 2011 15:14:52 -0500 Subject: [PATCH 049/203] messageTray: dismiss notifications on click, not button-release-event Notification was connecting to button-release-event to decide when to be dismissed, which caused problems with widgets inside the notification that reacted to button-press-event but not button-release-event. Fix this by wrapping the Notification's table in an StButton and connecting to 'click'. https://bugzilla.gnome.org/show_bug.cgi?id=642978 --- js/ui/messageTray.js | 54 +++++++++++++++++++++----------------------- 1 file changed, 26 insertions(+), 28 deletions(-) diff --git a/js/ui/messageTray.js b/js/ui/messageTray.js index 5f707d400..d2c09f499 100644 --- a/js/ui/messageTray.js +++ b/js/ui/messageTray.js @@ -413,17 +413,15 @@ Notification.prototype = { this.destroy(); })); - this.actor = new St.Table({ name: 'notification', - reactive: true }); - this.actor.connect('style-changed', Lang.bind(this, this._styleChanged)); - this.actor.connect('button-release-event', Lang.bind(this, - function (actor, event) { - if (!this._actionArea || - !this._actionArea.contains(event.get_source())) - this._onClicked(); - })); + this.actor = new St.Button(); + this.actor.connect('clicked', Lang.bind(this, this._onClicked)); this.actor.connect('destroy', Lang.bind(this, this._onDestroy)); + this._table = new St.Table({ name: 'notification', + reactive: true }); + this._table.connect('style-changed', Lang.bind(this, this._styleChanged)); + this.actor.set_child(this._table); + this._buttonFocusManager = St.FocusManager.get_for_stage(global.stage); // The first line should have the title, followed by the @@ -435,10 +433,10 @@ Notification.prototype = { this._bannerBox.connect('get-preferred-width', Lang.bind(this, this._bannerBoxGetPreferredWidth)); this._bannerBox.connect('get-preferred-height', Lang.bind(this, this._bannerBoxGetPreferredHeight)); this._bannerBox.connect('allocate', Lang.bind(this, this._bannerBoxAllocate)); - this.actor.add(this._bannerBox, { row: 0, - col: 1, - y_expand: false, - y_fill: false }); + this._table.add(this._bannerBox, { row: 0, + col: 1, + y_expand: false, + y_fill: false }); this._titleLabel = new St.Label(); this._bannerBox.add_actor(this._titleLabel); @@ -484,15 +482,15 @@ Notification.prototype = { this._buttonBox = null; } if (!this._scrollArea && !this._actionArea) - this.actor.remove_style_class_name('multi-line-notification'); + this._table.remove_style_class_name('multi-line-notification'); this._icon = params.icon || this.source.createNotificationIcon(); - this.actor.add(this._icon, { row: 0, - col: 0, - x_expand: false, - y_expand: false, - y_fill: false, - y_align: St.Align.START }); + this._table.add(this._icon, { row: 0, + col: 0, + x_expand: false, + y_expand: false, + y_fill: false, + y_align: St.Align.START }); title = title ? _fixMarkup(title.replace(/\n/g, ' '), params.titleMarkup) : ''; this._titleLabel.clutter_text.set_markup('' + title + ''); @@ -519,12 +517,12 @@ Notification.prototype = { }, _createScrollArea: function() { - this.actor.add_style_class_name('multi-line-notification'); + this._table.add_style_class_name('multi-line-notification'); this._scrollArea = new St.ScrollView({ name: 'notification-scrollview', vscrollbar_policy: Gtk.PolicyType.AUTOMATIC, hscrollbar_policy: Gtk.PolicyType.NEVER, vfade: true }); - this.actor.add(this._scrollArea, { row: 1, col: 1 }); + this._table.add(this._scrollArea, { row: 1, col: 1 }); this._contentArea = new St.BoxLayout({ name: 'notification-body', vertical: true }); this._scrollArea.add_actor(this._contentArea); @@ -603,8 +601,8 @@ Notification.prototype = { props.row = 2; props.col = 1; - this.actor.add_style_class_name('multi-line-notification'); - this.actor.add(this._actionArea, props); + this._table.add_style_class_name('multi-line-notification'); + this._table.add(this._actionArea, props); this._updated(); }, @@ -665,7 +663,7 @@ Notification.prototype = { }, _styleChanged: function() { - this._spacing = this.actor.get_theme_node().get_length('spacing-columns'); + this._spacing = this._table.get_theme_node().get_length('spacing-columns'); }, _bannerBoxGetPreferredWidth: function(actor, forHeight, alloc) { @@ -710,7 +708,7 @@ Notification.prototype = { // Make _bannerLabel visible if the entire notification // fits on one line, or if the notification is currently // unexpanded and only showing one line anyway. - if (!this.expanded || (bannerFits && this.actor.row_count == 1)) + if (!this.expanded || (bannerFits && this._table.row_count == 1)) this._bannerLabel.opacity = 255; } @@ -722,7 +720,7 @@ Notification.prototype = { function() { this._addBannerBody(); if (!this._titleFitsInBannerMode) - this.actor.add_style_class_name('multi-line-notification'); + this._table.add_style_class_name('multi-line-notification'); this._updated(); return false; })); @@ -743,7 +741,7 @@ Notification.prototype = { this._titleLabel.clutter_text.line_wrap = true; this._titleLabel.clutter_text.line_wrap_mode = Pango.WrapMode.WORD_CHAR; this._titleLabel.clutter_text.ellipsize = Pango.EllipsizeMode.NONE; - } else if (this.actor.row_count > 1 && this._bannerLabel.opacity != 0) { + } else if (this._table.row_count > 1 && this._bannerLabel.opacity != 0) { // We always hide the banner if the notification has additional content. // // We don't need to wrap the banner that doesn't fit the way we wrap the From 147725bf7ae4e8c99836ea9d0cb5645d28964909 Mon Sep 17 00:00:00 2001 From: "Owen W. Taylor" Date: Wed, 16 Mar 2011 18:01:16 -0400 Subject: [PATCH 050/203] gnome-shell.modules: Add a gtk3 dep for libgweather --- tools/build/gnome-shell.modules | 1 + 1 file changed, 1 insertion(+) diff --git a/tools/build/gnome-shell.modules b/tools/build/gnome-shell.modules index 52a265d4b..5beb818f5 100644 --- a/tools/build/gnome-shell.modules +++ b/tools/build/gnome-shell.modules @@ -227,6 +227,7 @@ + From fc8cba95989dc7024878cdeafa6280da405124b1 Mon Sep 17 00:00:00 2001 From: Yaron Shahrabani Date: Thu, 17 Mar 2011 00:38:02 +0200 Subject: [PATCH 051/203] Updated Hebrew translation. --- po/he.po | 342 +++++++++++++++++++++++++++++++++++++++---------------- 1 file changed, 244 insertions(+), 98 deletions(-) diff --git a/po/he.po b/po/he.po index 08a4d69fb..1eecb0e11 100644 --- a/po/he.po +++ b/po/he.po @@ -8,8 +8,8 @@ msgid "" msgstr "" "Project-Id-Version: gnome-shell master\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2011-03-10 18:43+0200\n" -"PO-Revision-Date: 2011-03-10 18:45+0200\n" +"POT-Creation-Date: 2011-03-17 00:33+0200\n" +"PO-Revision-Date: 2011-03-17 00:37+0200\n" "Last-Translator: Yaron Shahrabani \n" "Language-Team: Hebrew \n" "MIME-Version: 1.0\n" @@ -171,21 +171,17 @@ msgstr "Whether to collect stats about applications usage" msgid "disabled OpenSearch providers" msgstr "disabled OpenSearch providers" -#: ../js/misc/util.js:86 +#: ../js/misc/util.js:71 msgid "Command not found" msgstr "הפקודה לא נמצאה" #. Replace "Error invoking GLib.shell_parse_argv: " with #. something nicer -#: ../js/misc/util.js:113 +#: ../js/misc/util.js:98 msgid "Could not parse command:" msgstr "לא ניתן לפענח את הפקודה:" -#: ../js/misc/util.js:135 -msgid "No such application" -msgstr "אין כזה יישום" - -#: ../js/misc/util.js:148 +#: ../js/misc/util.js:106 #, c-format msgid "Execution of '%s' failed:" msgstr "ההרצה של '%s' נכשלה:" @@ -371,7 +367,7 @@ msgstr "השבוע" msgid "Next week" msgstr "בשבוע הבא" -#: ../js/ui/dash.js:174 ../js/ui/messageTray.js:931 +#: ../js/ui/dash.js:174 ../js/ui/messageTray.js:933 msgid "Remove" msgstr "הסרה" @@ -426,7 +422,7 @@ msgstr "%a %l:%M %p" #. Translators: This is the date format to use when the calendar popup is #. * shown - it is shown just below the time in the shell (e.g. "Tue 9:29 AM"). #. -#: ../js/ui/dateMenu.js:209 +#: ../js/ui/dateMenu.js:194 msgid "%A %B %e, %Y" msgstr "%A ה־%e ב%B, %Y" @@ -499,7 +495,7 @@ msgstr "המערכת מופעלת מחדש" msgid "Confirm" msgstr "אישור" -#: ../js/ui/endSessionDialog.js:400 ../js/ui/status/bluetooth.js:470 +#: ../js/ui/endSessionDialog.js:400 ../js/ui/status/bluetooth.js:465 msgid "Cancel" msgstr "ביטול" @@ -513,7 +509,7 @@ msgstr "פעיל" #. translators: #. * The device has been disabled -#: ../js/ui/lookingGlass.js:627 ../src/gvc/gvc-mixer-control.c:1087 +#: ../js/ui/lookingGlass.js:627 ../src/gvc/gvc-mixer-control.c:1091 msgid "Disabled" msgstr "מנוטרל" @@ -533,11 +529,11 @@ msgstr "צפייה במקור" msgid "Web Page" msgstr "דף אינטרנט" -#: ../js/ui/messageTray.js:924 +#: ../js/ui/messageTray.js:926 msgid "Open" msgstr "פתיחה" -#: ../js/ui/messageTray.js:1961 +#: ../js/ui/messageTray.js:1986 msgid "System Information" msgstr "פרטי המערכת" @@ -560,18 +556,18 @@ msgid "Dash" msgstr "חלונית" #. TODO - _quit() doesn't really work on apps in state STARTING yet -#: ../js/ui/panel.js:560 +#: ../js/ui/panel.js:514 #, c-format msgid "Quit %s" msgstr "יציאה מ־%s" #. Button on the left side of the panel. #. Translators: If there is no suitable word for "Activities" in your language, you can use the word for "Overview". -#: ../js/ui/panel.js:919 +#: ../js/ui/panel.js:873 msgid "Activities" msgstr "פעילויות" -#: ../js/ui/panel.js:1020 +#: ../js/ui/panel.js:974 msgid "Panel" msgstr "לוח" @@ -588,7 +584,7 @@ msgstr "ניסיון חוזר" msgid "Connect to..." msgstr "התחברות אל..." -#: ../js/ui/placeDisplay.js:409 +#: ../js/ui/placeDisplay.js:380 msgid "PLACES & DEVICES" msgstr "מקומות והתקנים" @@ -597,7 +593,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:618 +#: ../js/ui/popupMenu.js:636 msgid "toggle-switch-us" msgstr "toggle-switch-intl" @@ -613,39 +609,39 @@ msgstr "בחיפוש..." msgid "No matching results." msgstr "אין תוצאות תואמות." -#: ../js/ui/statusMenu.js:113 ../js/ui/statusMenu.js:177 +#: ../js/ui/statusMenu.js:114 ../js/ui/statusMenu.js:178 msgid "Power Off..." msgstr "כיבוי..." -#: ../js/ui/statusMenu.js:115 ../js/ui/statusMenu.js:176 +#: ../js/ui/statusMenu.js:116 ../js/ui/statusMenu.js:177 msgid "Suspend" msgstr "השהיה" -#: ../js/ui/statusMenu.js:136 +#: ../js/ui/statusMenu.js:137 msgid "Available" msgstr "זמין" -#: ../js/ui/statusMenu.js:141 +#: ../js/ui/statusMenu.js:142 msgid "Busy" msgstr "עסוק" -#: ../js/ui/statusMenu.js:149 +#: ../js/ui/statusMenu.js:150 msgid "My Account" msgstr "החשבון שלי" -#: ../js/ui/statusMenu.js:153 +#: ../js/ui/statusMenu.js:154 msgid "System Settings" msgstr "הגדרות המערכת" -#: ../js/ui/statusMenu.js:160 +#: ../js/ui/statusMenu.js:161 msgid "Lock Screen" msgstr "נעילת המסך" -#: ../js/ui/statusMenu.js:164 +#: ../js/ui/statusMenu.js:165 msgid "Switch User" msgstr "החלפת משתמש" -#: ../js/ui/statusMenu.js:169 +#: ../js/ui/statusMenu.js:170 msgid "Log Out..." msgstr "ניתוק..." @@ -653,14 +649,12 @@ msgstr "ניתוק..." msgid "Zoom" msgstr "תקריב" -#: ../js/ui/status/accessibility.js:69 -msgid "Screen Reader" -msgstr "מקריא מסך" - -#: ../js/ui/status/accessibility.js:73 -msgid "Screen Keyboard" -msgstr "מקלדת מסך" - +#. let screenReader = this._buildItem(_("Screen Reader"), APPLICATIONS_SCHEMA, +#. 'screen-reader-enabled'); +#. this.menu.addMenuItem(screenReader); +#. let screenKeyboard = this._buildItem(_("Screen Keyboard"), APPLICATIONS_SCHEMA, +#. 'screen-keyboard-enabled'); +#. this.menu.addMenuItem(screenKeyboard); #: ../js/ui/status/accessibility.js:77 msgid "Visual Alerts" msgstr "התראות חזותיות" @@ -685,17 +679,17 @@ msgstr "מקשי עכבר" msgid "Universal Access Settings" msgstr "הגדרות גישה אוניברסלית" -#: ../js/ui/status/accessibility.js:145 +#: ../js/ui/status/accessibility.js:146 msgid "High Contrast" msgstr "ניגודיות גבוהה" -#: ../js/ui/status/accessibility.js:182 +#: ../js/ui/status/accessibility.js:183 msgid "Large Text" msgstr "טקסט גדול" -#: ../js/ui/status/bluetooth.js:42 ../js/ui/status/bluetooth.js:241 -#: ../js/ui/status/bluetooth.js:337 ../js/ui/status/bluetooth.js:371 -#: ../js/ui/status/bluetooth.js:411 ../js/ui/status/bluetooth.js:444 +#: ../js/ui/status/bluetooth.js:42 ../js/ui/status/bluetooth.js:236 +#: ../js/ui/status/bluetooth.js:332 ../js/ui/status/bluetooth.js:366 +#: ../js/ui/status/bluetooth.js:406 ../js/ui/status/bluetooth.js:439 msgid "Bluetooth" msgstr "Bluetooth" @@ -715,94 +709,94 @@ msgstr "הגדרת התקן חדש..." msgid "Bluetooth Settings" msgstr "הגדרות Bluetooth" -#: ../js/ui/status/bluetooth.js:192 +#: ../js/ui/status/bluetooth.js:187 msgid "Connection" msgstr "חיבור" -#: ../js/ui/status/bluetooth.js:228 +#: ../js/ui/status/bluetooth.js:223 msgid "Send Files..." msgstr "שליחת קבצים..." -#: ../js/ui/status/bluetooth.js:233 +#: ../js/ui/status/bluetooth.js:228 msgid "Browse Files..." msgstr "עיון בקבצים..." -#: ../js/ui/status/bluetooth.js:242 +#: ../js/ui/status/bluetooth.js:237 msgid "Error browsing device" msgstr "שגיאה בעיון בהתקן" -#: ../js/ui/status/bluetooth.js:243 +#: ../js/ui/status/bluetooth.js:238 #, c-format msgid "The requested device cannot be browsed, error is '%s'" msgstr "לא ניתן לעיין בהתקן הנבחר, השגיאה היא '%s'" -#: ../js/ui/status/bluetooth.js:251 +#: ../js/ui/status/bluetooth.js:246 msgid "Keyboard Settings" msgstr "הגדרות מקלדת" -#: ../js/ui/status/bluetooth.js:256 +#: ../js/ui/status/bluetooth.js:251 msgid "Mouse Settings" msgstr "הגדרות עכבר" -#: ../js/ui/status/bluetooth.js:263 ../js/ui/status/volume.js:65 +#: ../js/ui/status/bluetooth.js:258 ../js/ui/status/volume.js:66 msgid "Sound Settings" msgstr "הגדרות שמע" -#: ../js/ui/status/bluetooth.js:372 +#: ../js/ui/status/bluetooth.js:367 #, c-format msgid "Authorization request from %s" msgstr "בקשת אישור מאת %s" -#: ../js/ui/status/bluetooth.js:378 +#: ../js/ui/status/bluetooth.js:373 #, c-format msgid "Device %s wants access to the service '%s'" msgstr "ההתקן %s מעוניין לגשת אל השירות '%s'" -#: ../js/ui/status/bluetooth.js:380 +#: ../js/ui/status/bluetooth.js:375 msgid "Always grant access" msgstr "תמיד להעניק גישה" -#: ../js/ui/status/bluetooth.js:381 +#: ../js/ui/status/bluetooth.js:376 msgid "Grant this time only" msgstr "הענקת גישה הפעם בלבד" -#: ../js/ui/status/bluetooth.js:382 +#: ../js/ui/status/bluetooth.js:377 msgid "Reject" msgstr "סירוב" -#: ../js/ui/status/bluetooth.js:412 +#: ../js/ui/status/bluetooth.js:407 #, c-format msgid "Pairing confirmation for %s" msgstr "אישור צימוד עבור %s" -#: ../js/ui/status/bluetooth.js:418 ../js/ui/status/bluetooth.js:452 +#: ../js/ui/status/bluetooth.js:413 ../js/ui/status/bluetooth.js:447 #, c-format msgid "Device %s wants to pair with this computer" msgstr "ההתקן %s מעוניין בצימוד עם מחשב זה" -#: ../js/ui/status/bluetooth.js:419 +#: ../js/ui/status/bluetooth.js:414 #, c-format msgid "Please confirm whether the PIN '%s' matches the one on the device." msgstr "נא לאשר האם קוד ה־PIN‏ '%s' תואם את זה שמופיע בהתקן." -#: ../js/ui/status/bluetooth.js:421 +#: ../js/ui/status/bluetooth.js:416 msgid "Matches" msgstr "התאמות" -#: ../js/ui/status/bluetooth.js:422 +#: ../js/ui/status/bluetooth.js:417 msgid "Does not match" msgstr "אינו תואם" -#: ../js/ui/status/bluetooth.js:445 +#: ../js/ui/status/bluetooth.js:440 #, c-format msgid "Pairing request for %s" msgstr "בקשת צימוד עבור %s" -#: ../js/ui/status/bluetooth.js:453 +#: ../js/ui/status/bluetooth.js:448 msgid "Please enter the PIN mentioned on the device." msgstr "נא להזין את קוד ה־PIN המוזכר בהתקן." -#: ../js/ui/status/bluetooth.js:469 +#: ../js/ui/status/bluetooth.js:464 msgid "OK" msgstr "אישור" @@ -814,17 +808,147 @@ msgstr "הצגת פריסת המקלדת..." msgid "Localization Settings" msgstr "הגדרות אזוריות" +#: ../js/ui/status/network.js:102 ../js/ui/status/network.js:1393 +msgid "" +msgstr "<לא ידוע>" + +#. Translators: this indicates that wireless or wwan is disabled by hardware killswitch +#: ../js/ui/status/network.js:295 +msgid "disabled" +msgstr "מנוטרל" + +#: ../js/ui/status/network.js:476 +msgid "connecting..." +msgstr "בהתחברות..." + +#. Translators: this is for network connections that require some kind of key or password +#: ../js/ui/status/network.js:479 +msgid "authentication required" +msgstr "נדרש אימות" + +#. Translators: this is for wired network devices that are physically disconnected +#: ../js/ui/status/network.js:485 +msgid "cable unplugged" +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:489 +msgid "unavailable" +msgstr "לא זמין" + +#: ../js/ui/status/network.js:491 +msgid "connection failed" +msgstr "החיבור נכשל" + +#. TRANSLATORS: this is the indication that a connection for another logged in user is active, +#. and we cannot access its settings (including the name) +#: ../js/ui/status/network.js:571 ../js/ui/status/network.js:1341 +msgid "Connected (private)" +msgstr "מחובר (פרטי)" + +#: ../js/ui/status/network.js:636 +msgid "Auto Ethernet" +msgstr "אתרנט אוטומטי" + +#: ../js/ui/status/network.js:697 +msgid "Auto broadband" +msgstr "פס רחב אוטומטי" + +#: ../js/ui/status/network.js:700 +msgid "Auto dial-up" +msgstr "חיוג אוטומטי" + +#. TRANSLATORS: this the automatic wireless connection name (including the network name) +#: ../js/ui/status/network.js:843 ../js/ui/status/network.js:1353 +#, c-format +msgid "Auto %s" +msgstr "%s אוטומטי" + +#: ../js/ui/status/network.js:845 +msgid "Auto bluetooth" +msgstr "Bluetooth אוטומטי" + +#: ../js/ui/status/network.js:1355 +msgid "Auto wireless" +msgstr "אלחוטי אוטומטי" + +#: ../js/ui/status/network.js:1413 +msgid "More..." +msgstr "עוד..." + +#: ../js/ui/status/network.js:1436 +msgid "Enable networking" +msgstr "הפעלת תכונת הרשת" + +#: ../js/ui/status/network.js:1448 +msgid "Wired" +msgstr "קווי" + +#: ../js/ui/status/network.js:1459 +msgid "Wireless" +msgstr "אלחוטי" + +#: ../js/ui/status/network.js:1469 +msgid "Mobile broadband" +msgstr "פס־רחב נייד" + +#: ../js/ui/status/network.js:1479 +msgid "VPN Connections" +msgstr "חיבורי VPN" + +#: ../js/ui/status/network.js:1488 +msgid "Network Settings" +msgstr "הגדרות הרשת" + +#: ../js/ui/status/network.js:1782 +#, c-format +msgid "You're now connected to mobile broadband connection '%s'" +msgstr "כרגע ישנו חיבור בינך ובין רשת הפס הרחב הניידת '%s'" + +#: ../js/ui/status/network.js:1786 +#, c-format +msgid "You're now connected to wireless network '%s'" +msgstr "כרגע ישנו חיבור בינך ובין הרשת האלחוטית '%s'" + +#: ../js/ui/status/network.js:1790 +#, c-format +msgid "You're now connected to wired network '%s'" +msgstr "כרגע ישנו חיבור בינך ובין הרשת הקווית '%s'" + +#: ../js/ui/status/network.js:1794 +#, c-format +msgid "You're now connected to VPN network '%s'" +msgstr "כרגע ישנו חיבור בינך ובין רשת ה־VPN‏ '%s'" + +#: ../js/ui/status/network.js:1799 +#, c-format +msgid "You're now connected to '%s'" +msgstr "כעת ישנו חיבור בינך ובין '%s'" + +#: ../js/ui/status/network.js:1807 +msgid "Connection estabilished" +msgstr "ההתחברות הצליחה" + +#: ../js/ui/status/network.js:1929 +msgid "Networking is disabled" +msgstr "תכונת הרשת מנוטרלת" + +#: ../js/ui/status/network.js:2054 +msgid "Network Manager" +msgstr "מנהל הרשתות" + #: ../js/ui/status/power.js:85 msgid "Power Settings" msgstr "הגדרות צריכת החשמל" #. 0 is reported when UPower does not have enough data #. to estimate battery life -#: ../js/ui/status/power.js:110 +#: ../js/ui/status/power.js:111 msgid "Estimating..." msgstr "מתבצע שיערוך..." -#: ../js/ui/status/power.js:117 +#: ../js/ui/status/power.js:118 #, c-format msgid "%d hour remaining" msgid_plural "%d hours remaining" @@ -833,26 +957,26 @@ msgstr[1] "נותרו %d שעות" msgstr[2] "נותרו שעתיים" #. TRANSLATORS: this is a time string, as in "%d hours %d minutes remaining" -#: ../js/ui/status/power.js:120 +#: ../js/ui/status/power.js:121 #, c-format msgid "%d %s %d %s remaining" msgstr "%d %s %d %s נותרו" -#: ../js/ui/status/power.js:122 +#: ../js/ui/status/power.js:123 msgid "hour" msgid_plural "hours" msgstr[0] "שעה" msgstr[1] "שעות" msgstr[2] "שעתיים" -#: ../js/ui/status/power.js:122 +#: ../js/ui/status/power.js:123 msgid "minute" msgid_plural "minutes" msgstr[0] "דקה" msgstr[1] "דקות" msgstr[2] "דקות" -#: ../js/ui/status/power.js:125 +#: ../js/ui/status/power.js:126 #, c-format msgid "%d minute remaining" msgid_plural "%d minutes remaining" @@ -860,78 +984,78 @@ msgstr[0] "דקה אחת נותרה" msgstr[1] "%d דקות נותרו" msgstr[2] "שתי דקות נותרו" -#: ../js/ui/status/power.js:227 +#: ../js/ui/status/power.js:228 msgid "AC adapter" msgstr "מתאם חשמל" -#: ../js/ui/status/power.js:229 +#: ../js/ui/status/power.js:230 msgid "Laptop battery" msgstr "סוללת נייד" -#: ../js/ui/status/power.js:231 +#: ../js/ui/status/power.js:232 msgid "UPS" msgstr "אל־פסק" -#: ../js/ui/status/power.js:233 +#: ../js/ui/status/power.js:234 msgid "Monitor" msgstr "צג" -#: ../js/ui/status/power.js:235 +#: ../js/ui/status/power.js:236 msgid "Mouse" msgstr "עכבר" -#: ../js/ui/status/power.js:237 +#: ../js/ui/status/power.js:238 msgid "Keyboard" msgstr "מקלדת" -#: ../js/ui/status/power.js:239 +#: ../js/ui/status/power.js:240 msgid "PDA" msgstr "מחשב כף יד" -#: ../js/ui/status/power.js:241 +#: ../js/ui/status/power.js:242 msgid "Cell phone" msgstr "טלפון סלולרי" -#: ../js/ui/status/power.js:243 +#: ../js/ui/status/power.js:244 msgid "Media player" msgstr "נגן מדיה" -#: ../js/ui/status/power.js:245 +#: ../js/ui/status/power.js:246 msgid "Tablet" msgstr "טבלת שליטה" -#: ../js/ui/status/power.js:247 +#: ../js/ui/status/power.js:248 msgid "Computer" msgstr "מחשב" -#: ../js/ui/status/power.js:249 ../src/shell-app-system.c:1013 +#: ../js/ui/status/power.js:250 ../src/shell-app-system.c:961 msgid "Unknown" msgstr "לא ידוע" -#: ../js/ui/status/volume.js:44 +#: ../js/ui/status/volume.js:45 msgid "Volume" msgstr "עצמה" -#: ../js/ui/status/volume.js:57 +#: ../js/ui/status/volume.js:58 msgid "Microphone" msgstr "מיקרופון" -#: ../js/ui/telepathyClient.js:239 +#: ../js/ui/telepathyClient.js:332 #, c-format msgid "%s is online." msgstr "%s התחבר/ה." -#: ../js/ui/telepathyClient.js:244 +#: ../js/ui/telepathyClient.js:337 #, c-format msgid "%s is offline." msgstr "%s התנתק/ה." -#: ../js/ui/telepathyClient.js:247 +#: ../js/ui/telepathyClient.js:340 #, c-format msgid "%s is away." msgstr "'%s' מרוחק/ת." -#: ../js/ui/telepathyClient.js:250 +#: ../js/ui/telepathyClient.js:343 #, c-format msgid "%s is busy." msgstr "%s עסוק/ה." @@ -939,7 +1063,7 @@ msgstr "%s עסוק/ה." #. Translators: this is a time format string followed by a date. #. If applicable, replace %X with a strftime format valid for your #. locale, without seconds. -#: ../js/ui/telepathyClient.js:357 +#: ../js/ui/telepathyClient.js:474 #, no-c-format msgid "Sent at %X on %A" msgstr "נשלח ב־%X בשעה %A" @@ -948,11 +1072,11 @@ msgstr "נשלח ב־%X בשעה %A" #. in the search entry when no search is #. active; it should not exceed ~30 #. characters. -#: ../js/ui/viewSelector.js:117 +#: ../js/ui/viewSelector.js:119 msgid "Type to search..." msgstr "יש להקליד כדי לחפש..." -#: ../js/ui/viewSelector.js:137 ../src/shell-util.c:250 +#: ../js/ui/viewSelector.js:139 ../src/shell-util.c:250 msgid "Search" msgstr "חיפוש" @@ -968,7 +1092,7 @@ msgstr "'%s' מוכן" #. translators: #. * The number of sound outputs on a particular device -#: ../src/gvc/gvc-mixer-control.c:1094 +#: ../src/gvc/gvc-mixer-control.c:1098 #, c-format msgid "%u Output" msgid_plural "%u Outputs" @@ -978,7 +1102,7 @@ msgstr[2] "2 פלטים" #. translators: #. * The number of sound inputs on a particular device -#: ../src/gvc/gvc-mixer-control.c:1104 +#: ../src/gvc/gvc-mixer-control.c:1108 #, c-format msgid "%u Input" msgid_plural "%u Inputs" @@ -986,7 +1110,7 @@ msgstr[0] "קלט אחד" msgstr[1] "%u קלטים" msgstr[2] "2 קלטים" -#: ../src/gvc/gvc-mixer-control.c:1402 +#: ../src/gvc/gvc-mixer-control.c:1406 msgid "System Sounds" msgstr "צלילי מערכת" @@ -994,11 +1118,16 @@ msgstr "צלילי מערכת" msgid "Print version" msgstr "Print version" -#: ../src/shell-global.c:1308 +#: ../src/shell-app.c:442 +#, c-format +msgid "Failed to launch '%s'" +msgstr "אירע כשל בטעינת '%s'" + +#: ../src/shell-global.c:1340 msgid "Less than a minute ago" msgstr "לפני פחות מדקה" -#: ../src/shell-global.c:1312 +#: ../src/shell-global.c:1344 #, c-format msgid "%d minute ago" msgid_plural "%d minutes ago" @@ -1006,7 +1135,7 @@ msgstr[0] "לפני דקה" msgstr[1] "לפני %d דקות" msgstr[2] "לפני 2 דקות" -#: ../src/shell-global.c:1317 +#: ../src/shell-global.c:1349 #, c-format msgid "%d hour ago" msgid_plural "%d hours ago" @@ -1014,7 +1143,7 @@ msgstr[0] "לפני שעה" msgstr[1] "לפני %d שעות" msgstr[2] "לפני שעתיים" -#: ../src/shell-global.c:1322 +#: ../src/shell-global.c:1354 #, c-format msgid "%d day ago" msgid_plural "%d days ago" @@ -1022,7 +1151,7 @@ msgstr[0] "לפני יום" msgstr[1] "לפני %d ימים" msgstr[2] "לפני יומיים" -#: ../src/shell-global.c:1327 +#: ../src/shell-global.c:1359 #, c-format msgid "%d week ago" msgid_plural "%d weeks ago" @@ -1030,6 +1159,14 @@ msgstr[0] "לפני שבוע" msgstr[1] "לפני %d שבועות" msgstr[2] "לפני שבועיים" +#: ../src/shell-mobile-providers.c:80 +msgid "United Kingdom" +msgstr "בריטניה" + +#: ../src/shell-mobile-providers.c:526 +msgid "Default" +msgstr "בררת מחדל" + #: ../src/shell-polkit-authentication-agent.c:334 msgid "Authentication dialog was dismissed by the user" msgstr "המשתמש בחר להתעלם מתיבת דו־שיח האימות" @@ -1054,6 +1191,15 @@ msgstr "מערכת הקבצים" msgid "%1$s: %2$s" msgstr "%1$s: %2$s" +#~ msgid "No such application" +#~ msgstr "אין כזה יישום" + +#~ msgid "Screen Reader" +#~ msgstr "מקריא מסך" + +#~ msgid "Screen Keyboard" +#~ msgstr "מקלדת מסך" + #~ msgid "PREFERENCES" #~ msgstr "העדפות" From 87fbd715a3f1ddded758e309aacd9307a8cb0c25 Mon Sep 17 00:00:00 2001 From: Kjartan Maraas Date: Thu, 17 Mar 2011 09:44:09 +0100 Subject: [PATCH 052/203] =?UTF-8?q?Updated=20Norwegian=20bokm=C3=A5l=20tra?= =?UTF-8?q?nslation?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- po/nb.po | 331 +++++++++++++++++++++++++++++++++++++++---------------- 1 file changed, 234 insertions(+), 97 deletions(-) diff --git a/po/nb.po b/po/nb.po index 6b4725551..ca6c04ec3 100644 --- a/po/nb.po +++ b/po/nb.po @@ -8,8 +8,8 @@ msgid "" msgstr "" "Project-Id-Version: gnome-shell 2.91.x\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2011-03-08 15:24+0100\n" -"PO-Revision-Date: 2011-03-08 15:29+0100\n" +"POT-Creation-Date: 2011-03-17 09:36+0100\n" +"PO-Revision-Date: 2011-03-17 09:44+0100\n" "Last-Translator: Kjartan Maraas \n" "Language-Team: Norwegian Bokmål \n" "Language: \n" @@ -145,23 +145,19 @@ msgstr "Om det skal samles statistikk om bruk av programmer" #: ../data/org.gnome.shell.gschema.xml.in.h:24 msgid "disabled OpenSearch providers" -msgstr "" +msgstr "OpenSearch tilbydere slått av" -#: ../js/misc/util.js:86 +#: ../js/misc/util.js:71 msgid "Command not found" msgstr "Kommando ikke funnet" #. Replace "Error invoking GLib.shell_parse_argv: " with #. something nicer -#: ../js/misc/util.js:113 +#: ../js/misc/util.js:98 msgid "Could not parse command:" msgstr "Klarte ikke å lese kommando:" -#: ../js/misc/util.js:135 -msgid "No such application" -msgstr "Programmet finnes ikke" - -#: ../js/misc/util.js:148 +#: ../js/misc/util.js:106 #, c-format msgid "Execution of '%s' failed:" msgstr "Kjøring av «%s» feilet:" @@ -402,7 +398,7 @@ msgstr "%a %l.%M %p" #. Translators: This is the date format to use when the calendar popup is #. * shown - it is shown just below the time in the shell (e.g. "Tue 9:29 AM"). #. -#: ../js/ui/dateMenu.js:209 +#: ../js/ui/dateMenu.js:194 msgid "%A %B %e, %Y" msgstr "%a %e %B, %Y" @@ -478,7 +474,7 @@ msgstr "Starter systemet på nytt." msgid "Confirm" msgstr "Bekreft" -#: ../js/ui/endSessionDialog.js:400 ../js/ui/status/bluetooth.js:470 +#: ../js/ui/endSessionDialog.js:400 ../js/ui/status/bluetooth.js:465 msgid "Cancel" msgstr "Avbryt" @@ -492,7 +488,7 @@ msgstr "Aktivert" #. translators: #. * The device has been disabled -#: ../js/ui/lookingGlass.js:627 ../src/gvc/gvc-mixer-control.c:1087 +#: ../js/ui/lookingGlass.js:627 ../src/gvc/gvc-mixer-control.c:1091 msgid "Disabled" msgstr "Deaktivert" @@ -516,7 +512,7 @@ msgstr "Nettside" msgid "Open" msgstr "Åpne" -#: ../js/ui/messageTray.js:1963 +#: ../js/ui/messageTray.js:1986 msgid "System Information" msgstr "Systeminformasjon" @@ -539,18 +535,18 @@ msgid "Dash" msgstr "Favoritter" #. TODO - _quit() doesn't really work on apps in state STARTING yet -#: ../js/ui/panel.js:532 +#: ../js/ui/panel.js:514 #, c-format msgid "Quit %s" msgstr "Avslutt %s" #. Button on the left side of the panel. #. Translators: If there is no suitable word for "Activities" in your language, you can use the word for "Overview". -#: ../js/ui/panel.js:893 +#: ../js/ui/panel.js:873 msgid "Activities" msgstr "Aktiviteter" -#: ../js/ui/panel.js:994 +#: ../js/ui/panel.js:974 msgid "Panel" msgstr "Panel" @@ -567,7 +563,7 @@ msgstr "Prøv igjen" msgid "Connect to..." msgstr "Koble til …" -#: ../js/ui/placeDisplay.js:409 +#: ../js/ui/placeDisplay.js:380 msgid "PLACES & DEVICES" msgstr "STEDER & ENHETER" @@ -576,7 +572,7 @@ msgstr "STEDER & ENHETER" #. "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:618 +#: ../js/ui/popupMenu.js:636 msgid "toggle-switch-us" msgstr "toggle-switch-intl" @@ -592,39 +588,39 @@ msgstr "Søker …" msgid "No matching results." msgstr "Ingen treff." -#: ../js/ui/statusMenu.js:102 ../js/ui/statusMenu.js:166 +#: ../js/ui/statusMenu.js:114 ../js/ui/statusMenu.js:178 msgid "Power Off..." msgstr "Slå av …" -#: ../js/ui/statusMenu.js:104 ../js/ui/statusMenu.js:165 +#: ../js/ui/statusMenu.js:116 ../js/ui/statusMenu.js:177 msgid "Suspend" msgstr "Hvilemodus" -#: ../js/ui/statusMenu.js:125 +#: ../js/ui/statusMenu.js:137 msgid "Available" msgstr "Tilgjengelig" -#: ../js/ui/statusMenu.js:130 +#: ../js/ui/statusMenu.js:142 msgid "Busy" msgstr "Opptatt" -#: ../js/ui/statusMenu.js:138 +#: ../js/ui/statusMenu.js:150 msgid "My Account" msgstr "Min konto" -#: ../js/ui/statusMenu.js:142 +#: ../js/ui/statusMenu.js:154 msgid "System Settings" msgstr "Systeminnstillinger" -#: ../js/ui/statusMenu.js:149 +#: ../js/ui/statusMenu.js:161 msgid "Lock Screen" msgstr "Lås skjerm" -#: ../js/ui/statusMenu.js:153 +#: ../js/ui/statusMenu.js:165 msgid "Switch User" msgstr "Bytt bruker" -#: ../js/ui/statusMenu.js:158 +#: ../js/ui/statusMenu.js:170 msgid "Log Out..." msgstr "Logg ut …" @@ -632,14 +628,12 @@ msgstr "Logg ut …" msgid "Zoom" msgstr "Zoom" -#: ../js/ui/status/accessibility.js:69 -msgid "Screen Reader" -msgstr "Skjermleser" - -#: ../js/ui/status/accessibility.js:73 -msgid "Screen Keyboard" -msgstr "Tastatur på skjermen" - +#. let screenReader = this._buildItem(_("Screen Reader"), APPLICATIONS_SCHEMA, +#. 'screen-reader-enabled'); +#. this.menu.addMenuItem(screenReader); +#. let screenKeyboard = this._buildItem(_("Screen Keyboard"), APPLICATIONS_SCHEMA, +#. 'screen-keyboard-enabled'); +#. this.menu.addMenuItem(screenKeyboard); #: ../js/ui/status/accessibility.js:77 msgid "Visual Alerts" msgstr "Synlig varsling" @@ -664,17 +658,17 @@ msgstr "Mustaster" msgid "Universal Access Settings" msgstr "Innstillinger for tilgjengelighet" -#: ../js/ui/status/accessibility.js:145 +#: ../js/ui/status/accessibility.js:146 msgid "High Contrast" msgstr "Høy kontrast" -#: ../js/ui/status/accessibility.js:182 +#: ../js/ui/status/accessibility.js:183 msgid "Large Text" msgstr "Stor tekst" -#: ../js/ui/status/bluetooth.js:42 ../js/ui/status/bluetooth.js:241 -#: ../js/ui/status/bluetooth.js:337 ../js/ui/status/bluetooth.js:371 -#: ../js/ui/status/bluetooth.js:411 ../js/ui/status/bluetooth.js:444 +#: ../js/ui/status/bluetooth.js:42 ../js/ui/status/bluetooth.js:236 +#: ../js/ui/status/bluetooth.js:332 ../js/ui/status/bluetooth.js:366 +#: ../js/ui/status/bluetooth.js:406 ../js/ui/status/bluetooth.js:439 msgid "Bluetooth" msgstr "Bluetooth" @@ -694,94 +688,94 @@ msgstr "Sett opp en ny enhet …" msgid "Bluetooth Settings" msgstr "Innstillinger for Bluetooth" -#: ../js/ui/status/bluetooth.js:192 +#: ../js/ui/status/bluetooth.js:187 msgid "Connection" msgstr "Tilkobling" -#: ../js/ui/status/bluetooth.js:228 +#: ../js/ui/status/bluetooth.js:223 msgid "Send Files..." msgstr "Send filer …" -#: ../js/ui/status/bluetooth.js:233 +#: ../js/ui/status/bluetooth.js:228 msgid "Browse Files..." msgstr "Bla gjennom filer …" -#: ../js/ui/status/bluetooth.js:242 +#: ../js/ui/status/bluetooth.js:237 msgid "Error browsing device" msgstr "Feil under lesing av enhet" -#: ../js/ui/status/bluetooth.js:243 +#: ../js/ui/status/bluetooth.js:238 #, c-format msgid "The requested device cannot be browsed, error is '%s'" msgstr "Kan ikke bla gjennom forespurt enhet. Feilen er «%s»" -#: ../js/ui/status/bluetooth.js:251 +#: ../js/ui/status/bluetooth.js:246 msgid "Keyboard Settings" msgstr "Innstillinger for tastatur" -#: ../js/ui/status/bluetooth.js:256 +#: ../js/ui/status/bluetooth.js:251 msgid "Mouse Settings" msgstr "Innstillinger for mus" -#: ../js/ui/status/bluetooth.js:263 ../js/ui/status/volume.js:65 +#: ../js/ui/status/bluetooth.js:258 ../js/ui/status/volume.js:66 msgid "Sound Settings" msgstr "Innstillinger for lyd" -#: ../js/ui/status/bluetooth.js:372 +#: ../js/ui/status/bluetooth.js:367 #, c-format msgid "Authorization request from %s" msgstr "Forespørsel om autorisering fra %s" -#: ../js/ui/status/bluetooth.js:378 +#: ../js/ui/status/bluetooth.js:373 #, 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:380 +#: ../js/ui/status/bluetooth.js:375 msgid "Always grant access" msgstr "Alltid gi tilgang" -#: ../js/ui/status/bluetooth.js:381 +#: ../js/ui/status/bluetooth.js:376 msgid "Grant this time only" msgstr "Gi tilgang kun denne ene gangen" -#: ../js/ui/status/bluetooth.js:382 +#: ../js/ui/status/bluetooth.js:377 msgid "Reject" msgstr "Avvis" -#: ../js/ui/status/bluetooth.js:412 +#: ../js/ui/status/bluetooth.js:407 #, c-format msgid "Pairing confirmation for %s" msgstr "Bekreftelse for tilkobling for %s" -#: ../js/ui/status/bluetooth.js:418 ../js/ui/status/bluetooth.js:452 +#: ../js/ui/status/bluetooth.js:413 ../js/ui/status/bluetooth.js:447 #, 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:419 +#: ../js/ui/status/bluetooth.js:414 #, c-format msgid "Please confirm whether the PIN '%s' matches the one on the device." msgstr "Vennligst bekreft om PIN «%s» er lik den som brukes på enheten." -#: ../js/ui/status/bluetooth.js:421 +#: ../js/ui/status/bluetooth.js:416 msgid "Matches" msgstr "Stemmer overens" -#: ../js/ui/status/bluetooth.js:422 +#: ../js/ui/status/bluetooth.js:417 msgid "Does not match" msgstr "Stemmer ikke overens" -#: ../js/ui/status/bluetooth.js:445 +#: ../js/ui/status/bluetooth.js:440 #, c-format msgid "Pairing request for %s" msgstr "Forespørsel om tilkobling for %s" -#: ../js/ui/status/bluetooth.js:453 +#: ../js/ui/status/bluetooth.js:448 msgid "Please enter the PIN mentioned on the device." msgstr "Vennligst oppgi PIN som oppgitt på enheten." -#: ../js/ui/status/bluetooth.js:469 +#: ../js/ui/status/bluetooth.js:464 msgid "OK" msgstr "OK" @@ -793,17 +787,147 @@ msgstr "Vis tastaturutforming …" msgid "Localization Settings" msgstr "Innstillinger for lokalisering" +#: ../js/ui/status/network.js:102 ../js/ui/status/network.js:1393 +msgid "" +msgstr "" + +#. Translators: this indicates that wireless or wwan is disabled by hardware killswitch +#: ../js/ui/status/network.js:295 +msgid "disabled" +msgstr "slått av" + +#: ../js/ui/status/network.js:476 +msgid "connecting..." +msgstr "kobler til …" + +#. Translators: this is for network connections that require some kind of key or password +#: ../js/ui/status/network.js:479 +msgid "authentication required" +msgstr "autentisering kreves" + +#. Translators: this is for wired network devices that are physically disconnected +#: ../js/ui/status/network.js:485 +msgid "cable unplugged" +msgstr "kabel koblet fra" + +#. 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:489 +msgid "unavailable" +msgstr "ikke tilgjengelig" + +#: ../js/ui/status/network.js:491 +msgid "connection failed" +msgstr "tilkobling feilet" + +#. TRANSLATORS: this is the indication that a connection for another logged in user is active, +#. and we cannot access its settings (including the name) +#: ../js/ui/status/network.js:571 ../js/ui/status/network.js:1341 +msgid "Connected (private)" +msgstr "Tilkoblet (privat)" + +#: ../js/ui/status/network.js:636 +msgid "Auto Ethernet" +msgstr "Automatisk Ethernet" + +#: ../js/ui/status/network.js:697 +msgid "Auto broadband" +msgstr "Automatisk bredbånd" + +#: ../js/ui/status/network.js:700 +msgid "Auto dial-up" +msgstr "Automatisk oppringt" + +#. TRANSLATORS: this the automatic wireless connection name (including the network name) +#: ../js/ui/status/network.js:843 ../js/ui/status/network.js:1353 +#, c-format +msgid "Auto %s" +msgstr "Automatisk %s" + +#: ../js/ui/status/network.js:845 +msgid "Auto bluetooth" +msgstr "Automatisk Bluetooth" + +#: ../js/ui/status/network.js:1355 +msgid "Auto wireless" +msgstr "Automatisk trådløst" + +#: ../js/ui/status/network.js:1413 +msgid "More..." +msgstr "Mer …" + +#: ../js/ui/status/network.js:1436 +msgid "Enable networking" +msgstr "Slå på nettverk" + +#: ../js/ui/status/network.js:1448 +msgid "Wired" +msgstr "Kablet" + +#: ../js/ui/status/network.js:1459 +msgid "Wireless" +msgstr "Trådløst" + +#: ../js/ui/status/network.js:1469 +msgid "Mobile broadband" +msgstr "Mobilt bredbånd" + +#: ../js/ui/status/network.js:1479 +msgid "VPN Connections" +msgstr "VPN-tilkoblinger" + +#: ../js/ui/status/network.js:1488 +msgid "Network Settings" +msgstr "Innstillinger for nettverk" + +#: ../js/ui/status/network.js:1782 +#, c-format +msgid "You're now connected to mobile broadband connection '%s'" +msgstr "Du er nå koblet til mobil bredbåndstilkobling «%s»" + +#: ../js/ui/status/network.js:1786 +#, c-format +msgid "You're now connected to wireless network '%s'" +msgstr "Du er nå koblet til trådløst nettverk «%s»" + +#: ../js/ui/status/network.js:1790 +#, c-format +msgid "You're now connected to wired network '%s'" +msgstr "Du er nå koblet til kablet nettverk «%s»" + +#: ../js/ui/status/network.js:1794 +#, c-format +msgid "You're now connected to VPN network '%s'" +msgstr "Du er nå koblet til virtuelt privat nettverk «%s»" + +#: ../js/ui/status/network.js:1799 +#, c-format +msgid "You're now connected to '%s'" +msgstr "Du er nå koblet til «%s»" + +#: ../js/ui/status/network.js:1807 +msgid "Connection estabilished" +msgstr "Tilkobling etablert" + +#: ../js/ui/status/network.js:1929 +msgid "Networking is disabled" +msgstr "Nettverk er slått av" + +#: ../js/ui/status/network.js:2054 +msgid "Network Manager" +msgstr "Nettverkshåndtering" + #: ../js/ui/status/power.js:85 msgid "Power Settings" msgstr "Innstillinger for strøm" #. 0 is reported when UPower does not have enough data #. to estimate battery life -#: ../js/ui/status/power.js:110 +#: ../js/ui/status/power.js:111 msgid "Estimating..." msgstr "Estimerer …" -#: ../js/ui/status/power.js:117 +#: ../js/ui/status/power.js:118 #, c-format msgid "%d hour remaining" msgid_plural "%d hours remaining" @@ -811,102 +935,102 @@ msgstr[0] "%d time gjenstår" msgstr[1] "%d timer gjenstår" #. TRANSLATORS: this is a time string, as in "%d hours %d minutes remaining" -#: ../js/ui/status/power.js:120 +#: ../js/ui/status/power.js:121 #, c-format msgid "%d %s %d %s remaining" msgstr "%d %s %d %s gjenstår" -#: ../js/ui/status/power.js:122 +#: ../js/ui/status/power.js:123 msgid "hour" msgid_plural "hours" msgstr[0] "time" msgstr[1] "timer" -#: ../js/ui/status/power.js:122 +#: ../js/ui/status/power.js:123 msgid "minute" msgid_plural "minutes" msgstr[0] "minutt" msgstr[1] "minutter" -#: ../js/ui/status/power.js:125 +#: ../js/ui/status/power.js:126 #, c-format msgid "%d minute remaining" msgid_plural "%d minutes remaining" msgstr[0] "%d minutt gjenstår" msgstr[1] "%d minutter gjenstår" -#: ../js/ui/status/power.js:227 +#: ../js/ui/status/power.js:228 msgid "AC adapter" msgstr "Strømadapter" -#: ../js/ui/status/power.js:229 +#: ../js/ui/status/power.js:230 msgid "Laptop battery" msgstr "Batteri på bærbar" -#: ../js/ui/status/power.js:231 +#: ../js/ui/status/power.js:232 msgid "UPS" msgstr "UPS" -#: ../js/ui/status/power.js:233 +#: ../js/ui/status/power.js:234 msgid "Monitor" msgstr "Skjerm" -#: ../js/ui/status/power.js:235 +#: ../js/ui/status/power.js:236 msgid "Mouse" msgstr "Mus" -#: ../js/ui/status/power.js:237 +#: ../js/ui/status/power.js:238 msgid "Keyboard" msgstr "Tastatur" -#: ../js/ui/status/power.js:239 +#: ../js/ui/status/power.js:240 msgid "PDA" msgstr "PDA" -#: ../js/ui/status/power.js:241 +#: ../js/ui/status/power.js:242 msgid "Cell phone" msgstr "Mobiltelefon" -#: ../js/ui/status/power.js:243 +#: ../js/ui/status/power.js:244 msgid "Media player" msgstr "Medieavspiller" -#: ../js/ui/status/power.js:245 +#: ../js/ui/status/power.js:246 msgid "Tablet" msgstr "Nettbrett" -#: ../js/ui/status/power.js:247 +#: ../js/ui/status/power.js:248 msgid "Computer" msgstr "Datamaskin" -#: ../js/ui/status/power.js:249 ../src/shell-app-system.c:1013 +#: ../js/ui/status/power.js:250 ../src/shell-app-system.c:961 msgid "Unknown" msgstr "Ukjent" -#: ../js/ui/status/volume.js:44 +#: ../js/ui/status/volume.js:45 msgid "Volume" msgstr "Volum" -#: ../js/ui/status/volume.js:57 +#: ../js/ui/status/volume.js:58 msgid "Microphone" msgstr "Mikrofon" -#: ../js/ui/telepathyClient.js:239 +#: ../js/ui/telepathyClient.js:332 #, c-format msgid "%s is online." msgstr "%s er tilkoblet." -#: ../js/ui/telepathyClient.js:244 +#: ../js/ui/telepathyClient.js:337 #, c-format msgid "%s is offline." msgstr "%s er frakoblet." -#: ../js/ui/telepathyClient.js:247 +#: ../js/ui/telepathyClient.js:340 #, c-format msgid "%s is away." msgstr "«%s» er borte." -#: ../js/ui/telepathyClient.js:250 +#: ../js/ui/telepathyClient.js:343 #, c-format msgid "%s is busy." msgstr "%s er opptatt." @@ -914,7 +1038,7 @@ msgstr "%s er opptatt." #. Translators: this is a time format string followed by a date. #. If applicable, replace %X with a strftime format valid for your #. locale, without seconds. -#: ../js/ui/telepathyClient.js:348 +#: ../js/ui/telepathyClient.js:474 #, no-c-format msgid "Sent at %X on %A" msgstr "Sendt %X på %A" @@ -923,11 +1047,11 @@ msgstr "Sendt %X på %A" #. in the search entry when no search is #. active; it should not exceed ~30 #. characters. -#: ../js/ui/viewSelector.js:117 +#: ../js/ui/viewSelector.js:119 msgid "Type to search..." msgstr "Skriv for å søke …" -#: ../js/ui/viewSelector.js:137 ../src/shell-util.c:250 +#: ../js/ui/viewSelector.js:139 ../src/shell-util.c:250 msgid "Search" msgstr "Søk" @@ -943,7 +1067,7 @@ msgstr "«%s» er klar" #. translators: #. * The number of sound outputs on a particular device -#: ../src/gvc/gvc-mixer-control.c:1094 +#: ../src/gvc/gvc-mixer-control.c:1098 #, c-format msgid "%u Output" msgid_plural "%u Outputs" @@ -952,14 +1076,14 @@ msgstr[1] "%u utganger" #. translators: #. * The number of sound inputs on a particular device -#: ../src/gvc/gvc-mixer-control.c:1104 +#: ../src/gvc/gvc-mixer-control.c:1108 #, c-format msgid "%u Input" msgid_plural "%u Inputs" msgstr[0] "%u inngang" msgstr[1] "%u innganger" -#: ../src/gvc/gvc-mixer-control.c:1402 +#: ../src/gvc/gvc-mixer-control.c:1406 msgid "System Sounds" msgstr "Systemlyder" @@ -967,38 +1091,51 @@ msgstr "Systemlyder" msgid "Print version" msgstr "Skriv ut versjon" -#: ../src/shell-global.c:1308 +#: ../src/shell-app.c:442 +#, c-format +msgid "Failed to launch '%s'" +msgstr "Klarte ikke å starte «%s»" + +#: ../src/shell-global.c:1340 msgid "Less than a minute ago" msgstr "Mindre enn ett minutt siden" -#: ../src/shell-global.c:1312 +#: ../src/shell-global.c:1344 #, c-format msgid "%d minute ago" msgid_plural "%d minutes ago" msgstr[0] "%d minutt siden" msgstr[1] "%d minutter siden" -#: ../src/shell-global.c:1317 +#: ../src/shell-global.c:1349 #, c-format msgid "%d hour ago" msgid_plural "%d hours ago" msgstr[0] "%d time siden" msgstr[1] "%d timer siden" -#: ../src/shell-global.c:1322 +#: ../src/shell-global.c:1354 #, c-format msgid "%d day ago" msgid_plural "%d days ago" msgstr[0] "%d dag siden" msgstr[1] "%d dager siden" -#: ../src/shell-global.c:1327 +#: ../src/shell-global.c:1359 #, c-format msgid "%d week ago" msgid_plural "%d weeks ago" msgstr[0] "%d uke siden" msgstr[1] "%d uker siden" +#: ../src/shell-mobile-providers.c:80 +msgid "United Kingdom" +msgstr "" + +#: ../src/shell-mobile-providers.c:526 +msgid "Default" +msgstr "Forvalg" + #: ../src/shell-polkit-authentication-agent.c:334 msgid "Authentication dialog was dismissed by the user" msgstr "Autentiseringsdialogen ble lukket av brukeren" From 2c5657e8a972b7468367f211067cb94de017d92e Mon Sep 17 00:00:00 2001 From: Alexander Larsson Date: Mon, 28 Feb 2011 14:05:05 +0100 Subject: [PATCH 053/203] Enable the workspaces_only_on_primary feature of mutter https://bugzilla.gnome.org/show_bug.cgi?id=609258 --- data/gnome-shell.schemas | 15 +++++++++++++++ src/main.c | 2 ++ 2 files changed, 17 insertions(+) diff --git a/data/gnome-shell.schemas b/data/gnome-shell.schemas index 24cade651..f2e69eefd 100644 --- a/data/gnome-shell.schemas +++ b/data/gnome-shell.schemas @@ -81,5 +81,20 @@ + + /schemas/desktop/gnome/shell/windows/workspaces_only_on_primary + /desktop/gnome/shell/windows/workspaces_only_on_primary + gnome-shell + bool + true + + Workspaces only on primary monitor + + This key overrides /apps/mutter/general/workspaces_only_on_primary when + running GNOME Shell. + + + + diff --git a/src/main.c b/src/main.c index ba53a73ac..029acb80f 100644 --- a/src/main.c +++ b/src/main.c @@ -221,6 +221,8 @@ shell_prefs_init (void) { meta_prefs_override_preference_location ("/apps/mutter/general/attach_modal_dialogs", "/desktop/gnome/shell/windows/attach_modal_dialogs"); + meta_prefs_override_preference_location ("/apps/mutter/general/workspaces_only_on_primary", + "/desktop/gnome/shell/windows/workspaces_only_on_primary"); meta_prefs_override_preference_location ("/apps/metacity/general/button_layout", "/desktop/gnome/shell/windows/button_layout"); meta_prefs_override_preference_location ("/apps/metacity/general/edge_tiling", From a1a068a377b1b8f729cd89d5e803c672bd61d715 Mon Sep 17 00:00:00 2001 From: Alexander Larsson Date: Mon, 28 Feb 2011 20:09:23 +0100 Subject: [PATCH 054/203] Only show the primary monitor region in the workspace thumbnails Make the thumbnail the size of the primary monitor and only show the windows from that area. https://bugzilla.gnome.org/show_bug.cgi?id=609258 --- js/ui/workspaceThumbnail.js | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/js/ui/workspaceThumbnail.js b/js/ui/workspaceThumbnail.js index 9aeab981c..2446abb71 100644 --- a/js/ui/workspaceThumbnail.js +++ b/js/ui/workspaceThumbnail.js @@ -169,7 +169,8 @@ WorkspaceThumbnail.prototype = { this._background = new Clutter.Clone({ source: global.background_actor }); this._contents.add_actor(this._background); - this.setPorthole(0, 0, global.screen_width, global.screen_height); + let monitor = global.get_primary_monitor(); + this.setPorthole(monitor.x, monitor.y, monitor.width, monitor.height); let windows = global.get_window_actors().filter(this._isMyWindow, this); @@ -442,11 +443,12 @@ ThumbnailsBox.prototype = { // The "porthole" is the portion of the screen that we show in the workspaces let panelHeight = Main.panel.actor.height; + let monitor = global.get_primary_monitor(); this._porthole = { - x: 0, - y: panelHeight, - width: global.screen_width, - height: global.screen_height - panelHeight + x: monitor.x, + y: monitor.y + panelHeight, + width: monitor.width, + height: monitor.height - panelHeight }; this.addThumbnails(0, global.screen.n_workspaces); From 0e6458a630bc093ba25efdf67ae74d8eacfab9c0 Mon Sep 17 00:00:00 2001 From: Alexander Larsson Date: Mon, 28 Feb 2011 20:19:30 +0100 Subject: [PATCH 055/203] Only show windows from the primary monitor in the workspace thumbnails Also, if windows are dropped on the thumbnail, move them to the primary monitor. https://bugzilla.gnome.org/show_bug.cgi?id=609258 --- js/ui/workspaceThumbnail.js | 59 ++++++++++++++++++++++++++++++++----- 1 file changed, 52 insertions(+), 7 deletions(-) diff --git a/js/ui/workspaceThumbnail.js b/js/ui/workspaceThumbnail.js index 2446abb71..d6334c6b3 100644 --- a/js/ui/workspaceThumbnail.js +++ b/js/ui/workspaceThumbnail.js @@ -146,6 +146,7 @@ function WorkspaceThumbnail(metaWorkspace) { WorkspaceThumbnail.prototype = { _init : function(metaWorkspace) { this.metaWorkspace = metaWorkspace; + this.monitorIndex = global.get_primary_monitor_index(); this.actor = new St.Group({ reactive: true, clip_to_allocation: true, @@ -187,6 +188,10 @@ WorkspaceThumbnail.prototype = { Lang.bind(this, this._windowAdded)); this._windowRemovedId = this.metaWorkspace.connect('window-removed', Lang.bind(this, this._windowRemoved)); + this._windowEnteredMonitorId = global.screen.connect('window-entered-monitor', + Lang.bind(this, this._windowEnteredMonitor)); + this._windowLeftMonitorId = global.screen.connect('window-left-monitor', + Lang.bind(this, this._windowLeftMonitor)); this.state = ThumbnailState.NORMAL; this._slidePosition = 0; // Fully slid in @@ -194,6 +199,8 @@ WorkspaceThumbnail.prototype = { }, setPorthole: function(x, y, width, height) { + this._portholeX = x; + this._portholeY = y; this.actor.set_size(width, height); this._contents.set_position(-x, -y); }, @@ -240,7 +247,7 @@ WorkspaceThumbnail.prototype = { return this._collapseFraction; }, - _windowRemoved : function(metaWorkspace, metaWin) { + _doRemoveWindow : function(metaWin) { let win = metaWin.get_compositor_private(); // find the position of the window in our list @@ -249,12 +256,16 @@ WorkspaceThumbnail.prototype = { if (index == -1) return; + // Check if window still should be here + if (win && this._isMyWindow(win)) + return; + let clone = this._windows[index]; this._windows.splice(index, 1); clone.destroy(); }, - _windowAdded : function(metaWorkspace, metaWin) { + _doAddWindow : function(metaWin) { if (this.leavingOverview) return; @@ -266,18 +277,43 @@ WorkspaceThumbnail.prototype = { Mainloop.idle_add(Lang.bind(this, function () { if (this.actor && metaWin.get_compositor_private()) - this._windowAdded(metaWorkspace, metaWin); + this._doAddWindow(metaWin); return false; })); return; } - if (!this._isOverviewWindow(win)) + // We might have the window in our list already if it was on all workspaces and + // now was moved to this workspace + if (this._lookupIndex (metaWin) != -1) + return; + + if (!this._isMyWindow(win) || !this._isOverviewWindow(win)) return; let clone = this._addWindowClone(win); }, + _windowAdded : function(metaWorkspace, metaWin) { + this._doAddWindow(metaWin); + }, + + _windowRemoved : function(metaWorkspace, metaWin) { + this._doRemoveWindow(metaWin); + }, + + _windowEnteredMonitor : function(metaScreen, monitorIndex, metaWin) { + if (monitorIndex == this.monitorIndex) { + this._doAddWindow(metaWin); + } + }, + + _windowLeftMonitor : function(metaScreen, monitorIndex, metaWin) { + if (monitorIndex == this.monitorIndex) { + this._doRemoveWindow(metaWin); + } + }, + destroy : function() { this.actor.destroy(); }, @@ -285,15 +321,17 @@ WorkspaceThumbnail.prototype = { _onDestroy: function(actor) { this.metaWorkspace.disconnect(this._windowAddedId); this.metaWorkspace.disconnect(this._windowRemovedId); + global.screen.disconnect(this._windowEnteredMonitorId); + global.screen.disconnect(this._windowLeftMonitorId); this._windows = []; this.actor = null; }, - // Tests if @win belongs to this workspaces + // Tests if @win belongs to this workspace and monitor _isMyWindow : function (win) { - return win.get_workspace() == this.metaWorkspace.index() || - (win.get_meta_window() && win.get_meta_window().is_on_all_workspaces()); + return Main.isWindowActorDisplayedOnWorkspace(win, this.metaWorkspace.index()) && + (!win.get_meta_window() || win.get_meta_window().get_monitor() == this.monitorIndex); }, // Tests if @win should be shown in the Overview @@ -362,6 +400,13 @@ WorkspaceThumbnail.prototype = { return false; let metaWindow = win.get_meta_window(); + + // We need to move the window before changing the workspace, because + // the move itself could cause a workspace change if the window enters + // the primary monitor + if (metaWindow.get_monitor() != this.monitorIndex) + metaWindow.move_frame(true, this._portholeX, this._portholeY); + metaWindow.change_workspace_by_index(this.metaWorkspace.index(), false, // don't create workspace time); From cdd1209b55a9f1fd2374457a3ec7e014a009f624 Mon Sep 17 00:00:00 2001 From: Alexander Larsson Date: Tue, 1 Mar 2011 09:14:56 +0100 Subject: [PATCH 056/203] Only show windows from the primary monitor on the overview workspace This means a bunch of windows will not be visible at all in the overview. Those will be added back with per-screen workspaces on the non-primary monitors. https://bugzilla.gnome.org/show_bug.cgi?id=609258 --- js/ui/workspace.js | 58 ++++++++++++++++++++++++++++++++++------- js/ui/workspacesView.js | 6 +++-- 2 files changed, 52 insertions(+), 12 deletions(-) diff --git a/js/ui/workspace.js b/js/ui/workspace.js index 82dbcb087..049cc74cd 100644 --- a/js/ui/workspace.js +++ b/js/ui/workspace.js @@ -543,12 +543,12 @@ const WindowPositionFlags = { /** * @metaWorkspace: a #Meta.Workspace */ -function Workspace(metaWorkspace) { - this._init(metaWorkspace); +function Workspace(metaWorkspace, monitorIndex) { + this._init(metaWorkspace, monitorIndex); } Workspace.prototype = { - _init : function(metaWorkspace) { + _init : function(metaWorkspace, monitorIndex) { // When dragging a window, we use this slot for reserve space. this._reservedSlot = null; this.metaWorkspace = metaWorkspace; @@ -557,6 +557,8 @@ Workspace.prototype = { this._width = 0; this._height = 0; + this.monitorIndex = monitorIndex; + this._monitor = global.get_monitors()[this.monitorIndex]; this._windowOverlaysGroup = new Clutter.Group(); // Without this the drop area will be overlapped. this._windowOverlaysGroup.set_size(0, 0); @@ -572,7 +574,7 @@ Workspace.prototype = { this.actor.connect('destroy', Lang.bind(this, this._onDestroy)); - let windows = Main.getWindowActorsForWorkspace(this.metaWorkspace.index()); + let windows = global.get_window_actors().filter(this._isMyWindow, this); // Create clones for windows that should be // visible in the Overview @@ -589,6 +591,10 @@ Workspace.prototype = { Lang.bind(this, this._windowAdded)); this._windowRemovedId = this.metaWorkspace.connect('window-removed', Lang.bind(this, this._windowRemoved)); + this._windowEnteredMonitorId = global.screen.connect('window-entered-monitor', + Lang.bind(this, this._windowEnteredMonitor)); + this._windowLeftMonitorId = global.screen.connect('window-left-monitor', + Lang.bind(this, this._windowLeftMonitor)); this._repositionWindowsId = 0; this.leavingOverview = false; @@ -1036,7 +1042,7 @@ Workspace.prototype = { this._windowOverlaysGroup.hide(); }, - _windowRemoved : function(metaWorkspace, metaWin) { + _doRemoveWindow : function(metaWin) { let win = metaWin.get_compositor_private(); // find the position of the window in our list @@ -1045,6 +1051,10 @@ Workspace.prototype = { if (index == -1) return; + // Check if window still should be here + if (win && this._isMyWindow(win)) + return; + let clone = this._windows[index]; this._windows.splice(index, 1); @@ -1088,7 +1098,7 @@ Workspace.prototype = { Lang.bind(this, this._delayedWindowRepositioning)); }, - _windowAdded : function(metaWorkspace, metaWin) { + _doAddWindow : function(metaWin) { if (this.leavingOverview) return; @@ -1100,13 +1110,18 @@ Workspace.prototype = { Mainloop.idle_add(Lang.bind(this, function () { if (this.actor && metaWin.get_compositor_private()) - this._windowAdded(metaWorkspace, metaWin); + this._doAddWindow(metaWin); return false; })); return; } - if (!this._isOverviewWindow(win)) + // We might have the window in our list already if it was on all workspaces and + // now was moved to this workspace + if (this._lookupIndex (metaWin) != -1) + return; + + if (!this._isMyWindow(win) || !this._isOverviewWindow(win)) return; let clone = this._addWindowClone(win); @@ -1131,6 +1146,26 @@ Workspace.prototype = { this.positionWindows(WindowPositionFlags.ANIMATE); }, + _windowAdded : function(metaWorkspace, metaWin) { + this._doAddWindow(metaWin); + }, + + _windowRemoved : function(metaWorkspace, metaWin) { + this._doRemoveWindow(metaWin); + }, + + _windowEnteredMonitor : function(metaScreen, monitorIndex, metaWin) { + if (monitorIndex == this.monitorIndex) { + this._doAddWindow(metaWin); + } + }, + + _windowLeftMonitor : function(metaScreen, monitorIndex, metaWin) { + if (monitorIndex == this.monitorIndex) { + this._doRemoveWindow(metaWin); + } + }, + // check for maximized windows on the workspace hasMaximizedWindows: function() { for (let i = 0; i < this._windows.length; i++) { @@ -1213,6 +1248,8 @@ Workspace.prototype = { this.metaWorkspace.disconnect(this._windowAddedId); this.metaWorkspace.disconnect(this._windowRemovedId); + global.screen.disconnect(this._windowEnteredMonitorId); + global.screen.disconnect(this._windowLeftMonitorId); if (this._repositionWindowsId > 0) Mainloop.source_remove(this._repositionWindowsId); @@ -1231,9 +1268,10 @@ Workspace.prototype = { this.leavingOverview = false; }, - // Tests if @win belongs to this workspaces + // Tests if @win belongs to this workspaces and monitor _isMyWindow : function (win) { - return Main.isWindowActorDisplayedOnWorkspace(win, this.metaWorkspace.index()); + return Main.isWindowActorDisplayedOnWorkspace(win, this.metaWorkspace.index()) && + (!win.get_meta_window() || win.get_meta_window().get_monitor() == this.monitorIndex); }, // Tests if @win should be shown in the Overview diff --git a/js/ui/workspacesView.js b/js/ui/workspacesView.js index 2d63ed1b6..d1631024e 100644 --- a/js/ui/workspacesView.js +++ b/js/ui/workspacesView.js @@ -549,6 +549,8 @@ WorkspacesDisplay.prototype = { controls.connect('scroll-event', Lang.bind(this, this._onScrollEvent)); + this._monitorIndex = global.get_primary_monitor_index(); + this._monitor = global.get_monitors()[this._monitorIndex]; this._thumbnailsBox = new WorkspaceThumbnail.ThumbnailsBox(); controls.add_actor(this._thumbnailsBox.actor); @@ -577,7 +579,7 @@ WorkspacesDisplay.prototype = { this._workspaces = []; for (let i = 0; i < global.screen.n_workspaces; i++) { let metaWorkspace = global.screen.get_workspace_by_index(i); - this._workspaces[i] = new Workspace.Workspace(metaWorkspace); + this._workspaces[i] = new Workspace.Workspace(metaWorkspace, this._monitorIndex); } if (this.workspacesView) @@ -763,7 +765,7 @@ WorkspacesDisplay.prototype = { // Assume workspaces are only added at the end for (let w = oldNumWorkspaces; w < newNumWorkspaces; w++) { let metaWorkspace = global.screen.get_workspace_by_index(w); - this._workspaces[w] = new Workspace.Workspace(metaWorkspace); + this._workspaces[w] = new Workspace.Workspace(metaWorkspace, this._monitorIndex); } this._thumbnailsBox.addThumbnails(oldNumWorkspaces, newNumWorkspaces - oldNumWorkspaces); From e5f05bc9d84427b8b77e2a7945b99a5c3e7996a4 Mon Sep 17 00:00:00 2001 From: Alexander Larsson Date: Thu, 3 Mar 2011 22:33:27 +0100 Subject: [PATCH 057/203] Add workspaces on non-primary monitors We create a Workspace with a null metaWorkspace for each non-primary monitor, showing the windows on these monitors. These are saved in WorkspaceView.extraWorkspaces. https://bugzilla.gnome.org/show_bug.cgi?id=609258 --- js/ui/workspace.js | 43 +++++++++++++++++++++++++++-------------- js/ui/workspacesView.js | 20 +++++++++++++++++++ 2 files changed, 49 insertions(+), 14 deletions(-) diff --git a/js/ui/workspace.js b/js/ui/workspace.js index 049cc74cd..05a22f7e5 100644 --- a/js/ui/workspace.js +++ b/js/ui/workspace.js @@ -541,7 +541,7 @@ const WindowPositionFlags = { }; /** - * @metaWorkspace: a #Meta.Workspace + * @metaWorkspace: a #Meta.Workspace, or null */ function Workspace(metaWorkspace, monitorIndex) { this._init(metaWorkspace, monitorIndex); @@ -587,10 +587,12 @@ Workspace.prototype = { } // Track window changes - this._windowAddedId = this.metaWorkspace.connect('window-added', - Lang.bind(this, this._windowAdded)); - this._windowRemovedId = this.metaWorkspace.connect('window-removed', - Lang.bind(this, this._windowRemoved)); + if (this.metaWorkspace) { + this._windowAddedId = this.metaWorkspace.connect('window-added', + Lang.bind(this, this._windowAdded)); + this._windowRemovedId = this.metaWorkspace.connect('window-removed', + Lang.bind(this, this._windowRemoved)); + } this._windowEnteredMonitorId = global.screen.connect('window-entered-monitor', Lang.bind(this, this._windowEnteredMonitor)); this._windowLeftMonitorId = global.screen.connect('window-left-monitor', @@ -902,7 +904,7 @@ Workspace.prototype = { clones = this._orderWindowsByMotionAndStartup(clones, slots); let currentWorkspace = global.screen.get_active_workspace(); - let isOnCurrentWorkspace = this.metaWorkspace == currentWorkspace; + let isOnCurrentWorkspace = this.metaWorkspace == null || this.metaWorkspace == currentWorkspace; for (let i = 0; i < clones.length; i++) { let slot = slots[i]; @@ -1005,7 +1007,8 @@ Workspace.prototype = { for (let i = 0; i < this._windows.length; i++) { let clone = this._windows[i]; let overlay = this._windowOverlays[i]; - this._showWindowOverlay(clone, overlay, this.metaWorkspace == currentWorkspace); + this._showWindowOverlay(clone, overlay, + this.metaWorkspace == null || this.metaWorkspace == currentWorkspace); } }, @@ -1202,7 +1205,7 @@ Workspace.prototype = { this._overviewHiddenId = Main.overview.connect('hidden', Lang.bind(this, this._doneLeavingOverview)); - if (this.metaWorkspace != currentWorkspace) + if (this.metaWorkspace != null && this.metaWorkspace != currentWorkspace) return; // Position and scale the windows. @@ -1246,8 +1249,10 @@ Workspace.prototype = { } Tweener.removeTweens(actor); - this.metaWorkspace.disconnect(this._windowAddedId); - this.metaWorkspace.disconnect(this._windowRemovedId); + if (this.metaWorkspace) { + this.metaWorkspace.disconnect(this._windowAddedId); + this.metaWorkspace.disconnect(this._windowRemovedId); + } global.screen.disconnect(this._windowEnteredMonitorId); global.screen.disconnect(this._windowLeftMonitorId); @@ -1270,7 +1275,7 @@ Workspace.prototype = { // Tests if @win belongs to this workspaces and monitor _isMyWindow : function (win) { - return Main.isWindowActorDisplayedOnWorkspace(win, this.metaWorkspace.index()) && + return (this.metaWorkspace == null || Main.isWindowActorDisplayedOnWorkspace(win, this.metaWorkspace.index())) && (!win.get_meta_window() || win.get_meta_window().get_monitor() == this.monitorIndex); }, @@ -1359,8 +1364,10 @@ Workspace.prototype = { }, _onCloneSelected : function (clone, time) { - Main.activateWindow(clone.metaWindow, time, - this.metaWorkspace.index()); + let wsIndex = undefined; + if (this.metaWorkspace) + wsIndex = this.metaWorkspace.index(); + Main.activateWindow(clone.metaWindow, time, wsIndex); }, // Draggable target interface @@ -1388,7 +1395,15 @@ Workspace.prototype = { }; let metaWindow = win.get_meta_window(); - metaWindow.change_workspace_by_index(this.metaWorkspace.index(), + + // We need to move the window before changing the workspace, because + // the move itself could cause a workspace change if the window enters + // the primary monitor + if (metaWindow.get_monitor() != this.monitorIndex) + metaWindow.move_frame(true, this._x, this._y); + + let index = this.metaWorkspace ? this.metaWorkspace.index() : global.screen.get_active_workspace_index(); + metaWindow.change_workspace_by_index(index, false, // don't create workspace time); return true; diff --git a/js/ui/workspacesView.js b/js/ui/workspacesView.js index d1631024e..e9b548a44 100644 --- a/js/ui/workspacesView.js +++ b/js/ui/workspacesView.js @@ -67,6 +67,18 @@ WorkspacesView.prototype = { this._workspaces[w].actor.reparent(this.actor); this._workspaces[activeWorkspaceIndex].actor.raise_top(); + this._extraWorkspaces = []; + let monitors = global.get_monitors(); + let m = 0; + for (let i = 0; i < monitors.length; i++) { + if (i == global.get_primary_monitor_index()) + continue; + let ws = new Workspace.Workspace(null, i); + this._extraWorkspaces[m++] = ws; + ws.setGeometry(monitors[i].x, monitors[i].y, monitors[i].width, monitors[i].height); + global.overlay_group.add_actor(ws.actor); + } + // Position/scale the desktop windows and their children after the // workspaces have been created. This cannot be done first because // window movement depends on the Workspaces object being accessible @@ -76,6 +88,8 @@ WorkspacesView.prototype = { Lang.bind(this, function() { for (let w = 0; w < this._workspaces.length; w++) this._workspaces[w].zoomToOverview(); + for (let w = 0; w < this._extraWorkspaces.length; w++) + this._extraWorkspaces[w].zoomToOverview(); })); this._overviewShownId = Main.overview.connect('shown', @@ -146,6 +160,8 @@ WorkspacesView.prototype = { for (let w = 0; w < this._workspaces.length; w++) this._workspaces[w].zoomFromOverview(); + for (let w = 0; w < this._extraWorkspaces.length; w++) + this._extraWorkspaces[w].zoomFromOverview(); }, destroy: function() { @@ -155,6 +171,8 @@ WorkspacesView.prototype = { syncStacking: function(stackIndices) { for (let i = 0; i < this._workspaces.length; i++) this._workspaces[i].syncStacking(stackIndices); + for (let i = 0; i < this._extraWorkspaces.length; i++) + this._extraWorkspaces[i].syncStacking(stackIndices); }, updateWindowPositions: function() { @@ -315,6 +333,8 @@ WorkspacesView.prototype = { }, _onDestroy: function() { + for (let i = 0; i < this._extraWorkspaces.length; i++) + this._extraWorkspaces[i].destroy(); this._scrollAdjustment.run_dispose(); Main.overview.disconnect(this._overviewShowingId); Main.overview.disconnect(this._overviewShownId); From 05736ba0a1facaea873822fbc73221f2eed37414 Mon Sep 17 00:00:00 2001 From: Alexander Larsson Date: Fri, 4 Mar 2011 15:49:13 +0100 Subject: [PATCH 058/203] Always reserve space in all workspaces on a drag We used to do this only on automatic workspace switch, but that doesn't work for the multiple monitors case where we want to reserve space on the extra monitors. https://bugzilla.gnome.org/show_bug.cgi?id=609258 --- js/ui/workspacesView.js | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) diff --git a/js/ui/workspacesView.js b/js/ui/workspacesView.js index e9b548a44..d288c2c14 100644 --- a/js/ui/workspacesView.js +++ b/js/ui/workspacesView.js @@ -385,6 +385,7 @@ WorkspacesView.prototype = { return; this._inDrag = true; + this._firstDragMotion = true; this._dragMonitor = { dragMotion: Lang.bind(this, this._onDragMotion) @@ -396,6 +397,14 @@ WorkspacesView.prototype = { if (Main.overview.animationInProgress) return DND.DragMotionResult.CONTINUE; + if (this._firstDragMotion) { + this._firstDragMotion = false; + for (let i = 0; i < this._workspaces.length; i++) + this._workspaces[i].setReservedSlot(dragEvent.dragActor._delegate); + for (let i = 0; i < this._extraWorkspaces.length; i++) + this._extraWorkspaces[i].setReservedSlot(dragEvent.dragActor._delegate); + } + let primary = global.get_primary_monitor(); let activeWorkspaceIndex = global.screen.get_active_workspace_index(); @@ -409,7 +418,6 @@ WorkspacesView.prototype = { let switchTop = (dragEvent.y <= topEdge && topWorkspace); if (switchTop && this._dragOverLastY != topEdge) { topWorkspace.metaWorkspace.activate(global.get_current_time()); - topWorkspace.setReservedSlot(dragEvent.dragActor._delegate); this._dragOverLastY = topEdge; return DND.DragMotionResult.CONTINUE; @@ -418,7 +426,6 @@ WorkspacesView.prototype = { let switchBottom = (dragEvent.y >= bottomEdge && bottomWorkspace); if (switchBottom && this._dragOverLastY != bottomEdge) { bottomWorkspace.metaWorkspace.activate(global.get_current_time()); - bottomWorkspace.setReservedSlot(dragEvent.dragActor._delegate); this._dragOverLastY = bottomEdge; return DND.DragMotionResult.CONTINUE; @@ -453,7 +460,6 @@ WorkspacesView.prototype = { this._timeoutId = Mainloop.timeout_add_seconds(1, Lang.bind(this, function() { hoverWorkspace.metaWorkspace.activate(global.get_current_time()); - hoverWorkspace.setReservedSlot(dragEvent.dragActor._delegate); return false; })); } else { @@ -476,6 +482,8 @@ WorkspacesView.prototype = { for (let i = 0; i < this._workspaces.length; i++) this._workspaces[i].setReservedSlot(null); + for (let i = 0; i < this._extraWorkspaces.length; i++) + this._extraWorkspaces[i].setReservedSlot(null); }, _swipeScrollBegin: function() { From 09f2028d6acc11b6b1fbbab81fd2ee0924b20dc4 Mon Sep 17 00:00:00 2001 From: Alexander Larsson Date: Tue, 8 Mar 2011 10:04:49 +0100 Subject: [PATCH 059/203] overview: hidden workspace thumbnails should not stick out on other monitor We clip the entire WorkspacesDisplay to its allocation to avoid things like the WorkspaceThumbnails sticking out of the primary monitor into another monitor. https://bugzilla.gnome.org/show_bug.cgi?id=609258 --- js/ui/workspacesView.js | 1 + 1 file changed, 1 insertion(+) diff --git a/js/ui/workspacesView.js b/js/ui/workspacesView.js index d288c2c14..b37417950 100644 --- a/js/ui/workspacesView.js +++ b/js/ui/workspacesView.js @@ -562,6 +562,7 @@ WorkspacesDisplay.prototype = { this.actor.connect('get-preferred-width', Lang.bind(this, this._getPreferredWidth)); this.actor.connect('get-preferred-height', Lang.bind(this, this._getPreferredHeight)); this.actor.connect('allocate', Lang.bind(this, this._allocate)); + this.actor.set_clip_to_allocation(true); let controls = new St.Bin({ style_class: 'workspace-controls', request_mode: Clutter.RequestMode.WIDTH_FOR_HEIGHT, From df440496eeb6547e32eec4f102334f4836eb1a7e Mon Sep 17 00:00:00 2001 From: Alexander Larsson Date: Wed, 9 Mar 2011 15:59:58 +0100 Subject: [PATCH 060/203] Constrain zoomed overview windows to the current monitor Additionally, the constraint to not overlap the panel should only happen on the primary monitor. https://bugzilla.gnome.org/show_bug.cgi?id=609258 --- js/ui/workspace.js | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/js/ui/workspace.js b/js/ui/workspace.js index 05a22f7e5..974893a27 100644 --- a/js/ui/workspace.js +++ b/js/ui/workspace.js @@ -221,8 +221,15 @@ WindowClone.prototype = { let [width, height] = this.actor.get_transformed_size(); - this.actor.x = _clamp(this.actor.x, 0, global.screen_width - width); - this.actor.y = _clamp(this.actor.y, Main.panel.actor.height, global.screen_height - height); + let monitorIndex = this.metaWindow.get_monitor(); + let availArea = global.get_monitors()[monitorIndex]; + if (monitorIndex == global.get_primary_monitor_index()) { + availArea.y += Main.panel.actor.height; + availArea.height -= Main.panel.actor.height; + } + + this.actor.x = _clamp(this.actor.x, availArea.x, availArea.x + availArea.width - width); + this.actor.y = _clamp(this.actor.y, availArea.y, availArea.y + availArea.height - height); }, _zoomStart : function () { From 0c99f66547bedbac6c4ee8a6173e8699676bd44f Mon Sep 17 00:00:00 2001 From: Alexander Larsson Date: Wed, 16 Mar 2011 11:37:08 +0100 Subject: [PATCH 061/203] Handle workspaces going empty due to windows changing monitors If a workspace becomes empty due to a window changing to/from the primary monitor, but not changing its original workspace then we were not noticing this. This can happen for instance if you drag a thumbnail window to a non-primary window. https://bugzilla.gnome.org/show_bug.cgi?id=609258 --- js/ui/main.js | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/js/ui/main.js b/js/ui/main.js index 2b4c20f46..b5589978d 100644 --- a/js/ui/main.js +++ b/js/ui/main.js @@ -219,6 +219,10 @@ function start() { } global.screen.connect('notify::n-workspaces', _nWorkspacesChanged); + + global.screen.connect('window-entered-monitor', _windowEnteredMonitor); + global.screen.connect('window-left-monitor', _windowLeftMonitor); + Mainloop.idle_add(_nWorkspacesChanged); } @@ -306,6 +310,20 @@ function _windowRemoved(workspace, window) { }); } +function _windowLeftMonitor(metaScreen, monitorIndex, metaWin) { + // If the window left the primary monitor, that + // might make that workspace empty + if (monitorIndex == global.get_primary_monitor_index()) + _queueCheckWorkspaces(); +} + +function _windowEnteredMonitor(metaScreen, monitorIndex, metaWin) { + // If the window entered the primary monitor, that + // might make that workspace non-empty + if (monitorIndex == global.get_primary_monitor_index()) + _queueCheckWorkspaces(); +} + function _queueCheckWorkspaces() { if (_checkWorkspacesId == 0) _checkWorkspacesId = Meta.later_add(Meta.LaterType.BEFORE_REDRAW, _checkWorkspaces); From 492263c2e964584ced918e0294ac7dbe1bab3b06 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Fr=C3=A9d=C3=A9ric=20P=C3=A9ters?= Date: Thu, 17 Mar 2011 14:29:09 +0100 Subject: [PATCH 062/203] Link against libmutter. https://bugzilla.gnome.org/show_bug.cgi?id=644565 --- configure.ac | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/configure.ac b/configure.ac index 0d5581d74..475d218ab 100644 --- a/configure.ac +++ b/configure.ac @@ -78,7 +78,7 @@ POLKIT_MIN_VERSION=0.100 PKG_CHECK_MODULES(GNOME_SHELL, gio-2.0 >= $GIO_MIN_VERSION gio-unix-2.0 dbus-glib-1 libxml-2.0 gtk+-3.0 >= $GTK_MIN_VERSION - libmutter-wm >= $MUTTER_MIN_VERSION + libmutter >= $MUTTER_MIN_VERSION gjs-internals-1.0 >= $GJS_MIN_VERSION libgnome-menu $recorder_modules gconf-2.0 gdk-x11-3.0 @@ -146,8 +146,8 @@ PKG_CHECK_MODULES(CALENDAR_SERVER, libecal-1.2 >= $LIBECAL_MIN_VERSION libedatas AC_SUBST(CALENDAR_SERVER_CFLAGS) AC_SUBST(CALENDAR_SERVER_LIBS) -MUTTER_GIR_DIR=`$PKG_CONFIG --variable=girdir libmutter-wm` -MUTTER_TYPELIB_DIR=`$PKG_CONFIG --variable=typelibdir libmutter-wm` +MUTTER_GIR_DIR=`$PKG_CONFIG --variable=girdir libmutter` +MUTTER_TYPELIB_DIR=`$PKG_CONFIG --variable=typelibdir libmutter` AC_SUBST(MUTTER_GIR_DIR) AC_SUBST(MUTTER_TYPELIB_DIR) From e92c845dfd5fd06c82d8e587205f07fef71f6096 Mon Sep 17 00:00:00 2001 From: Luca Ferretti Date: Thu, 17 Mar 2011 16:03:27 +0100 Subject: [PATCH 063/203] Updated Italian translation --- po/it.po | 86 +++++++++++++++++++++++++++++--------------------------- 1 file changed, 45 insertions(+), 41 deletions(-) diff --git a/po/it.po b/po/it.po index a35328491..6a70b2af2 100644 --- a/po/it.po +++ b/po/it.po @@ -8,8 +8,8 @@ msgid "" msgstr "" "Project-Id-Version: gnome-shell\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2011-03-16 16:50+0100\n" -"PO-Revision-Date: 2011-03-16 17:03+0100\n" +"POT-Creation-Date: 2011-03-17 16:01+0100\n" +"PO-Revision-Date: 2011-03-17 16:03+0100\n" "Last-Translator: Luca Ferretti \n" "Language-Team: Italian \n" "Language: it\n" @@ -174,21 +174,17 @@ msgstr "" msgid "disabled OpenSearch providers" msgstr "Fornitori OpenSearch disabilitati" -#: ../js/misc/util.js:86 +#: ../js/misc/util.js:71 msgid "Command not found" msgstr "Comando non trovato" #. Replace "Error invoking GLib.shell_parse_argv: " with #. something nicer -#: ../js/misc/util.js:113 +#: ../js/misc/util.js:98 msgid "Could not parse command:" msgstr "Impossibile analizzare il comando:" -#: ../js/misc/util.js:135 -msgid "No such application" -msgstr "Applicazione inesistente" - -#: ../js/misc/util.js:148 +#: ../js/misc/util.js:106 #, c-format msgid "Execution of '%s' failed:" msgstr "Esecuzione di «%s» non riuscita:" @@ -376,7 +372,7 @@ msgstr "Questa settimana" msgid "Next week" msgstr "Prossima settimana" -#: ../js/ui/dash.js:174 ../js/ui/messageTray.js:935 +#: ../js/ui/dash.js:174 ../js/ui/messageTray.js:933 msgid "Remove" msgstr "Rimuovi" @@ -548,11 +544,11 @@ msgstr "Visualizza sorgente" msgid "Web Page" msgstr "Pagina web" -#: ../js/ui/messageTray.js:928 +#: ../js/ui/messageTray.js:926 msgid "Open" msgstr "Apri" -#: ../js/ui/messageTray.js:1988 +#: ../js/ui/messageTray.js:1986 msgid "System Information" msgstr "Informazione di sistema" @@ -682,15 +678,15 @@ msgstr "Allerte visive" #: ../js/ui/status/accessibility.js:80 msgid "Sticky Keys" -msgstr "Permanenza tasti" +msgstr "Tasti singoli" #: ../js/ui/status/accessibility.js:83 msgid "Slow Keys" -msgstr "Rallentamento tasti" +msgstr "Tasti lenti" #: ../js/ui/status/accessibility.js:86 msgid "Bounce Keys" -msgstr "Pressione ravvicinata tasti" +msgstr "Tasti rimbalzati" #: ../js/ui/status/accessibility.js:89 msgid "Mouse Keys" @@ -700,11 +696,11 @@ msgstr "Mouse da tastiera" msgid "Universal Access Settings" msgstr "Impostazioni accesso universale" -#: ../js/ui/status/accessibility.js:145 +#: ../js/ui/status/accessibility.js:146 msgid "High Contrast" msgstr "Contrasto elevato" -#: ../js/ui/status/accessibility.js:182 +#: ../js/ui/status/accessibility.js:183 msgid "Large Text" msgstr "Caratteri grandi" @@ -968,11 +964,11 @@ msgstr "Impostazioni alimentazione" #. 0 is reported when UPower does not have enough data #. to estimate battery life -#: ../js/ui/status/power.js:110 +#: ../js/ui/status/power.js:111 msgid "Estimating..." msgstr "In stima..." -#: ../js/ui/status/power.js:117 +#: ../js/ui/status/power.js:118 #, c-format msgid "%d hour remaining" msgid_plural "%d hours remaining" @@ -980,76 +976,76 @@ msgstr[0] "%d ora rimanente" msgstr[1] "%d ore rimanenti" #. TRANSLATORS: this is a time string, as in "%d hours %d minutes remaining" -#: ../js/ui/status/power.js:120 +#: ../js/ui/status/power.js:121 #, c-format msgid "%d %s %d %s remaining" msgstr "%d %s e %d %s rimanenti" -#: ../js/ui/status/power.js:122 +#: ../js/ui/status/power.js:123 msgid "hour" msgid_plural "hours" msgstr[0] "ora" msgstr[1] "ore" -#: ../js/ui/status/power.js:122 +#: ../js/ui/status/power.js:123 msgid "minute" msgid_plural "minutes" msgstr[0] "minuto" msgstr[1] "minuti" -#: ../js/ui/status/power.js:125 +#: ../js/ui/status/power.js:126 #, c-format msgid "%d minute remaining" msgid_plural "%d minutes remaining" msgstr[0] "%d minuto rimanente" msgstr[1] "%d minuti rimanenti" -#: ../js/ui/status/power.js:227 +#: ../js/ui/status/power.js:228 msgid "AC adapter" msgstr "Alimentatore di corrente" -#: ../js/ui/status/power.js:229 +#: ../js/ui/status/power.js:230 msgid "Laptop battery" msgstr "Batteria del portatile" -#: ../js/ui/status/power.js:231 +#: ../js/ui/status/power.js:232 msgid "UPS" msgstr "UPS" -#: ../js/ui/status/power.js:233 +#: ../js/ui/status/power.js:234 msgid "Monitor" msgstr "Monitor" -#: ../js/ui/status/power.js:235 +#: ../js/ui/status/power.js:236 msgid "Mouse" msgstr "Mouse" -#: ../js/ui/status/power.js:237 +#: ../js/ui/status/power.js:238 msgid "Keyboard" msgstr "Tastiera" -#: ../js/ui/status/power.js:239 +#: ../js/ui/status/power.js:240 msgid "PDA" msgstr "PDS" # c'era una discussione su tp... -#: ../js/ui/status/power.js:241 +#: ../js/ui/status/power.js:242 msgid "Cell phone" msgstr "Cellulare" -#: ../js/ui/status/power.js:243 +#: ../js/ui/status/power.js:244 msgid "Media player" msgstr "Lettore multimediale" -#: ../js/ui/status/power.js:245 +#: ../js/ui/status/power.js:246 msgid "Tablet" msgstr "Tablet" -#: ../js/ui/status/power.js:247 +#: ../js/ui/status/power.js:248 msgid "Computer" msgstr "Computer" -#: ../js/ui/status/power.js:249 ../src/shell-app-system.c:1013 +#: ../js/ui/status/power.js:250 ../src/shell-app-system.c:961 msgid "Unknown" msgstr "Sconosciuto" @@ -1134,36 +1130,41 @@ msgstr[1] "%u ingressi" msgid "System Sounds" msgstr "Audio di sistema" -#: ../src/main.c:395 +#: ../src/main.c:397 msgid "Print version" msgstr "Stampa la versione" -#: ../src/shell-global.c:1308 +#: ../src/shell-app.c:442 +#, c-format +msgid "Failed to launch '%s'" +msgstr "Avvio di «%s» non riuscito" + +#: ../src/shell-global.c:1340 msgid "Less than a minute ago" msgstr "Meno di un minuto fa" -#: ../src/shell-global.c:1312 +#: ../src/shell-global.c:1344 #, c-format msgid "%d minute ago" msgid_plural "%d minutes ago" msgstr[0] "%d minuto fa" msgstr[1] "%d minuti fa" -#: ../src/shell-global.c:1317 +#: ../src/shell-global.c:1349 #, c-format msgid "%d hour ago" msgid_plural "%d hours ago" msgstr[0] "%d ora fa" msgstr[1] "%d ore fa" -#: ../src/shell-global.c:1322 +#: ../src/shell-global.c:1354 #, c-format msgid "%d day ago" msgid_plural "%d days ago" msgstr[0] "%d giorno fa" msgstr[1] "%d giorni fa" -#: ../src/shell-global.c:1327 +#: ../src/shell-global.c:1359 #, c-format msgid "%d week ago" msgid_plural "%d weeks ago" @@ -1205,6 +1206,9 @@ msgstr "File system" msgid "%1$s: %2$s" msgstr "%1$s: %2$s" +#~ msgid "No such application" +#~ msgstr "Applicazione inesistente" + #~ msgid "Screen Reader" #~ msgstr "Lettore schermo" From 36ce460a39e8807a04ee2f5933a261c6a1d74c93 Mon Sep 17 00:00:00 2001 From: Daniel Korostil Date: Thu, 17 Mar 2011 18:59:08 +0200 Subject: [PATCH 064/203] Uploaded Ukranian --- po/uk.po | 344 +++++++++++++++++++++++++++++++++++++++---------------- 1 file changed, 245 insertions(+), 99 deletions(-) diff --git a/po/uk.po b/po/uk.po index a32ca198c..40d69aaeb 100644 --- a/po/uk.po +++ b/po/uk.po @@ -7,8 +7,8 @@ msgid "" msgstr "" "Project-Id-Version: gnome-shell master\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2011-03-10 18:48+0200\n" -"PO-Revision-Date: 2011-03-10 20:18+0300\n" +"POT-Creation-Date: 2011-03-17 18:44+0200\n" +"PO-Revision-Date: 2011-03-17 18:58+0300\n" "Last-Translator: Korostil Daniel \n" "Language-Team: translation@linux.org.ua\n" "Language: uk\n" @@ -173,21 +173,17 @@ msgstr "Чи потрібно збирати статистику про вжи msgid "disabled OpenSearch providers" msgstr "вимкнено постачальника OpenSearch" -#: ../js/misc/util.js:86 +#: ../js/misc/util.js:71 msgid "Command not found" msgstr "Команди не знайдено" #. Replace "Error invoking GLib.shell_parse_argv: " with #. something nicer -#: ../js/misc/util.js:113 +#: ../js/misc/util.js:98 msgid "Could not parse command:" msgstr "Неможливо розібрати команду:" -#: ../js/misc/util.js:135 -msgid "No such application" -msgstr "Нема такої програми" - -#: ../js/misc/util.js:148 +#: ../js/misc/util.js:106 #, c-format msgid "Execution of '%s' failed:" msgstr "Не вдалось виконати «%s»:" @@ -373,7 +369,7 @@ msgstr "Цей тиждень" msgid "Next week" msgstr "Наступний тиждень" -#: ../js/ui/dash.js:174 ../js/ui/messageTray.js:931 +#: ../js/ui/dash.js:174 ../js/ui/messageTray.js:933 msgid "Remove" msgstr "Вилучити" @@ -428,7 +424,7 @@ msgstr "%a %l:%M %p" #. Translators: This is the date format to use when the calendar popup is #. * shown - it is shown just below the time in the shell (e.g. "Tue 9:29 AM"). #. -#: ../js/ui/dateMenu.js:209 +#: ../js/ui/dateMenu.js:194 msgid "%A %B %e, %Y" msgstr "%A %B %e, %Y" @@ -502,7 +498,7 @@ msgstr "Перезапуск системи." msgid "Confirm" msgstr "Підтвердити" -#: ../js/ui/endSessionDialog.js:400 ../js/ui/status/bluetooth.js:470 +#: ../js/ui/endSessionDialog.js:400 ../js/ui/status/bluetooth.js:465 msgid "Cancel" msgstr "Скасувати" @@ -516,7 +512,7 @@ msgstr "Увімкнено" #. translators: #. * The device has been disabled -#: ../js/ui/lookingGlass.js:627 ../src/gvc/gvc-mixer-control.c:1087 +#: ../js/ui/lookingGlass.js:627 ../src/gvc/gvc-mixer-control.c:1091 msgid "Disabled" msgstr "Вимкнено" @@ -536,11 +532,11 @@ msgstr "Переглянути джерело" msgid "Web Page" msgstr "Веб-сторінка" -#: ../js/ui/messageTray.js:924 +#: ../js/ui/messageTray.js:926 msgid "Open" msgstr "Відкрити" -#: ../js/ui/messageTray.js:1961 +#: ../js/ui/messageTray.js:1986 msgid "System Information" msgstr "Інформація про систему" @@ -563,18 +559,18 @@ msgid "Dash" msgstr "Риска" #. TODO - _quit() doesn't really work on apps in state STARTING yet -#: ../js/ui/panel.js:560 +#: ../js/ui/panel.js:514 #, c-format msgid "Quit %s" msgstr "Вийти з %s" #. Button on the left side of the panel. #. Translators: If there is no suitable word for "Activities" in your language, you can use the word for "Overview". -#: ../js/ui/panel.js:919 +#: ../js/ui/panel.js:873 msgid "Activities" msgstr "Дії" -#: ../js/ui/panel.js:1020 +#: ../js/ui/panel.js:974 msgid "Panel" msgstr "Панель" @@ -591,7 +587,7 @@ msgstr "Повторити" msgid "Connect to..." msgstr "З'єднатися з…" -#: ../js/ui/placeDisplay.js:409 +#: ../js/ui/placeDisplay.js:380 msgid "PLACES & DEVICES" msgstr "МІСЦЯ ТА ПРИСТРОЇ" @@ -600,7 +596,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:618 +#: ../js/ui/popupMenu.js:636 msgid "toggle-switch-us" msgstr "toggle-switch-intl" @@ -616,39 +612,39 @@ msgstr "Пошук…" msgid "No matching results." msgstr "Нема збігів." -#: ../js/ui/statusMenu.js:113 ../js/ui/statusMenu.js:177 +#: ../js/ui/statusMenu.js:114 ../js/ui/statusMenu.js:178 msgid "Power Off..." msgstr "Вимкнення живлення…" -#: ../js/ui/statusMenu.js:115 ../js/ui/statusMenu.js:176 +#: ../js/ui/statusMenu.js:116 ../js/ui/statusMenu.js:177 msgid "Suspend" msgstr "Призупинити" -#: ../js/ui/statusMenu.js:136 +#: ../js/ui/statusMenu.js:137 msgid "Available" msgstr "Доступний" -#: ../js/ui/statusMenu.js:141 +#: ../js/ui/statusMenu.js:142 msgid "Busy" msgstr "Зайнятий" -#: ../js/ui/statusMenu.js:149 +#: ../js/ui/statusMenu.js:150 msgid "My Account" msgstr "Мій обліковий запис" -#: ../js/ui/statusMenu.js:153 +#: ../js/ui/statusMenu.js:154 msgid "System Settings" msgstr "Системні параметри" -#: ../js/ui/statusMenu.js:160 +#: ../js/ui/statusMenu.js:161 msgid "Lock Screen" msgstr "Заблокувати екран" -#: ../js/ui/statusMenu.js:164 +#: ../js/ui/statusMenu.js:165 msgid "Switch User" msgstr "Змінити користувача" -#: ../js/ui/statusMenu.js:169 +#: ../js/ui/statusMenu.js:170 msgid "Log Out..." msgstr "Завершити сеанс…" @@ -656,14 +652,12 @@ msgstr "Завершити сеанс…" msgid "Zoom" msgstr "Масштаб" -#: ../js/ui/status/accessibility.js:69 -msgid "Screen Reader" -msgstr "Читання з екрану" - -#: ../js/ui/status/accessibility.js:73 -msgid "Screen Keyboard" -msgstr "Екранна клавіатура" - +#. let screenReader = this._buildItem(_("Screen Reader"), APPLICATIONS_SCHEMA, +#. 'screen-reader-enabled'); +#. this.menu.addMenuItem(screenReader); +#. let screenKeyboard = this._buildItem(_("Screen Keyboard"), APPLICATIONS_SCHEMA, +#. 'screen-keyboard-enabled'); +#. this.menu.addMenuItem(screenKeyboard); #: ../js/ui/status/accessibility.js:77 msgid "Visual Alerts" msgstr "Візуальні тривоги" @@ -688,17 +682,17 @@ msgstr "Клавіші миші" msgid "Universal Access Settings" msgstr "Параметри універсального доступу" -#: ../js/ui/status/accessibility.js:145 +#: ../js/ui/status/accessibility.js:146 msgid "High Contrast" msgstr "Висока контрастність" -#: ../js/ui/status/accessibility.js:182 +#: ../js/ui/status/accessibility.js:183 msgid "Large Text" msgstr "Більший текст" -#: ../js/ui/status/bluetooth.js:42 ../js/ui/status/bluetooth.js:241 -#: ../js/ui/status/bluetooth.js:337 ../js/ui/status/bluetooth.js:371 -#: ../js/ui/status/bluetooth.js:411 ../js/ui/status/bluetooth.js:444 +#: ../js/ui/status/bluetooth.js:42 ../js/ui/status/bluetooth.js:236 +#: ../js/ui/status/bluetooth.js:332 ../js/ui/status/bluetooth.js:366 +#: ../js/ui/status/bluetooth.js:406 ../js/ui/status/bluetooth.js:439 msgid "Bluetooth" msgstr "Bluetooth" @@ -718,94 +712,94 @@ msgstr "Встановити новий пристрій…" msgid "Bluetooth Settings" msgstr "Параметри Bluetooth" -#: ../js/ui/status/bluetooth.js:192 +#: ../js/ui/status/bluetooth.js:187 msgid "Connection" msgstr "З'єднання" -#: ../js/ui/status/bluetooth.js:228 +#: ../js/ui/status/bluetooth.js:223 msgid "Send Files..." msgstr "Відправити файли…" -#: ../js/ui/status/bluetooth.js:233 +#: ../js/ui/status/bluetooth.js:228 msgid "Browse Files..." msgstr "Огляд файлів…" -#: ../js/ui/status/bluetooth.js:242 +#: ../js/ui/status/bluetooth.js:237 msgid "Error browsing device" msgstr "Помилка перегляду пристрою…" -#: ../js/ui/status/bluetooth.js:243 +#: ../js/ui/status/bluetooth.js:238 #, c-format msgid "The requested device cannot be browsed, error is '%s'" msgstr "Потрібний пристрій неможливо переглянути, помилка — «%s»" -#: ../js/ui/status/bluetooth.js:251 +#: ../js/ui/status/bluetooth.js:246 msgid "Keyboard Settings" msgstr "Параметри клавіатури" -#: ../js/ui/status/bluetooth.js:256 +#: ../js/ui/status/bluetooth.js:251 msgid "Mouse Settings" msgstr "Параметри миші" -#: ../js/ui/status/bluetooth.js:263 ../js/ui/status/volume.js:65 +#: ../js/ui/status/bluetooth.js:258 ../js/ui/status/volume.js:66 msgid "Sound Settings" msgstr "Параметри звуку" -#: ../js/ui/status/bluetooth.js:372 +#: ../js/ui/status/bluetooth.js:367 #, c-format msgid "Authorization request from %s" msgstr "Запит про авторизацію від %s" -#: ../js/ui/status/bluetooth.js:378 +#: ../js/ui/status/bluetooth.js:373 #, c-format msgid "Device %s wants access to the service '%s'" msgstr "Пристрій %s потребує доступ до служби «%s»" -#: ../js/ui/status/bluetooth.js:380 +#: ../js/ui/status/bluetooth.js:375 msgid "Always grant access" msgstr "Завжди надавати доступ" -#: ../js/ui/status/bluetooth.js:381 +#: ../js/ui/status/bluetooth.js:376 msgid "Grant this time only" msgstr "Надати лише цього разу" -#: ../js/ui/status/bluetooth.js:382 +#: ../js/ui/status/bluetooth.js:377 msgid "Reject" msgstr "Відмовити" -#: ../js/ui/status/bluetooth.js:412 +#: ../js/ui/status/bluetooth.js:407 #, c-format msgid "Pairing confirmation for %s" msgstr "Сполучення підтвердження для %s" -#: ../js/ui/status/bluetooth.js:418 ../js/ui/status/bluetooth.js:452 +#: ../js/ui/status/bluetooth.js:413 ../js/ui/status/bluetooth.js:447 #, c-format msgid "Device %s wants to pair with this computer" msgstr "Пристрій %s потребує прив'язання до цього комп'ютера" -#: ../js/ui/status/bluetooth.js:419 +#: ../js/ui/status/bluetooth.js:414 #, c-format msgid "Please confirm whether the PIN '%s' matches the one on the device." msgstr "Будь ласка, підвердьте, чи «%s» збігається з PIN на пристрої." -#: ../js/ui/status/bluetooth.js:421 +#: ../js/ui/status/bluetooth.js:416 msgid "Matches" msgstr "Збігається" -#: ../js/ui/status/bluetooth.js:422 +#: ../js/ui/status/bluetooth.js:417 msgid "Does not match" msgstr "Не збігається" -#: ../js/ui/status/bluetooth.js:445 +#: ../js/ui/status/bluetooth.js:440 #, c-format msgid "Pairing request for %s" msgstr "Запит на сполучення для %s" -#: ../js/ui/status/bluetooth.js:453 +#: ../js/ui/status/bluetooth.js:448 msgid "Please enter the PIN mentioned on the device." msgstr "Будь ласка, введіть PIN, згаданий на пристрої." -#: ../js/ui/status/bluetooth.js:469 +#: ../js/ui/status/bluetooth.js:464 msgid "OK" msgstr "Гаразд" @@ -817,17 +811,147 @@ msgstr "Показувати розкладку клавіатури…" msgid "Localization Settings" msgstr "Параметри локалізації" +#: ../js/ui/status/network.js:102 ../js/ui/status/network.js:1393 +msgid "" +msgstr "<невідомо>" + +#. Translators: this indicates that wireless or wwan is disabled by hardware killswitch +#: ../js/ui/status/network.js:295 +msgid "disabled" +msgstr "вимкнено" + +#: ../js/ui/status/network.js:476 +msgid "connecting..." +msgstr "з'єднання…" + +#. Translators: this is for network connections that require some kind of key or password +#: ../js/ui/status/network.js:479 +msgid "authentication required" +msgstr "Потрібна аутентифікація" + +#. Translators: this is for wired network devices that are physically disconnected +#: ../js/ui/status/network.js:485 +msgid "cable unplugged" +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:489 +msgid "unavailable" +msgstr "недоступний" + +#: ../js/ui/status/network.js:491 +msgid "connection failed" +msgstr "не вдалось з'єднатись" + +#. TRANSLATORS: this is the indication that a connection for another logged in user is active, +#. and we cannot access its settings (including the name) +#: ../js/ui/status/network.js:571 ../js/ui/status/network.js:1341 +msgid "Connected (private)" +msgstr "З'єднано (приватно)" + +#: ../js/ui/status/network.js:636 +msgid "Auto Ethernet" +msgstr "Автоматично Ethernet" + +#: ../js/ui/status/network.js:697 +msgid "Auto broadband" +msgstr "Автоматично радіомережа" + +#: ../js/ui/status/network.js:700 +msgid "Auto dial-up" +msgstr "Автоматично додзвін" + +#. TRANSLATORS: this the automatic wireless connection name (including the network name) +#: ../js/ui/status/network.js:843 ../js/ui/status/network.js:1353 +#, c-format +msgid "Auto %s" +msgstr "Автоматично %s" + +#: ../js/ui/status/network.js:845 +msgid "Auto bluetooth" +msgstr "Автоматично Bluetooth" + +#: ../js/ui/status/network.js:1355 +msgid "Auto wireless" +msgstr "Автоматично бездротова мережа" + +#: ../js/ui/status/network.js:1413 +msgid "More..." +msgstr "Більше…" + +#: ../js/ui/status/network.js:1436 +msgid "Enable networking" +msgstr "Увімкнути мережу" + +#: ../js/ui/status/network.js:1448 +msgid "Wired" +msgstr "Дротова" + +#: ../js/ui/status/network.js:1459 +msgid "Wireless" +msgstr "Бездротова" + +#: ../js/ui/status/network.js:1469 +msgid "Mobile broadband" +msgstr "Мобільна радіомережа" + +#: ../js/ui/status/network.js:1479 +msgid "VPN Connections" +msgstr "З'єднання VPN" + +#: ../js/ui/status/network.js:1488 +msgid "Network Settings" +msgstr "Налаштування мережі" + +#: ../js/ui/status/network.js:1782 +#, c-format +msgid "You're now connected to mobile broadband connection '%s'" +msgstr "Зараз ви з'єднані через мобільну радіомережу «%s»" + +#: ../js/ui/status/network.js:1786 +#, c-format +msgid "You're now connected to wireless network '%s'" +msgstr "Зараз ви з'єднані через бездротову мережу «%s»" + +#: ../js/ui/status/network.js:1790 +#, c-format +msgid "You're now connected to wired network '%s'" +msgstr "Зараз ви з'єднані через дротову мережу «%s»" + +#: ../js/ui/status/network.js:1794 +#, c-format +msgid "You're now connected to VPN network '%s'" +msgstr "Зараз ви з'єднані через мережу VPN «%s»" + +#: ../js/ui/status/network.js:1799 +#, c-format +msgid "You're now connected to '%s'" +msgstr "Зараз ви з'єднані через «%s»" + +#: ../js/ui/status/network.js:1807 +msgid "Connection estabilished" +msgstr "З'єднання встановлено" + +#: ../js/ui/status/network.js:1929 +msgid "Networking is disabled" +msgstr "Мережу вимкнено" + +#: ../js/ui/status/network.js:2054 +msgid "Network Manager" +msgstr "Керування мережею" + #: ../js/ui/status/power.js:85 msgid "Power Settings" msgstr "Енергетичні параметри" #. 0 is reported when UPower does not have enough data #. to estimate battery life -#: ../js/ui/status/power.js:110 +#: ../js/ui/status/power.js:111 msgid "Estimating..." msgstr "Оцінювання…" -#: ../js/ui/status/power.js:117 +#: ../js/ui/status/power.js:118 #, c-format msgid "%d hour remaining" msgid_plural "%d hours remaining" @@ -836,26 +960,26 @@ msgstr[1] "Залишилось %d години" msgstr[2] "Залишилось %d годин" #. TRANSLATORS: this is a time string, as in "%d hours %d minutes remaining" -#: ../js/ui/status/power.js:120 +#: ../js/ui/status/power.js:121 #, c-format msgid "%d %s %d %s remaining" msgstr "Залишилось %d %s %d %s" -#: ../js/ui/status/power.js:122 +#: ../js/ui/status/power.js:123 msgid "hour" msgid_plural "hours" msgstr[0] "година" msgstr[1] "години" msgstr[2] "годин" -#: ../js/ui/status/power.js:122 +#: ../js/ui/status/power.js:123 msgid "minute" msgid_plural "minutes" msgstr[0] "хвилина" msgstr[1] "хвилини" msgstr[2] "хвилин" -#: ../js/ui/status/power.js:125 +#: ../js/ui/status/power.js:126 #, c-format msgid "%d minute remaining" msgid_plural "%d minutes remaining" @@ -863,78 +987,78 @@ msgstr[0] "Залишилось %d хвилина" msgstr[1] "Залишилось %d хвилини" msgstr[2] "Залишилось %d хвилин" -#: ../js/ui/status/power.js:227 +#: ../js/ui/status/power.js:228 msgid "AC adapter" msgstr "Блок живлення" -#: ../js/ui/status/power.js:229 +#: ../js/ui/status/power.js:230 msgid "Laptop battery" msgstr "Батарея ноутбука" -#: ../js/ui/status/power.js:231 +#: ../js/ui/status/power.js:232 msgid "UPS" msgstr "UPS" -#: ../js/ui/status/power.js:233 +#: ../js/ui/status/power.js:234 msgid "Monitor" msgstr "Монітор" -#: ../js/ui/status/power.js:235 +#: ../js/ui/status/power.js:236 msgid "Mouse" msgstr "Миша" -#: ../js/ui/status/power.js:237 +#: ../js/ui/status/power.js:238 msgid "Keyboard" msgstr "Клавіатура" -#: ../js/ui/status/power.js:239 +#: ../js/ui/status/power.js:240 msgid "PDA" msgstr "КПК" -#: ../js/ui/status/power.js:241 +#: ../js/ui/status/power.js:242 msgid "Cell phone" msgstr "Мобільний телефон" -#: ../js/ui/status/power.js:243 +#: ../js/ui/status/power.js:244 msgid "Media player" msgstr "Програвач" -#: ../js/ui/status/power.js:245 +#: ../js/ui/status/power.js:246 msgid "Tablet" msgstr "Планшет" -#: ../js/ui/status/power.js:247 +#: ../js/ui/status/power.js:248 msgid "Computer" msgstr "Комп'ютер" -#: ../js/ui/status/power.js:249 ../src/shell-app-system.c:1013 +#: ../js/ui/status/power.js:250 ../src/shell-app-system.c:961 msgid "Unknown" msgstr "Невідомо" -#: ../js/ui/status/volume.js:44 +#: ../js/ui/status/volume.js:45 msgid "Volume" msgstr "Гучність" -#: ../js/ui/status/volume.js:57 +#: ../js/ui/status/volume.js:58 msgid "Microphone" msgstr "Мікрофон" -#: ../js/ui/telepathyClient.js:239 +#: ../js/ui/telepathyClient.js:332 #, c-format msgid "%s is online." msgstr "%s в мережі." -#: ../js/ui/telepathyClient.js:244 +#: ../js/ui/telepathyClient.js:337 #, c-format msgid "%s is offline." msgstr "%s поза мережею." -#: ../js/ui/telepathyClient.js:247 +#: ../js/ui/telepathyClient.js:340 #, c-format msgid "%s is away." msgstr "%s відійшов." -#: ../js/ui/telepathyClient.js:250 +#: ../js/ui/telepathyClient.js:343 #, c-format msgid "%s is busy." msgstr "%s зайнятий." @@ -942,7 +1066,7 @@ msgstr "%s зайнятий." #. Translators: this is a time format string followed by a date. #. If applicable, replace %X with a strftime format valid for your #. locale, without seconds. -#: ../js/ui/telepathyClient.js:357 +#: ../js/ui/telepathyClient.js:474 #, no-c-format msgid "Sent at %X on %A" msgstr "Відправити на %X в %A" @@ -951,11 +1075,11 @@ msgstr "Відправити на %X в %A" #. in the search entry when no search is #. active; it should not exceed ~30 #. characters. -#: ../js/ui/viewSelector.js:117 +#: ../js/ui/viewSelector.js:119 msgid "Type to search..." msgstr "Введіть для пошуку…" -#: ../js/ui/viewSelector.js:137 ../src/shell-util.c:250 +#: ../js/ui/viewSelector.js:139 ../src/shell-util.c:250 msgid "Search" msgstr "Пошук" @@ -971,7 +1095,7 @@ msgstr "«%s» готовий" #. translators: #. * The number of sound outputs on a particular device -#: ../src/gvc/gvc-mixer-control.c:1094 +#: ../src/gvc/gvc-mixer-control.c:1098 #, c-format msgid "%u Output" msgid_plural "%u Outputs" @@ -981,7 +1105,7 @@ msgstr[2] "%u виходів" #. translators: #. * The number of sound inputs on a particular device -#: ../src/gvc/gvc-mixer-control.c:1104 +#: ../src/gvc/gvc-mixer-control.c:1108 #, c-format msgid "%u Input" msgid_plural "%u Inputs" @@ -989,19 +1113,24 @@ msgstr[0] "%u вхід" msgstr[1] "%u входи" msgstr[2] "%u входів" -#: ../src/gvc/gvc-mixer-control.c:1402 +#: ../src/gvc/gvc-mixer-control.c:1406 msgid "System Sounds" msgstr "Системні звуки" -#: ../src/main.c:395 +#: ../src/main.c:397 msgid "Print version" msgstr "Показати версію" -#: ../src/shell-global.c:1308 +#: ../src/shell-app.c:442 +#, c-format +msgid "Failed to launch '%s'" +msgstr "Не вдалось запустити «%s»" + +#: ../src/shell-global.c:1340 msgid "Less than a minute ago" msgstr "Менше хвилини тому" -#: ../src/shell-global.c:1312 +#: ../src/shell-global.c:1344 #, c-format msgid "%d minute ago" msgid_plural "%d minutes ago" @@ -1009,7 +1138,7 @@ msgstr[0] "%d хвилина тому" msgstr[1] "%d хвилини тому" msgstr[2] "%d хвилин тому" -#: ../src/shell-global.c:1317 +#: ../src/shell-global.c:1349 #, c-format msgid "%d hour ago" msgid_plural "%d hours ago" @@ -1017,7 +1146,7 @@ msgstr[0] "%d година тому" msgstr[1] "%d години тому" msgstr[2] "%d годин тому" -#: ../src/shell-global.c:1322 +#: ../src/shell-global.c:1354 #, c-format msgid "%d day ago" msgid_plural "%d days ago" @@ -1025,7 +1154,7 @@ msgstr[0] "%d день тому" msgstr[1] "%d дні тому" msgstr[2] "%d днів тому" -#: ../src/shell-global.c:1327 +#: ../src/shell-global.c:1359 #, c-format msgid "%d week ago" msgid_plural "%d weeks ago" @@ -1033,6 +1162,14 @@ msgstr[0] "%d тиждень тому" msgstr[1] "%d тижні тому" msgstr[2] "%d тижнів тому" +#: ../src/shell-mobile-providers.c:80 +msgid "United Kingdom" +msgstr "Великобританія" + +#: ../src/shell-mobile-providers.c:526 +msgid "Default" +msgstr "Типово" + #: ../src/shell-polkit-authentication-agent.c:334 msgid "Authentication dialog was dismissed by the user" msgstr "Вікно авторизації відхилено користувачем" @@ -1057,6 +1194,15 @@ msgstr "Файлова система" msgid "%1$s: %2$s" msgstr "%1$s: %2$s" +#~ msgid "No such application" +#~ msgstr "Нема такої програми" + +#~ msgid "Screen Reader" +#~ msgstr "Читання з екрану" + +#~ msgid "Screen Keyboard" +#~ msgstr "Екранна клавіатура" + #~ msgid "PREFERENCES" #~ msgstr "ПАРАМЕТРИ" From dd99ed73a92e1f9b42bf1afad9591489fde79760 Mon Sep 17 00:00:00 2001 From: William Jon McCann Date: Wed, 16 Mar 2011 22:27:04 -0400 Subject: [PATCH 065/203] Fallback to using a generic when requested image isn't found Use a type specific generic image when the requested icon can't be loaded instead of using an empty texture. https://bugzilla.gnome.org/show_bug.cgi?id=644668 --- src/shell-app-system.c | 26 ++++++++++++++++---------- src/shell-app.c | 26 +++++++++++++++++++------- src/st/st-texture-cache.c | 27 ++++++++++++++++++++++++++- 3 files changed, 61 insertions(+), 18 deletions(-) diff --git a/src/shell-app-system.c b/src/shell-app-system.c index 9012540a2..086cfc888 100644 --- a/src/shell-app-system.c +++ b/src/shell-app-system.c @@ -1208,21 +1208,27 @@ shell_app_info_create_icon_texture (ShellAppInfo *info, float size) GIcon *icon; ClutterActor *ret; + ret = NULL; + if (info->type == SHELL_APP_INFO_TYPE_WINDOW) { - return st_texture_cache_bind_pixbuf_property (st_texture_cache_get_default (), - G_OBJECT (info->window), - "icon"); - } - - icon = shell_app_info_get_icon (info); - if (icon == NULL) - { - ret = clutter_texture_new (); - g_object_set (ret, "opacity", 0, "width", size, "height", size, NULL); + ret = st_texture_cache_bind_pixbuf_property (st_texture_cache_get_default (), + G_OBJECT (info->window), + "icon"); } else { + icon = shell_app_info_get_icon (info); + if (icon != NULL) + { + ret = st_texture_cache_load_gicon (st_texture_cache_get_default (), NULL, icon, (int)size); + g_object_unref (icon); + } + } + + if (ret == NULL) + { + icon = g_themed_icon_new ("application-x-executable"); ret = st_texture_cache_load_gicon (st_texture_cache_get_default (), NULL, icon, (int)size); g_object_unref (icon); } diff --git a/src/shell-app.c b/src/shell-app.c index b27ebe6ba..d3b00cff2 100644 --- a/src/shell-app.c +++ b/src/shell-app.c @@ -141,14 +141,26 @@ shell_app_create_faded_icon_cpu (StTextureCache *cache, app = data->app; size = data->size; - icon = shell_app_info_get_icon (app->info); - if (icon == NULL) - return COGL_INVALID_HANDLE; + info = NULL; + + icon = shell_app_info_get_icon (app->info); + if (icon != NULL) + { + info = gtk_icon_theme_lookup_by_gicon (gtk_icon_theme_get_default (), + icon, (int) (size + 0.5), + GTK_ICON_LOOKUP_FORCE_SIZE); + g_object_unref (icon); + } + + if (info == NULL) + { + icon = g_themed_icon_new ("application-x-executable"); + info = gtk_icon_theme_lookup_by_gicon (gtk_icon_theme_get_default (), + icon, (int) (size + 0.5), + GTK_ICON_LOOKUP_FORCE_SIZE); + g_object_unref (icon); + } - info = gtk_icon_theme_lookup_by_gicon (gtk_icon_theme_get_default (), - icon, (int) (size + 0.5), - GTK_ICON_LOOKUP_FORCE_SIZE); - g_object_unref (icon); if (info == NULL) return COGL_INVALID_HANDLE; diff --git a/src/st/st-texture-cache.c b/src/st/st-texture-cache.c index 198ddf273..8b46355a7 100644 --- a/src/st/st-texture-cache.c +++ b/src/st/st-texture-cache.c @@ -1195,6 +1195,8 @@ load_gicon_with_colors (StTextureCache *cache, g_slist_free (request->textures); g_free (request); g_hash_table_remove (cache->priv->outstanding_requests, key); + g_object_unref (texture); + texture = NULL; } g_free (key); @@ -1216,7 +1218,7 @@ load_gicon_with_colors (StTextureCache *cache, * This will load @icon as a full-color icon; if you want a symbolic * icon, you must use st_texture_cache_load_icon_name(). * - * Return Value: (transfer none): A new #ClutterActor for the icon + * Return Value: (transfer none): A new #ClutterActor for the icon, or %NULL if not found */ ClutterActor * st_texture_cache_load_gicon (StTextureCache *cache, @@ -1461,10 +1463,27 @@ st_texture_cache_load_icon_name (StTextureCache *cache, switch (icon_type) { case ST_ICON_APPLICATION: + themed = g_themed_icon_new (name); + texture = load_gicon_with_colors (cache, themed, size, NULL); + g_object_unref (themed); + if (texture == NULL) + { + themed = g_themed_icon_new ("application-x-executable"); + texture = load_gicon_with_colors (cache, themed, size, NULL); + g_object_unref (themed); + } + return CLUTTER_ACTOR (texture); + break; case ST_ICON_DOCUMENT: themed = g_themed_icon_new (name); texture = load_gicon_with_colors (cache, themed, size, NULL); g_object_unref (themed); + if (texture == NULL) + { + themed = g_themed_icon_new ("x-office-document"); + texture = load_gicon_with_colors (cache, themed, size, NULL); + g_object_unref (themed); + } return CLUTTER_ACTOR (texture); break; @@ -1482,6 +1501,12 @@ st_texture_cache_load_icon_name (StTextureCache *cache, themed = g_themed_icon_new_with_default_fallbacks (name); texture = load_gicon_with_colors (cache, themed, size, NULL); g_object_unref (themed); + if (texture == NULL) + { + themed = g_themed_icon_new ("image-missing"); + texture = load_gicon_with_colors (cache, themed, size, NULL); + g_object_unref (themed); + } return CLUTTER_ACTOR (texture); break; From 26bb56396d79c98766dc20000121e17054878300 Mon Sep 17 00:00:00 2001 From: Daniel Mustieles Date: Thu, 17 Mar 2011 20:06:18 +0100 Subject: [PATCH 066/203] Updated Spanish translation --- po/es.po | 248 +++++++++++++++++++++++++++++++++++++++++++------------ 1 file changed, 196 insertions(+), 52 deletions(-) diff --git a/po/es.po b/po/es.po index c8d8ebb25..b51ec3816 100644 --- a/po/es.po +++ b/po/es.po @@ -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: 2011-03-14 22:52+0000\n" -"PO-Revision-Date: 2011-03-15 10:27+0100\n" +"POT-Creation-Date: 2011-03-16 18:30+0000\n" +"PO-Revision-Date: 2011-03-17 10:55+0100\n" "Last-Translator: Daniel Mustieles \n" "Language-Team: Español \n" "MIME-Version: 1.0\n" @@ -505,7 +505,7 @@ msgstr "Reiniciando el sistema." msgid "Confirm" msgstr "Confirmar" -#: ../js/ui/endSessionDialog.js:400 ../js/ui/status/bluetooth.js:470 +#: ../js/ui/endSessionDialog.js:400 ../js/ui/status/bluetooth.js:465 msgid "Cancel" msgstr "Cancelar" @@ -543,7 +543,7 @@ msgstr "Página web" msgid "Open" msgstr "Abrir" -#: ../js/ui/messageTray.js:1965 +#: ../js/ui/messageTray.js:1988 msgid "System Information" msgstr "Información del sistema" @@ -566,18 +566,18 @@ msgid "Dash" msgstr "Plano" #. TODO - _quit() doesn't really work on apps in state STARTING yet -#: ../js/ui/panel.js:560 +#: ../js/ui/panel.js:514 #, c-format msgid "Quit %s" msgstr "Salir de %s" #. Button on the left side of the panel. #. Translators: If there is no suitable word for "Activities" in your language, you can use the word for "Overview". -#: ../js/ui/panel.js:919 +#: ../js/ui/panel.js:873 msgid "Activities" msgstr "Actividades" -#: ../js/ui/panel.js:1020 +#: ../js/ui/panel.js:974 msgid "Panel" msgstr "Panel" @@ -659,14 +659,12 @@ msgstr "Cerrar la sesión…" msgid "Zoom" msgstr "Ampliación" -#: ../js/ui/status/accessibility.js:69 -msgid "Screen Reader" -msgstr "Lector de pantalla" - -#: ../js/ui/status/accessibility.js:73 -msgid "Screen Keyboard" -msgstr "Teclado en pantalla" - +#. let screenReader = this._buildItem(_("Screen Reader"), APPLICATIONS_SCHEMA, +#. 'screen-reader-enabled'); +#. this.menu.addMenuItem(screenReader); +#. let screenKeyboard = this._buildItem(_("Screen Keyboard"), APPLICATIONS_SCHEMA, +#. 'screen-keyboard-enabled'); +#. this.menu.addMenuItem(screenKeyboard); #: ../js/ui/status/accessibility.js:77 msgid "Visual Alerts" msgstr "Alertas visuales" @@ -699,9 +697,9 @@ msgstr "Contraste alto" msgid "Large Text" msgstr "Texto grande" -#: ../js/ui/status/bluetooth.js:42 ../js/ui/status/bluetooth.js:241 -#: ../js/ui/status/bluetooth.js:337 ../js/ui/status/bluetooth.js:371 -#: ../js/ui/status/bluetooth.js:411 ../js/ui/status/bluetooth.js:444 +#: ../js/ui/status/bluetooth.js:42 ../js/ui/status/bluetooth.js:236 +#: ../js/ui/status/bluetooth.js:332 ../js/ui/status/bluetooth.js:366 +#: ../js/ui/status/bluetooth.js:406 ../js/ui/status/bluetooth.js:439 msgid "Bluetooth" msgstr "Bluetooth" @@ -721,94 +719,94 @@ msgstr "Configurar un dispositivo nuevo…" msgid "Bluetooth Settings" msgstr "Configuración de Bluetooth" -#: ../js/ui/status/bluetooth.js:192 +#: ../js/ui/status/bluetooth.js:187 msgid "Connection" msgstr "Conexión" -#: ../js/ui/status/bluetooth.js:228 +#: ../js/ui/status/bluetooth.js:223 msgid "Send Files..." msgstr "Enviar archivos…" -#: ../js/ui/status/bluetooth.js:233 +#: ../js/ui/status/bluetooth.js:228 msgid "Browse Files..." msgstr "Examinar archivos…" -#: ../js/ui/status/bluetooth.js:242 +#: ../js/ui/status/bluetooth.js:237 msgid "Error browsing device" msgstr "Error al examinar el dispositivo" -#: ../js/ui/status/bluetooth.js:243 +#: ../js/ui/status/bluetooth.js:238 #, c-format msgid "The requested device cannot be browsed, error is '%s'" msgstr "No se puede examinar el dispositivo solicitado, el error es «%s»" -#: ../js/ui/status/bluetooth.js:251 +#: ../js/ui/status/bluetooth.js:246 msgid "Keyboard Settings" msgstr "Configuración del teclado" -#: ../js/ui/status/bluetooth.js:256 +#: ../js/ui/status/bluetooth.js:251 msgid "Mouse Settings" msgstr "Ajustes del ratón…" -#: ../js/ui/status/bluetooth.js:263 ../js/ui/status/volume.js:66 +#: ../js/ui/status/bluetooth.js:258 ../js/ui/status/volume.js:66 msgid "Sound Settings" msgstr "Configuración del sonido" -#: ../js/ui/status/bluetooth.js:372 +#: ../js/ui/status/bluetooth.js:367 #, c-format msgid "Authorization request from %s" msgstr "Solicitud de autorización de %s" -#: ../js/ui/status/bluetooth.js:378 +#: ../js/ui/status/bluetooth.js:373 #, 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:380 +#: ../js/ui/status/bluetooth.js:375 msgid "Always grant access" msgstr "Conceder acceso siempre" -#: ../js/ui/status/bluetooth.js:381 +#: ../js/ui/status/bluetooth.js:376 msgid "Grant this time only" msgstr "Conceder sólo esta vez" -#: ../js/ui/status/bluetooth.js:382 +#: ../js/ui/status/bluetooth.js:377 msgid "Reject" msgstr "Rechazar" -#: ../js/ui/status/bluetooth.js:412 +#: ../js/ui/status/bluetooth.js:407 #, c-format msgid "Pairing confirmation for %s" msgstr "Confirmación de emparejamiento para «%s»" -#: ../js/ui/status/bluetooth.js:418 ../js/ui/status/bluetooth.js:452 +#: ../js/ui/status/bluetooth.js:413 ../js/ui/status/bluetooth.js:447 #, 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:419 +#: ../js/ui/status/bluetooth.js:414 #, c-format msgid "Please confirm whether the PIN '%s' matches the one on the device." msgstr "Confirme que el PIN mostrado en «%s» coincide con el del dispositivo." -#: ../js/ui/status/bluetooth.js:421 +#: ../js/ui/status/bluetooth.js:416 msgid "Matches" msgstr "Coincide" -#: ../js/ui/status/bluetooth.js:422 +#: ../js/ui/status/bluetooth.js:417 msgid "Does not match" msgstr "No coincide" -#: ../js/ui/status/bluetooth.js:445 +#: ../js/ui/status/bluetooth.js:440 #, c-format msgid "Pairing request for %s" msgstr "Solicitud de emparejamiento para «%s»" -#: ../js/ui/status/bluetooth.js:453 +#: ../js/ui/status/bluetooth.js:448 msgid "Please enter the PIN mentioned on the device." msgstr "Introduzca el PIN mencionado en el dispositivo." -#: ../js/ui/status/bluetooth.js:469 +#: ../js/ui/status/bluetooth.js:464 msgid "OK" msgstr "Aceptar" @@ -820,6 +818,148 @@ msgstr "Mostrar la distribución del teclado…" msgid "Localization Settings" msgstr "Configuración regional" +#: ../js/ui/status/network.js:102 ../js/ui/status/network.js:1393 +#| msgid "Unknown" +msgid "" +msgstr "" + +#. Translators: this indicates that wireless or wwan is disabled by hardware killswitch +#: ../js/ui/status/network.js:295 +#| msgid "Disabled" +msgid "disabled" +msgstr "desactivada" + +#: ../js/ui/status/network.js:476 +#| msgid "Connection" +msgid "connecting..." +msgstr "conectando…" + +#. Translators: this is for network connections that require some kind of key or password +#: ../js/ui/status/network.js:479 +msgid "authentication required" +msgstr "se necesita autenticación" + +#. Translators: this is for wired network devices that are physically disconnected +#: ../js/ui/status/network.js:485 +msgid "cable unplugged" +msgstr "cable desconectado" + +#. 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:489 +#| msgid "Available" +msgid "unavailable" +msgstr "no disponible" + +#: ../js/ui/status/network.js:491 +#| msgid "Connection" +msgid "connection failed" +msgstr "falló la conexión" + +#. TRANSLATORS: this is the indication that a connection for another logged in user is active, +#. and we cannot access its settings (including the name) +#: ../js/ui/status/network.js:571 ../js/ui/status/network.js:1341 +msgid "Connected (private)" +msgstr "Conectada (privada)" + +#: ../js/ui/status/network.js:636 +msgid "Auto Ethernet" +msgstr "Ethernet automática" + +#: ../js/ui/status/network.js:697 +msgid "Auto broadband" +msgstr "Banda ancha automática" + +#: ../js/ui/status/network.js:700 +msgid "Auto dial-up" +msgstr "Marcado automático" + +#. TRANSLATORS: this the automatic wireless connection name (including the network name) +#: ../js/ui/status/network.js:843 ../js/ui/status/network.js:1353 +#, c-format +#| msgid "Quit %s" +msgid "Auto %s" +msgstr "%s automática" + +#: ../js/ui/status/network.js:845 +#| msgid "Bluetooth" +msgid "Auto bluetooth" +msgstr "Bluetooth automático" + +#: ../js/ui/status/network.js:1355 +msgid "Auto wireless" +msgstr "Inalámbrica automática" + +#: ../js/ui/status/network.js:1413 +#| msgid "More" +msgid "More..." +msgstr "Más…" + +#: ../js/ui/status/network.js:1436 +msgid "Enable networking" +msgstr "Activar red" + +#: ../js/ui/status/network.js:1448 +msgid "Wired" +msgstr "Cableada" + +#: ../js/ui/status/network.js:1459 +msgid "Wireless" +msgstr "Inalámbrica" + +#: ../js/ui/status/network.js:1469 +msgid "Mobile broadband" +msgstr "Banda ancha móvil" + +#: ../js/ui/status/network.js:1479 +#| msgid "Connection" +msgid "VPN Connections" +msgstr "Conexiones VPN" + +#: ../js/ui/status/network.js:1488 +#| msgid "Power Settings" +msgid "Network Settings" +msgstr "Configuración de la red" + +#: ../js/ui/status/network.js:1782 +#, c-format +msgid "You're now connected to mobile broadband connection '%s'" +msgstr "Ahora está conectado a la red de banda ancha móvil «%s»" + +#: ../js/ui/status/network.js:1786 +#, c-format +msgid "You're now connected to wireless network '%s'" +msgstr "Ahora está conectado a la red inalámbrica «%s»" + +#: ../js/ui/status/network.js:1790 +#, c-format +msgid "You're now connected to wired network '%s'" +msgstr "Ahora está conectado a la red cableada «%s»" + +#: ../js/ui/status/network.js:1794 +#, c-format +msgid "You're now connected to VPN network '%s'" +msgstr "Ahora está conectado a la VPN «%s»" + +#: ../js/ui/status/network.js:1799 +#, c-format +msgid "You're now connected to '%s'" +msgstr "Ahora está conectado a «%s»" + +#: ../js/ui/status/network.js:1807 +#| msgid "Connection" +msgid "Connection estabilished" +msgstr "Conexión establecida" + +#: ../js/ui/status/network.js:1929 +msgid "Networking is disabled" +msgstr "La red está desactivada" + +#: ../js/ui/status/network.js:2054 +#| msgid "Manager" +msgid "Network Manager" +msgstr "Gestor de la red" + #: ../js/ui/status/power.js:85 msgid "Power Settings" msgstr "Configuración de energía" @@ -946,13 +1086,6 @@ msgstr "%s está ocupado/a." msgid "Sent at %X on %A" msgstr "Enviado a las %X el %A" -#. Translators: this is the other person changing their old IM name to their new -#. IM name. -#: ../js/ui/telepathyClient.js:498 -#, c-format -msgid "%s is now known as %s" -msgstr "Ahora %s se llama %s" - #. Translators: this is the text displayed #. in the search entry when no search is #. active; it should not exceed ~30 @@ -1033,6 +1166,14 @@ msgid_plural "%d weeks ago" msgstr[0] "Hace %d semana" msgstr[1] "Hace %d semanas" +#: ../src/shell-mobile-providers.c:80 +msgid "United Kingdom" +msgstr "Reino Unido" + +#: ../src/shell-mobile-providers.c:526 +msgid "Default" +msgstr "Predeterminada" + #: ../src/shell-polkit-authentication-agent.c:334 msgid "Authentication dialog was dismissed by the user" msgstr "El usuario rechazó el diálogo de autenticación" @@ -1057,6 +1198,15 @@ msgstr "Sistema de archivos" msgid "%1$s: %2$s" msgstr "%1$s: %2$s" +#~ msgid "Screen Reader" +#~ msgstr "Lector de pantalla" + +#~ msgid "Screen Keyboard" +#~ msgstr "Teclado en pantalla" + +#~ msgid "%s is now known as %s" +#~ msgstr "Ahora %s se llama %s" + #~ msgid "PREFERENCES" #~ msgstr "PREFERENCIAS" @@ -1326,9 +1476,6 @@ msgstr "%1$s: %2$s" #~ msgid "Frequent" #~ msgstr "Frecuentes" -#~ msgid "More" -#~ msgstr "Más" - #~ msgid "(see all)" #~ msgstr "(ver todo)" @@ -1356,8 +1503,5 @@ msgstr "%1$s: %2$s" #~ msgid "DOCUMENTS" #~ msgstr "DOCUMENTOS" -#~ msgid "Manager" -#~ msgstr "Gestor" - #~ msgid "The user manager object this user is controlled by." #~ msgstr "El objeto de gestión de usuarios que controla a este usuario." From 47d6edc3c8c3d115e1b59813f620545c15baaa75 Mon Sep 17 00:00:00 2001 From: Daniel Mustieles Date: Thu, 17 Mar 2011 20:20:09 +0100 Subject: [PATCH 067/203] Updated Spanish translation --- po/es.po | 138 ++++++++++++++++++++++++++----------------------------- 1 file changed, 66 insertions(+), 72 deletions(-) diff --git a/po/es.po b/po/es.po index b51ec3816..a7f3b5a78 100644 --- a/po/es.po +++ b/po/es.po @@ -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: 2011-03-16 18:30+0000\n" -"PO-Revision-Date: 2011-03-17 10:55+0100\n" +"POT-Creation-Date: 2011-03-17 19:06+0000\n" +"PO-Revision-Date: 2011-03-17 20:19+0100\n" "Last-Translator: Daniel Mustieles \n" "Language-Team: Español \n" "MIME-Version: 1.0\n" @@ -96,16 +96,16 @@ msgid "" "at the optimal thread count on the system." msgstr "" "Establece la tubería GStreamer usada para codificar grabaciones. Sigue la " -"sintaxis usada para gst-launch. La tubería debería tener un sumidero («sink») " -"de ensamblaje/sesensamblaje donde el vídeo que se está grabando se graba. " -"Generalmente tendrá un origen de ensamblado/desensamblado; la salida de ese " -"punto se escibirá en el archivo de salida. No obstante la tubería también " -"puede tomar parte en su propia salida; esto se puede usar para enviar la " -"salida a un servidor «icecast» a través de shout2send o similar. Cuando no " -"está establecido o lo está a un valor vacío, se usará la tubería " -"predeterminada. Actualmente es «videorate ! vp8enc quality=10 speed=2 threads=" -"%T ! queue ! webmmux» y greba en WEBM usando el códec VP8. Se usa %T como " -"suposición para el número de hilos óptimos en el sistema." +"sintaxis usada para gst-launch. La tubería debería tener un sumidero " +"(«sink») de ensamblaje/sesensamblaje donde el vídeo que se está grabando se " +"graba. Generalmente tendrá un origen de ensamblado/desensamblado; la salida " +"de ese punto se escibirá en el archivo de salida. No obstante la tubería " +"también puede tomar parte en su propia salida; esto se puede usar para " +"enviar la salida a un servidor «icecast» a través de shout2send o similar. " +"Cuando no está establecido o lo está a un valor vacío, se usará la tubería " +"predeterminada. Actualmente es «videorate ! vp8enc quality=10 speed=2 " +"threads=%T ! queue ! webmmux» y greba en WEBM usando el códec VP8. Se usa %T " +"como suposición para el número de hilos óptimos en el sistema." #: ../data/org.gnome.shell.gschema.xml.in.h:14 msgid "Show date in clock" @@ -174,21 +174,17 @@ msgstr "" msgid "disabled OpenSearch providers" msgstr "proveedores OpenSearch desactivados" -#: ../js/misc/util.js:86 +#: ../js/misc/util.js:71 msgid "Command not found" msgstr "Comando no encontrado" #. Replace "Error invoking GLib.shell_parse_argv: " with #. something nicer -#: ../js/misc/util.js:113 +#: ../js/misc/util.js:98 msgid "Could not parse command:" msgstr "No se pudo analizar el comando:" -#: ../js/misc/util.js:135 -msgid "No such application" -msgstr "No existe la aplicación" - -#: ../js/misc/util.js:148 +#: ../js/misc/util.js:106 #, c-format msgid "Execution of '%s' failed:" msgstr "Falló la ejecución de «%s»:" @@ -374,7 +370,7 @@ msgstr "Esta semana" msgid "Next week" msgstr "La semana que viene" -#: ../js/ui/dash.js:174 ../js/ui/messageTray.js:935 +#: ../js/ui/dash.js:174 ../js/ui/messageTray.js:933 msgid "Remove" msgstr "Quitar" @@ -539,11 +535,11 @@ msgstr "Ver fuente" msgid "Web Page" msgstr "Página web" -#: ../js/ui/messageTray.js:928 +#: ../js/ui/messageTray.js:926 msgid "Open" msgstr "Abrir" -#: ../js/ui/messageTray.js:1988 +#: ../js/ui/messageTray.js:1986 msgid "System Information" msgstr "Información del sistema" @@ -689,11 +685,11 @@ msgstr "Teclas del ratón" msgid "Universal Access Settings" msgstr "Preferencias del acceso universal" -#: ../js/ui/status/accessibility.js:145 +#: ../js/ui/status/accessibility.js:146 msgid "High Contrast" msgstr "Contraste alto" -#: ../js/ui/status/accessibility.js:182 +#: ../js/ui/status/accessibility.js:183 msgid "Large Text" msgstr "Texto grande" @@ -819,18 +815,15 @@ msgid "Localization Settings" msgstr "Configuración regional" #: ../js/ui/status/network.js:102 ../js/ui/status/network.js:1393 -#| msgid "Unknown" msgid "" msgstr "" #. Translators: this indicates that wireless or wwan is disabled by hardware killswitch #: ../js/ui/status/network.js:295 -#| msgid "Disabled" msgid "disabled" msgstr "desactivada" #: ../js/ui/status/network.js:476 -#| msgid "Connection" msgid "connecting..." msgstr "conectando…" @@ -847,12 +840,10 @@ msgstr "cable desconectado" #. 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:489 -#| msgid "Available" msgid "unavailable" msgstr "no disponible" #: ../js/ui/status/network.js:491 -#| msgid "Connection" msgid "connection failed" msgstr "falló la conexión" @@ -877,12 +868,10 @@ msgstr "Marcado automático" #. TRANSLATORS: this the automatic wireless connection name (including the network name) #: ../js/ui/status/network.js:843 ../js/ui/status/network.js:1353 #, c-format -#| msgid "Quit %s" msgid "Auto %s" msgstr "%s automática" #: ../js/ui/status/network.js:845 -#| msgid "Bluetooth" msgid "Auto bluetooth" msgstr "Bluetooth automático" @@ -891,7 +880,6 @@ msgid "Auto wireless" msgstr "Inalámbrica automática" #: ../js/ui/status/network.js:1413 -#| msgid "More" msgid "More..." msgstr "Más…" @@ -912,12 +900,10 @@ msgid "Mobile broadband" msgstr "Banda ancha móvil" #: ../js/ui/status/network.js:1479 -#| msgid "Connection" msgid "VPN Connections" msgstr "Conexiones VPN" #: ../js/ui/status/network.js:1488 -#| msgid "Power Settings" msgid "Network Settings" msgstr "Configuración de la red" @@ -947,7 +933,6 @@ msgid "You're now connected to '%s'" msgstr "Ahora está conectado a «%s»" #: ../js/ui/status/network.js:1807 -#| msgid "Connection" msgid "Connection estabilished" msgstr "Conexión establecida" @@ -956,7 +941,6 @@ msgid "Networking is disabled" msgstr "La red está desactivada" #: ../js/ui/status/network.js:2054 -#| msgid "Manager" msgid "Network Manager" msgstr "Gestor de la red" @@ -966,11 +950,11 @@ msgstr "Configuración de energía" #. 0 is reported when UPower does not have enough data #. to estimate battery life -#: ../js/ui/status/power.js:110 +#: ../js/ui/status/power.js:111 msgid "Estimating..." msgstr "Estimando…" -#: ../js/ui/status/power.js:117 +#: ../js/ui/status/power.js:118 #, c-format msgid "%d hour remaining" msgid_plural "%d hours remaining" @@ -978,75 +962,75 @@ msgstr[0] "Queda %d hora" msgstr[1] "Queda %d horas" #. TRANSLATORS: this is a time string, as in "%d hours %d minutes remaining" -#: ../js/ui/status/power.js:120 +#: ../js/ui/status/power.js:121 #, c-format msgid "%d %s %d %s remaining" msgstr "Quedan %d %s %d %s" -#: ../js/ui/status/power.js:122 +#: ../js/ui/status/power.js:123 msgid "hour" msgid_plural "hours" msgstr[0] "hora" msgstr[1] "horas" -#: ../js/ui/status/power.js:122 +#: ../js/ui/status/power.js:123 msgid "minute" msgid_plural "minutes" msgstr[0] "minuto" msgstr[1] "minutos" -#: ../js/ui/status/power.js:125 +#: ../js/ui/status/power.js:126 #, c-format msgid "%d minute remaining" msgid_plural "%d minutes remaining" msgstr[0] "Queda %d minuto" msgstr[1] "Queda %d minutos" -#: ../js/ui/status/power.js:227 +#: ../js/ui/status/power.js:228 msgid "AC adapter" msgstr "Adaptador de corriente" -#: ../js/ui/status/power.js:229 +#: ../js/ui/status/power.js:230 msgid "Laptop battery" msgstr "Batería del portátil" -#: ../js/ui/status/power.js:231 +#: ../js/ui/status/power.js:232 msgid "UPS" msgstr "SAI" -#: ../js/ui/status/power.js:233 +#: ../js/ui/status/power.js:234 msgid "Monitor" msgstr "Monitor" -#: ../js/ui/status/power.js:235 +#: ../js/ui/status/power.js:236 msgid "Mouse" msgstr "Ratón" -#: ../js/ui/status/power.js:237 +#: ../js/ui/status/power.js:238 msgid "Keyboard" msgstr "Teclado" -#: ../js/ui/status/power.js:239 +#: ../js/ui/status/power.js:240 msgid "PDA" msgstr "PDA" -#: ../js/ui/status/power.js:241 +#: ../js/ui/status/power.js:242 msgid "Cell phone" msgstr "Teléfono móvil" -#: ../js/ui/status/power.js:243 +#: ../js/ui/status/power.js:244 msgid "Media player" msgstr "Reproductor multimedia" -#: ../js/ui/status/power.js:245 +#: ../js/ui/status/power.js:246 msgid "Tablet" msgstr "Tableta" -#: ../js/ui/status/power.js:247 +#: ../js/ui/status/power.js:248 msgid "Computer" msgstr "Equipo" -#: ../js/ui/status/power.js:249 ../src/shell-app-system.c:1013 +#: ../js/ui/status/power.js:250 ../src/shell-app-system.c:961 msgid "Unknown" msgstr "Desconocido" @@ -1130,36 +1114,42 @@ msgstr[1] "%u entradas" msgid "System Sounds" msgstr "Sonidos del sistema" -#: ../src/main.c:395 +#: ../src/main.c:397 msgid "Print version" msgstr "Imprimir versión" -#: ../src/shell-global.c:1308 +#: ../src/shell-app.c:454 +#, c-format +#| msgid "Failed to unmount '%s'" +msgid "Failed to launch '%s'" +msgstr "Falló al lanzar «%s»" + +#: ../src/shell-global.c:1340 msgid "Less than a minute ago" msgstr "Hace menos de un minuto" -#: ../src/shell-global.c:1312 +#: ../src/shell-global.c:1344 #, c-format msgid "%d minute ago" msgid_plural "%d minutes ago" msgstr[0] "Hace %d minuto" msgstr[1] "Hace %d minutos" -#: ../src/shell-global.c:1317 +#: ../src/shell-global.c:1349 #, c-format msgid "%d hour ago" msgid_plural "%d hours ago" msgstr[0] "Hace %d hora" msgstr[1] "Hace %d horas" -#: ../src/shell-global.c:1322 +#: ../src/shell-global.c:1354 #, c-format msgid "%d day ago" msgid_plural "%d days ago" msgstr[0] "Hace %d día" msgstr[1] "Hace %d días" -#: ../src/shell-global.c:1327 +#: ../src/shell-global.c:1359 #, c-format msgid "%d week ago" msgid_plural "%d weeks ago" @@ -1198,6 +1188,9 @@ msgstr "Sistema de archivos" msgid "%1$s: %2$s" msgstr "%1$s: %2$s" +#~ msgid "No such application" +#~ msgstr "No existe la aplicación" + #~ msgid "Screen Reader" #~ msgstr "Lector de pantalla" @@ -1381,8 +1374,8 @@ msgstr "%1$s: %2$s" #~ "If true and format is either \"12-hour\" or \"24-hour\", display seconds " #~ "in time." #~ msgstr "" -#~ "Si es cierta y el formato es «12-horas» o «24-horas», muestra los segundos " -#~ "en la hora." +#~ "Si es cierta y el formato es «12-horas» o «24-horas», muestra los " +#~ "segundos en la hora." #~ msgid "" #~ "This key specifies the format used by the panel clock when the format key " @@ -1399,18 +1392,19 @@ msgstr "%1$s: %2$s" #~ msgid "" #~ "This key specifies the hour format used by the panel clock. Possible " #~ "values are \"12-hour\", \"24-hour\", \"unix\" and \"custom\". If set to " -#~ "\"unix\", the clock will display time in seconds since Epoch, i.e. 1970-" -#~ "01-01. If set to \"custom\", the clock will display time according to the " -#~ "format specified in the custom_format key. Note that if set to either " -#~ "\"unix\" or \"custom\", the show_date and show_seconds keys are ignored." +#~ "\"unix\", the clock will display time in seconds since Epoch, i.e. " +#~ "1970-01-01. If set to \"custom\", the clock will display time according " +#~ "to the format specified in the custom_format key. Note that if set to " +#~ "either \"unix\" or \"custom\", the show_date and show_seconds keys are " +#~ "ignored." #~ msgstr "" #~ "Esta clave especifica el formato de la hora especificado por el reloj del " -#~ "panel. Los valores posibles son «12-hour» (12 horas), «24-hour» (24 horas), " -#~ "«unix» y «custom» (personalizado).Si se establece a «unix» el reloj mostrará " -#~ "la hora en segundos desde la época (1 de enero de 1970). Si se establece " -#~ "a «custom» el reloj mostrará la hora según el formato especificado en la " -#~ "clave «custom_format». Note que si se establece a «unix» o «custom» se " -#~ "ignoran las claves «show_date» y «show_seconds»." +#~ "panel. Los valores posibles son «12-hour» (12 horas), «24-hour» (24 " +#~ "horas), «unix» y «custom» (personalizado).Si se establece a «unix» el " +#~ "reloj mostrará la hora en segundos desde la época (1 de enero de 1970). " +#~ "Si se establece a «custom» el reloj mostrará la hora según el formato " +#~ "especificado en la clave «custom_format». Note que si se establece a " +#~ "«unix» o «custom» se ignoran las claves «show_date» y «show_seconds»." #~ msgid "Clock Format" #~ msgstr "Formato del reloj" From 8bece0b49ea794ebcffd791eb73a7f5828704880 Mon Sep 17 00:00:00 2001 From: Khaled Hosny Date: Thu, 17 Mar 2011 22:55:07 +0200 Subject: [PATCH 068/203] Updated Arabic translation --- po/ar.po | 80 +++++++++++++++++++++++++++++--------------------------- 1 file changed, 42 insertions(+), 38 deletions(-) diff --git a/po/ar.po b/po/ar.po index 3037aa613..2c3eb77d3 100644 --- a/po/ar.po +++ b/po/ar.po @@ -6,8 +6,8 @@ msgid "" msgstr "" "Project-Id-Version: HEAD\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2011-03-16 17:45+0200\n" -"PO-Revision-Date: 2011-03-16 17:41+0300\n" +"POT-Creation-Date: 2011-03-17 22:54+0200\n" +"PO-Revision-Date: 2011-03-17 22:54+0300\n" "Last-Translator: Khaled Hosny \n" "Language-Team: Arabic \n" "MIME-Version: 1.0\n" @@ -144,21 +144,17 @@ msgstr "" msgid "disabled OpenSearch providers" msgstr "" -#: ../js/misc/util.js:86 +#: ../js/misc/util.js:71 msgid "Command not found" msgstr "لم يُعثَر على الأمر" #. Replace "Error invoking GLib.shell_parse_argv: " with #. something nicer -#: ../js/misc/util.js:113 +#: ../js/misc/util.js:98 msgid "Could not parse command:" msgstr "تعذّر تحليل الأمر:" -#: ../js/misc/util.js:135 -msgid "No such application" -msgstr "لا تطبيق بهذا الاسم" - -#: ../js/misc/util.js:148 +#: ../js/misc/util.js:106 #, c-format msgid "Execution of '%s' failed:" msgstr "فشل تنفيذ '%s':‏" @@ -344,7 +340,7 @@ msgstr "هذا الأسبوع" msgid "Next week" msgstr "الأسبوع القادم" -#: ../js/ui/dash.js:174 ../js/ui/messageTray.js:935 +#: ../js/ui/dash.js:174 ../js/ui/messageTray.js:933 msgid "Remove" msgstr "أزِل" @@ -506,11 +502,11 @@ msgstr "اعرض المصدر" msgid "Web Page" msgstr "صفحة الوب" -#: ../js/ui/messageTray.js:928 +#: ../js/ui/messageTray.js:926 msgid "Open" msgstr "افتح" -#: ../js/ui/messageTray.js:1988 +#: ../js/ui/messageTray.js:1986 msgid "System Information" msgstr "معلومات النظام" @@ -656,11 +652,11 @@ msgstr "مفاتيح الفأرة" msgid "Universal Access Settings" msgstr "إعدادات الإتاحة" -#: ../js/ui/status/accessibility.js:145 +#: ../js/ui/status/accessibility.js:146 msgid "High Contrast" msgstr "تباين عال" -#: ../js/ui/status/accessibility.js:182 +#: ../js/ui/status/accessibility.js:183 msgid "Large Text" msgstr "نص كبير" @@ -921,11 +917,11 @@ msgstr "إعدادات الطاقة" #. 0 is reported when UPower does not have enough data #. to estimate battery life -#: ../js/ui/status/power.js:110 +#: ../js/ui/status/power.js:111 msgid "Estimating..." msgstr "يَحسِب..." -#: ../js/ui/status/power.js:117 +#: ../js/ui/status/power.js:118 #, c-format msgid "%d hour remaining" msgid_plural "%d hours remaining" @@ -937,12 +933,12 @@ msgstr[4] "بقي %d ساعة" msgstr[5] "بقي %d ساعة" #. TRANSLATORS: this is a time string, as in "%d hours %d minutes remaining" -#: ../js/ui/status/power.js:120 +#: ../js/ui/status/power.js:121 #, c-format msgid "%d %s %d %s remaining" msgstr "بقي %d %s و %d %s" -#: ../js/ui/status/power.js:122 +#: ../js/ui/status/power.js:123 msgid "hour" msgid_plural "hours" msgstr[0] "ساعة" @@ -952,7 +948,7 @@ msgstr[3] "ساعات" msgstr[4] "ساعة" msgstr[5] "ساعة" -#: ../js/ui/status/power.js:122 +#: ../js/ui/status/power.js:123 msgid "minute" msgid_plural "minutes" msgstr[0] "دقيقة" @@ -962,7 +958,7 @@ msgstr[3] "دقائق" msgstr[4] "دقيقة" msgstr[5] "دقيقة" -#: ../js/ui/status/power.js:125 +#: ../js/ui/status/power.js:126 #, c-format msgid "%d minute remaining" msgid_plural "%d minutes remaining" @@ -973,51 +969,51 @@ msgstr[3] "بقي %d دقائق" msgstr[4] "بقي %d دقيقة" msgstr[5] "بقي %d دقيقة" -#: ../js/ui/status/power.js:227 +#: ../js/ui/status/power.js:228 msgid "AC adapter" msgstr "مقبس طاقة" -#: ../js/ui/status/power.js:229 +#: ../js/ui/status/power.js:230 msgid "Laptop battery" msgstr "بطارية حاسوب محمول" -#: ../js/ui/status/power.js:231 +#: ../js/ui/status/power.js:232 msgid "UPS" msgstr "مزود طاقة لا منقطعة" -#: ../js/ui/status/power.js:233 +#: ../js/ui/status/power.js:234 msgid "Monitor" msgstr "شاشة" -#: ../js/ui/status/power.js:235 +#: ../js/ui/status/power.js:236 msgid "Mouse" msgstr "فأرة" -#: ../js/ui/status/power.js:237 +#: ../js/ui/status/power.js:238 msgid "Keyboard" msgstr "لوحة المفاتيح" -#: ../js/ui/status/power.js:239 +#: ../js/ui/status/power.js:240 msgid "PDA" msgstr "مساعد رقمي" -#: ../js/ui/status/power.js:241 +#: ../js/ui/status/power.js:242 msgid "Cell phone" msgstr "هاتف محمول" -#: ../js/ui/status/power.js:243 +#: ../js/ui/status/power.js:244 msgid "Media player" msgstr "مشغل وسائط" -#: ../js/ui/status/power.js:245 +#: ../js/ui/status/power.js:246 msgid "Tablet" msgstr "لوحة" -#: ../js/ui/status/power.js:247 +#: ../js/ui/status/power.js:248 msgid "Computer" msgstr "حاسوب" -#: ../js/ui/status/power.js:249 ../src/shell-app-system.c:1013 +#: ../js/ui/status/power.js:250 ../src/shell-app-system.c:961 msgid "Unknown" msgstr "مجهول" @@ -1109,15 +1105,20 @@ msgstr[5] "%u مدخل" msgid "System Sounds" msgstr "أصوات النظام" -#: ../src/main.c:395 +#: ../src/main.c:397 msgid "Print version" msgstr "اطبع الإصدارة" -#: ../src/shell-global.c:1308 +#: ../src/shell-app.c:454 +#, c-format +msgid "Failed to launch '%s'" +msgstr "فشل تشغيل '%s'" + +#: ../src/shell-global.c:1340 msgid "Less than a minute ago" msgstr "منذ أقل من دقيقة" -#: ../src/shell-global.c:1312 +#: ../src/shell-global.c:1344 #, c-format msgid "%d minute ago" msgid_plural "%d minutes ago" @@ -1128,7 +1129,7 @@ msgstr[3] "منذ %d دقائق" msgstr[4] "منذ %d دقيقة" msgstr[5] "منذ %d دقيقة" -#: ../src/shell-global.c:1317 +#: ../src/shell-global.c:1349 #, c-format msgid "%d hour ago" msgid_plural "%d hours ago" @@ -1139,7 +1140,7 @@ msgstr[3] "منذ %d ساعات" msgstr[4] "منذ %d ساعة" msgstr[5] "منذ %d ساعة" -#: ../src/shell-global.c:1322 +#: ../src/shell-global.c:1354 #, c-format msgid "%d day ago" msgid_plural "%d days ago" @@ -1150,7 +1151,7 @@ msgstr[3] "منذ %d أيام" msgstr[4] "منذ %d يوما" msgstr[5] "منذ %d يوم" -#: ../src/shell-global.c:1327 +#: ../src/shell-global.c:1359 #, c-format msgid "%d week ago" msgid_plural "%d weeks ago" @@ -1193,6 +1194,9 @@ msgstr "نظام الملفات" msgid "%1$s: %2$s" msgstr "‏%1$s:‏ %2$s" +#~ msgid "No such application" +#~ msgstr "لا تطبيق بهذا الاسم" + #~ msgid "Screen Reader" #~ msgstr "قارئ الشاشة" From b7be4df603aab97086696f8b1dc0e5744275679d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Florian=20M=C3=BCllner?= Date: Wed, 16 Mar 2011 19:08:59 +0100 Subject: [PATCH 069/203] panel: Hide spinner when switching apps Commit fcfd17e was overzealous when simplifying the previous spinner animation, as a result the spinner now stays around when switching to another application while the animation is ongoing. --- js/ui/panel.js | 1 + 1 file changed, 1 insertion(+) diff --git a/js/ui/panel.js b/js/ui/panel.js index d606fd741..c064245af 100644 --- a/js/ui/panel.js +++ b/js/ui/panel.js @@ -501,6 +501,7 @@ AppMenuButton.prototype = { return; } + this._spinner.actor.hide(); if (this._iconBox.child != null) this._iconBox.child.destroy(); this._iconBox.hide(); From 0718a888d02a355ea67be47b40ca00c469e22709 Mon Sep 17 00:00:00 2001 From: Lucian Adrian Grijincu Date: Thu, 17 Mar 2011 10:50:44 +0100 Subject: [PATCH 070/203] Updated Romanian translation --- po/ro.po | 262 ++++++++++++++++++++++++++++++++++++++++++++----------- 1 file changed, 211 insertions(+), 51 deletions(-) diff --git a/po/ro.po b/po/ro.po index da37b0fc3..4819ba984 100644 --- a/po/ro.po +++ b/po/ro.po @@ -8,7 +8,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: 2011-03-13 00:31+0000\n" +"POT-Creation-Date: 2011-03-16 18:14+0000\n" "PO-Revision-Date: 2011-03-13 01:25+0200\n" "Last-Translator: Lucian Adrian Grijincu \n" "Language-Team: Romanian Gnome Team \n" @@ -377,7 +377,7 @@ msgstr "Această săptămână" msgid "Next week" msgstr "Săptămâna viitoare" -#: ../js/ui/dash.js:174 ../js/ui/messageTray.js:931 +#: ../js/ui/dash.js:174 ../js/ui/messageTray.js:935 msgid "Remove" msgstr "Elimină" @@ -432,7 +432,7 @@ msgstr "%a %l:%M %p" #. Translators: This is the date format to use when the calendar popup is #. * shown - it is shown just below the time in the shell (e.g. "Tue 9:29 AM"). #. -#: ../js/ui/dateMenu.js:209 +#: ../js/ui/dateMenu.js:194 msgid "%A %B %e, %Y" msgstr "%A %e %B, %Y" @@ -510,7 +510,7 @@ msgstr "Repornirea sistemului." msgid "Confirm" msgstr "Confirm" -#: ../js/ui/endSessionDialog.js:400 ../js/ui/status/bluetooth.js:470 +#: ../js/ui/endSessionDialog.js:400 ../js/ui/status/bluetooth.js:465 msgid "Cancel" msgstr "Anulează" @@ -544,11 +544,11 @@ msgstr "Vezi sursa" msgid "Web Page" msgstr "Pagină web" -#: ../js/ui/messageTray.js:924 +#: ../js/ui/messageTray.js:928 msgid "Open" msgstr "Deschide" -#: ../js/ui/messageTray.js:1961 +#: ../js/ui/messageTray.js:1988 msgid "System Information" msgstr "Informații despre sistem" @@ -571,18 +571,18 @@ msgid "Dash" msgstr "" #. TODO - _quit() doesn't really work on apps in state STARTING yet -#: ../js/ui/panel.js:560 +#: ../js/ui/panel.js:514 #, c-format msgid "Quit %s" msgstr "Închide %s" #. Button on the left side of the panel. #. Translators: If there is no suitable word for "Activities" in your language, you can use the word for "Overview". -#: ../js/ui/panel.js:919 +#: ../js/ui/panel.js:873 msgid "Activities" msgstr "Activități" -#: ../js/ui/panel.js:1020 +#: ../js/ui/panel.js:974 msgid "Panel" msgstr "Panou" @@ -599,7 +599,7 @@ msgstr "Reîncearcă" msgid "Connect to..." msgstr "Conectare la..." -#: ../js/ui/placeDisplay.js:409 +#: ../js/ui/placeDisplay.js:380 msgid "PLACES & DEVICES" msgstr "LOCAȚII & DISPOZITIVE" @@ -608,7 +608,7 @@ msgstr "LOCAȚII & DISPOZITIVE" #. "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:618 +#: ../js/ui/popupMenu.js:636 msgid "toggle-switch-us" msgstr "toggle-switch-us" @@ -664,14 +664,12 @@ msgstr "Ieși din sesiune..." msgid "Zoom" msgstr "Zoom" -#: ../js/ui/status/accessibility.js:69 -msgid "Screen Reader" -msgstr "Cititor de ecran" - -#: ../js/ui/status/accessibility.js:73 -msgid "Screen Keyboard" -msgstr "Tastatură pe ecran" - +#. let screenReader = this._buildItem(_("Screen Reader"), APPLICATIONS_SCHEMA, +#. 'screen-reader-enabled'); +#. this.menu.addMenuItem(screenReader); +#. let screenKeyboard = this._buildItem(_("Screen Keyboard"), APPLICATIONS_SCHEMA, +#. 'screen-keyboard-enabled'); +#. this.menu.addMenuItem(screenKeyboard); #: ../js/ui/status/accessibility.js:77 msgid "Visual Alerts" msgstr "Alerte vizuale" @@ -704,9 +702,9 @@ msgstr "Contrast puternic" msgid "Large Text" msgstr "Text mare" -#: ../js/ui/status/bluetooth.js:42 ../js/ui/status/bluetooth.js:241 -#: ../js/ui/status/bluetooth.js:337 ../js/ui/status/bluetooth.js:371 -#: ../js/ui/status/bluetooth.js:411 ../js/ui/status/bluetooth.js:444 +#: ../js/ui/status/bluetooth.js:42 ../js/ui/status/bluetooth.js:236 +#: ../js/ui/status/bluetooth.js:332 ../js/ui/status/bluetooth.js:366 +#: ../js/ui/status/bluetooth.js:406 ../js/ui/status/bluetooth.js:439 msgid "Bluetooth" msgstr "Bluetooth" @@ -726,94 +724,94 @@ msgstr "Configurează un dispozitiv nou..." msgid "Bluetooth Settings" msgstr "Configurări Bluetooth" -#: ../js/ui/status/bluetooth.js:192 +#: ../js/ui/status/bluetooth.js:187 msgid "Connection" msgstr "Conexiune" -#: ../js/ui/status/bluetooth.js:228 +#: ../js/ui/status/bluetooth.js:223 msgid "Send Files..." msgstr "Trimite fișiere..." -#: ../js/ui/status/bluetooth.js:233 +#: ../js/ui/status/bluetooth.js:228 msgid "Browse Files..." msgstr "Alege fișiere..." -#: ../js/ui/status/bluetooth.js:242 +#: ../js/ui/status/bluetooth.js:237 msgid "Error browsing device" msgstr "Eroare la navigarea dispozitivului" -#: ../js/ui/status/bluetooth.js:243 +#: ../js/ui/status/bluetooth.js:238 #, c-format msgid "The requested device cannot be browsed, error is '%s'" msgstr "Dispozitivul cerut nu poate fi navigat, eroarea este „%s”" -#: ../js/ui/status/bluetooth.js:251 +#: ../js/ui/status/bluetooth.js:246 msgid "Keyboard Settings" msgstr "Configurări tastatură" -#: ../js/ui/status/bluetooth.js:256 +#: ../js/ui/status/bluetooth.js:251 msgid "Mouse Settings" msgstr "Configurări maus" -#: ../js/ui/status/bluetooth.js:263 ../js/ui/status/volume.js:66 +#: ../js/ui/status/bluetooth.js:258 ../js/ui/status/volume.js:66 msgid "Sound Settings" msgstr "Configurări sunet" -#: ../js/ui/status/bluetooth.js:372 +#: ../js/ui/status/bluetooth.js:367 #, c-format msgid "Authorization request from %s" msgstr "Cerere de autorizare de la %s" -#: ../js/ui/status/bluetooth.js:378 +#: ../js/ui/status/bluetooth.js:373 #, c-format msgid "Device %s wants access to the service '%s'" msgstr "Dispozitivul %s dorește acces la serviciul „%s”" -#: ../js/ui/status/bluetooth.js:380 +#: ../js/ui/status/bluetooth.js:375 msgid "Always grant access" msgstr "Acordă acces întotdeauna" -#: ../js/ui/status/bluetooth.js:381 +#: ../js/ui/status/bluetooth.js:376 msgid "Grant this time only" msgstr "Acordă acces doar de data aceasta" -#: ../js/ui/status/bluetooth.js:382 +#: ../js/ui/status/bluetooth.js:377 msgid "Reject" msgstr "Respinge" -#: ../js/ui/status/bluetooth.js:412 +#: ../js/ui/status/bluetooth.js:407 #, c-format msgid "Pairing confirmation for %s" msgstr "Se asociază confirmarea pentru %s" -#: ../js/ui/status/bluetooth.js:418 ../js/ui/status/bluetooth.js:452 +#: ../js/ui/status/bluetooth.js:413 ../js/ui/status/bluetooth.js:447 #, c-format msgid "Device %s wants to pair with this computer" msgstr "Dispozitivul %s dorește să se asocieze cu acest computer" -#: ../js/ui/status/bluetooth.js:419 +#: ../js/ui/status/bluetooth.js:414 #, c-format msgid "Please confirm whether the PIN '%s' matches the one on the device." msgstr "Confirmați dacă codul PIN „%s” se potrivește cu cel de pe dispozitiv." -#: ../js/ui/status/bluetooth.js:421 +#: ../js/ui/status/bluetooth.js:416 msgid "Matches" msgstr "Se potrivește" -#: ../js/ui/status/bluetooth.js:422 +#: ../js/ui/status/bluetooth.js:417 msgid "Does not match" msgstr "Nu se potrivește" -#: ../js/ui/status/bluetooth.js:445 +#: ../js/ui/status/bluetooth.js:440 #, c-format msgid "Pairing request for %s" msgstr "Cerere de asociere de la %s" -#: ../js/ui/status/bluetooth.js:453 +#: ../js/ui/status/bluetooth.js:448 msgid "Please enter the PIN mentioned on the device." msgstr "Introduceți codul PIN menționat pe dispozitiv." -#: ../js/ui/status/bluetooth.js:469 +#: ../js/ui/status/bluetooth.js:464 msgid "OK" msgstr "OK" @@ -825,6 +823,157 @@ msgstr "Arată aranjamentu tastaturii..." msgid "Localization Settings" msgstr "Configurări de localizare" +#: ../js/ui/status/network.js:102 ../js/ui/status/network.js:1393 +#, fuzzy +#| msgid "Unknown" +msgid "" +msgstr "Necunoscut" + +#. Translators: this indicates that wireless or wwan is disabled by hardware killswitch +#: ../js/ui/status/network.js:295 +#, fuzzy +#| msgid "Disabled" +msgid "disabled" +msgstr "Dezactivat" + +#: ../js/ui/status/network.js:476 +#, fuzzy +#| msgid "Connection" +msgid "connecting..." +msgstr "Conexiune" + +#. Translators: this is for network connections that require some kind of key or password +#: ../js/ui/status/network.js:479 +msgid "authentication required" +msgstr "" + +#. Translators: this is for wired network devices that are physically disconnected +#: ../js/ui/status/network.js:485 +msgid "cable unplugged" +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:489 +#, fuzzy +#| msgid "Available" +msgid "unavailable" +msgstr "Disponibil" + +#: ../js/ui/status/network.js:491 +#, fuzzy +#| msgid "Connection" +msgid "connection failed" +msgstr "Conexiune" + +#. TRANSLATORS: this is the indication that a connection for another logged in user is active, +#. and we cannot access its settings (including the name) +#: ../js/ui/status/network.js:571 ../js/ui/status/network.js:1341 +msgid "Connected (private)" +msgstr "" + +#: ../js/ui/status/network.js:636 +msgid "Auto Ethernet" +msgstr "" + +#: ../js/ui/status/network.js:697 +msgid "Auto broadband" +msgstr "" + +#: ../js/ui/status/network.js:700 +msgid "Auto dial-up" +msgstr "" + +#. TRANSLATORS: this the automatic wireless connection name (including the network name) +#: ../js/ui/status/network.js:843 ../js/ui/status/network.js:1353 +#, fuzzy, c-format +#| msgid "Quit %s" +msgid "Auto %s" +msgstr "Închide %s" + +#: ../js/ui/status/network.js:845 +#, fuzzy +#| msgid "Bluetooth" +msgid "Auto bluetooth" +msgstr "Bluetooth" + +#: ../js/ui/status/network.js:1355 +msgid "Auto wireless" +msgstr "" + +#: ../js/ui/status/network.js:1413 +#, fuzzy +#| msgid "More" +msgid "More..." +msgstr "Mai multe" + +#: ../js/ui/status/network.js:1436 +msgid "Enable networking" +msgstr "" + +#: ../js/ui/status/network.js:1448 +msgid "Wired" +msgstr "" + +#: ../js/ui/status/network.js:1459 +msgid "Wireless" +msgstr "" + +#: ../js/ui/status/network.js:1469 +msgid "Mobile broadband" +msgstr "" + +#: ../js/ui/status/network.js:1479 +#, fuzzy +#| msgid "Connection" +msgid "VPN Connections" +msgstr "Conexiune" + +#: ../js/ui/status/network.js:1488 +#, fuzzy +#| msgid "Power Settings" +msgid "Network Settings" +msgstr "Configurări de alimentare" + +#: ../js/ui/status/network.js:1782 +#, c-format +msgid "You're now connected to mobile broadband connection '%s'" +msgstr "" + +#: ../js/ui/status/network.js:1786 +#, c-format +msgid "You're now connected to wireless network '%s'" +msgstr "" + +#: ../js/ui/status/network.js:1790 +#, c-format +msgid "You're now connected to wired network '%s'" +msgstr "" + +#: ../js/ui/status/network.js:1794 +#, c-format +msgid "You're now connected to VPN network '%s'" +msgstr "" + +#: ../js/ui/status/network.js:1799 +#, c-format +msgid "You're now connected to '%s'" +msgstr "" + +#: ../js/ui/status/network.js:1807 +#, fuzzy +#| msgid "Connection" +msgid "Connection estabilished" +msgstr "Conexiune" + +#: ../js/ui/status/network.js:1929 +msgid "Networking is disabled" +msgstr "" + +#: ../js/ui/status/network.js:2054 +msgid "Network Manager" +msgstr "" + #: ../js/ui/status/power.js:85 msgid "Power Settings" msgstr "Configurări de alimentare" @@ -927,22 +1076,22 @@ msgstr "Volum" msgid "Microphone" msgstr "Microfon" -#: ../js/ui/telepathyClient.js:239 +#: ../js/ui/telepathyClient.js:332 #, c-format msgid "%s is online." msgstr "%s este conectat." -#: ../js/ui/telepathyClient.js:244 +#: ../js/ui/telepathyClient.js:337 #, c-format msgid "%s is offline." msgstr "%s este deconectat." -#: ../js/ui/telepathyClient.js:247 +#: ../js/ui/telepathyClient.js:340 #, c-format msgid "%s is away." msgstr "%s este absent." -#: ../js/ui/telepathyClient.js:250 +#: ../js/ui/telepathyClient.js:343 #, c-format msgid "%s is busy." msgstr "%s este ocupat." @@ -950,7 +1099,7 @@ msgstr "%s este ocupat." #. Translators: this is a time format string followed by a date. #. If applicable, replace %X with a strftime format valid for your #. locale, without seconds. -#: ../js/ui/telepathyClient.js:357 +#: ../js/ui/telepathyClient.js:474 #, no-c-format msgid "Sent at %X on %A" msgstr "Trimis la %X pe data de %A" @@ -1041,6 +1190,14 @@ msgstr[0] "Acum o săptămână" msgstr[1] "Acum %d săptămâni" msgstr[2] "Acum %d de săptămâni" +#: ../src/shell-mobile-providers.c:80 +msgid "United Kingdom" +msgstr "" + +#: ../src/shell-mobile-providers.c:526 +msgid "Default" +msgstr "" + #: ../src/shell-polkit-authentication-agent.c:334 msgid "Authentication dialog was dismissed by the user" msgstr "Dialogul de autentificare a fost respins de utilizator" @@ -1065,6 +1222,12 @@ msgstr "Sistem de fișiere" msgid "%1$s: %2$s" msgstr "%1$s: %2$s" +#~ msgid "Screen Reader" +#~ msgstr "Cititor de ecran" + +#~ msgid "Screen Keyboard" +#~ msgstr "Tastatură pe ecran" + #~ msgid "PREFERENCES" #~ msgstr "PREFERINȚE" @@ -1308,9 +1471,6 @@ msgstr "%1$s: %2$s" #~ msgid "Frequent" #~ msgstr "Frecvent" -#~ msgid "More" -#~ msgstr "Mai multe" - #~ msgid "(see all)" #~ msgstr "(arată tot)" From c8ff699c4bb93176a5aadb525e726f8d773e9f73 Mon Sep 17 00:00:00 2001 From: Lucian Adrian Grijincu Date: Fri, 18 Mar 2011 00:19:40 +0100 Subject: [PATCH 071/203] Updated Romanian translation --- po/ro.po | 174 +++++++++++++++++++++++++------------------------------ 1 file changed, 79 insertions(+), 95 deletions(-) diff --git a/po/ro.po b/po/ro.po index 4819ba984..4a5ad6292 100644 --- a/po/ro.po +++ b/po/ro.po @@ -8,8 +8,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: 2011-03-16 18:14+0000\n" -"PO-Revision-Date: 2011-03-13 01:25+0200\n" +"POT-Creation-Date: 2011-03-17 21:07+0000\n" +"PO-Revision-Date: 2011-03-17 11:00+0200\n" "Last-Translator: Lucian Adrian Grijincu \n" "Language-Team: Romanian Gnome Team \n" "MIME-Version: 1.0\n" @@ -177,21 +177,17 @@ msgstr "Dacă să se colecteze statistici despre utilizarea aplicațiilor" msgid "disabled OpenSearch providers" msgstr "furnizori OpenSearch dezactivați" -#: ../js/misc/util.js:86 +#: ../js/misc/util.js:71 msgid "Command not found" msgstr "Comanda nu a fost găsită" #. Replace "Error invoking GLib.shell_parse_argv: " with #. something nicer -#: ../js/misc/util.js:113 +#: ../js/misc/util.js:98 msgid "Could not parse command:" msgstr "Nu s-a putut analiza comanda:" -#: ../js/misc/util.js:135 -msgid "No such application" -msgstr "Nu există această aplicație" - -#: ../js/misc/util.js:148 +#: ../js/misc/util.js:106 #, c-format msgid "Execution of '%s' failed:" msgstr "Execuția comenzii „%s” a eșuat:" @@ -377,7 +373,7 @@ msgstr "Această săptămână" msgid "Next week" msgstr "Săptămâna viitoare" -#: ../js/ui/dash.js:174 ../js/ui/messageTray.js:935 +#: ../js/ui/dash.js:174 ../js/ui/messageTray.js:933 msgid "Remove" msgstr "Elimină" @@ -544,11 +540,11 @@ msgstr "Vezi sursa" msgid "Web Page" msgstr "Pagină web" -#: ../js/ui/messageTray.js:928 +#: ../js/ui/messageTray.js:926 msgid "Open" msgstr "Deschide" -#: ../js/ui/messageTray.js:1988 +#: ../js/ui/messageTray.js:1986 msgid "System Information" msgstr "Informații despre sistem" @@ -564,25 +560,26 @@ msgstr "Ferestre" msgid "Applications" msgstr "Aplicații" +# LG: WTF? cum traducem asta? #. Translators: this is the name of the dock/favorites area on #. the left of the overview #: ../js/ui/overview.js:202 msgid "Dash" -msgstr "" +msgstr "Dash" #. TODO - _quit() doesn't really work on apps in state STARTING yet -#: ../js/ui/panel.js:514 +#: ../js/ui/panel.js:515 #, c-format msgid "Quit %s" msgstr "Închide %s" #. Button on the left side of the panel. #. Translators: If there is no suitable word for "Activities" in your language, you can use the word for "Overview". -#: ../js/ui/panel.js:873 +#: ../js/ui/panel.js:874 msgid "Activities" msgstr "Activități" -#: ../js/ui/panel.js:974 +#: ../js/ui/panel.js:975 msgid "Panel" msgstr "Panou" @@ -694,11 +691,11 @@ msgstr "Taste maus" msgid "Universal Access Settings" msgstr "Configurări acces universal" -#: ../js/ui/status/accessibility.js:145 +#: ../js/ui/status/accessibility.js:146 msgid "High Contrast" msgstr "Contrast puternic" -#: ../js/ui/status/accessibility.js:182 +#: ../js/ui/status/accessibility.js:183 msgid "Large Text" msgstr "Text mare" @@ -824,155 +821,134 @@ msgid "Localization Settings" msgstr "Configurări de localizare" #: ../js/ui/status/network.js:102 ../js/ui/status/network.js:1393 -#, fuzzy -#| msgid "Unknown" msgid "" -msgstr "Necunoscut" +msgstr "" #. Translators: this indicates that wireless or wwan is disabled by hardware killswitch #: ../js/ui/status/network.js:295 -#, fuzzy -#| msgid "Disabled" msgid "disabled" -msgstr "Dezactivat" +msgstr "dezactivat" #: ../js/ui/status/network.js:476 -#, fuzzy -#| msgid "Connection" msgid "connecting..." -msgstr "Conexiune" +msgstr "se conectează..." #. Translators: this is for network connections that require some kind of key or password #: ../js/ui/status/network.js:479 msgid "authentication required" -msgstr "" +msgstr "necesită autentificare" #. Translators: this is for wired network devices that are physically disconnected #: ../js/ui/status/network.js:485 msgid "cable unplugged" -msgstr "" +msgstr "cablu deconectat" #. 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:489 -#, fuzzy -#| msgid "Available" msgid "unavailable" -msgstr "Disponibil" +msgstr "indisponibil" #: ../js/ui/status/network.js:491 -#, fuzzy -#| msgid "Connection" msgid "connection failed" -msgstr "Conexiune" +msgstr "conexiune eșuată" #. TRANSLATORS: this is the indication that a connection for another logged in user is active, #. and we cannot access its settings (including the name) #: ../js/ui/status/network.js:571 ../js/ui/status/network.js:1341 msgid "Connected (private)" -msgstr "" +msgstr "Conectat (privat)" #: ../js/ui/status/network.js:636 msgid "Auto Ethernet" -msgstr "" +msgstr "Ethernet (automat)" #: ../js/ui/status/network.js:697 msgid "Auto broadband" -msgstr "" +msgstr "Rețea de bandă largă (automat)" #: ../js/ui/status/network.js:700 msgid "Auto dial-up" -msgstr "" +msgstr "Dial-up (automat)" #. TRANSLATORS: this the automatic wireless connection name (including the network name) #: ../js/ui/status/network.js:843 ../js/ui/status/network.js:1353 -#, fuzzy, c-format -#| msgid "Quit %s" +#, c-format msgid "Auto %s" -msgstr "Închide %s" +msgstr "%s (automat)" #: ../js/ui/status/network.js:845 -#, fuzzy -#| msgid "Bluetooth" msgid "Auto bluetooth" -msgstr "Bluetooth" +msgstr "Bluetooth (automat)" #: ../js/ui/status/network.js:1355 msgid "Auto wireless" -msgstr "" +msgstr "Rețea fără fir (automat)" #: ../js/ui/status/network.js:1413 -#, fuzzy -#| msgid "More" msgid "More..." -msgstr "Mai multe" +msgstr "Mai multe..." #: ../js/ui/status/network.js:1436 msgid "Enable networking" -msgstr "" +msgstr "Activează rețeaua" #: ../js/ui/status/network.js:1448 msgid "Wired" -msgstr "" +msgstr "Cu fir" #: ../js/ui/status/network.js:1459 msgid "Wireless" -msgstr "" +msgstr "Fără fir" #: ../js/ui/status/network.js:1469 msgid "Mobile broadband" -msgstr "" +msgstr "Internet mobil de bandă largă" #: ../js/ui/status/network.js:1479 -#, fuzzy -#| msgid "Connection" msgid "VPN Connections" -msgstr "Conexiune" +msgstr "Conexiuni VPN" #: ../js/ui/status/network.js:1488 -#, fuzzy -#| msgid "Power Settings" msgid "Network Settings" -msgstr "Configurări de alimentare" +msgstr "Configurări de rețea" #: ../js/ui/status/network.js:1782 #, c-format msgid "You're now connected to mobile broadband connection '%s'" -msgstr "" +msgstr "V-ați conectat la rețeaua mobilă de bandă largă „%s”" #: ../js/ui/status/network.js:1786 #, c-format msgid "You're now connected to wireless network '%s'" -msgstr "" +msgstr "V-ați conectat la rețeaua fără fir „%s”" #: ../js/ui/status/network.js:1790 #, c-format msgid "You're now connected to wired network '%s'" -msgstr "" +msgstr "V-ați conectat la rețeaua cu fir „%s”" #: ../js/ui/status/network.js:1794 #, c-format msgid "You're now connected to VPN network '%s'" -msgstr "" +msgstr "V-ați conectat la rețeaua VPN „%s”" #: ../js/ui/status/network.js:1799 #, c-format msgid "You're now connected to '%s'" -msgstr "" +msgstr "V-ați conectat la „%s”" #: ../js/ui/status/network.js:1807 -#, fuzzy -#| msgid "Connection" msgid "Connection estabilished" -msgstr "Conexiune" +msgstr "Conexiune stabilită" #: ../js/ui/status/network.js:1929 msgid "Networking is disabled" -msgstr "" +msgstr "Reţeaua este dezactivată" #: ../js/ui/status/network.js:2054 msgid "Network Manager" -msgstr "" +msgstr "Administrator de rețea" #: ../js/ui/status/power.js:85 msgid "Power Settings" @@ -980,11 +956,11 @@ msgstr "Configurări de alimentare" #. 0 is reported when UPower does not have enough data #. to estimate battery life -#: ../js/ui/status/power.js:110 +#: ../js/ui/status/power.js:111 msgid "Estimating..." msgstr "Se estimează..." -#: ../js/ui/status/power.js:117 +#: ../js/ui/status/power.js:118 #, c-format msgid "%d hour remaining" msgid_plural "%d hours remaining" @@ -993,26 +969,26 @@ msgstr[1] "Au mai rămas %d ore" msgstr[2] "Au mai rămas %d de ore" #. TRANSLATORS: this is a time string, as in "%d hours %d minutes remaining" -#: ../js/ui/status/power.js:120 +#: ../js/ui/status/power.js:121 #, c-format msgid "%d %s %d %s remaining" msgstr "Au mai rămas %d %s %d %s" -#: ../js/ui/status/power.js:122 +#: ../js/ui/status/power.js:123 msgid "hour" msgid_plural "hours" msgstr[0] "oră" msgstr[1] "ore" msgstr[2] "de ore" -#: ../js/ui/status/power.js:122 +#: ../js/ui/status/power.js:123 msgid "minute" msgid_plural "minutes" msgstr[0] "minut" msgstr[1] "minute" msgstr[2] "de minute" -#: ../js/ui/status/power.js:125 +#: ../js/ui/status/power.js:126 #, c-format msgid "%d minute remaining" msgid_plural "%d minutes remaining" @@ -1020,51 +996,51 @@ msgstr[0] "A mai rămas un minut" msgstr[1] "Au mai rămas %d minute" msgstr[2] "Au mai rămas %d de minute" -#: ../js/ui/status/power.js:227 +#: ../js/ui/status/power.js:228 msgid "AC adapter" msgstr "Adaptor conectat la rețeaua electrică" -#: ../js/ui/status/power.js:229 +#: ../js/ui/status/power.js:230 msgid "Laptop battery" msgstr "Baterie laptop" -#: ../js/ui/status/power.js:231 +#: ../js/ui/status/power.js:232 msgid "UPS" msgstr "UPS" -#: ../js/ui/status/power.js:233 +#: ../js/ui/status/power.js:234 msgid "Monitor" msgstr "Monitor" -#: ../js/ui/status/power.js:235 +#: ../js/ui/status/power.js:236 msgid "Mouse" msgstr "Maus" -#: ../js/ui/status/power.js:237 +#: ../js/ui/status/power.js:238 msgid "Keyboard" msgstr "Tastatură" -#: ../js/ui/status/power.js:239 +#: ../js/ui/status/power.js:240 msgid "PDA" msgstr "PDA" -#: ../js/ui/status/power.js:241 +#: ../js/ui/status/power.js:242 msgid "Cell phone" msgstr "Telefon mobil" -#: ../js/ui/status/power.js:243 +#: ../js/ui/status/power.js:244 msgid "Media player" msgstr "Media player" -#: ../js/ui/status/power.js:245 +#: ../js/ui/status/power.js:246 msgid "Tablet" msgstr "Tabletă" -#: ../js/ui/status/power.js:247 +#: ../js/ui/status/power.js:248 msgid "Computer" msgstr "Calculator" -#: ../js/ui/status/power.js:249 ../src/shell-app-system.c:1013 +#: ../js/ui/status/power.js:250 ../src/shell-app-system.c:961 msgid "Unknown" msgstr "Necunoscut" @@ -1150,15 +1126,20 @@ msgstr[2] "%u de intrări" msgid "System Sounds" msgstr "Sunetele sistemului" -#: ../src/main.c:395 +#: ../src/main.c:397 msgid "Print version" msgstr "Tipărește versiunea" -#: ../src/shell-global.c:1308 +#: ../src/shell-app.c:454 +#, c-format +msgid "Failed to launch '%s'" +msgstr "Nu s-a putut lansa „%s”" + +#: ../src/shell-global.c:1340 msgid "Less than a minute ago" msgstr "Cu mai puțin de un minut în urmă" -#: ../src/shell-global.c:1312 +#: ../src/shell-global.c:1344 #, c-format msgid "%d minute ago" msgid_plural "%d minutes ago" @@ -1166,7 +1147,7 @@ msgstr[0] "Acum un minut" msgstr[1] "Acum %d minute" msgstr[2] "Acum %d de minute" -#: ../src/shell-global.c:1317 +#: ../src/shell-global.c:1349 #, c-format msgid "%d hour ago" msgid_plural "%d hours ago" @@ -1174,7 +1155,7 @@ msgstr[0] "Acum o oră" msgstr[1] "Acum %d ore" msgstr[2] "Acum %d de ore" -#: ../src/shell-global.c:1322 +#: ../src/shell-global.c:1354 #, c-format msgid "%d day ago" msgid_plural "%d days ago" @@ -1182,7 +1163,7 @@ msgstr[0] "Acum o zi" msgstr[1] "Acum %d zile" msgstr[2] "Acum %d de zile" -#: ../src/shell-global.c:1327 +#: ../src/shell-global.c:1359 #, c-format msgid "%d week ago" msgid_plural "%d weeks ago" @@ -1192,11 +1173,11 @@ msgstr[2] "Acum %d de săptămâni" #: ../src/shell-mobile-providers.c:80 msgid "United Kingdom" -msgstr "" +msgstr "Marea Britanie" #: ../src/shell-mobile-providers.c:526 msgid "Default" -msgstr "" +msgstr "Implicit" #: ../src/shell-polkit-authentication-agent.c:334 msgid "Authentication dialog was dismissed by the user" @@ -1222,6 +1203,9 @@ msgstr "Sistem de fișiere" msgid "%1$s: %2$s" msgstr "%1$s: %2$s" +#~ msgid "No such application" +#~ msgstr "Nu există această aplicație" + #~ msgid "Screen Reader" #~ msgstr "Cititor de ecran" From 99efde5673bab2f09fe82233d13309dbf3a7ed20 Mon Sep 17 00:00:00 2001 From: "Owen W. Taylor" Date: Thu, 17 Mar 2011 23:00:59 -0400 Subject: [PATCH 072/203] Switch Clutter module to http git checkout It apparently is unlikely that anongit access will be restored to clutter-project.org. We'll update the moduleset again when alternate hosting is found. --- tools/build/gnome-shell.modules | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tools/build/gnome-shell.modules b/tools/build/gnome-shell.modules index 5beb818f5..dc7e5d0ec 100644 --- a/tools/build/gnome-shell.modules +++ b/tools/build/gnome-shell.modules @@ -4,7 +4,7 @@ + href="http://git.clutter-project.org/"/> Date: Thu, 17 Mar 2011 21:05:53 -0500 Subject: [PATCH 073/203] status: use Shell.AppSystem to launch settings panels Different methos are being used to launch the control-center panels of each status icon. Standarize on Shell.AppSystem. This also fixes the network icon using a non-existant Util.spawnDesktop() method. Bug #645091 --- js/ui/status/bluetooth.js | 3 ++- js/ui/status/keyboard.js | 3 ++- js/ui/status/network.js | 3 ++- 3 files changed, 6 insertions(+), 3 deletions(-) diff --git a/js/ui/status/bluetooth.js b/js/ui/status/bluetooth.js index 092cd1ae8..070016aac 100644 --- a/js/ui/status/bluetooth.js +++ b/js/ui/status/bluetooth.js @@ -93,7 +93,8 @@ Indicator.prototype = { this._updateFullMenu(); this.menu.addAction(_("Bluetooth Settings"), function() { - GLib.spawn_command_line_async('gnome-control-center bluetooth'); + let app = Shell.AppSystem.get_default().get_app('bluetooth-properties.desktop'); + app.activate(-1); }); this._applet.connect('pincode-request', Lang.bind(this, this._pinRequest)); diff --git a/js/ui/status/keyboard.js b/js/ui/status/keyboard.js index ae498e0f9..06a0b4991 100644 --- a/js/ui/status/keyboard.js +++ b/js/ui/status/keyboard.js @@ -74,7 +74,8 @@ XKBIndicator.prototype = { Util.spawn(['gkbd-keyboard-display', '-g', String(this._config.get_current_group() + 1)]); })); this.menu.addAction(_("Localization Settings"), function() { - Util.spawn(['gnome-control-center', 'region']); + let app = Shell.AppSystem.get_default().get_app('gnome-region-panel.desktop'); + app.activate(-1); }); }, diff --git a/js/ui/status/network.js b/js/ui/status/network.js index 3b240f3bc..2e33b4b17 100644 --- a/js/ui/status/network.js +++ b/js/ui/status/network.js @@ -1486,7 +1486,8 @@ NMApplet.prototype = { this.menu.addMenuItem(this._devices.vpn.section); this.menu.addAction(_("Network Settings"), function() { - Util.spawnDesktop('gnome-network-panel'); + let app = Shell.AppSystem.get_default().get_app('gnome-network-panel.desktop'); + app.activate(-1); }); this._activeConnections = [ ]; From 67a75d4439e9a759503d4607b1171bc603e8ceec Mon Sep 17 00:00:00 2001 From: Aron Xu Date: Fri, 18 Mar 2011 18:34:54 +0800 Subject: [PATCH 074/203] Update Simplified Chinese translation. --- po/zh_CN.po | 282 +++++++++++++++++++++++++++++++++++++++------------- 1 file changed, 212 insertions(+), 70 deletions(-) diff --git a/po/zh_CN.po b/po/zh_CN.po index 3af796aca..edacda80e 100644 --- a/po/zh_CN.po +++ b/po/zh_CN.po @@ -7,19 +7,19 @@ # zhang ping , 2010. # 指冷玉笙寒 (dhyang) , 2010 # Ray Wang , 2009, 2011. -# Aron Xu , 2010, 2011. # YunQiang Su , 2010, 2011. # 李炜 , 2011. # chiachen , 2011. +# Aron Xu , 2010, 2011. # msgid "" msgstr "" "Project-Id-Version: gnome-shell master\n" "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug.cgi?product=gnome-" "shell&keywords=I18N+L10N&component=general\n" -"POT-Creation-Date: 2011-03-15 19:36+0000\n" -"PO-Revision-Date: 2011-03-16 23:27+0800\n" -"Last-Translator: chiachen \n" +"POT-Creation-Date: 2011-03-18 04:26+0000\n" +"PO-Revision-Date: 2011-03-18 18:34+0800\n" +"Last-Translator: Aron Xu \n" "Language-Team: Chinese (simplified) \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -66,7 +66,7 @@ msgstr "命令对话框(Alt-F2)的历史记录" #: ../data/org.gnome.shell.gschema.xml.in.h:7 #, fuzzy msgid "History for the looking glass dialog" -msgstr "查看仪表历史记录" +msgstr "镜子对话框历史" #: ../data/org.gnome.shell.gschema.xml.in.h:8 msgid "If true, display date in the clock, in addition to time." @@ -167,21 +167,17 @@ msgstr "是否收集应用程序的使用情况" msgid "disabled OpenSearch providers" msgstr "已禁用的 OpenSearch 提供商" -#: ../js/misc/util.js:86 +#: ../js/misc/util.js:71 msgid "Command not found" msgstr "命令未找到" #. Replace "Error invoking GLib.shell_parse_argv: " with #. something nicer -#: ../js/misc/util.js:113 +#: ../js/misc/util.js:98 msgid "Could not parse command:" msgstr "不能解析命令:" -#: ../js/misc/util.js:135 -msgid "No such application" -msgstr "没有此应用程序" - -#: ../js/misc/util.js:148 +#: ../js/misc/util.js:106 #, c-format msgid "Execution of '%s' failed:" msgstr "运行“%s”失败:" @@ -367,7 +363,7 @@ msgstr "本周" msgid "Next week" msgstr "下周" -#: ../js/ui/dash.js:174 ../js/ui/messageTray.js:935 +#: ../js/ui/dash.js:174 ../js/ui/messageTray.js:933 msgid "Remove" msgstr "移除" @@ -495,7 +491,7 @@ msgstr "重启计算机。" msgid "Confirm" msgstr "确定" -#: ../js/ui/endSessionDialog.js:400 ../js/ui/status/bluetooth.js:470 +#: ../js/ui/endSessionDialog.js:400 ../js/ui/status/bluetooth.js:466 msgid "Cancel" msgstr "取消" @@ -529,11 +525,11 @@ msgstr "查看源" msgid "Web Page" msgstr "网页" -#: ../js/ui/messageTray.js:928 +#: ../js/ui/messageTray.js:926 msgid "Open" msgstr "打开" -#: ../js/ui/messageTray.js:1965 +#: ../js/ui/messageTray.js:1986 msgid "System Information" msgstr "系统信息" @@ -556,18 +552,18 @@ msgid "Dash" msgstr "虚线" #. TODO - _quit() doesn't really work on apps in state STARTING yet -#: ../js/ui/panel.js:508 +#: ../js/ui/panel.js:515 #, c-format msgid "Quit %s" msgstr "退出 %s" #. Button on the left side of the panel. #. Translators: If there is no suitable word for "Activities" in your language, you can use the word for "Overview". -#: ../js/ui/panel.js:867 +#: ../js/ui/panel.js:874 msgid "Activities" msgstr "活动" -#: ../js/ui/panel.js:968 +#: ../js/ui/panel.js:975 msgid "Panel" msgstr "面板" @@ -679,17 +675,17 @@ msgstr "鼠标按键" msgid "Universal Access Settings" msgstr "通用访问设置" -#: ../js/ui/status/accessibility.js:145 +#: ../js/ui/status/accessibility.js:146 msgid "High Contrast" msgstr "高对比度" -#: ../js/ui/status/accessibility.js:182 +#: ../js/ui/status/accessibility.js:183 msgid "Large Text" msgstr "大号文本" -#: ../js/ui/status/bluetooth.js:42 ../js/ui/status/bluetooth.js:241 -#: ../js/ui/status/bluetooth.js:337 ../js/ui/status/bluetooth.js:371 -#: ../js/ui/status/bluetooth.js:411 ../js/ui/status/bluetooth.js:444 +#: ../js/ui/status/bluetooth.js:42 ../js/ui/status/bluetooth.js:237 +#: ../js/ui/status/bluetooth.js:333 ../js/ui/status/bluetooth.js:367 +#: ../js/ui/status/bluetooth.js:407 ../js/ui/status/bluetooth.js:440 msgid "Bluetooth" msgstr "蓝牙" @@ -709,94 +705,94 @@ msgstr "安装新设备..." msgid "Bluetooth Settings" msgstr "蓝牙设置" -#: ../js/ui/status/bluetooth.js:192 +#: ../js/ui/status/bluetooth.js:188 msgid "Connection" msgstr "连接" -#: ../js/ui/status/bluetooth.js:228 +#: ../js/ui/status/bluetooth.js:224 msgid "Send Files..." msgstr "发送文件..." -#: ../js/ui/status/bluetooth.js:233 +#: ../js/ui/status/bluetooth.js:229 msgid "Browse Files..." msgstr "浏览文件..." -#: ../js/ui/status/bluetooth.js:242 +#: ../js/ui/status/bluetooth.js:238 msgid "Error browsing device" msgstr "浏览设备出错" -#: ../js/ui/status/bluetooth.js:243 +#: ../js/ui/status/bluetooth.js:239 #, c-format msgid "The requested device cannot be browsed, error is '%s'" msgstr "无法浏览请求的设备,错误为 %s" -#: ../js/ui/status/bluetooth.js:251 +#: ../js/ui/status/bluetooth.js:247 msgid "Keyboard Settings" msgstr "键盘设置" -#: ../js/ui/status/bluetooth.js:256 +#: ../js/ui/status/bluetooth.js:252 msgid "Mouse Settings" msgstr "鼠标设置" -#: ../js/ui/status/bluetooth.js:263 ../js/ui/status/volume.js:66 +#: ../js/ui/status/bluetooth.js:259 ../js/ui/status/volume.js:66 msgid "Sound Settings" msgstr "声音设置" -#: ../js/ui/status/bluetooth.js:372 +#: ../js/ui/status/bluetooth.js:368 #, c-format msgid "Authorization request from %s" msgstr "来自 %s 的认证请求" -#: ../js/ui/status/bluetooth.js:378 +#: ../js/ui/status/bluetooth.js:374 #, c-format msgid "Device %s wants access to the service '%s'" msgstr "设备 %s 希望访问 %s 服务" -#: ../js/ui/status/bluetooth.js:380 +#: ../js/ui/status/bluetooth.js:376 msgid "Always grant access" msgstr "始终允许" -#: ../js/ui/status/bluetooth.js:381 +#: ../js/ui/status/bluetooth.js:377 msgid "Grant this time only" msgstr "允许一次" -#: ../js/ui/status/bluetooth.js:382 +#: ../js/ui/status/bluetooth.js:378 msgid "Reject" msgstr "拒绝" -#: ../js/ui/status/bluetooth.js:412 +#: ../js/ui/status/bluetooth.js:408 #, c-format msgid "Pairing confirmation for %s" msgstr "%s 的配对确认" -#: ../js/ui/status/bluetooth.js:418 ../js/ui/status/bluetooth.js:452 +#: ../js/ui/status/bluetooth.js:414 ../js/ui/status/bluetooth.js:448 #, c-format msgid "Device %s wants to pair with this computer" msgstr "设备 %s 希望与此电脑配对" -#: ../js/ui/status/bluetooth.js:419 +#: ../js/ui/status/bluetooth.js:415 #, c-format msgid "Please confirm whether the PIN '%s' matches the one on the device." msgstr "请确认 PIN 码 %s 和要配对的设备是否相同。" -#: ../js/ui/status/bluetooth.js:421 +#: ../js/ui/status/bluetooth.js:417 msgid "Matches" msgstr "相同" -#: ../js/ui/status/bluetooth.js:422 +#: ../js/ui/status/bluetooth.js:418 msgid "Does not match" msgstr "不同" -#: ../js/ui/status/bluetooth.js:445 +#: ../js/ui/status/bluetooth.js:441 #, c-format msgid "Pairing request for %s" msgstr "%s 的配对请求" -#: ../js/ui/status/bluetooth.js:453 +#: ../js/ui/status/bluetooth.js:449 msgid "Please enter the PIN mentioned on the device." msgstr "请输入设备上的 PIN 码。" -#: ../js/ui/status/bluetooth.js:469 +#: ../js/ui/status/bluetooth.js:465 msgid "OK" msgstr "确定" @@ -808,89 +804,219 @@ msgstr "显示键盘布局..." msgid "Localization Settings" msgstr "本地化设置" +#: ../js/ui/status/network.js:102 ../js/ui/status/network.js:1393 +msgid "" +msgstr "<未知>" + +#. Translators: this indicates that wireless or wwan is disabled by hardware killswitch +#: ../js/ui/status/network.js:295 +msgid "disabled" +msgstr "已禁用" + +#: ../js/ui/status/network.js:476 +msgid "connecting..." +msgstr "连接中..." + +#. Translators: this is for network connections that require some kind of key or password +#: ../js/ui/status/network.js:479 +msgid "authentication required" +msgstr "需要认证" + +#. Translators: this is for wired network devices that are physically disconnected +#: ../js/ui/status/network.js:485 +msgid "cable unplugged" +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:489 +msgid "unavailable" +msgstr "不可用" + +#: ../js/ui/status/network.js:491 +msgid "connection failed" +msgstr "连接失败" + +#. TRANSLATORS: this is the indication that a connection for another logged in user is active, +#. and we cannot access its settings (including the name) +#: ../js/ui/status/network.js:571 ../js/ui/status/network.js:1341 +msgid "Connected (private)" +msgstr "已连接(私有网络)" + +#: ../js/ui/status/network.js:636 +msgid "Auto Ethernet" +msgstr "自动以太网" + +#: ../js/ui/status/network.js:697 +msgid "Auto broadband" +msgstr "自动移动宽带" + +#: ../js/ui/status/network.js:700 +msgid "Auto dial-up" +msgstr "自动拨号" + +#. TRANSLATORS: this the automatic wireless connection name (including the network name) +#: ../js/ui/status/network.js:843 ../js/ui/status/network.js:1353 +#, c-format +msgid "Auto %s" +msgstr "自动 %s" + +#: ../js/ui/status/network.js:845 +msgid "Auto bluetooth" +msgstr "自动蓝牙" + +#: ../js/ui/status/network.js:1355 +msgid "Auto wireless" +msgstr "自动无线" + +#: ../js/ui/status/network.js:1413 +msgid "More..." +msgstr "更多..." + +#: ../js/ui/status/network.js:1436 +msgid "Enable networking" +msgstr "启用联网" + +#: ../js/ui/status/network.js:1448 +msgid "Wired" +msgstr "有线" + +#: ../js/ui/status/network.js:1459 +msgid "Wireless" +msgstr "无线" + +#: ../js/ui/status/network.js:1469 +msgid "Mobile broadband" +msgstr "移动宽带" + +#: ../js/ui/status/network.js:1479 +msgid "VPN Connections" +msgstr "VPN 连接" + +#: ../js/ui/status/network.js:1488 +msgid "Network Settings" +msgstr "网络设置" + +#: ../js/ui/status/network.js:1783 +#, c-format +msgid "You're now connected to mobile broadband connection '%s'" +msgstr "您已连接至移动宽带连接 %s" + +#: ../js/ui/status/network.js:1787 +#, c-format +msgid "You're now connected to wireless network '%s'" +msgstr "您已连接至无线网络 %s" + +#: ../js/ui/status/network.js:1791 +#, c-format +msgid "You're now connected to wired network '%s'" +msgstr "您已连接至有线网络 %s" + +#: ../js/ui/status/network.js:1795 +#, c-format +msgid "You're now connected to VPN network '%s'" +msgstr "您已连接至 VPN 网络 %s" + +#: ../js/ui/status/network.js:1800 +#, c-format +msgid "You're now connected to '%s'" +msgstr "您已连接至 %s" + +#: ../js/ui/status/network.js:1808 +msgid "Connection estabilished" +msgstr "连接已建立" + +#: ../js/ui/status/network.js:1930 +msgid "Networking is disabled" +msgstr "联网已禁用" + +#: ../js/ui/status/network.js:2055 +msgid "Network Manager" +msgstr "网络管理器" + #: ../js/ui/status/power.js:85 msgid "Power Settings" msgstr "电源设置" #. 0 is reported when UPower does not have enough data #. to estimate battery life -#: ../js/ui/status/power.js:110 +#: ../js/ui/status/power.js:111 msgid "Estimating..." -msgstr "正在评估..." +msgstr "估计中..." -#: ../js/ui/status/power.js:117 +#: ../js/ui/status/power.js:118 #, c-format msgid "%d hour remaining" msgid_plural "%d hours remaining" msgstr[0] "剩余 %d 小时" #. TRANSLATORS: this is a time string, as in "%d hours %d minutes remaining" -#: ../js/ui/status/power.js:120 +#: ../js/ui/status/power.js:121 #, c-format msgid "%d %s %d %s remaining" msgstr "剩余 %d %s %d %s" -#: ../js/ui/status/power.js:122 +#: ../js/ui/status/power.js:123 msgid "hour" msgid_plural "hours" msgstr[0] "小时" -#: ../js/ui/status/power.js:122 +#: ../js/ui/status/power.js:123 msgid "minute" msgid_plural "minutes" msgstr[0] "分钟" -#: ../js/ui/status/power.js:125 +#: ../js/ui/status/power.js:126 #, c-format msgid "%d minute remaining" msgid_plural "%d minutes remaining" msgstr[0] "剩余 %d 分钟" -#: ../js/ui/status/power.js:227 +#: ../js/ui/status/power.js:228 msgid "AC adapter" msgstr "AC 适配器" -#: ../js/ui/status/power.js:229 +#: ../js/ui/status/power.js:230 msgid "Laptop battery" msgstr "笔记本电池" -#: ../js/ui/status/power.js:231 +#: ../js/ui/status/power.js:232 msgid "UPS" msgstr "UPS" -#: ../js/ui/status/power.js:233 +#: ../js/ui/status/power.js:234 msgid "Monitor" msgstr "显示器" -#: ../js/ui/status/power.js:235 +#: ../js/ui/status/power.js:236 msgid "Mouse" msgstr "鼠标" -#: ../js/ui/status/power.js:237 +#: ../js/ui/status/power.js:238 msgid "Keyboard" msgstr "键盘" -#: ../js/ui/status/power.js:239 +#: ../js/ui/status/power.js:240 msgid "PDA" msgstr "PDA" -#: ../js/ui/status/power.js:241 +#: ../js/ui/status/power.js:242 msgid "Cell phone" msgstr "手机" -#: ../js/ui/status/power.js:243 +#: ../js/ui/status/power.js:244 msgid "Media player" msgstr "媒体播放器" -#: ../js/ui/status/power.js:245 +#: ../js/ui/status/power.js:246 msgid "Tablet" msgstr "触摸板" -#: ../js/ui/status/power.js:247 +#: ../js/ui/status/power.js:248 msgid "Computer" msgstr "计算机" -#: ../js/ui/status/power.js:249 ../src/shell-app-system.c:1013 +#: ../js/ui/status/power.js:250 ../src/shell-app-system.c:961 msgid "Unknown" msgstr "未知" @@ -972,38 +1098,51 @@ msgstr[0] "%u 个输入" msgid "System Sounds" msgstr "系统声音" -#: ../src/main.c:395 +#: ../src/main.c:397 msgid "Print version" msgstr "打印版本" -#: ../src/shell-global.c:1308 +#: ../src/shell-app.c:454 +#, c-format +msgid "Failed to launch '%s'" +msgstr "启动 %s 失败" + +#: ../src/shell-global.c:1340 msgid "Less than a minute ago" msgstr "少于一分钟前" -#: ../src/shell-global.c:1312 +#: ../src/shell-global.c:1344 #, c-format msgid "%d minute ago" msgid_plural "%d minutes ago" msgstr[0] "%d 分钟前" -#: ../src/shell-global.c:1317 +#: ../src/shell-global.c:1349 #, c-format msgid "%d hour ago" msgid_plural "%d hours ago" msgstr[0] "%d 小时前" -#: ../src/shell-global.c:1322 +#: ../src/shell-global.c:1354 #, c-format msgid "%d day ago" msgid_plural "%d days ago" msgstr[0] "%d 天前" -#: ../src/shell-global.c:1327 +#: ../src/shell-global.c:1359 #, c-format msgid "%d week ago" msgid_plural "%d weeks ago" msgstr[0] "%d 周前" +#: ../src/shell-mobile-providers.c:80 +msgid "United Kingdom" +msgstr "英国" + +#: ../src/shell-mobile-providers.c:526 +msgid "Default" +msgstr "默认" + #: ../src/shell-polkit-authentication-agent.c:334 msgid "Authentication dialog was dismissed by the user" msgstr "认证对话框被用户驳回" @@ -1028,6 +1167,9 @@ msgstr "文件系统" msgid "%1$s: %2$s" msgstr "%1$s: %2$s" +#~ msgid "No such application" +#~ msgstr "没有此应用程序" + #~ msgid "Screen Reader" #~ msgstr "屏幕阅读器" From 384c30b6fd8be4a1ff4d023483fb1a74256500f7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Matej=20Urban=C4=8Di=C4=8D?= Date: Fri, 18 Mar 2011 18:45:54 +0100 Subject: [PATCH 075/203] Updated Slovenian translation --- po/sl.po | 392 +++++++++++++++++++++++++++++++++++++++++-------------- 1 file changed, 296 insertions(+), 96 deletions(-) diff --git a/po/sl.po b/po/sl.po index 1734e4010..41ffcf155 100644 --- a/po/sl.po +++ b/po/sl.po @@ -2,20 +2,20 @@ # Copyright (C) 2006 Free Software Foundation, Inc. # This file is distributed under the same license as the gnome-shell package. # -# Matej Urbančič , 2009 - 2010. +# Matej Urbančič , 2009 - 2011. # msgid "" msgstr "" "Project-Id-Version: gnome-shell master\n" "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug.cgi?product=gnome-shell&keywords=I18N+L10N&component=general\n" -"POT-Creation-Date: 2011-03-14 23:15+0000\n" -"PO-Revision-Date: 2011-03-15 10:32+0100\n" -"Last-Translator: Andrej Žnidaršič \n" +"POT-Creation-Date: 2011-03-18 10:35+0000\n" +"PO-Revision-Date: 2011-03-18 14:38+0100\n" +"Last-Translator: Matej Urbančič \n" "Language-Team: Slovenian GNOME Translation Team \n" -"Language: Slovenian\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" +"Language: Slovenian\n" "Plural-Forms: nplurals=4; plural=(n%100==1 ? 1 : n%100==2 ? 2 : n%100==3 || n%100==4 ? 3 : 0);\n" "X-Poedit-Language: Slovenian\n" "X-Poedit-Country: SLOVENIA\n" @@ -122,21 +122,17 @@ msgstr "Ali naj se beleži statistika uporabe programov" msgid "disabled OpenSearch providers" msgstr "ponudniki OpenSearch so bili onemogočeni" -#: ../js/misc/util.js:86 +#: ../js/misc/util.js:71 msgid "Command not found" msgstr "Ukaz ni mogoče najti" #. Replace "Error invoking GLib.shell_parse_argv: " with #. something nicer -#: ../js/misc/util.js:113 +#: ../js/misc/util.js:98 msgid "Could not parse command:" msgstr "Ukaza ni mogoče razčleniti:" -#: ../js/misc/util.js:135 -msgid "No such application" -msgstr "Ni takšnega programa" - -#: ../js/misc/util.js:148 +#: ../js/misc/util.js:106 #, c-format msgid "Execution of '%s' failed:" msgstr "Izvedba '%s' je spodletela:" @@ -323,7 +319,7 @@ msgid "Next week" msgstr "Naslednji teden" #: ../js/ui/dash.js:174 -#: ../js/ui/messageTray.js:935 +#: ../js/ui/messageTray.js:933 msgid "Remove" msgstr "Odstrani" @@ -455,7 +451,7 @@ msgid "Confirm" msgstr "Potrdi" #: ../js/ui/endSessionDialog.js:400 -#: ../js/ui/status/bluetooth.js:470 +#: ../js/ui/status/bluetooth.js:466 msgid "Cancel" msgstr "Prekliči" @@ -490,11 +486,11 @@ msgstr "Poglej vir" msgid "Web Page" msgstr "Spletna stran" -#: ../js/ui/messageTray.js:928 +#: ../js/ui/messageTray.js:926 msgid "Open" msgstr "Odpri" -#: ../js/ui/messageTray.js:1965 +#: ../js/ui/messageTray.js:1986 msgid "System Information" msgstr "Podrobnosti sistema" @@ -517,18 +513,18 @@ msgid "Dash" msgstr "Armaturna plošča" #. TODO - _quit() doesn't really work on apps in state STARTING yet -#: ../js/ui/panel.js:560 +#: ../js/ui/panel.js:515 #, c-format msgid "Quit %s" msgstr "Končaj %s" #. Button on the left side of the panel. #. Translators: If there is no suitable word for "Activities" in your language, you can use the word for "Overview". -#: ../js/ui/panel.js:919 +#: ../js/ui/panel.js:874 msgid "Activities" msgstr "Dejavnosti" -#: ../js/ui/panel.js:1020 +#: ../js/ui/panel.js:975 msgid "Panel" msgstr "Pult" @@ -612,14 +608,12 @@ msgstr "Odjava ..." msgid "Zoom" msgstr "Približanje" -#: ../js/ui/status/accessibility.js:69 -msgid "Screen Reader" -msgstr "Zaslonski bralnik" - -#: ../js/ui/status/accessibility.js:73 -msgid "Screen Keyboard" -msgstr "Zaslonska tipkovnica" - +#. let screenReader = this._buildItem(_("Screen Reader"), APPLICATIONS_SCHEMA, +#. 'screen-reader-enabled'); +#. this.menu.addMenuItem(screenReader); +#. let screenKeyboard = this._buildItem(_("Screen Keyboard"), APPLICATIONS_SCHEMA, +#. 'screen-keyboard-enabled'); +#. this.menu.addMenuItem(screenKeyboard); #: ../js/ui/status/accessibility.js:77 msgid "Visual Alerts" msgstr "Vidna opozorila" @@ -644,20 +638,20 @@ msgstr "Miškine tipke" msgid "Universal Access Settings" msgstr "Splošne nastavitve dostopa" -#: ../js/ui/status/accessibility.js:145 +#: ../js/ui/status/accessibility.js:146 msgid "High Contrast" msgstr "Visok kontrast" -#: ../js/ui/status/accessibility.js:182 +#: ../js/ui/status/accessibility.js:183 msgid "Large Text" msgstr "Veliko besedilo" #: ../js/ui/status/bluetooth.js:42 -#: ../js/ui/status/bluetooth.js:241 -#: ../js/ui/status/bluetooth.js:337 -#: ../js/ui/status/bluetooth.js:371 -#: ../js/ui/status/bluetooth.js:411 -#: ../js/ui/status/bluetooth.js:444 +#: ../js/ui/status/bluetooth.js:237 +#: ../js/ui/status/bluetooth.js:333 +#: ../js/ui/status/bluetooth.js:367 +#: ../js/ui/status/bluetooth.js:407 +#: ../js/ui/status/bluetooth.js:440 msgid "Bluetooth" msgstr "Bluetooth" @@ -677,96 +671,96 @@ msgstr "Namestitev nove naprave ..." msgid "Bluetooth Settings" msgstr "Nastavitve za Bluetooth" -#: ../js/ui/status/bluetooth.js:192 +#: ../js/ui/status/bluetooth.js:188 msgid "Connection" msgstr "Povezava" -#: ../js/ui/status/bluetooth.js:228 +#: ../js/ui/status/bluetooth.js:224 msgid "Send Files..." msgstr "Pošlji datoteke ..." -#: ../js/ui/status/bluetooth.js:233 +#: ../js/ui/status/bluetooth.js:229 msgid "Browse Files..." msgstr "Brskanje datotek ..." -#: ../js/ui/status/bluetooth.js:242 +#: ../js/ui/status/bluetooth.js:238 msgid "Error browsing device" msgstr "Napaka med brskanjem po napravi" -#: ../js/ui/status/bluetooth.js:243 +#: ../js/ui/status/bluetooth.js:239 #, c-format msgid "The requested device cannot be browsed, error is '%s'" msgstr "Po zahtevani naprave ni mogoče brskati, napaka je '%s'" -#: ../js/ui/status/bluetooth.js:251 +#: ../js/ui/status/bluetooth.js:247 msgid "Keyboard Settings" msgstr "Nastavitve tipkovnice" -#: ../js/ui/status/bluetooth.js:256 +#: ../js/ui/status/bluetooth.js:252 msgid "Mouse Settings" msgstr "Nastavitve miške" -#: ../js/ui/status/bluetooth.js:263 +#: ../js/ui/status/bluetooth.js:259 #: ../js/ui/status/volume.js:66 msgid "Sound Settings" msgstr "Nastavitve zvoka" -#: ../js/ui/status/bluetooth.js:372 +#: ../js/ui/status/bluetooth.js:368 #, c-format msgid "Authorization request from %s" msgstr "Zahteva za pooblastitev od %s" -#: ../js/ui/status/bluetooth.js:378 +#: ../js/ui/status/bluetooth.js:374 #, c-format msgid "Device %s wants access to the service '%s'" msgstr "Naprava %s želi dostop do storitve '%s'." -#: ../js/ui/status/bluetooth.js:380 +#: ../js/ui/status/bluetooth.js:376 msgid "Always grant access" msgstr "Vedno odobri dostop" -#: ../js/ui/status/bluetooth.js:381 +#: ../js/ui/status/bluetooth.js:377 msgid "Grant this time only" msgstr "Odobri le tokrat" -#: ../js/ui/status/bluetooth.js:382 +#: ../js/ui/status/bluetooth.js:378 msgid "Reject" msgstr "Zavrni" -#: ../js/ui/status/bluetooth.js:412 +#: ../js/ui/status/bluetooth.js:408 #, c-format msgid "Pairing confirmation for %s" msgstr "Potrditev razčlenjevanja za %s" -#: ../js/ui/status/bluetooth.js:418 -#: ../js/ui/status/bluetooth.js:452 +#: ../js/ui/status/bluetooth.js:414 +#: ../js/ui/status/bluetooth.js:448 #, c-format msgid "Device %s wants to pair with this computer" msgstr "Naprava %s se skuša povezati s tem računalnikom" -#: ../js/ui/status/bluetooth.js:419 +#: ../js/ui/status/bluetooth.js:415 #, c-format msgid "Please confirm whether the PIN '%s' matches the one on the device." msgstr "Potrdite, ali se PIN '%s' ujema s tistim na napravi." -#: ../js/ui/status/bluetooth.js:421 +#: ../js/ui/status/bluetooth.js:417 msgid "Matches" msgstr "Ujemanja" -#: ../js/ui/status/bluetooth.js:422 +#: ../js/ui/status/bluetooth.js:418 msgid "Does not match" msgstr "Se ne ujema" -#: ../js/ui/status/bluetooth.js:445 +#: ../js/ui/status/bluetooth.js:441 #, c-format msgid "Pairing request for %s" msgstr "Zahteva razčlenjevanja za %s" -#: ../js/ui/status/bluetooth.js:453 +#: ../js/ui/status/bluetooth.js:449 msgid "Please enter the PIN mentioned on the device." msgstr "Vnesite PIN, ki je naveden na napravi." -#: ../js/ui/status/bluetooth.js:469 +#: ../js/ui/status/bluetooth.js:465 msgid "OK" msgstr "V redu" @@ -778,17 +772,150 @@ msgstr "Pokaži razporeditev tipkovnice ..." msgid "Localization Settings" msgstr "Krajevne nastavitve" +#: ../js/ui/status/network.js:102 +#: ../js/ui/status/network.js:1393 +msgid "" +msgstr "" + +#. Translators: this indicates that wireless or wwan is disabled by hardware killswitch +#: ../js/ui/status/network.js:295 +msgid "disabled" +msgstr "onemogočeno" + +#: ../js/ui/status/network.js:476 +msgid "connecting..." +msgstr "povezovanje ..." + +#. Translators: this is for network connections that require some kind of key or password +#: ../js/ui/status/network.js:479 +msgid "authentication required" +msgstr "zahtevana je overitev" + +#. Translators: this is for wired network devices that are physically disconnected +#: ../js/ui/status/network.js:485 +msgid "cable unplugged" +msgstr "kabel ni priklopljen" + +#. 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:489 +msgid "unavailable" +msgstr "ni na voljo" + +#: ../js/ui/status/network.js:491 +msgid "connection failed" +msgstr "povezovanje je spodletelo" + +#. TRANSLATORS: this is the indication that a connection for another logged in user is active, +#. and we cannot access its settings (including the name) +#: ../js/ui/status/network.js:571 +#: ../js/ui/status/network.js:1341 +msgid "Connected (private)" +msgstr "Povezano (zasebna povezava)" + +#: ../js/ui/status/network.js:636 +msgid "Auto Ethernet" +msgstr "Samodejni eternet" + +#: ../js/ui/status/network.js:697 +msgid "Auto broadband" +msgstr "Samodejni širokopasovni dostop" + +#: ../js/ui/status/network.js:700 +msgid "Auto dial-up" +msgstr "Samodejni klicni dostop" + +#. TRANSLATORS: this the automatic wireless connection name (including the network name) +#: ../js/ui/status/network.js:843 +#: ../js/ui/status/network.js:1353 +#, c-format +msgid "Auto %s" +msgstr "Samodejna povezava z %s" + +#: ../js/ui/status/network.js:845 +msgid "Auto bluetooth" +msgstr "Samodejna povezava z Bluetooth" + +#: ../js/ui/status/network.js:1355 +msgid "Auto wireless" +msgstr "Samodejni brezžični dostop" + +#: ../js/ui/status/network.js:1413 +msgid "More..." +msgstr "Več ..." + +#: ../js/ui/status/network.js:1436 +msgid "Enable networking" +msgstr "Omogoči omrežje" + +#: ../js/ui/status/network.js:1448 +msgid "Wired" +msgstr "Žično" + +#: ../js/ui/status/network.js:1459 +msgid "Wireless" +msgstr "Brezžično" + +#: ../js/ui/status/network.js:1469 +msgid "Mobile broadband" +msgstr "Mobilni širokopasovni dostop" + +#: ../js/ui/status/network.js:1479 +msgid "VPN Connections" +msgstr "Povezave VPN" + +#: ../js/ui/status/network.js:1488 +msgid "Network Settings" +msgstr "Omrežne nastavitve" + +#: ../js/ui/status/network.js:1783 +#, c-format +msgid "You're now connected to mobile broadband connection '%s'" +msgstr "Vzpostavljena je povezava z mobilnim širokopasovnim omrežjem '%s'." + +#: ../js/ui/status/network.js:1787 +#, c-format +msgid "You're now connected to wireless network '%s'" +msgstr "Vzpostavljena je povezava z brezžičnim omrežjem '%s'." + +#: ../js/ui/status/network.js:1791 +#, c-format +msgid "You're now connected to wired network '%s'" +msgstr "Vzpostavljena je povezava z žičnim omrežjem '%s'." + +#: ../js/ui/status/network.js:1795 +#, c-format +msgid "You're now connected to VPN network '%s'" +msgstr "Vzpostavljena je povezava z omrežjem VPN '%s'" + +#: ../js/ui/status/network.js:1800 +#, c-format +msgid "You're now connected to '%s'" +msgstr "Vzpostavljena je povezava z '%s'." + +#: ../js/ui/status/network.js:1808 +msgid "Connection estabilished" +msgstr "Povezava je vzpostavljena" + +#: ../js/ui/status/network.js:1930 +msgid "Networking is disabled" +msgstr "Omrežje je onemogočeno" + +#: ../js/ui/status/network.js:2055 +msgid "Network Manager" +msgstr "Upravljalnik omrežij" + #: ../js/ui/status/power.js:85 msgid "Power Settings" msgstr "Upravljanje napajanja" #. 0 is reported when UPower does not have enough data #. to estimate battery life -#: ../js/ui/status/power.js:110 +#: ../js/ui/status/power.js:111 msgid "Estimating..." msgstr "Ocenjevanje ...." -#: ../js/ui/status/power.js:117 +#: ../js/ui/status/power.js:118 #, c-format msgid "%d hour remaining" msgid_plural "%d hours remaining" @@ -798,12 +925,12 @@ msgstr[2] "preostajata še %d uri" msgstr[3] "preostajajo še %d ure" #. TRANSLATORS: this is a time string, as in "%d hours %d minutes remaining" -#: ../js/ui/status/power.js:120 +#: ../js/ui/status/power.js:121 #, c-format msgid "%d %s %d %s remaining" msgstr "Preostaja še %d %s %d %s" -#: ../js/ui/status/power.js:122 +#: ../js/ui/status/power.js:123 msgid "hour" msgid_plural "hours" msgstr[0] "ur" @@ -811,7 +938,7 @@ msgstr[1] "ura" msgstr[2] "uri" msgstr[3] "ure" -#: ../js/ui/status/power.js:122 +#: ../js/ui/status/power.js:123 msgid "minute" msgid_plural "minutes" msgstr[0] "minut" @@ -819,7 +946,7 @@ msgstr[1] "minuta" msgstr[2] "minuti" msgstr[3] "minute" -#: ../js/ui/status/power.js:125 +#: ../js/ui/status/power.js:126 #, c-format msgid "%d minute remaining" msgid_plural "%d minutes remaining" @@ -828,52 +955,52 @@ msgstr[1] "preostaja še %d minuta" msgstr[2] "preostajata še %d minuti" msgstr[3] "preostajajo še %d minute" -#: ../js/ui/status/power.js:227 +#: ../js/ui/status/power.js:228 msgid "AC adapter" msgstr "Električni prilagodilnik" -#: ../js/ui/status/power.js:229 +#: ../js/ui/status/power.js:230 msgid "Laptop battery" msgstr "Baterija prenosnika" -#: ../js/ui/status/power.js:231 +#: ../js/ui/status/power.js:232 msgid "UPS" msgstr "UPS" -#: ../js/ui/status/power.js:233 +#: ../js/ui/status/power.js:234 msgid "Monitor" msgstr "Zaslon" -#: ../js/ui/status/power.js:235 +#: ../js/ui/status/power.js:236 msgid "Mouse" msgstr "Miška" -#: ../js/ui/status/power.js:237 +#: ../js/ui/status/power.js:238 msgid "Keyboard" msgstr "Tipkovnica" -#: ../js/ui/status/power.js:239 +#: ../js/ui/status/power.js:240 msgid "PDA" msgstr "Dlančnik" -#: ../js/ui/status/power.js:241 +#: ../js/ui/status/power.js:242 msgid "Cell phone" msgstr "Mobilni telefon" -#: ../js/ui/status/power.js:243 +#: ../js/ui/status/power.js:244 msgid "Media player" msgstr "Predstavni predvajalnik" -#: ../js/ui/status/power.js:245 +#: ../js/ui/status/power.js:246 msgid "Tablet" msgstr "Tablični računalnik" -#: ../js/ui/status/power.js:247 +#: ../js/ui/status/power.js:248 msgid "Computer" msgstr "Računalnik" -#: ../js/ui/status/power.js:249 -#: ../src/shell-app-system.c:1013 +#: ../js/ui/status/power.js:250 +#: ../src/shell-app-system.c:961 msgid "Unknown" msgstr "Neznano" @@ -913,13 +1040,6 @@ msgstr "%s je zaposlen." msgid "Sent at %X on %A" msgstr "Poslano na %X ob %A" -#. Translators: this is the other person changing their old IM name to their new -#. IM name. -#: ../js/ui/telepathyClient.js:498 -#, c-format -msgid "%s is now known as %s" -msgstr "%s je sedaj znan kot v %s" - #. Translators: this is the text displayed #. in the search entry when no search is #. active; it should not exceed ~30 @@ -969,15 +1089,20 @@ msgstr[3] "%u dovodi naprave" msgid "System Sounds" msgstr "Sistemski zvoki" -#: ../src/main.c:395 +#: ../src/main.c:397 msgid "Print version" msgstr "Izpiši različico" -#: ../src/shell-global.c:1308 +#: ../src/shell-app.c:454 +#, c-format +msgid "Failed to launch '%s'" +msgstr "Zaganjanje '%s' je spodletelo" + +#: ../src/shell-global.c:1340 msgid "Less than a minute ago" msgstr "Pred manj kot eno minuto" -#: ../src/shell-global.c:1312 +#: ../src/shell-global.c:1344 #, c-format msgid "%d minute ago" msgid_plural "%d minutes ago" @@ -986,7 +1111,7 @@ msgstr[1] "Pred %d minuto" msgstr[2] "Pred %d minutama" msgstr[3] "Pred %d minutami" -#: ../src/shell-global.c:1317 +#: ../src/shell-global.c:1349 #, c-format msgid "%d hour ago" msgid_plural "%d hours ago" @@ -995,7 +1120,7 @@ msgstr[1] "Pred %d uro" msgstr[2] "Pred %d urama" msgstr[3] "Pred %d urami" -#: ../src/shell-global.c:1322 +#: ../src/shell-global.c:1354 #, c-format msgid "%d day ago" msgid_plural "%d days ago" @@ -1004,7 +1129,7 @@ msgstr[1] "Pred %d dnevom" msgstr[2] "Pred %d dnevoma" msgstr[3] "Pred %d dnevi" -#: ../src/shell-global.c:1327 +#: ../src/shell-global.c:1359 #, c-format msgid "%d week ago" msgid_plural "%d weeks ago" @@ -1013,6 +1138,14 @@ msgstr[1] "Pred %d tednom" msgstr[2] "Pred %d tednoma" msgstr[3] "Pred %d tedni" +#: ../src/shell-mobile-providers.c:80 +msgid "United Kingdom" +msgstr "Velika Britanija" + +#: ../src/shell-mobile-providers.c:526 +msgid "Default" +msgstr "Privzeto" + #: ../src/shell-polkit-authentication-agent.c:334 msgid "Authentication dialog was dismissed by the user" msgstr "Uporabnik je zavrnil pogovorno okno overitve" @@ -1037,26 +1170,46 @@ msgstr "Datotečni sistem" msgid "%1$s: %2$s" msgstr "%1$s: %2$s" +#~ msgid "No such application" +#~ msgstr "Ni takšnega programa" + +#~ msgid "Screen Reader" +#~ msgstr "Zaslonski bralnik" + +#~ msgid "Screen Keyboard" +#~ msgstr "Zaslonska tipkovnica" + +#~ msgid "%s is now known as %s" +#~ msgstr "%s je sedaj znan kot v %s" + #~ msgid "PREFERENCES" #~ msgstr "Možnosti" + #~ msgid "Shut Down..." #~ msgstr "Izklopi ..." + #~ msgid "Search your computer" #~ msgstr "Iskanje po računalniku" + #~ msgid "Clip the crosshairs at the center" #~ msgstr "Ali merek prekriva kazalko miške v središču" + #~ msgid "Color of the crosshairs" #~ msgstr "Barva merka" + #~ msgid "" #~ "Determines the length of the vertical and horizontal lines that make up " #~ "the crosshairs." #~ msgstr "Določi dolžino navpične in vodoravne črte, ki določata merek." + #~ msgid "" #~ "Determines the transparency of the crosshairs, from fully opaque to fully " #~ "transparent." #~ msgstr "Določi prosojnost merka, od prekrivne to prozorne." + #~ msgid "Enable lens mode" #~ msgstr "Omogočeni način leče" + #~ msgid "" #~ "For centered mouse tracking, when the system pointer is at or near the " #~ "edge of the screen, the magnified contents continue to scroll such that " @@ -1065,48 +1218,63 @@ msgstr "%1$s: %2$s" #~ "Pri usredinjenem sledenju miški, ko je sistemski kazalnik ob robu " #~ "zaslona, približanje vsebine drsi naprej tako, da je rob zaslona v " #~ "približanem pogledu." + #~ msgid "Length of the crosshairs" #~ msgstr "Dolžina merka" + #~ msgid "Magnification factor" #~ msgstr "Faktor približanja" + #~ msgid "Mouse Tracking Mode" #~ msgstr "Način sledenja miške" + #~ msgid "Opacity of the crosshairs" #~ msgstr "Prosojnost merka" + #~ msgid "Screen position" #~ msgstr "Položaj zaslona" + #~ msgid "Scroll magnified contents beyond the edges of the desktop" #~ msgstr "Zdrsni približano vsebino preko robov namizja" + #~ msgid "Show or hide crosshairs" #~ msgstr "Pokaži ali skrij merek" + #~ msgid "Show or hide the magnifier" #~ msgstr "Pokaži ali skrij približevalnik" + #~ msgid "Show or hide the magnifier and all of its zoom regions." #~ msgstr "Pokaže ali skrije povečevalo in vsa njegova območja približevanja." + #~ msgid "" #~ "The color of the the vertical and horizontal lines that make up the " #~ "crosshairs." #~ msgstr "Barva navpične in vodoravne črte, ki določata merek." + #~ msgid "" #~ "The magnified view either fills the entire screen, or occupies the top-" #~ "half, bottom-half, left-half, or right-half of the screen." #~ msgstr "" #~ "Približan pogled lahko zapolni celoten zaslon, lahko pa zasede zgornjo, " #~ "spodnjo, levo ali pa desno polovico zaslona." + #~ msgid "" #~ "The power of the magnification. A value of 1.0 means no magnification. A " #~ "value of 2.0 doubles the size." #~ msgstr "" #~ "Vrednost približanja. Vrednost 1.0 pomeni brez približanja, vrednost 2.0 " #~ "pa podvoji učinek približanja." + #~ msgid "Thickness of the crosshairs" #~ msgstr "Debelina merka" + #~ msgid "" #~ "Whether the magnified view should be centered over the location of the " #~ "system mouse and move with it." #~ msgstr "" #~ "Ali naj bo približan pogled usredinjen na mesto sistemske miške in se z " #~ "njo premika." + #~ msgid "" #~ "Width of the vertical and horizontal lines that make up the crosshairs." #~ msgstr "Širina navpične in vodoravne čete, ki določata merek." @@ -1114,28 +1282,36 @@ msgstr "%1$s: %2$s" #, fuzzy #~ msgid "Bluetooth Agent" #~ msgstr "Agent KAOS" + #~ msgid "" #~ "Can't add a new workspace because maximum workspaces limit has been " #~ "reached." #~ msgstr "" #~ "Ni mogoče dodati nove delovne površine, ker je doseženo njihovo največje " #~ "dovoljeno število." + #~ msgid "Can't remove the first workspace." #~ msgstr "Ni mogoče odstraniti prve delovne površine." + #~ msgid "Clock" #~ msgstr "Ura" + #~ msgid "Customize the panel clock" #~ msgstr "Prilagodi uro pladnja" + #~ msgid "Custom format of the clock" #~ msgstr "Zapis ure po meri" + #~ msgid "Hour format" #~ msgstr "Urni zapis" + #~ msgid "" #~ "If true and format is either \"12-hour\" or \"24-hour\", display seconds " #~ "in time." #~ msgstr "" #~ "Izbrana možnost določa ali \"12-urni\" ali pa \"24-urni\" zapis časa s " #~ "prikazanimi sekundami." + #~ msgid "" #~ "This key specifies the format used by the panel clock when the format key " #~ "is set to \"custom\". You can use conversion specifiers understood by " @@ -1146,79 +1322,103 @@ msgstr "%1$s: %2$s" #~ "zapisa nastavljen kot \"prikrojen\". Za določitev zapisa lahko uporabite " #~ "tudi oznake funkcije strftime(), ki so podrobneje zapisane v priročniku " #~ "funkcije." + #~ msgid "" #~ "This key specifies the hour format used by the panel clock. Possible " #~ "values are \"12-hour\", \"24-hour\", \"unix\" and \"custom\". If set to " -#~ "\"unix\", the clock will display time in seconds since Epoch, i.e. " -#~ "1970-01-01. If set to \"custom\", the clock will display time according " -#~ "to the format specified in the custom_format key. Note that if set to " -#~ "either \"unix\" or \"custom\", the show_date and show_seconds keys are " -#~ "ignored." +#~ "\"unix\", the clock will display time in seconds since Epoch, i.e. 1970-" +#~ "01-01. If set to \"custom\", the clock will display time according to the " +#~ "format specified in the custom_format key. Note that if set to either " +#~ "\"unix\" or \"custom\", the show_date and show_seconds keys are ignored." #~ msgstr "" #~ "Ključ določa zapis ure. Mogoče vrednosti so \"12-urni\", \"24-urni\", " #~ "\"unix\" in \"po meri\". Možnost \"unix\" prikazuje čas v sekundah od " #~ "začetka ere, torej od 01.01.1970, možnost \"po meri\" pa omogoča " #~ "prikrojen zapis. Pri izbiri zapisa \"unix\" ali \"po meri\" sta izbiri " #~ "pokaži datum in pokaži sekunde, prezrti." + #~ msgid "Clock Format" #~ msgstr "Zapis ure" + #~ msgid "Clock Preferences" #~ msgstr "Možnosti ure" + #~ msgid "Panel Display" #~ msgstr "Prikazovanje pladnja" + #~ msgid "Show seco_nds" #~ msgstr "Pokaži _sekunde" + #~ msgid "Show the _date" #~ msgstr "Pokaži _datum" + #~ msgid "_12 hour format" #~ msgstr "_12-urni zapis časa" + #~ msgid "_24 hour format" #~ msgstr "_24-urni zapis časa" + #~ msgid "Preferences" #~ msgstr "Možnosti" + #~ msgid "What's using power..." #~ msgstr "Kaj porablja napetost ..." + #~ msgid "Overview workspace view mode" #~ msgstr "Način pregleda predogleda delovnih površin" + #~ msgid "" #~ "The selected workspace view mode in the overview. Supported values are " #~ "\"single\" and \"grid\"." #~ msgstr "" #~ "Izbrani pogled delovnih površin v predogledu. Podprte vrednosti sta " #~ "\"enojno\" in \"mrežno\"." + #~ msgid "Drag here to add favorites" #~ msgstr "S potegom na to mesto se izbor doda med priljubljene" + #~ msgid "Find" #~ msgstr "Najdi" + #~ msgid "Invisible" #~ msgstr "Nevidno" + #~ msgid "System Preferences..." #~ msgstr "Sistemske možnosti ..." + #~ msgid "ON" #~ msgstr "⚪" + #~ msgid "OFF" #~ msgstr "⚫" + #~ msgid "Sidebar" #~ msgstr "Stranska vrstica" + #~ msgid "Recent Documents" #~ msgstr "Nedavni dokumenti" + #~ msgid "PLACES" #~ msgstr "Mesta" + #~ msgid "SEARCH RESULTS" #~ msgstr "Rezultati iskanja" + #~ msgid "Can't lock screen: %s" #~ msgstr "Ni mogoče zakleniti zaslona: %s" + #~ msgid "Can't temporarily set screensaver to blank screen: %s" #~ msgstr "" #~ "Ni mogoče začasno nastaviti črnega zaslona za ohranjevalnik zaslona: %s" + #~ msgid "Can't logout: %s" #~ msgstr "Ni se mogoče odjaviti: %s" + #~ msgid "Frequent" #~ msgstr "Pogosto" -#~ msgid "More" -#~ msgstr "Več" + #~ msgid "(see all)" #~ msgstr "(poglej vse)" + #~ msgid "Browse" #~ msgstr "Prebrskaj" - From 6bb5cdeb2f55a44344f4136b78a3e0b679e6635c Mon Sep 17 00:00:00 2001 From: Daniel Mustieles Date: Fri, 18 Mar 2011 20:01:08 +0100 Subject: [PATCH 076/203] Updated Spanish translation --- po/es.po | 52 +++++++++++++++++++++++++--------------------------- 1 file changed, 25 insertions(+), 27 deletions(-) diff --git a/po/es.po b/po/es.po index a7f3b5a78..2c7eb8fc9 100644 --- a/po/es.po +++ b/po/es.po @@ -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: 2011-03-17 19:06+0000\n" -"PO-Revision-Date: 2011-03-17 20:19+0100\n" +"POT-Creation-Date: 2011-03-17 19:20+0000\n" +"PO-Revision-Date: 2011-03-18 10:00+0100\n" "Last-Translator: Daniel Mustieles \n" "Language-Team: Español \n" "MIME-Version: 1.0\n" @@ -96,16 +96,16 @@ msgid "" "at the optimal thread count on the system." msgstr "" "Establece la tubería GStreamer usada para codificar grabaciones. Sigue la " -"sintaxis usada para gst-launch. La tubería debería tener un sumidero " -"(«sink») de ensamblaje/sesensamblaje donde el vídeo que se está grabando se " -"graba. Generalmente tendrá un origen de ensamblado/desensamblado; la salida " -"de ese punto se escibirá en el archivo de salida. No obstante la tubería " -"también puede tomar parte en su propia salida; esto se puede usar para " -"enviar la salida a un servidor «icecast» a través de shout2send o similar. " -"Cuando no está establecido o lo está a un valor vacío, se usará la tubería " -"predeterminada. Actualmente es «videorate ! vp8enc quality=10 speed=2 " -"threads=%T ! queue ! webmmux» y greba en WEBM usando el códec VP8. Se usa %T " -"como suposición para el número de hilos óptimos en el sistema." +"sintaxis usada para gst-launch. La tubería debería tener un sumidero («sink») " +"de ensamblaje/sesensamblaje donde el vídeo que se está grabando se graba. " +"Generalmente tendrá un origen de ensamblado/desensamblado; la salida de ese " +"punto se escibirá en el archivo de salida. No obstante la tubería también " +"puede tomar parte en su propia salida; esto se puede usar para enviar la " +"salida a un servidor «icecast» a través de shout2send o similar. Cuando no " +"está establecido o lo está a un valor vacío, se usará la tubería " +"predeterminada. Actualmente es «videorate ! vp8enc quality=10 speed=2 threads=" +"%T ! queue ! webmmux» y greba en WEBM usando el códec VP8. Se usa %T como " +"suposición para el número de hilos óptimos en el sistema." #: ../data/org.gnome.shell.gschema.xml.in.h:14 msgid "Show date in clock" @@ -683,7 +683,7 @@ msgstr "Teclas del ratón" #: ../js/ui/status/accessibility.js:93 msgid "Universal Access Settings" -msgstr "Preferencias del acceso universal" +msgstr "Configuración del acceso universal" #: ../js/ui/status/accessibility.js:146 msgid "High Contrast" @@ -1120,7 +1120,6 @@ msgstr "Imprimir versión" #: ../src/shell-app.c:454 #, c-format -#| msgid "Failed to unmount '%s'" msgid "Failed to launch '%s'" msgstr "Falló al lanzar «%s»" @@ -1374,8 +1373,8 @@ msgstr "%1$s: %2$s" #~ "If true and format is either \"12-hour\" or \"24-hour\", display seconds " #~ "in time." #~ msgstr "" -#~ "Si es cierta y el formato es «12-horas» o «24-horas», muestra los " -#~ "segundos en la hora." +#~ "Si es cierta y el formato es «12-horas» o «24-horas», muestra los segundos " +#~ "en la hora." #~ msgid "" #~ "This key specifies the format used by the panel clock when the format key " @@ -1392,19 +1391,18 @@ msgstr "%1$s: %2$s" #~ msgid "" #~ "This key specifies the hour format used by the panel clock. Possible " #~ "values are \"12-hour\", \"24-hour\", \"unix\" and \"custom\". If set to " -#~ "\"unix\", the clock will display time in seconds since Epoch, i.e. " -#~ "1970-01-01. If set to \"custom\", the clock will display time according " -#~ "to the format specified in the custom_format key. Note that if set to " -#~ "either \"unix\" or \"custom\", the show_date and show_seconds keys are " -#~ "ignored." +#~ "\"unix\", the clock will display time in seconds since Epoch, i.e. 1970-" +#~ "01-01. If set to \"custom\", the clock will display time according to the " +#~ "format specified in the custom_format key. Note that if set to either " +#~ "\"unix\" or \"custom\", the show_date and show_seconds keys are ignored." #~ msgstr "" #~ "Esta clave especifica el formato de la hora especificado por el reloj del " -#~ "panel. Los valores posibles son «12-hour» (12 horas), «24-hour» (24 " -#~ "horas), «unix» y «custom» (personalizado).Si se establece a «unix» el " -#~ "reloj mostrará la hora en segundos desde la época (1 de enero de 1970). " -#~ "Si se establece a «custom» el reloj mostrará la hora según el formato " -#~ "especificado en la clave «custom_format». Note que si se establece a " -#~ "«unix» o «custom» se ignoran las claves «show_date» y «show_seconds»." +#~ "panel. Los valores posibles son «12-hour» (12 horas), «24-hour» (24 horas), " +#~ "«unix» y «custom» (personalizado).Si se establece a «unix» el reloj mostrará " +#~ "la hora en segundos desde la época (1 de enero de 1970). Si se establece " +#~ "a «custom» el reloj mostrará la hora según el formato especificado en la " +#~ "clave «custom_format». Note que si se establece a «unix» o «custom» se " +#~ "ignoran las claves «show_date» y «show_seconds»." #~ msgid "Clock Format" #~ msgstr "Formato del reloj" From f259162d641e05ae2f3c8abde3cc13491980e28c Mon Sep 17 00:00:00 2001 From: "Jasper St. Pierre" Date: Thu, 17 Mar 2011 09:37:55 -0400 Subject: [PATCH 077/203] workspacesView: Fix graphical glitches with windows appearing for a split-second When we were knocking off workspace height to fix the ratio problems, we weren't adding spacing in between workspaces, so they smooshed up against each other whenever we took height off, causing them to be visible. --- js/ui/workspacesView.js | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/js/ui/workspacesView.js b/js/ui/workspacesView.js index b37417950..774ea594e 100644 --- a/js/ui/workspacesView.js +++ b/js/ui/workspacesView.js @@ -51,6 +51,7 @@ WorkspacesView.prototype = { this._height = 0; this._x = 0; this._y = 0; + this._workspaceRatioSpacing = 0; this._spacing = 0; this._lostWorkspaces = []; this._animating = false; // tweening @@ -124,7 +125,7 @@ WorkspacesView.prototype = { this._swipeScrollEndId = 0; }, - setGeometry: function(x, y, width, height) { + setGeometry: function(x, y, width, height, spacing) { if (this._x == x && this._y == y && this._width == width && this._height == height) return; @@ -132,6 +133,7 @@ WorkspacesView.prototype = { this._height = height; this._x = x; this._y = y; + this._workspaceRatioSpacing = spacing; for (let i = 0; i < this._workspaces.length; i++) this._workspaces[i].setGeometry(x, y, width, height); @@ -200,7 +202,7 @@ WorkspacesView.prototype = { Tweener.removeTweens(workspace.actor); let opacity = (this._inDrag && w != active) ? 200 : 255; - let y = (w - active) * (this._height + this._spacing); + let y = (w - active) * (this._height + this._spacing + this._workspaceRatioSpacing); if (showAnimation) { let params = { y: y, @@ -763,9 +765,10 @@ WorkspacesDisplay.prototype = { } height = (fullHeight / fullWidth) * width; - y += (fullHeight - height) / 2; + let difference = fullHeight - height; + y += difference / 2; - this.workspacesView.setGeometry(x, y, width, height); + this.workspacesView.setGeometry(x, y, width, height, difference); }, _onRestacked: function() { From e0424a7017e10b3080f0d13edd91fb5454373854 Mon Sep 17 00:00:00 2001 From: Wouter Bolsterlee Date: Sat, 19 Mar 2011 01:14:43 +0100 Subject: [PATCH 078/203] Updated Dutch translation by Wouter Bolsterlee --- po/nl.po | 344 +++++++++++++++++++++++++++++++++++++++---------------- 1 file changed, 247 insertions(+), 97 deletions(-) diff --git a/po/nl.po b/po/nl.po index 9c12280cd..3c0fe275a 100644 --- a/po/nl.po +++ b/po/nl.po @@ -6,12 +6,15 @@ # Reinout van Schouwen , 2010 # Wouter Bolsterlee , 2011 # +# Aangezien dit een erg zichtbare module is graag eerst contact opnemen met +# Wouter Bolsterlee alvorens zaken te wijzigen! +# msgid "" msgstr "" "Project-Id-Version: gnome-shell\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2011-03-12 23:52+0100\n" -"PO-Revision-Date: 2011-03-12 23:52+0100\n" +"POT-Creation-Date: 2011-03-19 01:14+0100\n" +"PO-Revision-Date: 2011-03-19 01:14+0100\n" "Last-Translator: Wouter Bolsterlee \n" "Language-Team: Dutch \n" "Language: nl\n" @@ -44,11 +47,11 @@ msgstr "" #: ../data/org.gnome.shell.gschema.xml.in.h:3 msgid "File extension used for storing the screencast" -msgstr "Bestandsextensie voor het opslaan van de screencast" +msgstr "Bestandsextensie voor het opslaan van de schermopname" #: ../data/org.gnome.shell.gschema.xml.in.h:4 msgid "Framerate used for recording screencasts." -msgstr "Framerate voor het opnemen van de screencasts." +msgstr "Framerate voor het opnemen van de schermopnamen." #: ../data/org.gnome.shell.gschema.xml.in.h:5 msgid "" @@ -149,7 +152,7 @@ msgstr "" #: ../data/org.gnome.shell.gschema.xml.in.h:20 msgid "The gstreamer pipeline used to encode the screencast" -msgstr "De gstreamer-pijplijn voor het coderen van de screencast" +msgstr "De gstreamer-pijplijn voor het coderen van de schermopname" #: ../data/org.gnome.shell.gschema.xml.in.h:21 msgid "" @@ -175,21 +178,17 @@ msgstr "Of statistieken worden bijgehouden over gebruik van toepassingen" msgid "disabled OpenSearch providers" msgstr "uitgeschakelde OpenSearch-providers" -#: ../js/misc/util.js:86 +#: ../js/misc/util.js:71 msgid "Command not found" msgstr "Opdracht niet gevonden" #. Replace "Error invoking GLib.shell_parse_argv: " with #. something nicer -#: ../js/misc/util.js:113 +#: ../js/misc/util.js:98 msgid "Could not parse command:" msgstr "Kon opdracht niet parsen:" -#: ../js/misc/util.js:135 -msgid "No such application" -msgstr "Toepassing niet gevonden" - -#: ../js/misc/util.js:148 +#: ../js/misc/util.js:106 #, c-format msgid "Execution of '%s' failed:" msgstr "Uitvoeren van ‘%s’ mislukt:" @@ -375,13 +374,13 @@ msgstr "Deze week" msgid "Next week" msgstr "Volgende week" -#: ../js/ui/dash.js:174 ../js/ui/messageTray.js:931 +#: ../js/ui/dash.js:174 ../js/ui/messageTray.js:933 msgid "Remove" msgstr "Verwijderen" #: ../js/ui/dateMenu.js:91 msgid "Date and Time Settings" -msgstr "Datum- en tijdinstellingen" +msgstr "Instellingen voor datum en tijd" #: ../js/ui/dateMenu.js:111 msgid "Open Calendar" @@ -427,13 +426,12 @@ msgstr "%a %l:%M:%S %p" msgid "%a %l:%M %p" msgstr "%a %l:%M %p" -# Dagnaam bewust afgekort (Wouter Bolsterlee) #. Translators: This is the date format to use when the calendar popup is #. * shown - it is shown just below the time in the shell (e.g. "Tue 9:29 AM"). #. -#: ../js/ui/dateMenu.js:209 +#: ../js/ui/dateMenu.js:194 msgid "%A %B %e, %Y" -msgstr "%a %e %B %Y" +msgstr "%A %e %B %Y" #: ../js/ui/docDisplay.js:19 msgid "RECENT ITEMS" @@ -509,7 +507,7 @@ msgstr "Computer opnieuw opstarten" msgid "Confirm" msgstr "Bevestigen" -#: ../js/ui/endSessionDialog.js:400 ../js/ui/status/bluetooth.js:470 +#: ../js/ui/endSessionDialog.js:400 ../js/ui/status/bluetooth.js:466 msgid "Cancel" msgstr "Annuleren" @@ -543,11 +541,11 @@ msgstr "Broncode weergeven" msgid "Web Page" msgstr "Webpagina" -#: ../js/ui/messageTray.js:924 +#: ../js/ui/messageTray.js:926 msgid "Open" msgstr "Openen" -#: ../js/ui/messageTray.js:1961 +#: ../js/ui/messageTray.js:1986 msgid "System Information" msgstr "Systeeminformatie" @@ -571,18 +569,18 @@ msgid "Dash" msgstr "Zijbalk" #. TODO - _quit() doesn't really work on apps in state STARTING yet -#: ../js/ui/panel.js:560 +#: ../js/ui/panel.js:515 #, c-format msgid "Quit %s" msgstr "%s afsluiten" #. Button on the left side of the panel. #. Translators: If there is no suitable word for "Activities" in your language, you can use the word for "Overview". -#: ../js/ui/panel.js:919 +#: ../js/ui/panel.js:874 msgid "Activities" msgstr "Activiteiten" -#: ../js/ui/panel.js:1020 +#: ../js/ui/panel.js:975 msgid "Panel" msgstr "Paneel" @@ -599,7 +597,7 @@ msgstr "Opnieuw" msgid "Connect to..." msgstr "Verbinding maken met…" -#: ../js/ui/placeDisplay.js:409 +#: ../js/ui/placeDisplay.js:380 msgid "PLACES & DEVICES" msgstr "LOCATIES & APPARATEN" @@ -608,7 +606,7 @@ msgstr "LOCATIES & APPARATEN" #. "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:618 +#: ../js/ui/popupMenu.js:636 msgid "toggle-switch-us" msgstr "toggle-switch-intl" @@ -624,39 +622,39 @@ msgstr "Zoeken…" msgid "No matching results." msgstr "Geen overeenkomende resultaten." -#: ../js/ui/statusMenu.js:113 ../js/ui/statusMenu.js:177 +#: ../js/ui/statusMenu.js:114 ../js/ui/statusMenu.js:178 msgid "Power Off..." msgstr "Uitschakelen…" -#: ../js/ui/statusMenu.js:115 ../js/ui/statusMenu.js:176 +#: ../js/ui/statusMenu.js:116 ../js/ui/statusMenu.js:177 msgid "Suspend" msgstr "Slaapstand" -#: ../js/ui/statusMenu.js:136 +#: ../js/ui/statusMenu.js:137 msgid "Available" msgstr "Beschikbaar" -#: ../js/ui/statusMenu.js:141 +#: ../js/ui/statusMenu.js:142 msgid "Busy" msgstr "Bezig" -#: ../js/ui/statusMenu.js:149 +#: ../js/ui/statusMenu.js:150 msgid "My Account" msgstr "Mijn account" -#: ../js/ui/statusMenu.js:153 +#: ../js/ui/statusMenu.js:154 msgid "System Settings" msgstr "Systeeminstellingen" -#: ../js/ui/statusMenu.js:160 +#: ../js/ui/statusMenu.js:161 msgid "Lock Screen" msgstr "Scherm vergrendelen" -#: ../js/ui/statusMenu.js:164 +#: ../js/ui/statusMenu.js:165 msgid "Switch User" msgstr "Gebruiker wisselen" -#: ../js/ui/statusMenu.js:169 +#: ../js/ui/statusMenu.js:170 msgid "Log Out..." msgstr "Afmelden…" @@ -664,14 +662,12 @@ msgstr "Afmelden…" msgid "Zoom" msgstr "Zoomen" -#: ../js/ui/status/accessibility.js:69 -msgid "Screen Reader" -msgstr "Schermlezer" - -#: ../js/ui/status/accessibility.js:73 -msgid "Screen Keyboard" -msgstr "Schermtoetsenbord" - +#. let screenReader = this._buildItem(_("Screen Reader"), APPLICATIONS_SCHEMA, +#. 'screen-reader-enabled'); +#. this.menu.addMenuItem(screenReader); +#. let screenKeyboard = this._buildItem(_("Screen Keyboard"), APPLICATIONS_SCHEMA, +#. 'screen-keyboard-enabled'); +#. this.menu.addMenuItem(screenKeyboard); #: ../js/ui/status/accessibility.js:77 msgid "Visual Alerts" msgstr "Visuele alerteringen" @@ -696,17 +692,17 @@ msgstr "Muistoetsen" msgid "Universal Access Settings" msgstr "Instellingen voor toegankelijkheid" -#: ../js/ui/status/accessibility.js:145 +#: ../js/ui/status/accessibility.js:146 msgid "High Contrast" msgstr "Hoog contrast" -#: ../js/ui/status/accessibility.js:182 +#: ../js/ui/status/accessibility.js:183 msgid "Large Text" msgstr "Grote tekst" -#: ../js/ui/status/bluetooth.js:42 ../js/ui/status/bluetooth.js:241 -#: ../js/ui/status/bluetooth.js:337 ../js/ui/status/bluetooth.js:371 -#: ../js/ui/status/bluetooth.js:411 ../js/ui/status/bluetooth.js:444 +#: ../js/ui/status/bluetooth.js:42 ../js/ui/status/bluetooth.js:237 +#: ../js/ui/status/bluetooth.js:333 ../js/ui/status/bluetooth.js:367 +#: ../js/ui/status/bluetooth.js:407 ../js/ui/status/bluetooth.js:440 msgid "Bluetooth" msgstr "Bluetooth" @@ -726,94 +722,94 @@ msgstr "Nieuw apparaat instellen…" msgid "Bluetooth Settings" msgstr "Bluetooth-instellingen" -#: ../js/ui/status/bluetooth.js:192 +#: ../js/ui/status/bluetooth.js:188 msgid "Connection" msgstr "Verbinding" -#: ../js/ui/status/bluetooth.js:228 +#: ../js/ui/status/bluetooth.js:224 msgid "Send Files..." msgstr "Bestanden sturen…" -#: ../js/ui/status/bluetooth.js:233 +#: ../js/ui/status/bluetooth.js:229 msgid "Browse Files..." msgstr "Bestanden doorbladeren…" -#: ../js/ui/status/bluetooth.js:242 +#: ../js/ui/status/bluetooth.js:238 msgid "Error browsing device" msgstr "Fout bij doorbladeren van apparaat" -#: ../js/ui/status/bluetooth.js:243 +#: ../js/ui/status/bluetooth.js:239 #, c-format msgid "The requested device cannot be browsed, error is '%s'" msgstr "Het gekozen apparaat kon niet doorgebladerd worden. De fout is ‘%s’" -#: ../js/ui/status/bluetooth.js:251 +#: ../js/ui/status/bluetooth.js:247 msgid "Keyboard Settings" msgstr "Toetsenbordvoorkeuren" -#: ../js/ui/status/bluetooth.js:256 +#: ../js/ui/status/bluetooth.js:252 msgid "Mouse Settings" msgstr "Muisvoorkeuren" -#: ../js/ui/status/bluetooth.js:263 ../js/ui/status/volume.js:66 +#: ../js/ui/status/bluetooth.js:259 ../js/ui/status/volume.js:66 msgid "Sound Settings" msgstr "Geluidsvoorkeuren" -#: ../js/ui/status/bluetooth.js:372 +#: ../js/ui/status/bluetooth.js:368 #, c-format msgid "Authorization request from %s" msgstr "Autorisatie-aanvraag van %s" -#: ../js/ui/status/bluetooth.js:378 +#: ../js/ui/status/bluetooth.js:374 #, c-format msgid "Device %s wants access to the service '%s'" msgstr "Het apparaat ‘%s’ wil toegang tot de dienst ‘%s’" -#: ../js/ui/status/bluetooth.js:380 +#: ../js/ui/status/bluetooth.js:376 msgid "Always grant access" msgstr "Altijd toestaan" -#: ../js/ui/status/bluetooth.js:381 +#: ../js/ui/status/bluetooth.js:377 msgid "Grant this time only" msgstr "Eenmalig toestaan" -#: ../js/ui/status/bluetooth.js:382 +#: ../js/ui/status/bluetooth.js:378 msgid "Reject" msgstr "Afwijzen" -#: ../js/ui/status/bluetooth.js:412 +#: ../js/ui/status/bluetooth.js:408 #, c-format msgid "Pairing confirmation for %s" msgstr "Koppelbevestiging voor %s" -#: ../js/ui/status/bluetooth.js:418 ../js/ui/status/bluetooth.js:452 +#: ../js/ui/status/bluetooth.js:414 ../js/ui/status/bluetooth.js:448 #, c-format msgid "Device %s wants to pair with this computer" msgstr "Het apparaat ‘%s’ wil aankoppelen met deze computer" -#: ../js/ui/status/bluetooth.js:419 +#: ../js/ui/status/bluetooth.js:415 #, c-format msgid "Please confirm whether the PIN '%s' matches the one on the device." msgstr "Bevestig dat de PIN-code ‘%s’ hetzelfde is als die van het apparaat." -#: ../js/ui/status/bluetooth.js:421 +#: ../js/ui/status/bluetooth.js:417 msgid "Matches" msgstr "Komt overeen" -#: ../js/ui/status/bluetooth.js:422 +#: ../js/ui/status/bluetooth.js:418 msgid "Does not match" msgstr "Komt niet overeen" -#: ../js/ui/status/bluetooth.js:445 +#: ../js/ui/status/bluetooth.js:441 #, c-format msgid "Pairing request for %s" msgstr "Verzoek tot koppelen met %s" -#: ../js/ui/status/bluetooth.js:453 +#: ../js/ui/status/bluetooth.js:449 msgid "Please enter the PIN mentioned on the device." msgstr "Geef de op het apparaat aangegeven PIN-code." -#: ../js/ui/status/bluetooth.js:469 +#: ../js/ui/status/bluetooth.js:465 msgid "OK" msgstr "OK" @@ -825,17 +821,149 @@ msgstr "Toetsenbordindeling tonen…" msgid "Localization Settings" msgstr "Regionale instellingen" +#: ../js/ui/status/network.js:102 ../js/ui/status/network.js:1393 +msgid "" +msgstr "" + +#. Translators: this indicates that wireless or wwan is disabled by hardware killswitch +#: ../js/ui/status/network.js:295 +msgid "disabled" +msgstr "uitgeschakeld" + +#: ../js/ui/status/network.js:476 +msgid "connecting..." +msgstr "verbinden…" + +#. Translators: this is for network connections that require some kind of key or password +#: ../js/ui/status/network.js:479 +msgid "authentication required" +msgstr "authenticatie nodig" + +#. Translators: this is for wired network devices that are physically disconnected +#: ../js/ui/status/network.js:485 +msgid "cable unplugged" +msgstr "kabel niet verbonden" + +#. 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:489 +msgid "unavailable" +msgstr "niet beschikbaar" + +#: ../js/ui/status/network.js:491 +msgid "connection failed" +msgstr "verbinding mislukt" + +#. TRANSLATORS: this is the indication that a connection for another logged in user is active, +#. and we cannot access its settings (including the name) +#: ../js/ui/status/network.js:571 ../js/ui/status/network.js:1341 +msgid "Connected (private)" +msgstr "Verbonden (persoonlijke verbinding)" + +#: ../js/ui/status/network.js:636 +msgid "Auto Ethernet" +msgstr "Automatisch ethernetverbinding" + +#: ../js/ui/status/network.js:697 +msgid "Auto broadband" +msgstr "Automatische breedbandverbinding" + +#: ../js/ui/status/network.js:700 +msgid "Auto dial-up" +msgstr "Automatisch inbellen" + +#. TRANSLATORS: this the automatic wireless connection name (including the network name) +#: ../js/ui/status/network.js:843 ../js/ui/status/network.js:1353 +#, c-format +msgid "Auto %s" +msgstr "%s (automatisch)" + +#: ../js/ui/status/network.js:845 +msgid "Auto bluetooth" +msgstr "Automatische Bluetooth" + +#: ../js/ui/status/network.js:1355 +msgid "Auto wireless" +msgstr "Automatisch draadloos netwerk" + +#: ../js/ui/status/network.js:1413 +msgid "More..." +msgstr "Meer…" + +#: ../js/ui/status/network.js:1436 +msgid "Enable networking" +msgstr "Netwerk inschakelen" + +# Expliciet "netwerk" toegevoegd (Wouter Bolsterlee) +#: ../js/ui/status/network.js:1448 +msgid "Wired" +msgstr "Bekabeld netwerk" + +# Expliciet "netwerk" toegevoegd (Wouter Bolsterlee) +#: ../js/ui/status/network.js:1459 +msgid "Wireless" +msgstr "Draadloos netwerk" + +#: ../js/ui/status/network.js:1469 +msgid "Mobile broadband" +msgstr "Mobiel breedband" + +#: ../js/ui/status/network.js:1479 +msgid "VPN Connections" +msgstr "VPN-verbindingen" + +#: ../js/ui/status/network.js:1488 +msgid "Network Settings" +msgstr "Netwerkinstellingen" + +#: ../js/ui/status/network.js:1783 +#, c-format +msgid "You're now connected to mobile broadband connection '%s'" +msgstr "U bent nu verbonden met de mobiele breedbandverbinding ‘%s’" + +#: ../js/ui/status/network.js:1787 +#, c-format +msgid "You're now connected to wireless network '%s'" +msgstr "U bent nu verbonden met het draadloze netwerk ‘%s’" + +#: ../js/ui/status/network.js:1791 +#, c-format +msgid "You're now connected to wired network '%s'" +msgstr "U bent nu verbonden met het bekabelde netwerk ‘%s’" + +#: ../js/ui/status/network.js:1795 +#, c-format +msgid "You're now connected to VPN network '%s'" +msgstr "U bent nu verbonden met het VPN-netwerk ‘%s’" + +#: ../js/ui/status/network.js:1800 +#, c-format +msgid "You're now connected to '%s'" +msgstr "U bent nu verbonden met ‘%s’" + +#: ../js/ui/status/network.js:1808 +msgid "Connection estabilished" +msgstr "Verbinding gemaakt" + +#: ../js/ui/status/network.js:1930 +msgid "Networking is disabled" +msgstr "Netwerk is uitgeschakeld" + +#: ../js/ui/status/network.js:2055 +msgid "Network Manager" +msgstr "Netwerk-manager" + #: ../js/ui/status/power.js:85 msgid "Power Settings" msgstr "Energievoorkeuren" #. 0 is reported when UPower does not have enough data #. to estimate battery life -#: ../js/ui/status/power.js:110 +#: ../js/ui/status/power.js:111 msgid "Estimating..." msgstr "Schatten…" -#: ../js/ui/status/power.js:117 +#: ../js/ui/status/power.js:118 #, c-format msgid "%d hour remaining" msgid_plural "%d hours remaining" @@ -843,75 +971,75 @@ msgstr[0] "%d uur resterend" msgstr[1] "%d uur resterend" #. TRANSLATORS: this is a time string, as in "%d hours %d minutes remaining" -#: ../js/ui/status/power.js:120 +#: ../js/ui/status/power.js:121 #, c-format msgid "%d %s %d %s remaining" msgstr "%d %s %d %s resterend" -#: ../js/ui/status/power.js:122 +#: ../js/ui/status/power.js:123 msgid "hour" msgid_plural "hours" msgstr[0] "uur" msgstr[1] "uur" -#: ../js/ui/status/power.js:122 +#: ../js/ui/status/power.js:123 msgid "minute" msgid_plural "minutes" msgstr[0] "minuut" msgstr[1] "minuten" -#: ../js/ui/status/power.js:125 +#: ../js/ui/status/power.js:126 #, c-format msgid "%d minute remaining" msgid_plural "%d minutes remaining" msgstr[0] "%d minuut resterend" msgstr[1] "%d minuten resterend" -#: ../js/ui/status/power.js:227 +#: ../js/ui/status/power.js:228 msgid "AC adapter" msgstr "Netstroom" -#: ../js/ui/status/power.js:229 +#: ../js/ui/status/power.js:230 msgid "Laptop battery" msgstr "Laptop-accu" -#: ../js/ui/status/power.js:231 +#: ../js/ui/status/power.js:232 msgid "UPS" msgstr "UPS" -#: ../js/ui/status/power.js:233 +#: ../js/ui/status/power.js:234 msgid "Monitor" msgstr "Monitor" -#: ../js/ui/status/power.js:235 +#: ../js/ui/status/power.js:236 msgid "Mouse" msgstr "Muis" -#: ../js/ui/status/power.js:237 +#: ../js/ui/status/power.js:238 msgid "Keyboard" msgstr "Toetsenbord" -#: ../js/ui/status/power.js:239 +#: ../js/ui/status/power.js:240 msgid "PDA" msgstr "PDA" -#: ../js/ui/status/power.js:241 +#: ../js/ui/status/power.js:242 msgid "Cell phone" msgstr "Mobiele telefoon" -#: ../js/ui/status/power.js:243 +#: ../js/ui/status/power.js:244 msgid "Media player" msgstr "Mediaspeler" -#: ../js/ui/status/power.js:245 +#: ../js/ui/status/power.js:246 msgid "Tablet" msgstr "Tablet" -#: ../js/ui/status/power.js:247 +#: ../js/ui/status/power.js:248 msgid "Computer" msgstr "Computer" -#: ../js/ui/status/power.js:249 ../src/shell-app-system.c:1013 +#: ../js/ui/status/power.js:250 ../src/shell-app-system.c:961 msgid "Unknown" msgstr "Onbekend" @@ -923,22 +1051,22 @@ msgstr "Volume" msgid "Microphone" msgstr "Microfoon" -#: ../js/ui/telepathyClient.js:239 +#: ../js/ui/telepathyClient.js:332 #, c-format msgid "%s is online." msgstr "%s is online." -#: ../js/ui/telepathyClient.js:244 +#: ../js/ui/telepathyClient.js:337 #, c-format msgid "%s is offline." msgstr "%s is offline." -#: ../js/ui/telepathyClient.js:247 +#: ../js/ui/telepathyClient.js:340 #, c-format msgid "%s is away." msgstr "%s is afwezig." -#: ../js/ui/telepathyClient.js:250 +#: ../js/ui/telepathyClient.js:343 #, c-format msgid "%s is busy." msgstr "%s is bezig." @@ -946,7 +1074,7 @@ msgstr "%s is bezig." #. Translators: this is a time format string followed by a date. #. If applicable, replace %X with a strftime format valid for your #. locale, without seconds. -#: ../js/ui/telepathyClient.js:357 +#: ../js/ui/telepathyClient.js:474 #, no-c-format msgid "Sent at %X on %A" msgstr "Verzonden om %H:%M op %A %e %B %Y" @@ -995,42 +1123,55 @@ msgstr[1] "%u invoerkanalen" msgid "System Sounds" msgstr "Systeemgeluiden" -#: ../src/main.c:395 +#: ../src/main.c:397 msgid "Print version" msgstr "Versie weergeven" -#: ../src/shell-global.c:1308 +#: ../src/shell-app.c:454 +#, c-format +msgid "Failed to launch '%s'" +msgstr "Kon ‘%s’ niet starten" + +#: ../src/shell-global.c:1340 msgid "Less than a minute ago" msgstr "Minder dan een minuut geleden" -#: ../src/shell-global.c:1312 +#: ../src/shell-global.c:1344 #, c-format msgid "%d minute ago" msgid_plural "%d minutes ago" msgstr[0] "%d minuut geleden" msgstr[1] "%d minuten geleden" -#: ../src/shell-global.c:1317 +#: ../src/shell-global.c:1349 #, c-format msgid "%d hour ago" msgid_plural "%d hours ago" msgstr[0] "%d uur geleden" msgstr[1] "%d uur geleden" -#: ../src/shell-global.c:1322 +#: ../src/shell-global.c:1354 #, c-format msgid "%d day ago" msgid_plural "%d days ago" msgstr[0] "%d dag geleden" msgstr[1] "%d dagen geleden" -#: ../src/shell-global.c:1327 +#: ../src/shell-global.c:1359 #, c-format msgid "%d week ago" msgid_plural "%d weeks ago" msgstr[0] "%d week geleden" msgstr[1] "%d weken geleden" +#: ../src/shell-mobile-providers.c:80 +msgid "United Kingdom" +msgstr "Verenigd Koninkrijk" + +#: ../src/shell-mobile-providers.c:526 +msgid "Default" +msgstr "Standaard" + #: ../src/shell-polkit-authentication-agent.c:334 msgid "Authentication dialog was dismissed by the user" msgstr "Authenticatievenster is door de gebruiker afgesloten" @@ -1055,6 +1196,15 @@ msgstr "Bestandssysteem" msgid "%1$s: %2$s" msgstr "%1$s: %2$s" +#~ msgid "No such application" +#~ msgstr "Toepassing niet gevonden" + +#~ msgid "Screen Reader" +#~ msgstr "Schermlezer" + +#~ msgid "Screen Keyboard" +#~ msgstr "Schermtoetsenbord" + #~ msgid "PREFERENCES" #~ msgstr "VOORKEUREN" From 8ab25de6c6d9f0270d1145ef16a9ebb65f5e7490 Mon Sep 17 00:00:00 2001 From: Wouter Bolsterlee Date: Sat, 19 Mar 2011 01:16:16 +0100 Subject: [PATCH 079/203] Fix user visible typo: s/estabilished/established/ The affected translations are also modified to not cause any inconvenience for translators. --- js/ui/status/network.js | 2 +- po/ar.po | 2 +- po/es.po | 2 +- po/gl.po | 2 +- po/he.po | 2 +- po/hu.po | 2 +- po/it.po | 2 +- po/nb.po | 2 +- po/nl.po | 4 ++-- po/ro.po | 2 +- po/sl.po | 2 +- po/uk.po | 2 +- po/zh_CN.po | 2 +- 13 files changed, 14 insertions(+), 14 deletions(-) diff --git a/js/ui/status/network.js b/js/ui/status/network.js index 2e33b4b17..e57349a55 100644 --- a/js/ui/status/network.js +++ b/js/ui/status/network.js @@ -1805,7 +1805,7 @@ NMApplet.prototype = { icon_size: this._source.ICON_SIZE }); let notification = new MessageTray.Notification(this._source, - _("Connection estabilished"), + _("Connection established"), banner, { icon: iconActor }); this._source.notify(notification); diff --git a/po/ar.po b/po/ar.po index 2c3eb77d3..b7d886c96 100644 --- a/po/ar.po +++ b/po/ar.po @@ -900,7 +900,7 @@ msgid "You're now connected to '%s'" msgstr "صرت الآن متّصلا بشبكة '%s'" #: ../js/ui/status/network.js:1807 -msgid "Connection estabilished" +msgid "Connection established" msgstr "تم الاتصال" #: ../js/ui/status/network.js:1929 diff --git a/po/es.po b/po/es.po index 2c7eb8fc9..e29370f97 100644 --- a/po/es.po +++ b/po/es.po @@ -933,7 +933,7 @@ msgid "You're now connected to '%s'" msgstr "Ahora está conectado a «%s»" #: ../js/ui/status/network.js:1807 -msgid "Connection estabilished" +msgid "Connection established" msgstr "Conexión establecida" #: ../js/ui/status/network.js:1929 diff --git a/po/gl.po b/po/gl.po index d69beb05e..00d0d0a3d 100644 --- a/po/gl.po +++ b/po/gl.po @@ -939,7 +939,7 @@ msgid "You're now connected to '%s'" msgstr "Vostede está conectado agora a «%s»" #: ../js/ui/status/network.js:1807 -msgid "Connection estabilished" +msgid "Connection established" msgstr "Conexión estabelecida" #: ../js/ui/status/network.js:1929 diff --git a/po/he.po b/po/he.po index 1eecb0e11..12c3a08a8 100644 --- a/po/he.po +++ b/po/he.po @@ -927,7 +927,7 @@ msgid "You're now connected to '%s'" msgstr "כעת ישנו חיבור בינך ובין '%s'" #: ../js/ui/status/network.js:1807 -msgid "Connection estabilished" +msgid "Connection established" msgstr "ההתחברות הצליחה" #: ../js/ui/status/network.js:1929 diff --git a/po/hu.po b/po/hu.po index 065f2f5d8..8542483be 100644 --- a/po/hu.po +++ b/po/hu.po @@ -940,7 +940,7 @@ msgid "You're now connected to '%s'" msgstr "Csatlakozott ehhez: „%s”" #: ../js/ui/status/network.js:1807 -msgid "Connection estabilished" +msgid "Connection established" msgstr "Kapcsolat létrejött" #: ../js/ui/status/network.js:1929 diff --git a/po/it.po b/po/it.po index 6a70b2af2..ef0d85f6a 100644 --- a/po/it.po +++ b/po/it.po @@ -947,7 +947,7 @@ msgid "You're now connected to '%s'" msgstr "Connessi a «%s»" #: ../js/ui/status/network.js:1807 -msgid "Connection estabilished" +msgid "Connection established" msgstr "Connessione stabilita" #: ../js/ui/status/network.js:1929 diff --git a/po/nb.po b/po/nb.po index ca6c04ec3..f4fa67a8d 100644 --- a/po/nb.po +++ b/po/nb.po @@ -906,7 +906,7 @@ msgid "You're now connected to '%s'" msgstr "Du er nå koblet til «%s»" #: ../js/ui/status/network.js:1807 -msgid "Connection estabilished" +msgid "Connection established" msgstr "Tilkobling etablert" #: ../js/ui/status/network.js:1929 diff --git a/po/nl.po b/po/nl.po index 3c0fe275a..7a981dc52 100644 --- a/po/nl.po +++ b/po/nl.po @@ -13,7 +13,7 @@ msgid "" msgstr "" "Project-Id-Version: gnome-shell\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2011-03-19 01:14+0100\n" +"POT-Creation-Date: 2011-03-19 01:15+0100\n" "PO-Revision-Date: 2011-03-19 01:14+0100\n" "Last-Translator: Wouter Bolsterlee \n" "Language-Team: Dutch \n" @@ -942,7 +942,7 @@ msgid "You're now connected to '%s'" msgstr "U bent nu verbonden met ‘%s’" #: ../js/ui/status/network.js:1808 -msgid "Connection estabilished" +msgid "Connection established" msgstr "Verbinding gemaakt" #: ../js/ui/status/network.js:1930 diff --git a/po/ro.po b/po/ro.po index 4a5ad6292..92ebf7a0a 100644 --- a/po/ro.po +++ b/po/ro.po @@ -939,7 +939,7 @@ msgid "You're now connected to '%s'" msgstr "V-ați conectat la „%s”" #: ../js/ui/status/network.js:1807 -msgid "Connection estabilished" +msgid "Connection established" msgstr "Conexiune stabilită" #: ../js/ui/status/network.js:1929 diff --git a/po/sl.po b/po/sl.po index 41ffcf155..cb140374b 100644 --- a/po/sl.po +++ b/po/sl.po @@ -894,7 +894,7 @@ msgid "You're now connected to '%s'" msgstr "Vzpostavljena je povezava z '%s'." #: ../js/ui/status/network.js:1808 -msgid "Connection estabilished" +msgid "Connection established" msgstr "Povezava je vzpostavljena" #: ../js/ui/status/network.js:1930 diff --git a/po/uk.po b/po/uk.po index 40d69aaeb..42fac71c8 100644 --- a/po/uk.po +++ b/po/uk.po @@ -930,7 +930,7 @@ msgid "You're now connected to '%s'" msgstr "Зараз ви з'єднані через «%s»" #: ../js/ui/status/network.js:1807 -msgid "Connection estabilished" +msgid "Connection established" msgstr "З'єднання встановлено" #: ../js/ui/status/network.js:1929 diff --git a/po/zh_CN.po b/po/zh_CN.po index edacda80e..d9b9b140e 100644 --- a/po/zh_CN.po +++ b/po/zh_CN.po @@ -923,7 +923,7 @@ msgid "You're now connected to '%s'" msgstr "您已连接至 %s" #: ../js/ui/status/network.js:1808 -msgid "Connection estabilished" +msgid "Connection established" msgstr "连接已建立" #: ../js/ui/status/network.js:1930 From 2ea12a76998ac574369fc53e5a615809304dc155 Mon Sep 17 00:00:00 2001 From: Gabor Kelemen Date: Sat, 19 Mar 2011 02:47:36 +0100 Subject: [PATCH 080/203] Updated Hungarian translation --- po/hu.po | 150 ++++++++++++++++++++++++++++--------------------------- 1 file changed, 76 insertions(+), 74 deletions(-) diff --git a/po/hu.po b/po/hu.po index 8542483be..d5c396b42 100644 --- a/po/hu.po +++ b/po/hu.po @@ -7,8 +7,8 @@ msgid "" msgstr "" "Project-Id-Version: gnome-shell master\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2011-03-16 19:01+0100\n" -"PO-Revision-Date: 2011-03-16 19:01+0100\n" +"POT-Creation-Date: 2011-03-19 02:47+0100\n" +"PO-Revision-Date: 2011-03-19 02:47+0100\n" "Last-Translator: Gabor Kelemen \n" "Language-Team: Hungarian \n" "Language: \n" @@ -173,21 +173,17 @@ msgstr "Statisztikák gyűjtése alkalmazások használatáról" msgid "disabled OpenSearch providers" msgstr "kikapcsolt OpenSearch szolgáltatók" -#: ../js/misc/util.js:86 +#: ../js/misc/util.js:71 msgid "Command not found" msgstr "A parancs nem található" #. Replace "Error invoking GLib.shell_parse_argv: " with #. something nicer -#: ../js/misc/util.js:113 +#: ../js/misc/util.js:98 msgid "Could not parse command:" msgstr "A parancs nem dolgozható fel:" -#: ../js/misc/util.js:135 -msgid "No such application" -msgstr "Nincs ilyen alkalmazás" - -#: ../js/misc/util.js:148 +#: ../js/misc/util.js:106 #, c-format msgid "Execution of '%s' failed:" msgstr "„%s” végrehajtása meghiúsult:" @@ -373,7 +369,7 @@ msgstr "Ezen a héten" msgid "Next week" msgstr "Jövő héten" -#: ../js/ui/dash.js:174 ../js/ui/messageTray.js:935 +#: ../js/ui/dash.js:174 ../js/ui/messageTray.js:933 msgid "Remove" msgstr "Eltávolítás" @@ -507,7 +503,7 @@ msgstr "A rendszer újraindítása." msgid "Confirm" msgstr "Megerősítés" -#: ../js/ui/endSessionDialog.js:400 ../js/ui/status/bluetooth.js:465 +#: ../js/ui/endSessionDialog.js:400 ../js/ui/status/bluetooth.js:466 msgid "Cancel" msgstr "Mégse" @@ -541,11 +537,11 @@ msgstr "Forrás megtekintése" msgid "Web Page" msgstr "Weblap" -#: ../js/ui/messageTray.js:928 +#: ../js/ui/messageTray.js:926 msgid "Open" msgstr "Megnyitás" -#: ../js/ui/messageTray.js:1988 +#: ../js/ui/messageTray.js:1986 msgid "System Information" msgstr "Rendszerinformációk" @@ -569,18 +565,18 @@ msgid "Dash" msgstr "Dash" #. TODO - _quit() doesn't really work on apps in state STARTING yet -#: ../js/ui/panel.js:514 +#: ../js/ui/panel.js:515 #, c-format msgid "Quit %s" msgstr "%s bezárása" #. Button on the left side of the panel. #. Translators: If there is no suitable word for "Activities" in your language, you can use the word for "Overview". -#: ../js/ui/panel.js:873 +#: ../js/ui/panel.js:874 msgid "Activities" msgstr "Tevékenységek" -#: ../js/ui/panel.js:974 +#: ../js/ui/panel.js:975 msgid "Panel" msgstr "Panel" @@ -692,17 +688,17 @@ msgstr "Egérbillentyűk" msgid "Universal Access Settings" msgstr "Akadálymentesítési beállítások" -#: ../js/ui/status/accessibility.js:145 +#: ../js/ui/status/accessibility.js:146 msgid "High Contrast" msgstr "Nagy kontraszt" -#: ../js/ui/status/accessibility.js:182 +#: ../js/ui/status/accessibility.js:183 msgid "Large Text" msgstr "Nagy szöveg" -#: ../js/ui/status/bluetooth.js:42 ../js/ui/status/bluetooth.js:236 -#: ../js/ui/status/bluetooth.js:332 ../js/ui/status/bluetooth.js:366 -#: ../js/ui/status/bluetooth.js:406 ../js/ui/status/bluetooth.js:439 +#: ../js/ui/status/bluetooth.js:42 ../js/ui/status/bluetooth.js:237 +#: ../js/ui/status/bluetooth.js:333 ../js/ui/status/bluetooth.js:367 +#: ../js/ui/status/bluetooth.js:407 ../js/ui/status/bluetooth.js:440 msgid "Bluetooth" msgstr "Bluetooth" @@ -722,94 +718,94 @@ msgstr "Új eszköz beállítása…" msgid "Bluetooth Settings" msgstr "Bluetooth-beállítások" -#: ../js/ui/status/bluetooth.js:187 +#: ../js/ui/status/bluetooth.js:188 msgid "Connection" msgstr "Kapcsolat" -#: ../js/ui/status/bluetooth.js:223 +#: ../js/ui/status/bluetooth.js:224 msgid "Send Files..." msgstr "Fájlok küldése…" -#: ../js/ui/status/bluetooth.js:228 +#: ../js/ui/status/bluetooth.js:229 msgid "Browse Files..." msgstr "Fájlok tallózása…" -#: ../js/ui/status/bluetooth.js:237 +#: ../js/ui/status/bluetooth.js:238 msgid "Error browsing device" msgstr "Hiba az eszköz tallózásakor" -#: ../js/ui/status/bluetooth.js:238 +#: ../js/ui/status/bluetooth.js:239 #, c-format msgid "The requested device cannot be browsed, error is '%s'" msgstr "A kért eszköz nem tallózható. A hiba: „%s”" -#: ../js/ui/status/bluetooth.js:246 +#: ../js/ui/status/bluetooth.js:247 msgid "Keyboard Settings" msgstr "Billentyűzetbeállítások" -#: ../js/ui/status/bluetooth.js:251 +#: ../js/ui/status/bluetooth.js:252 msgid "Mouse Settings" msgstr "Egérbeállítások" -#: ../js/ui/status/bluetooth.js:258 ../js/ui/status/volume.js:66 +#: ../js/ui/status/bluetooth.js:259 ../js/ui/status/volume.js:66 msgid "Sound Settings" msgstr "Hangbeállítások" -#: ../js/ui/status/bluetooth.js:367 +#: ../js/ui/status/bluetooth.js:368 #, c-format msgid "Authorization request from %s" msgstr "Felhatalmazási kérés a következőtől: %s" -#: ../js/ui/status/bluetooth.js:373 +#: ../js/ui/status/bluetooth.js:374 #, c-format msgid "Device %s wants access to the service '%s'" msgstr "A(z) %s eszköz szeretné használni a(z) „%s” szolgáltatást" -#: ../js/ui/status/bluetooth.js:375 +#: ../js/ui/status/bluetooth.js:376 msgid "Always grant access" msgstr "Hozzáférhet mindig" -#: ../js/ui/status/bluetooth.js:376 +#: ../js/ui/status/bluetooth.js:377 msgid "Grant this time only" msgstr "Csak most" -#: ../js/ui/status/bluetooth.js:377 +#: ../js/ui/status/bluetooth.js:378 msgid "Reject" msgstr "Visszautasítás" -#: ../js/ui/status/bluetooth.js:407 +#: ../js/ui/status/bluetooth.js:408 #, c-format msgid "Pairing confirmation for %s" msgstr "Párosítás megerősítése ehhez: %s" -#: ../js/ui/status/bluetooth.js:413 ../js/ui/status/bluetooth.js:447 +#: ../js/ui/status/bluetooth.js:414 ../js/ui/status/bluetooth.js:448 #, c-format msgid "Device %s wants to pair with this computer" msgstr "Az eszköz (%s) párosítást kér a számítógéppel" -#: ../js/ui/status/bluetooth.js:414 +#: ../js/ui/status/bluetooth.js:415 #, c-format msgid "Please confirm whether the PIN '%s' matches the one on the device." msgstr "Erősítse meg, hogy a(z) „%s” PIN megegyezik az eszközön lévővel." -#: ../js/ui/status/bluetooth.js:416 +#: ../js/ui/status/bluetooth.js:417 msgid "Matches" msgstr "Megegyezik" -#: ../js/ui/status/bluetooth.js:417 +#: ../js/ui/status/bluetooth.js:418 msgid "Does not match" msgstr "Nem egyezik" -#: ../js/ui/status/bluetooth.js:440 +#: ../js/ui/status/bluetooth.js:441 #, c-format msgid "Pairing request for %s" msgstr "Párosítási kérés ehhez: %s" -#: ../js/ui/status/bluetooth.js:448 +#: ../js/ui/status/bluetooth.js:449 msgid "Please enter the PIN mentioned on the device." msgstr "Adja meg az eszközön említett PIN-kódot." -#: ../js/ui/status/bluetooth.js:464 +#: ../js/ui/status/bluetooth.js:465 msgid "OK" msgstr "OK" @@ -914,40 +910,40 @@ msgstr "VPN kapcsolatok" msgid "Network Settings" msgstr "Hálózati beállítások" -#: ../js/ui/status/network.js:1782 +#: ../js/ui/status/network.js:1783 #, c-format msgid "You're now connected to mobile broadband connection '%s'" msgstr "Csatlakozott a(z) „%s” mobil széles sávú kapcsolathoz" -#: ../js/ui/status/network.js:1786 +#: ../js/ui/status/network.js:1787 #, c-format msgid "You're now connected to wireless network '%s'" msgstr "Csatlakozott a(z) „%s” vezeték nélküli hálózathoz" -#: ../js/ui/status/network.js:1790 +#: ../js/ui/status/network.js:1791 #, c-format msgid "You're now connected to wired network '%s'" msgstr "Csatlakozott a(z) „%s” vezetékes hálózathoz" -#: ../js/ui/status/network.js:1794 +#: ../js/ui/status/network.js:1795 #, c-format msgid "You're now connected to VPN network '%s'" msgstr "Csatlakozott a(z) „%s” VPN hálózathoz" -#: ../js/ui/status/network.js:1799 +#: ../js/ui/status/network.js:1800 #, c-format msgid "You're now connected to '%s'" msgstr "Csatlakozott ehhez: „%s”" -#: ../js/ui/status/network.js:1807 +#: ../js/ui/status/network.js:1808 msgid "Connection established" msgstr "Kapcsolat létrejött" -#: ../js/ui/status/network.js:1929 +#: ../js/ui/status/network.js:1930 msgid "Networking is disabled" msgstr "Hálózat letiltva" -#: ../js/ui/status/network.js:2054 +#: ../js/ui/status/network.js:2055 msgid "Network Manager" msgstr "Hálózatkezelő" @@ -957,11 +953,11 @@ msgstr "Energiabeállítások" #. 0 is reported when UPower does not have enough data #. to estimate battery life -#: ../js/ui/status/power.js:110 +#: ../js/ui/status/power.js:111 msgid "Estimating..." msgstr "Becslés…" -#: ../js/ui/status/power.js:117 +#: ../js/ui/status/power.js:118 #, c-format msgid "%d hour remaining" msgid_plural "%d hours remaining" @@ -969,75 +965,75 @@ msgstr[0] "%d óra van hátra" msgstr[1] "%d óra van hátra" #. TRANSLATORS: this is a time string, as in "%d hours %d minutes remaining" -#: ../js/ui/status/power.js:120 +#: ../js/ui/status/power.js:121 #, c-format msgid "%d %s %d %s remaining" msgstr "%d %s %d %s van hátra" -#: ../js/ui/status/power.js:122 +#: ../js/ui/status/power.js:123 msgid "hour" msgid_plural "hours" msgstr[0] "óra" msgstr[1] "óra" -#: ../js/ui/status/power.js:122 +#: ../js/ui/status/power.js:123 msgid "minute" msgid_plural "minutes" msgstr[0] "perc" msgstr[1] "perc" -#: ../js/ui/status/power.js:125 +#: ../js/ui/status/power.js:126 #, c-format msgid "%d minute remaining" msgid_plural "%d minutes remaining" msgstr[0] "%d perc van hátra" msgstr[1] "%d perc van hátra" -#: ../js/ui/status/power.js:227 +#: ../js/ui/status/power.js:228 msgid "AC adapter" msgstr "Hálózati csatlakozó" -#: ../js/ui/status/power.js:229 +#: ../js/ui/status/power.js:230 msgid "Laptop battery" msgstr "Noteszgép-akkumulátor" -#: ../js/ui/status/power.js:231 +#: ../js/ui/status/power.js:232 msgid "UPS" msgstr "Szünetmentes táp" -#: ../js/ui/status/power.js:233 +#: ../js/ui/status/power.js:234 msgid "Monitor" msgstr "Monitor" -#: ../js/ui/status/power.js:235 +#: ../js/ui/status/power.js:236 msgid "Mouse" msgstr "Egér" -#: ../js/ui/status/power.js:237 +#: ../js/ui/status/power.js:238 msgid "Keyboard" msgstr "Billentyűzet" -#: ../js/ui/status/power.js:239 +#: ../js/ui/status/power.js:240 msgid "PDA" msgstr "PDA" -#: ../js/ui/status/power.js:241 +#: ../js/ui/status/power.js:242 msgid "Cell phone" msgstr "Mobiltelefon" -#: ../js/ui/status/power.js:243 +#: ../js/ui/status/power.js:244 msgid "Media player" msgstr "Médialejátszó" -#: ../js/ui/status/power.js:245 +#: ../js/ui/status/power.js:246 msgid "Tablet" msgstr "Táblagép" -#: ../js/ui/status/power.js:247 +#: ../js/ui/status/power.js:248 msgid "Computer" msgstr "Számítógép" -#: ../js/ui/status/power.js:249 ../src/shell-app-system.c:1013 +#: ../js/ui/status/power.js:250 ../src/shell-app-system.c:961 msgid "Unknown" msgstr "Ismeretlen" @@ -1121,36 +1117,41 @@ msgstr[1] "%u bemenet" msgid "System Sounds" msgstr "Rendszerhangok" -#: ../src/main.c:395 +#: ../src/main.c:397 msgid "Print version" msgstr "Verzió kiírása" -#: ../src/shell-global.c:1308 +#: ../src/shell-app.c:454 +#, c-format +msgid "Failed to launch '%s'" +msgstr "„%s” indítása meghiúsult" + +#: ../src/shell-global.c:1340 msgid "Less than a minute ago" msgstr "Kevesebb, mint egy perce" -#: ../src/shell-global.c:1312 +#: ../src/shell-global.c:1344 #, c-format msgid "%d minute ago" msgid_plural "%d minutes ago" msgstr[0] "%d perce" msgstr[1] "%d perce" -#: ../src/shell-global.c:1317 +#: ../src/shell-global.c:1349 #, c-format msgid "%d hour ago" msgid_plural "%d hours ago" msgstr[0] "%d órája" msgstr[1] "%d órája" -#: ../src/shell-global.c:1322 +#: ../src/shell-global.c:1354 #, c-format msgid "%d day ago" msgid_plural "%d days ago" msgstr[0] "%d napja" msgstr[1] "%d napja" -#: ../src/shell-global.c:1327 +#: ../src/shell-global.c:1359 #, c-format msgid "%d week ago" msgid_plural "%d weeks ago" @@ -1188,3 +1189,4 @@ msgstr "Fájlrendszer" #, c-format msgid "%1$s: %2$s" msgstr "%1$s: %2$s" + From 06ea78af1bf9e9c4b9d7c99f7909dd16ac4905ea Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Florian=20M=C3=BCllner?= Date: Thu, 10 Mar 2011 13:14:48 +0100 Subject: [PATCH 081/203] view-selector: Don't fade in the initially selected tab The fade effect when switching tabs should only be applied when switching from a previously selected tab, not when selecting the initial one - otherwise, the window previews are faded in the first time the overview is shown. https://bugzilla.gnome.org/show_bug.cgi?id=644389 --- js/ui/viewSelector.js | 15 +++++++++++---- 1 file changed, 11 insertions(+), 4 deletions(-) diff --git a/js/ui/viewSelector.js b/js/ui/viewSelector.js index 6cb05961b..35e7aae8b 100644 --- a/js/ui/viewSelector.js +++ b/js/ui/viewSelector.js @@ -41,11 +41,14 @@ BaseTab.prototype = { this.visible = false; }, - show: function() { + show: function(animate) { this.visible = true; - this.page.opacity = 0; this.page.show(); + if (!animate) + return; + + this.page.opacity = 0; Tweener.addTween(this.page, { opacity: 255, time: 0.1, @@ -393,6 +396,8 @@ ViewSelector.prototype = { }, _switchTab: function(tab) { + let firstSwitch = this._activeTab == null; + if (this._activeTab && this._activeTab.visible) { if (this._activeTab == tab) return; @@ -408,11 +413,13 @@ ViewSelector.prototype = { } } + // Only fade when switching between tabs, + // not when setting the initially selected one. if (!tab.visible) - tab.show(); + tab.show(!firstSwitch); // Pull a Meg Ryan: - if (Main.overview && Main.overview.workspaces) { + if (!firstSwitch && Main.overview.workspaces) { if (tab != this._tabs[0]) { Tweener.addTween(Main.overview.workspaces.actor, { opacity: 0, From 6ae914da2f8f22fe1eae8e83958f4b46b93d0157 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Florian=20M=C3=BCllner?= Date: Wed, 9 Mar 2011 16:40:48 +0100 Subject: [PATCH 082/203] overview: Handle drag-cancelled signal for items Allow handling the drag-cancelled signal for non-window items, just like the handling for windows instroduced in commit a80e88e33. https://bugzilla.gnome.org/show_bug.cgi?id=644324 --- js/ui/appDisplay.js | 4 ++++ js/ui/overview.js | 4 ++++ js/ui/searchDisplay.js | 4 ++++ 3 files changed, 12 insertions(+) diff --git a/js/ui/appDisplay.js b/js/ui/appDisplay.js index ffd49fa07..5017446cc 100644 --- a/js/ui/appDisplay.js +++ b/js/ui/appDisplay.js @@ -412,6 +412,10 @@ AppWellIcon.prototype = { this._removeMenuTimeout(); Main.overview.beginItemDrag(this); })); + this._draggable.connect('drag-cancelled', Lang.bind(this, + function () { + Main.overview.cancelledItemDrag(this); + })); this._draggable.connect('drag-end', Lang.bind(this, function () { Main.overview.endItemDrag(this); diff --git a/js/ui/overview.js b/js/ui/overview.js index 3bb478923..34ebec541 100644 --- a/js/ui/overview.js +++ b/js/ui/overview.js @@ -474,6 +474,10 @@ Overview.prototype = { this.emit('item-drag-begin'); }, + cancelledItemDrag: function(source) { + this.emit('item-drag-cancelled'); + }, + endItemDrag: function(source) { this.emit('item-drag-end'); }, diff --git a/js/ui/searchDisplay.js b/js/ui/searchDisplay.js index 0527d8f83..81fd89b19 100644 --- a/js/ui/searchDisplay.js +++ b/js/ui/searchDisplay.js @@ -49,6 +49,10 @@ SearchResult.prototype = { Lang.bind(this, function() { Main.overview.beginItemDrag(this); })); + draggable.connect('drag-cancelled', + Lang.bind(this, function() { + Main.overview.cancelledItemDrag(this); + })); draggable.connect('drag-end', Lang.bind(this, function() { Main.overview.endItemDrag(this); From 7f35b2dc43d11aa68f025eee69c68cf8ac758159 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Florian=20M=C3=BCllner?= Date: Wed, 9 Mar 2011 16:53:26 +0100 Subject: [PATCH 083/203] workspaces-view: Zoom out early on canceled item drags Start the zoom at the same time as the snapback animation, as it's already done for window snapbacks. https://bugzilla.gnome.org/show_bug.cgi?id=644324 --- js/ui/workspacesView.js | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/js/ui/workspacesView.js b/js/ui/workspacesView.js index 774ea594e..d2a8851f7 100644 --- a/js/ui/workspacesView.js +++ b/js/ui/workspacesView.js @@ -597,6 +597,7 @@ WorkspacesDisplay.prototype = { this._switchWorkspaceNotifyId = 0; this._itemDragBeginId = 0; + this._itemDragCancelledId = 0; this._itemDragEndId = 0; this._windowDragBeginId = 0; this._windowDragCancelledId = 0; @@ -629,6 +630,9 @@ WorkspacesDisplay.prototype = { if (this._itemDragBeginId == 0) this._itemDragBeginId = Main.overview.connect('item-drag-begin', Lang.bind(this, this._dragBegin)); + if (this._itemDragCancelledId == 0) + this._itemDragCancelledId = Main.overview.connect('item-drag-cancelled', + Lang.bind(this, this._dragCancelled)); if (this._itemDragEndId == 0) this._itemDragEndId = Main.overview.connect('item-drag-end', Lang.bind(this, this._dragEnd)); @@ -664,7 +668,11 @@ WorkspacesDisplay.prototype = { Main.overview.disconnect(this._itemDragBeginId); this._itemDragBeginId = 0; } - if (this._itemEndBeginId > 0) { + if (this._itemDragCancelledId > 0) { + Main.overview.disconnect(this._itemDragCancelledId); + this._itemDragCancelledId = 0; + } + if (this._itemDragEndId > 0) { Main.overview.disconnect(this._itemDragEndId); this._itemDragEndId = 0; } From 2c48efa3fd00c5ca203aefc29b099c8affc4441d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Florian=20M=C3=BCllner?= Date: Wed, 9 Mar 2011 16:56:08 +0100 Subject: [PATCH 084/203] dash: Handle cancelled drags If a drag was cancelled, do animations like size changes or zooming out the remove target in parallel with the snapback animation. https://bugzilla.gnome.org/show_bug.cgi?id=644324 --- js/ui/dash.js | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/js/ui/dash.js b/js/ui/dash.js index 6a39edc48..ed22feab6 100644 --- a/js/ui/dash.js +++ b/js/ui/dash.js @@ -283,20 +283,37 @@ Dash.prototype = { Lang.bind(this, this._onDragBegin)); Main.overview.connect('item-drag-end', Lang.bind(this, this._onDragEnd)); + Main.overview.connect('item-drag-cancelled', + Lang.bind(this, this._onDragCancelled)); Main.overview.connect('window-drag-begin', Lang.bind(this, this._onDragBegin)); + Main.overview.connect('window-drag-cancelled', + Lang.bind(this, this._onDragCancelled)); Main.overview.connect('window-drag-end', Lang.bind(this, this._onDragEnd)); }, _onDragBegin: function() { + this._dragCancelled = false; this._dragMonitor = { dragMotion: Lang.bind(this, this._onDragMotion) }; DND.addDragMonitor(this._dragMonitor); }, + _onDragCancelled: function() { + this._dragCancelled = true; + this._endDrag(); + }, + _onDragEnd: function() { + if (this._dragCancelled) + return; + + this._endDrag(); + }, + + _endDrag: function() { this._clearDragPlaceholder(); if (this._favRemoveTarget) { this._favRemoveTarget.actor.hide(); From de671103cac93d4f3cf91311334824f782c69466 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Miroslav=20Nikoli=C4=87?= Date: Sat, 19 Mar 2011 12:37:28 +0100 Subject: [PATCH 085/203] Updated Serbian translation --- po/sr.po | 1320 +++++++++++++++++++++++++++++++++++++----------- po/sr@latin.po | 1320 +++++++++++++++++++++++++++++++++++++----------- 2 files changed, 2034 insertions(+), 606 deletions(-) diff --git a/po/sr.po b/po/sr.po index 80d7bf3b1..6862f4b08 100644 --- a/po/sr.po +++ b/po/sr.po @@ -1,20 +1,22 @@ # Serbian translation for gnome-shell. # Copyright (C) 2010 gnome-shell's COPYRIGHT HOLDER # This file is distributed under the same license as the gnome-shell package. -# Милош Поповић , 2010. +# Мирослав Николић , 2011. +# Милош Поповић , 2010, 2011. # msgid "" msgstr "" "Project-Id-Version: gnome-shell master\n" "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug.cgi?product=gnome-" -"shell&component=general\n" -"POT-Creation-Date: 2010-07-22 13:07+0000\n" -"PO-Revision-Date: 2010-08-23 23:03+0200\n" +"shell&keywords=I18N+L10N&component=general\n" +"POT-Creation-Date: 2011-03-19 10:16+0000\n" +"PO-Revision-Date: 2011-03-19 12:37+0100\n" "Last-Translator: Милош Поповић \n" "Language-Team: Serbian \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" +"Language: Serbian(sr)\n" "Plural-Forms: nplurals=4; plural=n==1? 3 : n%10==1 && n%100!=11 ? 0 : n" "%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n" @@ -26,85 +28,60 @@ msgstr "Гномова шкољка" msgid "Window management and application launching" msgstr "Управник прозорима и покретач програма" -#: ../data/gnome-shell-clock-preferences.desktop.in.in.h:1 -msgid "Clock" -msgstr "Сат" - -#: ../data/gnome-shell-clock-preferences.desktop.in.in.h:2 -msgid "Customize the panel clock" -msgstr "Подешава сат на панелу" - #: ../data/org.gnome.shell.gschema.xml.in.h:1 msgid "" "Allows access to internal debugging and monitoring tools using the Alt-F2 " "dialog." msgstr "" -"Дозвољава приступ систему за тражење грешака у алатима за праћење у Alt-F2 " -"прозорчету." +"Дозвољава приступ унутрашњем отклањању грешака и алатима за праћење " +"коришћењем „Alt-F2“ прозорчета." #: ../data/org.gnome.shell.gschema.xml.in.h:2 -msgid "Custom format of the clock" -msgstr "Произвољан формат часовника" +msgid "Enable internal tools useful for developers and testers from Alt-F2" +msgstr "Укључује алате корисне програмерима и тестерима из „Alt-F2“ прозорчета" #: ../data/org.gnome.shell.gschema.xml.in.h:3 -msgid "Enable internal tools useful for developers and testers from Alt-F2" -msgstr "Укључује алате корисне програмерима у Alt-F2 прозорчету" - -#: ../data/org.gnome.shell.gschema.xml.in.h:4 msgid "File extension used for storing the screencast" msgstr "Екстензија датотеке за чување видео снимака екрана" -#: ../data/org.gnome.shell.gschema.xml.in.h:5 +#: ../data/org.gnome.shell.gschema.xml.in.h:4 msgid "Framerate used for recording screencasts." msgstr "Учестаност кадрова за видео снимак екрана." -#: ../data/org.gnome.shell.gschema.xml.in.h:6 +#: ../data/org.gnome.shell.gschema.xml.in.h:5 msgid "" "GNOME Shell extensions have a uuid property; this key lists extensions which " "should not be loaded." msgstr "" -"Проширења Гномове шкољке имају uuid вредност; овај кључ исписује проширења " -"која треба учитати." +"Проширења Гномове шкољке имају „uuid“ вредност; овај кључ исписује проширења " +"која не треба учитавати." + +#: ../data/org.gnome.shell.gschema.xml.in.h:6 +msgid "History for command (Alt-F2) dialog" +msgstr "Историјат прозорчета наредби (Alt-F2)" #: ../data/org.gnome.shell.gschema.xml.in.h:7 -msgid "History for command (Alt-F2) dialog" -msgstr "Историјат наредби Alt-F2 прозорчета" +msgid "History for the looking glass dialog" +msgstr "Историјат прозорчета огледала" #: ../data/org.gnome.shell.gschema.xml.in.h:8 -msgid "Hour format" -msgstr "Формат часовника" +msgid "If true, display date in the clock, in addition to time." +msgstr "Ако је изабрано, приказује датум у часовнику, као додатак времену." #: ../data/org.gnome.shell.gschema.xml.in.h:9 -msgid "" -"If true and format is either \"12-hour\" or \"24-hour\", display date in the " -"clock, in addition to time." -msgstr "" -"Приказује датум поред часовник, уколико је постављено на „true“ (тачно) и " -"ако је формат постављен на „12-hour“ (12 часа) или „24-hour“ (24 часа)." +msgid "If true, display seconds in time." +msgstr "Ако је изабрано, приказује секунде у времену." #: ../data/org.gnome.shell.gschema.xml.in.h:10 -msgid "" -"If true and format is either \"12-hour\" or \"24-hour\", display seconds in " -"time." -msgstr "" -"Приказује секунде у часовнику, уколико је постављено на „true“ (тачно) и " -"формат постављен на „12-hour“ (12 часа) или „24-hour“ (24 часа)." +msgid "If true, display the ISO week date in the calendar." +msgstr "Ако је изабрано, приказује ИСО дан у недељи у календару." #: ../data/org.gnome.shell.gschema.xml.in.h:11 -msgid "If true, display the ISO week date in the calendar." -msgstr "" -"Уколико је постављено на „true“ (tačno), приказује ИСО дан у недељи унутар " -"календара." - -#: ../data/org.gnome.shell.gschema.xml.in.h:12 msgid "List of desktop file IDs for favorite applications" msgstr "Списак ИБ датотека радне површине са омиљеним програмима" #: ../data/org.gnome.shell.gschema.xml.in.h:13 -msgid "Overview workspace view mode" -msgstr "Начин за преглед радних површина" - -#: ../data/org.gnome.shell.gschema.xml.in.h:14 +#, no-c-format msgid "" "Sets the GStreamer pipeline used to encode recordings. It follows the syntax " "used for gst-launch. The pipeline should have an unconnected sink pad where " @@ -113,48 +90,53 @@ msgid "" "pipeline can also take care of its own output - this might be used to send " "the output to an icecast server via shout2send or similar. When unset or set " "to an empty value, the default pipeline will be used. This is currently " -"'videorate ! theoraenc ! oggmux' and records to Ogg Theora." +"'videorate ! vp8enc quality=10 speed=2 threads=%T ! queue ! webmmux' and " +"records to WEBM using the VP8 codec. %T is used as a placeholder for a guess " +"at the optimal thread count on the system." msgstr "" -"Поставља ГСтримеров цевовод за прекодирање снимака. Он дозвољава синтаксу из " -"програма gst-launch. Цевовод мора да буде без повезаног довода за чување " -"снимљеног видеа. Извор ће обично бити неповезан; излаз ће бити у излазну " -"датотеку. Ипак цевовод може да ради са сопственим излазом — ово можете да " -"употребите за слање излаза у ајскаст сервер преко shout2send или сличне " -"наредбе. Када ова опција није постављена биће употребљен подразумевани " -"цевовод, који подразумева „videorate ! theoraenc ! oggmux“ и чува датотеке у " -"Огг Теора формат." +"Поставља процесни ланац ГСтримера коришћеног за прекодирање снимака. Прати " +"синтаксу коришћену за покретање гстримера (gst-launch). Процесни ланац мора " +"да има један неповезани падиљон синхронизације за чување снимљеног видеа. " +"Нормално ће имати неповезан падиљон извора; излаз са овог падиљона ће бити " +"записиван у излазну датотеку. Ипак процесни ланац може да ради са сопственим " +"излазом — ово може бити коришћено за слање излаза на ајскаст сервер преко d" +"„shout2sen“ или сличне наредбе. Када ова опција није постављена или је " +"постављена на неку празну вредност, биће коришћен подразумевани процесни " +"ланац. А то је тренутно „videorate ! vp8enc quality=10 speed=2 threads=%T ! " +"queue ! webmmux“ и записује у „WEBM“ користећи ВП8 кодек. „%T“ се користи " +"као носилац за откривање при оптималном прорачуну нити на систему." + +#: ../data/org.gnome.shell.gschema.xml.in.h:14 +msgid "Show date in clock" +msgstr "Приказује датум у панелу" #: ../data/org.gnome.shell.gschema.xml.in.h:15 -msgid "Show date in clock" -msgstr "Прикажи датум у панелу" +msgid "Show the week date in the calendar" +msgstr "Приказује дан у недељи у календару" #: ../data/org.gnome.shell.gschema.xml.in.h:16 -msgid "Show the week date in the calendar" -msgstr "Прикажи дан у недељи у календару" +msgid "Show time with seconds" +msgstr "Приказује време и секунде" #: ../data/org.gnome.shell.gschema.xml.in.h:17 -msgid "Show time with seconds" -msgstr "Прикажи време и секунде" - -#: ../data/org.gnome.shell.gschema.xml.in.h:18 msgid "" "The applications corresponding to these identifiers will be displayed in the " "favorites area." msgstr "" -"Програм коме одговарају ове одреднице се приказује унутар области са " -"омиљеним програмима." +"Програми који одговарају овим одредницама се приказују унутар области " +"омиљених програмима." -#: ../data/org.gnome.shell.gschema.xml.in.h:19 +#: ../data/org.gnome.shell.gschema.xml.in.h:18 msgid "" "The filename for recorded screencasts will be a unique filename based on the " "current date, and use this extension. It should be changed when recording to " "a different container format." msgstr "" -"Име датотеке за сачувани видео снимак екрана ће бити јединствено јер садржи " -"датум и чува датотеке у овај формат. Треба га променити при снимању у други " -"формат." +"Име датотеке за снимљени видео снимак екрана ће бити јединствено засновано " +"на текућем датуму, и користи ову екстензију. Треба га променити приликом " +"снимања у други формат." -#: ../data/org.gnome.shell.gschema.xml.in.h:20 +#: ../data/org.gnome.shell.gschema.xml.in.h:19 msgid "" "The framerate of the resulting screencast recordered by GNOME Shell's " "screencast recorder in frames-per-second." @@ -162,19 +144,11 @@ msgstr "" "Учестаност кадрова снимка снимљених помоћу Гномове шкољке у кадровима по " "секунди." -#: ../data/org.gnome.shell.gschema.xml.in.h:21 +#: ../data/org.gnome.shell.gschema.xml.in.h:20 msgid "The gstreamer pipeline used to encode the screencast" -msgstr "Гстримеров цевовод за кодирање видео снимка екрана" +msgstr "Процесни ланац Гстримера коришћен за кодирање видео снимка екрана" -#: ../data/org.gnome.shell.gschema.xml.in.h:22 -msgid "" -"The selected workspace view mode in the overview. Supported values are " -"\"single\" and \"grid\"." -msgstr "" -"Изабрани начин прегледа радних површина. Подржане вредности су " -"„single“ (појединачно) и „grid“ (у мрежи)." - -#: ../data/org.gnome.shell.gschema.xml.in.h:23 +#: ../data/org.gnome.shell.gschema.xml.in.h:21 msgid "" "The shell normally monitors active applications in order to present the most " "used ones (e.g. in launchers). While this data will be kept private, you may " @@ -182,391 +156,1131 @@ msgid "" "remove already saved data." msgstr "" "Шкољка прати покренуте програме како би открила оне који се највише користе. " -"Иако су подаци тајни, можда желите да искључите ови опцију због веће " -"приватности. На тај начин нећете обрисати већ прикупљене податке." +"Иако ће подаци бити држани у тајности, можда ћете пожелети да искључите ову " +"опцију због заштите ваше приватности. На тај начин нећете обрисати већ " +"сачуване податке." + +#: ../data/org.gnome.shell.gschema.xml.in.h:22 +msgid "Uuids of extensions to disable" +msgstr "„uuid“ проширења за искључивање" + +#: ../data/org.gnome.shell.gschema.xml.in.h:23 +msgid "Whether to collect stats about applications usage" +msgstr "Да ли ће бити прикупљани подаци о покретаним програмима" #: ../data/org.gnome.shell.gschema.xml.in.h:24 -msgid "" -"This key specifies the format used by the panel clock when the format key is " -"set to \"custom\". You can use conversion specifiers understood by strftime" -"() to obtain a specific format. See the strftime() manual for more " -"information." -msgstr "" -"Овај кључ одређује формат времена у панелу, када је „format“ (format) " -"постављен на „custom“ (произвољно). Можете искористити формат подржан унутар " -"функције strftime(). Погледајте упутство за strftime()." +msgid "disabled OpenSearch providers" +msgstr "искључени „OpenSearch“ провајдери" -#: ../data/org.gnome.shell.gschema.xml.in.h:25 -msgid "" -"This key specifies the hour format used by the panel clock. Possible values " -"are \"12-hour\", \"24-hour\", \"unix\" and \"custom\". If set to \"unix\", " -"the clock will display time in seconds since Epoch, i.e. 1970-01-01. If set " -"to \"custom\", the clock will display time according to the format specified " -"in the custom_format key. Note that if set to either \"unix\" or \"custom\", " -"the show_date and show_seconds keys are ignored." -msgstr "" -"Овај кључ одређује формат часовника у панелу. Дозвољене вредности су „12-" -"hour“ (12 часаова), „24-hour“ (24 часа), „unix“ (Јуникс) и " -"„custom“ (произвољно). Уколико га поставите на „unix“ сат ће приказивати " -"време на основу епохе, нпр. 1970-01-01. Уколико га поставите на „custom“ сат " -"ће приказивати време на основу кључа „custom_format“ (произвољни формат). " -"Уколико поставите на кључ на „unix“ или „custom“ занемарују се кључеви " -"„show_date“ (прикажи датум) и „show_seconds“ (прикажи секунде)." +#: ../js/misc/util.js:71 +msgid "Command not found" +msgstr "Команда није нађена" -#: ../data/org.gnome.shell.gschema.xml.in.h:26 -#| msgid "No extensions installed" -msgid "Uuids of extensions to disable" -msgstr "Занемарена uuid проширења" +#. Replace "Error invoking GLib.shell_parse_argv: " with +#. something nicer +#: ../js/misc/util.js:98 +msgid "Could not parse command:" +msgstr "Не могу да рашчланим команду:" -#: ../data/org.gnome.shell.gschema.xml.in.h:27 -msgid "Whether to collect stats about applications usage" -msgstr "Да ли да прикупљам податке о покретаним програмима" +#: ../js/misc/util.js:106 +#, c-format +msgid "Execution of '%s' failed:" +msgstr "Није успело покретање „%s“:" -#: ../data/clock-preferences.ui.h:1 -msgid "Clock Format" -msgstr "Формат часовника" +#. Translators: Filter to display all applications +#: ../js/ui/appDisplay.js:226 +msgid "All" +msgstr "Све" -#: ../data/clock-preferences.ui.h:2 -#| msgid "System Preferences..." -msgid "Clock Preferences" -msgstr "Поставке часовника" - -#: ../data/clock-preferences.ui.h:3 -msgid "Panel Display" -msgstr "Приказ на панелу" - -#: ../data/clock-preferences.ui.h:4 -msgid "Show seco_nds" -msgstr "Прикажи _секунде" - -#: ../data/clock-preferences.ui.h:5 -msgid "Show the _date" -msgstr "Прикажи _датум" - -#: ../data/clock-preferences.ui.h:6 -msgid "_12 hour format" -msgstr "_12 часова" - -#: ../data/clock-preferences.ui.h:7 -msgid "_24 hour format" -msgstr "_24 часа" - -#. **** Applications **** -#: ../js/ui/appDisplay.js:384 ../js/ui/dash.js:773 +#: ../js/ui/appDisplay.js:324 msgid "APPLICATIONS" msgstr "ПРОГРАМИ" -#: ../js/ui/appDisplay.js:416 -msgid "PREFERENCES" -msgstr "ПОСТАВКЕ" +#: ../js/ui/appDisplay.js:350 +msgid "SETTINGS" +msgstr "ПОДЕШАВАЊА" -#: ../js/ui/appDisplay.js:721 +#: ../js/ui/appDisplay.js:616 msgid "New Window" msgstr "Нови прозор" -#: ../js/ui/appDisplay.js:725 +#: ../js/ui/appDisplay.js:619 msgid "Remove from Favorites" msgstr "Уклони из омиљених" -#: ../js/ui/appDisplay.js:726 +#: ../js/ui/appDisplay.js:620 msgid "Add to Favorites" msgstr "Додај у омиљене" -#: ../js/ui/appDisplay.js:1033 -msgid "Drag here to add favorites" -msgstr "Превуците овде како би додали у омиљене" - -#: ../js/ui/appFavorites.js:88 +#: ../js/ui/appFavorites.js:91 #, c-format msgid "%s has been added to your favorites." -msgstr "%s је додат међу омиљене" +msgstr "„%s“ је додат међу омиљене." -#: ../js/ui/appFavorites.js:107 +#: ../js/ui/appFavorites.js:122 #, c-format msgid "%s has been removed from your favorites." -msgstr "%s је уклоњен из омиљених" +msgstr "„%s“ је уклоњен из омиљених." -#: ../js/ui/dash.js:142 -msgid "Find" -msgstr "Нађи" +#. Translators: Shown in calendar event list for all day events +#. * Keep it short, best if you can use less then 10 characters +#. +#: ../js/ui/calendar.js:66 +msgctxt "event list time" +msgid "All Day" +msgstr "Цео дан" -#: ../js/ui/dash.js:471 -msgid "Searching..." -msgstr "Тражим..." +#. Translators: Shown in calendar event list, if 24h format +#: ../js/ui/calendar.js:71 +msgctxt "event list time" +msgid "%H:%M" +msgstr "%H:%M" -#: ../js/ui/dash.js:485 -msgid "No matching results." -msgstr "Ништа није пронађено." +#. Transators: Shown in calendar event list, if 12h format +#: ../js/ui/calendar.js:78 +msgctxt "event list time" +msgid "%l:%M %p" +msgstr "%l:%M %p" -#. **** Places **** -#. Translators: This is in the sense of locations for documents, -#. network locations, etc. -#: ../js/ui/dash.js:792 ../js/ui/placeDisplay.js:550 -msgid "PLACES & DEVICES" -msgstr "МЕСТА И УРЕЂАЈИ" +#. Translators: Calendar grid abbreviation for Sunday. +#. * +#. * NOTE: These grid abbreviations are always shown together +#. * and in order, e.g. "S M T W T F S". +#. +#: ../js/ui/calendar.js:118 +msgctxt "grid sunday" +msgid "S" +msgstr "Н" -#. **** Documents **** -#: ../js/ui/dash.js:799 ../js/ui/docDisplay.js:494 -msgid "RECENT ITEMS" -msgstr "СКОРАШЊЕ СТАВКЕ" +#. Translators: Calendar grid abbreviation for Monday +#: ../js/ui/calendar.js:120 +msgctxt "grid monday" +msgid "M" +msgstr "П" -#: ../js/ui/lookingGlass.js:471 -msgid "No extensions installed" -msgstr "Нису инсталирана проширења" +#. Translators: Calendar grid abbreviation for Tuesday +#: ../js/ui/calendar.js:122 +msgctxt "grid tuesday" +msgid "T" +msgstr "У" -#: ../js/ui/lookingGlass.js:508 -msgid "Enabled" -msgstr "Омогућено" +#. Translators: Calendar grid abbreviation for Wednesday +#: ../js/ui/calendar.js:124 +msgctxt "grid wednesday" +msgid "W" +msgstr "С" -#: ../js/ui/lookingGlass.js:510 -msgid "Disabled" -msgstr "Онемогућено" +#. Translators: Calendar grid abbreviation for Thursday +#: ../js/ui/calendar.js:126 +msgctxt "grid thursday" +msgid "T" +msgstr "Ч" -#: ../js/ui/lookingGlass.js:512 -msgid "Error" -msgstr "Грешка" +#. Translators: Calendar grid abbreviation for Friday +#: ../js/ui/calendar.js:128 +msgctxt "grid friday" +msgid "F" +msgstr "П" -#: ../js/ui/lookingGlass.js:514 -msgid "Out of date" -msgstr "Истекао је датум" +#. Translators: Calendar grid abbreviation for Saturday +#: ../js/ui/calendar.js:130 +msgctxt "grid saturday" +msgid "S" +msgstr "С" -#: ../js/ui/lookingGlass.js:539 -msgid "View Source" -msgstr "Погледај извор" +#. Translators: Event list abbreviation for Sunday. +#. * +#. * NOTE: These list abbreviations are normally not shown together +#. * so they need to be unique (e.g. Tuesday and Thursday cannot +#. * both be 'T'). +#. +#: ../js/ui/calendar.js:143 +msgctxt "list sunday" +msgid "Su" +msgstr "Нед" -#: ../js/ui/lookingGlass.js:545 -msgid "Web Page" -msgstr "Интернет страница" +#. Translators: Event list abbreviation for Monday +#: ../js/ui/calendar.js:145 +msgctxt "list monday" +msgid "M" +msgstr "Пон" -#: ../js/ui/overview.js:159 -msgid "Undo" -msgstr "Опозови" +#. Translators: Event list abbreviation for Tuesday +#: ../js/ui/calendar.js:147 +msgctxt "list tuesday" +msgid "T" +msgstr "Уто" -#. TODO - _quit() doesn't really work on apps in state STARTING yet -#: ../js/ui/panel.js:473 -#, c-format -msgid "Quit %s" -msgstr "Изађи из %s" +#. Translators: Event list abbreviation for Wednesday +#: ../js/ui/calendar.js:149 +msgctxt "list wednesday" +msgid "W" +msgstr "Сре" -#: ../js/ui/panel.js:498 -#| msgid "System Preferences..." -msgid "Preferences" -msgstr "Поставке" +#. Translators: Event list abbreviation for Thursday +#: ../js/ui/calendar.js:151 +msgctxt "list thursday" +msgid "Th" +msgstr "Чет" + +#. Translators: Event list abbreviation for Friday +#: ../js/ui/calendar.js:153 +msgctxt "list friday" +msgid "F" +msgstr "Пет" + +#. Translators: Event list abbreviation for Saturday +#: ../js/ui/calendar.js:155 +msgctxt "list saturday" +msgid "S" +msgstr "Суб" + +#. Translators: Text to show if there are no events +#: ../js/ui/calendar.js:704 +msgid "Nothing Scheduled" +msgstr "Ништа планирано" + +#. Translators: Shown on calendar heading when selected day occurs on current year +#: ../js/ui/calendar.js:720 +msgctxt "calendar heading" +msgid "%A, %B %d" +msgstr "%A, %B %d" + +#. Translators: Shown on calendar heading when selected day occurs on different year +#: ../js/ui/calendar.js:723 +msgctxt "calendar heading" +msgid "%A, %B %d, %Y" +msgstr "%A, %B %d, %Y" + +#: ../js/ui/calendar.js:733 +msgid "Today" +msgstr "Данас" + +#: ../js/ui/calendar.js:737 +msgid "Tomorrow" +msgstr "Сутра" + +#: ../js/ui/calendar.js:746 +msgid "This week" +msgstr "Ове недеље" + +#: ../js/ui/calendar.js:754 +msgid "Next week" +msgstr "Следеће недеље" + +#: ../js/ui/dash.js:174 ../js/ui/messageTray.js:933 +msgid "Remove" +msgstr "Уклони" + +#: ../js/ui/dateMenu.js:91 +msgid "Date and Time Settings" +msgstr "Подешавања датума и времена" + +#: ../js/ui/dateMenu.js:111 +msgid "Open Calendar" +msgstr "Отвори календар" #. Translators: This is the time format with date used #. in 24-hour mode. -#: ../js/ui/panel.js:584 +#: ../js/ui/dateMenu.js:164 msgid "%a %b %e, %R:%S" msgstr "%A, %e. %b, %R:%S" -#: ../js/ui/panel.js:585 -#| msgid "%a %l:%M %p" +#: ../js/ui/dateMenu.js:165 msgid "%a %b %e, %R" msgstr "%A, %e. %b, %R" #. Translators: This is the time format without date used #. in 24-hour mode. -#: ../js/ui/panel.js:589 -#| msgid "%a %R" +#: ../js/ui/dateMenu.js:169 msgid "%a %R:%S" msgstr "%A, %R:%S" -#: ../js/ui/panel.js:590 +#: ../js/ui/dateMenu.js:170 msgid "%a %R" msgstr "%A, %R" #. Translators: This is a time format with date used #. for AM/PM. -#: ../js/ui/panel.js:597 -#| msgid "%a %l:%M %p" +#: ../js/ui/dateMenu.js:177 msgid "%a %b %e, %l:%M:%S %p" msgstr "%A, %e. %b, %l:%M:S" -#: ../js/ui/panel.js:598 -#| msgid "%a %l:%M %p" +#: ../js/ui/dateMenu.js:178 msgid "%a %b %e, %l:%M %p" msgstr "%A, %e. %b, %l:%M" #. Translators: This is a time format without date used #. for AM/PM. -#: ../js/ui/panel.js:602 -#| msgid "%a %l:%M %p" +#: ../js/ui/dateMenu.js:182 msgid "%a %l:%M:%S %p" msgstr "%A, %l:%M:%S" -#: ../js/ui/panel.js:603 +#: ../js/ui/dateMenu.js:183 msgid "%a %l:%M %p" msgstr "%A, %l:%M" +#. Translators: This is the date format to use when the calendar popup is +#. * shown - it is shown just below the time in the shell (e.g. "Tue 9:29 AM"). +#. +#: ../js/ui/dateMenu.js:194 +msgid "%A %B %e, %Y" +msgstr "%A, %e. %b, %R" + +#: ../js/ui/docDisplay.js:19 +msgid "RECENT ITEMS" +msgstr "СКОРАШЊЕ СТАВКЕ" + +#: ../js/ui/endSessionDialog.js:63 +#, c-format +msgid "Log Out %s" +msgstr "Одјави „%s“" + +#: ../js/ui/endSessionDialog.js:64 ../js/ui/endSessionDialog.js:69 +msgid "Log Out" +msgstr "Одјави" + +#: ../js/ui/endSessionDialog.js:65 +msgid "Click Log Out to quit these applications and log out of the system." +msgstr "" +"Кликните на „Одјави“ да напустите ове програме и да се одјавите са система." + +#: ../js/ui/endSessionDialog.js:66 +#, c-format +msgid "%s will be logged out automatically in %d seconds." +msgstr "„%s“ ће бити оадјављен аутоматски за %d сек." + +#: ../js/ui/endSessionDialog.js:67 +#, c-format +msgid "You will be logged out automatically in %d seconds." +msgstr "Бићете аутоматски одјављени за %d сек." + +#: ../js/ui/endSessionDialog.js:68 +msgid "Logging out of the system." +msgstr "Одјављујем се са система." + +#: ../js/ui/endSessionDialog.js:74 ../js/ui/endSessionDialog.js:78 +msgid "Shut Down" +msgstr "Угаси" + +#: ../js/ui/endSessionDialog.js:75 +msgid "Click Shut Down to quit these applications and shut down the system." +msgstr "Кликните на „Угаси“ да напустите ове програме и да угасите систем." + +#: ../js/ui/endSessionDialog.js:76 +#, c-format +msgid "The system will shut down automatically in %d seconds." +msgstr "Систем ће се аутоматски искључити за %d сек." + +#: ../js/ui/endSessionDialog.js:77 +msgid "Shutting down the system." +msgstr "Искључујем систем." + +#: ../js/ui/endSessionDialog.js:84 ../js/ui/endSessionDialog.js:88 +msgid "Restart" +msgstr "Поново покрени" + +#: ../js/ui/endSessionDialog.js:85 +msgid "Click Restart to quit these applications and restart the system." +msgstr "" +"Кликните на „Поново покрени“ да напустите ове програме и да поново покренете " +"систем." + +#: ../js/ui/endSessionDialog.js:86 +#, c-format +msgid "The system will restart automatically in %d seconds." +msgstr "Систем ће се аутоматски поново покренути за %d сек." + +#: ../js/ui/endSessionDialog.js:87 +msgid "Restarting the system." +msgstr "Поновно покрећем систем." + +#: ../js/ui/endSessionDialog.js:395 +msgid "Confirm" +msgstr "Потврди" + +#: ../js/ui/endSessionDialog.js:400 ../js/ui/status/bluetooth.js:466 +msgid "Cancel" +msgstr "Откажи" + +#: ../js/ui/lookingGlass.js:588 +msgid "No extensions installed" +msgstr "Нису инсталирана проширења" + +#: ../js/ui/lookingGlass.js:625 +msgid "Enabled" +msgstr "Омогућено" + +#. translators: +#. * The device has been disabled +#: ../js/ui/lookingGlass.js:627 ../src/gvc/gvc-mixer-control.c:1091 +msgid "Disabled" +msgstr "Онемогућено" + +#: ../js/ui/lookingGlass.js:629 +msgid "Error" +msgstr "Грешка" + +#: ../js/ui/lookingGlass.js:631 +msgid "Out of date" +msgstr "Изван датума" + +#: ../js/ui/lookingGlass.js:656 +msgid "View Source" +msgstr "Погледај извор" + +#: ../js/ui/lookingGlass.js:662 +msgid "Web Page" +msgstr "Интернет страница" + +#: ../js/ui/messageTray.js:926 +msgid "Open" +msgstr "Отвори" + +#: ../js/ui/messageTray.js:1986 +msgid "System Information" +msgstr "Информације о систему" + +#: ../js/ui/overview.js:88 +msgid "Undo" +msgstr "Опозови" + +#: ../js/ui/overview.js:183 +msgid "Windows" +msgstr "Прозори" + +#: ../js/ui/overview.js:186 +msgid "Applications" +msgstr "Програми" + +#. Translators: this is the name of the dock/favorites area on +#. the left of the overview +#: ../js/ui/overview.js:202 +msgid "Dash" +msgstr "Дашер" + +#. TODO - _quit() doesn't really work on apps in state STARTING yet +#: ../js/ui/panel.js:515 +#, c-format +msgid "Quit %s" +msgstr "Напусти „%s“" + #. Button on the left side of the panel. #. Translators: If there is no suitable word for "Activities" in your language, you can use the word for "Overview". -#: ../js/ui/panel.js:741 +#: ../js/ui/panel.js:874 msgid "Activities" msgstr "Активности" -#: ../js/ui/placeDisplay.js:107 +#: ../js/ui/panel.js:975 +msgid "Panel" +msgstr "Панел" + +#: ../js/ui/placeDisplay.js:122 #, c-format msgid "Failed to unmount '%s'" msgstr "Не могу да демонтирам „%s“" -#: ../js/ui/placeDisplay.js:110 +#: ../js/ui/placeDisplay.js:125 msgid "Retry" msgstr "Понови" -#: ../js/ui/placeDisplay.js:155 +#: ../js/ui/placeDisplay.js:165 msgid "Connect to..." msgstr "Повежи се на..." -#. Translators: the "ON" and "OFF" strings are used in the -#. toggle switches in the status area menus, and must be SHORT. -#. If you don't have suitable short words, consider initials, -#. "0"/"1", "⚪"/"⚫", etc. -#: ../js/ui/popupMenu.js:30 ../js/ui/popupMenu.js:40 -msgid "ON" -msgstr "⚫" +#: ../js/ui/placeDisplay.js:380 +msgid "PLACES & DEVICES" +msgstr "МЕСТА И УРЕЂАЈИ" -#: ../js/ui/popupMenu.js:31 ../js/ui/popupMenu.js:45 -msgid "OFF" -msgstr "⚪" +#. Translators: this MUST be either "toggle-switch-us" +#. (for toggle switches containing the English words +#. "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:636 +msgid "toggle-switch-us" +msgstr "toggle-switch-intl" -#: ../js/ui/runDialog.js:233 +#: ../js/ui/runDialog.js:201 msgid "Please enter a command:" msgstr "Унесите наредбу:" -#: ../js/ui/runDialog.js:378 -#, c-format -msgid "Execution of '%s' failed:" -msgstr "Није успело покретање „%s“:" +#: ../js/ui/searchDisplay.js:287 +msgid "Searching..." +msgstr "Тражим..." -#: ../js/ui/statusMenu.js:91 +#: ../js/ui/searchDisplay.js:301 +msgid "No matching results." +msgstr "Нема одговарајућих резултата." + +#: ../js/ui/statusMenu.js:114 ../js/ui/statusMenu.js:178 +msgid "Power Off..." +msgstr "Искључи..." + +#: ../js/ui/statusMenu.js:116 ../js/ui/statusMenu.js:177 +msgid "Suspend" +msgstr "Обустави" + +#: ../js/ui/statusMenu.js:137 msgid "Available" msgstr "Доступан" -#: ../js/ui/statusMenu.js:95 +#: ../js/ui/statusMenu.js:142 msgid "Busy" msgstr "Заузет" -#: ../js/ui/statusMenu.js:99 -msgid "Invisible" -msgstr "Невидљив" +#: ../js/ui/statusMenu.js:150 +msgid "My Account" +msgstr "Мој налог" -#: ../js/ui/statusMenu.js:106 -msgid "Account Information..." -msgstr "Подаци о налогу..." +#: ../js/ui/statusMenu.js:154 +msgid "System Settings" +msgstr "Подешавања система" -#: ../js/ui/statusMenu.js:110 -msgid "System Preferences..." -msgstr "Поставке система..." - -#: ../js/ui/statusMenu.js:117 +#: ../js/ui/statusMenu.js:161 msgid "Lock Screen" msgstr "Закључај екран" -#: ../js/ui/statusMenu.js:121 +#: ../js/ui/statusMenu.js:165 msgid "Switch User" msgstr "Промени корисника" -#: ../js/ui/statusMenu.js:126 +#: ../js/ui/statusMenu.js:170 msgid "Log Out..." msgstr "Одјави ме..." -#: ../js/ui/statusMenu.js:130 -msgid "Shut Down..." -msgstr "Искључи..." +#: ../js/ui/status/accessibility.js:62 +msgid "Zoom" +msgstr "Зумирај" -#: ../js/ui/windowAttentionHandler.js:45 +#. let screenReader = this._buildItem(_("Screen Reader"), APPLICATIONS_SCHEMA, +#. 'screen-reader-enabled'); +#. this.menu.addMenuItem(screenReader); +#. let screenKeyboard = this._buildItem(_("Screen Keyboard"), APPLICATIONS_SCHEMA, +#. 'screen-keyboard-enabled'); +#. this.menu.addMenuItem(screenKeyboard); +#: ../js/ui/status/accessibility.js:77 +msgid "Visual Alerts" +msgstr "Визуелна упозорења" + +#: ../js/ui/status/accessibility.js:80 +msgid "Sticky Keys" +msgstr "Лепљиви тастери" + +#: ../js/ui/status/accessibility.js:83 +msgid "Slow Keys" +msgstr "Спори тастери" + +#: ../js/ui/status/accessibility.js:86 +msgid "Bounce Keys" +msgstr "Одскочни тастери" + +#: ../js/ui/status/accessibility.js:89 +msgid "Mouse Keys" +msgstr "Тастери миша" + +#: ../js/ui/status/accessibility.js:93 +msgid "Universal Access Settings" +msgstr "Подешавања универзалног приступа" + +#: ../js/ui/status/accessibility.js:146 +msgid "High Contrast" +msgstr "Велики контраст" + +#: ../js/ui/status/accessibility.js:183 +msgid "Large Text" +msgstr "Велики текст" + +#: ../js/ui/status/bluetooth.js:42 ../js/ui/status/bluetooth.js:237 +#: ../js/ui/status/bluetooth.js:333 ../js/ui/status/bluetooth.js:367 +#: ../js/ui/status/bluetooth.js:407 ../js/ui/status/bluetooth.js:440 +msgid "Bluetooth" +msgstr "Блутут" + +#: ../js/ui/status/bluetooth.js:55 +msgid "Visibility" +msgstr "Видљивост" + +#: ../js/ui/status/bluetooth.js:69 +msgid "Send Files to Device..." +msgstr "Пошаљи датотеке на уређај..." + +#: ../js/ui/status/bluetooth.js:70 +msgid "Setup a New Device..." +msgstr "Подеси нови уређај..." + +#: ../js/ui/status/bluetooth.js:95 +msgid "Bluetooth Settings" +msgstr "Блутут подешавања" + +#: ../js/ui/status/bluetooth.js:188 +msgid "Connection" +msgstr "Веза" + +#: ../js/ui/status/bluetooth.js:224 +msgid "Send Files..." +msgstr "Пошаљи датотеке.." + +#: ../js/ui/status/bluetooth.js:229 +msgid "Browse Files..." +msgstr "Разгледај датотеке..." + +#: ../js/ui/status/bluetooth.js:238 +msgid "Error browsing device" +msgstr "Грешка у претраживању уређаја" + +#: ../js/ui/status/bluetooth.js:239 +#, c-format +msgid "The requested device cannot be browsed, error is '%s'" +msgstr "Тражени уређај не може бити разгледан, грешка „%s“" + +#: ../js/ui/status/bluetooth.js:247 +msgid "Keyboard Settings" +msgstr "Подешавања тастатуре" + +#: ../js/ui/status/bluetooth.js:252 +msgid "Mouse Settings" +msgstr "Подешавања миша" + +#: ../js/ui/status/bluetooth.js:259 ../js/ui/status/volume.js:66 +msgid "Sound Settings" +msgstr "Подешавања звука" + +#: ../js/ui/status/bluetooth.js:368 +#, c-format +msgid "Authorization request from %s" +msgstr "Захтев за овлашћење са „%s“" + +#: ../js/ui/status/bluetooth.js:374 +#, c-format +msgid "Device %s wants access to the service '%s'" +msgstr "Уређај „%s“ жели приступ услузи „%s“" + +#: ../js/ui/status/bluetooth.js:376 +msgid "Always grant access" +msgstr "Увек одобри приступ" + +#: ../js/ui/status/bluetooth.js:377 +msgid "Grant this time only" +msgstr "Одобри само овај пут" + +#: ../js/ui/status/bluetooth.js:378 +msgid "Reject" +msgstr "Одбиј" + +#: ../js/ui/status/bluetooth.js:408 +#, c-format +msgid "Pairing confirmation for %s" +msgstr "Упарујем потврду за „%s“" + +#: ../js/ui/status/bluetooth.js:414 ../js/ui/status/bluetooth.js:448 +#, c-format +msgid "Device %s wants to pair with this computer" +msgstr "Уређај „%s“ жели да се упари са овим рачунаром" + +#: ../js/ui/status/bluetooth.js:415 +#, c-format +msgid "Please confirm whether the PIN '%s' matches the one on the device." +msgstr "Молим потврдите да ли се ПИН „%s“ подудара са оним на уређају." + +#: ../js/ui/status/bluetooth.js:417 +msgid "Matches" +msgstr "Подудара се" + +#: ../js/ui/status/bluetooth.js:418 +msgid "Does not match" +msgstr "Не подудара се" + +#: ../js/ui/status/bluetooth.js:441 +#, c-format +msgid "Pairing request for %s" +msgstr "Захтев за упаривање за „%s“" + +#: ../js/ui/status/bluetooth.js:449 +msgid "Please enter the PIN mentioned on the device." +msgstr "Молим унесите ПИН назначен на уређају." + +#: ../js/ui/status/bluetooth.js:465 +msgid "OK" +msgstr "У реду" + +#: ../js/ui/status/keyboard.js:73 +msgid "Show Keyboard Layout..." +msgstr "Прикажи распоред тастатуре..." + +#: ../js/ui/status/keyboard.js:76 +msgid "Localization Settings" +msgstr "Подешавања локализације" + +#: ../js/ui/status/network.js:102 ../js/ui/status/network.js:1393 +#| msgid "Unknown" +msgid "" +msgstr "<непознато>" + +#. Translators: this indicates that wireless or wwan is disabled by hardware killswitch +#: ../js/ui/status/network.js:295 +#| msgid "Disabled" +msgid "disabled" +msgstr "онемогућено" + +#: ../js/ui/status/network.js:476 +#| msgid "Connection" +msgid "connecting..." +msgstr "повезујем се..." + +#. Translators: this is for network connections that require some kind of key or password +#: ../js/ui/status/network.js:479 +msgid "authentication required" +msgstr "потребна је пријава" + +#. Translators: this is for wired network devices that are physically disconnected +#: ../js/ui/status/network.js:485 +msgid "cable unplugged" +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:489 +#| msgid "Available" +msgid "unavailable" +msgstr "недоступно" + +#: ../js/ui/status/network.js:491 +#| msgid "Connection" +msgid "connection failed" +msgstr "повезивање није успело" + +#. TRANSLATORS: this is the indication that a connection for another logged in user is active, +#. and we cannot access its settings (including the name) +#: ../js/ui/status/network.js:571 ../js/ui/status/network.js:1341 +msgid "Connected (private)" +msgstr "Повезан (приватно)" + +#: ../js/ui/status/network.js:636 +msgid "Auto Ethernet" +msgstr "Аутоматска жичана веза" + +#: ../js/ui/status/network.js:697 +msgid "Auto broadband" +msgstr "Аутоматска широкопојасна веза" + +#: ../js/ui/status/network.js:700 +msgid "Auto dial-up" +msgstr "Аутоматска дајал-ап веза" + +#. TRANSLATORS: this the automatic wireless connection name (including the network name) +#: ../js/ui/status/network.js:843 ../js/ui/status/network.js:1353 +#, c-format +#| msgid "Quit %s" +msgid "Auto %s" +msgstr "Аутоматска %s веза" + +#: ../js/ui/status/network.js:845 +#| msgid "Bluetooth" +msgid "Auto bluetooth" +msgstr "Аутоматска блутут веза" + +#: ../js/ui/status/network.js:1355 +msgid "Auto wireless" +msgstr "Аутоматска бежична веза" + +#: ../js/ui/status/network.js:1413 +msgid "More..." +msgstr "Више..." + +#: ../js/ui/status/network.js:1436 +msgid "Enable networking" +msgstr "Омогући мрежне услуге" + +#: ../js/ui/status/network.js:1448 +msgid "Wired" +msgstr "Жичана" + +#: ../js/ui/status/network.js:1459 +msgid "Wireless" +msgstr "Бежична" + +#: ../js/ui/status/network.js:1469 +msgid "Mobile broadband" +msgstr "Мобилна широкопојасна" + +#: ../js/ui/status/network.js:1479 +#| msgid "Connection" +msgid "VPN Connections" +msgstr "ВПН веза" + +#: ../js/ui/status/network.js:1488 +#| msgid "Power Settings" +msgid "Network Settings" +msgstr "Подешавања мрежа" + +#: ../js/ui/status/network.js:1783 +#, c-format +msgid "You're now connected to mobile broadband connection '%s'" +msgstr "Повезани сте на мобилну широкопојасну мрежу „%s“" + +#: ../js/ui/status/network.js:1787 +#, c-format +msgid "You're now connected to wireless network '%s'" +msgstr "Повезани сте на мобилну бежичну мрежу „%s“" + +#: ../js/ui/status/network.js:1791 +#, c-format +msgid "You're now connected to wired network '%s'" +msgstr "Повезани сте на мобилну жичану мрежу „%s“" + +#: ../js/ui/status/network.js:1795 +#, c-format +msgid "You're now connected to VPN network '%s'" +msgstr "Повезани сте на мобилну ВПН мрежу „%s“" + +#: ../js/ui/status/network.js:1800 +#, c-format +msgid "You're now connected to '%s'" +msgstr "Повезани сте на „%s“" + +#: ../js/ui/status/network.js:1808 +#| msgid "Connection" +msgid "Connection established" +msgstr "Веза је успостављена" + +#: ../js/ui/status/network.js:1930 +msgid "Networking is disabled" +msgstr "Умрежавање је онемогућено" + +#: ../js/ui/status/network.js:2055 +msgid "Network Manager" +msgstr "Управник мреже" + +#: ../js/ui/status/power.js:85 +msgid "Power Settings" +msgstr "Подешавања напајања" + +#. 0 is reported when UPower does not have enough data +#. to estimate battery life +#: ../js/ui/status/power.js:111 +msgid "Estimating..." +msgstr "Приближно..." + +#: ../js/ui/status/power.js:118 +#, c-format +msgid "%d hour remaining" +msgid_plural "%d hours remaining" +msgstr[0] "Преостаје %d сат" +msgstr[1] "Преостају %d сата" +msgstr[2] "Преостаје %d сати" +msgstr[3] "Преостаје један сат" + +#. TRANSLATORS: this is a time string, as in "%d hours %d minutes remaining" +#: ../js/ui/status/power.js:121 +#, c-format +msgid "%d %s %d %s remaining" +msgstr "Преостало врем: %d %s %d %s" + +#: ../js/ui/status/power.js:123 +msgid "hour" +msgid_plural "hours" +msgstr[0] "сат" +msgstr[1] "сата" +msgstr[2] "сати" +msgstr[3] "сат" + +#: ../js/ui/status/power.js:123 +msgid "minute" +msgid_plural "minutes" +msgstr[0] "минут" +msgstr[1] "минута" +msgstr[2] "минута" +msgstr[3] "минут" + +#: ../js/ui/status/power.js:126 +#, c-format +msgid "%d minute remaining" +msgid_plural "%d minutes remaining" +msgstr[0] "Преостаје %d минут" +msgstr[1] "Преостају %d минута" +msgstr[2] "Преостаје %d минута" +msgstr[3] "Преостаје један минут" + +#: ../js/ui/status/power.js:228 +msgid "AC adapter" +msgstr "Напајање са мреже" + +#: ../js/ui/status/power.js:230 +msgid "Laptop battery" +msgstr "Батерија рачунара" + +#: ../js/ui/status/power.js:232 +msgid "UPS" +msgstr "УПС" + +#: ../js/ui/status/power.js:234 +msgid "Monitor" +msgstr "Монитор" + +#: ../js/ui/status/power.js:236 +msgid "Mouse" +msgstr "Миш" + +#: ../js/ui/status/power.js:238 +msgid "Keyboard" +msgstr "Тастатура" + +#: ../js/ui/status/power.js:240 +msgid "PDA" +msgstr "ПДА" + +#: ../js/ui/status/power.js:242 +msgid "Cell phone" +msgstr "Мобилни телефон" + +#: ../js/ui/status/power.js:244 +msgid "Media player" +msgstr "Медија плејер" + +#: ../js/ui/status/power.js:246 +msgid "Tablet" +msgstr "Таблет" + +#: ../js/ui/status/power.js:248 +msgid "Computer" +msgstr "Рачунар" + +#: ../js/ui/status/power.js:250 ../src/shell-app-system.c:961 +msgid "Unknown" +msgstr "Непознато" + +#: ../js/ui/status/volume.js:45 +msgid "Volume" +msgstr "Јачина звука" + +#: ../js/ui/status/volume.js:58 +msgid "Microphone" +msgstr "Микрофон" + +#: ../js/ui/telepathyClient.js:332 +#, c-format +msgid "%s is online." +msgstr "„%s“ је на мрежи." + +#: ../js/ui/telepathyClient.js:337 +#, c-format +msgid "%s is offline." +msgstr "„%s“ је ван мреже." + +#: ../js/ui/telepathyClient.js:340 +#, c-format +msgid "%s is away." +msgstr "„%s“ је одсутан." + +#: ../js/ui/telepathyClient.js:343 +#, c-format +msgid "%s is busy." +msgstr "„%s“ је заузет." + +#. Translators: this is a time format string followed by a date. +#. If applicable, replace %X with a strftime format valid for your +#. locale, without seconds. +#: ../js/ui/telepathyClient.js:474 +#, no-c-format +msgid "Sent at %X on %A" +msgstr "Послато је %A у %X" + +#. Translators: this is the text displayed +#. in the search entry when no search is +#. active; it should not exceed ~30 +#. characters. +#: ../js/ui/viewSelector.js:122 +msgid "Type to search..." +msgstr "Упишите текст за претрагу..." + +#: ../js/ui/viewSelector.js:142 ../src/shell-util.c:250 +msgid "Search" +msgstr "Тражи" + +#: ../js/ui/windowAttentionHandler.js:42 #, c-format msgid "%s has finished starting" -msgstr "%s је покренут" +msgstr "„%s“ је покренут" -#: ../js/ui/windowAttentionHandler.js:47 +#: ../js/ui/windowAttentionHandler.js:44 #, c-format msgid "'%s' is ready" msgstr "„%s“ је спреман" -#: ../js/ui/workspacesView.js:230 -msgid "" -"Can't add a new workspace because maximum workspaces limit has been reached." -msgstr "" -"Не могу да додам нову радну површину јер је већ достигнут највећи број." +#. translators: +#. * The number of sound outputs on a particular device +#: ../src/gvc/gvc-mixer-control.c:1098 +#, c-format +msgid "%u Output" +msgid_plural "%u Outputs" +msgstr[0] "%u излаз" +msgstr[1] "%u излаза" +msgstr[2] "%u излаза" +msgstr[3] "%u излаз" -#: ../js/ui/workspacesView.js:247 -msgid "Can't remove the first workspace." -msgstr "Не могу да уклоним прву радну површину." +#. translators: +#. * The number of sound inputs on a particular device +#: ../src/gvc/gvc-mixer-control.c:1108 +#, c-format +msgid "%u Input" +msgid_plural "%u Inputs" +msgstr[0] "%u улаз" +msgstr[1] "%u улаза" +msgstr[2] "%u улаза" +msgstr[3] "%u улаз" -#: ../src/shell-global.c:1105 +#: ../src/gvc/gvc-mixer-control.c:1406 +msgid "System Sounds" +msgstr "Системски звуци" + +#: ../src/main.c:397 +msgid "Print version" +msgstr "Испиши вррзију" + +#: ../src/shell-app.c:454 +#, c-format +#| msgid "Failed to unmount '%s'" +msgid "Failed to launch '%s'" +msgstr "Не могу да покренем „%s“" + +#: ../src/shell-global.c:1340 msgid "Less than a minute ago" msgstr "Пре мање од једног минута" -#: ../src/shell-global.c:1109 +#: ../src/shell-global.c:1344 #, c-format msgid "%d minute ago" msgid_plural "%d minutes ago" msgstr[0] "Пре %d минут" msgstr[1] "Пре %d минута" msgstr[2] "Пре %d минута" -msgstr[3] "Пре %d минута" +msgstr[3] "Пре један минут" -#: ../src/shell-global.c:1114 +#: ../src/shell-global.c:1349 #, c-format msgid "%d hour ago" msgid_plural "%d hours ago" msgstr[0] "Пре %d сат" msgstr[1] "Пре %d сата" -msgstr[2] "Пре %d сата" -msgstr[3] "Пре %d сата" +msgstr[2] "Пре %d сати" +msgstr[3] "Пре једног сата" -#: ../src/shell-global.c:1119 +#: ../src/shell-global.c:1354 #, c-format msgid "%d day ago" msgid_plural "%d days ago" msgstr[0] "Пре %d дан" msgstr[1] "Пре %d дана" msgstr[2] "Пре %d дана" -msgstr[3] "Пре %d дана" +msgstr[3] "Пре један дан" -#: ../src/shell-global.c:1124 +#: ../src/shell-global.c:1359 #, c-format msgid "%d week ago" msgid_plural "%d weeks ago" msgstr[0] "Пре %d недеље" msgstr[1] "Пре %d недеље" -msgstr[2] "Пре %d недеље" -msgstr[3] "Пре %d недеља" +msgstr[2] "Пре %d недеља" +msgstr[3] "Пре једне недеље" -#: ../src/shell-uri-util.c:89 +#: ../src/shell-mobile-providers.c:80 +msgid "United Kingdom" +msgstr "Уједињено краљевство" + +#: ../src/shell-mobile-providers.c:526 +msgid "Default" +msgstr "Подразумевано" + +#: ../src/shell-polkit-authentication-agent.c:334 +msgid "Authentication dialog was dismissed by the user" +msgstr "Корисник је одбацио прозорче за потврђивање идентитета" + +#: ../src/shell-util.c:89 msgid "Home Folder" msgstr "Лична фасцикла" #. Translators: this is the same string as the one found in #. * nautilus -#: ../src/shell-uri-util.c:104 +#: ../src/shell-util.c:104 msgid "File System" msgstr "Систем датотека" -#: ../src/shell-uri-util.c:250 -msgid "Search" -msgstr "Тражи" - #. Translators: the first string is the name of a gvfs #. * method, and the second string is a path. For #. * example, "Trash: some-directory". It means that the #. * directory called "some-directory" is in the trash. #. -#: ../src/shell-uri-util.c:300 +#: ../src/shell-util.c:300 #, c-format msgid "%1$s: %2$s" msgstr "%1$s: %2$s" -#~| msgid "Search" -#~ msgid "Sidebar" -#~ msgstr "Бочна трака" +#~| msgid "Applications" +#~ msgid "No such application" +#~ msgstr "Нема таквог програма" -#~ msgid "%H:%M" -#~ msgstr "%H:%M" +#~ msgid "Screen Reader" +#~ msgstr "Читач екрана" -#~ msgid "Applications" -#~ msgstr "Програми" +#~ msgid "Screen Keyboard" +#~ msgstr "Тастатура на екрану" -#~ msgid "Recent Documents" -#~ msgstr "Скорашњи документи" +#~ msgid "Clock" +#~ msgstr "Сат" + +#~ msgid "Customize the panel clock" +#~ msgstr "Подешава сат на панелу" + +#~ msgid "Custom format of the clock" +#~ msgstr "Произвољан формат часовника" + +#~ msgid "Hour format" +#~ msgstr "Формат часовника" + +#~ msgid "" +#~ "If true and format is either \"12-hour\" or \"24-hour\", display seconds " +#~ "in time." +#~ msgstr "" +#~ "Приказује секунде у часовнику, уколико је постављено на „true“ (тачно) и " +#~ "формат постављен на „12-hour“ (12 часа) или „24-hour“ (24 часа)." + +#~ msgid "Overview workspace view mode" +#~ msgstr "Начин за преглед радних површина" + +#~ msgid "" +#~ "The selected workspace view mode in the overview. Supported values are " +#~ "\"single\" and \"grid\"." +#~ msgstr "" +#~ "Изабрани начин прегледа радних површина. Подржане вредности су " +#~ "„single“ (појединачно) и „grid“ (у мрежи)." + +#~ msgid "" +#~ "This key specifies the format used by the panel clock when the format key " +#~ "is set to \"custom\". You can use conversion specifiers understood by " +#~ "strftime() to obtain a specific format. See the strftime() manual for " +#~ "more information." +#~ msgstr "" +#~ "Овај кључ одређује формат времена у панелу, када је „format“ (format) " +#~ "постављен на „custom“ (произвољно). Можете искористити формат подржан " +#~ "унутар функције strftime(). Погледајте упутство за strftime()." + +#~ msgid "" +#~ "This key specifies the hour format used by the panel clock. Possible " +#~ "values are \"12-hour\", \"24-hour\", \"unix\" and \"custom\". If set to " +#~ "\"unix\", the clock will display time in seconds since Epoch, i.e. " +#~ "1970-01-01. If set to \"custom\", the clock will display time according " +#~ "to the format specified in the custom_format key. Note that if set to " +#~ "either \"unix\" or \"custom\", the show_date and show_seconds keys are " +#~ "ignored." +#~ msgstr "" +#~ "Овај кључ одређује формат часовника у панелу. Дозвољене вредности су „12-" +#~ "hour“ (12 часаова), „24-hour“ (24 часа), „unix“ (Јуникс) и " +#~ "„custom“ (произвољно). Уколико га поставите на „unix“ сат ће приказивати " +#~ "време на основу епохе, нпр. 1970-01-01. Уколико га поставите на „custom“ " +#~ "сат ће приказивати време на основу кључа „custom_format“ (произвољни " +#~ "формат). Уколико поставите на кључ на „unix“ или „custom“ занемарују се " +#~ "кључеви „show_date“ (прикажи датум) и „show_seconds“ (прикажи секунде)." + +#~ msgid "Clock Format" +#~ msgstr "Формат часовника" diff --git a/po/sr@latin.po b/po/sr@latin.po index a3798981b..141a504cb 100644 --- a/po/sr@latin.po +++ b/po/sr@latin.po @@ -1,20 +1,22 @@ # Serbian translation for gnome-shell. # Copyright (C) 2010 gnome-shell's COPYRIGHT HOLDER # This file is distributed under the same license as the gnome-shell package. -# Miloš Popović , 2010. +# Miroslav Nikolić , 2011. +# Miloš Popović , 2010, 2011. # msgid "" msgstr "" "Project-Id-Version: gnome-shell master\n" "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug.cgi?product=gnome-" -"shell&component=general\n" -"POT-Creation-Date: 2010-07-22 13:07+0000\n" -"PO-Revision-Date: 2010-08-23 23:03+0200\n" +"shell&keywords=I18N+L10N&component=general\n" +"POT-Creation-Date: 2011-03-19 10:16+0000\n" +"PO-Revision-Date: 2011-03-19 12:37+0100\n" "Last-Translator: Miloš Popović \n" "Language-Team: Serbian \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" +"Language: Serbian(sr)\n" "Plural-Forms: nplurals=4; plural=n==1? 3 : n%10==1 && n%100!=11 ? 0 : n" "%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n" @@ -26,85 +28,60 @@ msgstr "Gnomova školjka" msgid "Window management and application launching" msgstr "Upravnik prozorima i pokretač programa" -#: ../data/gnome-shell-clock-preferences.desktop.in.in.h:1 -msgid "Clock" -msgstr "Sat" - -#: ../data/gnome-shell-clock-preferences.desktop.in.in.h:2 -msgid "Customize the panel clock" -msgstr "Podešava sat na panelu" - #: ../data/org.gnome.shell.gschema.xml.in.h:1 msgid "" "Allows access to internal debugging and monitoring tools using the Alt-F2 " "dialog." msgstr "" -"Dozvoljava pristup sistemu za traženje grešaka u alatima za praćenje u Alt-F2 " -"prozorčetu." +"Dozvoljava pristup unutrašnjem otklanjanju grešaka i alatima za praćenje " +"korišćenjem „Alt-F2“ prozorčeta." #: ../data/org.gnome.shell.gschema.xml.in.h:2 -msgid "Custom format of the clock" -msgstr "Proizvoljan format časovnika" +msgid "Enable internal tools useful for developers and testers from Alt-F2" +msgstr "Uključuje alate korisne programerima i testerima iz „Alt-F2“ prozorčeta" #: ../data/org.gnome.shell.gschema.xml.in.h:3 -msgid "Enable internal tools useful for developers and testers from Alt-F2" -msgstr "Uključuje alate korisne programerima u Alt-F2 prozorčetu" - -#: ../data/org.gnome.shell.gschema.xml.in.h:4 msgid "File extension used for storing the screencast" msgstr "Ekstenzija datoteke za čuvanje video snimaka ekrana" -#: ../data/org.gnome.shell.gschema.xml.in.h:5 +#: ../data/org.gnome.shell.gschema.xml.in.h:4 msgid "Framerate used for recording screencasts." msgstr "Učestanost kadrova za video snimak ekrana." -#: ../data/org.gnome.shell.gschema.xml.in.h:6 +#: ../data/org.gnome.shell.gschema.xml.in.h:5 msgid "" "GNOME Shell extensions have a uuid property; this key lists extensions which " "should not be loaded." msgstr "" -"Proširenja Gnomove školjke imaju uuid vrednost; ovaj ključ ispisuje proširenja " -"koja treba učitati." +"Proširenja Gnomove školjke imaju „uuid“ vrednost; ovaj ključ ispisuje proširenja " +"koja ne treba učitavati." + +#: ../data/org.gnome.shell.gschema.xml.in.h:6 +msgid "History for command (Alt-F2) dialog" +msgstr "Istorijat prozorčeta naredbi (Alt-F2)" #: ../data/org.gnome.shell.gschema.xml.in.h:7 -msgid "History for command (Alt-F2) dialog" -msgstr "Istorijat naredbi Alt-F2 prozorčeta" +msgid "History for the looking glass dialog" +msgstr "Istorijat prozorčeta ogledala" #: ../data/org.gnome.shell.gschema.xml.in.h:8 -msgid "Hour format" -msgstr "Format časovnika" +msgid "If true, display date in the clock, in addition to time." +msgstr "Ako je izabrano, prikazuje datum u časovniku, kao dodatak vremenu." #: ../data/org.gnome.shell.gschema.xml.in.h:9 -msgid "" -"If true and format is either \"12-hour\" or \"24-hour\", display date in the " -"clock, in addition to time." -msgstr "" -"Prikazuje datum pored časovnik, ukoliko je postavljeno na „true“ (tačno) i " -"ako je format postavljen na „12-hour“ (12 časa) ili „24-hour“ (24 časa)." +msgid "If true, display seconds in time." +msgstr "Ako je izabrano, prikazuje sekunde u vremenu." #: ../data/org.gnome.shell.gschema.xml.in.h:10 -msgid "" -"If true and format is either \"12-hour\" or \"24-hour\", display seconds in " -"time." -msgstr "" -"Prikazuje sekunde u časovniku, ukoliko je postavljeno na „true“ (tačno) i " -"format postavljen na „12-hour“ (12 časa) ili „24-hour“ (24 časa)." +msgid "If true, display the ISO week date in the calendar." +msgstr "Ako je izabrano, prikazuje ISO dan u nedelji u kalendaru." #: ../data/org.gnome.shell.gschema.xml.in.h:11 -msgid "If true, display the ISO week date in the calendar." -msgstr "" -"Ukoliko je postavljeno na „true“ (tačno), prikazuje ISO dan u nedelji unutar " -"kalendara." - -#: ../data/org.gnome.shell.gschema.xml.in.h:12 msgid "List of desktop file IDs for favorite applications" msgstr "Spisak IB datoteka radne površine sa omiljenim programima" #: ../data/org.gnome.shell.gschema.xml.in.h:13 -msgid "Overview workspace view mode" -msgstr "Način za pregled radnih površina" - -#: ../data/org.gnome.shell.gschema.xml.in.h:14 +#, no-c-format msgid "" "Sets the GStreamer pipeline used to encode recordings. It follows the syntax " "used for gst-launch. The pipeline should have an unconnected sink pad where " @@ -113,48 +90,53 @@ msgid "" "pipeline can also take care of its own output - this might be used to send " "the output to an icecast server via shout2send or similar. When unset or set " "to an empty value, the default pipeline will be used. This is currently " -"'videorate ! theoraenc ! oggmux' and records to Ogg Theora." +"'videorate ! vp8enc quality=10 speed=2 threads=%T ! queue ! webmmux' and " +"records to WEBM using the VP8 codec. %T is used as a placeholder for a guess " +"at the optimal thread count on the system." msgstr "" -"Postavlja GStrimerov cevovod za prekodiranje snimaka. On dozvoljava sintaksu iz " -"programa gst-launch. Cevovod mora da bude bez povezanog dovoda za čuvanje " -"snimljenog videa. Izvor će obično biti nepovezan; izlaz će biti u izlaznu " -"datoteku. Ipak cevovod može da radi sa sopstvenim izlazom — ovo možete da " -"upotrebite za slanje izlaza u ajskast server preko shout2send ili slične " -"naredbe. Kada ova opcija nije postavljena biće upotrebljen podrazumevani " -"cevovod, koji podrazumeva „videorate ! theoraenc ! oggmux“ i čuva datoteke u " -"Ogg Teora format." +"Postavlja procesni lanac GStrimera korišćenog za prekodiranje snimaka. Prati " +"sintaksu korišćenu za pokretanje gstrimera (gst-launch). Procesni lanac mora " +"da ima jedan nepovezani padiljon sinhronizacije za čuvanje snimljenog videa. " +"Normalno će imati nepovezan padiljon izvora; izlaz sa ovog padiljona će biti " +"zapisivan u izlaznu datoteku. Ipak procesni lanac može da radi sa sopstvenim " +"izlazom — ovo može biti korišćeno za slanje izlaza na ajskast server preko d" +"„shout2sen“ ili slične naredbe. Kada ova opcija nije postavljena ili je " +"postavljena na neku praznu vrednost, biće korišćen podrazumevani procesni " +"lanac. A to je trenutno „videorate ! vp8enc quality=10 speed=2 threads=%T ! " +"queue ! webmmux“ i zapisuje u „WEBM“ koristeći VP8 kodek. „%T“ se koristi " +"kao nosilac za otkrivanje pri optimalnom proračunu niti na sistemu." + +#: ../data/org.gnome.shell.gschema.xml.in.h:14 +msgid "Show date in clock" +msgstr "Prikazuje datum u panelu" #: ../data/org.gnome.shell.gschema.xml.in.h:15 -msgid "Show date in clock" -msgstr "Prikaži datum u panelu" +msgid "Show the week date in the calendar" +msgstr "Prikazuje dan u nedelji u kalendaru" #: ../data/org.gnome.shell.gschema.xml.in.h:16 -msgid "Show the week date in the calendar" -msgstr "Prikaži dan u nedelji u kalendaru" +msgid "Show time with seconds" +msgstr "Prikazuje vreme i sekunde" #: ../data/org.gnome.shell.gschema.xml.in.h:17 -msgid "Show time with seconds" -msgstr "Prikaži vreme i sekunde" - -#: ../data/org.gnome.shell.gschema.xml.in.h:18 msgid "" "The applications corresponding to these identifiers will be displayed in the " "favorites area." msgstr "" -"Program kome odgovaraju ove odrednice se prikazuje unutar oblasti sa " -"omiljenim programima." +"Programi koji odgovaraju ovim odrednicama se prikazuju unutar oblasti " +"omiljenih programima." -#: ../data/org.gnome.shell.gschema.xml.in.h:19 +#: ../data/org.gnome.shell.gschema.xml.in.h:18 msgid "" "The filename for recorded screencasts will be a unique filename based on the " "current date, and use this extension. It should be changed when recording to " "a different container format." msgstr "" -"Ime datoteke za sačuvani video snimak ekrana će biti jedinstveno jer sadrži " -"datum i čuva datoteke u ovaj format. Treba ga promeniti pri snimanju u drugi " -"format." +"Ime datoteke za snimljeni video snimak ekrana će biti jedinstveno zasnovano " +"na tekućem datumu, i koristi ovu ekstenziju. Treba ga promeniti prilikom " +"snimanja u drugi format." -#: ../data/org.gnome.shell.gschema.xml.in.h:20 +#: ../data/org.gnome.shell.gschema.xml.in.h:19 msgid "" "The framerate of the resulting screencast recordered by GNOME Shell's " "screencast recorder in frames-per-second." @@ -162,19 +144,11 @@ msgstr "" "Učestanost kadrova snimka snimljenih pomoću Gnomove školjke u kadrovima po " "sekundi." -#: ../data/org.gnome.shell.gschema.xml.in.h:21 +#: ../data/org.gnome.shell.gschema.xml.in.h:20 msgid "The gstreamer pipeline used to encode the screencast" -msgstr "Gstrimerov cevovod za kodiranje video snimka ekrana" +msgstr "Procesni lanac Gstrimera korišćen za kodiranje video snimka ekrana" -#: ../data/org.gnome.shell.gschema.xml.in.h:22 -msgid "" -"The selected workspace view mode in the overview. Supported values are " -"\"single\" and \"grid\"." -msgstr "" -"Izabrani način pregleda radnih površina. Podržane vrednosti su " -"„single“ (pojedinačno) i „grid“ (u mreži)." - -#: ../data/org.gnome.shell.gschema.xml.in.h:23 +#: ../data/org.gnome.shell.gschema.xml.in.h:21 msgid "" "The shell normally monitors active applications in order to present the most " "used ones (e.g. in launchers). While this data will be kept private, you may " @@ -182,391 +156,1131 @@ msgid "" "remove already saved data." msgstr "" "Školjka prati pokrenute programe kako bi otkrila one koji se najviše koriste. " -"Iako su podaci tajni, možda želite da isključite ovi opciju zbog veće " -"privatnosti. Na taj način nećete obrisati već prikupljene podatke." +"Iako će podaci biti držani u tajnosti, možda ćete poželeti da isključite ovu " +"opciju zbog zaštite vaše privatnosti. Na taj način nećete obrisati već " +"sačuvane podatke." + +#: ../data/org.gnome.shell.gschema.xml.in.h:22 +msgid "Uuids of extensions to disable" +msgstr "„uuid“ proširenja za isključivanje" + +#: ../data/org.gnome.shell.gschema.xml.in.h:23 +msgid "Whether to collect stats about applications usage" +msgstr "Da li će biti prikupljani podaci o pokretanim programima" #: ../data/org.gnome.shell.gschema.xml.in.h:24 -msgid "" -"This key specifies the format used by the panel clock when the format key is " -"set to \"custom\". You can use conversion specifiers understood by strftime" -"() to obtain a specific format. See the strftime() manual for more " -"information." -msgstr "" -"Ovaj ključ određuje format vremena u panelu, kada je „format“ (format) " -"postavljen na „custom“ (proizvoljno). Možete iskoristiti format podržan unutar " -"funkcije strftime(). Pogledajte uputstvo za strftime()." +msgid "disabled OpenSearch providers" +msgstr "isključeni „OpenSearch“ provajderi" -#: ../data/org.gnome.shell.gschema.xml.in.h:25 -msgid "" -"This key specifies the hour format used by the panel clock. Possible values " -"are \"12-hour\", \"24-hour\", \"unix\" and \"custom\". If set to \"unix\", " -"the clock will display time in seconds since Epoch, i.e. 1970-01-01. If set " -"to \"custom\", the clock will display time according to the format specified " -"in the custom_format key. Note that if set to either \"unix\" or \"custom\", " -"the show_date and show_seconds keys are ignored." -msgstr "" -"Ovaj ključ određuje format časovnika u panelu. Dozvoljene vrednosti su „12-" -"hour“ (12 časaova), „24-hour“ (24 časa), „unix“ (Juniks) i " -"„custom“ (proizvoljno). Ukoliko ga postavite na „unix“ sat će prikazivati " -"vreme na osnovu epohe, npr. 1970-01-01. Ukoliko ga postavite na „custom“ sat " -"će prikazivati vreme na osnovu ključa „custom_format“ (proizvoljni format). " -"Ukoliko postavite na ključ na „unix“ ili „custom“ zanemaruju se ključevi " -"„show_date“ (prikaži datum) i „show_seconds“ (prikaži sekunde)." +#: ../js/misc/util.js:71 +msgid "Command not found" +msgstr "Komanda nije nađena" -#: ../data/org.gnome.shell.gschema.xml.in.h:26 -#| msgid "No extensions installed" -msgid "Uuids of extensions to disable" -msgstr "Zanemarena uuid proširenja" +#. Replace "Error invoking GLib.shell_parse_argv: " with +#. something nicer +#: ../js/misc/util.js:98 +msgid "Could not parse command:" +msgstr "Ne mogu da raščlanim komandu:" -#: ../data/org.gnome.shell.gschema.xml.in.h:27 -msgid "Whether to collect stats about applications usage" -msgstr "Da li da prikupljam podatke o pokretanim programima" +#: ../js/misc/util.js:106 +#, c-format +msgid "Execution of '%s' failed:" +msgstr "Nije uspelo pokretanje „%s“:" -#: ../data/clock-preferences.ui.h:1 -msgid "Clock Format" -msgstr "Format časovnika" +#. Translators: Filter to display all applications +#: ../js/ui/appDisplay.js:226 +msgid "All" +msgstr "Sve" -#: ../data/clock-preferences.ui.h:2 -#| msgid "System Preferences..." -msgid "Clock Preferences" -msgstr "Postavke časovnika" - -#: ../data/clock-preferences.ui.h:3 -msgid "Panel Display" -msgstr "Prikaz na panelu" - -#: ../data/clock-preferences.ui.h:4 -msgid "Show seco_nds" -msgstr "Prikaži _sekunde" - -#: ../data/clock-preferences.ui.h:5 -msgid "Show the _date" -msgstr "Prikaži _datum" - -#: ../data/clock-preferences.ui.h:6 -msgid "_12 hour format" -msgstr "_12 časova" - -#: ../data/clock-preferences.ui.h:7 -msgid "_24 hour format" -msgstr "_24 časa" - -#. **** Applications **** -#: ../js/ui/appDisplay.js:384 ../js/ui/dash.js:773 +#: ../js/ui/appDisplay.js:324 msgid "APPLICATIONS" msgstr "PROGRAMI" -#: ../js/ui/appDisplay.js:416 -msgid "PREFERENCES" -msgstr "POSTAVKE" +#: ../js/ui/appDisplay.js:350 +msgid "SETTINGS" +msgstr "PODEŠAVANJA" -#: ../js/ui/appDisplay.js:721 +#: ../js/ui/appDisplay.js:616 msgid "New Window" msgstr "Novi prozor" -#: ../js/ui/appDisplay.js:725 +#: ../js/ui/appDisplay.js:619 msgid "Remove from Favorites" msgstr "Ukloni iz omiljenih" -#: ../js/ui/appDisplay.js:726 +#: ../js/ui/appDisplay.js:620 msgid "Add to Favorites" msgstr "Dodaj u omiljene" -#: ../js/ui/appDisplay.js:1033 -msgid "Drag here to add favorites" -msgstr "Prevucite ovde kako bi dodali u omiljene" - -#: ../js/ui/appFavorites.js:88 +#: ../js/ui/appFavorites.js:91 #, c-format msgid "%s has been added to your favorites." -msgstr "%s je dodat među omiljene" +msgstr "„%s“ je dodat među omiljene." -#: ../js/ui/appFavorites.js:107 +#: ../js/ui/appFavorites.js:122 #, c-format msgid "%s has been removed from your favorites." -msgstr "%s je uklonjen iz omiljenih" +msgstr "„%s“ je uklonjen iz omiljenih." -#: ../js/ui/dash.js:142 -msgid "Find" -msgstr "Nađi" +#. Translators: Shown in calendar event list for all day events +#. * Keep it short, best if you can use less then 10 characters +#. +#: ../js/ui/calendar.js:66 +msgctxt "event list time" +msgid "All Day" +msgstr "Ceo dan" -#: ../js/ui/dash.js:471 -msgid "Searching..." -msgstr "Tražim..." +#. Translators: Shown in calendar event list, if 24h format +#: ../js/ui/calendar.js:71 +msgctxt "event list time" +msgid "%H:%M" +msgstr "%H:%M" -#: ../js/ui/dash.js:485 -msgid "No matching results." -msgstr "Ništa nije pronađeno." +#. Transators: Shown in calendar event list, if 12h format +#: ../js/ui/calendar.js:78 +msgctxt "event list time" +msgid "%l:%M %p" +msgstr "%l:%M %p" -#. **** Places **** -#. Translators: This is in the sense of locations for documents, -#. network locations, etc. -#: ../js/ui/dash.js:792 ../js/ui/placeDisplay.js:550 -msgid "PLACES & DEVICES" -msgstr "MESTA I UREĐAJI" +#. Translators: Calendar grid abbreviation for Sunday. +#. * +#. * NOTE: These grid abbreviations are always shown together +#. * and in order, e.g. "S M T W T F S". +#. +#: ../js/ui/calendar.js:118 +msgctxt "grid sunday" +msgid "S" +msgstr "N" -#. **** Documents **** -#: ../js/ui/dash.js:799 ../js/ui/docDisplay.js:494 -msgid "RECENT ITEMS" -msgstr "SKORAŠNJE STAVKE" +#. Translators: Calendar grid abbreviation for Monday +#: ../js/ui/calendar.js:120 +msgctxt "grid monday" +msgid "M" +msgstr "P" -#: ../js/ui/lookingGlass.js:471 -msgid "No extensions installed" -msgstr "Nisu instalirana proširenja" +#. Translators: Calendar grid abbreviation for Tuesday +#: ../js/ui/calendar.js:122 +msgctxt "grid tuesday" +msgid "T" +msgstr "U" -#: ../js/ui/lookingGlass.js:508 -msgid "Enabled" -msgstr "Omogućeno" +#. Translators: Calendar grid abbreviation for Wednesday +#: ../js/ui/calendar.js:124 +msgctxt "grid wednesday" +msgid "W" +msgstr "S" -#: ../js/ui/lookingGlass.js:510 -msgid "Disabled" -msgstr "Onemogućeno" +#. Translators: Calendar grid abbreviation for Thursday +#: ../js/ui/calendar.js:126 +msgctxt "grid thursday" +msgid "T" +msgstr "Č" -#: ../js/ui/lookingGlass.js:512 -msgid "Error" -msgstr "Greška" +#. Translators: Calendar grid abbreviation for Friday +#: ../js/ui/calendar.js:128 +msgctxt "grid friday" +msgid "F" +msgstr "P" -#: ../js/ui/lookingGlass.js:514 -msgid "Out of date" -msgstr "Istekao je datum" +#. Translators: Calendar grid abbreviation for Saturday +#: ../js/ui/calendar.js:130 +msgctxt "grid saturday" +msgid "S" +msgstr "S" -#: ../js/ui/lookingGlass.js:539 -msgid "View Source" -msgstr "Pogledaj izvor" +#. Translators: Event list abbreviation for Sunday. +#. * +#. * NOTE: These list abbreviations are normally not shown together +#. * so they need to be unique (e.g. Tuesday and Thursday cannot +#. * both be 'T'). +#. +#: ../js/ui/calendar.js:143 +msgctxt "list sunday" +msgid "Su" +msgstr "Ned" -#: ../js/ui/lookingGlass.js:545 -msgid "Web Page" -msgstr "Internet stranica" +#. Translators: Event list abbreviation for Monday +#: ../js/ui/calendar.js:145 +msgctxt "list monday" +msgid "M" +msgstr "Pon" -#: ../js/ui/overview.js:159 -msgid "Undo" -msgstr "Opozovi" +#. Translators: Event list abbreviation for Tuesday +#: ../js/ui/calendar.js:147 +msgctxt "list tuesday" +msgid "T" +msgstr "Uto" -#. TODO - _quit() doesn't really work on apps in state STARTING yet -#: ../js/ui/panel.js:473 -#, c-format -msgid "Quit %s" -msgstr "Izađi iz %s" +#. Translators: Event list abbreviation for Wednesday +#: ../js/ui/calendar.js:149 +msgctxt "list wednesday" +msgid "W" +msgstr "Sre" -#: ../js/ui/panel.js:498 -#| msgid "System Preferences..." -msgid "Preferences" -msgstr "Postavke" +#. Translators: Event list abbreviation for Thursday +#: ../js/ui/calendar.js:151 +msgctxt "list thursday" +msgid "Th" +msgstr "Čet" + +#. Translators: Event list abbreviation for Friday +#: ../js/ui/calendar.js:153 +msgctxt "list friday" +msgid "F" +msgstr "Pet" + +#. Translators: Event list abbreviation for Saturday +#: ../js/ui/calendar.js:155 +msgctxt "list saturday" +msgid "S" +msgstr "Sub" + +#. Translators: Text to show if there are no events +#: ../js/ui/calendar.js:704 +msgid "Nothing Scheduled" +msgstr "Ništa planirano" + +#. Translators: Shown on calendar heading when selected day occurs on current year +#: ../js/ui/calendar.js:720 +msgctxt "calendar heading" +msgid "%A, %B %d" +msgstr "%A, %B %d" + +#. Translators: Shown on calendar heading when selected day occurs on different year +#: ../js/ui/calendar.js:723 +msgctxt "calendar heading" +msgid "%A, %B %d, %Y" +msgstr "%A, %B %d, %Y" + +#: ../js/ui/calendar.js:733 +msgid "Today" +msgstr "Danas" + +#: ../js/ui/calendar.js:737 +msgid "Tomorrow" +msgstr "Sutra" + +#: ../js/ui/calendar.js:746 +msgid "This week" +msgstr "Ove nedelje" + +#: ../js/ui/calendar.js:754 +msgid "Next week" +msgstr "Sledeće nedelje" + +#: ../js/ui/dash.js:174 ../js/ui/messageTray.js:933 +msgid "Remove" +msgstr "Ukloni" + +#: ../js/ui/dateMenu.js:91 +msgid "Date and Time Settings" +msgstr "Podešavanja datuma i vremena" + +#: ../js/ui/dateMenu.js:111 +msgid "Open Calendar" +msgstr "Otvori kalendar" #. Translators: This is the time format with date used #. in 24-hour mode. -#: ../js/ui/panel.js:584 +#: ../js/ui/dateMenu.js:164 msgid "%a %b %e, %R:%S" msgstr "%A, %e. %b, %R:%S" -#: ../js/ui/panel.js:585 -#| msgid "%a %l:%M %p" +#: ../js/ui/dateMenu.js:165 msgid "%a %b %e, %R" msgstr "%A, %e. %b, %R" #. Translators: This is the time format without date used #. in 24-hour mode. -#: ../js/ui/panel.js:589 -#| msgid "%a %R" +#: ../js/ui/dateMenu.js:169 msgid "%a %R:%S" msgstr "%A, %R:%S" -#: ../js/ui/panel.js:590 +#: ../js/ui/dateMenu.js:170 msgid "%a %R" msgstr "%A, %R" #. Translators: This is a time format with date used #. for AM/PM. -#: ../js/ui/panel.js:597 -#| msgid "%a %l:%M %p" +#: ../js/ui/dateMenu.js:177 msgid "%a %b %e, %l:%M:%S %p" msgstr "%A, %e. %b, %l:%M:S" -#: ../js/ui/panel.js:598 -#| msgid "%a %l:%M %p" +#: ../js/ui/dateMenu.js:178 msgid "%a %b %e, %l:%M %p" msgstr "%A, %e. %b, %l:%M" #. Translators: This is a time format without date used #. for AM/PM. -#: ../js/ui/panel.js:602 -#| msgid "%a %l:%M %p" +#: ../js/ui/dateMenu.js:182 msgid "%a %l:%M:%S %p" msgstr "%A, %l:%M:%S" -#: ../js/ui/panel.js:603 +#: ../js/ui/dateMenu.js:183 msgid "%a %l:%M %p" msgstr "%A, %l:%M" +#. Translators: This is the date format to use when the calendar popup is +#. * shown - it is shown just below the time in the shell (e.g. "Tue 9:29 AM"). +#. +#: ../js/ui/dateMenu.js:194 +msgid "%A %B %e, %Y" +msgstr "%A, %e. %b, %R" + +#: ../js/ui/docDisplay.js:19 +msgid "RECENT ITEMS" +msgstr "SKORAŠNJE STAVKE" + +#: ../js/ui/endSessionDialog.js:63 +#, c-format +msgid "Log Out %s" +msgstr "Odjavi „%s“" + +#: ../js/ui/endSessionDialog.js:64 ../js/ui/endSessionDialog.js:69 +msgid "Log Out" +msgstr "Odjavi" + +#: ../js/ui/endSessionDialog.js:65 +msgid "Click Log Out to quit these applications and log out of the system." +msgstr "" +"Kliknite na „Odjavi“ da napustite ove programe i da se odjavite sa sistema." + +#: ../js/ui/endSessionDialog.js:66 +#, c-format +msgid "%s will be logged out automatically in %d seconds." +msgstr "„%s“ će biti oadjavljen automatski za %d sek." + +#: ../js/ui/endSessionDialog.js:67 +#, c-format +msgid "You will be logged out automatically in %d seconds." +msgstr "Bićete automatski odjavljeni za %d sek." + +#: ../js/ui/endSessionDialog.js:68 +msgid "Logging out of the system." +msgstr "Odjavljujem se sa sistema." + +#: ../js/ui/endSessionDialog.js:74 ../js/ui/endSessionDialog.js:78 +msgid "Shut Down" +msgstr "Ugasi" + +#: ../js/ui/endSessionDialog.js:75 +msgid "Click Shut Down to quit these applications and shut down the system." +msgstr "Kliknite na „Ugasi“ da napustite ove programe i da ugasite sistem." + +#: ../js/ui/endSessionDialog.js:76 +#, c-format +msgid "The system will shut down automatically in %d seconds." +msgstr "Sistem će se automatski isključiti za %d sek." + +#: ../js/ui/endSessionDialog.js:77 +msgid "Shutting down the system." +msgstr "Isključujem sistem." + +#: ../js/ui/endSessionDialog.js:84 ../js/ui/endSessionDialog.js:88 +msgid "Restart" +msgstr "Ponovo pokreni" + +#: ../js/ui/endSessionDialog.js:85 +msgid "Click Restart to quit these applications and restart the system." +msgstr "" +"Kliknite na „Ponovo pokreni“ da napustite ove programe i da ponovo pokrenete " +"sistem." + +#: ../js/ui/endSessionDialog.js:86 +#, c-format +msgid "The system will restart automatically in %d seconds." +msgstr "Sistem će se automatski ponovo pokrenuti za %d sek." + +#: ../js/ui/endSessionDialog.js:87 +msgid "Restarting the system." +msgstr "Ponovno pokrećem sistem." + +#: ../js/ui/endSessionDialog.js:395 +msgid "Confirm" +msgstr "Potvrdi" + +#: ../js/ui/endSessionDialog.js:400 ../js/ui/status/bluetooth.js:466 +msgid "Cancel" +msgstr "Otkaži" + +#: ../js/ui/lookingGlass.js:588 +msgid "No extensions installed" +msgstr "Nisu instalirana proširenja" + +#: ../js/ui/lookingGlass.js:625 +msgid "Enabled" +msgstr "Omogućeno" + +#. translators: +#. * The device has been disabled +#: ../js/ui/lookingGlass.js:627 ../src/gvc/gvc-mixer-control.c:1091 +msgid "Disabled" +msgstr "Onemogućeno" + +#: ../js/ui/lookingGlass.js:629 +msgid "Error" +msgstr "Greška" + +#: ../js/ui/lookingGlass.js:631 +msgid "Out of date" +msgstr "Izvan datuma" + +#: ../js/ui/lookingGlass.js:656 +msgid "View Source" +msgstr "Pogledaj izvor" + +#: ../js/ui/lookingGlass.js:662 +msgid "Web Page" +msgstr "Internet stranica" + +#: ../js/ui/messageTray.js:926 +msgid "Open" +msgstr "Otvori" + +#: ../js/ui/messageTray.js:1986 +msgid "System Information" +msgstr "Informacije o sistemu" + +#: ../js/ui/overview.js:88 +msgid "Undo" +msgstr "Opozovi" + +#: ../js/ui/overview.js:183 +msgid "Windows" +msgstr "Prozori" + +#: ../js/ui/overview.js:186 +msgid "Applications" +msgstr "Programi" + +#. Translators: this is the name of the dock/favorites area on +#. the left of the overview +#: ../js/ui/overview.js:202 +msgid "Dash" +msgstr "Dašer" + +#. TODO - _quit() doesn't really work on apps in state STARTING yet +#: ../js/ui/panel.js:515 +#, c-format +msgid "Quit %s" +msgstr "Napusti „%s“" + #. Button on the left side of the panel. #. Translators: If there is no suitable word for "Activities" in your language, you can use the word for "Overview". -#: ../js/ui/panel.js:741 +#: ../js/ui/panel.js:874 msgid "Activities" msgstr "Aktivnosti" -#: ../js/ui/placeDisplay.js:107 +#: ../js/ui/panel.js:975 +msgid "Panel" +msgstr "Panel" + +#: ../js/ui/placeDisplay.js:122 #, c-format msgid "Failed to unmount '%s'" msgstr "Ne mogu da demontiram „%s“" -#: ../js/ui/placeDisplay.js:110 +#: ../js/ui/placeDisplay.js:125 msgid "Retry" msgstr "Ponovi" -#: ../js/ui/placeDisplay.js:155 +#: ../js/ui/placeDisplay.js:165 msgid "Connect to..." msgstr "Poveži se na..." -#. Translators: the "ON" and "OFF" strings are used in the -#. toggle switches in the status area menus, and must be SHORT. -#. If you don't have suitable short words, consider initials, -#. "0"/"1", "⚪"/"⚫", etc. -#: ../js/ui/popupMenu.js:30 ../js/ui/popupMenu.js:40 -msgid "ON" -msgstr "⚫" +#: ../js/ui/placeDisplay.js:380 +msgid "PLACES & DEVICES" +msgstr "MESTA I UREĐAJI" -#: ../js/ui/popupMenu.js:31 ../js/ui/popupMenu.js:45 -msgid "OFF" -msgstr "⚪" +#. Translators: this MUST be either "toggle-switch-us" +#. (for toggle switches containing the English words +#. "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:636 +msgid "toggle-switch-us" +msgstr "toggle-switch-intl" -#: ../js/ui/runDialog.js:233 +#: ../js/ui/runDialog.js:201 msgid "Please enter a command:" msgstr "Unesite naredbu:" -#: ../js/ui/runDialog.js:378 -#, c-format -msgid "Execution of '%s' failed:" -msgstr "Nije uspelo pokretanje „%s“:" +#: ../js/ui/searchDisplay.js:287 +msgid "Searching..." +msgstr "Tražim..." -#: ../js/ui/statusMenu.js:91 +#: ../js/ui/searchDisplay.js:301 +msgid "No matching results." +msgstr "Nema odgovarajućih rezultata." + +#: ../js/ui/statusMenu.js:114 ../js/ui/statusMenu.js:178 +msgid "Power Off..." +msgstr "Isključi..." + +#: ../js/ui/statusMenu.js:116 ../js/ui/statusMenu.js:177 +msgid "Suspend" +msgstr "Obustavi" + +#: ../js/ui/statusMenu.js:137 msgid "Available" msgstr "Dostupan" -#: ../js/ui/statusMenu.js:95 +#: ../js/ui/statusMenu.js:142 msgid "Busy" msgstr "Zauzet" -#: ../js/ui/statusMenu.js:99 -msgid "Invisible" -msgstr "Nevidljiv" +#: ../js/ui/statusMenu.js:150 +msgid "My Account" +msgstr "Moj nalog" -#: ../js/ui/statusMenu.js:106 -msgid "Account Information..." -msgstr "Podaci o nalogu..." +#: ../js/ui/statusMenu.js:154 +msgid "System Settings" +msgstr "Podešavanja sistema" -#: ../js/ui/statusMenu.js:110 -msgid "System Preferences..." -msgstr "Postavke sistema..." - -#: ../js/ui/statusMenu.js:117 +#: ../js/ui/statusMenu.js:161 msgid "Lock Screen" msgstr "Zaključaj ekran" -#: ../js/ui/statusMenu.js:121 +#: ../js/ui/statusMenu.js:165 msgid "Switch User" msgstr "Promeni korisnika" -#: ../js/ui/statusMenu.js:126 +#: ../js/ui/statusMenu.js:170 msgid "Log Out..." msgstr "Odjavi me..." -#: ../js/ui/statusMenu.js:130 -msgid "Shut Down..." -msgstr "Isključi..." +#: ../js/ui/status/accessibility.js:62 +msgid "Zoom" +msgstr "Zumiraj" -#: ../js/ui/windowAttentionHandler.js:45 +#. let screenReader = this._buildItem(_("Screen Reader"), APPLICATIONS_SCHEMA, +#. 'screen-reader-enabled'); +#. this.menu.addMenuItem(screenReader); +#. let screenKeyboard = this._buildItem(_("Screen Keyboard"), APPLICATIONS_SCHEMA, +#. 'screen-keyboard-enabled'); +#. this.menu.addMenuItem(screenKeyboard); +#: ../js/ui/status/accessibility.js:77 +msgid "Visual Alerts" +msgstr "Vizuelna upozorenja" + +#: ../js/ui/status/accessibility.js:80 +msgid "Sticky Keys" +msgstr "Lepljivi tasteri" + +#: ../js/ui/status/accessibility.js:83 +msgid "Slow Keys" +msgstr "Spori tasteri" + +#: ../js/ui/status/accessibility.js:86 +msgid "Bounce Keys" +msgstr "Odskočni tasteri" + +#: ../js/ui/status/accessibility.js:89 +msgid "Mouse Keys" +msgstr "Tasteri miša" + +#: ../js/ui/status/accessibility.js:93 +msgid "Universal Access Settings" +msgstr "Podešavanja univerzalnog pristupa" + +#: ../js/ui/status/accessibility.js:146 +msgid "High Contrast" +msgstr "Veliki kontrast" + +#: ../js/ui/status/accessibility.js:183 +msgid "Large Text" +msgstr "Veliki tekst" + +#: ../js/ui/status/bluetooth.js:42 ../js/ui/status/bluetooth.js:237 +#: ../js/ui/status/bluetooth.js:333 ../js/ui/status/bluetooth.js:367 +#: ../js/ui/status/bluetooth.js:407 ../js/ui/status/bluetooth.js:440 +msgid "Bluetooth" +msgstr "Blutut" + +#: ../js/ui/status/bluetooth.js:55 +msgid "Visibility" +msgstr "Vidljivost" + +#: ../js/ui/status/bluetooth.js:69 +msgid "Send Files to Device..." +msgstr "Pošalji datoteke na uređaj..." + +#: ../js/ui/status/bluetooth.js:70 +msgid "Setup a New Device..." +msgstr "Podesi novi uređaj..." + +#: ../js/ui/status/bluetooth.js:95 +msgid "Bluetooth Settings" +msgstr "Blutut podešavanja" + +#: ../js/ui/status/bluetooth.js:188 +msgid "Connection" +msgstr "Veza" + +#: ../js/ui/status/bluetooth.js:224 +msgid "Send Files..." +msgstr "Pošalji datoteke.." + +#: ../js/ui/status/bluetooth.js:229 +msgid "Browse Files..." +msgstr "Razgledaj datoteke..." + +#: ../js/ui/status/bluetooth.js:238 +msgid "Error browsing device" +msgstr "Greška u pretraživanju uređaja" + +#: ../js/ui/status/bluetooth.js:239 +#, c-format +msgid "The requested device cannot be browsed, error is '%s'" +msgstr "Traženi uređaj ne može biti razgledan, greška „%s“" + +#: ../js/ui/status/bluetooth.js:247 +msgid "Keyboard Settings" +msgstr "Podešavanja tastature" + +#: ../js/ui/status/bluetooth.js:252 +msgid "Mouse Settings" +msgstr "Podešavanja miša" + +#: ../js/ui/status/bluetooth.js:259 ../js/ui/status/volume.js:66 +msgid "Sound Settings" +msgstr "Podešavanja zvuka" + +#: ../js/ui/status/bluetooth.js:368 +#, c-format +msgid "Authorization request from %s" +msgstr "Zahtev za ovlašćenje sa „%s“" + +#: ../js/ui/status/bluetooth.js:374 +#, c-format +msgid "Device %s wants access to the service '%s'" +msgstr "Uređaj „%s“ želi pristup usluzi „%s“" + +#: ../js/ui/status/bluetooth.js:376 +msgid "Always grant access" +msgstr "Uvek odobri pristup" + +#: ../js/ui/status/bluetooth.js:377 +msgid "Grant this time only" +msgstr "Odobri samo ovaj put" + +#: ../js/ui/status/bluetooth.js:378 +msgid "Reject" +msgstr "Odbij" + +#: ../js/ui/status/bluetooth.js:408 +#, c-format +msgid "Pairing confirmation for %s" +msgstr "Uparujem potvrdu za „%s“" + +#: ../js/ui/status/bluetooth.js:414 ../js/ui/status/bluetooth.js:448 +#, c-format +msgid "Device %s wants to pair with this computer" +msgstr "Uređaj „%s“ želi da se upari sa ovim računarom" + +#: ../js/ui/status/bluetooth.js:415 +#, c-format +msgid "Please confirm whether the PIN '%s' matches the one on the device." +msgstr "Molim potvrdite da li se PIN „%s“ podudara sa onim na uređaju." + +#: ../js/ui/status/bluetooth.js:417 +msgid "Matches" +msgstr "Podudara se" + +#: ../js/ui/status/bluetooth.js:418 +msgid "Does not match" +msgstr "Ne podudara se" + +#: ../js/ui/status/bluetooth.js:441 +#, c-format +msgid "Pairing request for %s" +msgstr "Zahtev za uparivanje za „%s“" + +#: ../js/ui/status/bluetooth.js:449 +msgid "Please enter the PIN mentioned on the device." +msgstr "Molim unesite PIN naznačen na uređaju." + +#: ../js/ui/status/bluetooth.js:465 +msgid "OK" +msgstr "U redu" + +#: ../js/ui/status/keyboard.js:73 +msgid "Show Keyboard Layout..." +msgstr "Prikaži raspored tastature..." + +#: ../js/ui/status/keyboard.js:76 +msgid "Localization Settings" +msgstr "Podešavanja lokalizacije" + +#: ../js/ui/status/network.js:102 ../js/ui/status/network.js:1393 +#| msgid "Unknown" +msgid "" +msgstr "" + +#. Translators: this indicates that wireless or wwan is disabled by hardware killswitch +#: ../js/ui/status/network.js:295 +#| msgid "Disabled" +msgid "disabled" +msgstr "onemogućeno" + +#: ../js/ui/status/network.js:476 +#| msgid "Connection" +msgid "connecting..." +msgstr "povezujem se..." + +#. Translators: this is for network connections that require some kind of key or password +#: ../js/ui/status/network.js:479 +msgid "authentication required" +msgstr "potrebna je prijava" + +#. Translators: this is for wired network devices that are physically disconnected +#: ../js/ui/status/network.js:485 +msgid "cable unplugged" +msgstr "kabli je isključen" + +#. 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:489 +#| msgid "Available" +msgid "unavailable" +msgstr "nedostupno" + +#: ../js/ui/status/network.js:491 +#| msgid "Connection" +msgid "connection failed" +msgstr "povezivanje nije uspelo" + +#. TRANSLATORS: this is the indication that a connection for another logged in user is active, +#. and we cannot access its settings (including the name) +#: ../js/ui/status/network.js:571 ../js/ui/status/network.js:1341 +msgid "Connected (private)" +msgstr "Povezan (privatno)" + +#: ../js/ui/status/network.js:636 +msgid "Auto Ethernet" +msgstr "Automatska žičana veza" + +#: ../js/ui/status/network.js:697 +msgid "Auto broadband" +msgstr "Automatska širokopojasna veza" + +#: ../js/ui/status/network.js:700 +msgid "Auto dial-up" +msgstr "Automatska dajal-ap veza" + +#. TRANSLATORS: this the automatic wireless connection name (including the network name) +#: ../js/ui/status/network.js:843 ../js/ui/status/network.js:1353 +#, c-format +#| msgid "Quit %s" +msgid "Auto %s" +msgstr "Automatska %s veza" + +#: ../js/ui/status/network.js:845 +#| msgid "Bluetooth" +msgid "Auto bluetooth" +msgstr "Automatska blutut veza" + +#: ../js/ui/status/network.js:1355 +msgid "Auto wireless" +msgstr "Automatska bežična veza" + +#: ../js/ui/status/network.js:1413 +msgid "More..." +msgstr "Više..." + +#: ../js/ui/status/network.js:1436 +msgid "Enable networking" +msgstr "Omogući mrežne usluge" + +#: ../js/ui/status/network.js:1448 +msgid "Wired" +msgstr "Žičana" + +#: ../js/ui/status/network.js:1459 +msgid "Wireless" +msgstr "Bežična" + +#: ../js/ui/status/network.js:1469 +msgid "Mobile broadband" +msgstr "Mobilna širokopojasna" + +#: ../js/ui/status/network.js:1479 +#| msgid "Connection" +msgid "VPN Connections" +msgstr "VPN veza" + +#: ../js/ui/status/network.js:1488 +#| msgid "Power Settings" +msgid "Network Settings" +msgstr "Podešavanja mreža" + +#: ../js/ui/status/network.js:1783 +#, c-format +msgid "You're now connected to mobile broadband connection '%s'" +msgstr "Povezani ste na mobilnu širokopojasnu mrežu „%s“" + +#: ../js/ui/status/network.js:1787 +#, c-format +msgid "You're now connected to wireless network '%s'" +msgstr "Povezani ste na mobilnu bežičnu mrežu „%s“" + +#: ../js/ui/status/network.js:1791 +#, c-format +msgid "You're now connected to wired network '%s'" +msgstr "Povezani ste na mobilnu žičanu mrežu „%s“" + +#: ../js/ui/status/network.js:1795 +#, c-format +msgid "You're now connected to VPN network '%s'" +msgstr "Povezani ste na mobilnu VPN mrežu „%s“" + +#: ../js/ui/status/network.js:1800 +#, c-format +msgid "You're now connected to '%s'" +msgstr "Povezani ste na „%s“" + +#: ../js/ui/status/network.js:1808 +#| msgid "Connection" +msgid "Connection established" +msgstr "Veza je uspostavljena" + +#: ../js/ui/status/network.js:1930 +msgid "Networking is disabled" +msgstr "Umrežavanje je onemogućeno" + +#: ../js/ui/status/network.js:2055 +msgid "Network Manager" +msgstr "Upravnik mreže" + +#: ../js/ui/status/power.js:85 +msgid "Power Settings" +msgstr "Podešavanja napajanja" + +#. 0 is reported when UPower does not have enough data +#. to estimate battery life +#: ../js/ui/status/power.js:111 +msgid "Estimating..." +msgstr "Približno..." + +#: ../js/ui/status/power.js:118 +#, c-format +msgid "%d hour remaining" +msgid_plural "%d hours remaining" +msgstr[0] "Preostaje %d sat" +msgstr[1] "Preostaju %d sata" +msgstr[2] "Preostaje %d sati" +msgstr[3] "Preostaje jedan sat" + +#. TRANSLATORS: this is a time string, as in "%d hours %d minutes remaining" +#: ../js/ui/status/power.js:121 +#, c-format +msgid "%d %s %d %s remaining" +msgstr "Preostalo vrem: %d %s %d %s" + +#: ../js/ui/status/power.js:123 +msgid "hour" +msgid_plural "hours" +msgstr[0] "sat" +msgstr[1] "sata" +msgstr[2] "sati" +msgstr[3] "sat" + +#: ../js/ui/status/power.js:123 +msgid "minute" +msgid_plural "minutes" +msgstr[0] "minut" +msgstr[1] "minuta" +msgstr[2] "minuta" +msgstr[3] "minut" + +#: ../js/ui/status/power.js:126 +#, c-format +msgid "%d minute remaining" +msgid_plural "%d minutes remaining" +msgstr[0] "Preostaje %d minut" +msgstr[1] "Preostaju %d minuta" +msgstr[2] "Preostaje %d minuta" +msgstr[3] "Preostaje jedan minut" + +#: ../js/ui/status/power.js:228 +msgid "AC adapter" +msgstr "Napajanje sa mreže" + +#: ../js/ui/status/power.js:230 +msgid "Laptop battery" +msgstr "Baterija računara" + +#: ../js/ui/status/power.js:232 +msgid "UPS" +msgstr "UPS" + +#: ../js/ui/status/power.js:234 +msgid "Monitor" +msgstr "Monitor" + +#: ../js/ui/status/power.js:236 +msgid "Mouse" +msgstr "Miš" + +#: ../js/ui/status/power.js:238 +msgid "Keyboard" +msgstr "Tastatura" + +#: ../js/ui/status/power.js:240 +msgid "PDA" +msgstr "PDA" + +#: ../js/ui/status/power.js:242 +msgid "Cell phone" +msgstr "Mobilni telefon" + +#: ../js/ui/status/power.js:244 +msgid "Media player" +msgstr "Medija plejer" + +#: ../js/ui/status/power.js:246 +msgid "Tablet" +msgstr "Tablet" + +#: ../js/ui/status/power.js:248 +msgid "Computer" +msgstr "Računar" + +#: ../js/ui/status/power.js:250 ../src/shell-app-system.c:961 +msgid "Unknown" +msgstr "Nepoznato" + +#: ../js/ui/status/volume.js:45 +msgid "Volume" +msgstr "Jačina zvuka" + +#: ../js/ui/status/volume.js:58 +msgid "Microphone" +msgstr "Mikrofon" + +#: ../js/ui/telepathyClient.js:332 +#, c-format +msgid "%s is online." +msgstr "„%s“ je na mreži." + +#: ../js/ui/telepathyClient.js:337 +#, c-format +msgid "%s is offline." +msgstr "„%s“ je van mreže." + +#: ../js/ui/telepathyClient.js:340 +#, c-format +msgid "%s is away." +msgstr "„%s“ je odsutan." + +#: ../js/ui/telepathyClient.js:343 +#, c-format +msgid "%s is busy." +msgstr "„%s“ je zauzet." + +#. Translators: this is a time format string followed by a date. +#. If applicable, replace %X with a strftime format valid for your +#. locale, without seconds. +#: ../js/ui/telepathyClient.js:474 +#, no-c-format +msgid "Sent at %X on %A" +msgstr "Poslato je %A u %X" + +#. Translators: this is the text displayed +#. in the search entry when no search is +#. active; it should not exceed ~30 +#. characters. +#: ../js/ui/viewSelector.js:122 +msgid "Type to search..." +msgstr "Upišite tekst za pretragu..." + +#: ../js/ui/viewSelector.js:142 ../src/shell-util.c:250 +msgid "Search" +msgstr "Traži" + +#: ../js/ui/windowAttentionHandler.js:42 #, c-format msgid "%s has finished starting" -msgstr "%s je pokrenut" +msgstr "„%s“ je pokrenut" -#: ../js/ui/windowAttentionHandler.js:47 +#: ../js/ui/windowAttentionHandler.js:44 #, c-format msgid "'%s' is ready" msgstr "„%s“ je spreman" -#: ../js/ui/workspacesView.js:230 -msgid "" -"Can't add a new workspace because maximum workspaces limit has been reached." -msgstr "" -"Ne mogu da dodam novu radnu površinu jer je već dostignut najveći broj." +#. translators: +#. * The number of sound outputs on a particular device +#: ../src/gvc/gvc-mixer-control.c:1098 +#, c-format +msgid "%u Output" +msgid_plural "%u Outputs" +msgstr[0] "%u izlaz" +msgstr[1] "%u izlaza" +msgstr[2] "%u izlaza" +msgstr[3] "%u izlaz" -#: ../js/ui/workspacesView.js:247 -msgid "Can't remove the first workspace." -msgstr "Ne mogu da uklonim prvu radnu površinu." +#. translators: +#. * The number of sound inputs on a particular device +#: ../src/gvc/gvc-mixer-control.c:1108 +#, c-format +msgid "%u Input" +msgid_plural "%u Inputs" +msgstr[0] "%u ulaz" +msgstr[1] "%u ulaza" +msgstr[2] "%u ulaza" +msgstr[3] "%u ulaz" -#: ../src/shell-global.c:1105 +#: ../src/gvc/gvc-mixer-control.c:1406 +msgid "System Sounds" +msgstr "Sistemski zvuci" + +#: ../src/main.c:397 +msgid "Print version" +msgstr "Ispiši vrrziju" + +#: ../src/shell-app.c:454 +#, c-format +#| msgid "Failed to unmount '%s'" +msgid "Failed to launch '%s'" +msgstr "Ne mogu da pokrenem „%s“" + +#: ../src/shell-global.c:1340 msgid "Less than a minute ago" msgstr "Pre manje od jednog minuta" -#: ../src/shell-global.c:1109 +#: ../src/shell-global.c:1344 #, c-format msgid "%d minute ago" msgid_plural "%d minutes ago" msgstr[0] "Pre %d minut" msgstr[1] "Pre %d minuta" msgstr[2] "Pre %d minuta" -msgstr[3] "Pre %d minuta" +msgstr[3] "Pre jedan minut" -#: ../src/shell-global.c:1114 +#: ../src/shell-global.c:1349 #, c-format msgid "%d hour ago" msgid_plural "%d hours ago" msgstr[0] "Pre %d sat" msgstr[1] "Pre %d sata" -msgstr[2] "Pre %d sata" -msgstr[3] "Pre %d sata" +msgstr[2] "Pre %d sati" +msgstr[3] "Pre jednog sata" -#: ../src/shell-global.c:1119 +#: ../src/shell-global.c:1354 #, c-format msgid "%d day ago" msgid_plural "%d days ago" msgstr[0] "Pre %d dan" msgstr[1] "Pre %d dana" msgstr[2] "Pre %d dana" -msgstr[3] "Pre %d dana" +msgstr[3] "Pre jedan dan" -#: ../src/shell-global.c:1124 +#: ../src/shell-global.c:1359 #, c-format msgid "%d week ago" msgid_plural "%d weeks ago" msgstr[0] "Pre %d nedelje" msgstr[1] "Pre %d nedelje" -msgstr[2] "Pre %d nedelje" -msgstr[3] "Pre %d nedelja" +msgstr[2] "Pre %d nedelja" +msgstr[3] "Pre jedne nedelje" -#: ../src/shell-uri-util.c:89 +#: ../src/shell-mobile-providers.c:80 +msgid "United Kingdom" +msgstr "Ujedinjeno kraljevstvo" + +#: ../src/shell-mobile-providers.c:526 +msgid "Default" +msgstr "Podrazumevano" + +#: ../src/shell-polkit-authentication-agent.c:334 +msgid "Authentication dialog was dismissed by the user" +msgstr "Korisnik je odbacio prozorče za potvrđivanje identiteta" + +#: ../src/shell-util.c:89 msgid "Home Folder" msgstr "Lična fascikla" #. Translators: this is the same string as the one found in #. * nautilus -#: ../src/shell-uri-util.c:104 +#: ../src/shell-util.c:104 msgid "File System" msgstr "Sistem datoteka" -#: ../src/shell-uri-util.c:250 -msgid "Search" -msgstr "Traži" - #. Translators: the first string is the name of a gvfs #. * method, and the second string is a path. For #. * example, "Trash: some-directory". It means that the #. * directory called "some-directory" is in the trash. #. -#: ../src/shell-uri-util.c:300 +#: ../src/shell-util.c:300 #, c-format msgid "%1$s: %2$s" msgstr "%1$s: %2$s" -#~| msgid "Search" -#~ msgid "Sidebar" -#~ msgstr "Bočna traka" +#~| msgid "Applications" +#~ msgid "No such application" +#~ msgstr "Nema takvog programa" -#~ msgid "%H:%M" -#~ msgstr "%H:%M" +#~ msgid "Screen Reader" +#~ msgstr "Čitač ekrana" -#~ msgid "Applications" -#~ msgstr "Programi" +#~ msgid "Screen Keyboard" +#~ msgstr "Tastatura na ekranu" -#~ msgid "Recent Documents" -#~ msgstr "Skorašnji dokumenti" +#~ msgid "Clock" +#~ msgstr "Sat" + +#~ msgid "Customize the panel clock" +#~ msgstr "Podešava sat na panelu" + +#~ msgid "Custom format of the clock" +#~ msgstr "Proizvoljan format časovnika" + +#~ msgid "Hour format" +#~ msgstr "Format časovnika" + +#~ msgid "" +#~ "If true and format is either \"12-hour\" or \"24-hour\", display seconds " +#~ "in time." +#~ msgstr "" +#~ "Prikazuje sekunde u časovniku, ukoliko je postavljeno na „true“ (tačno) i " +#~ "format postavljen na „12-hour“ (12 časa) ili „24-hour“ (24 časa)." + +#~ msgid "Overview workspace view mode" +#~ msgstr "Način za pregled radnih površina" + +#~ msgid "" +#~ "The selected workspace view mode in the overview. Supported values are " +#~ "\"single\" and \"grid\"." +#~ msgstr "" +#~ "Izabrani način pregleda radnih površina. Podržane vrednosti su " +#~ "„single“ (pojedinačno) i „grid“ (u mreži)." + +#~ msgid "" +#~ "This key specifies the format used by the panel clock when the format key " +#~ "is set to \"custom\". You can use conversion specifiers understood by " +#~ "strftime() to obtain a specific format. See the strftime() manual for " +#~ "more information." +#~ msgstr "" +#~ "Ovaj ključ određuje format vremena u panelu, kada je „format“ (format) " +#~ "postavljen na „custom“ (proizvoljno). Možete iskoristiti format podržan " +#~ "unutar funkcije strftime(). Pogledajte uputstvo za strftime()." + +#~ msgid "" +#~ "This key specifies the hour format used by the panel clock. Possible " +#~ "values are \"12-hour\", \"24-hour\", \"unix\" and \"custom\". If set to " +#~ "\"unix\", the clock will display time in seconds since Epoch, i.e. " +#~ "1970-01-01. If set to \"custom\", the clock will display time according " +#~ "to the format specified in the custom_format key. Note that if set to " +#~ "either \"unix\" or \"custom\", the show_date and show_seconds keys are " +#~ "ignored." +#~ msgstr "" +#~ "Ovaj ključ određuje format časovnika u panelu. Dozvoljene vrednosti su „12-" +#~ "hour“ (12 časaova), „24-hour“ (24 časa), „unix“ (Juniks) i " +#~ "„custom“ (proizvoljno). Ukoliko ga postavite na „unix“ sat će prikazivati " +#~ "vreme na osnovu epohe, npr. 1970-01-01. Ukoliko ga postavite na „custom“ " +#~ "sat će prikazivati vreme na osnovu ključa „custom_format“ (proizvoljni " +#~ "format). Ukoliko postavite na ključ na „unix“ ili „custom“ zanemaruju se " +#~ "ključevi „show_date“ (prikaži datum) i „show_seconds“ (prikaži sekunde)." + +#~ msgid "Clock Format" +#~ msgstr "Format časovnika" From 547d105b2e2a90b7a4ddd5e292647c40f9cbb79f Mon Sep 17 00:00:00 2001 From: Changwoo Ryu Date: Sat, 19 Mar 2011 23:23:32 +0900 Subject: [PATCH 086/203] Updated Korean translation --- po/ko.po | 342 +++++++++++++++++++++++++++++++++++++++---------------- 1 file changed, 244 insertions(+), 98 deletions(-) diff --git a/po/ko.po b/po/ko.po index 7fbddfdd1..d5784b65f 100644 --- a/po/ko.po +++ b/po/ko.po @@ -6,9 +6,9 @@ msgid "" msgstr "" "Project-Id-Version: gnome-shell\n" "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug.cgi?product=gnome-" -"shell&component=general\n" -"POT-Creation-Date: 2011-03-08 05:43+0000\n" -"PO-Revision-Date: 2011-03-14 10:40+0900\n" +"shell&keywords=I18N+L10N&component=general\n" +"POT-Creation-Date: 2011-03-19 00:18+0000\n" +"PO-Revision-Date: 2011-03-19 23:23+0900\n" "Last-Translator: Changwoo Ryu \n" "Language-Team: GNOME Korea \n" "MIME-Version: 1.0\n" @@ -161,21 +161,17 @@ msgstr "프로그램 사용 통계를 저장할지 여부" msgid "disabled OpenSearch providers" msgstr "OpenSearch 서비스 사용하지 않음" -#: ../js/misc/util.js:86 +#: ../js/misc/util.js:71 msgid "Command not found" msgstr "명령이 없습니다" #. Replace "Error invoking GLib.shell_parse_argv: " with #. something nicer -#: ../js/misc/util.js:113 +#: ../js/misc/util.js:98 msgid "Could not parse command:" msgstr "명령어를 파싱할 수 없습니다:" -#: ../js/misc/util.js:135 -msgid "No such application" -msgstr "그런 프로그램이 없습니다" - -#: ../js/misc/util.js:148 +#: ../js/misc/util.js:106 #, c-format msgid "Execution of '%s' failed:" msgstr "'%s' 실행이 실패했습니다:" @@ -416,7 +412,7 @@ msgstr "(%a) %p %l:%M" #. Translators: This is the date format to use when the calendar popup is #. * shown - it is shown just below the time in the shell (e.g. "Tue 9:29 AM"). #. -#: ../js/ui/dateMenu.js:209 +#: ../js/ui/dateMenu.js:194 msgid "%A %B %e, %Y" msgstr "%Y년 %B %e일 %A" @@ -489,7 +485,7 @@ msgstr "시스템을 다시 시작합니다." msgid "Confirm" msgstr "확인" -#: ../js/ui/endSessionDialog.js:400 ../js/ui/status/bluetooth.js:470 +#: ../js/ui/endSessionDialog.js:400 ../js/ui/status/bluetooth.js:466 msgid "Cancel" msgstr "취소" @@ -503,7 +499,7 @@ msgstr "사용" #. translators: #. * The device has been disabled -#: ../js/ui/lookingGlass.js:627 ../src/gvc/gvc-mixer-control.c:1087 +#: ../js/ui/lookingGlass.js:627 ../src/gvc/gvc-mixer-control.c:1091 msgid "Disabled" msgstr "사용 않음" @@ -527,7 +523,7 @@ msgstr "웹페이지" msgid "Open" msgstr "열기" -#: ../js/ui/messageTray.js:1963 +#: ../js/ui/messageTray.js:1986 msgid "System Information" msgstr "시스템 정보" @@ -550,18 +546,18 @@ msgid "Dash" msgstr "대시보드" #. TODO - _quit() doesn't really work on apps in state STARTING yet -#: ../js/ui/panel.js:532 +#: ../js/ui/panel.js:515 #, c-format msgid "Quit %s" msgstr "%s 끝내기" #. Button on the left side of the panel. #. Translators: If there is no suitable word for "Activities" in your language, you can use the word for "Overview". -#: ../js/ui/panel.js:893 +#: ../js/ui/panel.js:874 msgid "Activities" msgstr "현재 활동" -#: ../js/ui/panel.js:994 +#: ../js/ui/panel.js:975 msgid "Panel" msgstr "패널" @@ -578,7 +574,7 @@ msgstr "다시 시도" msgid "Connect to..." msgstr "연결..." -#: ../js/ui/placeDisplay.js:409 +#: ../js/ui/placeDisplay.js:380 msgid "PLACES & DEVICES" msgstr "위치 및 장치" @@ -587,7 +583,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:618 +#: ../js/ui/popupMenu.js:636 msgid "toggle-switch-us" msgstr "toggle-switch-intl" @@ -603,39 +599,39 @@ msgstr "검색하는 중..." msgid "No matching results." msgstr "일치하는 결과가 없습니다." -#: ../js/ui/statusMenu.js:102 ../js/ui/statusMenu.js:166 +#: ../js/ui/statusMenu.js:114 ../js/ui/statusMenu.js:178 msgid "Power Off..." msgstr "컴퓨터 끄기..." -#: ../js/ui/statusMenu.js:104 ../js/ui/statusMenu.js:165 +#: ../js/ui/statusMenu.js:116 ../js/ui/statusMenu.js:177 msgid "Suspend" msgstr "절전" -#: ../js/ui/statusMenu.js:125 +#: ../js/ui/statusMenu.js:137 msgid "Available" msgstr "대화 가능" -#: ../js/ui/statusMenu.js:130 +#: ../js/ui/statusMenu.js:142 msgid "Busy" msgstr "다른 용무 중" -#: ../js/ui/statusMenu.js:138 +#: ../js/ui/statusMenu.js:150 msgid "My Account" msgstr "내 계정" -#: ../js/ui/statusMenu.js:142 +#: ../js/ui/statusMenu.js:154 msgid "System Settings" msgstr "시스템 설정" -#: ../js/ui/statusMenu.js:149 +#: ../js/ui/statusMenu.js:161 msgid "Lock Screen" msgstr "화면 잠그기" -#: ../js/ui/statusMenu.js:153 +#: ../js/ui/statusMenu.js:165 msgid "Switch User" msgstr "사용자 바꾸기" -#: ../js/ui/statusMenu.js:158 +#: ../js/ui/statusMenu.js:170 msgid "Log Out..." msgstr "로그아웃..." @@ -643,14 +639,12 @@ msgstr "로그아웃..." msgid "Zoom" msgstr "크기 조정" -#: ../js/ui/status/accessibility.js:69 -msgid "Screen Reader" -msgstr "화면 읽기" - -#: ../js/ui/status/accessibility.js:73 -msgid "Screen Keyboard" -msgstr "화면 키보드" - +#. let screenReader = this._buildItem(_("Screen Reader"), APPLICATIONS_SCHEMA, +#. 'screen-reader-enabled'); +#. this.menu.addMenuItem(screenReader); +#. let screenKeyboard = this._buildItem(_("Screen Keyboard"), APPLICATIONS_SCHEMA, +#. 'screen-keyboard-enabled'); +#. this.menu.addMenuItem(screenKeyboard); #: ../js/ui/status/accessibility.js:77 msgid "Visual Alerts" msgstr "화면 알림" @@ -675,17 +669,17 @@ msgstr "마우스 키" msgid "Universal Access Settings" msgstr "보편적 접근성 설정" -#: ../js/ui/status/accessibility.js:145 +#: ../js/ui/status/accessibility.js:146 msgid "High Contrast" msgstr "고대비" -#: ../js/ui/status/accessibility.js:182 +#: ../js/ui/status/accessibility.js:183 msgid "Large Text" msgstr "큰 글자" -#: ../js/ui/status/bluetooth.js:42 ../js/ui/status/bluetooth.js:241 -#: ../js/ui/status/bluetooth.js:337 ../js/ui/status/bluetooth.js:371 -#: ../js/ui/status/bluetooth.js:411 ../js/ui/status/bluetooth.js:444 +#: ../js/ui/status/bluetooth.js:42 ../js/ui/status/bluetooth.js:237 +#: ../js/ui/status/bluetooth.js:333 ../js/ui/status/bluetooth.js:367 +#: ../js/ui/status/bluetooth.js:407 ../js/ui/status/bluetooth.js:440 msgid "Bluetooth" msgstr "블루투스" @@ -705,94 +699,94 @@ msgstr "새 장치 준비..." msgid "Bluetooth Settings" msgstr "블루투스 설정" -#: ../js/ui/status/bluetooth.js:192 +#: ../js/ui/status/bluetooth.js:188 msgid "Connection" msgstr "연결" -#: ../js/ui/status/bluetooth.js:228 +#: ../js/ui/status/bluetooth.js:224 msgid "Send Files..." msgstr "파일 보내기..." -#: ../js/ui/status/bluetooth.js:233 +#: ../js/ui/status/bluetooth.js:229 msgid "Browse Files..." msgstr "파일 찾아보기..." -#: ../js/ui/status/bluetooth.js:242 +#: ../js/ui/status/bluetooth.js:238 msgid "Error browsing device" msgstr "장치를 찾아보는데 오류" -#: ../js/ui/status/bluetooth.js:243 +#: ../js/ui/status/bluetooth.js:239 #, c-format msgid "The requested device cannot be browsed, error is '%s'" msgstr "요청한 장치를 찾아볼 수 없습니다. 오류는 '%s'" -#: ../js/ui/status/bluetooth.js:251 +#: ../js/ui/status/bluetooth.js:247 msgid "Keyboard Settings" msgstr "키보드 설정" -#: ../js/ui/status/bluetooth.js:256 +#: ../js/ui/status/bluetooth.js:252 msgid "Mouse Settings" msgstr "마우스 설정" -#: ../js/ui/status/bluetooth.js:263 ../js/ui/status/volume.js:65 +#: ../js/ui/status/bluetooth.js:259 ../js/ui/status/volume.js:66 msgid "Sound Settings" msgstr "소리 설정" -#: ../js/ui/status/bluetooth.js:372 +#: ../js/ui/status/bluetooth.js:368 #, c-format msgid "Authorization request from %s" msgstr "%s 장치에서 권한 확인 요청" -#: ../js/ui/status/bluetooth.js:378 +#: ../js/ui/status/bluetooth.js:374 #, c-format msgid "Device %s wants access to the service '%s'" msgstr "%s 장치에서 '%s' 서비스에 접근을 요청합니다" -#: ../js/ui/status/bluetooth.js:380 +#: ../js/ui/status/bluetooth.js:376 msgid "Always grant access" msgstr "항상 접근 허용" -#: ../js/ui/status/bluetooth.js:381 +#: ../js/ui/status/bluetooth.js:377 msgid "Grant this time only" msgstr "이번에만 허용" -#: ../js/ui/status/bluetooth.js:382 +#: ../js/ui/status/bluetooth.js:378 msgid "Reject" msgstr "거부" -#: ../js/ui/status/bluetooth.js:412 +#: ../js/ui/status/bluetooth.js:408 #, c-format msgid "Pairing confirmation for %s" msgstr "연결 확인 (%s)" -#: ../js/ui/status/bluetooth.js:418 ../js/ui/status/bluetooth.js:452 +#: ../js/ui/status/bluetooth.js:414 ../js/ui/status/bluetooth.js:448 #, c-format msgid "Device %s wants to pair with this computer" msgstr "%s 장치가 이 컴퓨터와 연결하려 합니다." -#: ../js/ui/status/bluetooth.js:419 +#: ../js/ui/status/bluetooth.js:415 #, c-format msgid "Please confirm whether the PIN '%s' matches the one on the device." msgstr "PIN '%s'이(가) 해당 장치의 PIN과 일치하는지 확인하십시오." -#: ../js/ui/status/bluetooth.js:421 +#: ../js/ui/status/bluetooth.js:417 msgid "Matches" msgstr "일치" -#: ../js/ui/status/bluetooth.js:422 +#: ../js/ui/status/bluetooth.js:418 msgid "Does not match" msgstr "일치하지 않음" -#: ../js/ui/status/bluetooth.js:445 +#: ../js/ui/status/bluetooth.js:441 #, c-format msgid "Pairing request for %s" msgstr "연결 요청 (%s)" -#: ../js/ui/status/bluetooth.js:453 +#: ../js/ui/status/bluetooth.js:449 msgid "Please enter the PIN mentioned on the device." msgstr "해당 장치에 표시된 PIN을 입력하십시오." -#: ../js/ui/status/bluetooth.js:469 +#: ../js/ui/status/bluetooth.js:465 msgid "OK" msgstr "확인" @@ -804,117 +798,247 @@ msgstr "키보드 배치 보기..." msgid "Localization Settings" msgstr "지역화 설정" +#: ../js/ui/status/network.js:102 ../js/ui/status/network.js:1393 +msgid "" +msgstr "<알 수 없음>" + +#. Translators: this indicates that wireless or wwan is disabled by hardware killswitch +#: ../js/ui/status/network.js:295 +msgid "disabled" +msgstr "사용 않음" + +#: ../js/ui/status/network.js:476 +msgid "connecting..." +msgstr "연결하는 중..." + +#. Translators: this is for network connections that require some kind of key or password +#: ../js/ui/status/network.js:479 +msgid "authentication required" +msgstr "인증이 필요합니다" + +#. Translators: this is for wired network devices that are physically disconnected +#: ../js/ui/status/network.js:485 +msgid "cable unplugged" +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:489 +msgid "unavailable" +msgstr "사용 불가" + +#: ../js/ui/status/network.js:491 +msgid "connection failed" +msgstr "연결이 실패했습니다" + +#. TRANSLATORS: this is the indication that a connection for another logged in user is active, +#. and we cannot access its settings (including the name) +#: ../js/ui/status/network.js:571 ../js/ui/status/network.js:1341 +msgid "Connected (private)" +msgstr "연결됨 (개인)" + +#: ../js/ui/status/network.js:636 +msgid "Auto Ethernet" +msgstr "자동 이더넷" + +#: ../js/ui/status/network.js:697 +msgid "Auto broadband" +msgstr "자동 고속 통신망" + +#: ../js/ui/status/network.js:700 +msgid "Auto dial-up" +msgstr "자동 전화접속" + +#. TRANSLATORS: this the automatic wireless connection name (including the network name) +#: ../js/ui/status/network.js:843 ../js/ui/status/network.js:1353 +#, c-format +msgid "Auto %s" +msgstr "자동 %s" + +#: ../js/ui/status/network.js:845 +msgid "Auto bluetooth" +msgstr "자동 블루투스" + +#: ../js/ui/status/network.js:1355 +msgid "Auto wireless" +msgstr "자동 무선" + +#: ../js/ui/status/network.js:1413 +msgid "More..." +msgstr "더 보기..." + +#: ../js/ui/status/network.js:1436 +msgid "Enable networking" +msgstr "네트워크 사용" + +#: ../js/ui/status/network.js:1448 +msgid "Wired" +msgstr "유선" + +#: ../js/ui/status/network.js:1459 +msgid "Wireless" +msgstr "무선" + +#: ../js/ui/status/network.js:1469 +msgid "Mobile broadband" +msgstr "휴대전화 네트워크" + +#: ../js/ui/status/network.js:1479 +msgid "VPN Connections" +msgstr "VPN 연결" + +#: ../js/ui/status/network.js:1488 +msgid "Network Settings" +msgstr "네트워크 설정" + +#: ../js/ui/status/network.js:1783 +#, c-format +msgid "You're now connected to mobile broadband connection '%s'" +msgstr "'%s' 휴대전화 네트워크에 연결되었습니다" + +#: ../js/ui/status/network.js:1787 +#, c-format +msgid "You're now connected to wireless network '%s'" +msgstr "'%s' 무선 네트워크에 연결되었습니다" + +#: ../js/ui/status/network.js:1791 +#, c-format +msgid "You're now connected to wired network '%s'" +msgstr "'%s' 유선 네트워크에 연결되었습니다" + +#: ../js/ui/status/network.js:1795 +#, c-format +msgid "You're now connected to VPN network '%s'" +msgstr "'%s' VPN 네트워크에 연결되었습니다" + +#: ../js/ui/status/network.js:1800 +#, c-format +msgid "You're now connected to '%s'" +msgstr "이제 '%s'에 연결되었습니다" + +#: ../js/ui/status/network.js:1808 +msgid "Connection established" +msgstr "연결이 되었습니다" + +#: ../js/ui/status/network.js:1930 +msgid "Networking is disabled" +msgstr "네트워크를 사용하지 않습니다" + +#: ../js/ui/status/network.js:2055 +msgid "Network Manager" +msgstr "네트워크 관리" + #: ../js/ui/status/power.js:85 msgid "Power Settings" msgstr "전원 설정" #. 0 is reported when UPower does not have enough data #. to estimate battery life -#: ../js/ui/status/power.js:110 +#: ../js/ui/status/power.js:111 msgid "Estimating..." msgstr "예상치 계산 중..." -#: ../js/ui/status/power.js:117 +#: ../js/ui/status/power.js:118 #, c-format msgid "%d hour remaining" msgid_plural "%d hours remaining" msgstr[0] "%d시간 남음" #. TRANSLATORS: this is a time string, as in "%d hours %d minutes remaining" -#: ../js/ui/status/power.js:120 +#: ../js/ui/status/power.js:121 #, c-format msgid "%d %s %d %s remaining" msgstr "%d%s %d%s 남음" -#: ../js/ui/status/power.js:122 +#: ../js/ui/status/power.js:123 msgid "hour" msgid_plural "hours" msgstr[0] "시간" -#: ../js/ui/status/power.js:122 +#: ../js/ui/status/power.js:123 msgid "minute" msgid_plural "minutes" msgstr[0] "분" -#: ../js/ui/status/power.js:125 +#: ../js/ui/status/power.js:126 #, c-format msgid "%d minute remaining" msgid_plural "%d minutes remaining" msgstr[0] "%d분 남음" -#: ../js/ui/status/power.js:227 +#: ../js/ui/status/power.js:228 msgid "AC adapter" msgstr "AC 어댑터" -#: ../js/ui/status/power.js:229 +#: ../js/ui/status/power.js:230 msgid "Laptop battery" msgstr "노트북 배터리" -#: ../js/ui/status/power.js:231 +#: ../js/ui/status/power.js:232 msgid "UPS" msgstr "UPS" -#: ../js/ui/status/power.js:233 +#: ../js/ui/status/power.js:234 msgid "Monitor" msgstr "모니터" -#: ../js/ui/status/power.js:235 +#: ../js/ui/status/power.js:236 msgid "Mouse" msgstr "마우스" -#: ../js/ui/status/power.js:237 +#: ../js/ui/status/power.js:238 msgid "Keyboard" msgstr "키보드" -#: ../js/ui/status/power.js:239 +#: ../js/ui/status/power.js:240 msgid "PDA" msgstr "PDA" -#: ../js/ui/status/power.js:241 +#: ../js/ui/status/power.js:242 msgid "Cell phone" msgstr "휴대전화" -#: ../js/ui/status/power.js:243 +#: ../js/ui/status/power.js:244 msgid "Media player" msgstr "미디어 플레이어" -#: ../js/ui/status/power.js:245 +#: ../js/ui/status/power.js:246 msgid "Tablet" msgstr "태블릿" -#: ../js/ui/status/power.js:247 +#: ../js/ui/status/power.js:248 msgid "Computer" msgstr "컴퓨터" -#: ../js/ui/status/power.js:249 ../src/shell-app-system.c:1013 +#: ../js/ui/status/power.js:250 ../src/shell-app-system.c:961 msgid "Unknown" msgstr "알 수 없음" # 오디오 볼륨 -#: ../js/ui/status/volume.js:44 +#: ../js/ui/status/volume.js:45 msgid "Volume" msgstr "볼륨" -#: ../js/ui/status/volume.js:57 +#: ../js/ui/status/volume.js:58 msgid "Microphone" msgstr "마이크" -#: ../js/ui/telepathyClient.js:239 +#: ../js/ui/telepathyClient.js:332 #, c-format msgid "%s is online." msgstr "%s 연결 중." -#: ../js/ui/telepathyClient.js:244 +#: ../js/ui/telepathyClient.js:337 #, c-format msgid "%s is offline." msgstr "%s 연결 중지." -#: ../js/ui/telepathyClient.js:247 +#: ../js/ui/telepathyClient.js:340 #, c-format msgid "%s is away." msgstr "%s 다른 용무 중." -#: ../js/ui/telepathyClient.js:250 +#: ../js/ui/telepathyClient.js:343 #, c-format msgid "%s is busy." msgstr "%s 부재중." @@ -922,7 +1046,7 @@ msgstr "%s 부재중." #. Translators: this is a time format string followed by a date. #. If applicable, replace %X with a strftime format valid for your #. locale, without seconds. -#: ../js/ui/telepathyClient.js:348 +#: ../js/ui/telepathyClient.js:474 #, no-c-format msgid "Sent at %X on %A" msgstr "보낸 때: %A %H시 %M분" @@ -931,11 +1055,11 @@ msgstr "보낸 때: %A %H시 %M분" #. in the search entry when no search is #. active; it should not exceed ~30 #. characters. -#: ../js/ui/viewSelector.js:117 +#: ../js/ui/viewSelector.js:119 msgid "Type to search..." msgstr "검색하려면 입력하십시오..." -#: ../js/ui/viewSelector.js:137 ../src/shell-util.c:250 +#: ../js/ui/viewSelector.js:139 ../src/shell-util.c:250 msgid "Search" msgstr "검색" @@ -951,7 +1075,7 @@ msgstr "'%s' 프로그램이 준비되었습니다" #. translators: #. * The number of sound outputs on a particular device -#: ../src/gvc/gvc-mixer-control.c:1094 +#: ../src/gvc/gvc-mixer-control.c:1098 #, c-format msgid "%u Output" msgid_plural "%u Outputs" @@ -959,49 +1083,62 @@ msgstr[0] "%u개 출력" #. translators: #. * The number of sound inputs on a particular device -#: ../src/gvc/gvc-mixer-control.c:1104 +#: ../src/gvc/gvc-mixer-control.c:1108 #, c-format msgid "%u Input" msgid_plural "%u Inputs" msgstr[0] "%u개 입력" -#: ../src/gvc/gvc-mixer-control.c:1402 +#: ../src/gvc/gvc-mixer-control.c:1406 msgid "System Sounds" msgstr "시스템 소리" # 커맨드라인 옵션 설명 -#: ../src/main.c:395 +#: ../src/main.c:397 msgid "Print version" msgstr "버전을 표시합니다" -#: ../src/shell-global.c:1308 +#: ../src/shell-app.c:454 +#, c-format +msgid "Failed to launch '%s'" +msgstr "'%s' 실행에 실패했습니다" + +#: ../src/shell-global.c:1340 msgid "Less than a minute ago" msgstr "1분 이내" -#: ../src/shell-global.c:1312 +#: ../src/shell-global.c:1344 #, c-format msgid "%d minute ago" msgid_plural "%d minutes ago" msgstr[0] "%d분 전" -#: ../src/shell-global.c:1317 +#: ../src/shell-global.c:1349 #, c-format msgid "%d hour ago" msgid_plural "%d hours ago" msgstr[0] "%d시간 전" -#: ../src/shell-global.c:1322 +#: ../src/shell-global.c:1354 #, c-format msgid "%d day ago" msgid_plural "%d days ago" msgstr[0] "%d일 전" -#: ../src/shell-global.c:1327 +#: ../src/shell-global.c:1359 #, c-format msgid "%d week ago" msgid_plural "%d weeks ago" msgstr[0] "%d주 전" +#: ../src/shell-mobile-providers.c:80 +msgid "United Kingdom" +msgstr "영국" + +#: ../src/shell-mobile-providers.c:526 +msgid "Default" +msgstr "기본값" + #: ../src/shell-polkit-authentication-agent.c:334 msgid "Authentication dialog was dismissed by the user" msgstr "인증 대화 창을 사용자가 닫았습니다" @@ -1026,5 +1163,14 @@ msgstr "파일시스템" msgid "%1$s: %2$s" msgstr "%s: %s" +#~ msgid "No such application" +#~ msgstr "그런 프로그램이 없습니다" + +#~ msgid "Screen Reader" +#~ msgstr "화면 읽기" + +#~ msgid "Screen Keyboard" +#~ msgstr "화면 키보드" + #~ msgid "PREFERENCES" #~ msgstr "기본 설정" From f00c47c21a9c9ddfda4e39f86573db96be5cabff Mon Sep 17 00:00:00 2001 From: Dirgita Date: Sat, 19 Mar 2011 22:12:28 +0700 Subject: [PATCH 087/203] Updated Indonesian translation --- po/id.po | 1162 +++++++++++++++++++++++++++++++++++++++++++++++------- 1 file changed, 1010 insertions(+), 152 deletions(-) diff --git a/po/id.po b/po/id.po index ab1d4b834..14e467165 100644 --- a/po/id.po +++ b/po/id.po @@ -1,333 +1,1191 @@ # Indonesian translation of gnome-shell # Copyright (C) 2010 THE gnome-shell'S COPYRIGHT HOLDER # This file is distributed under the same license as the gnome-shell package. -# Andika Triwidada , 2010. # +# Andika Triwidada , 2010. +# Dirgita , 2011. msgid "" msgstr "" "Project-Id-Version: gnome-shell master\n" "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug.cgi?product=gnome-" -"shell&component=general\n" -"POT-Creation-Date: 2010-05-30 20:55+0000\n" -"PO-Revision-Date: 2010-05-31 19:43+0700\n" -"Last-Translator: Andika Triwidada \n" +"shell&keywords=I18N+L10N&component=general\n" +"POT-Creation-Date: 2011-03-19 10:16+0000\n" +"PO-Revision-Date: 2011-03-05 22:23+0700\n" +"Last-Translator: Dirgita \n" "Language-Team: GNOME Indonesian Translation Team \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" +"Language: id\n" "Plural-Forms: nplurals=1; plural=0;\n" "X-Poedit-Language: Indonesian\n" "X-Poedit-Country: Indonesia\n" "X-Poedit-SourceCharset: UTF-8\n" +"X-Generator: Lokalize 1.1\n" #: ../data/gnome-shell.desktop.in.in.h:1 msgid "GNOME Shell" -msgstr "Shell GNOME" +msgstr "GNOME Shell" #: ../data/gnome-shell.desktop.in.in.h:2 msgid "Window management and application launching" msgstr "Manajemen jendela dan peluncuran aplikasi" -#: ../data/gnome-shell-clock-preferences.desktop.in.in.h:1 -msgid "Clock" -msgstr "Jam" +#: ../data/org.gnome.shell.gschema.xml.in.h:1 +msgid "" +"Allows access to internal debugging and monitoring tools using the Alt-F2 " +"dialog." +msgstr "" -#: ../data/gnome-shell-clock-preferences.desktop.in.in.h:2 -msgid "Customize the panel clock" -msgstr "Gubah panel jam" +#: ../data/org.gnome.shell.gschema.xml.in.h:2 +msgid "Enable internal tools useful for developers and testers from Alt-F2" +msgstr "" +"Mengaktifkan perkakas internal yang berguna bagi pengembang dan penguji " +"dengan Alt-F2" -#: ../data/clock-preferences.ui.h:1 -msgid "Clock Format" -msgstr "Format Jam" +#: ../data/org.gnome.shell.gschema.xml.in.h:3 +msgid "File extension used for storing the screencast" +msgstr "Ekstensi berkas untuk menyimpan tangkapan layar" -#: ../data/clock-preferences.ui.h:2 -msgid "Clock Preferences" -msgstr "Preferensi Jam" +#: ../data/org.gnome.shell.gschema.xml.in.h:4 +msgid "Framerate used for recording screencasts." +msgstr "Laju gambar untuk menyimpan tangkapan layar." -#: ../data/clock-preferences.ui.h:3 -msgid "Panel Display" -msgstr "Tampilan Panel" +#: ../data/org.gnome.shell.gschema.xml.in.h:5 +msgid "" +"GNOME Shell extensions have a uuid property; this key lists extensions which " +"should not be loaded." +msgstr "" -#: ../data/clock-preferences.ui.h:4 -msgid "Show seco_nds" -msgstr "Tampilka_n detik" +#: ../data/org.gnome.shell.gschema.xml.in.h:6 +msgid "History for command (Alt-F2) dialog" +msgstr "Riwayat dialog perintah (Alt-F2)" -#: ../data/clock-preferences.ui.h:5 -msgid "Show the _date" -msgstr "Tampilkan tan_ggal" +#: ../data/org.gnome.shell.gschema.xml.in.h:7 +#, fuzzy +msgid "History for the looking glass dialog" +msgstr "Riwayat dialog perintah (Alt-F2)" -#: ../data/clock-preferences.ui.h:6 -msgid "_12 hour format" -msgstr "Format _12 jam" +#: ../data/org.gnome.shell.gschema.xml.in.h:8 +msgid "If true, display date in the clock, in addition to time." +msgstr "Jika bernilai benar (true), tanggal akan ditampilkan." -#: ../data/clock-preferences.ui.h:7 -msgid "_24 hour format" -msgstr "Format _24 jam" +#: ../data/org.gnome.shell.gschema.xml.in.h:9 +msgid "If true, display seconds in time." +msgstr "Jika bernilai benar (true), detik akan ditampilkan." -#. **** Applications **** -#: ../js/ui/appDisplay.js:306 ../js/ui/dash.js:858 +#: ../data/org.gnome.shell.gschema.xml.in.h:10 +msgid "If true, display the ISO week date in the calendar." +msgstr "" + +#: ../data/org.gnome.shell.gschema.xml.in.h:11 +msgid "List of desktop file IDs for favorite applications" +msgstr "Daftar ID berkas desktop untuk aplikasi favorit" + +#: ../data/org.gnome.shell.gschema.xml.in.h:13 +#, no-c-format +msgid "" +"Sets the GStreamer pipeline used to encode recordings. It follows the syntax " +"used for gst-launch. The pipeline should have an unconnected sink pad where " +"the recorded video is recorded. It will normally have a unconnected source " +"pad; output from that pad will be written into the output file. However the " +"pipeline can also take care of its own output - this might be used to send " +"the output to an icecast server via shout2send or similar. When unset or set " +"to an empty value, the default pipeline will be used. This is currently " +"'videorate ! vp8enc quality=10 speed=2 threads=%T ! queue ! webmmux' and " +"records to WEBM using the VP8 codec. %T is used as a placeholder for a guess " +"at the optimal thread count on the system." +msgstr "" + +#: ../data/org.gnome.shell.gschema.xml.in.h:14 +msgid "Show date in clock" +msgstr "Menampilkan tanggal pada jam" + +#: ../data/org.gnome.shell.gschema.xml.in.h:15 +msgid "Show the week date in the calendar" +msgstr "Menampilkan tanggal pada kalender" + +#: ../data/org.gnome.shell.gschema.xml.in.h:16 +msgid "Show time with seconds" +msgstr "Menampilkan detik" + +#: ../data/org.gnome.shell.gschema.xml.in.h:17 +msgid "" +"The applications corresponding to these identifiers will be displayed in the " +"favorites area." +msgstr "" + +#: ../data/org.gnome.shell.gschema.xml.in.h:18 +msgid "" +"The filename for recorded screencasts will be a unique filename based on the " +"current date, and use this extension. It should be changed when recording to " +"a different container format." +msgstr "" + +#: ../data/org.gnome.shell.gschema.xml.in.h:19 +msgid "" +"The framerate of the resulting screencast recordered by GNOME Shell's " +"screencast recorder in frames-per-second." +msgstr "" + +#: ../data/org.gnome.shell.gschema.xml.in.h:20 +msgid "The gstreamer pipeline used to encode the screencast" +msgstr "" + +#: ../data/org.gnome.shell.gschema.xml.in.h:21 +msgid "" +"The shell normally monitors active applications in order to present the most " +"used ones (e.g. in launchers). While this data will be kept private, you may " +"want to disable this for privacy reasons. Please note that doing so won't " +"remove already saved data." +msgstr "" + +#: ../data/org.gnome.shell.gschema.xml.in.h:22 +msgid "Uuids of extensions to disable" +msgstr "Ekstensi Uuid yang hendak dinonaktifkan" + +#: ../data/org.gnome.shell.gschema.xml.in.h:23 +msgid "Whether to collect stats about applications usage" +msgstr "" + +#: ../data/org.gnome.shell.gschema.xml.in.h:24 +msgid "disabled OpenSearch providers" +msgstr "" + +#: ../js/misc/util.js:71 +msgid "Command not found" +msgstr "Perintah tidak ditemukan" + +#. Replace "Error invoking GLib.shell_parse_argv: " with +#. something nicer +#: ../js/misc/util.js:98 +msgid "Could not parse command:" +msgstr "Tidak dapat mengurai perintah:" + +#: ../js/misc/util.js:106 +#, c-format +msgid "Execution of '%s' failed:" +msgstr "Eksekusi '%s' gagal:" + +#. Translators: Filter to display all applications +#: ../js/ui/appDisplay.js:226 +msgid "All" +msgstr "Semua" + +#: ../js/ui/appDisplay.js:324 msgid "APPLICATIONS" msgstr "APLIKASI" -#: ../js/ui/appDisplay.js:338 -msgid "PREFERENCES" -msgstr "PREFERENSI" +#: ../js/ui/appDisplay.js:350 +msgid "SETTINGS" +msgstr "PENGATURAN" -#: ../js/ui/appDisplay.js:710 +#: ../js/ui/appDisplay.js:616 msgid "New Window" msgstr "Jendela Baru" -#: ../js/ui/appDisplay.js:714 +#: ../js/ui/appDisplay.js:619 msgid "Remove from Favorites" msgstr "Hapus dari Favorit" -#: ../js/ui/appDisplay.js:715 +#: ../js/ui/appDisplay.js:620 msgid "Add to Favorites" msgstr "Tambah ke Favorit" -#: ../js/ui/appDisplay.js:1042 -msgid "Drag here to add favorites" -msgstr "Seret ke sini untuk menambah favorit" - -#: ../js/ui/appFavorites.js:89 +#: ../js/ui/appFavorites.js:91 #, c-format msgid "%s has been added to your favorites." msgstr "%s telah ditambahkan ke favorit Anda." -#: ../js/ui/appFavorites.js:107 +#: ../js/ui/appFavorites.js:122 #, c-format msgid "%s has been removed from your favorites." msgstr "%s telah dihapus dari favorit Anda." -#: ../js/ui/dash.js:189 -msgid "Find" -msgstr "Temukan" +#. Translators: Shown in calendar event list for all day events +#. * Keep it short, best if you can use less then 10 characters +#. +#: ../js/ui/calendar.js:66 +msgctxt "event list time" +msgid "All Day" +msgstr "Sepanjang Hari" -#: ../js/ui/dash.js:513 -msgid "Searching..." -msgstr "Mencari..." +#. Translators: Shown in calendar event list, if 24h format +#: ../js/ui/calendar.js:71 +msgctxt "event list time" +msgid "%H:%M" +msgstr "%H:%M" -#: ../js/ui/dash.js:527 -msgid "No matching results." -msgstr "Tak ada yang cocok." +#. Transators: Shown in calendar event list, if 12h format +#: ../js/ui/calendar.js:78 +msgctxt "event list time" +msgid "%l:%M %p" +msgstr "%l:%M" -#. **** Places **** -#. Translators: This is in the sense of locations for documents, -#. network locations, etc. -#: ../js/ui/dash.js:877 ../js/ui/placeDisplay.js:551 -msgid "PLACES & DEVICES" -msgstr "LOKASI & PERANGKAT" +#. Translators: Calendar grid abbreviation for Sunday. +#. * +#. * NOTE: These grid abbreviations are always shown together +#. * and in order, e.g. "S M T W T F S". +#. +#: ../js/ui/calendar.js:118 +msgctxt "grid sunday" +msgid "S" +msgstr "M" -#. **** Documents **** -#: ../js/ui/dash.js:884 ../js/ui/docDisplay.js:497 -msgid "RECENT ITEMS" -msgstr "DOKUMEN TERKINI" +#. Translators: Calendar grid abbreviation for Monday +#: ../js/ui/calendar.js:120 +msgctxt "grid monday" +msgid "M" +msgstr "S" -#: ../js/ui/lookingGlass.js:470 -msgid "No extensions installed" -msgstr "Tak ada ekstensi terpasang" +#. Translators: Calendar grid abbreviation for Tuesday +#: ../js/ui/calendar.js:122 +msgctxt "grid tuesday" +msgid "T" +msgstr "S" -#: ../js/ui/lookingGlass.js:507 -msgid "Enabled" -msgstr "Diaktifkan" +#. Translators: Calendar grid abbreviation for Wednesday +#: ../js/ui/calendar.js:124 +msgctxt "grid wednesday" +msgid "W" +msgstr "R" -#: ../js/ui/lookingGlass.js:509 -msgid "Disabled" -msgstr "Dinonaktifkan" +#. Translators: Calendar grid abbreviation for Thursday +#: ../js/ui/calendar.js:126 +msgctxt "grid thursday" +msgid "T" +msgstr "K" -#: ../js/ui/lookingGlass.js:511 -msgid "Error" -msgstr "Galat" +#. Translators: Calendar grid abbreviation for Friday +#: ../js/ui/calendar.js:128 +msgctxt "grid friday" +msgid "F" +msgstr "J" -#: ../js/ui/lookingGlass.js:513 -msgid "Out of date" -msgstr "Kadaluarsa" +#. Translators: Calendar grid abbreviation for Saturday +#: ../js/ui/calendar.js:130 +msgctxt "grid saturday" +msgid "S" +msgstr "S" -#: ../js/ui/lookingGlass.js:538 -msgid "View Source" -msgstr "Tilik Sumber" +#. Translators: Event list abbreviation for Sunday. +#. * +#. * NOTE: These list abbreviations are normally not shown together +#. * so they need to be unique (e.g. Tuesday and Thursday cannot +#. * both be 'T'). +#. +#: ../js/ui/calendar.js:143 +msgctxt "list sunday" +msgid "Su" +msgstr "Min" -#: ../js/ui/lookingGlass.js:544 -msgid "Web Page" -msgstr "Halaman Web" +#. Translators: Event list abbreviation for Monday +#: ../js/ui/calendar.js:145 +msgctxt "list monday" +msgid "M" +msgstr "Sen" -#: ../js/ui/overview.js:161 -msgid "Undo" -msgstr "Batal" +#. Translators: Event list abbreviation for Tuesday +#: ../js/ui/calendar.js:147 +msgctxt "list tuesday" +msgid "T" +msgstr "Sel" -#. Button on the left side of the panel. -#. Translators: If there is no suitable word for "Activities" in your language, you can use the word for "Overview". -#: ../js/ui/panel.js:903 -msgid "Activities" -msgstr "Aktivitas" +#. Translators: Event list abbreviation for Wednesday +#: ../js/ui/calendar.js:149 +msgctxt "list wednesday" +msgid "W" +msgstr "Rab" + +#. Translators: Event list abbreviation for Thursday +#: ../js/ui/calendar.js:151 +msgctxt "list thursday" +msgid "Th" +msgstr "Kam" + +#. Translators: Event list abbreviation for Friday +#: ../js/ui/calendar.js:153 +msgctxt "list friday" +msgid "F" +msgstr "Jum" + +#. Translators: Event list abbreviation for Saturday +#: ../js/ui/calendar.js:155 +msgctxt "list saturday" +msgid "S" +msgstr "Sab" + +#. Translators: Text to show if there are no events +#: ../js/ui/calendar.js:704 +msgid "Nothing Scheduled" +msgstr "Tidak Ada Jadwal" + +#. Translators: Shown on calendar heading when selected day occurs on current year +#: ../js/ui/calendar.js:720 +msgctxt "calendar heading" +msgid "%A, %B %d" +msgstr "%A, %d %B" + +#. Translators: Shown on calendar heading when selected day occurs on different year +#: ../js/ui/calendar.js:723 +msgctxt "calendar heading" +msgid "%A, %B %d, %Y" +msgstr "%A, %d %B %Y" + +#: ../js/ui/calendar.js:733 +msgid "Today" +msgstr "Hari ini" + +#: ../js/ui/calendar.js:737 +msgid "Tomorrow" +msgstr "Besok" + +#: ../js/ui/calendar.js:746 +msgid "This week" +msgstr "Minggu ini" + +#: ../js/ui/calendar.js:754 +msgid "Next week" +msgstr "Minggu depan" + +#: ../js/ui/dash.js:174 ../js/ui/messageTray.js:933 +msgid "Remove" +msgstr "Hapus" + +#: ../js/ui/dateMenu.js:91 +msgid "Date and Time Settings" +msgstr "Pengaturan Waktu dan Tanggal" + +#: ../js/ui/dateMenu.js:111 +msgid "Open Calendar" +msgstr "Buka Kalender" #. Translators: This is the time format with date used #. in 24-hour mode. -#: ../js/ui/panel.js:1118 +#: ../js/ui/dateMenu.js:164 msgid "%a %b %e, %R:%S" msgstr "%a %e %b, %R:%S" -#: ../js/ui/panel.js:1119 +#: ../js/ui/dateMenu.js:165 msgid "%a %b %e, %R" msgstr "%a %e %b, %R" #. Translators: This is the time format without date used #. in 24-hour mode. -#: ../js/ui/panel.js:1123 +#: ../js/ui/dateMenu.js:169 msgid "%a %R:%S" msgstr "%a %R:%S" -#: ../js/ui/panel.js:1124 +#: ../js/ui/dateMenu.js:170 msgid "%a %R" msgstr "%a %R" #. Translators: This is a time format with date used #. for AM/PM. -#: ../js/ui/panel.js:1131 +#: ../js/ui/dateMenu.js:177 msgid "%a %b %e, %l:%M:%S %p" msgstr "%a %e %b, %k:%M:%S" -#: ../js/ui/panel.js:1132 +#: ../js/ui/dateMenu.js:178 msgid "%a %b %e, %l:%M %p" msgstr "%a %e %b, %k:%M" #. Translators: This is a time format without date used #. for AM/PM. -#: ../js/ui/panel.js:1136 +#: ../js/ui/dateMenu.js:182 msgid "%a %l:%M:%S %p" msgstr "%a %k:%M:%S" -#: ../js/ui/panel.js:1137 +#: ../js/ui/dateMenu.js:183 msgid "%a %l:%M %p" msgstr "%a %k:%M" -#: ../js/ui/placeDisplay.js:108 +#. Translators: This is the date format to use when the calendar popup is +#. * shown - it is shown just below the time in the shell (e.g. "Tue 9:29 AM"). +#. +#: ../js/ui/dateMenu.js:194 +#, fuzzy +msgid "%A %B %e, %Y" +msgstr "%a %e %b, %R" + +#: ../js/ui/docDisplay.js:19 +msgid "RECENT ITEMS" +msgstr "DOKUMEN TERKINI" + +#: ../js/ui/endSessionDialog.js:63 +#, c-format +msgid "Log Out %s" +msgstr "Keluar %s" + +#: ../js/ui/endSessionDialog.js:64 ../js/ui/endSessionDialog.js:69 +msgid "Log Out" +msgstr "Keluar" + +#: ../js/ui/endSessionDialog.js:65 +msgid "Click Log Out to quit these applications and log out of the system." +msgstr "Klik Keluar untuk menutup aplikasi ini serta keluar dari sistem." + +#: ../js/ui/endSessionDialog.js:66 +#, c-format +msgid "%s will be logged out automatically in %d seconds." +msgstr "%s akan keluar otomatis dalam %d detik." + +#: ../js/ui/endSessionDialog.js:67 +#, c-format +msgid "You will be logged out automatically in %d seconds." +msgstr "Anda akan keluar otomatis dalam %d detik." + +#: ../js/ui/endSessionDialog.js:68 +msgid "Logging out of the system." +msgstr "Keluar dari sistem." + +#: ../js/ui/endSessionDialog.js:74 ../js/ui/endSessionDialog.js:78 +msgid "Shut Down" +msgstr "Matikan" + +#: ../js/ui/endSessionDialog.js:75 +msgid "Click Shut Down to quit these applications and shut down the system." +msgstr "Klik Matikan untuk menutup aplikasi ini serta mematikan sistem." + +#: ../js/ui/endSessionDialog.js:76 +#, c-format +msgid "The system will shut down automatically in %d seconds." +msgstr "Sistem akan mati otomatis dalam %d detik." + +#: ../js/ui/endSessionDialog.js:77 +msgid "Shutting down the system." +msgstr "Mematikan sistem." + +#: ../js/ui/endSessionDialog.js:84 ../js/ui/endSessionDialog.js:88 +msgid "Restart" +msgstr "Nyalakan Ulang" + +#: ../js/ui/endSessionDialog.js:85 +msgid "Click Restart to quit these applications and restart the system." +msgstr "" +"Klik Nyalakan Ulang untuk menutup aplikasi ini serta menyalakan kembali " +"sistem." + +#: ../js/ui/endSessionDialog.js:86 +#, c-format +msgid "The system will restart automatically in %d seconds." +msgstr "Sistem akan dinyalakan ulang setelah %d detik." + +#: ../js/ui/endSessionDialog.js:87 +msgid "Restarting the system." +msgstr "Menyalan ulang sistem." + +#: ../js/ui/endSessionDialog.js:395 +msgid "Confirm" +msgstr "Konfirmasi" + +#: ../js/ui/endSessionDialog.js:400 ../js/ui/status/bluetooth.js:466 +msgid "Cancel" +msgstr "Batal" + +#: ../js/ui/lookingGlass.js:588 +msgid "No extensions installed" +msgstr "Tak ada ekstensi terpasang" + +#: ../js/ui/lookingGlass.js:625 +msgid "Enabled" +msgstr "Diaktifkan" + +#. translators: +#. * The device has been disabled +#: ../js/ui/lookingGlass.js:627 ../src/gvc/gvc-mixer-control.c:1091 +msgid "Disabled" +msgstr "Dinonaktifkan" + +#: ../js/ui/lookingGlass.js:629 +msgid "Error" +msgstr "Galat" + +#: ../js/ui/lookingGlass.js:631 +msgid "Out of date" +msgstr "Kadaluarsa" + +#: ../js/ui/lookingGlass.js:656 +msgid "View Source" +msgstr "Tilik Sumber" + +#: ../js/ui/lookingGlass.js:662 +msgid "Web Page" +msgstr "Halaman Web" + +#: ../js/ui/messageTray.js:926 +msgid "Open" +msgstr "" + +#: ../js/ui/messageTray.js:1986 +msgid "System Information" +msgstr "Informasi Sistem" + +#: ../js/ui/overview.js:88 +msgid "Undo" +msgstr "Batal" + +#: ../js/ui/overview.js:183 +msgid "Windows" +msgstr "Jendela" + +#: ../js/ui/overview.js:186 +msgid "Applications" +msgstr "Aplikasi" + +#. Translators: this is the name of the dock/favorites area on +#. the left of the overview +#: ../js/ui/overview.js:202 +msgid "Dash" +msgstr "" + +#. TODO - _quit() doesn't really work on apps in state STARTING yet +#: ../js/ui/panel.js:515 +#, c-format +msgid "Quit %s" +msgstr "Keluar %s" + +#. Button on the left side of the panel. +#. Translators: If there is no suitable word for "Activities" in your language, you can use the word for "Overview". +#: ../js/ui/panel.js:874 +msgid "Activities" +msgstr "Aktivitas" + +#: ../js/ui/panel.js:975 +#, fuzzy +#| msgid "Cancel" +msgid "Panel" +msgstr "Batal" + +#: ../js/ui/placeDisplay.js:122 #, c-format msgid "Failed to unmount '%s'" msgstr "Gagal melepas kait '%s'" -#: ../js/ui/placeDisplay.js:111 +#: ../js/ui/placeDisplay.js:125 msgid "Retry" msgstr "Coba lagi" -#: ../js/ui/placeDisplay.js:156 +#: ../js/ui/placeDisplay.js:165 msgid "Connect to..." msgstr "Sambung ke..." -#: ../js/ui/runDialog.js:231 +#: ../js/ui/placeDisplay.js:380 +msgid "PLACES & DEVICES" +msgstr "LOKASI & PERANGKAT" + +# Dirgita: Hayo, enaknya pake I/O atau ON/OFF?^^ +#. Translators: this MUST be either "toggle-switch-us" +#. (for toggle switches containing the English words +#. "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:636 +msgid "toggle-switch-us" +msgstr "toggle-switch-intl" + +#: ../js/ui/runDialog.js:201 msgid "Please enter a command:" -msgstr "Silakan masukkan suatu perintah:" +msgstr "Ketikkan perintah:" -#: ../js/ui/runDialog.js:375 -#, c-format -msgid "Execution of '%s' failed:" -msgstr "Eksekusi '%s' gagal:" +#: ../js/ui/searchDisplay.js:287 +msgid "Searching..." +msgstr "Mencari..." -#: ../js/ui/statusMenu.js:90 +#: ../js/ui/searchDisplay.js:301 +msgid "No matching results." +msgstr "Tak ada yang cocok." + +#: ../js/ui/statusMenu.js:114 ../js/ui/statusMenu.js:178 +msgid "Power Off..." +msgstr "Matikan..." + +#: ../js/ui/statusMenu.js:116 ../js/ui/statusMenu.js:177 +msgid "Suspend" +msgstr "Suspensi" + +#: ../js/ui/statusMenu.js:137 msgid "Available" msgstr "Ada" -#: ../js/ui/statusMenu.js:94 +#: ../js/ui/statusMenu.js:142 msgid "Busy" msgstr "Sibuk" -#: ../js/ui/statusMenu.js:98 -msgid "Invisible" -msgstr "Tak nampak" +#: ../js/ui/statusMenu.js:150 +msgid "My Account" +msgstr "Akun Saya" -#: ../js/ui/statusMenu.js:105 -msgid "Account Information..." -msgstr "Informasi Akun..." +#: ../js/ui/statusMenu.js:154 +msgid "System Settings" +msgstr "Pengaturan Sistem" -#: ../js/ui/statusMenu.js:109 -msgid "System Preferences..." -msgstr "Preferensi Sistem..." - -#: ../js/ui/statusMenu.js:116 +#: ../js/ui/statusMenu.js:161 msgid "Lock Screen" msgstr "Kunci Layar" -#: ../js/ui/statusMenu.js:120 +#: ../js/ui/statusMenu.js:165 msgid "Switch User" msgstr "Ganti Pengguna" -#: ../js/ui/statusMenu.js:125 +#: ../js/ui/statusMenu.js:170 msgid "Log Out..." msgstr "Keluar..." -#: ../js/ui/statusMenu.js:129 -msgid "Shut Down..." -msgstr "Matikan..." +#: ../js/ui/status/accessibility.js:62 +msgid "Zoom" +msgstr "Zum" -#: ../js/ui/windowAttentionHandler.js:47 +#. let screenReader = this._buildItem(_("Screen Reader"), APPLICATIONS_SCHEMA, +#. 'screen-reader-enabled'); +#. this.menu.addMenuItem(screenReader); +#. let screenKeyboard = this._buildItem(_("Screen Keyboard"), APPLICATIONS_SCHEMA, +#. 'screen-keyboard-enabled'); +#. this.menu.addMenuItem(screenKeyboard); +#: ../js/ui/status/accessibility.js:77 +msgid "Visual Alerts" +msgstr "Peringatan Visual" + +#: ../js/ui/status/accessibility.js:80 +msgid "Sticky Keys" +msgstr "Tombol Lengket" + +#: ../js/ui/status/accessibility.js:83 +msgid "Slow Keys" +msgstr "Tombol Lambat" + +#: ../js/ui/status/accessibility.js:86 +msgid "Bounce Keys" +msgstr "Tombol Pantul" + +#: ../js/ui/status/accessibility.js:89 +msgid "Mouse Keys" +msgstr "Tombol Tetikus" + +#: ../js/ui/status/accessibility.js:93 +msgid "Universal Access Settings" +msgstr "Pengaturan Akses Universal" + +#: ../js/ui/status/accessibility.js:146 +msgid "High Contrast" +msgstr "Kontras Tinggi" + +#: ../js/ui/status/accessibility.js:183 +msgid "Large Text" +msgstr "Teks Besar" + +#: ../js/ui/status/bluetooth.js:42 ../js/ui/status/bluetooth.js:237 +#: ../js/ui/status/bluetooth.js:333 ../js/ui/status/bluetooth.js:367 +#: ../js/ui/status/bluetooth.js:407 ../js/ui/status/bluetooth.js:440 +msgid "Bluetooth" +msgstr "Bluetooth" + +#: ../js/ui/status/bluetooth.js:55 +msgid "Visibility" +msgstr "Visibilitas" + +#: ../js/ui/status/bluetooth.js:69 +msgid "Send Files to Device..." +msgstr "Kirim Berkas pada Perangkat..." + +#: ../js/ui/status/bluetooth.js:70 +msgid "Setup a New Device..." +msgstr "Setel Perangkat Baru..." + +#: ../js/ui/status/bluetooth.js:95 +msgid "Bluetooth Settings" +msgstr "Pengaturan Bluetooth" + +#: ../js/ui/status/bluetooth.js:188 +msgid "Connection" +msgstr "Koneksi" + +#: ../js/ui/status/bluetooth.js:224 +msgid "Send Files..." +msgstr "Kirim Berkas..." + +#: ../js/ui/status/bluetooth.js:229 +msgid "Browse Files..." +msgstr "Telusur Berkas..." + +#: ../js/ui/status/bluetooth.js:238 +msgid "Error browsing device" +msgstr "Galat ketika menelusuri perangkat" + +#: ../js/ui/status/bluetooth.js:239 +#, c-format +msgid "The requested device cannot be browsed, error is '%s'" +msgstr "Perangkat yang dipinta tidak dapat ditelusuri, dengan galat '%s'" + +#: ../js/ui/status/bluetooth.js:247 +msgid "Keyboard Settings" +msgstr "Pengaturan Papan Ketik" + +#: ../js/ui/status/bluetooth.js:252 +msgid "Mouse Settings" +msgstr "Pengaturan Tetikus" + +#: ../js/ui/status/bluetooth.js:259 ../js/ui/status/volume.js:66 +msgid "Sound Settings" +msgstr "Pengaturan Suara" + +#: ../js/ui/status/bluetooth.js:368 +#, c-format +msgid "Authorization request from %s" +msgstr "Permintaan otorisasi dari %s" + +#: ../js/ui/status/bluetooth.js:374 +#, c-format +msgid "Device %s wants access to the service '%s'" +msgstr "Perangkat %s ingin mengakses layanan '%s'" + +#: ../js/ui/status/bluetooth.js:376 +msgid "Always grant access" +msgstr "Selalu berikan akses" + +#: ../js/ui/status/bluetooth.js:377 +msgid "Grant this time only" +msgstr "Hanya untuk saat ini" + +#: ../js/ui/status/bluetooth.js:378 +msgid "Reject" +msgstr "Tolak" + +#: ../js/ui/status/bluetooth.js:408 +#, c-format +msgid "Pairing confirmation for %s" +msgstr "Konfirmasi berpasangan untuk %s" + +#: ../js/ui/status/bluetooth.js:414 ../js/ui/status/bluetooth.js:448 +#, c-format +msgid "Device %s wants to pair with this computer" +msgstr "Perangkat %s ingin berpasangan dengan komputer ini" + +#: ../js/ui/status/bluetooth.js:415 +#, c-format +msgid "Please confirm whether the PIN '%s' matches the one on the device." +msgstr "" + +#: ../js/ui/status/bluetooth.js:417 +msgid "Matches" +msgstr "Cocok" + +#: ../js/ui/status/bluetooth.js:418 +msgid "Does not match" +msgstr "Tidak cocok" + +#: ../js/ui/status/bluetooth.js:441 +#, c-format +msgid "Pairing request for %s" +msgstr "Permintaan berpasangan untuk %s" + +#: ../js/ui/status/bluetooth.js:449 +msgid "Please enter the PIN mentioned on the device." +msgstr "Ketikkan PIN yang disebutkan oleh perangkat." + +#: ../js/ui/status/bluetooth.js:465 +msgid "OK" +msgstr "Oke" + +#: ../js/ui/status/keyboard.js:73 +msgid "Show Keyboard Layout..." +msgstr "Tampilkan Tata Letak Papan Ketik..." + +#: ../js/ui/status/keyboard.js:76 +msgid "Localization Settings" +msgstr "Pengaturan Pelokalan" + +#: ../js/ui/status/network.js:102 ../js/ui/status/network.js:1393 +#, fuzzy +#| msgid "Unknown" +msgid "" +msgstr "Tak dikenal" + +#. Translators: this indicates that wireless or wwan is disabled by hardware killswitch +#: ../js/ui/status/network.js:295 +#, fuzzy +#| msgid "Disabled" +msgid "disabled" +msgstr "Dinonaktifkan" + +#: ../js/ui/status/network.js:476 +#, fuzzy +#| msgid "Connection" +msgid "connecting..." +msgstr "Koneksi" + +#. Translators: this is for network connections that require some kind of key or password +#: ../js/ui/status/network.js:479 +msgid "authentication required" +msgstr "" + +#. Translators: this is for wired network devices that are physically disconnected +#: ../js/ui/status/network.js:485 +msgid "cable unplugged" +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:489 +#, fuzzy +#| msgid "Available" +msgid "unavailable" +msgstr "Ada" + +#: ../js/ui/status/network.js:491 +#, fuzzy +#| msgid "Connection" +msgid "connection failed" +msgstr "Koneksi" + +#. TRANSLATORS: this is the indication that a connection for another logged in user is active, +#. and we cannot access its settings (including the name) +#: ../js/ui/status/network.js:571 ../js/ui/status/network.js:1341 +msgid "Connected (private)" +msgstr "" + +#: ../js/ui/status/network.js:636 +msgid "Auto Ethernet" +msgstr "" + +#: ../js/ui/status/network.js:697 +msgid "Auto broadband" +msgstr "" + +#: ../js/ui/status/network.js:700 +msgid "Auto dial-up" +msgstr "" + +#. TRANSLATORS: this the automatic wireless connection name (including the network name) +#: ../js/ui/status/network.js:843 ../js/ui/status/network.js:1353 +#, fuzzy, c-format +#| msgid "Quit %s" +msgid "Auto %s" +msgstr "Keluar %s" + +#: ../js/ui/status/network.js:845 +#, fuzzy +#| msgid "Bluetooth" +msgid "Auto bluetooth" +msgstr "Bluetooth" + +#: ../js/ui/status/network.js:1355 +msgid "Auto wireless" +msgstr "" + +#: ../js/ui/status/network.js:1413 +msgid "More..." +msgstr "" + +#: ../js/ui/status/network.js:1436 +msgid "Enable networking" +msgstr "" + +#: ../js/ui/status/network.js:1448 +msgid "Wired" +msgstr "" + +#: ../js/ui/status/network.js:1459 +msgid "Wireless" +msgstr "" + +#: ../js/ui/status/network.js:1469 +msgid "Mobile broadband" +msgstr "" + +#: ../js/ui/status/network.js:1479 +#, fuzzy +#| msgid "Connection" +msgid "VPN Connections" +msgstr "Koneksi" + +#: ../js/ui/status/network.js:1488 +#, fuzzy +#| msgid "Power Settings" +msgid "Network Settings" +msgstr "Pengaturan Daya" + +#: ../js/ui/status/network.js:1783 +#, c-format +msgid "You're now connected to mobile broadband connection '%s'" +msgstr "" + +#: ../js/ui/status/network.js:1787 +#, c-format +msgid "You're now connected to wireless network '%s'" +msgstr "" + +#: ../js/ui/status/network.js:1791 +#, c-format +msgid "You're now connected to wired network '%s'" +msgstr "" + +#: ../js/ui/status/network.js:1795 +#, c-format +msgid "You're now connected to VPN network '%s'" +msgstr "" + +#: ../js/ui/status/network.js:1800 +#, c-format +msgid "You're now connected to '%s'" +msgstr "" + +#: ../js/ui/status/network.js:1808 +#, fuzzy +#| msgid "Connection" +msgid "Connection established" +msgstr "Koneksi" + +#: ../js/ui/status/network.js:1930 +msgid "Networking is disabled" +msgstr "" + +#: ../js/ui/status/network.js:2055 +msgid "Network Manager" +msgstr "" + +#: ../js/ui/status/power.js:85 +msgid "Power Settings" +msgstr "Pengaturan Daya" + +#. 0 is reported when UPower does not have enough data +#. to estimate battery life +#: ../js/ui/status/power.js:111 +msgid "Estimating..." +msgstr "Memperkirakan..." + +#: ../js/ui/status/power.js:118 +#, c-format +msgid "%d hour remaining" +msgid_plural "%d hours remaining" +msgstr[0] "%d jam lagi" + +#. TRANSLATORS: this is a time string, as in "%d hours %d minutes remaining" +#: ../js/ui/status/power.js:121 +#, c-format +msgid "%d %s %d %s remaining" +msgstr "%d %s %d %s lagi" + +#: ../js/ui/status/power.js:123 +msgid "hour" +msgid_plural "hours" +msgstr[0] "jam" + +#: ../js/ui/status/power.js:123 +msgid "minute" +msgid_plural "minutes" +msgstr[0] "menit" + +#: ../js/ui/status/power.js:126 +#, c-format +msgid "%d minute remaining" +msgid_plural "%d minutes remaining" +msgstr[0] "%d menit lagi" + +#: ../js/ui/status/power.js:228 +msgid "AC adapter" +msgstr "Adaptor AC" + +#: ../js/ui/status/power.js:230 +msgid "Laptop battery" +msgstr "Baterai laptop" + +#: ../js/ui/status/power.js:232 +msgid "UPS" +msgstr "UPS" + +#: ../js/ui/status/power.js:234 +msgid "Monitor" +msgstr "Monitor" + +#: ../js/ui/status/power.js:236 +msgid "Mouse" +msgstr "Tetikus" + +#: ../js/ui/status/power.js:238 +msgid "Keyboard" +msgstr "Papan Ketik" + +#: ../js/ui/status/power.js:240 +msgid "PDA" +msgstr "PDA" + +#: ../js/ui/status/power.js:242 +msgid "Cell phone" +msgstr "Ponsel" + +#: ../js/ui/status/power.js:244 +msgid "Media player" +msgstr "Pemutar media" + +#: ../js/ui/status/power.js:246 +msgid "Tablet" +msgstr "Tablet" + +#: ../js/ui/status/power.js:248 +msgid "Computer" +msgstr "Komputer" + +#: ../js/ui/status/power.js:250 ../src/shell-app-system.c:961 +msgid "Unknown" +msgstr "Tak dikenal" + +#: ../js/ui/status/volume.js:45 +msgid "Volume" +msgstr "Volume" + +#: ../js/ui/status/volume.js:58 +msgid "Microphone" +msgstr "Mikrofon" + +#: ../js/ui/telepathyClient.js:332 +#, c-format +msgid "%s is online." +msgstr "%s tersedia." + +#: ../js/ui/telepathyClient.js:337 +#, c-format +msgid "%s is offline." +msgstr "%s tidak tersedia." + +#: ../js/ui/telepathyClient.js:340 +#, c-format +msgid "%s is away." +msgstr "%s sedang pergi." + +#: ../js/ui/telepathyClient.js:343 +#, c-format +msgid "%s is busy." +msgstr "%s sibuk." + +#. Translators: this is a time format string followed by a date. +#. If applicable, replace %X with a strftime format valid for your +#. locale, without seconds. +#: ../js/ui/telepathyClient.js:474 +#, no-c-format +msgid "Sent at %X on %A" +msgstr "Dikirim pada %X dari %A" + +#. Translators: this is the text displayed +#. in the search entry when no search is +#. active; it should not exceed ~30 +#. characters. +#: ../js/ui/viewSelector.js:122 +msgid "Type to search..." +msgstr "Ketik yang ingin dicari..." + +#: ../js/ui/viewSelector.js:142 ../src/shell-util.c:250 +msgid "Search" +msgstr "Cari" + +#: ../js/ui/windowAttentionHandler.js:42 #, c-format msgid "%s has finished starting" msgstr "%s telah selesai diawali" -#: ../js/ui/windowAttentionHandler.js:49 +#: ../js/ui/windowAttentionHandler.js:44 #, c-format msgid "'%s' is ready" msgstr "'%s' telah siap" -#: ../js/ui/workspacesView.js:237 -msgid "" -"Can't add a new workspace because maximum workspaces limit has been reached." +#. translators: +#. * The number of sound outputs on a particular device +#: ../src/gvc/gvc-mixer-control.c:1098 +#, c-format +msgid "%u Output" +msgid_plural "%u Outputs" +msgstr[0] "%u Keluaran" + +#. translators: +#. * The number of sound inputs on a particular device +#: ../src/gvc/gvc-mixer-control.c:1108 +#, c-format +msgid "%u Input" +msgid_plural "%u Inputs" +msgstr[0] "%u Masukan" + +#: ../src/gvc/gvc-mixer-control.c:1406 +msgid "System Sounds" +msgstr "Suara Sistem" + +#: ../src/main.c:397 +msgid "Print version" msgstr "" -"Tak bisa menambah ruang kerja baru karena batas ruang kerja maksimum telah " -"tercapai." -#: ../js/ui/workspacesView.js:254 -msgid "Can't remove the first workspace." -msgstr "Tak bisa menghapus ruang kerja pertama." +#: ../src/shell-app.c:454 +#, fuzzy, c-format +#| msgid "Failed to unmount '%s'" +msgid "Failed to launch '%s'" +msgstr "Gagal melepas kait '%s'" -#: ../src/shell-global.c:1027 +#: ../src/shell-global.c:1340 msgid "Less than a minute ago" msgstr "Kurang dari semenit yang lalu" -#: ../src/shell-global.c:1031 +#: ../src/shell-global.c:1344 #, c-format msgid "%d minute ago" msgid_plural "%d minutes ago" msgstr[0] "%d menit yang lalu" -#: ../src/shell-global.c:1036 +#: ../src/shell-global.c:1349 #, c-format msgid "%d hour ago" msgid_plural "%d hours ago" msgstr[0] "%d jam yang lalu " -#: ../src/shell-global.c:1041 +#: ../src/shell-global.c:1354 #, c-format msgid "%d day ago" msgid_plural "%d days ago" msgstr[0] "%d hari yang lalu" -#: ../src/shell-global.c:1046 +#: ../src/shell-global.c:1359 #, c-format msgid "%d week ago" msgid_plural "%d weeks ago" msgstr[0] "%d minggu yang lalu" -#: ../src/shell-uri-util.c:89 +#: ../src/shell-mobile-providers.c:80 +msgid "United Kingdom" +msgstr "" + +#: ../src/shell-mobile-providers.c:526 +msgid "Default" +msgstr "" + +#: ../src/shell-polkit-authentication-agent.c:334 +msgid "Authentication dialog was dismissed by the user" +msgstr "" + +#: ../src/shell-util.c:89 msgid "Home Folder" msgstr "Folder Rumah" #. Translators: this is the same string as the one found in #. * nautilus -#: ../src/shell-uri-util.c:104 +#: ../src/shell-util.c:104 msgid "File System" msgstr "Sistem Berkas" -#: ../src/shell-uri-util.c:250 -msgid "Search" -msgstr "Cari" - #. Translators: the first string is the name of a gvfs #. * method, and the second string is a path. For #. * example, "Trash: some-directory". It means that the #. * directory called "some-directory" is in the trash. #. -#: ../src/shell-uri-util.c:300 +#: ../src/shell-util.c:300 #, c-format msgid "%1$s: %2$s" msgstr "%1$s: %2$s" + +#~ msgid "No such application" +#~ msgstr "Tidak ada aplikasi" + +#~ msgid "Screen Reader" +#~ msgstr "Pembaca Layar" + +#~ msgid "Screen Keyboard" +#~ msgstr "Papan Tik Layar" + +#~ msgid "PREFERENCES" +#~ msgstr "PREFERENSI" From 14e65168c9430984fa1442c6ca45a454dfa18f57 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Piotr=20Dr=C4=85g?= Date: Sat, 19 Mar 2011 16:19:43 +0100 Subject: [PATCH 088/203] Updated Polish translation --- po/pl.po | 345 ++++++++++++++++++++++++++++++++++++++----------------- 1 file changed, 241 insertions(+), 104 deletions(-) diff --git a/po/pl.po b/po/pl.po index 45929ed68..bbec458af 100644 --- a/po/pl.po +++ b/po/pl.po @@ -8,8 +8,8 @@ msgid "" msgstr "" "Project-Id-Version: gnome-shell\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2011-03-09 21:48+0100\n" -"PO-Revision-Date: 2011-03-09 21:49+0100\n" +"POT-Creation-Date: 2011-03-19 16:19+0100\n" +"PO-Revision-Date: 2011-03-19 16:20+0100\n" "Last-Translator: Piotr Drąg \n" "Language-Team: Polish \n" "Language: pl\n" @@ -176,21 +176,17 @@ msgstr "Określa, czy zbierać statystyki o użyciu programów" msgid "disabled OpenSearch providers" msgstr "Wyłączeni dostawcy OpenSearch" -#: ../js/misc/util.js:86 +#: ../js/misc/util.js:71 msgid "Command not found" msgstr "Nie odnaleziono polecenia" #. Replace "Error invoking GLib.shell_parse_argv: " with #. something nicer -#: ../js/misc/util.js:113 +#: ../js/misc/util.js:98 msgid "Could not parse command:" msgstr "Nie można przetworzyć polecenia:" -#: ../js/misc/util.js:135 -msgid "No such application" -msgstr "Nie ma takiego programu" - -#: ../js/misc/util.js:148 +#: ../js/misc/util.js:106 #, c-format msgid "Execution of '%s' failed:" msgstr "Wykonanie polecenia \"%s\" się nie powiodło:" @@ -208,15 +204,15 @@ msgstr "Programy" msgid "SETTINGS" msgstr "Ustawienia" -#: ../js/ui/appDisplay.js:612 +#: ../js/ui/appDisplay.js:616 msgid "New Window" msgstr "Nowe okno" -#: ../js/ui/appDisplay.js:615 +#: ../js/ui/appDisplay.js:619 msgid "Remove from Favorites" msgstr "Usuń z ulubionych" -#: ../js/ui/appDisplay.js:616 +#: ../js/ui/appDisplay.js:620 msgid "Add to Favorites" msgstr "Dodaj do ulubionych" @@ -376,7 +372,7 @@ msgstr "Ten tydzień" msgid "Next week" msgstr "Następny tydzień" -#: ../js/ui/dash.js:174 ../js/ui/messageTray.js:931 +#: ../js/ui/dash.js:174 ../js/ui/messageTray.js:933 msgid "Remove" msgstr "Usuń" @@ -431,7 +427,7 @@ msgstr "%a, %l:%M %p" #. Translators: This is the date format to use when the calendar popup is #. * shown - it is shown just below the time in the shell (e.g. "Tue 9:29 AM"). #. -#: ../js/ui/dateMenu.js:209 +#: ../js/ui/dateMenu.js:194 msgid "%A %B %e, %Y" msgstr "%A %e %B, %Y" @@ -507,7 +503,7 @@ msgstr "Ponowne uruchamianie systemu." msgid "Confirm" msgstr "Potwierdź" -#: ../js/ui/endSessionDialog.js:400 ../js/ui/status/bluetooth.js:470 +#: ../js/ui/endSessionDialog.js:400 ../js/ui/status/bluetooth.js:466 msgid "Cancel" msgstr "Anuluj" @@ -521,7 +517,7 @@ msgstr "Włączone" #. translators: #. * The device has been disabled -#: ../js/ui/lookingGlass.js:627 ../src/gvc/gvc-mixer-control.c:1087 +#: ../js/ui/lookingGlass.js:627 ../src/gvc/gvc-mixer-control.c:1091 msgid "Disabled" msgstr "Wyłączone" @@ -541,11 +537,11 @@ msgstr "Wyświetl źródło" msgid "Web Page" msgstr "Strona WWW" -#: ../js/ui/messageTray.js:924 +#: ../js/ui/messageTray.js:926 msgid "Open" msgstr "Otwórz" -#: ../js/ui/messageTray.js:1961 +#: ../js/ui/messageTray.js:1986 msgid "System Information" msgstr "Informacje systemowe" @@ -568,18 +564,18 @@ msgid "Dash" msgstr "Ulubione" #. TODO - _quit() doesn't really work on apps in state STARTING yet -#: ../js/ui/panel.js:560 +#: ../js/ui/panel.js:515 #, c-format msgid "Quit %s" msgstr "Zakończ program %s" #. Button on the left side of the panel. #. Translators: If there is no suitable word for "Activities" in your language, you can use the word for "Overview". -#: ../js/ui/panel.js:919 +#: ../js/ui/panel.js:874 msgid "Activities" msgstr "Podgląd" -#: ../js/ui/panel.js:1020 +#: ../js/ui/panel.js:975 msgid "Panel" msgstr "Panel" @@ -596,7 +592,7 @@ msgstr "Ponów" msgid "Connect to..." msgstr "Połącz z..." -#: ../js/ui/placeDisplay.js:409 +#: ../js/ui/placeDisplay.js:380 msgid "PLACES & DEVICES" msgstr "Miejsca i urządzenia" @@ -605,7 +601,7 @@ msgstr "Miejsca i urządzenia" #. "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:618 +#: ../js/ui/popupMenu.js:636 msgid "toggle-switch-us" msgstr "toggle-switch-intl" @@ -613,47 +609,47 @@ msgstr "toggle-switch-intl" msgid "Please enter a command:" msgstr "Proszę wprowadzić polecenie:" -#: ../js/ui/searchDisplay.js:283 +#: ../js/ui/searchDisplay.js:287 msgid "Searching..." msgstr "Wyszukiwanie..." -#: ../js/ui/searchDisplay.js:297 +#: ../js/ui/searchDisplay.js:301 msgid "No matching results." msgstr "Brak wyników." -#: ../js/ui/statusMenu.js:102 ../js/ui/statusMenu.js:166 +#: ../js/ui/statusMenu.js:114 ../js/ui/statusMenu.js:178 msgid "Power Off..." msgstr "Wyłącz..." -#: ../js/ui/statusMenu.js:104 ../js/ui/statusMenu.js:165 +#: ../js/ui/statusMenu.js:116 ../js/ui/statusMenu.js:177 msgid "Suspend" msgstr "Uśpij" -#: ../js/ui/statusMenu.js:125 +#: ../js/ui/statusMenu.js:137 msgid "Available" msgstr "Dostępny" -#: ../js/ui/statusMenu.js:130 +#: ../js/ui/statusMenu.js:142 msgid "Busy" msgstr "Zajęty" -#: ../js/ui/statusMenu.js:138 +#: ../js/ui/statusMenu.js:150 msgid "My Account" msgstr "Moje konto" -#: ../js/ui/statusMenu.js:142 +#: ../js/ui/statusMenu.js:154 msgid "System Settings" msgstr "Ustawienia systemu" -#: ../js/ui/statusMenu.js:149 +#: ../js/ui/statusMenu.js:161 msgid "Lock Screen" msgstr "Zablokuj ekran" -#: ../js/ui/statusMenu.js:153 +#: ../js/ui/statusMenu.js:165 msgid "Switch User" msgstr "Przełącz użytkownika" -#: ../js/ui/statusMenu.js:158 +#: ../js/ui/statusMenu.js:170 msgid "Log Out..." msgstr "Wyloguj się..." @@ -661,14 +657,12 @@ msgstr "Wyloguj się..." msgid "Zoom" msgstr "Powiększenie" -#: ../js/ui/status/accessibility.js:69 -msgid "Screen Reader" -msgstr "Czytnik ekranu" - -#: ../js/ui/status/accessibility.js:73 -msgid "Screen Keyboard" -msgstr "Klawiatura ekranowa" - +#. let screenReader = this._buildItem(_("Screen Reader"), APPLICATIONS_SCHEMA, +#. 'screen-reader-enabled'); +#. this.menu.addMenuItem(screenReader); +#. let screenKeyboard = this._buildItem(_("Screen Keyboard"), APPLICATIONS_SCHEMA, +#. 'screen-keyboard-enabled'); +#. this.menu.addMenuItem(screenKeyboard); #: ../js/ui/status/accessibility.js:77 msgid "Visual Alerts" msgstr "Ostrzeżenia wzrokowe" @@ -693,17 +687,17 @@ msgstr "Klawisze myszy" msgid "Universal Access Settings" msgstr "Ustawienia uniwersalnego dostępu" -#: ../js/ui/status/accessibility.js:145 +#: ../js/ui/status/accessibility.js:146 msgid "High Contrast" msgstr "Wysoki kontrast" -#: ../js/ui/status/accessibility.js:182 +#: ../js/ui/status/accessibility.js:183 msgid "Large Text" msgstr "Duży tekst" -#: ../js/ui/status/bluetooth.js:42 ../js/ui/status/bluetooth.js:241 -#: ../js/ui/status/bluetooth.js:337 ../js/ui/status/bluetooth.js:371 -#: ../js/ui/status/bluetooth.js:411 ../js/ui/status/bluetooth.js:444 +#: ../js/ui/status/bluetooth.js:42 ../js/ui/status/bluetooth.js:237 +#: ../js/ui/status/bluetooth.js:333 ../js/ui/status/bluetooth.js:367 +#: ../js/ui/status/bluetooth.js:407 ../js/ui/status/bluetooth.js:440 msgid "Bluetooth" msgstr "Bluetooth" @@ -723,94 +717,94 @@ msgstr "Ustaw nowe urządzenie..." msgid "Bluetooth Settings" msgstr "Ustawienia Bluetooth" -#: ../js/ui/status/bluetooth.js:192 +#: ../js/ui/status/bluetooth.js:188 msgid "Connection" msgstr "Połączenie" -#: ../js/ui/status/bluetooth.js:228 +#: ../js/ui/status/bluetooth.js:224 msgid "Send Files..." msgstr "Wyślij pliki..." -#: ../js/ui/status/bluetooth.js:233 +#: ../js/ui/status/bluetooth.js:229 msgid "Browse Files..." msgstr "Przeglądaj pliki..." -#: ../js/ui/status/bluetooth.js:242 +#: ../js/ui/status/bluetooth.js:238 msgid "Error browsing device" msgstr "Błąd podczas przeglądania urządzenia" -#: ../js/ui/status/bluetooth.js:243 +#: ../js/ui/status/bluetooth.js:239 #, c-format msgid "The requested device cannot be browsed, error is '%s'" msgstr "Nie można przeglądać żądanego urządzenia. Błąd: \"%s\"" -#: ../js/ui/status/bluetooth.js:251 +#: ../js/ui/status/bluetooth.js:247 msgid "Keyboard Settings" msgstr "Ustawienia klawiatury" -#: ../js/ui/status/bluetooth.js:256 +#: ../js/ui/status/bluetooth.js:252 msgid "Mouse Settings" msgstr "Ustawienia myszy" -#: ../js/ui/status/bluetooth.js:263 ../js/ui/status/volume.js:65 +#: ../js/ui/status/bluetooth.js:259 ../js/ui/status/volume.js:66 msgid "Sound Settings" msgstr "Ustawienia dźwięku" -#: ../js/ui/status/bluetooth.js:372 +#: ../js/ui/status/bluetooth.js:368 #, c-format msgid "Authorization request from %s" msgstr "Żądanie upoważnienia z %s" -#: ../js/ui/status/bluetooth.js:378 +#: ../js/ui/status/bluetooth.js:374 #, c-format msgid "Device %s wants access to the service '%s'" msgstr "Urządzenie %s żąda dostępu do usługi \"%s\"" -#: ../js/ui/status/bluetooth.js:380 +#: ../js/ui/status/bluetooth.js:376 msgid "Always grant access" msgstr "Zawsze udzielaj dostęp" -#: ../js/ui/status/bluetooth.js:381 +#: ../js/ui/status/bluetooth.js:377 msgid "Grant this time only" msgstr "Udziel dostęp tylko tym razem" -#: ../js/ui/status/bluetooth.js:382 +#: ../js/ui/status/bluetooth.js:378 msgid "Reject" msgstr "Odrzuć" -#: ../js/ui/status/bluetooth.js:412 +#: ../js/ui/status/bluetooth.js:408 #, c-format msgid "Pairing confirmation for %s" msgstr "Potwierdzenie wiązania dla %s" -#: ../js/ui/status/bluetooth.js:418 ../js/ui/status/bluetooth.js:452 +#: ../js/ui/status/bluetooth.js:414 ../js/ui/status/bluetooth.js:448 #, c-format msgid "Device %s wants to pair with this computer" msgstr "Urządzenie %s żąda powiązania z tym komputerem" -#: ../js/ui/status/bluetooth.js:419 +#: ../js/ui/status/bluetooth.js:415 #, c-format msgid "Please confirm whether the PIN '%s' matches the one on the device." msgstr "Proszę potwierdzić, czy PIN \"%s\" zgadza się z tym na urządzeniu." -#: ../js/ui/status/bluetooth.js:421 +#: ../js/ui/status/bluetooth.js:417 msgid "Matches" msgstr "Zgadza się" -#: ../js/ui/status/bluetooth.js:422 +#: ../js/ui/status/bluetooth.js:418 msgid "Does not match" msgstr "Nie zgadza się" -#: ../js/ui/status/bluetooth.js:445 +#: ../js/ui/status/bluetooth.js:441 #, c-format msgid "Pairing request for %s" msgstr "Żądanie powiązania dla %s" -#: ../js/ui/status/bluetooth.js:453 +#: ../js/ui/status/bluetooth.js:449 msgid "Please enter the PIN mentioned on the device." msgstr "Proszę wprowadzić PIN wyświetlony na urządzeniu." -#: ../js/ui/status/bluetooth.js:469 +#: ../js/ui/status/bluetooth.js:465 msgid "OK" msgstr "OK" @@ -822,17 +816,147 @@ msgstr "Wyświetl układ klawiatury..." msgid "Localization Settings" msgstr "Ustawienia lokalizacji" +#: ../js/ui/status/network.js:102 ../js/ui/status/network.js:1393 +msgid "" +msgstr "" + +#. Translators: this indicates that wireless or wwan is disabled by hardware killswitch +#: ../js/ui/status/network.js:295 +msgid "disabled" +msgstr "wyłączone" + +#: ../js/ui/status/network.js:476 +msgid "connecting..." +msgstr "łączenie..." + +#. Translators: this is for network connections that require some kind of key or password +#: ../js/ui/status/network.js:479 +msgid "authentication required" +msgstr "wymagane jest uwierzytelnienie" + +#. Translators: this is for wired network devices that are physically disconnected +#: ../js/ui/status/network.js:485 +msgid "cable unplugged" +msgstr "kabel jest niepodłączony" + +#. 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:489 +msgid "unavailable" +msgstr "niedostępne" + +#: ../js/ui/status/network.js:491 +msgid "connection failed" +msgstr "połączenie się nie powiodło" + +#. TRANSLATORS: this is the indication that a connection for another logged in user is active, +#. and we cannot access its settings (including the name) +#: ../js/ui/status/network.js:571 ../js/ui/status/network.js:1341 +msgid "Connected (private)" +msgstr "Połączono (prywatne)" + +#: ../js/ui/status/network.js:636 +msgid "Auto Ethernet" +msgstr "Automatyczne Ethernet" + +#: ../js/ui/status/network.js:697 +msgid "Auto broadband" +msgstr "Automatyczne komórkowe" + +#: ../js/ui/status/network.js:700 +msgid "Auto dial-up" +msgstr "Automatyczne wdzwaniane" + +#. TRANSLATORS: this the automatic wireless connection name (including the network name) +#: ../js/ui/status/network.js:843 ../js/ui/status/network.js:1353 +#, c-format +msgid "Auto %s" +msgstr "Automatyczne %s" + +#: ../js/ui/status/network.js:845 +msgid "Auto bluetooth" +msgstr "Automatyczne Bluetooth" + +#: ../js/ui/status/network.js:1355 +msgid "Auto wireless" +msgstr "Automatyczne bezprzewodowe" + +#: ../js/ui/status/network.js:1413 +msgid "More..." +msgstr "Więcej..." + +#: ../js/ui/status/network.js:1436 +msgid "Enable networking" +msgstr "Włącz sieć" + +#: ../js/ui/status/network.js:1448 +msgid "Wired" +msgstr "Przewodowe" + +#: ../js/ui/status/network.js:1459 +msgid "Wireless" +msgstr "Bezprzewodowe" + +#: ../js/ui/status/network.js:1469 +msgid "Mobile broadband" +msgstr "Komórkowe" + +#: ../js/ui/status/network.js:1479 +msgid "VPN Connections" +msgstr "Połączenia VPN" + +#: ../js/ui/status/network.js:1488 +msgid "Network Settings" +msgstr "Ustawienia sieci" + +#: ../js/ui/status/network.js:1783 +#, c-format +msgid "You're now connected to mobile broadband connection '%s'" +msgstr "Połączono z siecią komórkową \"%s\"" + +#: ../js/ui/status/network.js:1787 +#, c-format +msgid "You're now connected to wireless network '%s'" +msgstr "Połączono z siecią bezprzewodową \"%s\"" + +#: ../js/ui/status/network.js:1791 +#, c-format +msgid "You're now connected to wired network '%s'" +msgstr "Połączono z siecią przewodową \"%s\"" + +#: ../js/ui/status/network.js:1795 +#, c-format +msgid "You're now connected to VPN network '%s'" +msgstr "Połączono z siecią VPN \"%s\"" + +#: ../js/ui/status/network.js:1800 +#, c-format +msgid "You're now connected to '%s'" +msgstr "Połączono z siecią \"%s\"" + +#: ../js/ui/status/network.js:1808 +msgid "Connection established" +msgstr "Nawiązano połączenie" + +#: ../js/ui/status/network.js:1930 +msgid "Networking is disabled" +msgstr "Sieć jest wyłączona" + +#: ../js/ui/status/network.js:2055 +msgid "Network Manager" +msgstr "Menedżer sieci" + #: ../js/ui/status/power.js:85 msgid "Power Settings" msgstr "Ustawienia zasilania" #. 0 is reported when UPower does not have enough data #. to estimate battery life -#: ../js/ui/status/power.js:110 +#: ../js/ui/status/power.js:111 msgid "Estimating..." msgstr "Obliczanie..." -#: ../js/ui/status/power.js:117 +#: ../js/ui/status/power.js:118 #, c-format msgid "%d hour remaining" msgid_plural "%d hours remaining" @@ -841,26 +965,26 @@ msgstr[1] "Pozostały %d godziny" msgstr[2] "Pozostało %d godzin" #. TRANSLATORS: this is a time string, as in "%d hours %d minutes remaining" -#: ../js/ui/status/power.js:120 +#: ../js/ui/status/power.js:121 #, c-format msgid "%d %s %d %s remaining" msgstr "Pozostało %d %s i %d %s" -#: ../js/ui/status/power.js:122 +#: ../js/ui/status/power.js:123 msgid "hour" msgid_plural "hours" msgstr[0] "godzina" msgstr[1] "godziny" msgstr[2] "godzin" -#: ../js/ui/status/power.js:122 +#: ../js/ui/status/power.js:123 msgid "minute" msgid_plural "minutes" msgstr[0] "minuta" msgstr[1] "minuty" msgstr[2] "minut" -#: ../js/ui/status/power.js:125 +#: ../js/ui/status/power.js:126 #, c-format msgid "%d minute remaining" msgid_plural "%d minutes remaining" @@ -868,78 +992,78 @@ msgstr[0] "Pozostała %d minuta" msgstr[1] "Pozostały %d minuty" msgstr[2] "Pozostało %d minut" -#: ../js/ui/status/power.js:227 +#: ../js/ui/status/power.js:228 msgid "AC adapter" msgstr "Zasilacz sieciowy" -#: ../js/ui/status/power.js:229 +#: ../js/ui/status/power.js:230 msgid "Laptop battery" msgstr "Akumulator laptopa" -#: ../js/ui/status/power.js:231 +#: ../js/ui/status/power.js:232 msgid "UPS" msgstr "UPS" -#: ../js/ui/status/power.js:233 +#: ../js/ui/status/power.js:234 msgid "Monitor" msgstr "Monitor" -#: ../js/ui/status/power.js:235 +#: ../js/ui/status/power.js:236 msgid "Mouse" msgstr "Mysz" -#: ../js/ui/status/power.js:237 +#: ../js/ui/status/power.js:238 msgid "Keyboard" msgstr "Klawiatura" -#: ../js/ui/status/power.js:239 +#: ../js/ui/status/power.js:240 msgid "PDA" msgstr "Urządzenie PDA" -#: ../js/ui/status/power.js:241 +#: ../js/ui/status/power.js:242 msgid "Cell phone" msgstr "Telefon komórkowy" -#: ../js/ui/status/power.js:243 +#: ../js/ui/status/power.js:244 msgid "Media player" msgstr "Odtwarzacz multimedialny" -#: ../js/ui/status/power.js:245 +#: ../js/ui/status/power.js:246 msgid "Tablet" msgstr "Tablet" -#: ../js/ui/status/power.js:247 +#: ../js/ui/status/power.js:248 msgid "Computer" msgstr "Komputer" -#: ../js/ui/status/power.js:249 ../src/shell-app-system.c:1013 +#: ../js/ui/status/power.js:250 ../src/shell-app-system.c:961 msgid "Unknown" msgstr "Nieznane" -#: ../js/ui/status/volume.js:44 +#: ../js/ui/status/volume.js:45 msgid "Volume" msgstr "Głośność" -#: ../js/ui/status/volume.js:57 +#: ../js/ui/status/volume.js:58 msgid "Microphone" msgstr "Mikrofon" -#: ../js/ui/telepathyClient.js:239 +#: ../js/ui/telepathyClient.js:332 #, c-format msgid "%s is online." msgstr "Użytkownik %s jest online." -#: ../js/ui/telepathyClient.js:244 +#: ../js/ui/telepathyClient.js:337 #, c-format msgid "%s is offline." msgstr "Użytkownik %s jest offline." -#: ../js/ui/telepathyClient.js:247 +#: ../js/ui/telepathyClient.js:340 #, c-format msgid "%s is away." msgstr "Użytkownik %s jest nieobecny." -#: ../js/ui/telepathyClient.js:250 +#: ../js/ui/telepathyClient.js:343 #, c-format msgid "%s is busy." msgstr "Użytkownik %s jest zajęty." @@ -947,7 +1071,7 @@ msgstr "Użytkownik %s jest zajęty." #. Translators: this is a time format string followed by a date. #. If applicable, replace %X with a strftime format valid for your #. locale, without seconds. -#: ../js/ui/telepathyClient.js:357 +#: ../js/ui/telepathyClient.js:474 #, no-c-format msgid "Sent at %X on %A" msgstr "Wysłano o %H:%M w dniu %e %b" @@ -956,11 +1080,11 @@ msgstr "Wysłano o %H:%M w dniu %e %b" #. in the search entry when no search is #. active; it should not exceed ~30 #. characters. -#: ../js/ui/viewSelector.js:117 +#: ../js/ui/viewSelector.js:122 msgid "Type to search..." msgstr "Wyszukiwanie..." -#: ../js/ui/viewSelector.js:137 ../src/shell-util.c:250 +#: ../js/ui/viewSelector.js:142 ../src/shell-util.c:250 msgid "Search" msgstr "Wyszukaj" @@ -976,7 +1100,7 @@ msgstr "Program \"%s\" jest gotowy" #. translators: #. * The number of sound outputs on a particular device -#: ../src/gvc/gvc-mixer-control.c:1094 +#: ../src/gvc/gvc-mixer-control.c:1098 #, c-format msgid "%u Output" msgid_plural "%u Outputs" @@ -986,7 +1110,7 @@ msgstr[2] "%u wyjść" #. translators: #. * The number of sound inputs on a particular device -#: ../src/gvc/gvc-mixer-control.c:1104 +#: ../src/gvc/gvc-mixer-control.c:1108 #, c-format msgid "%u Input" msgid_plural "%u Inputs" @@ -994,19 +1118,24 @@ msgstr[0] "%u wejście" msgstr[1] "%u wejścia" msgstr[2] "%u wejść" -#: ../src/gvc/gvc-mixer-control.c:1402 +#: ../src/gvc/gvc-mixer-control.c:1406 msgid "System Sounds" msgstr "Dźwięki systemowe" -#: ../src/main.c:395 +#: ../src/main.c:397 msgid "Print version" msgstr "Wyświetla wersję" -#: ../src/shell-global.c:1308 +#: ../src/shell-app.c:454 +#, c-format +msgid "Failed to launch '%s'" +msgstr "Uruchomienie \"%s\" się nie powiodło" + +#: ../src/shell-global.c:1340 msgid "Less than a minute ago" msgstr "Mniej niż minutę temu" -#: ../src/shell-global.c:1312 +#: ../src/shell-global.c:1344 #, c-format msgid "%d minute ago" msgid_plural "%d minutes ago" @@ -1014,7 +1143,7 @@ msgstr[0] "%d minuta temu" msgstr[1] "%d minuty temu" msgstr[2] "%d minut temu" -#: ../src/shell-global.c:1317 +#: ../src/shell-global.c:1349 #, c-format msgid "%d hour ago" msgid_plural "%d hours ago" @@ -1022,7 +1151,7 @@ msgstr[0] "%d godzina temu" msgstr[1] "%d godziny temu" msgstr[2] "%d godzin temu" -#: ../src/shell-global.c:1322 +#: ../src/shell-global.c:1354 #, c-format msgid "%d day ago" msgid_plural "%d days ago" @@ -1030,7 +1159,7 @@ msgstr[0] "%d dzień temu" msgstr[1] "%d dni temu" msgstr[2] "%d dni temu" -#: ../src/shell-global.c:1327 +#: ../src/shell-global.c:1359 #, c-format msgid "%d week ago" msgid_plural "%d weeks ago" @@ -1038,6 +1167,14 @@ msgstr[0] "%d tydzień temu" msgstr[1] "%d tygodnie temu" msgstr[2] "%d tygodni temu" +#: ../src/shell-mobile-providers.c:80 +msgid "United Kingdom" +msgstr "Zjednoczone Królestwo" + +#: ../src/shell-mobile-providers.c:526 +msgid "Default" +msgstr "Domyślne" + #: ../src/shell-polkit-authentication-agent.c:334 msgid "Authentication dialog was dismissed by the user" msgstr "Okno dialogowe uwierzytelnienia zostało odrzucone przez użytkownika" From 650f35c1f360df45ad72c3b36b3aba417acede17 Mon Sep 17 00:00:00 2001 From: Giovanni Campagna Date: Sat, 19 Mar 2011 18:59:22 +0100 Subject: [PATCH 089/203] Util: use the right function name when reporting errors. It's Main.notifyError, not Main.notifyProblem. https://bugzilla.gnome.org/show_bug.cgi?id=645248 --- js/misc/util.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/js/misc/util.js b/js/misc/util.js index 1112bef21..e22811716 100644 --- a/js/misc/util.js +++ b/js/misc/util.js @@ -104,7 +104,7 @@ function trySpawnCommandLine(command_line) { function _handleSpawnError(command, err) { let title = _("Execution of '%s' failed:").format(command); - Main.notifyProblem(title, err.message); + Main.notifyError(title, err.message); } // killall: From bd5efd5968f5e6b90db839d7fdafdd9d476d50e3 Mon Sep 17 00:00:00 2001 From: Rudolfs Mazurs Date: Sun, 20 Mar 2011 15:35:24 +0200 Subject: [PATCH 090/203] Added Latvian translation. --- po/LINGUAS | 1 + po/lv.po | 1287 ++++++++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 1288 insertions(+) create mode 100644 po/lv.po diff --git a/po/LINGUAS b/po/LINGUAS index a611eb6d8..0f2485030 100644 --- a/po/LINGUAS +++ b/po/LINGUAS @@ -23,6 +23,7 @@ ja ko kn lt +lv nb nl nn diff --git a/po/lv.po b/po/lv.po new file mode 100644 index 000000000..75f5b0264 --- /dev/null +++ b/po/lv.po @@ -0,0 +1,1287 @@ +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. +# +# Rudolfs , 2011. +msgid "" +msgstr "" +"Project-Id-Version: \n" +"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug." +"cgi?product=gnome-shell&keywords=I18N+L10N&component=general\n" +"POT-Creation-Date: 2011-03-17 15:03+0000\n" +"PO-Revision-Date: 2011-03-17 19:08+0200\n" +"Last-Translator: Rudolfs \n" +"Language-Team: Latvian \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 != 0 ? 1 : " +"2);\n" +"X-Generator: Lokalize 1.1\n" + +#: ../data/gnome-shell.desktop.in.in.h:1 +msgid "GNOME Shell" +msgstr "GNOME Shell" + +#: ../data/gnome-shell.desktop.in.in.h:2 +msgid "Window management and application launching" +msgstr "Logu pārvaldība un lietotņu palaišana" + +#: ../data/org.gnome.shell.gschema.xml.in.h:1 +msgid "" +"Allows access to internal debugging and monitoring tools using the Alt-F2 " +"dialog." +msgstr "" +"Ļauj piekļūt iekšējiem atkļūdošanas un pārraudzības rīkiem, izmantojot " +"Alt-F2 dialogu." + +#: ../data/org.gnome.shell.gschema.xml.in.h:2 +msgid "Enable internal tools useful for developers and testers from Alt-F2" +msgstr "" +"Aktivē iekšējos rīkus, kas pieejami no Alt-F2; noder izstrādātājiem un " +"testētājiem" + +#: ../data/org.gnome.shell.gschema.xml.in.h:3 +msgid "File extension used for storing the screencast" +msgstr "Failu paplašinājumi, ko izmanto ekrānraižu saglabāšanai" + +#: ../data/org.gnome.shell.gschema.xml.in.h:4 +msgid "Framerate used for recording screencasts." +msgstr "Kadrātrums, ko izmantot, ierakstot ekrānraides." + +#: ../data/org.gnome.shell.gschema.xml.in.h:5 +msgid "" +"GNOME Shell extensions have a uuid property; this key lists extensions which " +"should not be loaded." +msgstr "" +"GNOME Shell paplašinājumiem ir uuid īpašības; šī atslēga uzskaita " +"paplašinājumus, kurus nevajadzētu ielādēt." + +#: ../data/org.gnome.shell.gschema.xml.in.h:6 +msgid "History for command (Alt-F2) dialog" +msgstr "Komandu (Alt-F2) dialoga vēsture" + +#: ../data/org.gnome.shell.gschema.xml.in.h:7 +msgid "History for the looking glass dialog" +msgstr "Looking glass dialoga vēsture" + +#: ../data/org.gnome.shell.gschema.xml.in.h:8 +msgid "If true, display date in the clock, in addition to time." +msgstr "Ja patiess, rādīt pulkstenī arī datumu, ne tikai laiku." + +#: ../data/org.gnome.shell.gschema.xml.in.h:9 +msgid "If true, display seconds in time." +msgstr "Ja patiess, rādīt pulkstenī arī sekundes." + +#: ../data/org.gnome.shell.gschema.xml.in.h:10 +msgid "If true, display the ISO week date in the calendar." +msgstr "Ja patiess, kalendārā rādīt ISO nedēļas datumus." + +#: ../data/org.gnome.shell.gschema.xml.in.h:11 +msgid "List of desktop file IDs for favorite applications" +msgstr "Uzskaitīt iecienīto lietotņu darbvirsmas failu ID" + +#: ../data/org.gnome.shell.gschema.xml.in.h:13 +#, no-c-format +msgid "" +"Sets the GStreamer pipeline used to encode recordings. It follows the syntax " +"used for gst-launch. The pipeline should have an unconnected sink pad where " +"the recorded video is recorded. It will normally have a unconnected source " +"pad; output from that pad will be written into the output file. However the " +"pipeline can also take care of its own output - this might be used to send " +"the output to an icecast server via shout2send or similar. When unset or set " +"to an empty value, the default pipeline will be used. This is currently " +"'videorate ! vp8enc quality=10 speed=2 threads=%T ! queue ! webmmux' and " +"records to WEBM using the VP8 codec. %T is used as a placeholder for a guess " +"at the optimal thread count on the system." +msgstr "" +"Iestata GStreamer konveijeru, ko izmanto ierakstu iekodēšanai. Tas seko " +"sintaksei, ko izmanto gst-launch. Konveijeram vajadzētu būt nepievienotam " +"datu savācējam, kur tiek ierakstītais video tiek ierakstīts. Tam parasti ir " +"nepieveinots avota savācējs-sadalītājs; izvade no šī savācēja-sadalītāja " +"tiks ierakstīta izvades failā. bet konveijers arī pats var tikt galā ar savu " +"izvadi - to var izmantot, lai sūtītu izvadi uz icecast serveri caur " +"shout2send vai ko līdzīgu. Kad iestata vai atstata tukšu vērtību, tiks " +"izmantots noklusētais konveijers. Pašlaik tas ir 'videorate ! vp8enc " +"quality=10 speed=2 threads=%T ! queue ! webmmux' un ieraksta WEBM izmantojot " +"VP8 kodeku. %T tiek izmantots kā vietturis, lai uzminētu optimālo pavedienu " +"skaitu sistēmā." + +#: ../data/org.gnome.shell.gschema.xml.in.h:14 +msgid "Show date in clock" +msgstr "Pie pulksteņa rādīt arī datumu" + +#: ../data/org.gnome.shell.gschema.xml.in.h:15 +msgid "Show the week date in the calendar" +msgstr "Kalendārā rādīt nedēļas datumu" + +#: ../data/org.gnome.shell.gschema.xml.in.h:16 +msgid "Show time with seconds" +msgstr "Rādīt laiku ar sekundēm" + +#: ../data/org.gnome.shell.gschema.xml.in.h:17 +msgid "" +"The applications corresponding to these identifiers will be displayed in the " +"favorites area." +msgstr "" +"Lietotnes, kas atbilst šiem identifikatoriem, tiks rādīta izlases laukā." + +#: ../data/org.gnome.shell.gschema.xml.in.h:18 +msgid "" +"The filename for recorded screencasts will be a unique filename based on the " +"current date, and use this extension. It should be changed when recording to " +"a different container format." +msgstr "" +"Faila nosaukums ierakstītajai ekrānraidei būs unikāls, balstīts uz " +"pašreizējo datumu un izmantos šo paplašinājumu. To vajadzētu mainīt, kad " +"ieraksta citā konteinera formātā." + +#: ../data/org.gnome.shell.gschema.xml.in.h:19 +msgid "" +"The framerate of the resulting screencast recordered by GNOME Shell's " +"screencast recorder in frames-per-second." +msgstr "" +"Iegūtās ekrānraides kadrātrums, ko ieraksta GNOME Shell ekrānraižu " +"ierakstītājs. Norāda kadros sekundē." + +#: ../data/org.gnome.shell.gschema.xml.in.h:20 +msgid "The gstreamer pipeline used to encode the screencast" +msgstr "Gstreamer konveijers, ko izmanto ekrānraides iekodēšanai" + +#: ../data/org.gnome.shell.gschema.xml.in.h:21 +msgid "" +"The shell normally monitors active applications in order to present the most " +"used ones (e.g. in launchers). While this data will be kept private, you may " +"want to disable this for privacy reasons. Please note that doing so won't " +"remove already saved data." +msgstr "" +"Čaula parasti uzrauga aktīvās lietotnes, lai jums rādītu visbiežāk " +"izmantotās (piemēram, palaidējos). Lai gan dati paliek privāti, jūs varētu " +"vēlēties to deaktivēt privātuma iemeslu dēļ. Ņemiet vērā, ka to izdarot " +"netiks izņemti jau saglabātie dati." + +#: ../data/org.gnome.shell.gschema.xml.in.h:22 +msgid "Uuids of extensions to disable" +msgstr "Uuid paplašinājumiem, kurus deaktivēt" + +#: ../data/org.gnome.shell.gschema.xml.in.h:23 +msgid "Whether to collect stats about applications usage" +msgstr "Vai ievākt statistiku par lietotņu izmantošanu" + +#: ../data/org.gnome.shell.gschema.xml.in.h:24 +msgid "disabled OpenSearch providers" +msgstr "deaktivētie OpenSearch piegādātāji" + +#: ../js/misc/util.js:71 +#: ../js/misc/util.js:86 +msgid "Command not found" +msgstr "Komanda nav atrasta" + +#. Replace "Error invoking GLib.shell_parse_argv: " with +#. something nicer +#: ../js/misc/util.js:98 +#: ../js/misc/util.js:113 +msgid "Could not parse command:" +msgstr "Neizdevās apstrādāt komandu:" + +#: ../js/misc/util.js:106 +#: ../js/misc/util.js:148 +#, c-format +msgid "Execution of '%s' failed:" +msgstr "'%s' izpilde neizdevās:" + +#. Translators: Filter to display all applications +#: ../js/ui/appDisplay.js:226 +msgid "All" +msgstr "Visi" + +#: ../js/ui/appDisplay.js:324 +msgid "APPLICATIONS" +msgstr "LIETOTNES" + +#: ../js/ui/appDisplay.js:350 +msgid "SETTINGS" +msgstr "IESTATĪJUMI" + +#: ../js/ui/appDisplay.js:612 +msgid "New Window" +msgstr "Jauns logs" + +#: ../js/ui/appDisplay.js:615 +msgid "Remove from Favorites" +msgstr "Izņemt no izlases" + +#: ../js/ui/appDisplay.js:616 +msgid "Add to Favorites" +msgstr "Pievienot izlasei" + +#: ../js/ui/appFavorites.js:91 +#, c-format +msgid "%s has been added to your favorites." +msgstr "%s ir pievienots izlasei." + +#: ../js/ui/appFavorites.js:122 +#, c-format +msgid "%s has been removed from your favorites." +msgstr "%s ir izņemts no izlases." + +#. Translators: Shown in calendar event list for all day events +#. * Keep it short, best if you can use less then 10 characters +#. +#: ../js/ui/calendar.js:66 +msgctxt "event list time" +msgid "All Day" +msgstr "Visu dienu" + +#. Translators: Shown in calendar event list, if 24h format +#: ../js/ui/calendar.js:71 +msgctxt "event list time" +msgid "%H:%M" +msgstr "%H:%M" + +#. Transators: Shown in calendar event list, if 12h format +#: ../js/ui/calendar.js:78 +msgctxt "event list time" +msgid "%l:%M %p" +msgstr "%l:%M %p" + +#. Translators: Calendar grid abbreviation for Sunday. +#. * +#. * NOTE: These grid abbreviations are always shown together +#. * and in order, e.g. "S M T W T F S". +#. +#: ../js/ui/calendar.js:118 +msgctxt "grid sunday" +msgid "S" +msgstr "Sv" + +#. Translators: Calendar grid abbreviation for Monday +#: ../js/ui/calendar.js:120 +msgctxt "grid monday" +msgid "M" +msgstr "P" + +#. Translators: Calendar grid abbreviation for Tuesday +#: ../js/ui/calendar.js:122 +msgctxt "grid tuesday" +msgid "T" +msgstr "O" + +#. Translators: Calendar grid abbreviation for Wednesday +#: ../js/ui/calendar.js:124 +msgctxt "grid wednesday" +msgid "W" +msgstr "T" + +#. Translators: Calendar grid abbreviation for Thursday +#: ../js/ui/calendar.js:126 +msgctxt "grid thursday" +msgid "T" +msgstr "C" + +#. Translators: Calendar grid abbreviation for Friday +#: ../js/ui/calendar.js:128 +msgctxt "grid friday" +msgid "F" +msgstr "P" + +#. Translators: Calendar grid abbreviation for Saturday +#: ../js/ui/calendar.js:130 +msgctxt "grid saturday" +msgid "S" +msgstr "S" + +#. Translators: Event list abbreviation for Sunday. +#. * +#. * NOTE: These list abbreviations are normally not shown together +#. * so they need to be unique (e.g. Tuesday and Thursday cannot +#. * both be 'T'). +#. +#: ../js/ui/calendar.js:143 +msgctxt "list sunday" +msgid "Su" +msgstr "Sv" + +#. Translators: Event list abbreviation for Monday +#: ../js/ui/calendar.js:145 +msgctxt "list monday" +msgid "M" +msgstr "Pr" + +#. Translators: Event list abbreviation for Tuesday +#: ../js/ui/calendar.js:147 +msgctxt "list tuesday" +msgid "T" +msgstr "Ot" + +#. Translators: Event list abbreviation for Wednesday +#: ../js/ui/calendar.js:149 +msgctxt "list wednesday" +msgid "W" +msgstr "Tr" + +#. Translators: Event list abbreviation for Thursday +#: ../js/ui/calendar.js:151 +msgctxt "list thursday" +msgid "Th" +msgstr "Ce" + +#. Translators: Event list abbreviation for Friday +#: ../js/ui/calendar.js:153 +msgctxt "list friday" +msgid "F" +msgstr "Pk" + +#. Translators: Event list abbreviation for Saturday +#: ../js/ui/calendar.js:155 +msgctxt "list saturday" +msgid "S" +msgstr "Se" + +#. Translators: Text to show if there are no events +#: ../js/ui/calendar.js:704 +msgid "Nothing Scheduled" +msgstr "Nekas nav ieplānots" + +#. Translators: Shown on calendar heading when selected day occurs on current year +#: ../js/ui/calendar.js:720 +msgctxt "calendar heading" +msgid "%A, %B %d" +msgstr "%A, %d %B" + +#. Translators: Shown on calendar heading when selected day occurs on different year +#: ../js/ui/calendar.js:723 +msgctxt "calendar heading" +msgid "%A, %B %d, %Y" +msgstr "%A, %d %B, %Y" + +#: ../js/ui/calendar.js:733 +msgid "Today" +msgstr "Šodien" + +#: ../js/ui/calendar.js:737 +msgid "Tomorrow" +msgstr "Rīt" + +#: ../js/ui/calendar.js:746 +msgid "This week" +msgstr "Šonedēļ" + +#: ../js/ui/calendar.js:754 +msgid "Next week" +msgstr "Nākamnedēļ" + +#: ../js/ui/dash.js:174 ../js/ui/messageTray.js:933 +#: ../js/ui/messageTray.js:931 +msgid "Remove" +msgstr "Izņemt" + +#: ../js/ui/dateMenu.js:91 +msgid "Date and Time Settings" +msgstr "Datuma un laika iestatījumi" + +#: ../js/ui/dateMenu.js:111 +msgid "Open Calendar" +msgstr "Atvērt kalendāru" + +#. Translators: This is the time format with date used +#. in 24-hour mode. +#: ../js/ui/dateMenu.js:164 +msgid "%a %b %e, %R:%S" +msgstr "%a %e %b, %R:%S" + +#: ../js/ui/dateMenu.js:165 +msgid "%a %b %e, %R" +msgstr "%a %e %b, %R" + +#. Translators: This is the time format without date used +#. in 24-hour mode. +#: ../js/ui/dateMenu.js:169 +msgid "%a %R:%S" +msgstr "%a %R:%S" + +#: ../js/ui/dateMenu.js:170 +msgid "%a %R" +msgstr "%a %R" + +#. Translators: This is a time format with date used +#. for AM/PM. +#: ../js/ui/dateMenu.js:177 +msgid "%a %b %e, %l:%M:%S %p" +msgstr "%a %e %b, %l:%M:%S %p" + +#: ../js/ui/dateMenu.js:178 +msgid "%a %b %e, %l:%M %p" +msgstr "%a %e %b, %l:%M %p" + +#. Translators: This is a time format without date used +#. for AM/PM. +#: ../js/ui/dateMenu.js:182 +msgid "%a %l:%M:%S %p" +msgstr "%a %l:%M:%S %p" + +#: ../js/ui/dateMenu.js:183 +msgid "%a %l:%M %p" +msgstr "%a %l:%M %p" + +#. Translators: This is the date format to use when the calendar popup is +#. * shown - it is shown just below the time in the shell (e.g. "Tue 9:29 AM"). +#. +#: ../js/ui/dateMenu.js:194 +#: ../js/ui/dateMenu.js:209 +msgid "%A %B %e, %Y" +msgstr "%A %e %B, %Y" + +#: ../js/ui/docDisplay.js:19 +msgid "RECENT ITEMS" +msgstr "NESENIE VIENUMI" + +#: ../js/ui/endSessionDialog.js:63 +#, c-format +msgid "Log Out %s" +msgstr "Izrakstīt %s" + +#: ../js/ui/endSessionDialog.js:64 ../js/ui/endSessionDialog.js:69 +msgid "Log Out" +msgstr "Izrakstīties" + +#: ../js/ui/endSessionDialog.js:65 +msgid "Click Log Out to quit these applications and log out of the system." +msgstr "" +"Spiediet 'Izrakstīties', lai izietu no šīm lietotnēm un izrakstītos no " +"sistēmas." + +#: ../js/ui/endSessionDialog.js:66 +#, c-format +msgid "%s will be logged out automatically in %d seconds." +msgstr "%s tiks automātiski izrakstīts no sesijas pēc %d sekundēm." + +#: ../js/ui/endSessionDialog.js:67 +#, c-format +msgid "You will be logged out automatically in %d seconds." +msgstr "Jūs tiksiet automātiski izrakstīts no sesijas pēc %d sekundēm." + +#: ../js/ui/endSessionDialog.js:68 +msgid "Logging out of the system." +msgstr "Izrakstās no sistēmas." + +#: ../js/ui/endSessionDialog.js:74 ../js/ui/endSessionDialog.js:78 +msgid "Shut Down" +msgstr "Izslēgt" + +#: ../js/ui/endSessionDialog.js:75 +msgid "Click Shut Down to quit these applications and shut down the system." +msgstr "Spiediet 'Izslēgt', lai izietu no šīm lietotnēm un izslēgtu sistēmu." + +#: ../js/ui/endSessionDialog.js:76 +#, c-format +msgid "The system will shut down automatically in %d seconds." +msgstr "Sistēma tiks izslēgta automātiski pēc %d sekundēm." + +#: ../js/ui/endSessionDialog.js:77 +msgid "Shutting down the system." +msgstr "Izslēdz sistēmu." + +#: ../js/ui/endSessionDialog.js:84 ../js/ui/endSessionDialog.js:88 +msgid "Restart" +msgstr "Pārstartēt" + +#: ../js/ui/endSessionDialog.js:85 +msgid "Click Restart to quit these applications and restart the system." +msgstr "" +"Spiediet 'Pārstartēt', lai izietu no šīm lietotnēm un pārstartētu sistēmu." + +#: ../js/ui/endSessionDialog.js:86 +#, c-format +msgid "The system will restart automatically in %d seconds." +msgstr "Sistēma tiks pārstartēta automātiski pēc %d sekundēm." + +#: ../js/ui/endSessionDialog.js:87 +msgid "Restarting the system." +msgstr "Pārstartē sistēmu." + +#: ../js/ui/endSessionDialog.js:395 +msgid "Confirm" +msgstr "Apstiprināt" + +#: ../js/ui/endSessionDialog.js:400 ../js/ui/status/bluetooth.js:465 +#: ../js/ui/status/bluetooth.js:470 +msgid "Cancel" +msgstr "Atcelt" + +#: ../js/ui/lookingGlass.js:588 +msgid "No extensions installed" +msgstr "Nav instalētu paplašinājumu" + +#: ../js/ui/lookingGlass.js:625 +msgid "Enabled" +msgstr "Aktivēts" + +#. translators: +#. * The device has been disabled +#: ../js/ui/lookingGlass.js:627 ../src/gvc/gvc-mixer-control.c:1091 +#: ../src/gvc/gvc-mixer-control.c:1087 +msgid "Disabled" +msgstr "Deaktivēts" + +#: ../js/ui/lookingGlass.js:629 +msgid "Error" +msgstr "Kļūda" + +#: ../js/ui/lookingGlass.js:631 +msgid "Out of date" +msgstr "Nav aktuāls" + +#: ../js/ui/lookingGlass.js:656 +msgid "View Source" +msgstr "Skatīt avotu" + +#: ../js/ui/lookingGlass.js:662 +msgid "Web Page" +msgstr "Tīmekļa lapa" + +#: ../js/ui/messageTray.js:926 +#: ../js/ui/messageTray.js:924 +msgid "Open" +msgstr "Atvērt" + +#: ../js/ui/messageTray.js:1986 +#: ../js/ui/messageTray.js:1961 +msgid "System Information" +msgstr "Sistēmas informācija" + +#: ../js/ui/overview.js:88 +msgid "Undo" +msgstr "Atsaukt" + +#: ../js/ui/overview.js:183 +msgid "Windows" +msgstr "Logs" + +#: ../js/ui/overview.js:186 +msgid "Applications" +msgstr "Lietotnes" + +#. Translators: this is the name of the dock/favorites area on +#. the left of the overview +#: ../js/ui/overview.js:202 +msgid "Dash" +msgstr "Panelis" + +#. TODO - _quit() doesn't really work on apps in state STARTING yet +#: ../js/ui/panel.js:514 +#: ../js/ui/panel.js:560 +#, c-format +msgid "Quit %s" +msgstr "Iziet no %s" + +#. Button on the left side of the panel. +#. Translators: If there is no suitable word for "Activities" in your language, you can use the word for "Overview". +#: ../js/ui/panel.js:873 +#: ../js/ui/panel.js:919 +msgid "Activities" +msgstr "Darbības" + +#: ../js/ui/panel.js:974 +#: ../js/ui/panel.js:1020 +msgid "Panel" +msgstr "Panelis" + +#: ../js/ui/placeDisplay.js:122 +#, c-format +msgid "Failed to unmount '%s'" +msgstr "Neizdevās atmontēt '%s'" + +#: ../js/ui/placeDisplay.js:125 +msgid "Retry" +msgstr "Mēģināt vēlreiz" + +#: ../js/ui/placeDisplay.js:165 +msgid "Connect to..." +msgstr "Savienoties ar..." + +#: ../js/ui/placeDisplay.js:380 +#: ../js/ui/placeDisplay.js:409 +msgid "PLACES & DEVICES" +msgstr "VIETAS un IERĪCES" + +#. Translators: this MUST be either "toggle-switch-us" +#. (for toggle switches containing the English words +#. "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:636 +#: ../js/ui/popupMenu.js:618 +msgid "toggle-switch-us" +msgstr "toggle-switch-intl" + +#: ../js/ui/runDialog.js:201 +msgid "Please enter a command:" +msgstr "Lūdzu, ievadiet komandu:" + +#: ../js/ui/searchDisplay.js:283 +msgid "Searching..." +msgstr "Meklē..." + +#: ../js/ui/searchDisplay.js:297 +msgid "No matching results." +msgstr "Nav rezultātu." + +#: ../js/ui/statusMenu.js:114 ../js/ui/statusMenu.js:178 +#: ../js/ui/statusMenu.js:113 +#: ../js/ui/statusMenu.js:177 +msgid "Power Off..." +msgstr "Izslēgt..." + +#: ../js/ui/statusMenu.js:116 ../js/ui/statusMenu.js:177 +#: ../js/ui/statusMenu.js:113 +#: ../js/ui/statusMenu.js:115 +#: ../js/ui/statusMenu.js:176 +msgid "Suspend" +msgstr "Iesnaudināt" + +#: ../js/ui/statusMenu.js:137 +#: ../js/ui/statusMenu.js:136 +msgid "Available" +msgstr "Pieejams" + +#: ../js/ui/statusMenu.js:142 +#: ../js/ui/statusMenu.js:141 +msgid "Busy" +msgstr "Aizņemts" + +#: ../js/ui/statusMenu.js:150 +#: ../js/ui/statusMenu.js:149 +msgid "My Account" +msgstr "Mans konts" + +#: ../js/ui/statusMenu.js:154 +#: ../js/ui/statusMenu.js:153 +msgid "System Settings" +msgstr "Sistēmas iestatījumi" + +#: ../js/ui/statusMenu.js:161 +#: ../js/ui/statusMenu.js:160 +msgid "Lock Screen" +msgstr "Bloķēt ekrānu" + +#: ../js/ui/statusMenu.js:165 +#: ../js/ui/statusMenu.js:164 +msgid "Switch User" +msgstr "Mainīt lietotāju" + +#: ../js/ui/statusMenu.js:170 +#: ../js/ui/statusMenu.js:169 +msgid "Log Out..." +msgstr "Izrakstīties..." + +#: ../js/ui/status/accessibility.js:62 +msgid "Zoom" +msgstr "Mainīt tālumu" + +#. let screenReader = this._buildItem(_("Screen Reader"), APPLICATIONS_SCHEMA, +#. 'screen-reader-enabled'); +#. this.menu.addMenuItem(screenReader); +#. let screenKeyboard = this._buildItem(_("Screen Keyboard"), APPLICATIONS_SCHEMA, +#. 'screen-keyboard-enabled'); +#. this.menu.addMenuItem(screenKeyboard); +#: ../js/ui/status/accessibility.js:77 +msgid "Visual Alerts" +msgstr "Vizuālie brīdinājumi" + +#: ../js/ui/status/accessibility.js:80 +msgid "Sticky Keys" +msgstr "Lipīgie taustiņi" + +#: ../js/ui/status/accessibility.js:83 +msgid "Slow Keys" +msgstr "Lēnie taustiņi" + +#: ../js/ui/status/accessibility.js:86 +msgid "Bounce Keys" +msgstr "Atlecošie taustiņi" + +#: ../js/ui/status/accessibility.js:89 +msgid "Mouse Keys" +msgstr "Peles taustiņi" + +#: ../js/ui/status/accessibility.js:93 +msgid "Universal Access Settings" +msgstr "Universālās piekļuves iestatījumi" + +#: ../js/ui/status/accessibility.js:146 +#: ../js/ui/status/accessibility.js:145 +msgid "High Contrast" +msgstr "Augsts kontrasts" + +#: ../js/ui/status/accessibility.js:183 +#: ../js/ui/status/accessibility.js:182 +msgid "Large Text" +msgstr "Liels teksts" + +#: ../js/ui/status/bluetooth.js:42 ../js/ui/status/bluetooth.js:236 +#: ../js/ui/status/bluetooth.js:332 ../js/ui/status/bluetooth.js:366 +#: ../js/ui/status/bluetooth.js:406 ../js/ui/status/bluetooth.js:439 +#: ../js/ui/status/bluetooth.js:241 +#: ../js/ui/status/bluetooth.js:337 +#: ../js/ui/status/bluetooth.js:371 +#: ../js/ui/status/bluetooth.js:411 +#: ../js/ui/status/bluetooth.js:444 +msgid "Bluetooth" +msgstr "Bluetooth" + +#: ../js/ui/status/bluetooth.js:55 +msgid "Visibility" +msgstr "Redzamība" + +#: ../js/ui/status/bluetooth.js:69 +msgid "Send Files to Device..." +msgstr "Sūtīt failus uz ierīci..." + +#: ../js/ui/status/bluetooth.js:70 +msgid "Setup a New Device..." +msgstr "Iestatīt jaunu ierīci..." + +#: ../js/ui/status/bluetooth.js:95 +msgid "Bluetooth Settings" +msgstr "Bluetooth iestatījumi" + +#: ../js/ui/status/bluetooth.js:187 +#: ../js/ui/status/bluetooth.js:192 +msgid "Connection" +msgstr "Savienojums" + +#: ../js/ui/status/bluetooth.js:223 +msgid "Send Files..." +msgstr "Sūtīt failus..." + +#: ../js/ui/status/bluetooth.js:228 +#: ../js/ui/status/bluetooth.js:233 +msgid "Browse Files..." +msgstr "Pārlūkot failus..." + +#: ../js/ui/status/bluetooth.js:237 +#: ../js/ui/status/bluetooth.js:242 +msgid "Error browsing device" +msgstr "Kļūda, pārlūkojot ierīci" + +#: ../js/ui/status/bluetooth.js:238 +#: ../js/ui/status/bluetooth.js:243 +#, c-format +msgid "The requested device cannot be browsed, error is '%s'" +msgstr "Nevar pārlūkot pieprasīto ierīci, kļūda ir '%s'" + +#: ../js/ui/status/bluetooth.js:246 +msgid "Keyboard Settings" +msgstr "Tastatūras iestatījumi" + +#: ../js/ui/status/bluetooth.js:251 +#: ../js/ui/status/bluetooth.js:256 +msgid "Mouse Settings" +msgstr "Peles iestatījumi" + +#: ../js/ui/status/bluetooth.js:258 ../js/ui/status/volume.js:66 +#: ../js/ui/status/bluetooth.js:263 +#: ../js/ui/status/volume.js:65 +msgid "Sound Settings" +msgstr "Skaņas iestatījumi" + +#: ../js/ui/status/bluetooth.js:367 +#: ../js/ui/status/bluetooth.js:372 +#, c-format +msgid "Authorization request from %s" +msgstr "Autorizācijas pieprasījums no %s" + +#: ../js/ui/status/bluetooth.js:373 +#: ../js/ui/status/bluetooth.js:378 +#, c-format +msgid "Device %s wants access to the service '%s'" +msgstr "Ierīce %s prasa pieeju '%s' servisam" + +#: ../js/ui/status/bluetooth.js:375 +#: ../js/ui/status/bluetooth.js:380 +msgid "Always grant access" +msgstr "Vienmēr piešķirt pieeju" + +#: ../js/ui/status/bluetooth.js:376 +#: ../js/ui/status/bluetooth.js:381 +msgid "Grant this time only" +msgstr "Piešķirt tikai šoreiz" + +#: ../js/ui/status/bluetooth.js:377 +#: ../js/ui/status/bluetooth.js:382 +msgid "Reject" +msgstr "Noraidīt" + +#: ../js/ui/status/bluetooth.js:407 +#: ../js/ui/status/bluetooth.js:412 +#, c-format +msgid "Pairing confirmation for %s" +msgstr "%s pārošanas apstiprinājums" + +#: ../js/ui/status/bluetooth.js:413 ../js/ui/status/bluetooth.js:447 +#: ../js/ui/status/bluetooth.js:418 +#: ../js/ui/status/bluetooth.js:452 +#, c-format +msgid "Device %s wants to pair with this computer" +msgstr "Ierīce %s prasa sapārošanu ar šo datoru" + +#: ../js/ui/status/bluetooth.js:414 +#: ../js/ui/status/bluetooth.js:419 +#, c-format +msgid "Please confirm whether the PIN '%s' matches the one on the device." +msgstr "Lūdzu, pārliecinieties, vai PIN '%s' sakrīt ar ierīces doto." + +#: ../js/ui/status/bluetooth.js:416 +#: ../js/ui/status/bluetooth.js:421 +msgid "Matches" +msgstr "Sakrīt" + +#: ../js/ui/status/bluetooth.js:417 +#: ../js/ui/status/bluetooth.js:422 +msgid "Does not match" +msgstr "Nesakrīt" + +#: ../js/ui/status/bluetooth.js:440 +#: ../js/ui/status/bluetooth.js:445 +#, c-format +msgid "Pairing request for %s" +msgstr "%s pārošanas pieprasījums" + +#: ../js/ui/status/bluetooth.js:448 +#: ../js/ui/status/bluetooth.js:453 +msgid "Please enter the PIN mentioned on the device." +msgstr "Lūdzu, ievadiet PIN ierīcei." + +#: ../js/ui/status/bluetooth.js:464 +#: ../js/ui/status/bluetooth.js:469 +msgid "OK" +msgstr "Labi" + +#: ../js/ui/status/keyboard.js:73 +msgid "Show Keyboard Layout..." +msgstr "Rādīt tastatūras izkārtojumu..." + +#: ../js/ui/status/keyboard.js:76 +msgid "Localization Settings" +msgstr "Lokalizācijas iestatījumi" + +#: ../js/ui/status/network.js:102 ../js/ui/status/network.js:1393 +msgid "" +msgstr "" + +#. Translators: this indicates that wireless or wwan is disabled by hardware killswitch +#: ../js/ui/status/network.js:295 +msgid "disabled" +msgstr "deaktivēts" + +#: ../js/ui/status/network.js:476 +msgid "connecting..." +msgstr "savienojas..." + +#. Translators: this is for network connections that require some kind of key or password +#: ../js/ui/status/network.js:479 +msgid "authentication required" +msgstr "nepieciešama autentifikācija" + +#. Translators: this is for wired network devices that are physically disconnected +#: ../js/ui/status/network.js:485 +msgid "cable unplugged" +msgstr "vads atvienots" + +#. 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:489 +msgid "unavailable" +msgstr "nav pieejams" + +#: ../js/ui/status/network.js:491 +msgid "connection failed" +msgstr "savienojums neizdevās" + +#. TRANSLATORS: this is the indication that a connection for another logged in user is active, +#. and we cannot access its settings (including the name) +#: ../js/ui/status/network.js:571 ../js/ui/status/network.js:1341 +msgid "Connected (private)" +msgstr "Savienots (privāts)" + +#: ../js/ui/status/network.js:636 +msgid "Auto Ethernet" +msgstr "Auto Ethernet" + +#: ../js/ui/status/network.js:697 +msgid "Auto broadband" +msgstr "Auto platjosla" + +#: ../js/ui/status/network.js:700 +msgid "Auto dial-up" +msgstr "Auto iezvanlīnija" + +#. TRANSLATORS: this the automatic wireless connection name (including the network name) +#: ../js/ui/status/network.js:843 ../js/ui/status/network.js:1353 +#, c-format +msgid "Auto %s" +msgstr "Auto %s" + +#: ../js/ui/status/network.js:845 +msgid "Auto bluetooth" +msgstr "Auto bluetooth" + +#: ../js/ui/status/network.js:1355 +msgid "Auto wireless" +msgstr "Auto bezvadu" + +#: ../js/ui/status/network.js:1413 +msgid "More..." +msgstr "Vairāk..." + +#: ../js/ui/status/network.js:1436 +msgid "Enable networking" +msgstr "Aktivē tīklošanu" + +#: ../js/ui/status/network.js:1448 +msgid "Wired" +msgstr "Vadu" + +#: ../js/ui/status/network.js:1459 +msgid "Wireless" +msgstr "Bezvadu" + +#: ../js/ui/status/network.js:1469 +msgid "Mobile broadband" +msgstr "Mobilā platjosla" + +#: ../js/ui/status/network.js:1479 +msgid "VPN Connections" +msgstr "VPN savienojumi" + +#: ../js/ui/status/network.js:1488 +msgid "Network Settings" +msgstr "Tīkla iestatījumi" + +#: ../js/ui/status/network.js:1782 +#, c-format +msgid "You're now connected to mobile broadband connection '%s'" +msgstr "Jūs esat savienojies ar mobilo platjoslas savienojumu '%s'" + +#: ../js/ui/status/network.js:1786 +#, c-format +msgid "You're now connected to wireless network '%s'" +msgstr "Jūs esat savienojies ar bezvadu tīklu '%s'" + +#: ../js/ui/status/network.js:1790 +#, c-format +msgid "You're now connected to wired network '%s'" +msgstr "Jūs esat savienojies ar vadu tīklu '%s'" + +#: ../js/ui/status/network.js:1794 +#, c-format +msgid "You're now connected to VPN network '%s'" +msgstr "Jūs esat savienojies ar VPN tīklu '%s'" + +#: ../js/ui/status/network.js:1799 +#, c-format +msgid "You're now connected to '%s'" +msgstr "Jūs esat savienojies ar '%s'" + +#: ../js/ui/status/network.js:1807 +msgid "Connection estabilished" +msgstr "Savienojums izveidots" + +#: ../js/ui/status/network.js:1929 +msgid "Networking is disabled" +msgstr "Tīklošana ir deaktivēta" + +#: ../js/ui/status/network.js:2054 +msgid "Network Manager" +msgstr "Tīkla pārvaldnieks" + +#: ../js/ui/status/power.js:85 +msgid "Power Settings" +msgstr "Barošanas iestatījumi" + +#. 0 is reported when UPower does not have enough data +#. to estimate battery life +#: ../js/ui/status/power.js:111 +#: ../js/ui/status/power.js:110 +msgid "Estimating..." +msgstr "Novērtē..." + +#: ../js/ui/status/power.js:118 +#: ../js/ui/status/power.js:117 +#, c-format +msgid "%d hour remaining" +msgid_plural "%d hours remaining" +msgstr[0] "atlikusi %d stunda" +msgstr[1] "atlikušas %d stundas" +msgstr[2] "atlikušas %d stundas" + +#. TRANSLATORS: this is a time string, as in "%d hours %d minutes remaining" +#: ../js/ui/status/power.js:121 +#: ../js/ui/status/power.js:120 +#, c-format +msgid "%d %s %d %s remaining" +msgstr "atlikušas %d %s %d %s" + +#: ../js/ui/status/power.js:123 +#: ../js/ui/status/power.js:122 +msgid "hour" +msgid_plural "hours" +msgstr[0] "stunda" +msgstr[1] "stundas" +msgstr[2] "stundu" + +#: ../js/ui/status/power.js:123 +#: ../js/ui/status/power.js:122 +msgid "minute" +msgid_plural "minutes" +msgstr[0] "minūte" +msgstr[1] "minūtes" +msgstr[2] "minūšu" + +#: ../js/ui/status/power.js:126 +#: ../js/ui/status/power.js:125 +#, c-format +msgid "%d minute remaining" +msgid_plural "%d minutes remaining" +msgstr[0] "atlikusi %d minūte" +msgstr[1] "atlikušas %d minūtes" +msgstr[2] "atlikušas %d minūtes" + +#: ../js/ui/status/power.js:228 +#: ../js/ui/status/power.js:227 +msgid "AC adapter" +msgstr "Strāvas adapteris" + +#: ../js/ui/status/power.js:230 +#: ../js/ui/status/power.js:229 +msgid "Laptop battery" +msgstr "Klēpjdatora baterija" + +#: ../js/ui/status/power.js:232 +#: ../js/ui/status/power.js:231 +msgid "UPS" +msgstr "UPS" + +#: ../js/ui/status/power.js:234 +#: ../js/ui/status/power.js:233 +msgid "Monitor" +msgstr "Monitors" + +#: ../js/ui/status/power.js:236 +#: ../js/ui/status/power.js:235 +msgid "Mouse" +msgstr "Pele" + +#: ../js/ui/status/power.js:238 +#: ../js/ui/status/power.js:237 +msgid "Keyboard" +msgstr "Tastatūra" + +#: ../js/ui/status/power.js:240 +#: ../js/ui/status/power.js:239 +msgid "PDA" +msgstr "PDA" + +#: ../js/ui/status/power.js:242 +#: ../js/ui/status/power.js:241 +msgid "Cell phone" +msgstr "Mobilais tālrunis" + +#: ../js/ui/status/power.js:244 +#: ../js/ui/status/power.js:243 +msgid "Media player" +msgstr "Mediju atskaņotājs" + +#: ../js/ui/status/power.js:246 +#: ../js/ui/status/power.js:245 +msgid "Tablet" +msgstr "Planšete" + +#: ../js/ui/status/power.js:248 +#: ../js/ui/status/power.js:247 +msgid "Computer" +msgstr "Dators" + +#: ../js/ui/status/power.js:250 ../src/shell-app-system.c:961 +#: ../js/ui/status/power.js:249 +#: ../src/shell-app-system.c:1013 +msgid "Unknown" +msgstr "Nezināms" + +#: ../js/ui/status/volume.js:45 +#: ../js/ui/status/volume.js:44 +msgid "Volume" +msgstr "Sējums" + +#: ../js/ui/status/volume.js:58 +#: ../js/ui/status/volume.js:57 +msgid "Microphone" +msgstr "Mikrofons" + +#: ../js/ui/telepathyClient.js:332 +#: ../js/ui/telepathyClient.js:239 +#, c-format +msgid "%s is online." +msgstr "%s ir tiešsaistē." + +#: ../js/ui/telepathyClient.js:337 +#: ../js/ui/telepathyClient.js:244 +#, c-format +msgid "%s is offline." +msgstr "%s ir nesaistē." + +#: ../js/ui/telepathyClient.js:340 +#: ../js/ui/telepathyClient.js:247 +#, c-format +msgid "%s is away." +msgstr "%s\" ir prom." + +#: ../js/ui/telepathyClient.js:343 +#: ../js/ui/telepathyClient.js:250 +#, c-format +msgid "%s is busy." +msgstr "%s\" ir aizņemts." + +#. Translators: this is a time format string followed by a date. +#. If applicable, replace %X with a strftime format valid for your +#. locale, without seconds. +#: ../js/ui/telepathyClient.js:474 +#: ../js/ui/telepathyClient.js:357 +#, no-c-format +msgid "Sent at %X on %A" +msgstr "Sūtīts %X %A" + +#. Translators: this is the text displayed +#. in the search entry when no search is +#. active; it should not exceed ~30 +#. characters. +#: ../js/ui/viewSelector.js:119 +#: ../js/ui/viewSelector.js:117 +msgid "Type to search..." +msgstr "Ierakstiet, lai meklētu..." + +#: ../js/ui/viewSelector.js:139 ../src/shell-util.c:250 +#: ../js/ui/viewSelector.js:137 +msgid "Search" +msgstr "Meklēt" + +#: ../js/ui/windowAttentionHandler.js:42 +#, c-format +msgid "%s has finished starting" +msgstr "%s ir beidzis startēties" + +#: ../js/ui/windowAttentionHandler.js:44 +#, c-format +msgid "'%s' is ready" +msgstr "'%s' ir gatavs" + +#. translators: +#. * The number of sound outputs on a particular device +#: ../src/gvc/gvc-mixer-control.c:1098 +#: ../src/gvc/gvc-mixer-control.c:1094 +#, c-format +msgid "%u Output" +msgid_plural "%u Outputs" +msgstr[0] "%u izvadkanāls" +msgstr[1] "%u izvadkanāli" +msgstr[2] "%u izvadkanāli" + +#. translators: +#. * The number of sound inputs on a particular device +#: ../src/gvc/gvc-mixer-control.c:1108 +#: ../src/gvc/gvc-mixer-control.c:1104 +#, c-format +msgid "%u Input" +msgid_plural "%u Inputs" +msgstr[0] "%u ievadkanāls" +msgstr[1] "%u ievadkanāli" +msgstr[2] "%u ievadkanāli" + +#: ../src/gvc/gvc-mixer-control.c:1406 +#: ../src/gvc/gvc-mixer-control.c:1402 +msgid "System Sounds" +msgstr "Sistēmas skaņas" + +#: ../src/main.c:397 +#: ../src/main.c:395 +msgid "Print version" +msgstr "Drukāt versiju" + +#: ../src/shell-app.c:442 +#, c-format +msgid "Failed to launch '%s'" +msgstr "Neizdevās palaist '%s'" + +#: ../src/shell-global.c:1340 +#: ../src/shell-global.c:1308 +msgid "Less than a minute ago" +msgstr "Mazāk kā pirms minūtes" + +#: ../src/shell-global.c:1344 +#: ../src/shell-global.c:1312 +#, c-format +msgid "%d minute ago" +msgid_plural "%d minutes ago" +msgstr[0] "Pirms %d minūtes" +msgstr[1] "Pirms %d minūtēm" +msgstr[2] "Pirms %d minūtēm" + +#: ../src/shell-global.c:1349 +#: ../src/shell-global.c:1317 +#, c-format +msgid "%d hour ago" +msgid_plural "%d hours ago" +msgstr[0] "Pirms %d stundas" +msgstr[1] "Pirms %d stundām" +msgstr[2] "Pirms %d stundām" + +#: ../src/shell-global.c:1354 +#: ../src/shell-global.c:1322 +#, c-format +msgid "%d day ago" +msgid_plural "%d days ago" +msgstr[0] "Pirms %d dienas" +msgstr[1] "Pirms %d dienām" +msgstr[2] "Pirms %d dienām" + +#: ../src/shell-global.c:1359 +#: ../src/shell-global.c:1327 +#, c-format +msgid "%d week ago" +msgid_plural "%d weeks ago" +msgstr[0] "Pirms %d nedēļas" +msgstr[1] "Pirms %d nedēļām" +msgstr[2] "Pirms %d nedēļām" + +#: ../src/shell-mobile-providers.c:80 +msgid "United Kingdom" +msgstr "Apvienotās Karaliste" + +#: ../src/shell-mobile-providers.c:526 +msgid "Default" +msgstr "Noklusētais" + +#: ../src/shell-polkit-authentication-agent.c:334 +msgid "Authentication dialog was dismissed by the user" +msgstr "Lietotājs noraidīja autentifikācijas dialoglodziņu" + +#: ../src/shell-util.c:89 +msgid "Home Folder" +msgstr "Mājas mape" + +#. Translators: this is the same string as the one found in +#. * nautilus +#: ../src/shell-util.c:104 +msgid "File System" +msgstr "Failu sistēma" + +#. Translators: the first string is the name of a gvfs +#. * method, and the second string is a path. For +#. * example, "Trash: some-directory". It means that the +#. * directory called "some-directory" is in the trash. +#. +#: ../src/shell-util.c:300 +#, c-format +msgid "%1$s: %2$s" +msgstr "%1$s: %2$s" + From fb24585dd8f08b50c4091c80c5196df50a3bb085 Mon Sep 17 00:00:00 2001 From: William Jon McCann Date: Sun, 20 Mar 2011 00:22:41 -0400 Subject: [PATCH 091/203] Don't use italic for status items in menus https://bugzilla.gnome.org/show_bug.cgi?id=645276 --- data/theme/gnome-shell.css | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/data/theme/gnome-shell.css b/data/theme/gnome-shell.css index d9ae984d0..5cae9c23c 100644 --- a/data/theme/gnome-shell.css +++ b/data/theme/gnome-shell.css @@ -154,7 +154,7 @@ StTooltip StLabel { } .popup-inactive-menu-item { - font-style: italic; + color: #999; } .popup-subtitle-menu-item { From d4e329b76dab4be97e87d532efb2af8f61cbfeec Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Fran=20Di=C3=A9guez?= Date: Sun, 20 Mar 2011 18:54:54 +0100 Subject: [PATCH 092/203] Updated Galician translations --- po/gl.po | 172 ++++++++++++++++++++++++++++--------------------------- 1 file changed, 88 insertions(+), 84 deletions(-) diff --git a/po/gl.po b/po/gl.po index 00d0d0a3d..ff98d7c81 100644 --- a/po/gl.po +++ b/po/gl.po @@ -2,24 +2,24 @@ # Copyright (C) 2009 gnome-shell's COPYRIGHT HOLDER # This file is distributed under the same license as the gnome-shell package. # +# # Anton Meixome , 2009. # Antón Méixome , 2009. # Fran Diéguez , 2009, 2010, 2011. -# msgid "" msgstr "" "Project-Id-Version: gnome-shell master\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2011-03-16 19:45+0100\n" -"PO-Revision-Date: 2011-03-16 19:54+0100\n" -"Last-Translator: Fran Diéguez \n" +"POT-Creation-Date: 2011-03-20 18:54+0100\n" +"PO-Revision-Date: 2011-03-20 18:54+0100\n" +"Last-Translator: \n" "Language-Team: Galician \n" "Language: gl\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -"X-Generator: Virtaal 0.4.0\n" +"X-Generator: Lokalize 1.2\n" #: ../data/gnome-shell.desktop.in.in.h:1 msgid "GNOME Shell" @@ -175,21 +175,17 @@ msgstr "Indica se recoller estatísticas sobre o uso dos aplicativos" msgid "disabled OpenSearch providers" msgstr "fornecedores de OpenSearch desactivados" -#: ../js/misc/util.js:86 +#: ../js/misc/util.js:71 msgid "Command not found" msgstr "Orde non atopada" #. Replace "Error invoking GLib.shell_parse_argv: " with #. something nicer -#: ../js/misc/util.js:113 +#: ../js/misc/util.js:98 msgid "Could not parse command:" msgstr "Non foi posíbel analizar a orde:" -#: ../js/misc/util.js:135 -msgid "No such application" -msgstr "Non existe o aplicativo" - -#: ../js/misc/util.js:148 +#: ../js/misc/util.js:106 #, c-format msgid "Execution of '%s' failed:" msgstr "Produciuse un fallo na execución de «%s»:" @@ -207,15 +203,15 @@ msgstr "APLICATIVOS" msgid "SETTINGS" msgstr "CONFIGURACIÓN" -#: ../js/ui/appDisplay.js:612 +#: ../js/ui/appDisplay.js:616 msgid "New Window" msgstr "Xanela nova" -#: ../js/ui/appDisplay.js:615 +#: ../js/ui/appDisplay.js:619 msgid "Remove from Favorites" msgstr "Eliminar dos favoritos" -#: ../js/ui/appDisplay.js:616 +#: ../js/ui/appDisplay.js:620 msgid "Add to Favorites" msgstr "Engadir aos favoritos" @@ -375,7 +371,7 @@ msgstr "Esta semana" msgid "Next week" msgstr "A vindeira semana" -#: ../js/ui/dash.js:174 ../js/ui/messageTray.js:935 +#: ../js/ui/dash.js:174 ../js/ui/messageTray.js:933 msgid "Remove" msgstr "Eliminar" @@ -507,7 +503,7 @@ msgstr "Reiniciando o computador." msgid "Confirm" msgstr "Confirmar" -#: ../js/ui/endSessionDialog.js:400 ../js/ui/status/bluetooth.js:465 +#: ../js/ui/endSessionDialog.js:400 ../js/ui/status/bluetooth.js:466 msgid "Cancel" msgstr "Cancelar" @@ -541,11 +537,11 @@ msgstr "Ver fonte" msgid "Web Page" msgstr "Páxina web" -#: ../js/ui/messageTray.js:928 +#: ../js/ui/messageTray.js:926 msgid "Open" msgstr "Abrir" -#: ../js/ui/messageTray.js:1988 +#: ../js/ui/messageTray.js:1986 msgid "System Information" msgstr "Información do sistema" @@ -568,18 +564,18 @@ msgid "Dash" msgstr "Panel" #. TODO - _quit() doesn't really work on apps in state STARTING yet -#: ../js/ui/panel.js:514 +#: ../js/ui/panel.js:515 #, c-format msgid "Quit %s" msgstr "Saír de %s" #. Button on the left side of the panel. #. Translators: If there is no suitable word for "Activities" in your language, you can use the word for "Overview". -#: ../js/ui/panel.js:873 +#: ../js/ui/panel.js:874 msgid "Activities" msgstr "Actividades" -#: ../js/ui/panel.js:974 +#: ../js/ui/panel.js:975 msgid "Panel" msgstr "Panel" @@ -613,11 +609,11 @@ msgstr "toggle-switch-intl" msgid "Please enter a command:" msgstr "Insira unha orde:" -#: ../js/ui/searchDisplay.js:283 +#: ../js/ui/searchDisplay.js:287 msgid "Searching..." msgstr "Buscando..." -#: ../js/ui/searchDisplay.js:297 +#: ../js/ui/searchDisplay.js:301 msgid "No matching results." msgstr "Non hai resultados que coincidan." @@ -691,17 +687,17 @@ msgstr "Teclas do Rato" msgid "Universal Access Settings" msgstr "Configuracións de acceso universal" -#: ../js/ui/status/accessibility.js:145 +#: ../js/ui/status/accessibility.js:146 msgid "High Contrast" msgstr "Alto contraste" -#: ../js/ui/status/accessibility.js:182 +#: ../js/ui/status/accessibility.js:183 msgid "Large Text" msgstr "Texto máis grande" -#: ../js/ui/status/bluetooth.js:42 ../js/ui/status/bluetooth.js:236 -#: ../js/ui/status/bluetooth.js:332 ../js/ui/status/bluetooth.js:366 -#: ../js/ui/status/bluetooth.js:406 ../js/ui/status/bluetooth.js:439 +#: ../js/ui/status/bluetooth.js:42 ../js/ui/status/bluetooth.js:237 +#: ../js/ui/status/bluetooth.js:333 ../js/ui/status/bluetooth.js:367 +#: ../js/ui/status/bluetooth.js:407 ../js/ui/status/bluetooth.js:440 msgid "Bluetooth" msgstr "Bluetooth" @@ -721,94 +717,94 @@ msgstr "Configurar un novo dispositivo…" msgid "Bluetooth Settings" msgstr "Configuracións de Bluetooth" -#: ../js/ui/status/bluetooth.js:187 +#: ../js/ui/status/bluetooth.js:188 msgid "Connection" msgstr "Conexión" -#: ../js/ui/status/bluetooth.js:223 +#: ../js/ui/status/bluetooth.js:224 msgid "Send Files..." msgstr "Enviar ficheiros…" -#: ../js/ui/status/bluetooth.js:228 +#: ../js/ui/status/bluetooth.js:229 msgid "Browse Files..." msgstr "Explorar ficheiros…" -#: ../js/ui/status/bluetooth.js:237 +#: ../js/ui/status/bluetooth.js:238 msgid "Error browsing device" msgstr "Produciuse un erro ao explorar o dispositivo" -#: ../js/ui/status/bluetooth.js:238 +#: ../js/ui/status/bluetooth.js:239 #, c-format msgid "The requested device cannot be browsed, error is '%s'" msgstr "O dispositivo solicitado non pode explorarse, o erro foi «%s»" -#: ../js/ui/status/bluetooth.js:246 +#: ../js/ui/status/bluetooth.js:247 msgid "Keyboard Settings" msgstr "Configuracións do teclado" -#: ../js/ui/status/bluetooth.js:251 +#: ../js/ui/status/bluetooth.js:252 msgid "Mouse Settings" msgstr "Configuracións do rato" -#: ../js/ui/status/bluetooth.js:258 ../js/ui/status/volume.js:66 +#: ../js/ui/status/bluetooth.js:259 ../js/ui/status/volume.js:66 msgid "Sound Settings" msgstr "Configuracións do son" -#: ../js/ui/status/bluetooth.js:367 +#: ../js/ui/status/bluetooth.js:368 #, c-format msgid "Authorization request from %s" msgstr "Solicitude de autorización de %s" -#: ../js/ui/status/bluetooth.js:373 +#: ../js/ui/status/bluetooth.js:374 #, 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:375 +#: ../js/ui/status/bluetooth.js:376 msgid "Always grant access" msgstr "Conceder acceso sempre" -#: ../js/ui/status/bluetooth.js:376 +#: ../js/ui/status/bluetooth.js:377 msgid "Grant this time only" msgstr "Conceder só esta vez" -#: ../js/ui/status/bluetooth.js:377 +#: ../js/ui/status/bluetooth.js:378 msgid "Reject" msgstr "Rexeitar" -#: ../js/ui/status/bluetooth.js:407 +#: ../js/ui/status/bluetooth.js:408 #, c-format msgid "Pairing confirmation for %s" msgstr "Confirmación de emparellado para «%s»" -#: ../js/ui/status/bluetooth.js:413 ../js/ui/status/bluetooth.js:447 +#: ../js/ui/status/bluetooth.js:414 ../js/ui/status/bluetooth.js:448 #, 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:414 +#: ../js/ui/status/bluetooth.js:415 #, c-format msgid "Please confirm whether the PIN '%s' matches the one on the device." msgstr "Confirme que o PIN mostrado en «%s» coincide co do dispositivo." -#: ../js/ui/status/bluetooth.js:416 +#: ../js/ui/status/bluetooth.js:417 msgid "Matches" msgstr "Coincide" -#: ../js/ui/status/bluetooth.js:417 +#: ../js/ui/status/bluetooth.js:418 msgid "Does not match" msgstr "Non coincide" -#: ../js/ui/status/bluetooth.js:440 +#: ../js/ui/status/bluetooth.js:441 #, c-format msgid "Pairing request for %s" msgstr "Solicitude de emparellamento para «%s»" -#: ../js/ui/status/bluetooth.js:448 +#: ../js/ui/status/bluetooth.js:449 msgid "Please enter the PIN mentioned on the device." msgstr "Introduza o PIN mencionado no dispositivo." -#: ../js/ui/status/bluetooth.js:464 +#: ../js/ui/status/bluetooth.js:465 msgid "OK" msgstr "Aceptar" @@ -913,40 +909,40 @@ msgstr "Conexións VPN" msgid "Network Settings" msgstr "Configuracións da rede" -#: ../js/ui/status/network.js:1782 +#: ../js/ui/status/network.js:1783 #, c-format msgid "You're now connected to mobile broadband connection '%s'" msgstr "Vostede está conectado agora á conexión de banda larga móbil «%s»" -#: ../js/ui/status/network.js:1786 +#: ../js/ui/status/network.js:1787 #, c-format msgid "You're now connected to wireless network '%s'" msgstr "Vostede está conectado agora á conexión sen fíos «%s»" -#: ../js/ui/status/network.js:1790 +#: ../js/ui/status/network.js:1791 #, c-format msgid "You're now connected to wired network '%s'" msgstr "Vostede está conectado agora á conexión con fíos «%s»" -#: ../js/ui/status/network.js:1794 +#: ../js/ui/status/network.js:1795 #, c-format msgid "You're now connected to VPN network '%s'" msgstr "Vostede está conectado agora á conexión VPN «%s»" -#: ../js/ui/status/network.js:1799 +#: ../js/ui/status/network.js:1800 #, c-format msgid "You're now connected to '%s'" msgstr "Vostede está conectado agora a «%s»" -#: ../js/ui/status/network.js:1807 +#: ../js/ui/status/network.js:1808 msgid "Connection established" msgstr "Conexión estabelecida" -#: ../js/ui/status/network.js:1929 +#: ../js/ui/status/network.js:1930 msgid "Networking is disabled" msgstr "A rede está desactivada" -#: ../js/ui/status/network.js:2054 +#: ../js/ui/status/network.js:2055 msgid "Network Manager" msgstr "Xestor de rede" @@ -956,11 +952,11 @@ msgstr "Configuracións de enerxía" #. 0 is reported when UPower does not have enough data #. to estimate battery life -#: ../js/ui/status/power.js:110 +#: ../js/ui/status/power.js:111 msgid "Estimating..." msgstr "Estimando…" -#: ../js/ui/status/power.js:117 +#: ../js/ui/status/power.js:118 #, c-format msgid "%d hour remaining" msgid_plural "%d hours remaining" @@ -968,75 +964,75 @@ msgstr[0] "%d hora restante" msgstr[1] "%d horas restante" #. TRANSLATORS: this is a time string, as in "%d hours %d minutes remaining" -#: ../js/ui/status/power.js:120 +#: ../js/ui/status/power.js:121 #, c-format msgid "%d %s %d %s remaining" msgstr "%d %s %d %s retante" -#: ../js/ui/status/power.js:122 +#: ../js/ui/status/power.js:123 msgid "hour" msgid_plural "hours" msgstr[0] "hora" msgstr[1] "horas" -#: ../js/ui/status/power.js:122 +#: ../js/ui/status/power.js:123 msgid "minute" msgid_plural "minutes" msgstr[0] "minuto" msgstr[1] "minutos" -#: ../js/ui/status/power.js:125 +#: ../js/ui/status/power.js:126 #, c-format msgid "%d minute remaining" msgid_plural "%d minutes remaining" msgstr[0] "%d minuto restante" msgstr[1] "%d minutos restantes" -#: ../js/ui/status/power.js:227 +#: ../js/ui/status/power.js:228 msgid "AC adapter" msgstr "Adaptador de corrente" -#: ../js/ui/status/power.js:229 +#: ../js/ui/status/power.js:230 msgid "Laptop battery" msgstr "Batería do portátil" -#: ../js/ui/status/power.js:231 +#: ../js/ui/status/power.js:232 msgid "UPS" msgstr "UPS" -#: ../js/ui/status/power.js:233 +#: ../js/ui/status/power.js:234 msgid "Monitor" msgstr "Monitor" -#: ../js/ui/status/power.js:235 +#: ../js/ui/status/power.js:236 msgid "Mouse" msgstr "Rato" -#: ../js/ui/status/power.js:237 +#: ../js/ui/status/power.js:238 msgid "Keyboard" msgstr "Teclado" -#: ../js/ui/status/power.js:239 +#: ../js/ui/status/power.js:240 msgid "PDA" msgstr "PDA" -#: ../js/ui/status/power.js:241 +#: ../js/ui/status/power.js:242 msgid "Cell phone" msgstr "Teléfono móbil" -#: ../js/ui/status/power.js:243 +#: ../js/ui/status/power.js:244 msgid "Media player" msgstr "Reprodutor multimedia" -#: ../js/ui/status/power.js:245 +#: ../js/ui/status/power.js:246 msgid "Tablet" msgstr "Tablet" -#: ../js/ui/status/power.js:247 +#: ../js/ui/status/power.js:248 msgid "Computer" msgstr "Computador" -#: ../js/ui/status/power.js:249 ../src/shell-app-system.c:1013 +#: ../js/ui/status/power.js:250 ../src/shell-app-system.c:961 msgid "Unknown" msgstr "Descoñecido" @@ -1080,11 +1076,11 @@ msgstr "Enviado ás %X o %A" #. in the search entry when no search is #. active; it should not exceed ~30 #. characters. -#: ../js/ui/viewSelector.js:119 +#: ../js/ui/viewSelector.js:122 msgid "Type to search..." msgstr "Teclear para buscar…" -#: ../js/ui/viewSelector.js:139 ../src/shell-util.c:250 +#: ../js/ui/viewSelector.js:142 ../src/shell-util.c:250 msgid "Search" msgstr "Buscar" @@ -1120,36 +1116,41 @@ msgstr[1] "%u entradas" msgid "System Sounds" msgstr "Sons do sistema" -#: ../src/main.c:395 +#: ../src/main.c:397 msgid "Print version" msgstr "Imprimir versión" -#: ../src/shell-global.c:1308 +#: ../src/shell-app.c:454 +#, c-format +msgid "Failed to launch '%s'" +msgstr "Produciuse un fallo ao iniciar «%s»" + +#: ../src/shell-global.c:1340 msgid "Less than a minute ago" msgstr "Hai menos dun minuto" -#: ../src/shell-global.c:1312 +#: ../src/shell-global.c:1344 #, c-format msgid "%d minute ago" msgid_plural "%d minutes ago" msgstr[0] "hai %d minuto" msgstr[1] "hai %d minutos" -#: ../src/shell-global.c:1317 +#: ../src/shell-global.c:1349 #, c-format msgid "%d hour ago" msgid_plural "%d hours ago" msgstr[0] "hai %d hora" msgstr[1] "hai %d horas" -#: ../src/shell-global.c:1322 +#: ../src/shell-global.c:1354 #, c-format msgid "%d day ago" msgid_plural "%d days ago" msgstr[0] "hai %d día" msgstr[1] "hai %d días" -#: ../src/shell-global.c:1327 +#: ../src/shell-global.c:1359 #, c-format msgid "%d week ago" msgid_plural "%d weeks ago" @@ -1188,6 +1189,9 @@ msgstr "Sistema de ficheiros" msgid "%1$s: %2$s" msgstr "%1$s: %2$s" +#~ msgid "No such application" +#~ msgstr "Non existe o aplicativo" + #~ msgid "Screen Reader" #~ msgstr "Lector de pantalla" From 77cdb17cee5b7743b8e6e034788c1720f29e4bcc Mon Sep 17 00:00:00 2001 From: Maxim Ermilov Date: Fri, 18 Mar 2011 01:44:41 +0300 Subject: [PATCH 093/203] ShellAppSystem: dynamically generate known_vendor_prefixes It create prefix based on desktop file's id and desktop file's path and vendor_prefix. https://bugzilla.gnome.org/show_bug.cgi?id=620464 --- src/shell-app-system.c | 151 +++++++++++++++++++++++++++++++++++++---- 1 file changed, 139 insertions(+), 12 deletions(-) diff --git a/src/shell-app-system.c b/src/shell-app-system.c index 086cfc888..7bd4b1251 100644 --- a/src/shell-app-system.c +++ b/src/shell-app-system.c @@ -23,10 +23,10 @@ /* Vendor prefixes are something that can be preprended to a .desktop * file name. Undo this. */ -static const char*const known_vendor_prefixes[] = { "gnome", - "fedora", - "mozilla", - NULL }; +static const char*const vendor_prefixes[] = { "gnome-", + "fedora-", + "mozilla-", + NULL }; enum { PROP_0, @@ -49,12 +49,14 @@ struct _ShellAppSystemPrivate { GSList *cached_flattened_apps; /* ShellAppInfo */ GSList *cached_settings; /* ShellAppInfo */ + GSList *known_vendor_prefixes; gint app_monitor_id; guint app_change_timeout_id; }; +static char *shell_app_info_get_prefix (ShellAppInfo *info); static void shell_app_system_finalize (GObject *object); static gboolean on_tree_changed (gpointer user_data); static void on_tree_changed_cb (GMenuTree *tree, gpointer user_data); @@ -226,6 +228,11 @@ shell_app_system_finalize (GObject *object) g_slist_foreach (priv->cached_flattened_apps, (GFunc)shell_app_info_unref, NULL); g_slist_free (priv->cached_flattened_apps); priv->cached_flattened_apps = NULL; + + g_slist_foreach (priv->known_vendor_prefixes, (GFunc)g_free, NULL); + g_slist_free (priv->known_vendor_prefixes); + priv->known_vendor_prefixes = NULL; + g_slist_foreach (priv->cached_settings, (GFunc)shell_app_info_unref, NULL); g_slist_free (priv->cached_settings); priv->cached_settings = NULL; @@ -309,10 +316,20 @@ cache_by_id (ShellAppSystem *self, GSList *apps) for (iter = apps; iter; iter = iter->next) { ShellAppInfo *info = iter->data; + const char *id = shell_app_info_get_id (info); + char *prefix = shell_app_info_get_prefix (info); + shell_app_info_ref (info); /* the name is owned by the info itself */ - g_hash_table_replace (self->priv->app_id_to_info, (char*)shell_app_info_get_id (info), - info); + + if (prefix + && !g_slist_find_custom (self->priv->known_vendor_prefixes, prefix, + (GCompareFunc)g_strcmp0)) + self->priv->known_vendor_prefixes = g_slist_append (self->priv->known_vendor_prefixes, + prefix); + else + g_free (prefix); + g_hash_table_replace (self->priv->app_id_to_info, (char*)id, info); } } @@ -321,6 +338,10 @@ reread_menus (ShellAppSystem *self) { GHashTable *unique = g_hash_table_new (g_str_hash, g_str_equal); + g_slist_foreach (self->priv->known_vendor_prefixes, (GFunc)g_free, NULL); + g_slist_free (self->priv->known_vendor_prefixes); + self->priv->known_vendor_prefixes = NULL; + reread_entries (self, &(self->priv->cached_flattened_apps), unique, self->priv->apps_tree); g_hash_table_remove_all (unique); reread_entries (self, &(self->priv->cached_settings), unique, self->priv->settings_tree); @@ -593,16 +614,13 @@ shell_app_system_lookup_heuristic_basename (ShellAppSystem *system, const char *name) { ShellApp *result; - char **vendor_prefixes; - + GSList *prefix; result = shell_app_system_get_app (system, name); if (result != NULL) return result; - - for (vendor_prefixes = (char**)known_vendor_prefixes; - *vendor_prefixes; vendor_prefixes++) + for (prefix = system->priv->known_vendor_prefixes; prefix; prefix = g_slist_next (prefix)) { - char *tmpid = g_strjoin (NULL, *vendor_prefixes, "-", name, NULL); + char *tmpid = g_strconcat ((char*)prefix->data, name, NULL); result = shell_app_system_get_app (system, tmpid); g_free (tmpid); if (result != NULL) @@ -941,6 +959,115 @@ shell_app_info_get_id (ShellAppInfo *info) return NULL; } +static char * +shell_app_info_get_prefix (ShellAppInfo *info) +{ + char *prefix = NULL, *file_prefix = NULL; + const char *id; + GFile *file; + char *name; + int i = 0; + + if (info->type != SHELL_APP_INFO_TYPE_ENTRY) + return NULL; + + id = gmenu_tree_entry_get_desktop_file_id ((GMenuTreeEntry*)info->entry); + file = g_file_new_for_path (gmenu_tree_entry_get_desktop_file_path ((GMenuTreeEntry*)info->entry)); + name = g_file_get_basename (file); + + if (!name) + { + g_object_unref (file); + return NULL; + } + for (i = 0; vendor_prefixes[i]; i++) + { + if (g_str_has_prefix (name, vendor_prefixes[i])) + { + file_prefix = g_strdup (vendor_prefixes[i]); + break; + } + } + + while (strcmp (name, id) != 0) + { + char *t; + char *pname; + GFile *parent = g_file_get_parent (file); + + if (!parent) + { + g_warn_if_reached (); + break; + } + + pname = g_file_get_basename (parent); + if (!pname) + { + g_object_unref (parent); + break; + } + if (!g_strstr_len (id, -1, pname)) + { + /* handle */ + char *t; + size_t name_len = strlen (name); + size_t id_len = strlen (id); + char *t_id = g_strdup (id); + + t_id[id_len - name_len] = '\0'; + t = g_strdup(t_id); + g_free (prefix); + g_free (t_id); + g_free (name); + name = g_strdup (id); + prefix = t; + + g_object_unref (file); + file = parent; + g_free (pname); + g_free (file_prefix); + file_prefix = NULL; + break; + } + + t = g_strconcat (pname, "-", name, NULL); + g_free (name); + name = t; + + t = g_strconcat (pname, "-", prefix, NULL); + g_free (prefix); + prefix = t; + + g_object_unref (file); + file = parent; + g_free (pname); + } + + if (file) + g_object_unref (file); + + if (strcmp (name, id) == 0) + { + g_free (name); + if (file_prefix && !prefix) + return file_prefix; + if (file_prefix) + { + char *t = g_strconcat (prefix, "-", file_prefix, NULL); + g_free (prefix); + g_free (file_prefix); + prefix = t; + } + return prefix; + } + + g_free (name); + g_free (prefix); + g_free (file_prefix); + g_return_val_if_reached (NULL); +} + #define DESKTOP_ENTRY_GROUP "Desktop Entry" char * From b81ad3ed39484a94f2a753c8bc681a8d44ec63da Mon Sep 17 00:00:00 2001 From: Duarte Loreto Date: Sun, 20 Mar 2011 23:52:36 +0000 Subject: [PATCH 094/203] Updated Portuguese translation --- po/pt.po | 1246 +++++++++++++++++++++++++++++++++++++++++++----------- 1 file changed, 998 insertions(+), 248 deletions(-) diff --git a/po/pt.po b/po/pt.po index 6e0f34ffc..192648b5e 100644 --- a/po/pt.po +++ b/po/pt.po @@ -1,16 +1,18 @@ # gnome-shell's Portuguese translation. -# Copyright © 2010 gnome-shell +# Copyright © 2010, 2011 gnome-shell # This file is distributed under the same license as the gnome-shell package. -# Duarte Loreto , 2010. +# Duarte Loreto , 2010, 2011. +# Rui Gouveia , 2011. # msgid "" msgstr "" -"Project-Id-Version: 2.32\n" +"Project-Id-Version: 3.0\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2010-09-10 21:45+0100\n" -"PO-Revision-Date: 2010-09-09 01:18+0000\n" +"POT-Creation-Date: 2011-03-20 23:18+0000\n" +"PO-Revision-Date: 2011-03-20 23:45+0000\n" "Last-Translator: Duarte Loreto \n" "Language-Team: Portuguese \n" +"Language: pt\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" @@ -24,14 +26,6 @@ msgstr "Interface GNOME" msgid "Window management and application launching" msgstr "Gestão de janelas e iniciação de aplicações" -#: ../data/gnome-shell-clock-preferences.desktop.in.in.h:1 -msgid "Clock" -msgstr "Relógio" - -#: ../data/gnome-shell-clock-preferences.desktop.in.in.h:2 -msgid "Customize the panel clock" -msgstr "Personalizar o relógio do painel" - #: ../data/org.gnome.shell.gschema.xml.in.h:1 msgid "" "Allows access to internal debugging and monitoring tools using the Alt-F2 " @@ -41,24 +35,20 @@ msgstr "" "utilizando o diálogo Alt-F2." #: ../data/org.gnome.shell.gschema.xml.in.h:2 -msgid "Custom format of the clock" -msgstr "Formato personalizado do relógio" - -#: ../data/org.gnome.shell.gschema.xml.in.h:3 msgid "Enable internal tools useful for developers and testers from Alt-F2" msgstr "" "Activa, a partir do Alt-F2, ferramentas internas úteis para programadores e " "quem realiza testes" -#: ../data/org.gnome.shell.gschema.xml.in.h:4 +#: ../data/org.gnome.shell.gschema.xml.in.h:3 msgid "File extension used for storing the screencast" msgstr "Extensão de ficheiro utilizado para armazenar a transmissão de ecrã" -#: ../data/org.gnome.shell.gschema.xml.in.h:5 +#: ../data/org.gnome.shell.gschema.xml.in.h:4 msgid "Framerate used for recording screencasts." msgstr "Taxa de imagens utilizada para a gravação das transmissões de ecrã." -#: ../data/org.gnome.shell.gschema.xml.in.h:6 +#: ../data/org.gnome.shell.gschema.xml.in.h:5 msgid "" "GNOME Shell extensions have a uuid property; this key lists extensions which " "should not be loaded." @@ -66,43 +56,32 @@ msgstr "" "As extensões da Interface GNOME têm uma propriedade uuid; esta chave lista " "as extensões que não deverão ser lidas." -#: ../data/org.gnome.shell.gschema.xml.in.h:7 +#: ../data/org.gnome.shell.gschema.xml.in.h:6 msgid "History for command (Alt-F2) dialog" msgstr "Histórico do diálogo de comando (Alt-F2)" +#: ../data/org.gnome.shell.gschema.xml.in.h:7 +msgid "History for the looking glass dialog" +msgstr "Histórico do diálogo de pesquisa" + #: ../data/org.gnome.shell.gschema.xml.in.h:8 -msgid "Hour format" -msgstr "Formato de hora" +msgid "If true, display date in the clock, in addition to time." +msgstr "Se verdadeiro, apresentar a data no relógio, além da hora." #: ../data/org.gnome.shell.gschema.xml.in.h:9 -msgid "" -"If true and format is either \"12-hour\" or \"24-hour\", display date in the " -"clock, in addition to time." -msgstr "" -"Se verdadeiro e o formato for \"12-hour\" ou \"24-hour\", apresentar a data " -"no relógio, além da hora." +msgid "If true, display seconds in time." +msgstr "Se verdadeiro, apresentar os segundos na hora." #: ../data/org.gnome.shell.gschema.xml.in.h:10 -msgid "" -"If true and format is either \"12-hour\" or \"24-hour\", display seconds in " -"time." -msgstr "" -"Se verdadeiro e o formato for \"12-hour\" ou \"24-hour\", apresentar os " -"segundos na hora." - -#: ../data/org.gnome.shell.gschema.xml.in.h:11 msgid "If true, display the ISO week date in the calendar." msgstr "Se verdadeiro, apresentar o número ISO da semana no calendário." -#: ../data/org.gnome.shell.gschema.xml.in.h:12 +#: ../data/org.gnome.shell.gschema.xml.in.h:11 msgid "List of desktop file IDs for favorite applications" msgstr "Lista de IDs de ficheiros desktop das aplicações favoritas" #: ../data/org.gnome.shell.gschema.xml.in.h:13 -msgid "Overview workspace view mode" -msgstr "Modo de vista da visão geral da área de trabalho" - -#: ../data/org.gnome.shell.gschema.xml.in.h:14 +#, no-c-format msgid "" "Sets the GStreamer pipeline used to encode recordings. It follows the syntax " "used for gst-launch. The pipeline should have an unconnected sink pad where " @@ -111,31 +90,35 @@ msgid "" "pipeline can also take care of its own output - this might be used to send " "the output to an icecast server via shout2send or similar. When unset or set " "to an empty value, the default pipeline will be used. This is currently " -"'videorate ! theoraenc ! oggmux' and records to Ogg Theora." +"'videorate ! vp8enc quality=10 speed=2 threads=%T ! queue ! webmmux' and " +"records to WEBM using the VP8 codec. %T is used as a placeholder for a guess " +"at the optimal thread count on the system." msgstr "" "Define o canal GStreamer utilizado para codificar as gravações. Segue a " "sintaxe utilizada para o gst-launch. O canal deverá ter um ponto de saída " "desligado onde o vídeo gravado é gravado. Terá normalmente um ponto de " "entrada desligado; o resultado desse ponto será escrito no ficheiro de " -"saída. No entanto o canal poderá tratar da sua própria saída - tal poderá " +"saída. No entanto, o canal poderá tratar da sua própria saída - tal poderá " "ser utilizado para enviar o resultado para um servidor icecast através do " "shout2send ou semelhante. Quando não definido ou definido com um valor " "vazio, será utilizado o canal por omissão. Este é actualmente 'videorate ! " -"theoraenc ! oggmux' e grava em Ogg Theora." +"vp8enc quality=10 speed=2 threads=%T ! queue ! webmmux' e grava para WEBM " +"utilizando co codec VP8. %T é utilizado como uma varável para se tentar " +"inferir o número óptimo de threads no sistema." -#: ../data/org.gnome.shell.gschema.xml.in.h:15 +#: ../data/org.gnome.shell.gschema.xml.in.h:14 msgid "Show date in clock" msgstr "Apresentar data no relógio" -#: ../data/org.gnome.shell.gschema.xml.in.h:16 +#: ../data/org.gnome.shell.gschema.xml.in.h:15 msgid "Show the week date in the calendar" msgstr "Apresentar o número da semana no calendário" -#: ../data/org.gnome.shell.gschema.xml.in.h:17 +#: ../data/org.gnome.shell.gschema.xml.in.h:16 msgid "Show time with seconds" msgstr "Apresentar hora com segundos" -#: ../data/org.gnome.shell.gschema.xml.in.h:18 +#: ../data/org.gnome.shell.gschema.xml.in.h:17 msgid "" "The applications corresponding to these identifiers will be displayed in the " "favorites area." @@ -143,7 +126,7 @@ msgstr "" "As aplicações correspondentes a estes identificadores serão apresentadas na " "área de favoritas." -#: ../data/org.gnome.shell.gschema.xml.in.h:19 +#: ../data/org.gnome.shell.gschema.xml.in.h:18 msgid "" "The filename for recorded screencasts will be a unique filename based on the " "current date, and use this extension. It should be changed when recording to " @@ -153,7 +136,7 @@ msgstr "" "na data actual e utilizará esta extensão. Deverá ser alterada quando se " "gravar para um formato de conteúdo diferente." -#: ../data/org.gnome.shell.gschema.xml.in.h:20 +#: ../data/org.gnome.shell.gschema.xml.in.h:19 msgid "" "The framerate of the resulting screencast recordered by GNOME Shell's " "screencast recorder in frames-per-second." @@ -161,19 +144,11 @@ msgstr "" "A taxa de imagens da transmissão de ecrã resultante gravada através do " "gravador de transmissões de ecrã do Interface GNOME, em imagens por segundo." -#: ../data/org.gnome.shell.gschema.xml.in.h:21 +#: ../data/org.gnome.shell.gschema.xml.in.h:20 msgid "The gstreamer pipeline used to encode the screencast" msgstr "O canal gstreamer utilizado para codificar a transmissão de ecrã" -#: ../data/org.gnome.shell.gschema.xml.in.h:22 -msgid "" -"The selected workspace view mode in the overview. Supported values are " -"\"single\" and \"grid\"." -msgstr "" -"O modo de visão geral de área de trabalho seleccionado. Os valores " -"suportados são \"single\" e \"grid\"." - -#: ../data/org.gnome.shell.gschema.xml.in.h:23 +#: ../data/org.gnome.shell.gschema.xml.in.h:21 msgid "" "The shell normally monitors active applications in order to present the most " "used ones (e.g. in launchers). While this data will be kept private, you may " @@ -186,361 +161,1136 @@ msgstr "" "questões de privacidade. Note que ao fazê-lo não irá remover os dados até à " "data gravados." -#: ../data/org.gnome.shell.gschema.xml.in.h:24 -msgid "" -"This key specifies the format used by the panel clock when the format key is " -"set to \"custom\". You can use conversion specifiers understood by strftime" -"() to obtain a specific format. See the strftime() manual for more " -"information." -msgstr "" -"Esta chave especifica o formato utilizado pelo relógio do painel quando a " -"chave de formato está definida como \"custom\". Pode utilizar " -"especificadores de conversão válidos para o strftime() para obter um formato " -"específico. Consulte o manual do strftime() para mais informações." - -#: ../data/org.gnome.shell.gschema.xml.in.h:25 -msgid "" -"This key specifies the hour format used by the panel clock. Possible values " -"are \"12-hour\", \"24-hour\", \"unix\" and \"custom\". If set to \"unix\", " -"the clock will display time in seconds since Epoch, i.e. 1970-01-01. If set " -"to \"custom\", the clock will display time according to the format specified " -"in the custom_format key. Note that if set to either \"unix\" or \"custom\", " -"the show_date and show_seconds keys are ignored." -msgstr "" -"Esta chave especifica o formato de hora utilizado pelo relógio do painel. " -"Valores possíveis são \"12-hour\", \"24-hour\", \"unix\" e \"custom\". Se " -"definido como \"unix\", o relógio irá apresentar o tempo em segundos desde a " -"Epoch, isto é 1970/01/01. Se definido como \"custom\", o relógio apresentará " -"as horas de acordo com o formato especificado na chave custom_format. Note " -"que se definido como \"unix\" ou \"custom\", as chaves show_date e " -"show_seconds são ignoradas." - -#: ../data/org.gnome.shell.gschema.xml.in.h:26 +#: ../data/org.gnome.shell.gschema.xml.in.h:22 msgid "Uuids of extensions to disable" msgstr "Uuids das extensões a desactivar" -#: ../data/org.gnome.shell.gschema.xml.in.h:27 +#: ../data/org.gnome.shell.gschema.xml.in.h:23 msgid "Whether to collect stats about applications usage" msgstr "Se recolher ou não estatísticas sobre a utilização das aplicações" -#: ../data/clock-preferences.ui.h:1 -msgid "Clock Format" -msgstr "Formato do Relógio" +#: ../data/org.gnome.shell.gschema.xml.in.h:24 +msgid "disabled OpenSearch providers" +msgstr "fornecedores OpenSearch desactivados" -#: ../data/clock-preferences.ui.h:2 -msgid "Clock Preferences" -msgstr "Preferências de Relógio" +#: ../js/misc/util.js:71 +msgid "Command not found" +msgstr "Comando não foi encontrado" -#: ../data/clock-preferences.ui.h:3 -msgid "Panel Display" -msgstr "Apresentação no Painel" +#. Replace "Error invoking GLib.shell_parse_argv: " with +#. something nicer +#: ../js/misc/util.js:98 +msgid "Could not parse command:" +msgstr "Incapaz de processar o comando:" -#: ../data/clock-preferences.ui.h:4 -msgid "Show seco_nds" -msgstr "Apresentar os segu_ndos" +#: ../js/misc/util.js:106 +#, c-format +msgid "Execution of '%s' failed:" +msgstr "Falha ao executar '%s':" -#: ../data/clock-preferences.ui.h:5 -msgid "Show the _date" -msgstr "Apresentar a _data" +#. Translators: Filter to display all applications +#: ../js/ui/appDisplay.js:226 +msgid "All" +msgstr "Todas" -#: ../data/clock-preferences.ui.h:6 -msgid "_12 hour format" -msgstr "Formato de _12 horas" - -#: ../data/clock-preferences.ui.h:7 -msgid "_24 hour format" -msgstr "Formato de _24 horas" - -#. **** Applications **** -#: ../js/ui/appDisplay.js:384 ../js/ui/dash.js:778 +#: ../js/ui/appDisplay.js:324 msgid "APPLICATIONS" msgstr "APLICAÇÕES" -#: ../js/ui/appDisplay.js:416 -msgid "PREFERENCES" -msgstr "PREFERÊNCIAS" +#: ../js/ui/appDisplay.js:350 +msgid "SETTINGS" +msgstr "DEFINIÇÕES" -#: ../js/ui/appDisplay.js:721 +#: ../js/ui/appDisplay.js:616 msgid "New Window" msgstr "Nova Janela" -#: ../js/ui/appDisplay.js:725 +#: ../js/ui/appDisplay.js:619 msgid "Remove from Favorites" msgstr "Remover dos Favoritos" -#: ../js/ui/appDisplay.js:726 +#: ../js/ui/appDisplay.js:620 msgid "Add to Favorites" msgstr "Adicionar aos Favoritos" -#: ../js/ui/appDisplay.js:1033 -msgid "Drag here to add favorites" -msgstr "Arrastar para aqui para adicionar favoritos" - -#: ../js/ui/appFavorites.js:88 +#: ../js/ui/appFavorites.js:91 #, c-format msgid "%s has been added to your favorites." msgstr "%s foi adicionada aos seus favoritos." -#: ../js/ui/appFavorites.js:107 +#: ../js/ui/appFavorites.js:122 #, c-format msgid "%s has been removed from your favorites." msgstr "%s foi removida dos seus favoritos." -#: ../js/ui/dash.js:142 -msgid "Find" -msgstr "Procurar" +#. Translators: Shown in calendar event list for all day events +#. * Keep it short, best if you can use less then 10 characters +#. +#: ../js/ui/calendar.js:66 +msgctxt "event list time" +msgid "All Day" +msgstr "Dia Completo" -#: ../js/ui/dash.js:473 -msgid "Searching..." -msgstr "A Procurar..." +#. Translators: Shown in calendar event list, if 24h format +#: ../js/ui/calendar.js:71 +msgctxt "event list time" +msgid "%H:%M" +msgstr "%H:%M" -#: ../js/ui/dash.js:487 -msgid "No matching results." -msgstr "Nenhum resultado coincidente." +#. Transators: Shown in calendar event list, if 12h format +#: ../js/ui/calendar.js:78 +msgctxt "event list time" +msgid "%l:%M %p" +msgstr "%l:%M %p" -#. **** Places **** -#. Translators: This is in the sense of locations for documents, -#. network locations, etc. -#: ../js/ui/dash.js:797 ../js/ui/placeDisplay.js:554 -msgid "PLACES & DEVICES" -msgstr "LOCAIS & DISPOSITIVOS" +#. Translators: Calendar grid abbreviation for Sunday. +#. * +#. * NOTE: These grid abbreviations are always shown together +#. * and in order, e.g. "S M T W T F S". +#. +#: ../js/ui/calendar.js:118 +msgctxt "grid sunday" +msgid "S" +msgstr "D" -#. **** Documents **** -#: ../js/ui/dash.js:804 ../js/ui/docDisplay.js:494 -msgid "RECENT ITEMS" -msgstr "ITENS RECENTES" +#. Translators: Calendar grid abbreviation for Monday +#: ../js/ui/calendar.js:120 +msgctxt "grid monday" +msgid "M" +msgstr "S" -#: ../js/ui/lookingGlass.js:552 -msgid "No extensions installed" -msgstr "Nenhuma extensão instalada" +#. Translators: Calendar grid abbreviation for Tuesday +#: ../js/ui/calendar.js:122 +msgctxt "grid tuesday" +msgid "T" +msgstr "T" -#: ../js/ui/lookingGlass.js:589 -msgid "Enabled" -msgstr "Activo" +#. Translators: Calendar grid abbreviation for Wednesday +#: ../js/ui/calendar.js:124 +msgctxt "grid wednesday" +msgid "W" +msgstr "Q" -#: ../js/ui/lookingGlass.js:591 -msgid "Disabled" -msgstr "Inactivo" +#. Translators: Calendar grid abbreviation for Thursday +#: ../js/ui/calendar.js:126 +msgctxt "grid thursday" +msgid "T" +msgstr "Q" -#: ../js/ui/lookingGlass.js:593 -msgid "Error" -msgstr "Erro" +#. Translators: Calendar grid abbreviation for Friday +#: ../js/ui/calendar.js:128 +msgctxt "grid friday" +msgid "F" +msgstr "S" -#: ../js/ui/lookingGlass.js:595 -msgid "Out of date" -msgstr "Data inválida" +#. Translators: Calendar grid abbreviation for Saturday +#: ../js/ui/calendar.js:130 +msgctxt "grid saturday" +msgid "S" +msgstr "S" -#: ../js/ui/lookingGlass.js:620 -msgid "View Source" -msgstr "Visualizar o Código Fonte" +#. Translators: Event list abbreviation for Sunday. +#. * +#. * NOTE: These list abbreviations are normally not shown together +#. * so they need to be unique (e.g. Tuesday and Thursday cannot +#. * both be 'T'). +#. +#: ../js/ui/calendar.js:143 +msgctxt "list sunday" +msgid "Su" +msgstr "Dom" -#: ../js/ui/lookingGlass.js:626 -msgid "Web Page" -msgstr "Página Web" +#. Translators: Event list abbreviation for Monday +#: ../js/ui/calendar.js:145 +msgctxt "list monday" +msgid "M" +msgstr "Seg" -#: ../js/ui/overview.js:160 -msgid "Undo" -msgstr "Desfazer" +#. Translators: Event list abbreviation for Tuesday +#: ../js/ui/calendar.js:147 +msgctxt "list tuesday" +msgid "T" +msgstr "Ter" -#. TODO - _quit() doesn't really work on apps in state STARTING yet -#: ../js/ui/panel.js:473 -#, c-format -msgid "Quit %s" -msgstr "Terminar %s" +#. Translators: Event list abbreviation for Wednesday +#: ../js/ui/calendar.js:149 +msgctxt "list wednesday" +msgid "W" +msgstr "Qua" -#: ../js/ui/panel.js:498 -msgid "Preferences" -msgstr "Preferências" +#. Translators: Event list abbreviation for Thursday +#: ../js/ui/calendar.js:151 +msgctxt "list thursday" +msgid "Th" +msgstr "Qui" + +#. Translators: Event list abbreviation for Friday +#: ../js/ui/calendar.js:153 +msgctxt "list friday" +msgid "F" +msgstr "Sex" + +#. Translators: Event list abbreviation for Saturday +#: ../js/ui/calendar.js:155 +msgctxt "list saturday" +msgid "S" +msgstr "Sáb" + +#. Translators: Text to show if there are no events +#: ../js/ui/calendar.js:704 +msgid "Nothing Scheduled" +msgstr "Nada Agendado" + +#. Translators: Shown on calendar heading when selected day occurs on current year +#: ../js/ui/calendar.js:720 +msgctxt "calendar heading" +msgid "%A, %B %d" +msgstr "%A, %B %d" + +#. Translators: Shown on calendar heading when selected day occurs on different year +#: ../js/ui/calendar.js:723 +msgctxt "calendar heading" +msgid "%A, %B %d, %Y" +msgstr "%A, %B %d, %Y" + +#: ../js/ui/calendar.js:733 +msgid "Today" +msgstr "Hoje" + +#: ../js/ui/calendar.js:737 +msgid "Tomorrow" +msgstr "Amanhã" + +#: ../js/ui/calendar.js:746 +msgid "This week" +msgstr "Esta semana" + +#: ../js/ui/calendar.js:754 +msgid "Next week" +msgstr "Próxima semana" + +#: ../js/ui/dash.js:174 ../js/ui/messageTray.js:933 +msgid "Remove" +msgstr "Remover" + +#: ../js/ui/dateMenu.js:91 +msgid "Date and Time Settings" +msgstr "Definições de Data e Hora" + +#: ../js/ui/dateMenu.js:111 +msgid "Open Calendar" +msgstr "Abrir o Calendário" #. Translators: This is the time format with date used #. in 24-hour mode. -#: ../js/ui/panel.js:584 +#: ../js/ui/dateMenu.js:164 msgid "%a %b %e, %R:%S" msgstr "%a %b %e, %R:%S" -#: ../js/ui/panel.js:585 +#: ../js/ui/dateMenu.js:165 msgid "%a %b %e, %R" msgstr "%a %b %e, %R" #. Translators: This is the time format without date used #. in 24-hour mode. -#: ../js/ui/panel.js:589 +#: ../js/ui/dateMenu.js:169 msgid "%a %R:%S" msgstr "%a %R:%S" -#: ../js/ui/panel.js:590 +#: ../js/ui/dateMenu.js:170 msgid "%a %R" msgstr "%a %R" #. Translators: This is a time format with date used #. for AM/PM. -#: ../js/ui/panel.js:597 +#: ../js/ui/dateMenu.js:177 msgid "%a %b %e, %l:%M:%S %p" msgstr "%a %b %e, %l:%M:%S %p" -#: ../js/ui/panel.js:598 +#: ../js/ui/dateMenu.js:178 msgid "%a %b %e, %l:%M %p" msgstr "%a %b %e, %l:%M %p" #. Translators: This is a time format without date used #. for AM/PM. -#: ../js/ui/panel.js:602 +#: ../js/ui/dateMenu.js:182 msgid "%a %l:%M:%S %p" msgstr "%a %l:%M:%S %p" -#: ../js/ui/panel.js:603 +#: ../js/ui/dateMenu.js:183 msgid "%a %l:%M %p" msgstr "%a %l:%M %p" +#. Translators: This is the date format to use when the calendar popup is +#. * shown - it is shown just below the time in the shell (e.g. "Tue 9:29 AM"). +#. +#: ../js/ui/dateMenu.js:194 +msgid "%A %B %e, %Y" +msgstr "%A %B %e, %Y" + +#: ../js/ui/docDisplay.js:19 +msgid "RECENT ITEMS" +msgstr "ITENS RECENTES" + +#: ../js/ui/endSessionDialog.js:63 +#, c-format +msgid "Log Out %s" +msgstr "Terminar a Sessão de %s" + +#: ../js/ui/endSessionDialog.js:64 ../js/ui/endSessionDialog.js:69 +msgid "Log Out" +msgstr "Terminar Sessão" + +#: ../js/ui/endSessionDialog.js:65 +msgid "Click Log Out to quit these applications and log out of the system." +msgstr "Clique em Terminar Sessão para fechar estas aplicações e terminar a sessão no sistema." + +#: ../js/ui/endSessionDialog.js:66 +#, c-format +msgid "%s will be logged out automatically in %d seconds." +msgstr "A sessão de %s terminará automaticamente dentro de %d segundos." + +#: ../js/ui/endSessionDialog.js:67 +#, c-format +msgid "You will be logged out automatically in %d seconds." +msgstr "A sua sessão terminará automaticamente dentro de %d segundos." + +#: ../js/ui/endSessionDialog.js:68 +msgid "Logging out of the system." +msgstr "A terminar a sessão no sistema." + +#: ../js/ui/endSessionDialog.js:74 ../js/ui/endSessionDialog.js:78 +msgid "Shut Down" +msgstr "Desligar" + +#: ../js/ui/endSessionDialog.js:75 +msgid "Click Shut Down to quit these applications and shut down the system." +msgstr "Clique em Desligar para fechar estas aplicações e desligar o sistema." + +#: ../js/ui/endSessionDialog.js:76 +#, c-format +msgid "The system will shut down automatically in %d seconds." +msgstr "O sistema irá desligar-se automaticamente dentro de %d segundos." + +#: ../js/ui/endSessionDialog.js:77 +msgid "Shutting down the system." +msgstr "A desligar o sistema." + +#: ../js/ui/endSessionDialog.js:84 ../js/ui/endSessionDialog.js:88 +msgid "Restart" +msgstr "Reiniciar" + +#: ../js/ui/endSessionDialog.js:85 +msgid "Click Restart to quit these applications and restart the system." +msgstr "Clique em Reiniciar para fechar estas aplicações e reiniciar o sistema." + +#: ../js/ui/endSessionDialog.js:86 +#, c-format +msgid "The system will restart automatically in %d seconds." +msgstr "O sistema irá reiniciar-se automaticamente dentro de %d segundos." + +#: ../js/ui/endSessionDialog.js:87 +msgid "Restarting the system." +msgstr "A reiniciar o sistema." + +#: ../js/ui/endSessionDialog.js:395 +msgid "Confirm" +msgstr "Confirmar" + +#: ../js/ui/endSessionDialog.js:400 ../js/ui/status/bluetooth.js:466 +msgid "Cancel" +msgstr "Cancelar" + +#: ../js/ui/lookingGlass.js:588 +msgid "No extensions installed" +msgstr "Nenhuma extensão instalada" + +#: ../js/ui/lookingGlass.js:625 +msgid "Enabled" +msgstr "Activo" + +#. translators: +#. * The device has been disabled +#: ../js/ui/lookingGlass.js:627 ../src/gvc/gvc-mixer-control.c:1091 +msgid "Disabled" +msgstr "Inactivo" + +#: ../js/ui/lookingGlass.js:629 +msgid "Error" +msgstr "Erro" + +#: ../js/ui/lookingGlass.js:631 +msgid "Out of date" +msgstr "Data inválida" + +#: ../js/ui/lookingGlass.js:656 +msgid "View Source" +msgstr "Visualizar o Código Fonte" + +#: ../js/ui/lookingGlass.js:662 +msgid "Web Page" +msgstr "Página Web" + +#: ../js/ui/messageTray.js:926 +msgid "Open" +msgstr "Abrir" + +#: ../js/ui/messageTray.js:1986 +msgid "System Information" +msgstr "Informação do Sistema" + +#: ../js/ui/overview.js:88 +msgid "Undo" +msgstr "Desfazer" + +#: ../js/ui/overview.js:183 +msgid "Windows" +msgstr "Janelas" + +#: ../js/ui/overview.js:186 +msgid "Applications" +msgstr "Aplicações" + +#. Translators: this is the name of the dock/favorites area on +#. the left of the overview +#: ../js/ui/overview.js:202 +msgid "Dash" +msgstr "Atalhos" + +#. TODO - _quit() doesn't really work on apps in state STARTING yet +#: ../js/ui/panel.js:515 +#, c-format +msgid "Quit %s" +msgstr "Terminar %s" + #. Button on the left side of the panel. #. Translators: If there is no suitable word for "Activities" in your language, you can use the word for "Overview". -#: ../js/ui/panel.js:748 +#: ../js/ui/panel.js:874 msgid "Activities" msgstr "Actividades" -#: ../js/ui/placeDisplay.js:111 +#: ../js/ui/panel.js:975 +msgid "Panel" +msgstr "Painel" + +#: ../js/ui/placeDisplay.js:122 #, c-format msgid "Failed to unmount '%s'" msgstr "Falha ao desmontar '%s'" -#: ../js/ui/placeDisplay.js:114 +#: ../js/ui/placeDisplay.js:125 msgid "Retry" msgstr "Tentar Novamente" -#: ../js/ui/placeDisplay.js:159 +#: ../js/ui/placeDisplay.js:165 msgid "Connect to..." msgstr "Estabelecer ligação a..." -#. Translators: the "ON" and "OFF" strings are used in the -#. toggle switches in the status area menus, and must be SHORT. -#. If you don't have suitable short words, consider initials, -#. "0"/"1", "⚪"/"⚫", etc. -#: ../js/ui/popupMenu.js:30 ../js/ui/popupMenu.js:40 -msgid "ON" -msgstr "⚫" +#: ../js/ui/placeDisplay.js:380 +msgid "PLACES & DEVICES" +msgstr "LOCAIS & DISPOSITIVOS" -#: ../js/ui/popupMenu.js:31 ../js/ui/popupMenu.js:45 -msgid "OFF" -msgstr "⚪" +#. Translators: this MUST be either "toggle-switch-us" +#. (for toggle switches containing the English words +#. "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:636 +msgid "toggle-switch-us" +msgstr "toggle-switch-intl" -#: ../js/ui/runDialog.js:233 +#: ../js/ui/runDialog.js:201 msgid "Please enter a command:" msgstr "Introduza um comando:" -#: ../js/ui/runDialog.js:378 -#, c-format -msgid "Execution of '%s' failed:" -msgstr "Falha ao executar '%s':" +#: ../js/ui/searchDisplay.js:287 +msgid "Searching..." +msgstr "A Procurar..." -#: ../js/ui/statusMenu.js:91 +#: ../js/ui/searchDisplay.js:301 +msgid "No matching results." +msgstr "Nenhum resultado coincidente." + +#: ../js/ui/statusMenu.js:114 ../js/ui/statusMenu.js:178 +msgid "Power Off..." +msgstr "Desligar..." + +#: ../js/ui/statusMenu.js:116 ../js/ui/statusMenu.js:177 +msgid "Suspend" +msgstr "Suspender" + +#: ../js/ui/statusMenu.js:137 msgid "Available" msgstr "Disponível" -#: ../js/ui/statusMenu.js:95 +#: ../js/ui/statusMenu.js:142 msgid "Busy" msgstr "Ocupado" -#: ../js/ui/statusMenu.js:99 -msgid "Invisible" -msgstr "Invisível" +#: ../js/ui/statusMenu.js:150 +msgid "My Account" +msgstr "A Minha Conta" -#: ../js/ui/statusMenu.js:106 -msgid "Account Information..." -msgstr "Informação de Conta..." +#: ../js/ui/statusMenu.js:154 +msgid "System Settings" +msgstr "Definições de Sistema" -#: ../js/ui/statusMenu.js:110 -msgid "System Preferences..." -msgstr "Preferências do Sistema..." - -#: ../js/ui/statusMenu.js:117 +#: ../js/ui/statusMenu.js:161 msgid "Lock Screen" msgstr "Trancar o Ecrã" -#: ../js/ui/statusMenu.js:121 +#: ../js/ui/statusMenu.js:165 msgid "Switch User" msgstr "Alternar Utilizador" -#: ../js/ui/statusMenu.js:126 +#: ../js/ui/statusMenu.js:170 msgid "Log Out..." msgstr "Terminar Sessão..." -#: ../js/ui/statusMenu.js:130 -msgid "Shut Down..." -msgstr "Desligar..." +#: ../js/ui/status/accessibility.js:62 +msgid "Zoom" +msgstr "Zoom" -#: ../js/ui/windowAttentionHandler.js:43 +#. let screenReader = this._buildItem(_("Screen Reader"), APPLICATIONS_SCHEMA, +#. 'screen-reader-enabled'); +#. this.menu.addMenuItem(screenReader); +#. let screenKeyboard = this._buildItem(_("Screen Keyboard"), APPLICATIONS_SCHEMA, +#. 'screen-keyboard-enabled'); +#. this.menu.addMenuItem(screenKeyboard); +#: ../js/ui/status/accessibility.js:77 +msgid "Visual Alerts" +msgstr "Alertas Visuais" + +#: ../js/ui/status/accessibility.js:80 +msgid "Sticky Keys" +msgstr "Teclas Coladas" + +#: ../js/ui/status/accessibility.js:83 +msgid "Slow Keys" +msgstr "Teclas Lentas" + +#: ../js/ui/status/accessibility.js:86 +msgid "Bounce Keys" +msgstr "Teclas Saltantes" + +#: ../js/ui/status/accessibility.js:89 +msgid "Mouse Keys" +msgstr "Teclas de Rato" + +#: ../js/ui/status/accessibility.js:93 +msgid "Universal Access Settings" +msgstr "Definições Universais de Acesso" + +#: ../js/ui/status/accessibility.js:146 +msgid "High Contrast" +msgstr "Alto Contraste" + +#: ../js/ui/status/accessibility.js:183 +msgid "Large Text" +msgstr "Texto Grande" + +#: ../js/ui/status/bluetooth.js:42 ../js/ui/status/bluetooth.js:237 +#: ../js/ui/status/bluetooth.js:333 ../js/ui/status/bluetooth.js:367 +#: ../js/ui/status/bluetooth.js:407 ../js/ui/status/bluetooth.js:440 +msgid "Bluetooth" +msgstr "Bluetooth" + +#: ../js/ui/status/bluetooth.js:55 +msgid "Visibility" +msgstr "Visibilidade" + +#: ../js/ui/status/bluetooth.js:69 +msgid "Send Files to Device..." +msgstr "Enviar Ficheiros para Dispositivo..." + +#: ../js/ui/status/bluetooth.js:70 +msgid "Setup a New Device..." +msgstr "Configurar um Novo Dispositivo..." + +#: ../js/ui/status/bluetooth.js:95 +msgid "Bluetooth Settings" +msgstr "Definições Bluetooth" + +#: ../js/ui/status/bluetooth.js:188 +msgid "Connection" +msgstr "Ligação" + +#: ../js/ui/status/bluetooth.js:224 +msgid "Send Files..." +msgstr "Enviar Ficheiros..." + +#: ../js/ui/status/bluetooth.js:229 +msgid "Browse Files..." +msgstr "Navegar Ficheiros..." + +#: ../js/ui/status/bluetooth.js:238 +msgid "Error browsing device" +msgstr "Erro ao navegar no dispositivo" + +#: ../js/ui/status/bluetooth.js:239 +#, c-format +msgid "The requested device cannot be browsed, error is '%s'" +msgstr "Não é possível navegar no dispositivo, o erro é '%s'" + +#: ../js/ui/status/bluetooth.js:247 +msgid "Keyboard Settings" +msgstr "Definições de Teclado" + +#: ../js/ui/status/bluetooth.js:252 +msgid "Mouse Settings" +msgstr "Definições de Rato" + +#: ../js/ui/status/bluetooth.js:259 ../js/ui/status/volume.js:66 +msgid "Sound Settings" +msgstr "Definições de Som" + +#: ../js/ui/status/bluetooth.js:368 +#, c-format +msgid "Authorization request from %s" +msgstr "Pedido de autorização de %s" + +#: ../js/ui/status/bluetooth.js:374 +#, c-format +msgid "Device %s wants access to the service '%s'" +msgstr "O dispositivo %s deseja aceder ao serviço '%s'" + +#: ../js/ui/status/bluetooth.js:376 +msgid "Always grant access" +msgstr "Conceder sempre o acesso" + +#: ../js/ui/status/bluetooth.js:377 +msgid "Grant this time only" +msgstr "Conceder apenas desta vez" + +#: ../js/ui/status/bluetooth.js:378 +msgid "Reject" +msgstr "Rejeitar" + +#: ../js/ui/status/bluetooth.js:408 +#, c-format +msgid "Pairing confirmation for %s" +msgstr "Confirmação de emparelhamento para %s" + +#: ../js/ui/status/bluetooth.js:414 ../js/ui/status/bluetooth.js:448 +#, c-format +msgid "Device %s wants to pair with this computer" +msgstr "O dispositivo %s deseja emparelhar com este computador" + +#: ../js/ui/status/bluetooth.js:415 +#, c-format +msgid "Please confirm whether the PIN '%s' matches the one on the device." +msgstr "Confirme se o PIN '%s' coincide com o do dispositivo." + +#: ../js/ui/status/bluetooth.js:417 +msgid "Matches" +msgstr "Coincide" + +#: ../js/ui/status/bluetooth.js:418 +msgid "Does not match" +msgstr "Não coincide" + +#: ../js/ui/status/bluetooth.js:441 +#, c-format +msgid "Pairing request for %s" +msgstr "Pedido de emparelhamento de %s" + +#: ../js/ui/status/bluetooth.js:449 +msgid "Please enter the PIN mentioned on the device." +msgstr "Introduza o PIN indicado no dispositivo." + +#: ../js/ui/status/bluetooth.js:465 +msgid "OK" +msgstr "OK" + +#: ../js/ui/status/keyboard.js:73 +msgid "Show Keyboard Layout..." +msgstr "Apresentar a Disposição de Teclado..." + +#: ../js/ui/status/keyboard.js:76 +msgid "Localization Settings" +msgstr "Definições de Localização" + +#: ../js/ui/status/network.js:102 ../js/ui/status/network.js:1393 +msgid "" +msgstr "" + +#. Translators: this indicates that wireless or wwan is disabled by hardware killswitch +#: ../js/ui/status/network.js:295 +msgid "disabled" +msgstr "desactivado" + +#: ../js/ui/status/network.js:476 +msgid "connecting..." +msgstr "a ligar..." + +#. Translators: this is for network connections that require some kind of key or password +#: ../js/ui/status/network.js:479 +msgid "authentication required" +msgstr "necessária autenticação" + +#. Translators: this is for wired network devices that are physically disconnected +#: ../js/ui/status/network.js:485 +msgid "cable unplugged" +msgstr "cabo desligado" + +#. 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:489 +msgid "unavailable" +msgstr "indisponível" + +#: ../js/ui/status/network.js:491 +msgid "connection failed" +msgstr "falha ao ligar" + +#. TRANSLATORS: this is the indication that a connection for another logged in user is active, +#. and we cannot access its settings (including the name) +#: ../js/ui/status/network.js:571 ../js/ui/status/network.js:1341 +msgid "Connected (private)" +msgstr "Ligado (privada)" + +#: ../js/ui/status/network.js:636 +msgid "Auto Ethernet" +msgstr "Ethernet automática" + +#: ../js/ui/status/network.js:697 +msgid "Auto broadband" +msgstr "Banda larga automática" + +#: ../js/ui/status/network.js:700 +msgid "Auto dial-up" +msgstr "Ligação telefónica automática" + +#. TRANSLATORS: this the automatic wireless connection name (including the network name) +#: ../js/ui/status/network.js:843 ../js/ui/status/network.js:1353 +#, c-format +msgid "Auto %s" +msgstr "%s automática" + +#: ../js/ui/status/network.js:845 +msgid "Auto bluetooth" +msgstr "Bluetooth automático" + +#: ../js/ui/status/network.js:1355 +msgid "Auto wireless" +msgstr "Wireless automático" + +#: ../js/ui/status/network.js:1413 +msgid "More..." +msgstr "Mais..." + +#: ../js/ui/status/network.js:1436 +msgid "Enable networking" +msgstr "Activar a rede" + +#: ../js/ui/status/network.js:1448 +msgid "Wired" +msgstr "Com fios" + +#: ../js/ui/status/network.js:1459 +msgid "Wireless" +msgstr "Sem fios" + +#: ../js/ui/status/network.js:1469 +msgid "Mobile broadband" +msgstr "Banda larga móvel" + +#: ../js/ui/status/network.js:1479 +msgid "VPN Connections" +msgstr "Ligações VPN" + +#: ../js/ui/status/network.js:1488 +msgid "Network Settings" +msgstr "Definições de Rede" + +#: ../js/ui/status/network.js:1783 +#, c-format +msgid "You're now connected to mobile broadband connection '%s'" +msgstr "Está ligado à ligação '%s' em banda larga móvel" + +#: ../js/ui/status/network.js:1787 +#, c-format +msgid "You're now connected to wireless network '%s'" +msgstr "Está ligado à rede sem fios '%s'" + +#: ../js/ui/status/network.js:1791 +#, c-format +msgid "You're now connected to wired network '%s'" +msgstr "Está ligado à rede com fios '%s'" + +#: ../js/ui/status/network.js:1795 +#, c-format +msgid "You're now connected to VPN network '%s'" +msgstr "Está ligado à rede VPN '%s'" + +#: ../js/ui/status/network.js:1800 +#, c-format +msgid "You're now connected to '%s'" +msgstr "Está ligado a '%s'" + +#: ../js/ui/status/network.js:1808 +msgid "Connection established" +msgstr "Ligação estabelecida" + +#: ../js/ui/status/network.js:1930 +msgid "Networking is disabled" +msgstr "Os serviços de rede estão desligados" + +#: ../js/ui/status/network.js:2055 +msgid "Network Manager" +msgstr "Gestor de Rede" + +#: ../js/ui/status/power.js:85 +msgid "Power Settings" +msgstr "Definições de Energia" + +#. 0 is reported when UPower does not have enough data +#. to estimate battery life +#: ../js/ui/status/power.js:111 +msgid "Estimating..." +msgstr "A estimar..." + +#: ../js/ui/status/power.js:118 +#, c-format +msgid "%d hour remaining" +msgid_plural "%d hours remaining" +msgstr[0] "resta %d hora" +msgstr[1] "restam %d horas" + +#. TRANSLATORS: this is a time string, as in "%d hours %d minutes remaining" +#: ../js/ui/status/power.js:121 +#, c-format +msgid "%d %s %d %s remaining" +msgstr "restam %d %s e %d %s" + +#: ../js/ui/status/power.js:123 +msgid "hour" +msgid_plural "hours" +msgstr[0] "hora" +msgstr[1] "horas" + +#: ../js/ui/status/power.js:123 +msgid "minute" +msgid_plural "minutes" +msgstr[0] "minuto" +msgstr[1] "minutos" + +#: ../js/ui/status/power.js:126 +#, c-format +msgid "%d minute remaining" +msgid_plural "%d minutes remaining" +msgstr[0] "resta %d minuto" +msgstr[1] "restam %d minutos" + +#: ../js/ui/status/power.js:228 +msgid "AC adapter" +msgstr "Corrente" + +#: ../js/ui/status/power.js:230 +msgid "Laptop battery" +msgstr "Bateria do portátil" + +#: ../js/ui/status/power.js:232 +msgid "UPS" +msgstr "UPS" + +#: ../js/ui/status/power.js:234 +msgid "Monitor" +msgstr "Monitor" + +#: ../js/ui/status/power.js:236 +msgid "Mouse" +msgstr "Rato" + +#: ../js/ui/status/power.js:238 +msgid "Keyboard" +msgstr "Teclado" + +#: ../js/ui/status/power.js:240 +msgid "PDA" +msgstr "PDA" + +#: ../js/ui/status/power.js:242 +msgid "Cell phone" +msgstr "Telemóvel" + +#: ../js/ui/status/power.js:244 +msgid "Media player" +msgstr "Reprodutor de média" + +#: ../js/ui/status/power.js:246 +msgid "Tablet" +msgstr "Tablet" + +#: ../js/ui/status/power.js:248 +msgid "Computer" +msgstr "Computador" + +#: ../js/ui/status/power.js:250 ../src/shell-app-system.c:1088 +msgid "Unknown" +msgstr "Desconhecido" + +#: ../js/ui/status/volume.js:45 +msgid "Volume" +msgstr "Volume" + +#: ../js/ui/status/volume.js:58 +msgid "Microphone" +msgstr "Microfone" + +#: ../js/ui/telepathyClient.js:332 +#, c-format +msgid "%s is online." +msgstr "%s está ligado." + +#: ../js/ui/telepathyClient.js:337 +#, c-format +msgid "%s is offline." +msgstr "%s está desligado." + +#: ../js/ui/telepathyClient.js:340 +#, c-format +msgid "%s is away." +msgstr "%s está ausente." + +#: ../js/ui/telepathyClient.js:343 +#, c-format +msgid "%s is busy." +msgstr "%s está ocupado." + +#. Translators: this is a time format string followed by a date. +#. If applicable, replace %X with a strftime format valid for your +#. locale, without seconds. +#: ../js/ui/telepathyClient.js:474 +#, no-c-format +msgid "Sent at %X on %A" +msgstr "Enviado às %X de %A" + +#. Translators: this is the text displayed +#. in the search entry when no search is +#. active; it should not exceed ~30 +#. characters. +#: ../js/ui/viewSelector.js:122 +msgid "Type to search..." +msgstr "Escreva para procurar..." + +#: ../js/ui/viewSelector.js:142 ../src/shell-util.c:250 +msgid "Search" +msgstr "Procurar" + +#: ../js/ui/windowAttentionHandler.js:42 #, c-format msgid "%s has finished starting" msgstr "%s concluiu o seu arranque" -#: ../js/ui/windowAttentionHandler.js:45 +#: ../js/ui/windowAttentionHandler.js:44 #, c-format msgid "'%s' is ready" msgstr "'%s' está disponível" -#: ../js/ui/workspacesView.js:230 -msgid "" -"Can't add a new workspace because maximum workspaces limit has been reached." -msgstr "" -"Incapaz de adicionar uma nova área de trabalho por ter sido atingido o seu " -"número limite." +#. translators: +#. * The number of sound outputs on a particular device +#: ../src/gvc/gvc-mixer-control.c:1098 +#, c-format +msgid "%u Output" +msgid_plural "%u Outputs" +msgstr[0] "%u Saída" +msgstr[1] "%u Saídas" -#: ../js/ui/workspacesView.js:247 -msgid "Can't remove the first workspace." -msgstr "Incapaz de remover a primeira área de trabalho." +#. translators: +#. * The number of sound inputs on a particular device +#: ../src/gvc/gvc-mixer-control.c:1108 +#, c-format +msgid "%u Input" +msgid_plural "%u Inputs" +msgstr[0] "%u Entrada" +msgstr[1] "%u Entradas" -#: ../src/shell-global.c:1189 +#: ../src/gvc/gvc-mixer-control.c:1406 +msgid "System Sounds" +msgstr "Sons de Sistema" + +#: ../src/main.c:397 +msgid "Print version" +msgstr "Versão de impressão" + +#: ../src/shell-app.c:454 +#, c-format +msgid "Failed to launch '%s'" +msgstr "Falha ao iniciar '%s'" + +#: ../src/shell-global.c:1340 msgid "Less than a minute ago" msgstr "Há menos de um minuto atrás" -#: ../src/shell-global.c:1193 +#: ../src/shell-global.c:1344 #, c-format msgid "%d minute ago" msgid_plural "%d minutes ago" msgstr[0] "%d minuto atrás" msgstr[1] "%d minutos atrás" -#: ../src/shell-global.c:1198 +#: ../src/shell-global.c:1349 #, c-format msgid "%d hour ago" msgid_plural "%d hours ago" msgstr[0] "%d hora atrás" msgstr[1] "%d horas atrás" -#: ../src/shell-global.c:1203 +#: ../src/shell-global.c:1354 #, c-format msgid "%d day ago" msgid_plural "%d days ago" msgstr[0] "%d dia atrás" msgstr[1] "%d dias atrás" -#: ../src/shell-global.c:1208 +#: ../src/shell-global.c:1359 #, c-format msgid "%d week ago" msgid_plural "%d weeks ago" msgstr[0] "%d semana atrás" msgstr[1] "%d semanas atrás" -#: ../src/shell-uri-util.c:89 +#: ../src/shell-mobile-providers.c:80 +msgid "United Kingdom" +msgstr "Reino Unido" + +#: ../src/shell-mobile-providers.c:526 +msgid "Default" +msgstr "Omissão" + +#: ../src/shell-polkit-authentication-agent.c:334 +msgid "Authentication dialog was dismissed by the user" +msgstr "O diálogo de autenticação foi fechado pelo utilizador" + +#: ../src/shell-util.c:89 msgid "Home Folder" msgstr "Pasta Pessoal" #. Translators: this is the same string as the one found in #. * nautilus -#: ../src/shell-uri-util.c:104 +#: ../src/shell-util.c:104 msgid "File System" msgstr "Sistema de Ficheiros" -#: ../src/shell-uri-util.c:250 -msgid "Search" -msgstr "Procurar" - #. Translators: the first string is the name of a gvfs #. * method, and the second string is a path. For #. * example, "Trash: some-directory". It means that the #. * directory called "some-directory" is in the trash. #. -#: ../src/shell-uri-util.c:300 +#: ../src/shell-util.c:300 #, c-format msgid "%1$s: %2$s" msgstr "%1$s: %2$s" + +#~ msgid "Clock" +#~ msgstr "Relógio" + +#~ msgid "Customize the panel clock" +#~ msgstr "Personalizar o relógio do painel" + +#~ msgid "Custom format of the clock" +#~ msgstr "Formato personalizado do relógio" + +#~ msgid "Hour format" +#~ msgstr "Formato de hora" + +#~ msgid "" +#~ "If true and format is either \"12-hour\" or \"24-hour\", display seconds " +#~ "in time." +#~ msgstr "" +#~ "Se verdadeiro e o formato for \"12-hour\" ou \"24-hour\", apresentar os " +#~ "segundos na hora." + +#~ msgid "Overview workspace view mode" +#~ msgstr "Modo de vista da visão geral da área de trabalho" + +#~ msgid "" +#~ "The selected workspace view mode in the overview. Supported values are " +#~ "\"single\" and \"grid\"." +#~ msgstr "" +#~ "O modo de visão geral de área de trabalho seleccionado. Os valores " +#~ "suportados são \"single\" e \"grid\"." + +#~ msgid "" +#~ "This key specifies the format used by the panel clock when the format key " +#~ "is set to \"custom\". You can use conversion specifiers understood by " +#~ "strftime() to obtain a specific format. See the strftime() manual for " +#~ "more information." +#~ msgstr "" +#~ "Esta chave especifica o formato utilizado pelo relógio do painel quando a " +#~ "chave de formato está definida como \"custom\". Pode utilizar " +#~ "especificadores de conversão válidos para o strftime() para obter um " +#~ "formato específico. Consulte o manual do strftime() para mais informações." + +#~ msgid "" +#~ "This key specifies the hour format used by the panel clock. Possible " +#~ "values are \"12-hour\", \"24-hour\", \"unix\" and \"custom\". If set to " +#~ "\"unix\", the clock will display time in seconds since Epoch, i.e. " +#~ "1970-01-01. If set to \"custom\", the clock will display time according " +#~ "to the format specified in the custom_format key. Note that if set to " +#~ "either \"unix\" or \"custom\", the show_date and show_seconds keys are " +#~ "ignored." +#~ msgstr "" +#~ "Esta chave especifica o formato de hora utilizado pelo relógio do painel. " +#~ "Valores possíveis são \"12-hour\", \"24-hour\", \"unix\" e \"custom\". Se " +#~ "definido como \"unix\", o relógio irá apresentar o tempo em segundos " +#~ "desde a Epoch, isto é 1970/01/01. Se definido como \"custom\", o relógio " +#~ "apresentará as horas de acordo com o formato especificado na chave " +#~ "custom_format. Note que se definido como \"unix\" ou \"custom\", as " +#~ "chaves show_date e show_seconds são ignoradas." + +#~ msgid "Clock Format" +#~ msgstr "Formato do Relógio" + +#~ msgid "Clock Preferences" +#~ msgstr "Preferências de Relógio" + +#~ msgid "Panel Display" +#~ msgstr "Apresentação no Painel" + +#~ msgid "Show seco_nds" +#~ msgstr "Apresentar os segu_ndos" + +#~ msgid "Show the _date" +#~ msgstr "Apresentar a _data" + +#~ msgid "_12 hour format" +#~ msgstr "Formato de _12 horas" + +#~ msgid "_24 hour format" +#~ msgstr "Formato de _24 horas" + +#~ msgid "PREFERENCES" +#~ msgstr "PREFERÊNCIAS" + +#~ msgid "Drag here to add favorites" +#~ msgstr "Arrastar para aqui para adicionar favoritos" + +#~ msgid "Find" +#~ msgstr "Procurar" + +#~ msgid "Preferences" +#~ msgstr "Preferências" + +#~ msgid "ON" +#~ msgstr "⚫" + +#~ msgid "OFF" +#~ msgstr "⚪" + +#~ msgid "Invisible" +#~ msgstr "Invisível" + +#~ msgid "System Preferences..." +#~ msgstr "Preferências do Sistema..." + +#~ msgid "" +#~ "Can't add a new workspace because maximum workspaces limit has been " +#~ "reached." +#~ msgstr "" +#~ "Incapaz de adicionar uma nova área de trabalho por ter sido atingido o " +#~ "seu número limite." + +#~ msgid "Can't remove the first workspace." +#~ msgstr "Incapaz de remover a primeira área de trabalho." From 70ae7004613e67e8a5f6ac7e87c75dc7ed7ed70e Mon Sep 17 00:00:00 2001 From: Alexander Larsson Date: Fri, 18 Mar 2011 14:21:17 +0100 Subject: [PATCH 095/203] Only add hot corner for primary and "top left" monitors MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit To avoid having hot corners that accidentally trigger when e.g. trying to hit the panel on the primary monitor we add hot corners only to monitors that are "naturally" top left (top right for RTL). For instance, we'd like a hot corner here: corner -> +------------- | | +---------+ | |=========| | | | | | | | | | | +---------+------------+ But not here: unexpected hot corner ↓ +---------+-------+ |=========| | | | | | +-------+ +---------+ https://bugzilla.gnome.org/show_bug.cgi?id=645116 --- js/ui/main.js | 61 +++++++++++++++++++++++++++++++++++++++++---------- 1 file changed, 50 insertions(+), 11 deletions(-) diff --git a/js/ui/main.js b/js/ui/main.js index b5589978d..47dadef3b 100644 --- a/js/ui/main.js +++ b/js/ui/main.js @@ -480,28 +480,67 @@ function _getAndClearErrorStack() { function _relayout() { let monitors = global.get_monitors(); - if (monitors.length != hotCorners.length) { - // destroy old corners - for (let i = 0; i < hotCorners.length; i++) - hotCorners[i].destroy(); - hotCorners = []; - for (let i = 0; i < monitors.length; i++) - hotCorners[i] = new Panel.HotCorner(); - } + // destroy old corners + for (let i = 0; i < hotCorners.length; i++) + hotCorners[i].destroy(); + hotCorners = []; let primary = global.get_primary_monitor(); for (let i = 0; i < monitors.length; i++) { let monitor = monitors[i]; - let corner = hotCorners[i]; let isPrimary = (monitor.x == primary.x && monitor.y == primary.y && monitor.width == primary.width && monitor.height == primary.height); + + let cornerX = monitor.x; + let cornerY = monitor.y; if (St.Widget.get_default_direction() == St.TextDirection.RTL) - corner.actor.set_position(monitor.x + monitor.width, monitor.y); + cornerX += monitor.width; + + + let haveTopLeftCorner = true; + + /* Check if we have a top left (right for RTL) corner. + * I.e. if there is no monitor directly above or to the left(right) */ + let besideX; + if (St.Widget.get_default_direction() == St.TextDirection.RTL) + besideX = monitor.x + 1; else - corner.actor.set_position(monitor.x, monitor.y); + besideX = cornerX - 1; + let besideY = cornerY; + let aboveX = cornerX; + let aboveY = cornerY - 1; + + for (let j = 0; j < monitors.length; j++) { + if (i == j) + continue; + let otherMonitor = monitors[j]; + if (besideX >= otherMonitor.x && + besideX < otherMonitor.x + otherMonitor.width && + besideY >= otherMonitor.y && + besideY < otherMonitor.y + otherMonitor.height) { + haveTopLeftCorner = false; + break; + } + if (aboveX >= otherMonitor.x && + aboveX < otherMonitor.x + otherMonitor.width && + aboveY >= otherMonitor.y && + aboveY < otherMonitor.y + otherMonitor.height) { + haveTopLeftCorner = false; + break; + } + } + + /* We only want hot corners where there is a natural top-left + * corner, and on the primary monitor */ + if (!isPrimary && !haveTopLeftCorner) + continue; + + let corner = new Panel.HotCorner(); + hotCorners.push(corner); + corner.actor.set_position(cornerX, cornerY); if (isPrimary) panel.setHotCorner(corner); } From adbc1d97a0f64fcc309336e06d095db8fc02d113 Mon Sep 17 00:00:00 2001 From: "Owen W. Taylor" Date: Sun, 20 Mar 2011 20:49:40 -0400 Subject: [PATCH 096/203] StThemeNode: support border-image: none Treat border-image: none as a valid specification that overwrites any previously specified border image. https://bugzilla.gnome.org/show_bug.cgi?id=644788 --- src/st/st-theme-node.c | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/src/st/st-theme-node.c b/src/st/st-theme-node.c index 2a857ab58..7adfd1342 100644 --- a/src/st/st-theme-node.c +++ b/src/st/st-theme-node.c @@ -2518,6 +2518,15 @@ st_theme_node_get_border_image (StThemeNode *node) char *filename; + /* Support border-image: none; to suppress a previously specified border image */ + if (term_is_none (term)) + { + if (term->next == NULL) + return NULL; + else + goto next_property; + } + /* First term must be the URL to the image */ if (term->type != TERM_URI) goto next_property; From 206f4604a4c772a6d3c98b6f569e87f0013f4178 Mon Sep 17 00:00:00 2001 From: Dan Winship Date: Mon, 21 Mar 2011 08:47:36 -0400 Subject: [PATCH 097/203] gnome-shell: fix restart after rebuild Alt+F2 restart was failing after a rebuild when running from the source tree because it would try to restart ".libs/lt-gnome-shell-real", which didn't exist yet. Fix this by using "libtool --mode=execute" at build time to regenerate that file. https://bugzilla.gnome.org/show_bug.cgi?id=645390 --- src/Makefile.am | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/Makefile.am b/src/Makefile.am index 7fcd3e8d0..fa79fccbe 100644 --- a/src/Makefile.am +++ b/src/Makefile.am @@ -44,8 +44,10 @@ generated_script_substitutions = \ -e "s|@VERSION[@]|$(VERSION)|" \ -e "s|@sysconfdir[@]|$(sysconfdir)|" -gnome-shell-jhbuild: gnome-shell-jhbuild.in Makefile +gnome-shell-jhbuild: gnome-shell-jhbuild.in gnome-shell-real Makefile $(AM_V_GEN) sed $(generated_script_substitutions) $< > $@.tmp && mv $@.tmp $@ && chmod a+x $@ + @# Regenerate libtool wrapper so Alt+F2 restart will work + @$(LIBTOOL) --mode=execute test -f gnome-shell-real gnome-shell-extension-tool: gnome-shell-extension-tool.in Makefile $(AM_V_GEN) sed $(generated_script_substitutions) $< > $@.tmp && mv $@.tmp $@ && chmod a+x $@ From b9066ac997110df04612c67a63954b915e6aa80e Mon Sep 17 00:00:00 2001 From: Gintautas Miliauskas Date: Mon, 21 Mar 2011 14:25:58 +0100 Subject: [PATCH 098/203] Updated Lithuanian translation. --- po/lt.po | 1240 +++++++++++++++++++++++++++++++++++++++++++----------- 1 file changed, 1005 insertions(+), 235 deletions(-) diff --git a/po/lt.po b/po/lt.po index bcd5844ae..fbcbf8f12 100644 --- a/po/lt.po +++ b/po/lt.po @@ -5,18 +5,17 @@ msgid "" msgstr "" "Project-Id-Version: gnome-shell master\n" -"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug.cgi?product=gnome-" -"shell&component=general\n" -"POT-Creation-Date: 2010-06-24 17:17+0000\n" -"PO-Revision-Date: 2010-06-25 20:27+0300\n" -"Last-Translator: Žygimantas Beručka \n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2011-03-21 14:25+0100\n" +"PO-Revision-Date: 2011-03-19 14:56+0300\n" +"Last-Translator: Aurimas Černius \n" "Language-Team: Lithuanian \n" "Language: lt\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%" -"100<10 || n%100>=20) ? 1 : 2);\n" +"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && (n" +"%100<10 || n%100>=20) ? 1 : 2);\n" "X-Generator: Virtaal 0.6.1\n" #: ../data/gnome-shell.desktop.in.in.h:1 @@ -27,41 +26,29 @@ msgstr "GNOME Shell" msgid "Window management and application launching" msgstr "Langų valdymas ir programų paleidimas" -#: ../data/gnome-shell-clock-preferences.desktop.in.in.h:1 -msgid "Clock" -msgstr "Laikrodis" - -#: ../data/gnome-shell-clock-preferences.desktop.in.in.h:2 -msgid "Customize the panel clock" -msgstr "Derinti skydelio laikrodį" - #: ../data/org.gnome.shell.gschema.xml.in.h:1 msgid "" "Allows access to internal debugging and monitoring tools using the Alt-F2 " "dialog." msgstr "" -"Suteikia prieigą prie vidinio derinimo ir stebėjimo įrankių, naudojant " -"Alt-F2 dialogą." +"Suteikia prieigą prie vidinio derinimo ir stebėjimo įrankių, naudojant Alt-" +"F2 dialogą." #: ../data/org.gnome.shell.gschema.xml.in.h:2 -msgid "Custom format of the clock" -msgstr "Pasirinktinis laikrodžio formatas" - -#: ../data/org.gnome.shell.gschema.xml.in.h:3 msgid "Enable internal tools useful for developers and testers from Alt-F2" msgstr "" "Įjungti vidinius, Alt-F2 klavišų pagalba pasiekiamus įrankius, naudingus " "programuotojams ir bandytojams " -#: ../data/org.gnome.shell.gschema.xml.in.h:4 +#: ../data/org.gnome.shell.gschema.xml.in.h:3 msgid "File extension used for storing the screencast" msgstr "Failų plėtinys, naudojamas įrašyti ekrano vaizdo įrašą" -#: ../data/org.gnome.shell.gschema.xml.in.h:5 +#: ../data/org.gnome.shell.gschema.xml.in.h:4 msgid "Framerate used for recording screencasts." msgstr "Kadrų dažnis, naudojamas norint įrašyti ekrano vaizdo įrašą." -#: ../data/org.gnome.shell.gschema.xml.in.h:6 +#: ../data/org.gnome.shell.gschema.xml.in.h:5 msgid "" "GNOME Shell extensions have a uuid property; this key lists extensions which " "should not be loaded." @@ -69,43 +56,32 @@ msgstr "" "GNOME Shell plėtiniai turi uuid savybę. Šiame rakte nurodyti plėtiniai, " "kurie neturėtų būti įkelti." -#: ../data/org.gnome.shell.gschema.xml.in.h:7 +#: ../data/org.gnome.shell.gschema.xml.in.h:6 msgid "History for command (Alt-F2) dialog" msgstr "Komandų (Alt-F2) dialogo retrospektyva" +#: ../data/org.gnome.shell.gschema.xml.in.h:7 +msgid "History for the looking glass dialog" +msgstr "Didinamojo stiklo dialogo istorija" + #: ../data/org.gnome.shell.gschema.xml.in.h:8 -msgid "Hour format" -msgstr "Valandų formatas" +msgid "If true, display date in the clock, in addition to time." +msgstr "Jei reikšmė teigiama, laikrodyje šalia laiko rodyti ir datą." #: ../data/org.gnome.shell.gschema.xml.in.h:9 -msgid "" -"If true and format is either \"12-hour\" or \"24-hour\", display date in the " -"clock, in addition to time." -msgstr "" -"Jei reikšmė teigiama ir formatas yra „12-hour“ ar „24-hour“, laikrodyje " -"šalia laiko rodyti ir datą." +msgid "If true, display seconds in time." +msgstr "Jeigu reikšmė teigiama, rodyti laike sekundes." #: ../data/org.gnome.shell.gschema.xml.in.h:10 -msgid "" -"If true and format is either \"12-hour\" or \"24-hour\", display seconds in " -"time." -msgstr "" -"Jei reikšmė teigiama ir formatas yra „12-hour“ ar „24-hour“, laikrodyje " -"rodyti ir sekundes." - -#: ../data/org.gnome.shell.gschema.xml.in.h:11 msgid "If true, display the ISO week date in the calendar." msgstr "Jeigu reikšmė teigiama, kalendoriuje rodyti ISO savaičių datą." -#: ../data/org.gnome.shell.gschema.xml.in.h:12 +#: ../data/org.gnome.shell.gschema.xml.in.h:11 msgid "List of desktop file IDs for favorite applications" msgstr "Mėgstamų programų darbastalio failų ID sąrašas" #: ../data/org.gnome.shell.gschema.xml.in.h:13 -msgid "Overview workspace view mode" -msgstr "Apžvalginės darbo erdvės peržiūros veiksena" - -#: ../data/org.gnome.shell.gschema.xml.in.h:14 +#, no-c-format msgid "" "Sets the GStreamer pipeline used to encode recordings. It follows the syntax " "used for gst-launch. The pipeline should have an unconnected sink pad where " @@ -114,7 +90,9 @@ msgid "" "pipeline can also take care of its own output - this might be used to send " "the output to an icecast server via shout2send or similar. When unset or set " "to an empty value, the default pipeline will be used. This is currently " -"'videorate ! theoraenc ! oggmux' and records to Ogg Theora." +"'videorate ! vp8enc quality=10 speed=2 threads=%T ! queue ! webmmux' and " +"records to WEBM using the VP8 codec. %T is used as a placeholder for a guess " +"at the optimal thread count on the system." msgstr "" "Nurodo GStreamer konvejerį, naudojamą įrašams koduoti. Jame naudojama gst-" "launch naudojama sintaksė. Konvejeryje turėtų būti neprijungtas apjungiantis " @@ -123,22 +101,24 @@ msgstr "" "Tačiau konvejeris taip pat gali pasirūpinti savo paties išvestimi – tai gali " "būti panaudota norint perduoti išvestį icecast serveriui per shout2send ar " "pan. elementą. Kai reikšmė nenustatyta ar nustatyta tuščia reikšmė, " -"naudojamas numatytasis konvejeris. Šiuo metu tai yra „videorate ! theoraenc " -"! oggmux“, o įrašoma į Ogg Theora." +"naudojamas numatytasis konvejeris. Šiuo metu tai yra „videorate ! vp8enc " +"quality=10 speed=2 threads=%T ! queue ! webmmux“ ir įrašo į WEBM naudojant " +"VP8 kodeką. %T yra naudojamas kaip žymeklis optimalaus gijų skaičiaus " +"sistemoje spėjimui." -#: ../data/org.gnome.shell.gschema.xml.in.h:15 +#: ../data/org.gnome.shell.gschema.xml.in.h:14 msgid "Show date in clock" msgstr "Rodyti datą laikrodyje" -#: ../data/org.gnome.shell.gschema.xml.in.h:16 +#: ../data/org.gnome.shell.gschema.xml.in.h:15 msgid "Show the week date in the calendar" msgstr "Rodyti savaitės dienas kalendoriuje" -#: ../data/org.gnome.shell.gschema.xml.in.h:17 +#: ../data/org.gnome.shell.gschema.xml.in.h:16 msgid "Show time with seconds" msgstr "Rodyti laiką su sekundėmis" -#: ../data/org.gnome.shell.gschema.xml.in.h:18 +#: ../data/org.gnome.shell.gschema.xml.in.h:17 msgid "" "The applications corresponding to these identifiers will be displayed in the " "favorites area." @@ -146,7 +126,7 @@ msgstr "" "Programos, atitinkančios šiuos identifikatorius, bus rodomos mėgstamų " "srityje." -#: ../data/org.gnome.shell.gschema.xml.in.h:19 +#: ../data/org.gnome.shell.gschema.xml.in.h:18 msgid "" "The filename for recorded screencasts will be a unique filename based on the " "current date, and use this extension. It should be changed when recording to " @@ -156,7 +136,7 @@ msgstr "" "atsižvelgiant į dabartinę datą ir naudojantis šį plėtinį. Rašant į kitą " "konteinerio formatą jį reikėtų pakeisti." -#: ../data/org.gnome.shell.gschema.xml.in.h:20 +#: ../data/org.gnome.shell.gschema.xml.in.h:19 msgid "" "The framerate of the resulting screencast recordered by GNOME Shell's " "screencast recorder in frames-per-second." @@ -164,19 +144,11 @@ msgstr "" "GNOME Shell ekranų įrašymo programa sukurto ekrano įrašo kadrų dažnis " "kadrais per sekundę." -#: ../data/org.gnome.shell.gschema.xml.in.h:21 +#: ../data/org.gnome.shell.gschema.xml.in.h:20 msgid "The gstreamer pipeline used to encode the screencast" msgstr "Gstreamer konvejeris, naudojamas užkoduojant ekrano vaizdo įrašą." -#: ../data/org.gnome.shell.gschema.xml.in.h:22 -msgid "" -"The selected workspace view mode in the overview. Supported values are " -"\"single\" and \"grid\"." -msgstr "" -"Apžvalgoje pasirinkta darbo erdvės peržiūros veiksena. Galimos reikšmės yra " -"„single“ ir „grid“." - -#: ../data/org.gnome.shell.gschema.xml.in.h:23 +#: ../data/org.gnome.shell.gschema.xml.in.h:21 msgid "" "The shell normally monitors active applications in order to present the most " "used ones (e.g. in launchers). While this data will be kept private, you may " @@ -188,295 +160,980 @@ msgstr "" "jei norite, saugumo sumetimais galite šią funkciją išjungti. Atminkite, kad " "tai padarius jau įrašyti duomenys jau nebus įrašyti." -#: ../data/org.gnome.shell.gschema.xml.in.h:24 -msgid "" -"This key specifies the format used by the panel clock when the format key is " -"set to \"custom\". You can use conversion specifiers understood by strftime" -"() to obtain a specific format. See the strftime() manual for more " -"information." -msgstr "" -"Šis raktas nurodo skydelio laikrodžio naudojamą formatą, kuomet formato " -"raktas nustatytas į reikšmę „custom“. Norėdami gauti konkretų formatą, " -"galite naudoti konvertavimo simbolius, kuriuos priima funkcija strftime(). " -"Daugiau informacijos galite rasti strftime() žinyne." - -#: ../data/org.gnome.shell.gschema.xml.in.h:25 -msgid "" -"This key specifies the hour format used by the panel clock. Possible values " -"are \"12-hour\", \"24-hour\", \"unix\" and \"custom\". If set to \"unix\", " -"the clock will display time in seconds since Epoch, i.e. 1970-01-01. If set " -"to \"custom\", the clock will display time according to the format specified " -"in the custom_format key. Note that if set to either \"unix\" or \"custom\", " -"the show_date and show_seconds keys are ignored." -msgstr "" -"Šis raktas nurodo skydelio laikrodžio naudojamą valandų formatą. Galimos " -"reikšmės: „12-hour“, „24-hour“, „unix“ ir „custom“. Jei nustatyta „unix“, " -"laikrodis rodys laiką sekundėmis nuo Epochos, tai yra 1970-01-01. Jei " -"nustatyta „custom“, laikrodis rodys laiką atsižvelgiant į custom_format " -"rakte nurodytą formatą. Atminkite, kad nustačius „unix“ arba „custom“ yra " -"nepaisoma show_date ir show_seconds raktų." - -#: ../data/org.gnome.shell.gschema.xml.in.h:26 +#: ../data/org.gnome.shell.gschema.xml.in.h:22 msgid "Uuids of extensions to disable" msgstr "Išjungtinų plėtinių UUID." -#: ../data/org.gnome.shell.gschema.xml.in.h:27 +#: ../data/org.gnome.shell.gschema.xml.in.h:23 msgid "Whether to collect stats about applications usage" msgstr "Ar rinkti statistinę informaciją apie programų naudojimą" -#: ../data/clock-preferences.ui.h:1 -msgid "Clock Format" -msgstr "Laikrodžio formatas" +#: ../data/org.gnome.shell.gschema.xml.in.h:24 +msgid "disabled OpenSearch providers" +msgstr "išjungti OpenSearch tiekėjai" -#: ../data/clock-preferences.ui.h:2 -msgid "Clock Preferences" -msgstr "Laikrodžio nustatymai" +#: ../js/misc/util.js:71 +msgid "Command not found" +msgstr "Komanda nerasta" -#: ../data/clock-preferences.ui.h:3 -msgid "Panel Display" -msgstr "Skydelio ekranas" +#. Replace "Error invoking GLib.shell_parse_argv: " with +#. something nicer +#: ../js/misc/util.js:98 +msgid "Could not parse command:" +msgstr "Nepavyko perskaityti komandos:" -#: ../data/clock-preferences.ui.h:4 -msgid "Show seco_nds" -msgstr "Rodyti seku_ndes" +#: ../js/misc/util.js:106 +#, c-format +msgid "Execution of '%s' failed:" +msgstr "Nepavyko paleisti „%s“:" -#: ../data/clock-preferences.ui.h:5 -msgid "Show the _date" -msgstr "Rodyti _datą" +#. Translators: Filter to display all applications +#: ../js/ui/appDisplay.js:226 +msgid "All" +msgstr "Visi" -#: ../data/clock-preferences.ui.h:6 -msgid "_12 hour format" -msgstr "_12 valandų formatas" - -#: ../data/clock-preferences.ui.h:7 -msgid "_24 hour format" -msgstr "_24 valandų formatas" - -#. **** Applications **** -#: ../js/ui/appDisplay.js:388 ../js/ui/dash.js:767 +#: ../js/ui/appDisplay.js:324 msgid "APPLICATIONS" msgstr "PROGRAMOS" -#: ../js/ui/appDisplay.js:420 -msgid "PREFERENCES" +#: ../js/ui/appDisplay.js:350 +msgid "SETTINGS" msgstr "NUSTATYMAI" -#: ../js/ui/appDisplay.js:726 +#: ../js/ui/appDisplay.js:616 msgid "New Window" msgstr "Naujas langas" -#: ../js/ui/appDisplay.js:730 +#: ../js/ui/appDisplay.js:619 msgid "Remove from Favorites" msgstr "Pašalinti iš mėgstamų" -#: ../js/ui/appDisplay.js:731 +#: ../js/ui/appDisplay.js:620 msgid "Add to Favorites" msgstr "Pridėti prie mėgstamų" -#: ../js/ui/appDisplay.js:1038 -msgid "Drag here to add favorites" -msgstr "Vilkite čia norėdami pridėti prie mėgstamų" - -#: ../js/ui/appFavorites.js:88 +#: ../js/ui/appFavorites.js:91 #, c-format msgid "%s has been added to your favorites." msgstr "%s buvo pridėta prie jūsų mėgstamų." -#: ../js/ui/appFavorites.js:106 +#: ../js/ui/appFavorites.js:122 #, c-format msgid "%s has been removed from your favorites." msgstr "%s buvo pašalinta iš jūsų mėgstamų." -#: ../js/ui/dash.js:146 -msgid "Find" -msgstr "Ieškoti" +#. Translators: Shown in calendar event list for all day events +#. * Keep it short, best if you can use less then 10 characters +#. +#: ../js/ui/calendar.js:66 +msgctxt "event list time" +msgid "All Day" +msgstr "Visa diena" -#: ../js/ui/dash.js:465 -msgid "Searching..." -msgstr "Ieškoma..." +#. Translators: Shown in calendar event list, if 24h format +#: ../js/ui/calendar.js:71 +msgctxt "event list time" +msgid "%H:%M" +msgstr "%H:%M" -#: ../js/ui/dash.js:479 -msgid "No matching results." -msgstr "Nerasta atitikmenų." +#. Transators: Shown in calendar event list, if 12h format +#: ../js/ui/calendar.js:78 +msgctxt "event list time" +msgid "%l:%M %p" +msgstr "%H:%M" -#. **** Places **** -#. Translators: This is in the sense of locations for documents, -#. network locations, etc. -#: ../js/ui/dash.js:786 ../js/ui/placeDisplay.js:552 -msgid "PLACES & DEVICES" -msgstr "VIETOS ir ĮRENGINIAI" +#. Translators: Calendar grid abbreviation for Sunday. +#. * +#. * NOTE: These grid abbreviations are always shown together +#. * and in order, e.g. "S M T W T F S". +#. +#: ../js/ui/calendar.js:118 +msgctxt "grid sunday" +msgid "S" +msgstr "S" -#. **** Documents **** -#: ../js/ui/dash.js:793 ../js/ui/docDisplay.js:497 -msgid "RECENT ITEMS" -msgstr "PASKUTINIEJI ELEMENTAI" +#. Translators: Calendar grid abbreviation for Monday +#: ../js/ui/calendar.js:120 +msgctxt "grid monday" +msgid "M" +msgstr "P" -#: ../js/ui/lookingGlass.js:471 -msgid "No extensions installed" -msgstr "Nėra įdiegtų plėtinių" +#. Translators: Calendar grid abbreviation for Tuesday +#: ../js/ui/calendar.js:122 +msgctxt "grid tuesday" +msgid "T" +msgstr "A" -#: ../js/ui/lookingGlass.js:508 -msgid "Enabled" -msgstr "Įjungta" +#. Translators: Calendar grid abbreviation for Wednesday +#: ../js/ui/calendar.js:124 +msgctxt "grid wednesday" +msgid "W" +msgstr "T" -#: ../js/ui/lookingGlass.js:510 -msgid "Disabled" -msgstr "Išjungta" +#. Translators: Calendar grid abbreviation for Thursday +#: ../js/ui/calendar.js:126 +msgctxt "grid thursday" +msgid "T" +msgstr "K" -#: ../js/ui/lookingGlass.js:512 -msgid "Error" -msgstr "Klaida" +#. Translators: Calendar grid abbreviation for Friday +#: ../js/ui/calendar.js:128 +msgctxt "grid friday" +msgid "F" +msgstr "P" -#: ../js/ui/lookingGlass.js:514 -msgid "Out of date" -msgstr "Pasenęs" +#. Translators: Calendar grid abbreviation for Saturday +#: ../js/ui/calendar.js:130 +msgctxt "grid saturday" +msgid "S" +msgstr "Š" -#: ../js/ui/lookingGlass.js:539 -msgid "View Source" -msgstr "Žiūrėti šaltinį" +#. Translators: Event list abbreviation for Sunday. +#. * +#. * NOTE: These list abbreviations are normally not shown together +#. * so they need to be unique (e.g. Tuesday and Thursday cannot +#. * both be 'T'). +#. +#: ../js/ui/calendar.js:143 +msgctxt "list sunday" +msgid "Su" +msgstr "Sk" -#: ../js/ui/lookingGlass.js:545 -msgid "Web Page" -msgstr "Tinklalapis" +#. Translators: Event list abbreviation for Monday +#: ../js/ui/calendar.js:145 +msgctxt "list monday" +msgid "M" +msgstr "Pr" -#: ../js/ui/overview.js:165 -msgid "Undo" -msgstr "Atšaukti" +#. Translators: Event list abbreviation for Tuesday +#: ../js/ui/calendar.js:147 +msgctxt "list tuesday" +msgid "T" +msgstr "An" -#: ../js/ui/panel.js:519 -msgid "Preferences" -msgstr "Nustatymai" +#. Translators: Event list abbreviation for Wednesday +#: ../js/ui/calendar.js:149 +msgctxt "list wednesday" +msgid "W" +msgstr "Tr" + +#. Translators: Event list abbreviation for Thursday +#: ../js/ui/calendar.js:151 +msgctxt "list thursday" +msgid "Th" +msgstr "Kt" + +#. Translators: Event list abbreviation for Friday +#: ../js/ui/calendar.js:153 +msgctxt "list friday" +msgid "F" +msgstr "Pn" + +#. Translators: Event list abbreviation for Saturday +#: ../js/ui/calendar.js:155 +msgctxt "list saturday" +msgid "S" +msgstr "Št" + +#. Translators: Text to show if there are no events +#: ../js/ui/calendar.js:704 +msgid "Nothing Scheduled" +msgstr "Niekas nesuplanuota" + +#. Translators: Shown on calendar heading when selected day occurs on current year +#: ../js/ui/calendar.js:720 +msgctxt "calendar heading" +msgid "%A, %B %d" +msgstr "%A, %B %d" + +#. Translators: Shown on calendar heading when selected day occurs on different year +#: ../js/ui/calendar.js:723 +msgctxt "calendar heading" +msgid "%A, %B %d, %Y" +msgstr "%A, %Y %B %d" + +#: ../js/ui/calendar.js:733 +msgid "Today" +msgstr "Šiandien" + +#: ../js/ui/calendar.js:737 +msgid "Tomorrow" +msgstr "Rytoj" + +#: ../js/ui/calendar.js:746 +msgid "This week" +msgstr "Šią savaitę" + +#: ../js/ui/calendar.js:754 +msgid "Next week" +msgstr "Kitą savaitę" + +#: ../js/ui/dash.js:174 ../js/ui/messageTray.js:933 +msgid "Remove" +msgstr "Pašalinti" + +#: ../js/ui/dateMenu.js:91 +msgid "Date and Time Settings" +msgstr "Datos ir laiko nustatymai" + +#: ../js/ui/dateMenu.js:111 +msgid "Open Calendar" +msgstr "Atverti kalendorių" #. Translators: This is the time format with date used #. in 24-hour mode. -#: ../js/ui/panel.js:605 +#: ../js/ui/dateMenu.js:164 msgid "%a %b %e, %R:%S" msgstr "%a %b %e, %R:%S" -#: ../js/ui/panel.js:606 +#: ../js/ui/dateMenu.js:165 msgid "%a %b %e, %R" msgstr "%a %b %e, %R" #. Translators: This is the time format without date used #. in 24-hour mode. -#: ../js/ui/panel.js:610 +#: ../js/ui/dateMenu.js:169 msgid "%a %R:%S" msgstr "%a %R:%S" -#: ../js/ui/panel.js:611 +#: ../js/ui/dateMenu.js:170 msgid "%a %R" msgstr "%a %R" #. Translators: This is a time format with date used #. for AM/PM. -#: ../js/ui/panel.js:618 +#: ../js/ui/dateMenu.js:177 msgid "%a %b %e, %l:%M:%S %p" msgstr "%a %b %e, %l:%M:%S %p" -#: ../js/ui/panel.js:619 +#: ../js/ui/dateMenu.js:178 msgid "%a %b %e, %l:%M %p" msgstr "%a %b %e, %l:%M %p" #. Translators: This is a time format without date used #. for AM/PM. -#: ../js/ui/panel.js:623 +#: ../js/ui/dateMenu.js:182 msgid "%a %l:%M:%S %p" msgstr "%a %l:%M:%S %p" -#: ../js/ui/panel.js:624 +#: ../js/ui/dateMenu.js:183 msgid "%a %l:%M %p" msgstr "%a %l:%M %p" +#. Translators: This is the date format to use when the calendar popup is +#. * shown - it is shown just below the time in the shell (e.g. "Tue 9:29 AM"). +#. +#: ../js/ui/dateMenu.js:194 +msgid "%A %B %e, %Y" +msgstr "%A, %Y %B %d" + +#: ../js/ui/docDisplay.js:19 +msgid "RECENT ITEMS" +msgstr "PASKUTINIEJI ELEMENTAI" + +#: ../js/ui/endSessionDialog.js:63 +#, c-format +msgid "Log Out %s" +msgstr "Atjungti %s" + +#: ../js/ui/endSessionDialog.js:64 ../js/ui/endSessionDialog.js:69 +msgid "Log Out" +msgstr "Atsijungti" + +#: ../js/ui/endSessionDialog.js:65 +msgid "Click Log Out to quit these applications and log out of the system." +msgstr "" +"Spauskite „išeiti“, jei norite užverti šias programas ir atsijungti nuo " +"sistemos." + +#: ../js/ui/endSessionDialog.js:66 +#, c-format +msgid "%s will be logged out automatically in %d seconds." +msgstr "%s bus automatiškai atjungtas po %d sekundžių." + +#: ../js/ui/endSessionDialog.js:67 +#, c-format +msgid "You will be logged out automatically in %d seconds." +msgstr "Jūs būsite automatiškai atjungtas po %d sekundžių." + +#: ../js/ui/endSessionDialog.js:68 +msgid "Logging out of the system." +msgstr "Atsijungiama nuo sistemos." + +#: ../js/ui/endSessionDialog.js:74 ../js/ui/endSessionDialog.js:78 +msgid "Shut Down" +msgstr "Išjungti" + +#: ../js/ui/endSessionDialog.js:75 +msgid "Click Shut Down to quit these applications and shut down the system." +msgstr "" +"Spauskite „išjungti“, jei norite užverti šias programas ir išjungti sistemą." + +#: ../js/ui/endSessionDialog.js:76 +#, c-format +msgid "The system will shut down automatically in %d seconds." +msgstr "Sistema automatiškai išsijungs po %d sekundžių." + +#: ../js/ui/endSessionDialog.js:77 +msgid "Shutting down the system." +msgstr "Sistemos išjungimas." + +#: ../js/ui/endSessionDialog.js:84 ../js/ui/endSessionDialog.js:88 +msgid "Restart" +msgstr "Įkelti iš naujo" + +#: ../js/ui/endSessionDialog.js:85 +msgid "Click Restart to quit these applications and restart the system." +msgstr "" +"Spauskite „įkelti iš naujo“, jei norite užverti šias programas ir įkelti " +"sistemą iš naujo." + +#: ../js/ui/endSessionDialog.js:86 +#, c-format +msgid "The system will restart automatically in %d seconds." +msgstr "Sistema bus įkelta iš naujo po %d sekundžių." + +#: ../js/ui/endSessionDialog.js:87 +msgid "Restarting the system." +msgstr "Sistemos įkėlimas iš naujo" + +#: ../js/ui/endSessionDialog.js:395 +msgid "Confirm" +msgstr "Patvirtinti" + +#: ../js/ui/endSessionDialog.js:400 ../js/ui/status/bluetooth.js:466 +msgid "Cancel" +msgstr "Atšaukti" + +#: ../js/ui/lookingGlass.js:588 +msgid "No extensions installed" +msgstr "Nėra įdiegtų plėtinių" + +#: ../js/ui/lookingGlass.js:625 +msgid "Enabled" +msgstr "Įjungta" + +#. translators: +#. * The device has been disabled +#: ../js/ui/lookingGlass.js:627 ../src/gvc/gvc-mixer-control.c:1091 +msgid "Disabled" +msgstr "Išjungta" + +#: ../js/ui/lookingGlass.js:629 +msgid "Error" +msgstr "Klaida" + +#: ../js/ui/lookingGlass.js:631 +msgid "Out of date" +msgstr "Pasenęs" + +#: ../js/ui/lookingGlass.js:656 +msgid "View Source" +msgstr "Žiūrėti šaltinį" + +#: ../js/ui/lookingGlass.js:662 +msgid "Web Page" +msgstr "Tinklalapis" + +#: ../js/ui/messageTray.js:926 +msgid "Open" +msgstr "Atverti" + +#: ../js/ui/messageTray.js:1986 +msgid "System Information" +msgstr "Sistemos informacija" + +#: ../js/ui/overview.js:88 +msgid "Undo" +msgstr "Atšaukti" + +#: ../js/ui/overview.js:183 +msgid "Windows" +msgstr "Langai" + +#: ../js/ui/overview.js:186 +msgid "Applications" +msgstr "Programos" + +#. Translators: this is the name of the dock/favorites area on +#. the left of the overview +#: ../js/ui/overview.js:202 +msgid "Dash" +msgstr "" + +#. TODO - _quit() doesn't really work on apps in state STARTING yet +#: ../js/ui/panel.js:515 +#, c-format +msgid "Quit %s" +msgstr "Užverti %s" + #. Button on the left side of the panel. #. Translators: If there is no suitable word for "Activities" in your language, you can use the word for "Overview". -#: ../js/ui/panel.js:762 +#: ../js/ui/panel.js:874 msgid "Activities" msgstr "Apžvalga" -#: ../js/ui/placeDisplay.js:109 +#: ../js/ui/panel.js:975 +msgid "Panel" +msgstr "Skydelis" + +#: ../js/ui/placeDisplay.js:122 #, c-format msgid "Failed to unmount '%s'" msgstr "Nepavyko atjungti „%s“" -#: ../js/ui/placeDisplay.js:112 +#: ../js/ui/placeDisplay.js:125 msgid "Retry" msgstr "Bandyti dar kartą" -#: ../js/ui/placeDisplay.js:157 +#: ../js/ui/placeDisplay.js:165 msgid "Connect to..." msgstr "Prisijungti prie..." -#: ../js/ui/runDialog.js:234 +#: ../js/ui/placeDisplay.js:380 +msgid "PLACES & DEVICES" +msgstr "VIETOS ir ĮRENGINIAI" + +#. Translators: this MUST be either "toggle-switch-us" +#. (for toggle switches containing the English words +#. "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:636 +msgid "toggle-switch-us" +msgstr "toggle-switch-us" + +#: ../js/ui/runDialog.js:201 msgid "Please enter a command:" msgstr "Įveskite komandą:" -#: ../js/ui/runDialog.js:379 -#, c-format -msgid "Execution of '%s' failed:" -msgstr "Nepavyko paleisti „%s“:" +#: ../js/ui/searchDisplay.js:287 +msgid "Searching..." +msgstr "Ieškoma..." -#: ../js/ui/statusMenu.js:91 +#: ../js/ui/searchDisplay.js:301 +msgid "No matching results." +msgstr "Nerasta atitikmenų." + +#: ../js/ui/statusMenu.js:114 ../js/ui/statusMenu.js:178 +msgid "Power Off..." +msgstr "Išjungti..." + +#: ../js/ui/statusMenu.js:116 ../js/ui/statusMenu.js:177 +msgid "Suspend" +msgstr "Užmigdyti" + +#: ../js/ui/statusMenu.js:137 msgid "Available" msgstr "Esu" -#: ../js/ui/statusMenu.js:95 +#: ../js/ui/statusMenu.js:142 msgid "Busy" msgstr "Užsiėmęs (-usi)" -#: ../js/ui/statusMenu.js:99 -msgid "Invisible" -msgstr "Nematomas (-a)" +#: ../js/ui/statusMenu.js:150 +msgid "My Account" +msgstr "Mano paskyra" -#: ../js/ui/statusMenu.js:106 -msgid "Account Information..." -msgstr "Paskyros informacija..." +#: ../js/ui/statusMenu.js:154 +msgid "System Settings" +msgstr "Sistemos nustatymai" -#: ../js/ui/statusMenu.js:110 -msgid "System Preferences..." -msgstr "Sistemos nustatymai..." - -#: ../js/ui/statusMenu.js:117 +#: ../js/ui/statusMenu.js:161 msgid "Lock Screen" msgstr "Užrakinti ekraną" -#: ../js/ui/statusMenu.js:121 +#: ../js/ui/statusMenu.js:165 msgid "Switch User" msgstr "Keisti naudotoją" -#: ../js/ui/statusMenu.js:126 +#: ../js/ui/statusMenu.js:170 msgid "Log Out..." msgstr "Atsijungti ..." -#: ../js/ui/statusMenu.js:130 -msgid "Shut Down..." -msgstr "Išjungti..." +#: ../js/ui/status/accessibility.js:62 +msgid "Zoom" +msgstr "Mastelis" -#: ../js/ui/windowAttentionHandler.js:47 +#. let screenReader = this._buildItem(_("Screen Reader"), APPLICATIONS_SCHEMA, +#. 'screen-reader-enabled'); +#. this.menu.addMenuItem(screenReader); +#. let screenKeyboard = this._buildItem(_("Screen Keyboard"), APPLICATIONS_SCHEMA, +#. 'screen-keyboard-enabled'); +#. this.menu.addMenuItem(screenKeyboard); +#: ../js/ui/status/accessibility.js:77 +msgid "Visual Alerts" +msgstr "Vaizdo įspėjimai" + +#: ../js/ui/status/accessibility.js:80 +msgid "Sticky Keys" +msgstr "Lipnūs klavišai" + +#: ../js/ui/status/accessibility.js:83 +msgid "Slow Keys" +msgstr "Lėti klavišai" + +#: ../js/ui/status/accessibility.js:86 +msgid "Bounce Keys" +msgstr "Pasikartojantys klavišai" + +#: ../js/ui/status/accessibility.js:89 +msgid "Mouse Keys" +msgstr "Palės klavišai" + +#: ../js/ui/status/accessibility.js:93 +msgid "Universal Access Settings" +msgstr "Universalios prieigos nustatymai" + +#: ../js/ui/status/accessibility.js:146 +msgid "High Contrast" +msgstr "Didelis kontrastas" + +#: ../js/ui/status/accessibility.js:183 +msgid "Large Text" +msgstr "Didelis tekstas" + +#: ../js/ui/status/bluetooth.js:42 ../js/ui/status/bluetooth.js:237 +#: ../js/ui/status/bluetooth.js:333 ../js/ui/status/bluetooth.js:367 +#: ../js/ui/status/bluetooth.js:407 ../js/ui/status/bluetooth.js:440 +msgid "Bluetooth" +msgstr "Bluetooth" + +#: ../js/ui/status/bluetooth.js:55 +msgid "Visibility" +msgstr "Matomumas" + +#: ../js/ui/status/bluetooth.js:69 +msgid "Send Files to Device..." +msgstr "Siųsti failus į įrenginį..." + +#: ../js/ui/status/bluetooth.js:70 +msgid "Setup a New Device..." +msgstr "Nustatyti naują įrenginį..." + +#: ../js/ui/status/bluetooth.js:95 +msgid "Bluetooth Settings" +msgstr "Bluetooth nustatymai" + +#: ../js/ui/status/bluetooth.js:188 +msgid "Connection" +msgstr "Ryšys" + +#: ../js/ui/status/bluetooth.js:224 +msgid "Send Files..." +msgstr "Siūsti failus..." + +#: ../js/ui/status/bluetooth.js:229 +msgid "Browse Files..." +msgstr "Naršyti failus..." + +#: ../js/ui/status/bluetooth.js:238 +msgid "Error browsing device" +msgstr "Klaida naršant įrenginį" + +#: ../js/ui/status/bluetooth.js:239 +#, c-format +msgid "The requested device cannot be browsed, error is '%s'" +msgstr "Pageidaujamas įrenginys negali būti naršomas, klaidos pranešimas „%s“" + +#: ../js/ui/status/bluetooth.js:247 +msgid "Keyboard Settings" +msgstr "Klaviatūros nustatymai" + +#: ../js/ui/status/bluetooth.js:252 +msgid "Mouse Settings" +msgstr "Pelės nustatymai" + +#: ../js/ui/status/bluetooth.js:259 ../js/ui/status/volume.js:66 +msgid "Sound Settings" +msgstr "Garso nustatymai" + +#: ../js/ui/status/bluetooth.js:368 +#, c-format +msgid "Authorization request from %s" +msgstr "Autorizacijos užklausa iš %s" + +#: ../js/ui/status/bluetooth.js:374 +#, c-format +msgid "Device %s wants access to the service '%s'" +msgstr "Įrenginys %s nori prieiti prie tarnybos „%s“" + +#: ../js/ui/status/bluetooth.js:376 +msgid "Always grant access" +msgstr "Visada leisti prieigą" + +#: ../js/ui/status/bluetooth.js:377 +msgid "Grant this time only" +msgstr "Leisti tik šį kartą" + +#: ../js/ui/status/bluetooth.js:378 +msgid "Reject" +msgstr "Atmesti" + +#: ../js/ui/status/bluetooth.js:408 +#, c-format +msgid "Pairing confirmation for %s" +msgstr "Suporavimo patvirtinimas įrenginiui %s" + +#: ../js/ui/status/bluetooth.js:414 ../js/ui/status/bluetooth.js:448 +#, c-format +msgid "Device %s wants to pair with this computer" +msgstr "Įrenginys %s nori susiporuoti su šiuo kompiuteriu" + +#: ../js/ui/status/bluetooth.js:415 +#, c-format +msgid "Please confirm whether the PIN '%s' matches the one on the device." +msgstr "Patvirkinkite kad PIN „%s“ sutampa su įrenginio PIN." + +#: ../js/ui/status/bluetooth.js:417 +msgid "Matches" +msgstr "Sutampa" + +#: ../js/ui/status/bluetooth.js:418 +msgid "Does not match" +msgstr "Nesutampa" + +#: ../js/ui/status/bluetooth.js:441 +#, c-format +msgid "Pairing request for %s" +msgstr "Suporavimo užklausa %s" + +#: ../js/ui/status/bluetooth.js:449 +msgid "Please enter the PIN mentioned on the device." +msgstr "Įveskite PIN, nurodytą įrenginyje." + +#: ../js/ui/status/bluetooth.js:465 +msgid "OK" +msgstr "Gerai" + +#: ../js/ui/status/keyboard.js:73 +msgid "Show Keyboard Layout..." +msgstr "Rodyti klaviatūros išdėstymą..." + +#: ../js/ui/status/keyboard.js:76 +msgid "Localization Settings" +msgstr "Lokalizacijos nustatymai" + +#: ../js/ui/status/network.js:102 ../js/ui/status/network.js:1393 +msgid "" +msgstr "" + +#. Translators: this indicates that wireless or wwan is disabled by hardware killswitch +#: ../js/ui/status/network.js:295 +msgid "disabled" +msgstr "išjungta" + +#: ../js/ui/status/network.js:476 +msgid "connecting..." +msgstr "jungiamasi..." + +#. Translators: this is for network connections that require some kind of key or password +#: ../js/ui/status/network.js:479 +msgid "authentication required" +msgstr "reikia patvirtinti tapatybę" + +#. Translators: this is for wired network devices that are physically disconnected +#: ../js/ui/status/network.js:485 +msgid "cable unplugged" +msgstr "kabelis neįjungtas" + +#. 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:489 +msgid "unavailable" +msgstr "nepasiekiamas" + +#: ../js/ui/status/network.js:491 +msgid "connection failed" +msgstr "nepavyko prisijungti" + +#. TRANSLATORS: this is the indication that a connection for another logged in user is active, +#. and we cannot access its settings (including the name) +#: ../js/ui/status/network.js:571 ../js/ui/status/network.js:1341 +msgid "Connected (private)" +msgstr "Prisijungta (privatus)" + +#: ../js/ui/status/network.js:636 +msgid "Auto Ethernet" +msgstr "Automatinis vietinis" + +#: ../js/ui/status/network.js:697 +msgid "Auto broadband" +msgstr "Automatinis plačiajuostis" + +#: ../js/ui/status/network.js:700 +msgid "Auto dial-up" +msgstr "Automatinis telefoninis" + +#. TRANSLATORS: this the automatic wireless connection name (including the network name) +#: ../js/ui/status/network.js:843 ../js/ui/status/network.js:1353 +#, c-format +msgid "Auto %s" +msgstr "Automatinis %s" + +#: ../js/ui/status/network.js:845 +msgid "Auto bluetooth" +msgstr "Automatinis bluetooth" + +#: ../js/ui/status/network.js:1355 +msgid "Auto wireless" +msgstr "Automatinis belaidis" + +#: ../js/ui/status/network.js:1413 +msgid "More..." +msgstr "Daugiau..." + +#: ../js/ui/status/network.js:1436 +msgid "Enable networking" +msgstr "Įjungti tinklą" + +#: ../js/ui/status/network.js:1448 +msgid "Wired" +msgstr "Laidinis" + +#: ../js/ui/status/network.js:1459 +msgid "Wireless" +msgstr "Belaidis" + +#: ../js/ui/status/network.js:1469 +msgid "Mobile broadband" +msgstr "Mobilus plačiajuostis" + +#: ../js/ui/status/network.js:1479 +msgid "VPN Connections" +msgstr "VPN ryšiai" + +#: ../js/ui/status/network.js:1488 +msgid "Network Settings" +msgstr "Tinklo nustatymai" + +#: ../js/ui/status/network.js:1783 +#, c-format +msgid "You're now connected to mobile broadband connection '%s'" +msgstr "Dabar esate prisijungęs prie mobilaus plačiajuosčio ryšio „%s“" + +#: ../js/ui/status/network.js:1787 +#, c-format +msgid "You're now connected to wireless network '%s'" +msgstr "Dabar esate prisijungęs prie belaidžio tinklo „%s“" + +#: ../js/ui/status/network.js:1791 +#, c-format +msgid "You're now connected to wired network '%s'" +msgstr "Dabar esate prisijungęs prie laidinio tinklo „%s“" + +#: ../js/ui/status/network.js:1795 +#, c-format +msgid "You're now connected to VPN network '%s'" +msgstr "Dabar esate prisijungęs prie VPN tinklo „%s“" + +#: ../js/ui/status/network.js:1800 +#, c-format +msgid "You're now connected to '%s'" +msgstr "Dabar esate prisijungęs prie „%s“" + +#: ../js/ui/status/network.js:1808 +msgid "Connection established" +msgstr "Ryšys užmegstas" + +#: ../js/ui/status/network.js:1930 +msgid "Networking is disabled" +msgstr "Tinklas išjungtas" + +#: ../js/ui/status/network.js:2055 +msgid "Network Manager" +msgstr "Tinklo valdymas" + +#: ../js/ui/status/power.js:85 +msgid "Power Settings" +msgstr "Energijos valdymo nustatymai" + +#. 0 is reported when UPower does not have enough data +#. to estimate battery life +#: ../js/ui/status/power.js:111 +msgid "Estimating..." +msgstr "Įvertinama..." + +#: ../js/ui/status/power.js:118 +#, c-format +msgid "%d hour remaining" +msgid_plural "%d hours remaining" +msgstr[0] "liko %d valanda" +msgstr[1] "liko %d valandos" +msgstr[2] "liko %d valandų" + +#. TRANSLATORS: this is a time string, as in "%d hours %d minutes remaining" +#: ../js/ui/status/power.js:121 +#, c-format +msgid "%d %s %d %s remaining" +msgstr "liko %d %s %d %s" + +#: ../js/ui/status/power.js:123 +msgid "hour" +msgid_plural "hours" +msgstr[0] "valanda" +msgstr[1] "valandos" +msgstr[2] "valandų" + +#: ../js/ui/status/power.js:123 +msgid "minute" +msgid_plural "minutes" +msgstr[0] "minutė" +msgstr[1] "minutės" +msgstr[2] "minučių" + +#: ../js/ui/status/power.js:126 +#, c-format +msgid "%d minute remaining" +msgid_plural "%d minutes remaining" +msgstr[0] "liko %d minutė" +msgstr[1] "liko %d minutės" +msgstr[2] "liko %d minučių" + +#: ../js/ui/status/power.js:228 +msgid "AC adapter" +msgstr "AC adapteris" + +#: ../js/ui/status/power.js:230 +msgid "Laptop battery" +msgstr "Nešiojamo kompiuterio baterija" + +#: ../js/ui/status/power.js:232 +msgid "UPS" +msgstr "UPS" + +#: ../js/ui/status/power.js:234 +msgid "Monitor" +msgstr "Monitorius" + +#: ../js/ui/status/power.js:236 +msgid "Mouse" +msgstr "Pelė" + +#: ../js/ui/status/power.js:238 +msgid "Keyboard" +msgstr "Klaviatūra" + +#: ../js/ui/status/power.js:240 +msgid "PDA" +msgstr "PDA" + +#: ../js/ui/status/power.js:242 +msgid "Cell phone" +msgstr "Mobilusis telefonas" + +#: ../js/ui/status/power.js:244 +msgid "Media player" +msgstr "Daugialypės terpės grotuvas" + +#: ../js/ui/status/power.js:246 +msgid "Tablet" +msgstr "Planšetinis kompiuteris" + +#: ../js/ui/status/power.js:248 +msgid "Computer" +msgstr "Kompiuteris" + +#: ../js/ui/status/power.js:250 ../src/shell-app-system.c:1088 +msgid "Unknown" +msgstr "Nežinoma" + +#: ../js/ui/status/volume.js:45 +msgid "Volume" +msgstr "Garsumas" + +#: ../js/ui/status/volume.js:58 +msgid "Microphone" +msgstr "Mikrofonas" + +#: ../js/ui/telepathyClient.js:332 +#, c-format +msgid "%s is online." +msgstr "%s yra prisijungęs" + +#: ../js/ui/telepathyClient.js:337 +#, c-format +msgid "%s is offline." +msgstr "%s yra atsijungęs" + +#: ../js/ui/telepathyClient.js:340 +#, c-format +msgid "%s is away." +msgstr "%s yra nepasiekiamas" + +#: ../js/ui/telepathyClient.js:343 +#, c-format +msgid "%s is busy." +msgstr "%s yra užsiėmęs." + +#. Translators: this is a time format string followed by a date. +#. If applicable, replace %X with a strftime format valid for your +#. locale, without seconds. +#: ../js/ui/telepathyClient.js:474 +#, no-c-format +msgid "Sent at %X on %A" +msgstr "Išsiųsta %A %H:%M:%S" + +#. Translators: this is the text displayed +#. in the search entry when no search is +#. active; it should not exceed ~30 +#. characters. +#: ../js/ui/viewSelector.js:122 +msgid "Type to search..." +msgstr "Ieškoti..." + +#: ../js/ui/viewSelector.js:142 ../src/shell-util.c:250 +msgid "Search" +msgstr "Ieškoti" + +#: ../js/ui/windowAttentionHandler.js:42 #, c-format msgid "%s has finished starting" msgstr "%s buvo paleista" -#: ../js/ui/windowAttentionHandler.js:49 +#: ../js/ui/windowAttentionHandler.js:44 #, c-format msgid "'%s' is ready" msgstr "„%s“ yra pasirengusi" -#: ../js/ui/workspacesView.js:237 -msgid "" -"Can't add a new workspace because maximum workspaces limit has been reached." -msgstr "" -"Negalima pridėti naujos darbo erdvės, kadangi buvo pasiektas didžiausias " -"galimas darbo erdvių skaičius." +#. translators: +#. * The number of sound outputs on a particular device +#: ../src/gvc/gvc-mixer-control.c:1098 +#, c-format +msgid "%u Output" +msgid_plural "%u Outputs" +msgstr[0] "%u išvestis" +msgstr[1] "%u išvestys" +msgstr[2] "%u išvestys" -#: ../js/ui/workspacesView.js:254 -msgid "Can't remove the first workspace." -msgstr "Nepavyko pašalinti pirmosios darbo erdvės." +#. translators: +#. * The number of sound inputs on a particular device +#: ../src/gvc/gvc-mixer-control.c:1108 +#, c-format +msgid "%u Input" +msgid_plural "%u Inputs" +msgstr[0] "%u įvestis" +msgstr[1] "%u įvestys" +msgstr[2] "%u įvestys" -#: ../src/shell-global.c:1039 +#: ../src/gvc/gvc-mixer-control.c:1406 +msgid "System Sounds" +msgstr "Sistemos garsai" + +#: ../src/main.c:397 +msgid "Print version" +msgstr "Atspausdinti versiją" + +#: ../src/shell-app.c:454 +#, c-format +msgid "Failed to launch '%s'" +msgstr "Nepavyko paleisti „%s“" + +#: ../src/shell-global.c:1340 msgid "Less than a minute ago" msgstr "Mažiau nei prieš minutę" -#: ../src/shell-global.c:1043 +#: ../src/shell-global.c:1344 #, c-format msgid "%d minute ago" msgid_plural "%d minutes ago" @@ -484,7 +1141,7 @@ msgstr[0] "prieš %d minutę" msgstr[1] "prieš %d minutes" msgstr[2] "prieš %d minučių" -#: ../src/shell-global.c:1048 +#: ../src/shell-global.c:1349 #, c-format msgid "%d hour ago" msgid_plural "%d hours ago" @@ -492,7 +1149,7 @@ msgstr[0] "prieš %d valandą" msgstr[1] "prieš %d valandas" msgstr[2] "prieš %d valandų" -#: ../src/shell-global.c:1053 +#: ../src/shell-global.c:1354 #, c-format msgid "%d day ago" msgid_plural "%d days ago" @@ -500,7 +1157,7 @@ msgstr[0] "prieš %d dieną" msgstr[1] "prieš %d dienas" msgstr[2] "prieš %d dienų" -#: ../src/shell-global.c:1058 +#: ../src/shell-global.c:1359 #, c-format msgid "%d week ago" msgid_plural "%d weeks ago" @@ -508,26 +1165,139 @@ msgstr[0] "prieš %d savaitę" msgstr[1] "prieš %d savaites" msgstr[2] "prieš %d savaičių" -#: ../src/shell-uri-util.c:89 +#: ../src/shell-mobile-providers.c:80 +msgid "United Kingdom" +msgstr "Jungtinė Karalystė" + +#: ../src/shell-mobile-providers.c:526 +msgid "Default" +msgstr "Numatyta" + +#: ../src/shell-polkit-authentication-agent.c:334 +msgid "Authentication dialog was dismissed by the user" +msgstr "Naudotojas užvėrė tapatybės patvirtinimo dialogą" + +#: ../src/shell-util.c:89 msgid "Home Folder" msgstr "Namų aplankas" #. Translators: this is the same string as the one found in #. * nautilus -#: ../src/shell-uri-util.c:104 +#: ../src/shell-util.c:104 msgid "File System" msgstr "Failų sistema" -#: ../src/shell-uri-util.c:250 -msgid "Search" -msgstr "Ieškoti" - #. Translators: the first string is the name of a gvfs #. * method, and the second string is a path. For #. * example, "Trash: some-directory". It means that the #. * directory called "some-directory" is in the trash. #. -#: ../src/shell-uri-util.c:300 +#: ../src/shell-util.c:300 #, c-format msgid "%1$s: %2$s" msgstr "%1$s: %2$s" + +#~ msgid "Clock" +#~ msgstr "Laikrodis" + +#~ msgid "Customize the panel clock" +#~ msgstr "Derinti skydelio laikrodį" + +#~ msgid "Custom format of the clock" +#~ msgstr "Pasirinktinis laikrodžio formatas" + +#~ msgid "Hour format" +#~ msgstr "Valandų formatas" + +#~ msgid "" +#~ "If true and format is either \"12-hour\" or \"24-hour\", display seconds " +#~ "in time." +#~ msgstr "" +#~ "Jei reikšmė teigiama ir formatas yra „12-hour“ ar „24-hour“, laikrodyje " +#~ "rodyti ir sekundes." + +#~ msgid "Overview workspace view mode" +#~ msgstr "Apžvalginės darbo erdvės peržiūros veiksena" + +#~ msgid "" +#~ "The selected workspace view mode in the overview. Supported values are " +#~ "\"single\" and \"grid\"." +#~ msgstr "" +#~ "Apžvalgoje pasirinkta darbo erdvės peržiūros veiksena. Galimos reikšmės " +#~ "yra „single“ ir „grid“." + +#~ msgid "" +#~ "This key specifies the format used by the panel clock when the format key " +#~ "is set to \"custom\". You can use conversion specifiers understood by " +#~ "strftime() to obtain a specific format. See the strftime() manual for " +#~ "more information." +#~ msgstr "" +#~ "Šis raktas nurodo skydelio laikrodžio naudojamą formatą, kuomet formato " +#~ "raktas nustatytas į reikšmę „custom“. Norėdami gauti konkretų formatą, " +#~ "galite naudoti konvertavimo simbolius, kuriuos priima funkcija strftime" +#~ "(). Daugiau informacijos galite rasti strftime() žinyne." + +#~ msgid "" +#~ "This key specifies the hour format used by the panel clock. Possible " +#~ "values are \"12-hour\", \"24-hour\", \"unix\" and \"custom\". If set to " +#~ "\"unix\", the clock will display time in seconds since Epoch, i.e. " +#~ "1970-01-01. If set to \"custom\", the clock will display time according " +#~ "to the format specified in the custom_format key. Note that if set to " +#~ "either \"unix\" or \"custom\", the show_date and show_seconds keys are " +#~ "ignored." +#~ msgstr "" +#~ "Šis raktas nurodo skydelio laikrodžio naudojamą valandų formatą. Galimos " +#~ "reikšmės: „12-hour“, „24-hour“, „unix“ ir „custom“. Jei nustatyta „unix“, " +#~ "laikrodis rodys laiką sekundėmis nuo Epochos, tai yra 1970-01-01. Jei " +#~ "nustatyta „custom“, laikrodis rodys laiką atsižvelgiant į custom_format " +#~ "rakte nurodytą formatą. Atminkite, kad nustačius „unix“ arba „custom“ yra " +#~ "nepaisoma show_date ir show_seconds raktų." + +#~ msgid "Clock Format" +#~ msgstr "Laikrodžio formatas" + +#~ msgid "Clock Preferences" +#~ msgstr "Laikrodžio nustatymai" + +#~ msgid "Panel Display" +#~ msgstr "Skydelio ekranas" + +#~ msgid "Show seco_nds" +#~ msgstr "Rodyti seku_ndes" + +#~ msgid "Show the _date" +#~ msgstr "Rodyti _datą" + +#~ msgid "_12 hour format" +#~ msgstr "_12 valandų formatas" + +#~ msgid "_24 hour format" +#~ msgstr "_24 valandų formatas" + +#~ msgid "PREFERENCES" +#~ msgstr "NUSTATYMAI" + +#~ msgid "Drag here to add favorites" +#~ msgstr "Vilkite čia norėdami pridėti prie mėgstamų" + +#~ msgid "Find" +#~ msgstr "Ieškoti" + +#~ msgid "Preferences" +#~ msgstr "Nustatymai" + +#~ msgid "Invisible" +#~ msgstr "Nematomas (-a)" + +#~ msgid "System Preferences..." +#~ msgstr "Sistemos nustatymai..." + +#~ msgid "" +#~ "Can't add a new workspace because maximum workspaces limit has been " +#~ "reached." +#~ msgstr "" +#~ "Negalima pridėti naujos darbo erdvės, kadangi buvo pasiektas didžiausias " +#~ "galimas darbo erdvių skaičius." + +#~ msgid "Can't remove the first workspace." +#~ msgstr "Nepavyko pašalinti pirmosios darbo erdvės." From 291ef07cf3d6efd7c858fa1f956ede72464a523d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Florian=20M=C3=BCllner?= Date: Mon, 21 Mar 2011 14:06:35 +0100 Subject: [PATCH 099/203] run-dialog: Honor lockdown settings org.gnome.desktop.lockdown has a setting to prevent the use of the Alt-F2 run dialog. Honor this setting. https://bugzilla.gnome.org/show_bug.cgi?id=645335 --- js/ui/runDialog.js | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/js/ui/runDialog.js b/js/ui/runDialog.js index 15340d359..2a02a3b02 100644 --- a/js/ui/runDialog.js +++ b/js/ui/runDialog.js @@ -22,6 +22,9 @@ const MAX_FILE_DELETED_BEFORE_INVALID = 10; const HISTORY_KEY = 'command-history'; +const LOCKDOWN_SCHEMA = 'org.gnome.desktop.lockdown'; +const DISABLE_COMMAND_LINE_KEY = 'disable-command-line'; + const DIALOG_GROW_TIME = 0.1; function CommandCompleter() { @@ -167,6 +170,7 @@ __proto__: ModalDialog.ModalDialog.prototype, _init : function() { ModalDialog.ModalDialog.prototype._init.call(this, { styleClass: 'run-dialog' }); + this._lockdownSettings = new Gio.Settings({ schema: LOCKDOWN_SCHEMA }); global.settings.connect('changed::development-tools', Lang.bind(this, function () { this._enableInternalCommands = global.settings.get_boolean('development-tools'); })); @@ -353,6 +357,9 @@ __proto__: ModalDialog.ModalDialog.prototype, this._entryText.set_text(''); this._commandError = false; + if (this._lockdownSettings.get_boolean(DISABLE_COMMAND_LINE_KEY)) + return; + ModalDialog.ModalDialog.prototype.open.call(this); }, From 0eaf141ae4595d862ca1c68097ac1253bac18fce Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Florian=20M=C3=BCllner?= Date: Mon, 21 Mar 2011 13:51:46 +0100 Subject: [PATCH 100/203] user-status: Honor lockdown settings Right now, the user status menu always contains actions to logout and lock the screen, and the user switching action only depends on the technical availability of the functionality. All those items should honor the lockdown settings defined in org.gnome.desktop.lockdown. https://bugzilla.gnome.org/show_bug.cgi?id=645335 --- js/ui/statusMenu.js | 52 ++++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 51 insertions(+), 1 deletion(-) diff --git a/js/ui/statusMenu.js b/js/ui/statusMenu.js index 26a4fe46a..d91e46e84 100644 --- a/js/ui/statusMenu.js +++ b/js/ui/statusMenu.js @@ -2,6 +2,7 @@ const Gdm = imports.gi.Gdm; const DBus = imports.dbus; +const Gio = imports.gi.Gio; const GLib = imports.gi.GLib; const Lang = imports.lang; const Shell = imports.gi.Shell; @@ -20,6 +21,11 @@ const Util = imports.misc.util; const BUS_NAME = 'org.gnome.ScreenSaver'; const OBJECT_PATH = '/org/gnome/ScreenSaver'; +const LOCKDOWN_SCHEMA = 'org.gnome.desktop.lockdown'; +const DISABLE_USER_SWITCH_KEY = 'disable-user-switching'; +const DISABLE_LOCK_SCREEN_KEY = 'disable-lock-screen'; +const DISABLE_LOG_OUT_KEY = 'disable-log-out'; + const ScreenSaverInterface = { name: BUS_NAME, methods: [ { name: 'Lock', inSignature: '' } ] @@ -44,6 +50,8 @@ StatusMenuButton.prototype = { let box = new St.BoxLayout({ name: 'panelStatusMenu' }); this.actor.set_child(box); + this._lockdownSettings = new Gio.Settings({ schema: LOCKDOWN_SCHEMA }); + this._gdm = Gdm.UserManager.ref_default(); this._gdm.queue_load(); @@ -79,6 +87,15 @@ StatusMenuButton.prototype = { this._gdm.connect('notify::is-loaded', Lang.bind(this, this._updateSwitchUser)); this._gdm.connect('user-added', Lang.bind(this, this._updateSwitchUser)); this._gdm.connect('user-removed', Lang.bind(this, this._updateSwitchUser)); + this._lockdownSettings.connect('changed::' + DISABLE_USER_SWITCH_KEY, + Lang.bind(this, this._updateSwitchUser)); + this._lockdownSettings.connect('changed::' + DISABLE_LOG_OUT_KEY, + Lang.bind(this, this._updateLogout)); + this._lockdownSettings.connect('changed::' + DISABLE_LOCK_SCREEN_KEY, + Lang.bind(this, this._updateLockScreen)); + this._updateSwitchUser(); + this._updateLogout(); + this._updateLockScreen(); this._upClient.connect('notify::can-suspend', Lang.bind(this, this._updateSuspendOrPowerOff)); }, @@ -95,11 +112,41 @@ StatusMenuButton.prototype = { this._name.set_text(""); }, + _updateSessionSeparator: function() { + let showSeparator = this._loginScreenItem.actor.visible || + this._logoutItem.actor.visible || + this._lockScreenItem.actor.visible; + if (showSeparator) + this._sessionSeparator.actor.show(); + else + this._sessionSeparator.actor.hide(); + }, + _updateSwitchUser: function() { - if (this._gdm.can_switch ()) + let allowSwitch = !this._lockdownSettings.get_boolean(DISABLE_USER_SWITCH_KEY); + if (allowSwitch && this._gdm.can_switch ()) this._loginScreenItem.actor.show(); else this._loginScreenItem.actor.hide(); + this._updateSessionSeparator(); + }, + + _updateLogout: function() { + let allowLogout = !this._lockdownSettings.get_boolean(DISABLE_LOG_OUT_KEY); + if (allowLogout) + this._logoutItem.actor.show(); + else + this._logoutItem.actor.hide(); + this._updateSessionSeparator(); + }, + + _updateLockScreen: function() { + let allowLockScreen = !this._lockdownSettings.get_boolean(DISABLE_LOCK_SCREEN_KEY); + if (allowLockScreen) + this._lockScreenItem.actor.show(); + else + this._lockScreenItem.actor.hide(); + this._updateSessionSeparator(); }, _updateSuspendOrPowerOff: function() { @@ -161,6 +208,7 @@ StatusMenuButton.prototype = { item = new PopupMenu.PopupMenuItem(_("Lock Screen")); item.connect('activate', Lang.bind(this, this._onLockScreenActivate)); this.menu.addMenuItem(item); + this._lockScreenItem = item; item = new PopupMenu.PopupMenuItem(_("Switch User")); item.connect('activate', Lang.bind(this, this._onLoginScreenActivate)); @@ -170,9 +218,11 @@ StatusMenuButton.prototype = { item = new PopupMenu.PopupMenuItem(_("Log Out...")); item.connect('activate', Lang.bind(this, this._onQuitSessionActivate)); this.menu.addMenuItem(item); + this._logoutItem = item; item = new PopupMenu.PopupSeparatorMenuItem(); this.menu.addMenuItem(item); + this._sessionSeparator = item; item = new PopupMenu.PopupAlternatingMenuItem(_("Suspend"), _("Power Off...")); From e886a3d8914b99ba70da3800a76927ab9020fe26 Mon Sep 17 00:00:00 2001 From: Dan Winship Date: Mon, 21 Mar 2011 08:21:18 -0400 Subject: [PATCH 101/203] StButton: fix handling of Space/Enter -> click StButton was mistakenly considering any Space/Enter KEY_RELEASE to be a click, when in fact it should only count as a click if it also got the corresponding KEY_PRESS as well. This meant that when typing in a chat notification, any Space/Enter keypress would dismiss the notification, since the StEntry would take the PRESS event but ignore the RELEASE, allowing it to propagate to the notification itself, which would treat it as a click. https://bugzilla.gnome.org/show_bug.cgi?id=645243 --- src/st/st-button.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/st/st-button.c b/src/st/st-button.c index 56842679e..47647cfb5 100644 --- a/src/st/st-button.c +++ b/src/st/st-button.c @@ -232,7 +232,10 @@ st_button_key_release (ClutterActor *actor, if (event->keyval == CLUTTER_KEY_space || event->keyval == CLUTTER_KEY_Return) { - st_button_release (button, ST_BUTTON_ONE, 1); + gboolean is_click; + + is_click = (button->priv->pressed & ST_BUTTON_ONE); + st_button_release (button, ST_BUTTON_ONE, is_click ? 1 : 0); return TRUE; } } From 96f89ce4ae0cfbdeb2f4d1e6b2c3de700aeae6db Mon Sep 17 00:00:00 2001 From: "Owen W. Taylor" Date: Sat, 19 Mar 2011 13:51:34 -0400 Subject: [PATCH 102/203] message-tray: allocate the entire size to the icon Specify x-fill and y-fill true for the bin that contains the status icon so the status icon will always be sized to our specified icon size (24x24). This prevents pathological behavior for legacy status icons embedded in the tray where an initial allocation at 1x1 before they had content would "stick", and the icon would permanently end up 1x1. https://bugzilla.gnome.org/show_bug.cgi?id=634820 --- js/ui/messageTray.js | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/js/ui/messageTray.js b/js/ui/messageTray.js index d2c09f499..ae1060aa6 100644 --- a/js/ui/messageTray.js +++ b/js/ui/messageTray.js @@ -820,7 +820,9 @@ Source.prototype = { _init: function(title) { this.title = title; this._iconBin = new St.Bin({ width: this.ICON_SIZE, - height: this.ICON_SIZE }); + height: this.ICON_SIZE, + x_fill: true, + y_fill: true }); this.isTransient = false; this.isChat = false; }, From b2df3fcd1da6d7ad4912f6b6b77bce19cd8c30ce Mon Sep 17 00:00:00 2001 From: Alexander Larsson Date: Fri, 18 Mar 2011 14:49:27 +0100 Subject: [PATCH 103/203] Always show the workspace thumbnails if there is a monitor to the right If there is a monitor to the right it is very easy to overshot the expanding thumbnails and enter the next monitor. So, in that case we just always show it. https://bugzilla.gnome.org/show_bug.cgi?id=641877 --- js/ui/workspacesView.js | 29 ++++++++++++++++++++++++++--- 1 file changed, 26 insertions(+), 3 deletions(-) diff --git a/js/ui/workspacesView.js b/js/ui/workspacesView.js index d2a8851f7..f7250c649 100644 --- a/js/ui/workspacesView.js +++ b/js/ui/workspacesView.js @@ -590,9 +590,15 @@ WorkspacesDisplay.prototype = { this._inDrag = false; this._cancelledDrag = false; + + this._alwaysZoomOut = false; this._zoomOut = false; this._zoomFraction = 0; + this._updateAlwaysZoom(); + + global.screen.connect('monitors-changed', Lang.bind(this, this._updateAlwaysZoom)); + this._nWorkspacesNotifyId = 0; this._switchWorkspaceNotifyId = 0; @@ -647,8 +653,8 @@ WorkspacesDisplay.prototype = { Lang.bind(this, this._dragEnd)); this._onRestacked(); - this._zoomOut = false; - this._zoomFraction = 0; + this._zoomOut = this._alwaysZoomOut; + this._zoomFraction = this._alwaysZoomOut ? 1 : 0; this._updateZoom(); }, @@ -707,6 +713,23 @@ WorkspacesDisplay.prototype = { return this._zoomFraction; }, + _updateAlwaysZoom: function() { + this._alwaysZoomOut = false; + + let monitors = global.get_monitors(); + let primary = global.get_primary_monitor(); + + /* Look for any monitor to the right of the primary, if there is + * one, we always keep zoom out, otherwise its hard to reach + * the thumbnail area without passing into the next monitor. */ + for (let i = 0; i < monitors.length; i++) { + if (monitors[i].x >= primary.x + primary.width) { + this._alwaysZoomOut = true; + break; + } + } + }, + _getPreferredWidth: function (actor, forHeight, alloc) { // pass through the call in case the child needs it, but report 0x0 this._controls.get_preferred_width(forHeight); @@ -842,7 +865,7 @@ WorkspacesDisplay.prototype = { if (Main.overview.animationInProgress) return; - let shouldZoom = this._controls.hover || (this._inDrag && !this._cancelledDrag); + let shouldZoom = this._alwaysZoomOut || this._controls.hover || (this._inDrag && !this._cancelledDrag); if (shouldZoom != this._zoomOut) { this._zoomOut = shouldZoom; this._updateWorkspacesGeometry(); From d0dd37fe947fd43151f2f06a7794688689ed706c Mon Sep 17 00:00:00 2001 From: Dan Winship Date: Fri, 18 Mar 2011 14:33:45 -0400 Subject: [PATCH 104/203] appDisplay: use get_allocation_box() in _ensureIconVisible When right-clicking on an AppWellIcon, the icon will become focused, which (presumably via style-changed) invalidates its current allocation, causing "icon.y" to return 0 until it has been reallocated, messing up our idea of where in the AppDisplay the icon is. Work around this by calling get_allocation_box() instead. https://bugzilla.gnome.org/show_bug.cgi?id=645162 --- js/ui/appDisplay.js | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/js/ui/appDisplay.js b/js/ui/appDisplay.js index 5017446cc..bfe5ff70a 100644 --- a/js/ui/appDisplay.js +++ b/js/ui/appDisplay.js @@ -86,10 +86,14 @@ AlphabeticalView.prototype = { if (vfade) offset = vfade.fade_offset; - if (icon.y < value + offset) - value = Math.max(0, icon.y - offset); - else if (icon.y + icon.height > value + pageSize - offset) - value = Math.min(upper, icon.y + icon.height + offset - pageSize); + // If this gets called as part of a right-click, the actor + // will be needs_allocation, and so "icon.y" would return 0 + let box = icon.get_allocation_box(); + + if (box.y1 < value + offset) + value = Math.max(0, box.y1 - offset); + else if (box.y2 > value + pageSize - offset) + value = Math.min(upper, box.y2 + offset - pageSize); else return; From bad8dbc2d29204d4a02de4f1aaaf076a987ea7e5 Mon Sep 17 00:00:00 2001 From: Dan Winship Date: Tue, 15 Mar 2011 16:05:40 -0400 Subject: [PATCH 105/203] modalDialog: grab focus immediately, not after fade-in If the user types Alt+F2 and then immediately starts typing, some keys can get lost. Fix that by grabbing focus sooner. https://bugzilla.gnome.org/show_bug.cgi?id=644857 --- js/ui/modalDialog.js | 10 ++++++---- js/ui/runDialog.js | 5 +---- 2 files changed, 7 insertions(+), 8 deletions(-) diff --git a/js/ui/modalDialog.js b/js/ui/modalDialog.js index 45a1e3c38..56bc1a203 100644 --- a/js/ui/modalDialog.js +++ b/js/ui/modalDialog.js @@ -148,19 +148,23 @@ ModalDialog.prototype = { this._lightbox.show(); this._group.opacity = 0; this._group.show(); + this._initialKeyFocus.grab_key_focus(); Tweener.addTween(this._group, { opacity: 255, time: OPEN_AND_CLOSE_TIME, transition: 'easeOutQuad', onComplete: Lang.bind(this, function() { - this._initialKeyFocus.grab_key_focus(); this.state = State.OPENED; this.emit('opened'); - }), + }) }); }, + setInitialKeyFocus: function(actor) { + this._initialKeyFocus = actor; + }, + open: function(timestamp) { if (this.state == State.OPENED || this.state == State.OPENING) return true; @@ -168,8 +172,6 @@ ModalDialog.prototype = { if (!Main.pushModal(this._group, timestamp)) return false; - global.stage.set_key_focus(this._group); - this._fadeOpen(); return true; }, diff --git a/js/ui/runDialog.js b/js/ui/runDialog.js index 2a02a3b02..427979722 100644 --- a/js/ui/runDialog.js +++ b/js/ui/runDialog.js @@ -210,10 +210,7 @@ __proto__: ModalDialog.ModalDialog.prototype, this._entryText = entry.clutter_text; this.contentLayout.add(entry, { y_align: St.Align.START }); - this.connect('opened', - Lang.bind(this, function() { - this._entryText.grab_key_focus(); - })); + this.setInitialKeyFocus(this._entryText); this._errorBox = new St.BoxLayout({ style_class: 'run-dialog-error-box' }); From 1e366aa56e21fadf1ff7364821494abe54c1eb7f Mon Sep 17 00:00:00 2001 From: Dan Winship Date: Tue, 15 Mar 2011 16:12:40 -0400 Subject: [PATCH 106/203] altTab: popModal before fading out This lets the user start typing in the newly-selected window right away, without any characters possibly getting eaten during the animation. https://bugzilla.gnome.org/show_bug.cgi?id=644857 --- js/ui/altTab.js | 11 +++++++++-- js/ui/ctrlAltTab.js | 1 + 2 files changed, 10 insertions(+), 2 deletions(-) diff --git a/js/ui/altTab.js b/js/ui/altTab.js index 46ab9a325..54a456706 100644 --- a/js/ui/altTab.js +++ b/js/ui/altTab.js @@ -376,7 +376,15 @@ AltTabPopup.prototype = { this.destroy(); }, + _popModal: function() { + if (this._haveModal) { + Main.popModal(this.actor); + this._haveModal = false; + } + }, + destroy : function() { + this._popModal(); if (this.actor.visible) { Tweener.addTween(this.actor, { opacity: 0, @@ -392,8 +400,7 @@ AltTabPopup.prototype = { }, _onDestroy : function() { - if (this._haveModal) - Main.popModal(this.actor); + this._popModal(); if (this._thumbnails) this._destroyThumbnails(); diff --git a/js/ui/ctrlAltTab.js b/js/ui/ctrlAltTab.js index ff926a476..65b0a8046 100644 --- a/js/ui/ctrlAltTab.js +++ b/js/ui/ctrlAltTab.js @@ -281,6 +281,7 @@ CtrlAltTabPopup.prototype = { }, _onDestroy : function() { + this._popModal(); if (this._keyPressEventId) this.actor.disconnect(this._keyPressEventId); if (this._keyReleaseEventId) From a40daa3c22eb4a91d69a8554848c596d522f850a Mon Sep 17 00:00:00 2001 From: Dan Winship Date: Fri, 18 Mar 2011 11:28:18 -0400 Subject: [PATCH 107/203] runDialog: popModal before running the command If you run a command from Alt+F2 that tries to get a server grab (eg, xmag), it will fail if it starts up before the run dialog is finished hiding. Additionally, the run dialog currently stays focused while it is fading out, potentially stealing keystrokes (or causing the user to accidentally launch two copies of a program). Change ModalDialog.close() to call popModal() immediately Add a ModalDialog.popModal method, and call that before running the RunDialog command. If the command succeeds, close the dialog as before. If it fails, call ModalDialog.pushModal() to put things back to normal before displaying the error. https://bugzilla.gnome.org/show_bug.cgi?id=644857 --- js/ui/modalDialog.js | 62 ++++++++++++++++++++++++++++++++++---------- js/ui/runDialog.js | 9 +++++-- 2 files changed, 55 insertions(+), 16 deletions(-) diff --git a/js/ui/modalDialog.js b/js/ui/modalDialog.js index 56bc1a203..cba0b725b 100644 --- a/js/ui/modalDialog.js +++ b/js/ui/modalDialog.js @@ -39,6 +39,7 @@ ModalDialog.prototype = { params = Params.parse(params, { styleClass: null }); this.state = State.CLOSED; + this._hasModal = false; this._group = new St.Group({ visible: false, x: 0, @@ -46,6 +47,7 @@ ModalDialog.prototype = { Main.uiGroup.add_actor(this._group); global.focus_manager.add_group(this._group); this._initialKeyFocus = this._group; + this._savedKeyFocus = null; this._group.connect('destroy', Lang.bind(this, this._onGroupDestroy)); @@ -60,12 +62,18 @@ ModalDialog.prototype = { this._group.add_actor(this._backgroundBin); this._lightbox.highlight(this._backgroundBin); + this._backgroundStack = new Shell.Stack(); + this._backgroundBin.child = this._backgroundStack; + + this._eventBlocker = new Clutter.Group({ reactive: true }); + this._backgroundStack.add_actor(this._eventBlocker); + this._dialogLayout = new St.BoxLayout({ style_class: 'modal-dialog', vertical: true }); if (params.styleClass != null) { this._dialogLayout.add_style_class_name(params.styleClass); } - this._backgroundBin.child = this._dialogLayout; + this._backgroundStack.add_actor(this._dialogLayout); this.contentLayout = new St.BoxLayout({ vertical: true }); this._dialogLayout.add(this.contentLayout, @@ -148,7 +156,6 @@ ModalDialog.prototype = { this._lightbox.show(); this._group.opacity = 0; this._group.show(); - this._initialKeyFocus.grab_key_focus(); Tweener.addTween(this._group, { opacity: 255, time: OPEN_AND_CLOSE_TIME, @@ -169,7 +176,7 @@ ModalDialog.prototype = { if (this.state == State.OPENED || this.state == State.OPENING) return true; - if (!Main.pushModal(this._group, timestamp)) + if (!this.pushModal(timestamp)) return false; this._fadeOpen(); @@ -180,14 +187,8 @@ ModalDialog.prototype = { if (this.state == State.CLOSED || this.state == State.CLOSING) return; - let needsPopModal; - - if (this.state == State.OPENED || this.state == State.OPENING) - needsPopModal = true; - else - needsPopModal = false; - this.state = State.CLOSING; + this.popModal(timestamp); Tweener.addTween(this._group, { opacity: 0, @@ -197,13 +198,46 @@ ModalDialog.prototype = { function() { this.state = State.CLOSED; this._group.hide(); - - if (needsPopModal) - Main.popModal(this._group, timestamp); }) }); }, + // Drop modal status without closing the dialog; this makes the + // dialog insensitive as well, so it needs to be followed shortly + // by either a close() or a pushModal() + popModal: function(timestamp) { + if (!this._hasModal) + return; + + let focus = global.stage.key_focus; + if (focus && this._group.contains(focus)) + this._savedKeyFocus = focus; + else + this._savedKeyFocus = null; + Main.popModal(this._group, timestamp); + global.gdk_screen.get_display().sync(); + this._hasModal = false; + + this._eventBlocker.raise_top(); + }, + + pushModal: function (timestamp) { + if (this._hasModal) + return true; + if (!Main.pushModal(this._group, timestamp)) + return false; + + this._hasModal = true; + if (this._savedKeyFocus) { + this._savedKeyFocus.grab_key_focus(); + this._savedKeyFocus = null; + } else + this._initialKeyFocus.grab_key_focus(); + + this._eventBlocker.lower_bottom(); + return true; + }, + // This method is like close, but fades the dialog out much slower, // and leaves the lightbox in place. Once in the faded out state, // the dialog can be brought back by an open call, or the lightbox @@ -222,6 +256,7 @@ ModalDialog.prototype = { if (this.state == State.FADED_OUT) return; + this.popModal(timestamp); Tweener.addTween(this._dialogLayout, { opacity: 0, time: FADE_OUT_DIALOG_TIME, @@ -229,7 +264,6 @@ ModalDialog.prototype = { onComplete: Lang.bind(this, function() { this.state = State.FADED_OUT; - Main.popModal(this._group, timestamp); }) }); } diff --git a/js/ui/runDialog.js b/js/ui/runDialog.js index 427979722..f239ec821 100644 --- a/js/ui/runDialog.js +++ b/js/ui/runDialog.js @@ -240,15 +240,20 @@ __proto__: ModalDialog.ModalDialog.prototype, this._entryText.connect('key-press-event', Lang.bind(this, function(o, e) { let symbol = e.get_key_symbol(); if (symbol == Clutter.Return || symbol == Clutter.KP_Enter) { + this.popModal(); if (Shell.get_event_state(e) & Clutter.ModifierType.CONTROL_MASK) this._run(o.get_text(), true); else this._run(o.get_text(), false); if (!this._commandError) - this.close(global.get_current_time()); + this.close(); + else { + if (!this.pushModal()) + this.close(); + } } if (symbol == Clutter.Escape) { - this.close(global.get_current_time()); + this.close(); return true; } if (symbol == Clutter.slash) { From 7f17fcfafc21d3ac483e99213276aec38019fac7 Mon Sep 17 00:00:00 2001 From: Dan Winship Date: Thu, 13 Jan 2011 15:04:37 -0500 Subject: [PATCH 108/203] messageTray: forward clicks on trayicon SummaryItems to the icon If the user clicks on the title of a trayicon's SummaryItem, forward that click to the trayicon. Also adjust gnome_shell_plugin_xevent_filter() so that if the trayicon takes a grab as a result of this, we don't hide the message tray. https://bugzilla.gnome.org/show_bug.cgi?id=630842 --- js/ui/messageTray.js | 28 +++++++++----- js/ui/notificationDaemon.js | 21 +++++++++-- src/gnome-shell-plugin.c | 32 ++++++++++------ src/shell-tray-icon.c | 73 +++++++++++++++++++++++++++++++++++++ src/shell-tray-icon.h | 3 ++ 5 files changed, 132 insertions(+), 25 deletions(-) diff --git a/js/ui/messageTray.js b/js/ui/messageTray.js index ae1060aa6..e34d69350 100644 --- a/js/ui/messageTray.js +++ b/js/ui/messageTray.js @@ -874,6 +874,14 @@ Source.prototype = { this.emit('destroy'); }, + // A subclass can redefine this to "steal" clicks from the + // summaryitem; Use Clutter.get_current_event() to get the + // details, return true to prevent the default handling from + // ocurring. + handleSummaryClick: function() { + return false; + }, + //// Protected methods //// // The subclass must call this at least once to set the summary icon. @@ -903,6 +911,7 @@ SummaryItem.prototype = { this.source = source; this.actor = new St.Button({ style_class: 'summary-source-button', reactive: true, + button_mask: St.ButtonMask.ONE | St.ButtonMask.TWO | St.ButtonMask.THREE, track_hover: true }); this._sourceBox = new St.BoxLayout({ style_class: 'summary-source' }); @@ -1165,9 +1174,9 @@ MessageTray.prototype = { this._onSummaryItemHoverChanged(summaryItem); })); - summaryItem.actor.connect('button-press-event', Lang.bind(this, - function (actor, event) { - this._onSummaryItemClicked(summaryItem, event); + summaryItem.actor.connect('clicked', Lang.bind(this, + function (actor, button) { + this._onSummaryItemClicked(summaryItem, button); })); source.connect('destroy', Lang.bind(this, this._onSourceDestroy)); @@ -1404,13 +1413,14 @@ MessageTray.prototype = { this._expandedSummaryItem.setEllipsization(Pango.EllipsizeMode.END); }, - _onSummaryItemClicked: function(summaryItem, event) { - let clickedButton = event.get_button(); - if (!this._clickedSummaryItem || - this._clickedSummaryItem != summaryItem || - this._clickedSummaryItemMouseButton != clickedButton) { + _onSummaryItemClicked: function(summaryItem, button) { + if (summaryItem.source.handleSummaryClick()) + this._unsetClickedSummaryItem(); + else if (!this._clickedSummaryItem || + this._clickedSummaryItem != summaryItem || + this._clickedSummaryItemMouseButton != button) { this._clickedSummaryItem = summaryItem; - this._clickedSummaryItemMouseButton = clickedButton; + this._clickedSummaryItemMouseButton = button; } else { this._unsetClickedSummaryItem(); } diff --git a/js/ui/notificationDaemon.js b/js/ui/notificationDaemon.js index adfe870df..c3c1e34b7 100644 --- a/js/ui/notificationDaemon.js +++ b/js/ui/notificationDaemon.js @@ -1,5 +1,6 @@ /* -*- mode: js2; js2-basic-offset: 4; indent-tabs-mode: nil -*- */ +const Clutter = imports.gi.Clutter; const DBus = imports.dbus; const GLib = imports.gi.GLib; const Lang = imports.lang; @@ -441,7 +442,7 @@ Source.prototype = { this.title = this.app.get_name(); else this.useNotificationIcon = true; - this._isTrayIcon = false; + this._trayIcon = null; }, notify: function(notification, icon) { @@ -452,6 +453,18 @@ Source.prototype = { MessageTray.Source.prototype.notify.call(this, notification); }, + handleSummaryClick: function() { + if (!this._trayIcon) + return false; + + let event = Clutter.get_current_event(); + if (event.type() != Clutter.EventType.BUTTON_RELEASE) + return false; + + this._trayIcon.click(event); + return true; + }, + _setApp: function() { if (this.app) return; @@ -466,7 +479,7 @@ Source.prototype = { // Only override the icon if we were previously using // notification-based icons (ie, not a trayicon) or if it was unset before - if (!this._isTrayIcon) { + if (!this._trayIcon) { this.useNotificationIcon = false; this._setSummaryIcon(this.app.create_icon_texture (this.ICON_SIZE)); } @@ -475,7 +488,7 @@ Source.prototype = { setTrayIcon: function(icon) { this._setSummaryIcon(icon); this.useNotificationIcon = false; - this._isTrayIcon = true; + this._trayIcon = icon; }, open: function(notification) { @@ -483,7 +496,7 @@ Source.prototype = { }, _notificationRemoved: function() { - if (!this._isTrayIcon) + if (!this._trayIcon) this.destroy(); }, diff --git a/src/gnome-shell-plugin.c b/src/gnome-shell-plugin.c index 8bf7441be..b922ca39c 100644 --- a/src/gnome-shell-plugin.c +++ b/src/gnome-shell-plugin.c @@ -321,20 +321,28 @@ gnome_shell_plugin_xevent_filter (MetaPlugin *plugin, } #endif - /* When the pointer leaves the stage to enter a child of the stage - * (like a notification icon), we don't want to produce Clutter leave - * events. But Clutter treats all leave events identically, so we - * need hide the detail = NotifyInferior events from it. - * - * Since Clutter doesn't see any event at all, this does mean that - * it won't produce an enter event on a Clutter actor that surrounds - * the child (unless it gets a MotionNotify before the Enter event). - * Other weirdness is likely also possible. - */ if ((xev->xany.type == EnterNotify || xev->xany.type == LeaveNotify) - && xev->xcrossing.detail == NotifyInferior && xev->xcrossing.window == clutter_x11_get_stage_window (CLUTTER_STAGE (clutter_stage_get_default ()))) - return TRUE; + { + /* If the pointer enters a child of the stage window (eg, a + * trayicon), we want to consider it to still be in the stage, + * so don't let Clutter see the event. + */ + if (xev->xcrossing.detail == NotifyInferior) + return TRUE; + + /* If the pointer is grabbed by a window it is not currently in, + * filter that out as well. In particular, if a trayicon grabs + * the pointer after a click on its label, we don't want to hide + * the message tray. Filtering out this event will leave Clutter + * out of sync, but that happens fairly often with grabs, and we + * can work around it. (Eg, shell_global_sync_pointer().) + */ + if (xev->xcrossing.mode == NotifyGrab && + (xev->xcrossing.detail == NotifyNonlinear || + xev->xcrossing.detail == NotifyNonlinearVirtual)) + return TRUE; + } /* * Pass the event to shell-global diff --git a/src/shell-tray-icon.c b/src/shell-tray-icon.c index 079a48e51..08bffa8b7 100644 --- a/src/shell-tray-icon.c +++ b/src/shell-tray-icon.c @@ -165,3 +165,76 @@ shell_tray_icon_new (ShellEmbeddedWindow *window) "window", window, NULL); } + +/** + * shell_tray_icon_click: + * @icon: a #ShellTrayIcon + * @event: the #ClutterEvent triggering the fake click + * + * Fakes a press and release on @icon. @event must be a + * %CLUTTER_BUTTON_RELEASE event. Its relevant details will be passed + * on to the icon, but its coordinates will be ignored; the click is + * always made on the center of @icon. + */ +void +shell_tray_icon_click (ShellTrayIcon *icon, + ClutterEvent *event) +{ + XButtonEvent xbevent; + XCrossingEvent xcevent; + GdkWindow *remote_window; + GdkScreen *screen; + int x_root, y_root; + Display *xdisplay; + Window xwindow, xrootwindow; + + g_return_if_fail (clutter_event_type (event) == CLUTTER_BUTTON_RELEASE); + + gdk_error_trap_push (); + + remote_window = gtk_socket_get_plug_window (GTK_SOCKET (icon->priv->socket)); + xwindow = GDK_WINDOW_XID (remote_window); + xdisplay = GDK_WINDOW_XDISPLAY (remote_window); + screen = gdk_window_get_screen (remote_window); + xrootwindow = GDK_WINDOW_XID (gdk_screen_get_root_window (screen)); + gdk_window_get_origin (remote_window, &x_root, &y_root); + + /* First make the icon believe the pointer is inside it */ + xcevent.type = EnterNotify; + xcevent.window = xwindow; + xcevent.root = xrootwindow; + xcevent.subwindow = None; + xcevent.time = clutter_event_get_time (event); + xcevent.x = gdk_window_get_width (remote_window) / 2; + xcevent.y = gdk_window_get_height (remote_window) / 2; + xcevent.x_root = x_root + xcevent.x; + xcevent.y_root = y_root + xcevent.y; + xcevent.mode = NotifyNormal; + xcevent.detail = NotifyNonlinear; + xcevent.same_screen = True; + XSendEvent (xdisplay, xwindow, False, 0, (XEvent *)&xcevent); + + /* Now do the click */ + xbevent.type = ButtonPress; + xbevent.window = xwindow; + xbevent.root = xrootwindow; + xbevent.subwindow = None; + xbevent.time = xcevent.time; + xbevent.x = xcevent.x; + xbevent.y = xcevent.y; + xbevent.x_root = xcevent.x_root; + xbevent.y_root = xcevent.y_root; + xbevent.state = clutter_event_get_state (event); + xbevent.button = clutter_event_get_button (event); + xbevent.same_screen = True; + XSendEvent (xdisplay, xwindow, False, 0, (XEvent *)&xbevent); + + xbevent.type = ButtonRelease; + XSendEvent (xdisplay, xwindow, False, 0, (XEvent *)&xbevent); + + /* And move the pointer back out */ + xcevent.type = LeaveNotify; + XSendEvent (xdisplay, xwindow, False, 0, (XEvent *)&xcevent); + + gdk_error_trap_pop_ignored (); +} diff --git a/src/shell-tray-icon.h b/src/shell-tray-icon.h index 88e2a1406..565b3060a 100644 --- a/src/shell-tray-icon.h +++ b/src/shell-tray-icon.h @@ -31,4 +31,7 @@ struct _ShellTrayIconClass GType shell_tray_icon_get_type (void) G_GNUC_CONST; ClutterActor *shell_tray_icon_new (ShellEmbeddedWindow *window); +void shell_tray_icon_click (ShellTrayIcon *icon, + ClutterEvent *event); + #endif /* __SHELL_TRAY_ICON_H__ */ From 2782011ce8f79e4f4acbd8a4f4b64817bbca177b Mon Sep 17 00:00:00 2001 From: Dan Winship Date: Wed, 19 Jan 2011 10:29:50 -0500 Subject: [PATCH 109/203] shell-global: try to resync the pointer state after grabs If the pointer moves on or off the stage while another process has a grab, we will lose track of it. One example of this is that if you use a popup menu from a message tray trayicon, the tray will stay up after the menu goes away, because the shell never saw the pointer leave it. Add a new method shell_global_sync_pointer() that causes clutter to recheck what actor is under the pointer and generate leave/enter events if appropriate. Of course, we can't actually tell for sure when another process has a grab, so we need a heuristic of when to call this. Currently we call it from Chrome._windowsRestacked(), which is not really the right thing at all, but does fix the menu-from-trayicon case... https://bugzilla.gnome.org/show_bug.cgi?id=630842 --- js/ui/chrome.js | 5 +++++ src/shell-global.c | 42 ++++++++++++++++++++++++++++++++++++++++++ src/shell-global.h | 9 +++++---- 3 files changed, 52 insertions(+), 4 deletions(-) diff --git a/js/ui/chrome.js b/js/ui/chrome.js index 32b8f04f4..27779fcf3 100644 --- a/js/ui/chrome.js +++ b/js/ui/chrome.js @@ -335,6 +335,11 @@ Chrome.prototype = { this._updateVisibility(); this._queueUpdateRegions(); } + + // Figure out where the pointer is in case we lost track of + // it during a grab. (In particular, if a trayicon popup menu + // is dismissed, see if we need to close the message tray.) + global.sync_pointer(); }, _updateRegions: function() { diff --git a/src/shell-global.c b/src/shell-global.c index 32836cba5..44f4aff66 100644 --- a/src/shell-global.c +++ b/src/shell-global.c @@ -1490,6 +1490,48 @@ shell_global_get_pointer (ShellGlobal *global, *mods = raw_mods & GDK_MODIFIER_MASK; } +/** + * shell_global_sync_pointer: + * @global: the #ShellGlobal + * + * Ensures that clutter is aware of the current pointer position, + * causing enter and leave events to be emitted if the pointer moved + * behind our back (ie, during a pointer grab). + */ +void +shell_global_sync_pointer (ShellGlobal *global) +{ + int x, y; + GdkModifierType mods; + ClutterMotionEvent event; + + gdk_display_get_pointer (gdk_display_get_default (), NULL, &x, &y, &mods); + + event.type = CLUTTER_MOTION; + event.time = shell_global_get_current_time (global); + event.flags = 0; + /* This is wrong: we should be setting event.stage to NULL if the + * pointer is not inside the bounds of the stage given the current + * stage_input_mode. For our current purposes however, this works. + */ + event.stage = CLUTTER_STAGE (meta_plugin_get_stage (global->plugin)); + event.x = x; + event.y = y; + event.modifier_state = mods; + event.axes = NULL; + event.device = clutter_device_manager_get_core_device (clutter_device_manager_get_default (), + CLUTTER_POINTER_DEVICE); + + /* Leaving event.source NULL will force clutter to look it up, which + * will generate enter/leave events as a side effect, if they are + * needed. We need a better way to do this though... see + * http://bugzilla.clutter-project.org/show_bug.cgi?id=2615. + */ + event.source = NULL; + + clutter_event_put ((ClutterEvent *)&event); +} + /** * shell_get_event_state: * @event: a #ClutterEvent diff --git a/src/shell-global.h b/src/shell-global.h index 40f9a8f9b..cda10e455 100644 --- a/src/shell-global.h +++ b/src/shell-global.h @@ -103,10 +103,11 @@ MetaRectangle *shell_global_get_primary_monitor (ShellGlobal *global); int shell_global_get_primary_monitor_index (ShellGlobal *global); MetaRectangle *shell_global_get_focus_monitor (ShellGlobal *global); -void shell_global_get_pointer (ShellGlobal *global, - int *x, - int *y, - ClutterModifierType *mods); +void shell_global_get_pointer (ShellGlobal *global, + int *x, + int *y, + ClutterModifierType *mods); +void shell_global_sync_pointer (ShellGlobal *global); GSettings *shell_global_get_settings (ShellGlobal *global); From 22bfd4f7c3e2e0f208f143c9939b7edbc5ddefbd Mon Sep 17 00:00:00 2001 From: Dan Winship Date: Wed, 16 Mar 2011 13:16:38 -0400 Subject: [PATCH 110/203] notificationDaemon: handle trayicon clicks in the overview If the user clicks a trayicon in the overview, drop out of the overview before passing the click on to the icon. (We have to actually wait for the overview animation to complete, in case the icon wants to get a pointer grab, which it would not be able to do with the overview active.) https://bugzilla.gnome.org/show_bug.cgi?id=641853 --- js/ui/notificationDaemon.js | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/js/ui/notificationDaemon.js b/js/ui/notificationDaemon.js index c3c1e34b7..2a59d9833 100644 --- a/js/ui/notificationDaemon.js +++ b/js/ui/notificationDaemon.js @@ -461,7 +461,18 @@ Source.prototype = { if (event.type() != Clutter.EventType.BUTTON_RELEASE) return false; - this._trayIcon.click(event); + if (Main.overview.visible) { + // We can't just connect to Main.overview's 'hidden' signal, + // because it's emitted *before* it calls popModal()... + let id = global.connect('notify::stage-input-mode', Lang.bind(this, + function () { + global.disconnect(id); + this._trayIcon.click(event); + })); + Main.overview.hide(); + } else { + this._trayIcon.click(event); + } return true; }, From fd3f2289c353249b5856daf22b600d498701a077 Mon Sep 17 00:00:00 2001 From: Colin Walters Date: Mon, 21 Mar 2011 15:45:51 -0400 Subject: [PATCH 111/203] gnome-shell.desktop: Set autorestart flag This is the last ditch 3.0 plan for error handling. See https://bugzilla.gnome.org/show_bug.cgi?id=645251 https://bugzilla.gnome.org/show_bug.cgi?id=645451 --- data/gnome-shell.desktop.in.in | 1 + 1 file changed, 1 insertion(+) diff --git a/data/gnome-shell.desktop.in.in b/data/gnome-shell.desktop.in.in index e64364ac1..6d04a0a11 100644 --- a/data/gnome-shell.desktop.in.in +++ b/data/gnome-shell.desktop.in.in @@ -13,3 +13,4 @@ NoDisplay=true X-GNOME-Autostart-Phase=WindowManager X-GNOME-Provides=panel;windowmanager; X-GNOME-Autostart-Notify=true +X-GNOME-AutoRestart=true From 1518dc9b604c69597a42058551e34d36d22c5bc4 Mon Sep 17 00:00:00 2001 From: Alexander Larsson Date: Fri, 18 Mar 2011 13:27:06 +0100 Subject: [PATCH 112/203] Add pointer barriers to panel and message tray If you have XFixes 5 (and corresponding xserver support) then we add barriers on the panel and in the message tray corner so that its easy to reach the corners even when there are monitors to the sides of the primary monitor. https://bugzilla.gnome.org/show_bug.cgi?id=622655 --- js/ui/messageTray.js | 10 ++++++++ js/ui/panel.js | 16 +++++++++++++ src/shell-global.c | 55 ++++++++++++++++++++++++++++++++++++++++++++ src/shell-global.h | 6 +++++ 4 files changed, 87 insertions(+) diff --git a/js/ui/messageTray.js b/js/ui/messageTray.js index e34d69350..ea21d494d 100644 --- a/js/ui/messageTray.js +++ b/js/ui/messageTray.js @@ -1030,6 +1030,7 @@ MessageTray.prototype = { this._clickedSummaryItemAllocationChangedId = 0; this._expandedSummaryItem = null; this._summaryItemTitleWidth = 0; + this._pointerBarrier = 0; // To simplify the summary item animation code, we pretend // that there's an invisible SummaryItem to the left of the @@ -1119,6 +1120,15 @@ MessageTray.prototype = { this._notificationBin.width = primary.width; this._summaryBin.x = 0; this._summaryBin.width = primary.width; + + if (this._pointerBarrier) + global.destroy_pointer_barrier(this._pointerBarrier); + this._pointerBarrier = + global.create_pointer_barrier(primary.x + primary.width, primary.y + primary.height - this.actor.height, + primary.x + primary.width, primary.y + primary.height, + 4 /* BarrierNegativeX */); + + }, contains: function(source) { diff --git a/js/ui/panel.js b/js/ui/panel.js index c064245af..a75cf3db2 100644 --- a/js/ui/panel.js +++ b/js/ui/panel.js @@ -789,6 +789,8 @@ Panel.prototype = { this.actor.remove_style_class_name('in-overview'); })); + this._leftPointerBarrier = 0; + this._rightPointerBarrier = 0; this._menus = new PopupMenu.PopupMenuManager(this); this._leftBox = new St.BoxLayout({ name: 'panelLeft' }); @@ -1051,6 +1053,20 @@ Panel.prototype = { this.actor.set_position(primary.x, primary.y); this.actor.set_size(primary.width, -1); + if (this._leftPointerBarrier) + global.destroy_pointer_barrier(this._leftPointerBarrier); + if (this._rightPointerBarrier) + global.destroy_pointer_barrier(this._rightPointerBarrier); + + this._leftPointerBarrier = + global.create_pointer_barrier(primary.x, primary.y, + primary.x, primary.y + this.actor.height, + 1 /* BarrierPositiveX */); + this._rightPointerBarrier = + global.create_pointer_barrier(primary.x + primary.width, primary.y, + primary.x + primary.width, primary.y + this.actor.height, + 4 /* BarrierNegativeX */); + this._leftCorner.relayout(); this._rightCorner.relayout(); }, diff --git a/src/shell-global.c b/src/shell-global.c index 44f4aff66..dcedf43f2 100644 --- a/src/shell-global.c +++ b/src/shell-global.c @@ -884,6 +884,61 @@ shell_global_display_is_grabbed (ShellGlobal *global) return meta_display_get_grab_op (display) != META_GRAB_OP_NONE; } +/** + * shell_global_create_pointer_barrier + * @global: a #ShellGlobal + * @x1: left X coordinate + * @y1: top Y coordinate + * @x2: right X coordinate + * @y2: bottom Y coordinate + * @directions: The directions we're allowed to pass through + * + * If supported by X creates a pointer barrier. + * + * Return value: value you can pass to shell_global_destroy_pointer_barrier() + */ +guint32 +shell_global_create_pointer_barrier (ShellGlobal *global, + int x1, int y1, int x2, int y2, + int directions) +{ +#if XFIXES_MAJOR >= 5 + Display *xdpy; + + xdpy = meta_plugin_get_xdisplay (global->plugin); + + return (guint32) + XFixesCreatePointerBarrier (xdpy, DefaultRootWindow(xdpy), + x1, y1, + x2, y2, + directions, + 0, NULL); +#else + return 0; +#endif +} + +/** + * shell_global_destroy_pointer_barrier + * @global: a #ShellGlobal + * @barrier: a pointer barrier + * + * Destroys the @barrier created by shell_global_create_pointer_barrier(). + */ +void +shell_global_destroy_pointer_barrier (ShellGlobal *global, guint32 barrier) +{ +#if XFIXES_MAJOR >= 5 + Display *xdpy; + + g_return_if_fail (barrier > 0); + + xdpy = meta_plugin_get_xdisplay (global->plugin); + XFixesDestroyPointerBarrier (xdpy, (PointerBarrier)barrier); +#endif +} + + /** * shell_global_add_extension_importer: * @target_object_script: JavaScript code evaluating to a target object diff --git a/src/shell-global.h b/src/shell-global.h index cda10e455..6e16abee9 100644 --- a/src/shell-global.h +++ b/src/shell-global.h @@ -103,6 +103,12 @@ MetaRectangle *shell_global_get_primary_monitor (ShellGlobal *global); int shell_global_get_primary_monitor_index (ShellGlobal *global); MetaRectangle *shell_global_get_focus_monitor (ShellGlobal *global); +guint32 shell_global_create_pointer_barrier (ShellGlobal *global, + int x1, int y1, int x2, int y2, + int directions); +void shell_global_destroy_pointer_barrier (ShellGlobal *global, + guint32 barrier); + void shell_global_get_pointer (ShellGlobal *global, int *x, int *y, From 30346884fe498b5c1c588249c26c11cad15655dd Mon Sep 17 00:00:00 2001 From: Phil Bull Date: Mon, 21 Mar 2011 11:51:22 -0400 Subject: [PATCH 113/203] Update terminology from "panel" to "top bar" when Ctrl+Alt+Tab is pressed. This is the term recommended for use by the Documentation Team. --- js/ui/panel.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/js/ui/panel.js b/js/ui/panel.js index a75cf3db2..5ef212a93 100644 --- a/js/ui/panel.js +++ b/js/ui/panel.js @@ -974,7 +974,7 @@ Panel.prototype = { affectsStruts: false, affectsInputRegion: false }); - Main.ctrlAltTabManager.addGroup(this.actor, _("Panel"), 'start-here', + Main.ctrlAltTabManager.addGroup(this.actor, _("Top Bar"), 'start-here', { sortGroup: CtrlAltTab.SortGroup.TOP }); }, From d38f41a459e3ce8bc11aeeca1efae443df49f73b Mon Sep 17 00:00:00 2001 From: Maxim Ermilov Date: Mon, 31 Jan 2011 02:04:56 +0300 Subject: [PATCH 114/203] dnd: If needed, destroy _dragActor in _cancelDrag In the case where the original actor is destroyed, we don't show a snap back animation, so we need to destroy drag actor as we would do in _onAnimationComplete. https://bugzilla.gnome.org/show_bug.cgi?id=640781 --- js/ui/dnd.js | 3 +++ 1 file changed, 3 insertions(+) diff --git a/js/ui/dnd.js b/js/ui/dnd.js index 46d32fdd3..46440d6ff 100644 --- a/js/ui/dnd.js +++ b/js/ui/dnd.js @@ -507,6 +507,9 @@ _Draggable.prototype = { if (!this._buttonDown) this._dragComplete(); this.emit('drag-end', eventTime, false); + if (!this._dragOrigParent) + this._dragActor.destroy(); + return; } From b16de0e374fd607bf1f5fbe94b236750c30514d0 Mon Sep 17 00:00:00 2001 From: "Jasper St. Pierre" Date: Sat, 19 Mar 2011 19:36:17 -0400 Subject: [PATCH 115/203] Fix workspaces accumulating on each restart. Main._nWorkspacesChanged was racing with Main._checkWorkspaces. If _checkWorkspaces won the race, _workspaces was uninitialized. Because of this, _checkWorkspaces only noticed workspaces with windows on them, leading it to believe the last workspace wasn't empty, and added a new, empty workspace. https://bugzilla.gnome.org/show_bug.cgi?id=645343 --- js/ui/main.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/js/ui/main.js b/js/ui/main.js index 47dadef3b..155cdb299 100644 --- a/js/ui/main.js +++ b/js/ui/main.js @@ -223,7 +223,7 @@ function start() { global.screen.connect('window-entered-monitor', _windowEnteredMonitor); global.screen.connect('window-left-monitor', _windowLeftMonitor); - Mainloop.idle_add(_nWorkspacesChanged); + _nWorkspacesChanged(); } let _workspaces = []; From c81c564941c7cf7a877fac732e4f709b8f3fd846 Mon Sep 17 00:00:00 2001 From: "Owen W. Taylor" Date: Mon, 21 Mar 2011 14:46:46 -0400 Subject: [PATCH 116/203] overview: Don't pick for every overlay Don't do an individual hover fixup for every window overlay, instead just use the new global.sync_hover() to fix up hovers once we have finished showing the overview. Based on a patch from Adel Gadllah https://bugzilla.gnome.org/show_bug.cgi?id=638613 --- js/ui/overview.js | 1 + js/ui/workspace.js | 6 ------ 2 files changed, 1 insertion(+), 6 deletions(-) diff --git a/js/ui/overview.js b/js/ui/overview.js index 34ebec541..40cd85272 100644 --- a/js/ui/overview.js +++ b/js/ui/overview.js @@ -690,6 +690,7 @@ Overview.prototype = { this._animateNotVisible(); this._syncInputMode(); + global.sync_pointer(); }, _hideDone: function() { diff --git a/js/ui/workspace.js b/js/ui/workspace.js index 974893a27..be973b60e 100644 --- a/js/ui/workspace.js +++ b/js/ui/workspace.js @@ -394,12 +394,6 @@ WindowOverlay.prototype = { show: function() { this._hidden = false; - let [x, y, mask] = global.get_pointer(); - let actor = global.stage.get_actor_at_pos(Clutter.PickMode.REACTIVE, - x, y); - if (actor == this._windowClone.actor) { - this.closeButton.show(); - } this.title.show(); }, From c58b8498b354244524a4a9628f53a7d29e49c7fc Mon Sep 17 00:00:00 2001 From: "Jasper St. Pierre" Date: Fri, 11 Mar 2011 15:29:15 -0500 Subject: [PATCH 117/203] st: Add more error checking to shadow-related code The additional error checks should catch quite some warnings (e.g. when trying to create a shadow for a 0-width actor). --- src/st/st-label.c | 9 +++++---- src/st/st-private.c | 33 +++++++++++++++++++++------------ 2 files changed, 26 insertions(+), 16 deletions(-) diff --git a/src/st/st-label.c b/src/st/st-label.c index 53fd844b3..1d9b13d0e 100644 --- a/src/st/st-label.c +++ b/src/st/st-label.c @@ -243,10 +243,11 @@ st_label_paint (ClutterActor *actor) priv->text_shadow_material = material; } - _st_paint_shadow_with_opacity (shadow_spec, - priv->text_shadow_material, - &allocation, - clutter_actor_get_paint_opacity (priv->label)); + if (priv->text_shadow_material != COGL_INVALID_HANDLE) + _st_paint_shadow_with_opacity (shadow_spec, + priv->text_shadow_material, + &allocation, + clutter_actor_get_paint_opacity (priv->label)); } clutter_actor_paint (priv->label); diff --git a/src/st/st-private.c b/src/st/st-private.c index e265789ae..f97c2de7f 100644 --- a/src/st/st-private.c +++ b/src/st/st-private.c @@ -604,32 +604,41 @@ _st_create_shadow_material_from_actor (StShadow *shadow_spec, { CoglHandle buffer, offscreen; ClutterActorBox box; + CoglColor clear_color; float width, height; clutter_actor_get_allocation_box (actor, &box); clutter_actor_box_get_size (&box, &width, &height); + if (width == 0 || height == 0) + return COGL_INVALID_HANDLE; + 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; + offscreen = cogl_offscreen_new_to_texture (buffer); - if (offscreen != COGL_INVALID_HANDLE) + if (offscreen == COGL_INVALID_HANDLE) { - CoglColor clear_color; - - cogl_color_set_from_4ub (&clear_color, 0, 0, 0, 0); - cogl_push_framebuffer (offscreen); - cogl_clear (&clear_color, COGL_BUFFER_BIT_COLOR); - cogl_ortho (0, width, height, 0, 0, 1.0); - clutter_actor_paint (actor); - cogl_pop_framebuffer (); - cogl_handle_unref (offscreen); - - shadow_material = _st_create_shadow_material (shadow_spec, buffer); + cogl_handle_unref (buffer); + return COGL_INVALID_HANDLE; } + cogl_color_set_from_4ub (&clear_color, 0, 0, 0, 0); + cogl_push_framebuffer (offscreen); + cogl_clear (&clear_color, COGL_BUFFER_BIT_COLOR); + cogl_ortho (0, width, height, 0, 0, 1.0); + clutter_actor_paint (actor); + cogl_pop_framebuffer (); + cogl_handle_unref (offscreen); + + shadow_material = _st_create_shadow_material (shadow_spec, buffer); + cogl_handle_unref (buffer); } From 528fc9bc4766dd40f61bf045e1af8b5e9b2e4b23 Mon Sep 17 00:00:00 2001 From: Adel Gadllah Date: Mon, 21 Mar 2011 23:20:36 +0100 Subject: [PATCH 118/203] XDND: Allow workspace switching using the thumbnails Currently activating a window on a different workspace requires very long drag distances, which is very inconvenient to use. Fix that by allowing switching workspaces using the thumbnails which is consistent with window and launcher dnd and much easier to use. https://bugzilla.gnome.org/show_bug.cgi?id=643945 --- js/ui/overview.js | 4 +++- js/ui/workspaceThumbnail.js | 5 +++++ js/ui/workspacesView.js | 8 ++++++++ 3 files changed, 16 insertions(+), 1 deletion(-) diff --git a/js/ui/overview.js b/js/ui/overview.js index 40cd85272..351ba7c58 100644 --- a/js/ui/overview.js +++ b/js/ui/overview.js @@ -24,6 +24,7 @@ const PlaceDisplay = imports.ui.placeDisplay; const Tweener = imports.ui.tweener; const ViewSelector = imports.ui.viewSelector; const WorkspacesView = imports.ui.workspacesView; +const WorkspaceThumbnail = imports.ui.workspaceThumbnail; // Time for initial animation going into Overview mode const ANIMATION_TIME = 0.25; @@ -243,7 +244,8 @@ Overview.prototype = { _onDragMotion: function(dragEvent) { let targetIsWindow = dragEvent.targetActor && dragEvent.targetActor._delegate && - dragEvent.targetActor._delegate.metaWindow; + dragEvent.targetActor._delegate.metaWindow && + !(dragEvent.targetActor._delegate instanceof WorkspaceThumbnail.WindowClone); this._windowSwitchTimestamp = global.get_current_time(); diff --git a/js/ui/workspaceThumbnail.js b/js/ui/workspaceThumbnail.js index d6334c6b3..9d92f7b10 100644 --- a/js/ui/workspaceThumbnail.js +++ b/js/ui/workspaceThumbnail.js @@ -379,6 +379,11 @@ WorkspaceThumbnail.prototype = { // Draggable target interface handleDragOver : function(source, actor, x, y, time) { + if (source == Main.xdndHandler) { + this.metaWorkspace.activate(time); + return DND.DragMotionResult.CONTINUE; + } + if (this.state > ThumbnailState.NORMAL) return DND.DragMotionResult.CONTINUE; diff --git a/js/ui/workspacesView.js b/js/ui/workspacesView.js index f7250c649..f791f9fb4 100644 --- a/js/ui/workspacesView.js +++ b/js/ui/workspacesView.js @@ -598,6 +598,14 @@ WorkspacesDisplay.prototype = { this._updateAlwaysZoom(); global.screen.connect('monitors-changed', Lang.bind(this, this._updateAlwaysZoom)); + Main.xdndHandler.connect('drag-begin', Lang.bind(this, function(){ + this._alwaysZoomOut = true; + })); + + Main.xdndHandler.connect('drag-end', Lang.bind(this, function(){ + this._alwaysZoomOut = false; + this._updateAlwaysZoom(); + })); this._nWorkspacesNotifyId = 0; this._switchWorkspaceNotifyId = 0; From 9ef4cc0ab9e1ebb437859702be27945818b1e702 Mon Sep 17 00:00:00 2001 From: Maxim Ermilov Date: Tue, 22 Mar 2011 00:32:02 +0300 Subject: [PATCH 119/203] iconGrid: remove unused variable in _computeLayout https://bugzilla.gnome.org/show_bug.cgi?id=645313 --- js/ui/iconGrid.js | 1 - 1 file changed, 1 deletion(-) diff --git a/js/ui/iconGrid.js b/js/ui/iconGrid.js index 24556e233..3cdc712a7 100644 --- a/js/ui/iconGrid.js +++ b/js/ui/iconGrid.js @@ -282,7 +282,6 @@ IconGrid.prototype = { }, _computeLayout: function (forWidth) { - let children = this._grid.get_children(); let nColumns = 0; let usedWidth = 0; while ((this._colLimit == null || nColumns < this._colLimit) && From 12bd3744776ebdb52fef960b5d26cee22e5f9c08 Mon Sep 17 00:00:00 2001 From: Maxim Ermilov Date: Tue, 22 Mar 2011 01:53:07 +0300 Subject: [PATCH 120/203] searchDisplay: don't create useless SearchResult's average constructing time for 1 SearchResult is 3 ms. It give > 400 result on query like 'a' (on my machine). https://bugzilla.gnome.org/show_bug.cgi?id=645313 --- js/ui/iconGrid.js | 4 ++++ js/ui/searchDisplay.js | 35 +++++++++++++++++++++++++++++------ 2 files changed, 33 insertions(+), 6 deletions(-) diff --git a/js/ui/iconGrid.js b/js/ui/iconGrid.js index 3cdc712a7..c6deb1904 100644 --- a/js/ui/iconGrid.js +++ b/js/ui/iconGrid.js @@ -281,6 +281,10 @@ IconGrid.prototype = { } }, + childrenInRow: function(rowWidth) { + return this._computeLayout(rowWidth)[0]; + }, + _computeLayout: function (forWidth) { let nColumns = 0; let usedWidth = 0; diff --git a/js/ui/searchDisplay.js b/js/ui/searchDisplay.js index 81fd89b19..f3d463a94 100644 --- a/js/ui/searchDisplay.js +++ b/js/ui/searchDisplay.js @@ -5,6 +5,7 @@ const Lang = imports.lang; const Gettext = imports.gettext.domain('gnome-shell'); const _ = Gettext.gettext; const Gtk = imports.gi.Gtk; +const Meta = imports.gi.Meta; const St = imports.gi.St; const DND = imports.ui.dnd; @@ -104,8 +105,30 @@ GridSearchResults.prototype = { this._grid = new IconGrid.IconGrid({ rowLimit: MAX_SEARCH_RESULTS_ROWS, xAlign: St.Align.START }); this.actor = new St.Bin({ x_align: St.Align.START }); + this.actor.set_child(this._grid.actor); this.selectionIndex = -1; + this._width = 0; + this.actor.connect('notify::width', Lang.bind(this, function() { + this._width = this.actor.width; + Meta.later_add(Meta.LaterType.BEFORE_REDRAW, Lang.bind(this, function() { + this._tryAddResults(); + })); + })); + this._notDisplayedResult = []; + this._terms = []; + }, + + _tryAddResults: function() { + let canDisplay = this._grid.childrenInRow(this._width) * MAX_SEARCH_RESULTS_ROWS + - this._grid.visibleItemsCount(); + + for (let i = Math.min(this._notDisplayedResult.length, canDisplay); i > 0; i--) { + let result = this._notDisplayedResult.shift(); + let meta = this.provider.getResultMeta(result); + let display = new SearchResult(this.provider, meta, this._terms); + this._grid.addItem(display.actor); + } }, getVisibleResultCount: function() { @@ -113,15 +136,15 @@ GridSearchResults.prototype = { }, renderResults: function(results, terms) { - for (let i = 0; i < results.length; i++) { - let result = results[i]; - let meta = this.provider.getResultMeta(result); - let display = new SearchResult(this.provider, meta, terms); - this._grid.addItem(display.actor); - } + // copy the lists + this._notDisplayedResult = results.slice(0); + this._terms = terms.slice(0); + this._tryAddResults(); }, clear: function () { + this._terms = []; + this._notDisplayedResult = []; this._grid.removeAll(); this.selectionIndex = -1; }, From 7b5eacf671a6318300f55df74d6dfcab57886697 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Fran=20Di=C3=A9guez?= Date: Tue, 22 Mar 2011 00:53:01 +0100 Subject: [PATCH 121/203] Updated Galician translations --- po/gl.po | 77 +++++++++++++++++++++++++++++--------------------------- 1 file changed, 40 insertions(+), 37 deletions(-) diff --git a/po/gl.po b/po/gl.po index ff98d7c81..a79e5bc6f 100644 --- a/po/gl.po +++ b/po/gl.po @@ -10,8 +10,8 @@ msgid "" msgstr "" "Project-Id-Version: gnome-shell master\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2011-03-20 18:54+0100\n" -"PO-Revision-Date: 2011-03-20 18:54+0100\n" +"POT-Creation-Date: 2011-03-22 00:52+0100\n" +"PO-Revision-Date: 2011-03-22 00:52+0100\n" "Last-Translator: \n" "Language-Team: Galician \n" "Language: gl\n" @@ -191,27 +191,27 @@ msgid "Execution of '%s' failed:" msgstr "Produciuse un fallo na execución de «%s»:" #. Translators: Filter to display all applications -#: ../js/ui/appDisplay.js:226 +#: ../js/ui/appDisplay.js:230 msgid "All" msgstr "Todos" -#: ../js/ui/appDisplay.js:324 +#: ../js/ui/appDisplay.js:328 msgid "APPLICATIONS" msgstr "APLICATIVOS" -#: ../js/ui/appDisplay.js:350 +#: ../js/ui/appDisplay.js:354 msgid "SETTINGS" msgstr "CONFIGURACIÓN" -#: ../js/ui/appDisplay.js:616 +#: ../js/ui/appDisplay.js:620 msgid "New Window" msgstr "Xanela nova" -#: ../js/ui/appDisplay.js:619 +#: ../js/ui/appDisplay.js:623 msgid "Remove from Favorites" msgstr "Eliminar dos favoritos" -#: ../js/ui/appDisplay.js:620 +#: ../js/ui/appDisplay.js:624 msgid "Add to Favorites" msgstr "Engadir aos favoritos" @@ -371,7 +371,7 @@ msgstr "Esta semana" msgid "Next week" msgstr "A vindeira semana" -#: ../js/ui/dash.js:174 ../js/ui/messageTray.js:933 +#: ../js/ui/dash.js:174 ../js/ui/messageTray.js:944 msgid "Remove" msgstr "Eliminar" @@ -537,29 +537,29 @@ msgstr "Ver fonte" msgid "Web Page" msgstr "Páxina web" -#: ../js/ui/messageTray.js:926 +#: ../js/ui/messageTray.js:937 msgid "Open" msgstr "Abrir" -#: ../js/ui/messageTray.js:1986 +#: ../js/ui/messageTray.js:2008 msgid "System Information" msgstr "Información do sistema" -#: ../js/ui/overview.js:88 +#: ../js/ui/overview.js:89 msgid "Undo" msgstr "Desfacer" -#: ../js/ui/overview.js:183 +#: ../js/ui/overview.js:184 msgid "Windows" msgstr "Xanelas" -#: ../js/ui/overview.js:186 +#: ../js/ui/overview.js:187 msgid "Applications" msgstr "Aplicativos" #. Translators: this is the name of the dock/favorites area on #. the left of the overview -#: ../js/ui/overview.js:202 +#: ../js/ui/overview.js:203 msgid "Dash" msgstr "Panel" @@ -571,13 +571,13 @@ msgstr "Saír de %s" #. Button on the left side of the panel. #. Translators: If there is no suitable word for "Activities" in your language, you can use the word for "Overview". -#: ../js/ui/panel.js:874 +#: ../js/ui/panel.js:876 msgid "Activities" msgstr "Actividades" -#: ../js/ui/panel.js:975 -msgid "Panel" -msgstr "Panel" +#: ../js/ui/panel.js:977 +msgid "Top Bar" +msgstr "Barra superior" #: ../js/ui/placeDisplay.js:122 #, c-format @@ -605,51 +605,51 @@ msgstr "LUGARES E DISPOSITIVOS" msgid "toggle-switch-us" msgstr "toggle-switch-intl" -#: ../js/ui/runDialog.js:201 +#: ../js/ui/runDialog.js:205 msgid "Please enter a command:" msgstr "Insira unha orde:" -#: ../js/ui/searchDisplay.js:287 +#: ../js/ui/searchDisplay.js:310 msgid "Searching..." msgstr "Buscando..." -#: ../js/ui/searchDisplay.js:301 +#: ../js/ui/searchDisplay.js:324 msgid "No matching results." msgstr "Non hai resultados que coincidan." -#: ../js/ui/statusMenu.js:114 ../js/ui/statusMenu.js:178 +#: ../js/ui/statusMenu.js:161 ../js/ui/statusMenu.js:228 msgid "Power Off..." msgstr "Apagar…" -#: ../js/ui/statusMenu.js:116 ../js/ui/statusMenu.js:177 +#: ../js/ui/statusMenu.js:163 ../js/ui/statusMenu.js:227 msgid "Suspend" msgstr "Suspender" -#: ../js/ui/statusMenu.js:137 +#: ../js/ui/statusMenu.js:184 msgid "Available" msgstr "Dispoñíbel" -#: ../js/ui/statusMenu.js:142 +#: ../js/ui/statusMenu.js:189 msgid "Busy" msgstr "Ocupado" -#: ../js/ui/statusMenu.js:150 +#: ../js/ui/statusMenu.js:197 msgid "My Account" msgstr "A miña conta" -#: ../js/ui/statusMenu.js:154 +#: ../js/ui/statusMenu.js:201 msgid "System Settings" msgstr "Configuracións do sistema" -#: ../js/ui/statusMenu.js:161 +#: ../js/ui/statusMenu.js:208 msgid "Lock Screen" msgstr "Bloquear pantalla" -#: ../js/ui/statusMenu.js:165 +#: ../js/ui/statusMenu.js:213 msgid "Switch User" msgstr "Cambiar de usuario" -#: ../js/ui/statusMenu.js:170 +#: ../js/ui/statusMenu.js:218 msgid "Log Out..." msgstr "Saír da sesión…" @@ -1032,7 +1032,7 @@ msgstr "Tablet" msgid "Computer" msgstr "Computador" -#: ../js/ui/status/power.js:250 ../src/shell-app-system.c:961 +#: ../js/ui/status/power.js:250 ../src/shell-app-system.c:1088 msgid "Unknown" msgstr "Descoñecido" @@ -1125,32 +1125,32 @@ msgstr "Imprimir versión" msgid "Failed to launch '%s'" msgstr "Produciuse un fallo ao iniciar «%s»" -#: ../src/shell-global.c:1340 +#: ../src/shell-global.c:1395 msgid "Less than a minute ago" msgstr "Hai menos dun minuto" -#: ../src/shell-global.c:1344 +#: ../src/shell-global.c:1399 #, c-format msgid "%d minute ago" msgid_plural "%d minutes ago" msgstr[0] "hai %d minuto" msgstr[1] "hai %d minutos" -#: ../src/shell-global.c:1349 +#: ../src/shell-global.c:1404 #, c-format msgid "%d hour ago" msgid_plural "%d hours ago" msgstr[0] "hai %d hora" msgstr[1] "hai %d horas" -#: ../src/shell-global.c:1354 +#: ../src/shell-global.c:1409 #, c-format msgid "%d day ago" msgid_plural "%d days ago" msgstr[0] "hai %d día" msgstr[1] "hai %d días" -#: ../src/shell-global.c:1359 +#: ../src/shell-global.c:1414 #, c-format msgid "%d week ago" msgid_plural "%d weeks ago" @@ -1189,6 +1189,9 @@ msgstr "Sistema de ficheiros" msgid "%1$s: %2$s" msgstr "%1$s: %2$s" +#~ msgid "Panel" +#~ msgstr "Panel" + #~ msgid "No such application" #~ msgstr "Non existe o aplicativo" From 8282db456b9eac3a6a0afe727dfdf953e0bbf2dc Mon Sep 17 00:00:00 2001 From: Alexander Larsson Date: Thu, 17 Mar 2011 18:48:09 +0100 Subject: [PATCH 122/203] Use the new meta_window_move_to_monitor function https://bugzilla.gnome.org/show_bug.cgi?id=645032 --- js/ui/workspace.js | 2 +- js/ui/workspaceThumbnail.js | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/js/ui/workspace.js b/js/ui/workspace.js index be973b60e..3a07585ad 100644 --- a/js/ui/workspace.js +++ b/js/ui/workspace.js @@ -1401,7 +1401,7 @@ Workspace.prototype = { // the move itself could cause a workspace change if the window enters // the primary monitor if (metaWindow.get_monitor() != this.monitorIndex) - metaWindow.move_frame(true, this._x, this._y); + metaWindow.move_to_monitor(this.monitorIndex); let index = this.metaWorkspace ? this.metaWorkspace.index() : global.screen.get_active_workspace_index(); metaWindow.change_workspace_by_index(index, diff --git a/js/ui/workspaceThumbnail.js b/js/ui/workspaceThumbnail.js index 9d92f7b10..96fd52bc5 100644 --- a/js/ui/workspaceThumbnail.js +++ b/js/ui/workspaceThumbnail.js @@ -410,7 +410,7 @@ WorkspaceThumbnail.prototype = { // the move itself could cause a workspace change if the window enters // the primary monitor if (metaWindow.get_monitor() != this.monitorIndex) - metaWindow.move_frame(true, this._portholeX, this._portholeY); + metaWindow.move_to_monitor(this.monitorIndex); metaWindow.change_workspace_by_index(this.metaWorkspace.index(), false, // don't create workspace From 4118bf1a5ebbe4c8598579882ce6069f0a5d42e6 Mon Sep 17 00:00:00 2001 From: Luca Ferretti Date: Tue, 22 Mar 2011 01:36:40 +0100 Subject: [PATCH 123/203] Updated Italian translation --- po/it.po | 143 ++++++++++++++++++++++++++++--------------------------- 1 file changed, 73 insertions(+), 70 deletions(-) diff --git a/po/it.po b/po/it.po index ef0d85f6a..a556bdcb9 100644 --- a/po/it.po +++ b/po/it.po @@ -8,8 +8,8 @@ msgid "" msgstr "" "Project-Id-Version: gnome-shell\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2011-03-17 16:01+0100\n" -"PO-Revision-Date: 2011-03-17 16:03+0100\n" +"POT-Creation-Date: 2011-03-22 01:35+0100\n" +"PO-Revision-Date: 2011-03-22 01:36+0100\n" "Last-Translator: Luca Ferretti \n" "Language-Team: Italian \n" "Language: it\n" @@ -190,27 +190,27 @@ msgid "Execution of '%s' failed:" msgstr "Esecuzione di «%s» non riuscita:" #. Translators: Filter to display all applications -#: ../js/ui/appDisplay.js:226 +#: ../js/ui/appDisplay.js:230 msgid "All" msgstr "Tutte" -#: ../js/ui/appDisplay.js:324 +#: ../js/ui/appDisplay.js:328 msgid "APPLICATIONS" msgstr "APPLICAZIONI" -#: ../js/ui/appDisplay.js:350 +#: ../js/ui/appDisplay.js:354 msgid "SETTINGS" msgstr "IMPOSTAZIONI" -#: ../js/ui/appDisplay.js:612 +#: ../js/ui/appDisplay.js:620 msgid "New Window" msgstr "Nuova finestra" -#: ../js/ui/appDisplay.js:615 +#: ../js/ui/appDisplay.js:623 msgid "Remove from Favorites" msgstr "Rimuovi dai preferiti" -#: ../js/ui/appDisplay.js:616 +#: ../js/ui/appDisplay.js:624 msgid "Add to Favorites" msgstr "Aggiungi ai preferiti" @@ -372,7 +372,7 @@ msgstr "Questa settimana" msgid "Next week" msgstr "Prossima settimana" -#: ../js/ui/dash.js:174 ../js/ui/messageTray.js:933 +#: ../js/ui/dash.js:174 ../js/ui/messageTray.js:944 msgid "Remove" msgstr "Rimuovi" @@ -508,7 +508,7 @@ msgstr "Riavvio del sistema." msgid "Confirm" msgstr "Conferma" -#: ../js/ui/endSessionDialog.js:400 ../js/ui/status/bluetooth.js:465 +#: ../js/ui/endSessionDialog.js:400 ../js/ui/status/bluetooth.js:466 msgid "Cancel" msgstr "Annulla" @@ -544,11 +544,11 @@ msgstr "Visualizza sorgente" msgid "Web Page" msgstr "Pagina web" -#: ../js/ui/messageTray.js:926 +#: ../js/ui/messageTray.js:937 msgid "Open" msgstr "Apri" -#: ../js/ui/messageTray.js:1986 +#: ../js/ui/messageTray.js:2008 msgid "System Information" msgstr "Informazione di sistema" @@ -572,20 +572,20 @@ msgid "Dash" msgstr "Dash" #. TODO - _quit() doesn't really work on apps in state STARTING yet -#: ../js/ui/panel.js:514 +#: ../js/ui/panel.js:515 #, c-format msgid "Quit %s" msgstr "Chiudi %s" #. Button on the left side of the panel. #. Translators: If there is no suitable word for "Activities" in your language, you can use the word for "Overview". -#: ../js/ui/panel.js:873 +#: ../js/ui/panel.js:876 msgid "Activities" msgstr "Attività" -#: ../js/ui/panel.js:974 -msgid "Panel" -msgstr "Pannello" +#: ../js/ui/panel.js:977 +msgid "Top Bar" +msgstr "Barra superiore" # (ndt) libera, ma unmount non si può proprio vedere... #: ../js/ui/placeDisplay.js:122 @@ -614,51 +614,51 @@ msgstr "RISORSE E DISPOSITIVI" msgid "toggle-switch-us" msgstr "toggle-switch-us" -#: ../js/ui/runDialog.js:201 +#: ../js/ui/runDialog.js:205 msgid "Please enter a command:" msgstr "Inserire un comando:" -#: ../js/ui/searchDisplay.js:283 +#: ../js/ui/searchDisplay.js:287 msgid "Searching..." msgstr "Ricerca..." -#: ../js/ui/searchDisplay.js:297 +#: ../js/ui/searchDisplay.js:301 msgid "No matching results." msgstr "Nessun risultato corrispondente." -#: ../js/ui/statusMenu.js:114 ../js/ui/statusMenu.js:178 +#: ../js/ui/statusMenu.js:161 ../js/ui/statusMenu.js:228 msgid "Power Off..." msgstr "Spegni..." -#: ../js/ui/statusMenu.js:116 ../js/ui/statusMenu.js:177 +#: ../js/ui/statusMenu.js:163 ../js/ui/statusMenu.js:227 msgid "Suspend" msgstr "Sospendi" -#: ../js/ui/statusMenu.js:137 +#: ../js/ui/statusMenu.js:184 msgid "Available" msgstr "Disponibile" -#: ../js/ui/statusMenu.js:142 +#: ../js/ui/statusMenu.js:189 msgid "Busy" msgstr "Non disponibile" -#: ../js/ui/statusMenu.js:150 +#: ../js/ui/statusMenu.js:197 msgid "My Account" msgstr "Account personale" -#: ../js/ui/statusMenu.js:154 +#: ../js/ui/statusMenu.js:201 msgid "System Settings" msgstr "Impostazioni di sistema" -#: ../js/ui/statusMenu.js:161 +#: ../js/ui/statusMenu.js:208 msgid "Lock Screen" msgstr "Blocca schermo" -#: ../js/ui/statusMenu.js:165 +#: ../js/ui/statusMenu.js:213 msgid "Switch User" msgstr "Cambia utente" -#: ../js/ui/statusMenu.js:170 +#: ../js/ui/statusMenu.js:218 msgid "Log Out..." msgstr "Termina sessione..." @@ -704,9 +704,9 @@ msgstr "Contrasto elevato" msgid "Large Text" msgstr "Caratteri grandi" -#: ../js/ui/status/bluetooth.js:42 ../js/ui/status/bluetooth.js:236 -#: ../js/ui/status/bluetooth.js:332 ../js/ui/status/bluetooth.js:366 -#: ../js/ui/status/bluetooth.js:406 ../js/ui/status/bluetooth.js:439 +#: ../js/ui/status/bluetooth.js:42 ../js/ui/status/bluetooth.js:237 +#: ../js/ui/status/bluetooth.js:333 ../js/ui/status/bluetooth.js:367 +#: ../js/ui/status/bluetooth.js:407 ../js/ui/status/bluetooth.js:440 msgid "Bluetooth" msgstr "Bluetooth" @@ -729,94 +729,94 @@ msgstr "Impostazioni Bluetooth" # indica lo stato del device BT, per esempio gli auricolari # credo sia meglio l'aggettivo che il sostantivo -#: ../js/ui/status/bluetooth.js:187 +#: ../js/ui/status/bluetooth.js:188 msgid "Connection" msgstr "Collegato" -#: ../js/ui/status/bluetooth.js:223 +#: ../js/ui/status/bluetooth.js:224 msgid "Send Files..." msgstr "Invia file..." -#: ../js/ui/status/bluetooth.js:228 +#: ../js/ui/status/bluetooth.js:229 msgid "Browse Files..." msgstr "Esplora file..." -#: ../js/ui/status/bluetooth.js:237 +#: ../js/ui/status/bluetooth.js:238 msgid "Error browsing device" msgstr "Errore nell'esplorare il dispositivo" -#: ../js/ui/status/bluetooth.js:238 +#: ../js/ui/status/bluetooth.js:239 #, c-format msgid "The requested device cannot be browsed, error is '%s'" msgstr "Non è possibile esplorare il dispositivo richiesto, l'errore è «%s»" -#: ../js/ui/status/bluetooth.js:246 +#: ../js/ui/status/bluetooth.js:247 msgid "Keyboard Settings" msgstr "Impostazioni tastiera" -#: ../js/ui/status/bluetooth.js:251 +#: ../js/ui/status/bluetooth.js:252 msgid "Mouse Settings" msgstr "Impostazioni mouse" -#: ../js/ui/status/bluetooth.js:258 ../js/ui/status/volume.js:66 +#: ../js/ui/status/bluetooth.js:259 ../js/ui/status/volume.js:66 msgid "Sound Settings" msgstr "Impostazioni audio" -#: ../js/ui/status/bluetooth.js:367 +#: ../js/ui/status/bluetooth.js:368 #, c-format msgid "Authorization request from %s" msgstr "Richesta autorizzazione da %s" -#: ../js/ui/status/bluetooth.js:373 +#: ../js/ui/status/bluetooth.js:374 #, 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:375 +#: ../js/ui/status/bluetooth.js:376 msgid "Always grant access" msgstr "Consenti sempre accesso" -#: ../js/ui/status/bluetooth.js:376 +#: ../js/ui/status/bluetooth.js:377 msgid "Grant this time only" msgstr "Consenti solo stavolta" -#: ../js/ui/status/bluetooth.js:377 +#: ../js/ui/status/bluetooth.js:378 msgid "Reject" msgstr "Rifiuta" -#: ../js/ui/status/bluetooth.js:407 +#: ../js/ui/status/bluetooth.js:408 #, c-format msgid "Pairing confirmation for %s" msgstr "Conferma associazione per %s" -#: ../js/ui/status/bluetooth.js:413 ../js/ui/status/bluetooth.js:447 +#: ../js/ui/status/bluetooth.js:414 ../js/ui/status/bluetooth.js:448 #, 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:414 +#: ../js/ui/status/bluetooth.js:415 #, c-format msgid "Please confirm whether the PIN '%s' matches the one on the device." msgstr "Confermare la corrispondenza del PIN «%s» con quello sul dispositivo." -#: ../js/ui/status/bluetooth.js:416 +#: ../js/ui/status/bluetooth.js:417 msgid "Matches" msgstr "Corrisponde" -#: ../js/ui/status/bluetooth.js:417 +#: ../js/ui/status/bluetooth.js:418 msgid "Does not match" msgstr "Non corrisponde" -#: ../js/ui/status/bluetooth.js:440 +#: ../js/ui/status/bluetooth.js:441 #, c-format msgid "Pairing request for %s" msgstr "Richiesta associazione per %s" -#: ../js/ui/status/bluetooth.js:448 +#: ../js/ui/status/bluetooth.js:449 msgid "Please enter the PIN mentioned on the device." msgstr "Inserire il PIN indicato sul dispositivo." -#: ../js/ui/status/bluetooth.js:464 +#: ../js/ui/status/bluetooth.js:465 msgid "OK" msgstr "OK" @@ -921,40 +921,40 @@ msgstr "Connessioni VPN" msgid "Network Settings" msgstr "Impostazioni rete" -#: ../js/ui/status/network.js:1782 +#: ../js/ui/status/network.js:1783 #, c-format msgid "You're now connected to mobile broadband connection '%s'" msgstr "Connessi alla rete mobile «%s»" -#: ../js/ui/status/network.js:1786 +#: ../js/ui/status/network.js:1787 #, c-format msgid "You're now connected to wireless network '%s'" msgstr "Connessi alla rete wireless «%s»" -#: ../js/ui/status/network.js:1790 +#: ../js/ui/status/network.js:1791 #, c-format msgid "You're now connected to wired network '%s'" msgstr "Connessi alla rete via cavo «%s»" -#: ../js/ui/status/network.js:1794 +#: ../js/ui/status/network.js:1795 #, c-format msgid "You're now connected to VPN network '%s'" msgstr "Connessi alla rete VPN «%s»" -#: ../js/ui/status/network.js:1799 +#: ../js/ui/status/network.js:1800 #, c-format msgid "You're now connected to '%s'" msgstr "Connessi a «%s»" -#: ../js/ui/status/network.js:1807 +#: ../js/ui/status/network.js:1808 msgid "Connection established" msgstr "Connessione stabilita" -#: ../js/ui/status/network.js:1929 +#: ../js/ui/status/network.js:1930 msgid "Networking is disabled" msgstr "Rete disabilitata" -#: ../js/ui/status/network.js:2054 +#: ../js/ui/status/network.js:2055 msgid "Network Manager" msgstr "Gestore reti" @@ -1045,7 +1045,7 @@ msgstr "Tablet" msgid "Computer" msgstr "Computer" -#: ../js/ui/status/power.js:250 ../src/shell-app-system.c:961 +#: ../js/ui/status/power.js:250 ../src/shell-app-system.c:1088 msgid "Unknown" msgstr "Sconosciuto" @@ -1089,11 +1089,11 @@ msgstr "Inviato alle %-H.%M di %A" #. in the search entry when no search is #. active; it should not exceed ~30 #. characters. -#: ../js/ui/viewSelector.js:119 +#: ../js/ui/viewSelector.js:122 msgid "Type to search..." msgstr "Digitare per cercare..." -#: ../js/ui/viewSelector.js:139 ../src/shell-util.c:250 +#: ../js/ui/viewSelector.js:142 ../src/shell-util.c:250 msgid "Search" msgstr "Cerca" @@ -1134,37 +1134,37 @@ msgstr "Audio di sistema" msgid "Print version" msgstr "Stampa la versione" -#: ../src/shell-app.c:442 +#: ../src/shell-app.c:454 #, c-format msgid "Failed to launch '%s'" msgstr "Avvio di «%s» non riuscito" -#: ../src/shell-global.c:1340 +#: ../src/shell-global.c:1395 msgid "Less than a minute ago" msgstr "Meno di un minuto fa" -#: ../src/shell-global.c:1344 +#: ../src/shell-global.c:1399 #, c-format msgid "%d minute ago" msgid_plural "%d minutes ago" msgstr[0] "%d minuto fa" msgstr[1] "%d minuti fa" -#: ../src/shell-global.c:1349 +#: ../src/shell-global.c:1404 #, c-format msgid "%d hour ago" msgid_plural "%d hours ago" msgstr[0] "%d ora fa" msgstr[1] "%d ore fa" -#: ../src/shell-global.c:1354 +#: ../src/shell-global.c:1409 #, c-format msgid "%d day ago" msgid_plural "%d days ago" msgstr[0] "%d giorno fa" msgstr[1] "%d giorni fa" -#: ../src/shell-global.c:1359 +#: ../src/shell-global.c:1414 #, c-format msgid "%d week ago" msgid_plural "%d weeks ago" @@ -1206,6 +1206,9 @@ msgstr "File system" msgid "%1$s: %2$s" msgstr "%1$s: %2$s" +#~ msgid "Panel" +#~ msgstr "Pannello" + #~ msgid "No such application" #~ msgstr "Applicazione inesistente" From 33125e78c876be2672f044da159f1011ecab66f8 Mon Sep 17 00:00:00 2001 From: Vadim Girlin Date: Fri, 11 Mar 2011 10:42:20 -0500 Subject: [PATCH 124/203] Alt-F2: Avoid running programs multiple times Returning true from the event handler seems to avoid getting duplicate return events; these duplicate events likely are getting generated by IBus. https://bugzilla.gnome.org/show_bug.cgi?id=644509 --- js/ui/runDialog.js | 1 + 1 file changed, 1 insertion(+) diff --git a/js/ui/runDialog.js b/js/ui/runDialog.js index f239ec821..fdf6c4ed8 100644 --- a/js/ui/runDialog.js +++ b/js/ui/runDialog.js @@ -251,6 +251,7 @@ __proto__: ModalDialog.ModalDialog.prototype, if (!this.pushModal()) this.close(); } + return true; } if (symbol == Clutter.Escape) { this.close(); From 133b854f1bb657df55b709cad6df3e8ce103765d Mon Sep 17 00:00:00 2001 From: Maxim Ermilov Date: Thu, 17 Mar 2011 01:57:05 +0300 Subject: [PATCH 125/203] modalDialog: constrain container to the size of the stage The lightbox will be sized to the size of its parent container, so we need to make the parent container reliably the size of the stage, instead of letting it be auto-sized to the size of its contents. https://bugzilla.gnome.org/show_bug.cgi?id=644889 --- js/ui/modalDialog.js | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/js/ui/modalDialog.js b/js/ui/modalDialog.js index cba0b725b..4b891f5ea 100644 --- a/js/ui/modalDialog.js +++ b/js/ui/modalDialog.js @@ -45,6 +45,11 @@ ModalDialog.prototype = { x: 0, y: 0 }); Main.uiGroup.add_actor(this._group); + + let constraint = new Clutter.BindConstraint({ source: global.stage, + coordinate: Clutter.BindCoordinate.POSITION | Clutter.BindCoordinate.SIZE }); + this._group.add_constraint(constraint); + global.focus_manager.add_group(this._group); this._initialKeyFocus = this._group; this._savedKeyFocus = null; From d1ffd3cf3599d5dab5743848899e806bc7c58c7a Mon Sep 17 00:00:00 2001 From: Marina Zhurakhinskaya Date: Mon, 21 Mar 2011 21:22:02 -0400 Subject: [PATCH 126/203] MessageTray: style summary sources MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Make summary sources look more clickable and highlight them when selected. Highlighting the fully expanded summary source when selected matches the highlighting in the top bar items and teaches the user that any part of the expanded summary source can be clicked. Based on the initial patches by Florian Müllner and Jonathan Strander. https://bugzilla.gnome.org/show_bug.cgi?id=644788 --- data/Makefile.am | 1 + data/theme/gnome-shell.css | 33 +++++++++++-- data/theme/source-button-border.svg | 74 +++++++++++++++++++++++++++++ js/ui/messageTray.js | 18 +++++-- 4 files changed, 117 insertions(+), 9 deletions(-) create mode 100644 data/theme/source-button-border.svg diff --git a/data/Makefile.am b/data/Makefile.am index 990f2325e..b0477194c 100644 --- a/data/Makefile.am +++ b/data/Makefile.am @@ -49,6 +49,7 @@ dist_theme_DATA = \ theme/separator-white.png \ theme/single-view-active.svg \ theme/single-view.svg \ + theme/source-button-border.svg \ theme/toggle-off-us.svg \ theme/toggle-off-intl.svg \ theme/toggle-on-us.svg \ diff --git a/data/theme/gnome-shell.css b/data/theme/gnome-shell.css index 5cae9c23c..ccf3d91f3 100644 --- a/data/theme/gnome-shell.css +++ b/data/theme/gnome-shell.css @@ -971,7 +971,7 @@ StTooltip StLabel { #message-tray { background-gradient-direction: vertical; background-gradient-start: rgba(0,0,0,0.01); - background-gradient-end: rgba(0,0,0,0.95); + background-gradient-end: rgba(0,0,0,0.82); height: 36px; color: white; } @@ -1157,14 +1157,32 @@ StTooltip StLabel { padding: 2px 4px 0px 0px; } +.summary-source-button { + color: #fff; + text-shadow: black 0px 2px 2px; +} + .summary-source-button:ltr { - padding-left: 4px; - padding-right: 16px; + padding-right: 12px; +} + +.summary-source-button:selected .summary-source { + background-image: url("panel-button-highlight-narrow.svg"); + border-image: url("source-button-border.svg") 10 10 0 1; +} + +.summary-source-button:expanded:selected .summary-source { + background-image: none; + border-image: none; +} + +.summary-source-button:expanded:selected { + background-image: url("panel-button-highlight-wide.svg"); + border-image: url("source-button-border.svg") 10 10 0 1; } .summary-source-button:rtl { - padding-right: 4px; - padding-left: 16px; + padding-left: 12px; } .summary-source-button:last-child:ltr { @@ -1175,6 +1193,11 @@ StTooltip StLabel { padding-left: 12px; } +.summary-source { + padding-right: 4px; + padding-left: 4px; +} + .source-title { font-size: 9pt; font-weight: bold; diff --git a/data/theme/source-button-border.svg b/data/theme/source-button-border.svg new file mode 100644 index 000000000..6e5051ee9 --- /dev/null +++ b/data/theme/source-button-border.svg @@ -0,0 +1,74 @@ + + + + + + + + + + + + image/svg+xml + + + + + + + + + diff --git a/js/ui/messageTray.js b/js/ui/messageTray.js index ea21d494d..22d15c5dc 100644 --- a/js/ui/messageTray.js +++ b/js/ui/messageTray.js @@ -910,6 +910,7 @@ SummaryItem.prototype = { _init: function(source) { this.source = source; this.actor = new St.Button({ style_class: 'summary-source-button', + y_fill: true, reactive: true, button_mask: St.ButtonMask.ONE | St.ButtonMask.TWO | St.ButtonMask.THREE, track_hover: true }); @@ -926,8 +927,8 @@ SummaryItem.prototype = { this._sourceTitleBin.child = this._sourceTitle; this._sourceTitleBin.width = 0; - this._sourceBox.add_actor(this._sourceIcon); - this._sourceBox.add_actor(this._sourceTitleBin, { expand: true }); + this._sourceBox.add(this._sourceIcon, { y_fill: false }); + this._sourceBox.add(this._sourceTitleBin, { expand: true, y_fill: false }); this.actor.child = this._sourceBox; this.rightClickMenu = new St.BoxLayout({ name: 'summary-right-click-menu', vertical: true }); @@ -1331,12 +1332,18 @@ MessageTray.prototype = { // Turn off ellipsization for the previously expanded item that is // collapsing and for the item that is expanding because it looks // better that way. - if (this._expandedSummaryItem) + if (this._expandedSummaryItem) { + // Ideally, we would remove 'expanded' pseudo class when the item + // is done collapsing, but we don't track when that happens. + this._expandedSummaryItem.actor.remove_style_pseudo_class('expanded'); this._expandedSummaryItem.setEllipsization(Pango.EllipsizeMode.NONE); + } this._expandedSummaryItem = summaryItem; - if (this._expandedSummaryItem) + if (this._expandedSummaryItem) { + this._expandedSummaryItem.actor.add_style_pseudo_class('expanded'); this._expandedSummaryItem.setEllipsization(Pango.EllipsizeMode.NONE); + } // We tween on a "_expandedSummaryItemTitleWidth" pseudo-property // that represents the current title width of the @@ -1928,6 +1935,7 @@ MessageTray.prototype = { this._adjustSummaryBoxPointerPosition(); this._summaryBoxPointerState = State.SHOWING; + this._clickedSummaryItem.actor.add_style_pseudo_class('selected'); this._summaryBoxPointer.show(true, Lang.bind(this, function() { this._summaryBoxPointerState = State.SHOWN; })); @@ -1954,6 +1962,8 @@ MessageTray.prototype = { this._summaryRightClickMenuClickedId = 0; } + if (this._clickedSummaryItem) + this._clickedSummaryItem.actor.remove_style_pseudo_class('selected'); this._clickedSummaryItem = null; this._clickedSummaryItemMouseButton = -1; }, From 8798ec653d9f29af0f7fe80a90465557e24d98c6 Mon Sep 17 00:00:00 2001 From: Neha Doijode Date: Tue, 22 Mar 2011 02:56:04 +0530 Subject: [PATCH 127/203] NotificationDaemon: don't notify for resident notifications when application is focused The applications have to have a way of keeping resident notifications updated without unnecessarily notifying the user with the information the user is already seeing in the application window. https://bugzilla.gnome.org/show_bug.cgi?id=630847 --- js/ui/notificationDaemon.js | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/js/ui/notificationDaemon.js b/js/ui/notificationDaemon.js index 2a59d9833..e807af486 100644 --- a/js/ui/notificationDaemon.js +++ b/js/ui/notificationDaemon.js @@ -346,7 +346,7 @@ NotificationDaemon.prototype = { notification.setTransient(hints['transient'] == true); let sourceIconActor = source.useNotificationIcon ? this._iconForNotificationData(icon, hints, source.ICON_SIZE) : null; - source.notify(notification, sourceIconActor); + source.processNotification(notification, sourceIconActor); }, CloseNotification: function(id) { @@ -445,12 +445,17 @@ Source.prototype = { this._trayIcon = null; }, - notify: function(notification, icon) { + processNotification: function(notification, icon) { if (!this.app) this._setApp(); if (!this.app && icon) this._setSummaryIcon(icon); - MessageTray.Source.prototype.notify.call(this, notification); + + let tracker = Shell.WindowTracker.get_default(); + if (notification.resident && this.app && tracker.focus_app == this.app) + this.pushNotification(notification); + else + this.notify(notification); }, handleSummaryClick: function() { From 54e3a54489988dc51450a26376b49f918f0bd6f6 Mon Sep 17 00:00:00 2001 From: Giovanni Campagna Date: Sun, 7 Nov 2010 20:51:25 +0100 Subject: [PATCH 128/203] Transition the ShellApp state when ready. shell_app_state_transition emits a signal, so invoke it only when ready, or signal handlers will see an object which is in an invalid state. https://bugzilla.gnome.org/show_bug.cgi?id=632501 --- src/shell-app.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/shell-app.c b/src/shell-app.c index d3b00cff2..7dff44106 100644 --- a/src/shell-app.c +++ b/src/shell-app.c @@ -780,9 +780,6 @@ _shell_app_add_window (ShellApp *app, g_object_freeze_notify (G_OBJECT (app)); - if (app->state != SHELL_APP_STATE_STARTING) - shell_app_state_transition (app, SHELL_APP_STATE_RUNNING); - if (!app->running_state) create_running_state (app); @@ -795,6 +792,9 @@ _shell_app_add_window (ShellApp *app, if (user_time > app->running_state->last_user_time) app->running_state->last_user_time = user_time; + if (app->state != SHELL_APP_STATE_STARTING) + shell_app_state_transition (app, SHELL_APP_STATE_RUNNING); + g_object_thaw_notify (G_OBJECT (app)); g_signal_emit (app, shell_app_signals[WINDOWS_CHANGED], 0); From 02da366cc2c1b35a54dc2ff4ba4a0a5a89a389e0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Mattias=20P=C3=B5ldaru?= Date: Tue, 22 Mar 2011 10:25:46 +0200 Subject: [PATCH 129/203] [l10n] Updated Estonian translation --- po/et.po | 139 ++++++++++++++++++++++++++++++++++++++++++++++++++----- 1 file changed, 128 insertions(+), 11 deletions(-) diff --git a/po/et.po b/po/et.po index 609555d7f..ad03b0c42 100644 --- a/po/et.po +++ b/po/et.po @@ -13,8 +13,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: 2011-03-14 01:40+0000\n" -"PO-Revision-Date: 2011-03-14 12:53+0300\n" +"POT-Creation-Date: 2011-03-18 10:35+0000\n" +"PO-Revision-Date: 2011-03-18 21:33+0300\n" "Last-Translator: Mattias Põldaru \n" "Language-Team: Estonian \n" "Language: et\n" @@ -159,9 +159,6 @@ msgstr "Käsku ei leitud" msgid "Could not parse command:" msgstr "Käsku pole võimalik analüüsida:" -msgid "No such application" -msgstr "Sellist rakendust ei ole" - #, c-format msgid "Execution of '%s' failed:" msgstr "'%s' käivitamine nurjus:" @@ -540,12 +537,12 @@ msgstr "Logi välja..." msgid "Zoom" msgstr "Suurendus" -msgid "Screen Reader" -msgstr "Ekraanilugeja" - -msgid "Screen Keyboard" -msgstr "Ekraaniklaviatuur" - +#. let screenReader = this._buildItem(_("Screen Reader"), APPLICATIONS_SCHEMA, +#. 'screen-reader-enabled'); +#. this.menu.addMenuItem(screenReader); +#. let screenKeyboard = this._buildItem(_("Screen Keyboard"), APPLICATIONS_SCHEMA, +#. 'screen-keyboard-enabled'); +#. this.menu.addMenuItem(screenKeyboard); msgid "Visual Alerts" msgstr "Visuaalsed märguanded" @@ -661,6 +658,107 @@ msgstr "Klaviatuuripaigutuse kuvamine..." msgid "Localization Settings" msgstr "Lokaliseerimissätted" +msgid "" +msgstr "" + +#. Translators: this indicates that wireless or wwan is disabled by hardware killswitch +msgid "disabled" +msgstr "keelatud" + +msgid "connecting..." +msgstr "ühendumine..." + +#. Translators: this is for network connections that require some kind of key or password +msgid "authentication required" +msgstr "vajalik on autentimine" + +#. Translators: this is for wired network devices that are physically disconnected +msgid "cable unplugged" +msgstr "juhe eemaldatud" + +#. Translators: this is for a network device that cannot be activated (for example it +#. is disabled by rfkill, or it has no coverage +msgid "unavailable" +msgstr "pole saadaval" + +msgid "connection failed" +msgstr "ühendumine nurjus" + +#. TRANSLATORS: this is the indication that a connection for another logged in user is active, +#. and we cannot access its settings (including the name) +msgid "Connected (private)" +msgstr "Ühendatud (privaatne)" + +msgid "Auto Ethernet" +msgstr "Automaatne ethernet" + +msgid "Auto broadband" +msgstr "Automaatne lairibaühendus" + +msgid "Auto dial-up" +msgstr "Automaatne sissehelistamine" + +#. TRANSLATORS: this the automatic wireless connection name (including the network name) +#, c-format +msgid "Auto %s" +msgstr "Automaatne %s" + +msgid "Auto bluetooth" +msgstr "Automaatne bluetooth" + +msgid "Auto wireless" +msgstr "Automaatne juhtmeta ühendus" + +msgid "More..." +msgstr "Veel..." + +msgid "Enable networking" +msgstr "Luba võrguühendused" + +msgid "Wired" +msgstr "Juhtmega" + +msgid "Wireless" +msgstr "Juhtmeta" + +msgid "Mobile broadband" +msgstr "Mobiiliühendus" + +msgid "VPN Connections" +msgstr "VPN-ühendused" + +msgid "Network Settings" +msgstr "Võrgusätted" + +#, c-format +msgid "You're now connected to mobile broadband connection '%s'" +msgstr "Loodi mobiiliühendus '%s'" + +#, c-format +msgid "You're now connected to wireless network '%s'" +msgstr "Loodi ühendus juhtmeta võrguga '%s'" + +#, c-format +msgid "You're now connected to wired network '%s'" +msgstr "Loodi ühendus juhtmega võrguga '%s'" + +#, c-format +msgid "You're now connected to VPN network '%s'" +msgstr "Loodi ühendus VPN-võrguga '%s'" + +#, c-format +msgid "You're now connected to '%s'" +msgstr "Loodi võrguühendus '%s' kaudu" + +msgid "Connection estabilished" +msgstr "Ühendus loodud" + +msgid "Networking is disabled" +msgstr "Võrguühendused on keelatud" + +msgid "Network Manager" +msgstr "Võrguhaldur" + msgid "Power Settings" msgstr "Toitesätted..." @@ -801,6 +899,10 @@ msgstr "Süsteemi helid" msgid "Print version" msgstr "Printimise versioon" +#, c-format +msgid "Failed to launch '%s'" +msgstr "'%s' käivitamine nurjus" + msgid "Less than a minute ago" msgstr "Vähem kui minuti eest" @@ -828,6 +930,12 @@ msgid_plural "%d weeks ago" msgstr[0] "%d nädal tagasi" msgstr[1] "%d nädalat tagasi" +msgid "United Kingdom" +msgstr "Suurbritannia" + +msgid "Default" +msgstr "Vaikimisi" + msgid "Authentication dialog was dismissed by the user" msgstr "Kasutaja katkestas autentimisdialoogi" @@ -848,6 +956,15 @@ msgstr "Failisüsteem" msgid "%1$s: %2$s" msgstr "%1$s: %2$s" +#~ msgid "No such application" +#~ msgstr "Sellist rakendust ei ole" + +#~ msgid "Screen Reader" +#~ msgstr "Ekraanilugeja" + +#~ msgid "Screen Keyboard" +#~ msgstr "Ekraaniklaviatuur" + #~ msgid "Clip the crosshairs at the center" #~ msgstr "Niitristi keskel on auk" From e2cb6cc4da77d6c8a3719b7d850d74ad2eff21d0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Florian=20M=C3=BCllner?= Date: Fri, 4 Mar 2011 03:21:34 +0100 Subject: [PATCH 130/203] st-texture-cache: Request large thumbnails As of commit 34ce17c4b3, search results use large icons, or thumbnails when available. To keep the amount of upscaling for the latter as small as possible, request a large thumbnail size. https://bugzilla.gnome.org/show_bug.cgi?id=645493 --- src/st/st-texture-cache.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/st/st-texture-cache.c b/src/st/st-texture-cache.c index 8b46355a7..a87f495e4 100644 --- a/src/st/st-texture-cache.c +++ b/src/st/st-texture-cache.c @@ -143,7 +143,7 @@ st_texture_cache_init (StTextureCache *self) g_free, cogl_handle_unref); self->priv->outstanding_requests = g_hash_table_new_full (g_str_hash, g_str_equal, g_free, NULL); - self->priv->thumbnails = gnome_desktop_thumbnail_factory_new (GNOME_DESKTOP_THUMBNAIL_SIZE_NORMAL); + self->priv->thumbnails = gnome_desktop_thumbnail_factory_new (GNOME_DESKTOP_THUMBNAIL_SIZE_LARGE); } static void From 90c554ad421ea57a1856e79341979ba12cd5bb88 Mon Sep 17 00:00:00 2001 From: Chao-Hsiung Liao Date: Tue, 22 Mar 2011 19:43:17 +0800 Subject: [PATCH 131/203] Updated Traditional Chinese translation(Hong Kong and Taiwan) --- po/zh_HK.po | 845 +++++++++++++++++++++++---------------------------- po/zh_TW.po | 852 +++++++++++++++++++++++----------------------------- 2 files changed, 766 insertions(+), 931 deletions(-) diff --git a/po/zh_HK.po b/po/zh_HK.po index 325b119c7..8a05ae88a 100644 --- a/po/zh_HK.po +++ b/po/zh_HK.po @@ -6,10 +6,10 @@ # msgid "" msgstr "" -"Project-Id-Version: gnome-shell 2.91.6\n" +"Project-Id-Version: gnome-shell 2.91.91\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2011-02-04 13:12+0800\n" -"PO-Revision-Date: 2011-02-04 13:12+0800\n" +"POT-Creation-Date: 2011-03-22 19:42+0800\n" +"PO-Revision-Date: 2011-03-22 19:42+0800\n" "Last-Translator: Chao-Hsiung Liao \n" "Language-Team: Chinese (Hong Kong) \n" "Language: \n" @@ -55,22 +55,27 @@ msgid "History for command (Alt-F2) dialog" msgstr "指令 (Alt-F2) 對話盒歷史紀錄" #: ../data/org.gnome.shell.gschema.xml.in.h:7 +#, fuzzy +msgid "History for the looking glass dialog" +msgstr "指令 (Alt-F2) 對話盒歷史紀錄" + +#: ../data/org.gnome.shell.gschema.xml.in.h:8 msgid "If true, display date in the clock, in addition to time." msgstr "如設定為「true」,除了在時鐘內顯示日期外還顯示時刻。" -#: ../data/org.gnome.shell.gschema.xml.in.h:8 +#: ../data/org.gnome.shell.gschema.xml.in.h:9 msgid "If true, display seconds in time." msgstr "如設定為「true」,在時刻中顯示秒數。" -#: ../data/org.gnome.shell.gschema.xml.in.h:9 +#: ../data/org.gnome.shell.gschema.xml.in.h:10 msgid "If true, display the ISO week date in the calendar." msgstr "如果設為 true,在日曆中顯示 ISO 週數。" -#: ../data/org.gnome.shell.gschema.xml.in.h:10 +#: ../data/org.gnome.shell.gschema.xml.in.h:11 msgid "List of desktop file IDs for favorite applications" msgstr "喜好的應用程式桌面檔案 ID 清單" -#: ../data/org.gnome.shell.gschema.xml.in.h:12 +#: ../data/org.gnome.shell.gschema.xml.in.h:13 #, no-c-format msgid "" "Sets the GStreamer pipeline used to encode recordings. It follows the syntax " @@ -85,42 +90,42 @@ msgid "" "at the optimal thread count on the system." msgstr "設定用來錄製的 GStreamer 管線。它根據據 gst-launch 使用的語法。管線應該要有未連接的出口(sink pad),提供錄製視像之用。它通常會有未連接的入口(source pad);從出口輸出的資訊就寫入輸出檔案。然而管線本身也會處理它本身的輸出 - 習慣上是透過 shout2send 之類將輸出傳送到 icecast 伺服器。當取消設定或設定為空值時,就會使用預設的管線。這個值目前為 'videorate ! vp8enc quality=10 speed=2 threads=%T ! queue ! webmmux' 即使用 VP8 codec 錄製 WEBM。%T 是在系統的最佳化執行緒計數猜測時使用的佔位符。" -#: ../data/org.gnome.shell.gschema.xml.in.h:13 +#: ../data/org.gnome.shell.gschema.xml.in.h:14 msgid "Show date in clock" msgstr "在時鐘內顯示日期" -#: ../data/org.gnome.shell.gschema.xml.in.h:14 +#: ../data/org.gnome.shell.gschema.xml.in.h:15 msgid "Show the week date in the calendar" msgstr "在日曆中顯示週數" -#: ../data/org.gnome.shell.gschema.xml.in.h:15 +#: ../data/org.gnome.shell.gschema.xml.in.h:16 msgid "Show time with seconds" msgstr "在時刻中顯示秒數" -#: ../data/org.gnome.shell.gschema.xml.in.h:16 +#: ../data/org.gnome.shell.gschema.xml.in.h:17 msgid "" "The applications corresponding to these identifiers will be displayed in the " "favorites area." msgstr "對應這些辨別碼的應用程式會顯示在喜好區域。" -#: ../data/org.gnome.shell.gschema.xml.in.h:17 +#: ../data/org.gnome.shell.gschema.xml.in.h:18 msgid "" "The filename for recorded screencasts will be a unique filename based on the " "current date, and use this extension. It should be changed when recording to " "a different container format." msgstr "錄製好的畫面廣播檔案名稱會以目前的時刻作為獨特的檔名,並使用這個延伸檔名。當錄製為不同的容器格式時應該做適當更改。" -#: ../data/org.gnome.shell.gschema.xml.in.h:18 +#: ../data/org.gnome.shell.gschema.xml.in.h:19 msgid "" "The framerate of the resulting screencast recordered by GNOME Shell's " "screencast recorder in frames-per-second." msgstr "由 GNOME Shell 的畫面廣播錄製程式所錄製成果的框架率,以 frames-per-second 計。" -#: ../data/org.gnome.shell.gschema.xml.in.h:19 +#: ../data/org.gnome.shell.gschema.xml.in.h:20 msgid "The gstreamer pipeline used to encode the screencast" msgstr "用來編碼畫面廣播的 gstreamer 管線" -#: ../data/org.gnome.shell.gschema.xml.in.h:20 +#: ../data/org.gnome.shell.gschema.xml.in.h:21 msgid "" "The shell normally monitors active applications in order to present the most " "used ones (e.g. in launchers). While this data will be kept private, you may " @@ -128,184 +133,55 @@ msgid "" "remove already saved data." msgstr "這個 shell 通常會監控使用中的應用程式以便能顯示出最常使用的(例如,在程式執行器中)。雖然這個資料會保持隱密,但是你可能會基於私隱的理由想要停用這個功能。請注意這麼做並不會移除已儲存的資料。" -#: ../data/org.gnome.shell.gschema.xml.in.h:21 +#: ../data/org.gnome.shell.gschema.xml.in.h:22 msgid "Uuids of extensions to disable" msgstr "要停用的延伸檔名 Uuid" -#: ../data/org.gnome.shell.gschema.xml.in.h:22 +#: ../data/org.gnome.shell.gschema.xml.in.h:23 msgid "Whether to collect stats about applications usage" msgstr "是否收集關於應用程式使用率的狀態" -#: ../data/org.gnome.shell.gschema.xml.in.h:23 +#: ../data/org.gnome.shell.gschema.xml.in.h:24 msgid "disabled OpenSearch providers" msgstr "已停用 OpenSearch 提供者" -#: ../data/org.gnome.accessibility.magnifier.gschema.xml.in.h:1 -msgid "Clip the crosshairs at the center" -msgstr "點選中央的十字準星" - -#: ../data/org.gnome.accessibility.magnifier.gschema.xml.in.h:2 -msgid "Color of the crosshairs" -msgstr "十字準星的顏色" - -#: ../data/org.gnome.accessibility.magnifier.gschema.xml.in.h:3 -msgid "" -"Determines the length of the vertical and horizontal lines that make up the " -"crosshairs." -msgstr "決定組成十字準星的垂直和水平線條的長度。" - -#: ../data/org.gnome.accessibility.magnifier.gschema.xml.in.h:4 -msgid "" -"Determines the position of the magnified mouse image within the magnified " -"view and how it reacts to system mouse movement. The values are - none: no " -"mouse tracking; - centered: the mouse image is displayed at the center of " -"the zoom region (which also represents the point under the system mouse) and " -"the magnified contents are scrolled as the system mouse moves; - " -"proportional: the position of the magnified mouse in the zoom region is " -"proportionally the same as the position of the system mouse on screen; - " -"push: when the magnified mouse intersects a boundary of the zoom region, the " -"contents are scrolled into view." -msgstr "決定放大的滑鼠圖片在放大鏡檢 視中的位置以及它如何反應系統滑鼠的移動。數值有 - none: 不追蹤滑鼠;- centered: 滑鼠圖片顯示於放大區域的中央(也代表系統滑鼠下方的點)而放大的內容也會隨系統滑鼠移動而捲動;- proportional: 放大的滑鼠在縮放區域中的位置和系統滑鼠在螢幕中的位置是成比例的;- push: 當放大的滑鼠與縮放區域邊界交錯時,內容會捲動到檢視中。" - -#: ../data/org.gnome.accessibility.magnifier.gschema.xml.in.h:5 -msgid "" -"Determines the transparency of the crosshairs, from fully opaque to fully " -"transparent." -msgstr "決定十字準星的透明度,從完全不透明到完全透明。" - -#: ../data/org.gnome.accessibility.magnifier.gschema.xml.in.h:6 -msgid "" -"Determines whether the crosshairs intersect the magnified mouse sprite, or " -"are clipped such that the ends of the horizontal and vertical lines surround " -"the mouse image." -msgstr "" - -#: ../data/org.gnome.accessibility.magnifier.gschema.xml.in.h:7 -msgid "Enable lens mode" -msgstr "啟用鏡頭模式" - -#: ../data/org.gnome.accessibility.magnifier.gschema.xml.in.h:8 -msgid "" -"Enables/disables display of crosshairs centered on the magnified mouse " -"sprite." -msgstr "" - -#: ../data/org.gnome.accessibility.magnifier.gschema.xml.in.h:9 -msgid "" -"For centered mouse tracking, when the system pointer is at or near the edge " -"of the screen, the magnified contents continue to scroll such that the " -"screen edge moves into the magnified view." -msgstr "對於置中式的滑鼠追蹤,當系統指標位於或接近螢幕的邊緣時,放大的內容也會持續捲動,讓螢幕的邊緣移進放大的檢視範圍。" - -#: ../data/org.gnome.accessibility.magnifier.gschema.xml.in.h:10 -msgid "Length of the crosshairs" -msgstr "十字準星長度" - -#: ../data/org.gnome.accessibility.magnifier.gschema.xml.in.h:11 -msgid "Magnification factor" -msgstr "放大率" - -#: ../data/org.gnome.accessibility.magnifier.gschema.xml.in.h:12 -msgid "Mouse Tracking Mode" -msgstr "滑鼠追蹤模式" - -#: ../data/org.gnome.accessibility.magnifier.gschema.xml.in.h:13 -msgid "Opacity of the crosshairs" -msgstr "十字準星透明度" - -#: ../data/org.gnome.accessibility.magnifier.gschema.xml.in.h:14 -msgid "Screen position" -msgstr "螢幕位置" - -#: ../data/org.gnome.accessibility.magnifier.gschema.xml.in.h:15 -msgid "Scroll magnified contents beyond the edges of the desktop" -msgstr "在桌面邊緣時捲動放大的內容" - -#: ../data/org.gnome.accessibility.magnifier.gschema.xml.in.h:16 -msgid "Show or hide crosshairs" -msgstr "顯示或隱藏十字準星" - -#: ../data/org.gnome.accessibility.magnifier.gschema.xml.in.h:17 -msgid "Show or hide the magnifier" -msgstr "顯示或隱藏放大鏡" - -#: ../data/org.gnome.accessibility.magnifier.gschema.xml.in.h:18 -msgid "Show or hide the magnifier and all of its zoom regions." -msgstr "顯示或隱藏放大鏡和所有被它放大的區域。" - -#: ../data/org.gnome.accessibility.magnifier.gschema.xml.in.h:19 -msgid "" -"The color of the the vertical and horizontal lines that make up the " -"crosshairs." -msgstr "組成十字準星的垂直和水平線條的顏色。" - -#: ../data/org.gnome.accessibility.magnifier.gschema.xml.in.h:20 -msgid "" -"The magnified view either fills the entire screen, or occupies the top-half, " -"bottom-half, left-half, or right-half of the screen." -msgstr "放大的檢視要佔據整個螢幕,或是只佔螢幕的上半、下半、左半或右半邊。" - -#: ../data/org.gnome.accessibility.magnifier.gschema.xml.in.h:21 -msgid "" -"The power of the magnification. A value of 1.0 means no magnification. A " -"value of 2.0 doubles the size." -msgstr "放大的倍數。數值 1.0 表示不放大。數值 2.0 為放大兩倍。" - -#: ../data/org.gnome.accessibility.magnifier.gschema.xml.in.h:22 -msgid "Thickness of the crosshairs" -msgstr "十字準星厚度" - -#: ../data/org.gnome.accessibility.magnifier.gschema.xml.in.h:23 -msgid "" -"Whether the magnified view should be centered over the location of the " -"system mouse and move with it." -msgstr "放大的檢視是否應以系統滑鼠的位置為中心點並隨滑鼠移動。" - -#: ../data/org.gnome.accessibility.magnifier.gschema.xml.in.h:24 -msgid "Width of the vertical and horizontal lines that make up the crosshairs." -msgstr "組成十字準星的垂直和水平線條的闊度。" - -#: ../js/misc/util.js:86 +#: ../js/misc/util.js:71 msgid "Command not found" msgstr "找不到指令" #. Replace "Error invoking GLib.shell_parse_argv: " with #. something nicer -#: ../js/misc/util.js:113 +#: ../js/misc/util.js:98 msgid "Could not parse command:" msgstr "無法分析指令:" -#: ../js/misc/util.js:135 -msgid "No such application" -msgstr "沒有這個應用程式" - -#: ../js/misc/util.js:148 +#: ../js/misc/util.js:106 #, c-format msgid "Execution of '%s' failed:" msgstr "執行「%s」失敗:" #. Translators: Filter to display all applications -#: ../js/ui/appDisplay.js:164 +#: ../js/ui/appDisplay.js:230 msgid "All" msgstr "全部" -#: ../js/ui/appDisplay.js:245 +#: ../js/ui/appDisplay.js:328 msgid "APPLICATIONS" msgstr "程式集" -#: ../js/ui/appDisplay.js:275 -msgid "PREFERENCES" -msgstr "偏好設定" +#: ../js/ui/appDisplay.js:354 +msgid "SETTINGS" +msgstr "設定值" -#: ../js/ui/appDisplay.js:572 +#: ../js/ui/appDisplay.js:620 msgid "New Window" msgstr "新視窗" -#: ../js/ui/appDisplay.js:576 +#: ../js/ui/appDisplay.js:623 msgid "Remove from Favorites" msgstr "自喜好中移除" -#: ../js/ui/appDisplay.js:577 +#: ../js/ui/appDisplay.js:624 msgid "Add to Favorites" msgstr "加入喜好" @@ -322,86 +198,68 @@ msgstr "%s 已經從你的喜好中移除。" #. Translators: Shown in calendar event list for all day events #. * Keep it short, best if you can use less then 10 characters #. -#: ../js/ui/calendar.js:65 -#, fuzzy -#| msgid "All Day" +#: ../js/ui/calendar.js:66 msgctxt "event list time" msgid "All Day" msgstr "整天" #. Translators: Shown in calendar event list, if 24h format -#: ../js/ui/calendar.js:70 +#: ../js/ui/calendar.js:71 msgctxt "event list time" msgid "%H:%M" -msgstr "" +msgstr "%H:%M" #. Transators: Shown in calendar event list, if 12h format -#: ../js/ui/calendar.js:77 -#, fuzzy -#| msgid "%a %l:%M %p" +#: ../js/ui/calendar.js:78 msgctxt "event list time" msgid "%l:%M %p" -msgstr "%a %p %l:%M" +msgstr "%p %l:%M" #. Translators: Calendar grid abbreviation for Sunday. #. * #. * NOTE: These grid abbreviations are always shown together #. * and in order, e.g. "S M T W T F S". #. -#: ../js/ui/calendar.js:117 -#, fuzzy -#| msgid "S" +#: ../js/ui/calendar.js:118 msgctxt "grid sunday" msgid "S" msgstr "日" #. Translators: Calendar grid abbreviation for Monday -#: ../js/ui/calendar.js:119 -#, fuzzy -#| msgid "M" +#: ../js/ui/calendar.js:120 msgctxt "grid monday" msgid "M" msgstr "一" #. Translators: Calendar grid abbreviation for Tuesday -#: ../js/ui/calendar.js:121 -#, fuzzy -#| msgid "T" +#: ../js/ui/calendar.js:122 msgctxt "grid tuesday" msgid "T" msgstr "二" #. Translators: Calendar grid abbreviation for Wednesday -#: ../js/ui/calendar.js:123 -#, fuzzy -#| msgid "W" +#: ../js/ui/calendar.js:124 msgctxt "grid wednesday" msgid "W" msgstr "三" #. Translators: Calendar grid abbreviation for Thursday -#: ../js/ui/calendar.js:125 -#, fuzzy -#| msgid "T" +#: ../js/ui/calendar.js:126 msgctxt "grid thursday" msgid "T" -msgstr "二" +msgstr "四" #. Translators: Calendar grid abbreviation for Friday -#: ../js/ui/calendar.js:127 -#, fuzzy -#| msgid "F" +#: ../js/ui/calendar.js:128 msgctxt "grid friday" msgid "F" msgstr "五" #. Translators: Calendar grid abbreviation for Saturday -#: ../js/ui/calendar.js:129 -#, fuzzy -#| msgid "S" +#: ../js/ui/calendar.js:130 msgctxt "grid saturday" msgid "S" -msgstr "日" +msgstr "六" #. Translators: Event list abbreviation for Sunday. #. * @@ -409,99 +267,81 @@ msgstr "日" #. * so they need to be unique (e.g. Tuesday and Thursday cannot #. * both be 'T'). #. -#: ../js/ui/calendar.js:142 -#, fuzzy -#| msgid "Su" +#: ../js/ui/calendar.js:143 msgctxt "list sunday" msgid "Su" msgstr "日" #. Translators: Event list abbreviation for Monday -#: ../js/ui/calendar.js:144 -#, fuzzy -#| msgid "M" +#: ../js/ui/calendar.js:145 msgctxt "list monday" msgid "M" msgstr "一" #. Translators: Event list abbreviation for Tuesday -#: ../js/ui/calendar.js:146 -#, fuzzy -#| msgid "T" +#: ../js/ui/calendar.js:147 msgctxt "list tuesday" msgid "T" msgstr "二" #. Translators: Event list abbreviation for Wednesday -#: ../js/ui/calendar.js:148 -#, fuzzy -#| msgid "W" +#: ../js/ui/calendar.js:149 msgctxt "list wednesday" msgid "W" msgstr "三" #. Translators: Event list abbreviation for Thursday -#: ../js/ui/calendar.js:150 -#, fuzzy -#| msgid "Th" +#: ../js/ui/calendar.js:151 msgctxt "list thursday" msgid "Th" msgstr "四" #. Translators: Event list abbreviation for Friday -#: ../js/ui/calendar.js:152 -#, fuzzy -#| msgid "F" +#: ../js/ui/calendar.js:153 msgctxt "list friday" msgid "F" msgstr "五" #. Translators: Event list abbreviation for Saturday -#: ../js/ui/calendar.js:154 -#, fuzzy -#| msgid "S" +#: ../js/ui/calendar.js:155 msgctxt "list saturday" msgid "S" -msgstr "日" +msgstr "六" #. Translators: Text to show if there are no events -#: ../js/ui/calendar.js:701 +#: ../js/ui/calendar.js:704 msgid "Nothing Scheduled" msgstr "沒有預訂行程" #. Translators: Shown on calendar heading when selected day occurs on current year -#: ../js/ui/calendar.js:717 -#, fuzzy -#| msgid "%A %B %e, %Y" +#: ../js/ui/calendar.js:720 msgctxt "calendar heading" msgid "%A, %B %d" -msgstr "%Y %B %e %A" +msgstr "%B%d日%A" #. Translators: Shown on calendar heading when selected day occurs on different year -#: ../js/ui/calendar.js:720 -#, fuzzy -#| msgid "%A %B %e, %Y" +#: ../js/ui/calendar.js:723 msgctxt "calendar heading" msgid "%A, %B %d, %Y" -msgstr "%Y %B %e %A" +msgstr "%Y年%B%d日%A" -#: ../js/ui/calendar.js:730 +#: ../js/ui/calendar.js:733 msgid "Today" msgstr "今天" -#: ../js/ui/calendar.js:734 +#: ../js/ui/calendar.js:737 msgid "Tomorrow" msgstr "明天" -#: ../js/ui/calendar.js:743 +#: ../js/ui/calendar.js:746 msgid "This week" msgstr "本週" -#: ../js/ui/calendar.js:751 +#: ../js/ui/calendar.js:754 msgid "Next week" msgstr "下週" -#: ../js/ui/dash.js:27 +#: ../js/ui/dash.js:174 ../js/ui/messageTray.js:945 msgid "Remove" msgstr "移除" @@ -509,47 +349,47 @@ msgstr "移除" msgid "Date and Time Settings" msgstr "日期與時刻設定值" -#: ../js/ui/dateMenu.js:110 +#: ../js/ui/dateMenu.js:111 msgid "Open Calendar" msgstr "開啟行事曆" #. Translators: This is the time format with date used #. in 24-hour mode. -#: ../js/ui/dateMenu.js:149 +#: ../js/ui/dateMenu.js:164 msgid "%a %b %e, %R:%S" msgstr "%b %e %a, %R:%S" -#: ../js/ui/dateMenu.js:150 +#: ../js/ui/dateMenu.js:165 msgid "%a %b %e, %R" msgstr "%b %e %a, %R" #. Translators: This is the time format without date used #. in 24-hour mode. -#: ../js/ui/dateMenu.js:154 +#: ../js/ui/dateMenu.js:169 msgid "%a %R:%S" msgstr "%a %R:%S" -#: ../js/ui/dateMenu.js:155 +#: ../js/ui/dateMenu.js:170 msgid "%a %R" msgstr "%a %R" #. Translators: This is a time format with date used #. for AM/PM. -#: ../js/ui/dateMenu.js:162 +#: ../js/ui/dateMenu.js:177 msgid "%a %b %e, %l:%M:%S %p" msgstr "%b %e %a, %p %l:%M:%S" -#: ../js/ui/dateMenu.js:163 +#: ../js/ui/dateMenu.js:178 msgid "%a %b %e, %l:%M %p" msgstr "%b %e %a, %p %l:%M" #. Translators: This is a time format without date used #. for AM/PM. -#: ../js/ui/dateMenu.js:167 +#: ../js/ui/dateMenu.js:182 msgid "%a %l:%M:%S %p" msgstr "%a %p %l:%M:%S" -#: ../js/ui/dateMenu.js:168 +#: ../js/ui/dateMenu.js:183 msgid "%a %l:%M %p" msgstr "%a %p %l:%M" @@ -560,7 +400,7 @@ msgstr "%a %p %l:%M" msgid "%A %B %e, %Y" msgstr "%Y %B %e %A" -#: ../js/ui/docDisplay.js:18 +#: ../js/ui/docDisplay.js:19 msgid "RECENT ITEMS" msgstr "最近使用項目" @@ -629,82 +469,98 @@ msgstr "重新啟動系統。" msgid "Confirm" msgstr "確認" -#: ../js/ui/endSessionDialog.js:400 ../js/ui/status/bluetooth.js:470 +#: ../js/ui/endSessionDialog.js:400 ../js/ui/status/bluetooth.js:466 msgid "Cancel" msgstr "取消" -#: ../js/ui/lookingGlass.js:556 +#: ../js/ui/lookingGlass.js:588 msgid "No extensions installed" msgstr "沒有安裝擴充功能" -#: ../js/ui/lookingGlass.js:593 +#: ../js/ui/lookingGlass.js:625 msgid "Enabled" msgstr "已啟用" #. translators: #. * The device has been disabled -#: ../js/ui/lookingGlass.js:595 ../src/gvc/gvc-mixer-control.c:1087 +#: ../js/ui/lookingGlass.js:627 ../src/gvc/gvc-mixer-control.c:1091 msgid "Disabled" msgstr "已停用" -#: ../js/ui/lookingGlass.js:597 +#: ../js/ui/lookingGlass.js:629 msgid "Error" msgstr "錯誤" -#: ../js/ui/lookingGlass.js:599 +#: ../js/ui/lookingGlass.js:631 msgid "Out of date" msgstr "過期" -#: ../js/ui/lookingGlass.js:624 +#: ../js/ui/lookingGlass.js:656 msgid "View Source" msgstr "檢示來源" -#: ../js/ui/lookingGlass.js:630 +#: ../js/ui/lookingGlass.js:662 msgid "Web Page" msgstr "網頁" -#: ../js/ui/messageTray.js:1809 +#: ../js/ui/messageTray.js:938 +#, fuzzy +msgid "Open" +msgstr "開啟" + +#: ../js/ui/messageTray.js:2018 msgid "System Information" msgstr "系統資訊" -#: ../js/ui/overview.js:88 +#: ../js/ui/overview.js:89 msgid "Undo" msgstr "復原" -#: ../js/ui/overview.js:159 +#: ../js/ui/overview.js:184 msgid "Windows" msgstr "視窗" -#: ../js/ui/overview.js:162 +#: ../js/ui/overview.js:187 msgid "Applications" msgstr "應用程式" +#. Translators: this is the name of the dock/favorites area on +#. the left of the overview +#: ../js/ui/overview.js:203 +#, fuzzy +msgid "Dash" +msgstr "破折號" + #. TODO - _quit() doesn't really work on apps in state STARTING yet -#: ../js/ui/panel.js:480 +#: ../js/ui/panel.js:515 #, c-format msgid "Quit %s" msgstr "結束 %s" #. Button on the left side of the panel. #. Translators: If there is no suitable word for "Activities" in your language, you can use the word for "Overview". -#: ../js/ui/panel.js:614 +#: ../js/ui/panel.js:876 msgid "Activities" msgstr "概覽 " -#: ../js/ui/placeDisplay.js:106 +#: ../js/ui/panel.js:977 +msgid "Top Bar" +msgstr "頂端列" + +#: ../js/ui/placeDisplay.js:122 #, c-format msgid "Failed to unmount '%s'" msgstr "無法卸載「%s」" -#: ../js/ui/placeDisplay.js:109 +#: ../js/ui/placeDisplay.js:125 msgid "Retry" msgstr "重試" -#: ../js/ui/placeDisplay.js:150 +#: ../js/ui/placeDisplay.js:165 msgid "Connect to..." msgstr "連接到…" -#: ../js/ui/placeDisplay.js:386 +#: ../js/ui/placeDisplay.js:380 msgid "PLACES & DEVICES" msgstr "位置 & 裝置" @@ -713,95 +569,103 @@ 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:33 +#: ../js/ui/popupMenu.js:636 msgid "toggle-switch-us" msgstr "toggle-switch-us" -#: ../js/ui/runDialog.js:209 +#: ../js/ui/runDialog.js:205 msgid "Please enter a command:" msgstr "請輸入指令:" -#: ../js/ui/statusMenu.js:102 +#: ../js/ui/searchDisplay.js:310 +msgid "Searching..." +msgstr "搜尋中…" + +#: ../js/ui/searchDisplay.js:324 +msgid "No matching results." +msgstr "沒有相符的結果。" + +#: ../js/ui/statusMenu.js:161 ../js/ui/statusMenu.js:228 +msgid "Power Off..." +msgstr "關閉電源…" + +#: ../js/ui/statusMenu.js:163 ../js/ui/statusMenu.js:227 +msgid "Suspend" +msgstr "暫停" + +#: ../js/ui/statusMenu.js:184 msgid "Available" msgstr "可用" -#: ../js/ui/statusMenu.js:107 +#: ../js/ui/statusMenu.js:189 msgid "Busy" msgstr "忙碌" -#: ../js/ui/statusMenu.js:115 +#: ../js/ui/statusMenu.js:197 msgid "My Account" msgstr "我的帳號" -#: ../js/ui/statusMenu.js:119 +#: ../js/ui/statusMenu.js:201 msgid "System Settings" msgstr "系統設定值" -#: ../js/ui/statusMenu.js:126 +#: ../js/ui/statusMenu.js:208 msgid "Lock Screen" msgstr "鎖定畫面" -#: ../js/ui/statusMenu.js:130 +#: ../js/ui/statusMenu.js:213 msgid "Switch User" msgstr "切換使用者" -#: ../js/ui/statusMenu.js:135 +#: ../js/ui/statusMenu.js:218 msgid "Log Out..." msgstr "登出…" -#: ../js/ui/statusMenu.js:142 -msgid "Suspend..." -msgstr "暫停…" - -#: ../js/ui/statusMenu.js:146 -msgid "Shut Down..." -msgstr "關機…" - -#: ../js/ui/status/accessibility.js:83 +#: ../js/ui/status/accessibility.js:62 msgid "Zoom" msgstr "縮放" -#: ../js/ui/status/accessibility.js:89 -msgid "Screen Reader" -msgstr "螢幕閱讀器" - -#: ../js/ui/status/accessibility.js:92 -msgid "Screen Keyboard" -msgstr "螢幕鍵盤" - -#: ../js/ui/status/accessibility.js:95 +#. let screenReader = this._buildItem(_("Screen Reader"), APPLICATIONS_SCHEMA, +#. 'screen-reader-enabled'); +#. this.menu.addMenuItem(screenReader); +#. let screenKeyboard = this._buildItem(_("Screen Keyboard"), APPLICATIONS_SCHEMA, +#. 'screen-keyboard-enabled'); +#. this.menu.addMenuItem(screenKeyboard); +#: ../js/ui/status/accessibility.js:77 msgid "Visual Alerts" msgstr "視覺警示" -#: ../js/ui/status/accessibility.js:98 +#: ../js/ui/status/accessibility.js:80 msgid "Sticky Keys" msgstr "黏性特殊鍵" -#: ../js/ui/status/accessibility.js:101 +#: ../js/ui/status/accessibility.js:83 msgid "Slow Keys" msgstr "遲緩按鍵" -#: ../js/ui/status/accessibility.js:104 +#: ../js/ui/status/accessibility.js:86 msgid "Bounce Keys" msgstr "回鍵" -#: ../js/ui/status/accessibility.js:107 +#: ../js/ui/status/accessibility.js:89 msgid "Mouse Keys" msgstr "滑鼠按鍵" -#: ../js/ui/status/accessibility.js:111 +#: ../js/ui/status/accessibility.js:93 msgid "Universal Access Settings" msgstr "無障礙功能設定值" -#: ../js/ui/status/accessibility.js:163 +#: ../js/ui/status/accessibility.js:146 msgid "High Contrast" msgstr "高反差" -#: ../js/ui/status/accessibility.js:205 +#: ../js/ui/status/accessibility.js:183 msgid "Large Text" msgstr "大型文字" -#: ../js/ui/status/bluetooth.js:42 ../js/ui/status/bluetooth.js:241 +#: ../js/ui/status/bluetooth.js:42 ../js/ui/status/bluetooth.js:237 +#: ../js/ui/status/bluetooth.js:333 ../js/ui/status/bluetooth.js:367 +#: ../js/ui/status/bluetooth.js:407 ../js/ui/status/bluetooth.js:440 msgid "Bluetooth" msgstr "藍牙" @@ -821,210 +685,345 @@ msgstr "設定新的裝置…" msgid "Bluetooth Settings" msgstr "藍牙設定值" -#: ../js/ui/status/bluetooth.js:192 +#: ../js/ui/status/bluetooth.js:188 msgid "Connection" msgstr "連線" -#: ../js/ui/status/bluetooth.js:228 +#: ../js/ui/status/bluetooth.js:224 msgid "Send Files..." msgstr "傳送檔案…" -#: ../js/ui/status/bluetooth.js:233 +#: ../js/ui/status/bluetooth.js:229 msgid "Browse Files..." msgstr "瀏覽檔案…" -#: ../js/ui/status/bluetooth.js:242 +#: ../js/ui/status/bluetooth.js:238 msgid "Error browsing device" msgstr "瀏覽裝置時發生錯誤" -#: ../js/ui/status/bluetooth.js:243 +#: ../js/ui/status/bluetooth.js:239 #, c-format msgid "The requested device cannot be browsed, error is '%s'" msgstr "要求的裝置是不能瀏覽的,錯誤為「%s」" -#: ../js/ui/status/bluetooth.js:251 +#: ../js/ui/status/bluetooth.js:247 msgid "Keyboard Settings" msgstr "鍵盤設定值" -#: ../js/ui/status/bluetooth.js:256 +#: ../js/ui/status/bluetooth.js:252 msgid "Mouse Settings" msgstr "滑鼠設定值" -#: ../js/ui/status/bluetooth.js:263 ../js/ui/status/volume.js:63 +#: ../js/ui/status/bluetooth.js:259 ../js/ui/status/volume.js:66 msgid "Sound Settings" msgstr "音效設定值" -#: ../js/ui/status/bluetooth.js:337 ../js/ui/status/bluetooth.js:371 -#: ../js/ui/status/bluetooth.js:411 ../js/ui/status/bluetooth.js:444 -msgid "Bluetooth Agent" -msgstr "藍牙代理程式" - -#: ../js/ui/status/bluetooth.js:372 +#: ../js/ui/status/bluetooth.js:368 #, c-format msgid "Authorization request from %s" msgstr "來自「%s」的驗證要求" -#: ../js/ui/status/bluetooth.js:378 +#: ../js/ui/status/bluetooth.js:374 #, c-format msgid "Device %s wants access to the service '%s'" msgstr "裝置 %s 想要存取服務「%s」" -#: ../js/ui/status/bluetooth.js:380 +#: ../js/ui/status/bluetooth.js:376 msgid "Always grant access" msgstr "永遠准許存取" -#: ../js/ui/status/bluetooth.js:381 +#: ../js/ui/status/bluetooth.js:377 msgid "Grant this time only" msgstr "只有這次准許" -#: ../js/ui/status/bluetooth.js:382 +#: ../js/ui/status/bluetooth.js:378 msgid "Reject" msgstr "拒絕" -#: ../js/ui/status/bluetooth.js:412 +#: ../js/ui/status/bluetooth.js:408 #, c-format msgid "Pairing confirmation for %s" msgstr "%s 的配對確認" -#: ../js/ui/status/bluetooth.js:418 ../js/ui/status/bluetooth.js:452 +#: ../js/ui/status/bluetooth.js:414 ../js/ui/status/bluetooth.js:448 #, c-format msgid "Device %s wants to pair with this computer" msgstr "裝置 %s 想要和這個電腦配對" -#: ../js/ui/status/bluetooth.js:419 +#: ../js/ui/status/bluetooth.js:415 #, c-format msgid "Please confirm whether the PIN '%s' matches the one on the device." msgstr "請確認 PIN「%s」是否和裝置上的相符。" -#: ../js/ui/status/bluetooth.js:421 +#: ../js/ui/status/bluetooth.js:417 msgid "Matches" msgstr "相符" -#: ../js/ui/status/bluetooth.js:422 +#: ../js/ui/status/bluetooth.js:418 msgid "Does not match" msgstr "不相符" -#: ../js/ui/status/bluetooth.js:445 +#: ../js/ui/status/bluetooth.js:441 #, c-format msgid "Pairing request for %s" msgstr "%s 的配對請求" -#: ../js/ui/status/bluetooth.js:453 +#: ../js/ui/status/bluetooth.js:449 msgid "Please enter the PIN mentioned on the device." msgstr "請輸入裝置所提及的 PIN。" -#: ../js/ui/status/bluetooth.js:469 +#: ../js/ui/status/bluetooth.js:465 msgid "OK" msgstr "確定" -#: ../js/ui/status/keyboard.js:78 +#: ../js/ui/status/keyboard.js:73 +msgid "Show Keyboard Layout..." +msgstr "顯示鍵盤配置…" + +#: ../js/ui/status/keyboard.js:76 msgid "Localization Settings" msgstr "本地化設定值" +#: ../js/ui/status/network.js:102 ../js/ui/status/network.js:1393 +msgid "" +msgstr "<不明>" + +#. Translators: this indicates that wireless or wwan is disabled by hardware killswitch +#: ../js/ui/status/network.js:295 +msgid "disabled" +msgstr "已停用" + +#: ../js/ui/status/network.js:476 +msgid "connecting..." +msgstr "連線中…" + +#. Translators: this is for network connections that require some kind of key or password +#: ../js/ui/status/network.js:479 +msgid "authentication required" +msgstr "要求驗證" + +#. Translators: this is for wired network devices that are physically disconnected +#: ../js/ui/status/network.js:485 +msgid "cable unplugged" +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:489 +msgid "unavailable" +msgstr "無法使用" + +#: ../js/ui/status/network.js:491 +msgid "connection failed" +msgstr "連線失敗" + +#. TRANSLATORS: this is the indication that a connection for another logged in user is active, +#. and we cannot access its settings (including the name) +#: ../js/ui/status/network.js:571 ../js/ui/status/network.js:1341 +msgid "Connected (private)" +msgstr "已連線 (私人)" + +#: ../js/ui/status/network.js:636 +msgid "Auto Ethernet" +msgstr "自動使用乙太網絡" + +#: ../js/ui/status/network.js:697 +msgid "Auto broadband" +msgstr "自動使用行動寬頻" + +#: ../js/ui/status/network.js:700 +msgid "Auto dial-up" +msgstr "自動使用撥號" + +#. TRANSLATORS: this the automatic wireless connection name (including the network name) +#: ../js/ui/status/network.js:843 ../js/ui/status/network.js:1353 +#, c-format +msgid "Auto %s" +msgstr "自動使用 %s" + +#: ../js/ui/status/network.js:845 +msgid "Auto bluetooth" +msgstr "自動使用藍牙" + +#: ../js/ui/status/network.js:1355 +msgid "Auto wireless" +msgstr "自動使用無線網絡" + +#: ../js/ui/status/network.js:1413 +msgid "More..." +msgstr "更多…" + +#: ../js/ui/status/network.js:1436 +msgid "Enable networking" +msgstr "啟用網絡" + +#: ../js/ui/status/network.js:1448 +msgid "Wired" +msgstr "有線" + +#: ../js/ui/status/network.js:1459 +msgid "Wireless" +msgstr "無線" + +#: ../js/ui/status/network.js:1469 +msgid "Mobile broadband" +msgstr "行動寬頻" + +#: ../js/ui/status/network.js:1479 +msgid "VPN Connections" +msgstr "VPN 連線" + +#: ../js/ui/status/network.js:1488 +msgid "Network Settings" +msgstr "網絡設定值" + +#: ../js/ui/status/network.js:1783 +#, c-format +msgid "You're now connected to mobile broadband connection '%s'" +msgstr "你現在已連線至行動寬頻網絡連線「%s」" + +#: ../js/ui/status/network.js:1787 +#, c-format +msgid "You're now connected to wireless network '%s'" +msgstr "你現在已連線到無線網絡「%s」" + +#: ../js/ui/status/network.js:1791 +#, c-format +msgid "You're now connected to wired network '%s'" +msgstr "你現在已連線至有線網絡「%s」" + +#: ../js/ui/status/network.js:1795 +#, c-format +msgid "You're now connected to VPN network '%s'" +msgstr "你現在已連線至 VPN 網絡「%s」" + +#: ../js/ui/status/network.js:1800 +#, c-format +msgid "You're now connected to '%s'" +msgstr "你現在已連線至「%s」" + +#: ../js/ui/status/network.js:1808 +msgid "Connection established" +msgstr "連線已建立" + +#: ../js/ui/status/network.js:1930 +msgid "Networking is disabled" +msgstr "網絡已停用" + +#: ../js/ui/status/network.js:2055 +msgid "Network Manager" +msgstr "網絡管理員" + #: ../js/ui/status/power.js:85 msgid "Power Settings" msgstr "電源定值" -#: ../js/ui/status/power.js:112 +#. 0 is reported when UPower does not have enough data +#. to estimate battery life +#: ../js/ui/status/power.js:111 +msgid "Estimating..." +msgstr "評估中…" + +#: ../js/ui/status/power.js:118 #, c-format msgid "%d hour remaining" msgid_plural "%d hours remaining" msgstr[0] "可使用 %d 小時" #. TRANSLATORS: this is a time string, as in "%d hours %d minutes remaining" -#: ../js/ui/status/power.js:115 +#: ../js/ui/status/power.js:121 #, c-format msgid "%d %s %d %s remaining" msgstr "剩下 %d %s %d %s" -#: ../js/ui/status/power.js:117 +#: ../js/ui/status/power.js:123 msgid "hour" msgid_plural "hours" msgstr[0] "小時" -#: ../js/ui/status/power.js:117 +#: ../js/ui/status/power.js:123 msgid "minute" msgid_plural "minutes" msgstr[0] "分鐘" -#: ../js/ui/status/power.js:120 +#: ../js/ui/status/power.js:126 #, c-format msgid "%d minute remaining" msgid_plural "%d minutes remaining" msgstr[0] "剩下 %d 分鐘" -#: ../js/ui/status/power.js:235 +#: ../js/ui/status/power.js:228 msgid "AC adapter" msgstr "AC 電源" -#: ../js/ui/status/power.js:237 +#: ../js/ui/status/power.js:230 msgid "Laptop battery" msgstr "手提電腦電池" -#: ../js/ui/status/power.js:239 +#: ../js/ui/status/power.js:232 msgid "UPS" msgstr "不斷電系統" -#: ../js/ui/status/power.js:241 +#: ../js/ui/status/power.js:234 msgid "Monitor" msgstr "監視器" -#: ../js/ui/status/power.js:243 +#: ../js/ui/status/power.js:236 msgid "Mouse" msgstr "滑鼠" -#: ../js/ui/status/power.js:245 +#: ../js/ui/status/power.js:238 msgid "Keyboard" msgstr "鍵盤" -#: ../js/ui/status/power.js:247 +#: ../js/ui/status/power.js:240 msgid "PDA" msgstr "PDA" -#: ../js/ui/status/power.js:249 +#: ../js/ui/status/power.js:242 msgid "Cell phone" msgstr "流動電話" -#: ../js/ui/status/power.js:251 +#: ../js/ui/status/power.js:244 msgid "Media player" msgstr "媒體播放器" -#: ../js/ui/status/power.js:253 +#: ../js/ui/status/power.js:246 msgid "Tablet" msgstr "手寫板" -#: ../js/ui/status/power.js:255 +#: ../js/ui/status/power.js:248 msgid "Computer" msgstr "電腦" -#: ../js/ui/status/power.js:257 ../src/shell-app-system.c:1012 +#: ../js/ui/status/power.js:250 ../src/shell-app-system.c:1088 msgid "Unknown" msgstr "不明" -#: ../js/ui/status/volume.js:42 +#: ../js/ui/status/volume.js:45 msgid "Volume" msgstr "音量" -#: ../js/ui/status/volume.js:55 +#: ../js/ui/status/volume.js:58 msgid "Microphone" msgstr "麥克風" -#: ../js/ui/telepathyClient.js:563 +#: ../js/ui/telepathyClient.js:332 #, c-format msgid "%s is online." msgstr "%s 現在上線。" -#: ../js/ui/telepathyClient.js:568 +#: ../js/ui/telepathyClient.js:337 #, c-format msgid "%s is offline." msgstr "%s 現在離線。" -#: ../js/ui/telepathyClient.js:571 +#: ../js/ui/telepathyClient.js:340 #, c-format msgid "%s is away." msgstr "%s 已離開。" -#: ../js/ui/telepathyClient.js:574 +#: ../js/ui/telepathyClient.js:343 #, c-format msgid "%s is busy." msgstr "%s 正忙碌。" @@ -1032,37 +1031,36 @@ msgstr "%s 正忙碌。" #. Translators: this is a time format string followed by a date. #. If applicable, replace %X with a strftime format valid for your #. locale, without seconds. -#: ../js/ui/telepathyClient.js:668 +#: ../js/ui/telepathyClient.js:474 #, no-c-format msgid "Sent at %X on %A" msgstr "傳送於 %X %A" -#: ../js/ui/viewSelector.js:26 -msgid "Search your computer" -msgstr "搜尋你的電腦" +#. Translators: this is the text displayed +#. in the search entry when no search is +#. active; it should not exceed ~30 +#. characters. +#: ../js/ui/viewSelector.js:122 +msgid "Type to search..." +msgstr "輸入以搜尋…" -#: ../js/ui/windowAttentionHandler.js:43 +#: ../js/ui/viewSelector.js:142 ../src/shell-util.c:250 +msgid "Search" +msgstr "搜尋" + +#: ../js/ui/windowAttentionHandler.js:42 #, c-format msgid "%s has finished starting" msgstr "%s 已完成啟動" -#: ../js/ui/windowAttentionHandler.js:45 +#: ../js/ui/windowAttentionHandler.js:44 #, c-format msgid "'%s' is ready" msgstr "「%s」已就緒" -#: ../js/ui/workspacesView.js:243 -msgid "" -"Can't add a new workspace because maximum workspaces limit has been reached." -msgstr "不能加入新的工作區,因為已達到最大工作區上限。" - -#: ../js/ui/workspacesView.js:259 -msgid "Can't remove the first workspace." -msgstr "不能移除第一個工作區。" - #. translators: #. * The number of sound outputs on a particular device -#: ../src/gvc/gvc-mixer-control.c:1094 +#: ../src/gvc/gvc-mixer-control.c:1098 #, c-format msgid "%u Output" msgid_plural "%u Outputs" @@ -1070,44 +1068,65 @@ msgstr[0] "%u 輸出" #. translators: #. * The number of sound inputs on a particular device -#: ../src/gvc/gvc-mixer-control.c:1104 +#: ../src/gvc/gvc-mixer-control.c:1108 #, c-format msgid "%u Input" msgid_plural "%u Inputs" msgstr[0] "%u 輸入" -#: ../src/gvc/gvc-mixer-control.c:1402 +#: ../src/gvc/gvc-mixer-control.c:1406 msgid "System Sounds" msgstr "系統音效" -#: ../src/shell-global.c:1365 +#: ../src/main.c:397 +msgid "Print version" +msgstr "顯示版本" + +#: ../src/shell-app.c:454 +#, c-format +msgid "Failed to launch '%s'" +msgstr "無法啟動「%s」" + +#: ../src/shell-global.c:1395 msgid "Less than a minute ago" msgstr "少於一分鐘之前" -#: ../src/shell-global.c:1369 +#: ../src/shell-global.c:1399 #, c-format msgid "%d minute ago" msgid_plural "%d minutes ago" msgstr[0] "%d 分鐘前" -#: ../src/shell-global.c:1374 +#: ../src/shell-global.c:1404 #, c-format msgid "%d hour ago" msgid_plural "%d hours ago" msgstr[0] "%d 小時前" -#: ../src/shell-global.c:1379 +#: ../src/shell-global.c:1409 #, c-format msgid "%d day ago" msgid_plural "%d days ago" msgstr[0] "%d 天前" -#: ../src/shell-global.c:1384 +#: ../src/shell-global.c:1414 #, c-format msgid "%d week ago" msgid_plural "%d weeks ago" msgstr[0] "%d 週前" +#: ../src/shell-mobile-providers.c:80 +msgid "United Kingdom" +msgstr "英國" + +#: ../src/shell-mobile-providers.c:526 +msgid "Default" +msgstr "預設值" + +#: ../src/shell-polkit-authentication-agent.c:334 +msgid "Authentication dialog was dismissed by the user" +msgstr "驗證對話盒被使用者取消了" + #: ../src/shell-util.c:89 msgid "Home Folder" msgstr "家目錄" @@ -1118,10 +1137,6 @@ msgstr "家目錄" msgid "File System" msgstr "檔案系統" -#: ../src/shell-util.c:250 -msgid "Search" -msgstr "搜尋" - #. Translators: the first string is the name of a gvfs #. * method, and the second string is a path. For #. * example, "Trash: some-directory". It means that the @@ -1132,99 +1147,5 @@ msgstr "搜尋" msgid "%1$s: %2$s" msgstr "%1$s:%2$s" -#~ msgid "Clock" -#~ msgstr "時鐘" - -#~ msgid "Customize the panel clock" -#~ msgstr "自訂面板時鐘" - -#~ msgid "Custom format of the clock" -#~ msgstr "自訂時鐘的格式" - -#~ msgid "Hour format" -#~ msgstr "小時格式" - -#~ msgid "" -#~ "If true and format is either \"12-hour\" or \"24-hour\", display seconds " -#~ "in time." -#~ msgstr "如果設為 true 且格式為「12-小時」或「24-小時」,在時刻裡顯示秒鐘。" - -#~ msgid "" -#~ "This key specifies the format used by the panel clock when the format key " -#~ "is set to \"custom\". You can use conversion specifiers understood by " -#~ "strftime() to obtain a specific format. See the strftime() manual for " -#~ "more information." -#~ msgstr "" -#~ "這個設定鍵是在面板時鐘的「format」設定鍵被設為「custom」時使用的自訂格式。" -#~ "您可以用可被 strftime() 理解的轉換規範來取得所指定的格式。請查閱 strftime" -#~ "() 手冊以獲取更多資訊。" - -#~ msgid "" -#~ "This key specifies the hour format used by the panel clock. Possible " -#~ "values are \"12-hour\", \"24-hour\", \"unix\" and \"custom\". If set to " -#~ "\"unix\", the clock will display time in seconds since Epoch, i.e. " -#~ "1970-01-01. If set to \"custom\", the clock will display time according " -#~ "to the format specified in the custom_format key. Note that if set to " -#~ "either \"unix\" or \"custom\", the show_date and show_seconds keys are " -#~ "ignored." -#~ msgstr "" -#~ "這個設定值指定了面板時鐘使用的小時格式。可用的數值有「12-hour」、「24-" -#~ "hour」、「unix」和「custom」。如果設定為「unix」,時鐘會顯示自 Epoch,即 " -#~ "1970-01-01 以來的秒數。如果設定為「custom」,時鐘會根據 custom_format 設定" -#~ "鍵顯示時刻。注意不管設為「unix」或「custom」,show_date 和 show_seconds 設" -#~ "定鍵都會被忽略。" - -#~ msgid "Clock Format" -#~ msgstr "時鐘格式" - -#~ msgid "Clock Preferences" -#~ msgstr "時鐘偏好設定" - -#~ msgid "Panel Display" -#~ msgstr "面板顯示" - -#~ msgid "Show seco_nds" -#~ msgstr "顯示秒數(_N)" - -#~ msgid "Show the _date" -#~ msgstr "顯示日期(_D)" - -#~ msgid "_12 hour format" -#~ msgstr "_12 小時制" - -#~ msgid "_24 hour format" -#~ msgstr "_24 小時制" - -#~ msgid "Preferences" -#~ msgstr "偏好設定" - -#~ msgid "Overview workspace view mode" -#~ msgstr "概覽工作區檢視模式" - -#~ msgid "" -#~ "The selected workspace view mode in the overview. Supported values are " -#~ "\"single\" and \"grid\"." -#~ msgstr "" -#~ "在概覽中選取的工作區檢視模式。支援的數值有「single」(單一)和「grid」(格" -#~ "線)。" - -#~ msgid "Drag here to add favorites" -#~ msgstr "拖放到這裡加入喜好" - -#~ msgid "Find" -#~ msgstr "尋找" - -#~ msgid "Searching..." -#~ msgstr "搜尋中…" - -#~ msgid "No matching results." -#~ msgstr "沒有相符的結果。" - -#~ msgid "Invisible" -#~ msgstr "隱形" - -#~ msgid "ON" -#~ msgstr "開" - -#~ msgid "OFF" -#~ msgstr "關" +#~ msgid "No such application" +#~ msgstr "沒有這個應用程式" diff --git a/po/zh_TW.po b/po/zh_TW.po index d620c5444..c246084e2 100644 --- a/po/zh_TW.po +++ b/po/zh_TW.po @@ -6,10 +6,10 @@ # msgid "" msgstr "" -"Project-Id-Version: gnome-shell 2.91.6\n" +"Project-Id-Version: gnome-shell 2.91.91\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2011-02-04 13:12+0800\n" -"PO-Revision-Date: 2011-02-04 12:41+0800\n" +"POT-Creation-Date: 2011-03-22 19:42+0800\n" +"PO-Revision-Date: 2011-03-22 12:30+0800\n" "Last-Translator: Chao-Hsiung Liao \n" "Language-Team: Chinese (Taiwan) \n" "Language: \n" @@ -55,22 +55,27 @@ msgid "History for command (Alt-F2) dialog" msgstr "指令 (Alt-F2) 對話盒歷史紀錄" #: ../data/org.gnome.shell.gschema.xml.in.h:7 +#, fuzzy +msgid "History for the looking glass dialog" +msgstr "指令 (Alt-F2) 對話盒歷史紀錄" + +#: ../data/org.gnome.shell.gschema.xml.in.h:8 msgid "If true, display date in the clock, in addition to time." msgstr "如設定為「true」,除了在時鐘內顯示日期外還顯示時刻。" -#: ../data/org.gnome.shell.gschema.xml.in.h:8 +#: ../data/org.gnome.shell.gschema.xml.in.h:9 msgid "If true, display seconds in time." msgstr "如設定為「true」,在時刻中顯示秒數。" -#: ../data/org.gnome.shell.gschema.xml.in.h:9 +#: ../data/org.gnome.shell.gschema.xml.in.h:10 msgid "If true, display the ISO week date in the calendar." msgstr "如果設為 true,在日曆中顯示 ISO 週數。" -#: ../data/org.gnome.shell.gschema.xml.in.h:10 +#: ../data/org.gnome.shell.gschema.xml.in.h:11 msgid "List of desktop file IDs for favorite applications" msgstr "喜好的應用程式桌面檔案 ID 清單" -#: ../data/org.gnome.shell.gschema.xml.in.h:12 +#: ../data/org.gnome.shell.gschema.xml.in.h:13 #, no-c-format msgid "" "Sets the GStreamer pipeline used to encode recordings. It follows the syntax " @@ -92,25 +97,25 @@ msgstr "" "%T ! queue ! webmmux' 即使用 VP8 codec 錄製 WEBM。%T 是在系統的最佳化執行緒計" "數猜測時使用的佔位符。" -#: ../data/org.gnome.shell.gschema.xml.in.h:13 +#: ../data/org.gnome.shell.gschema.xml.in.h:14 msgid "Show date in clock" msgstr "在時鐘內顯示日期" -#: ../data/org.gnome.shell.gschema.xml.in.h:14 +#: ../data/org.gnome.shell.gschema.xml.in.h:15 msgid "Show the week date in the calendar" msgstr "在日曆中顯示週數" -#: ../data/org.gnome.shell.gschema.xml.in.h:15 +#: ../data/org.gnome.shell.gschema.xml.in.h:16 msgid "Show time with seconds" msgstr "在時刻中顯示秒數" -#: ../data/org.gnome.shell.gschema.xml.in.h:16 +#: ../data/org.gnome.shell.gschema.xml.in.h:17 msgid "" "The applications corresponding to these identifiers will be displayed in the " "favorites area." msgstr "對應這些辨別碼的應用程式會顯示在喜好區域。" -#: ../data/org.gnome.shell.gschema.xml.in.h:17 +#: ../data/org.gnome.shell.gschema.xml.in.h:18 msgid "" "The filename for recorded screencasts will be a unique filename based on the " "current date, and use this extension. It should be changed when recording to " @@ -119,7 +124,7 @@ msgstr "" "錄製好的畫面廣播檔案名稱會以目前的時刻作為獨特的檔名,並使用這個延伸檔名。當" "錄製為不同的容器格式時應該做適當變更。" -#: ../data/org.gnome.shell.gschema.xml.in.h:18 +#: ../data/org.gnome.shell.gschema.xml.in.h:19 msgid "" "The framerate of the resulting screencast recordered by GNOME Shell's " "screencast recorder in frames-per-second." @@ -127,11 +132,11 @@ msgstr "" "由 GNOME Shell 的畫面廣播錄製程式所錄製成果的框架率,以 frames-per-second " "計。" -#: ../data/org.gnome.shell.gschema.xml.in.h:19 +#: ../data/org.gnome.shell.gschema.xml.in.h:20 msgid "The gstreamer pipeline used to encode the screencast" msgstr "用來編碼畫面廣播的 gstreamer 管線" -#: ../data/org.gnome.shell.gschema.xml.in.h:20 +#: ../data/org.gnome.shell.gschema.xml.in.h:21 msgid "" "The shell normally monitors active applications in order to present the most " "used ones (e.g. in launchers). While this data will be kept private, you may " @@ -142,191 +147,55 @@ msgstr "" "器中)。雖然這個資料會保持隱密,但是您可能會基於隱私的理由想要停用這個功能。" "請注意這麼做並不會移除已儲存的資料。" -#: ../data/org.gnome.shell.gschema.xml.in.h:21 +#: ../data/org.gnome.shell.gschema.xml.in.h:22 msgid "Uuids of extensions to disable" msgstr "要停用的延伸檔名 Uuid" -#: ../data/org.gnome.shell.gschema.xml.in.h:22 +#: ../data/org.gnome.shell.gschema.xml.in.h:23 msgid "Whether to collect stats about applications usage" msgstr "是否收集關於應用程式使用率的狀態" -#: ../data/org.gnome.shell.gschema.xml.in.h:23 +#: ../data/org.gnome.shell.gschema.xml.in.h:24 msgid "disabled OpenSearch providers" msgstr "已停用 OpenSearch 提供者" -#: ../data/org.gnome.accessibility.magnifier.gschema.xml.in.h:1 -msgid "Clip the crosshairs at the center" -msgstr "點選中央的十字準星" - -#: ../data/org.gnome.accessibility.magnifier.gschema.xml.in.h:2 -msgid "Color of the crosshairs" -msgstr "十字準星的顏色" - -#: ../data/org.gnome.accessibility.magnifier.gschema.xml.in.h:3 -msgid "" -"Determines the length of the vertical and horizontal lines that make up the " -"crosshairs." -msgstr "決定組成十字準星的垂直和水平線條的長度。" - -#: ../data/org.gnome.accessibility.magnifier.gschema.xml.in.h:4 -msgid "" -"Determines the position of the magnified mouse image within the magnified " -"view and how it reacts to system mouse movement. The values are - none: no " -"mouse tracking; - centered: the mouse image is displayed at the center of " -"the zoom region (which also represents the point under the system mouse) and " -"the magnified contents are scrolled as the system mouse moves; - " -"proportional: the position of the magnified mouse in the zoom region is " -"proportionally the same as the position of the system mouse on screen; - " -"push: when the magnified mouse intersects a boundary of the zoom region, the " -"contents are scrolled into view." -msgstr "" -"決定放大的滑鼠圖片在放大鏡檢 視中的位置以及它如何反應系統滑鼠的移動。數值有 " -"- none: 不追蹤滑鼠;- centered: 滑鼠圖片顯示於放大區域的中央(也代表系統滑鼠" -"下方的點)而放大的內容也會隨系統滑鼠移動而捲動;- proportional: 放大的滑鼠在" -"縮放區域中的位置和系統滑鼠在螢幕中的位置是成比例的;- push: 當放大的滑鼠與縮" -"放區域邊界交錯時,內容會捲動到檢視中。" - -#: ../data/org.gnome.accessibility.magnifier.gschema.xml.in.h:5 -msgid "" -"Determines the transparency of the crosshairs, from fully opaque to fully " -"transparent." -msgstr "決定十字準星的透明度,從完全不透明到完全透明。" - -#: ../data/org.gnome.accessibility.magnifier.gschema.xml.in.h:6 -msgid "" -"Determines whether the crosshairs intersect the magnified mouse sprite, or " -"are clipped such that the ends of the horizontal and vertical lines surround " -"the mouse image." -msgstr "" - -#: ../data/org.gnome.accessibility.magnifier.gschema.xml.in.h:7 -msgid "Enable lens mode" -msgstr "啟用鏡頭模式" - -#: ../data/org.gnome.accessibility.magnifier.gschema.xml.in.h:8 -msgid "" -"Enables/disables display of crosshairs centered on the magnified mouse " -"sprite." -msgstr "" - -#: ../data/org.gnome.accessibility.magnifier.gschema.xml.in.h:9 -msgid "" -"For centered mouse tracking, when the system pointer is at or near the edge " -"of the screen, the magnified contents continue to scroll such that the " -"screen edge moves into the magnified view." -msgstr "" -"對於置中式的滑鼠追蹤,當系統指標位於或接近螢幕的邊緣時,放大的內容也會持續捲" -"動,讓螢幕的邊緣移進放大的檢視範圍。" - -#: ../data/org.gnome.accessibility.magnifier.gschema.xml.in.h:10 -msgid "Length of the crosshairs" -msgstr "十字準星長度" - -#: ../data/org.gnome.accessibility.magnifier.gschema.xml.in.h:11 -msgid "Magnification factor" -msgstr "放大率" - -#: ../data/org.gnome.accessibility.magnifier.gschema.xml.in.h:12 -msgid "Mouse Tracking Mode" -msgstr "滑鼠追蹤模式" - -#: ../data/org.gnome.accessibility.magnifier.gschema.xml.in.h:13 -msgid "Opacity of the crosshairs" -msgstr "十字準星透明度" - -#: ../data/org.gnome.accessibility.magnifier.gschema.xml.in.h:14 -msgid "Screen position" -msgstr "螢幕位置" - -#: ../data/org.gnome.accessibility.magnifier.gschema.xml.in.h:15 -msgid "Scroll magnified contents beyond the edges of the desktop" -msgstr "在桌面邊緣時捲動放大的內容" - -#: ../data/org.gnome.accessibility.magnifier.gschema.xml.in.h:16 -msgid "Show or hide crosshairs" -msgstr "顯示或隱藏十字準星" - -#: ../data/org.gnome.accessibility.magnifier.gschema.xml.in.h:17 -msgid "Show or hide the magnifier" -msgstr "顯示或隱藏放大鏡" - -#: ../data/org.gnome.accessibility.magnifier.gschema.xml.in.h:18 -msgid "Show or hide the magnifier and all of its zoom regions." -msgstr "顯示或隱藏放大鏡和所有被它放大的區域。" - -#: ../data/org.gnome.accessibility.magnifier.gschema.xml.in.h:19 -msgid "" -"The color of the the vertical and horizontal lines that make up the " -"crosshairs." -msgstr "組成十字準星的垂直和水平線條的顏色。" - -#: ../data/org.gnome.accessibility.magnifier.gschema.xml.in.h:20 -msgid "" -"The magnified view either fills the entire screen, or occupies the top-half, " -"bottom-half, left-half, or right-half of the screen." -msgstr "放大的檢視要佔據整個螢幕,或是只佔螢幕的上半、下半、左半或右半邊。" - -#: ../data/org.gnome.accessibility.magnifier.gschema.xml.in.h:21 -msgid "" -"The power of the magnification. A value of 1.0 means no magnification. A " -"value of 2.0 doubles the size." -msgstr "放大的倍數。數值 1.0 表示不放大。數值 2.0 為放大兩倍。" - -#: ../data/org.gnome.accessibility.magnifier.gschema.xml.in.h:22 -msgid "Thickness of the crosshairs" -msgstr "十字準星厚度" - -#: ../data/org.gnome.accessibility.magnifier.gschema.xml.in.h:23 -msgid "" -"Whether the magnified view should be centered over the location of the " -"system mouse and move with it." -msgstr "放大的檢視是否應以系統滑鼠的位置為中心點並隨滑鼠移動。" - -#: ../data/org.gnome.accessibility.magnifier.gschema.xml.in.h:24 -msgid "Width of the vertical and horizontal lines that make up the crosshairs." -msgstr "組成十字準星的垂直和水平線條的寬度。" - -#: ../js/misc/util.js:86 +#: ../js/misc/util.js:71 msgid "Command not found" msgstr "找不到指令" #. Replace "Error invoking GLib.shell_parse_argv: " with #. something nicer -#: ../js/misc/util.js:113 +#: ../js/misc/util.js:98 msgid "Could not parse command:" msgstr "無法分析指令:" -#: ../js/misc/util.js:135 -msgid "No such application" -msgstr "沒有這個應用程式" - -#: ../js/misc/util.js:148 +#: ../js/misc/util.js:106 #, c-format msgid "Execution of '%s' failed:" msgstr "執行「%s」失敗:" #. Translators: Filter to display all applications -#: ../js/ui/appDisplay.js:164 +#: ../js/ui/appDisplay.js:230 msgid "All" msgstr "全部" -#: ../js/ui/appDisplay.js:245 +#: ../js/ui/appDisplay.js:328 msgid "APPLICATIONS" msgstr "程式集" -#: ../js/ui/appDisplay.js:275 -msgid "PREFERENCES" -msgstr "偏好設定" +#: ../js/ui/appDisplay.js:354 +msgid "SETTINGS" +msgstr "設定值" -#: ../js/ui/appDisplay.js:572 +#: ../js/ui/appDisplay.js:620 msgid "New Window" msgstr "新視窗" -#: ../js/ui/appDisplay.js:576 +#: ../js/ui/appDisplay.js:623 msgid "Remove from Favorites" msgstr "自喜好中移除" -#: ../js/ui/appDisplay.js:577 +#: ../js/ui/appDisplay.js:624 msgid "Add to Favorites" msgstr "加入喜好" @@ -343,86 +212,68 @@ msgstr "%s 已經從您的喜好中移除。" #. Translators: Shown in calendar event list for all day events #. * Keep it short, best if you can use less then 10 characters #. -#: ../js/ui/calendar.js:65 -#, fuzzy -#| msgid "All Day" +#: ../js/ui/calendar.js:66 msgctxt "event list time" msgid "All Day" msgstr "整天" #. Translators: Shown in calendar event list, if 24h format -#: ../js/ui/calendar.js:70 +#: ../js/ui/calendar.js:71 msgctxt "event list time" msgid "%H:%M" -msgstr "" +msgstr "%H:%M" #. Transators: Shown in calendar event list, if 12h format -#: ../js/ui/calendar.js:77 -#, fuzzy -#| msgid "%a %l:%M %p" +#: ../js/ui/calendar.js:78 msgctxt "event list time" msgid "%l:%M %p" -msgstr "%a %p %l:%M" +msgstr "%p %l:%M" #. Translators: Calendar grid abbreviation for Sunday. #. * #. * NOTE: These grid abbreviations are always shown together #. * and in order, e.g. "S M T W T F S". #. -#: ../js/ui/calendar.js:117 -#, fuzzy -#| msgid "S" +#: ../js/ui/calendar.js:118 msgctxt "grid sunday" msgid "S" msgstr "日" #. Translators: Calendar grid abbreviation for Monday -#: ../js/ui/calendar.js:119 -#, fuzzy -#| msgid "M" +#: ../js/ui/calendar.js:120 msgctxt "grid monday" msgid "M" msgstr "一" #. Translators: Calendar grid abbreviation for Tuesday -#: ../js/ui/calendar.js:121 -#, fuzzy -#| msgid "T" +#: ../js/ui/calendar.js:122 msgctxt "grid tuesday" msgid "T" msgstr "二" #. Translators: Calendar grid abbreviation for Wednesday -#: ../js/ui/calendar.js:123 -#, fuzzy -#| msgid "W" +#: ../js/ui/calendar.js:124 msgctxt "grid wednesday" msgid "W" msgstr "三" #. Translators: Calendar grid abbreviation for Thursday -#: ../js/ui/calendar.js:125 -#, fuzzy -#| msgid "T" +#: ../js/ui/calendar.js:126 msgctxt "grid thursday" msgid "T" -msgstr "二" +msgstr "四" #. Translators: Calendar grid abbreviation for Friday -#: ../js/ui/calendar.js:127 -#, fuzzy -#| msgid "F" +#: ../js/ui/calendar.js:128 msgctxt "grid friday" msgid "F" msgstr "五" #. Translators: Calendar grid abbreviation for Saturday -#: ../js/ui/calendar.js:129 -#, fuzzy -#| msgid "S" +#: ../js/ui/calendar.js:130 msgctxt "grid saturday" msgid "S" -msgstr "日" +msgstr "六" #. Translators: Event list abbreviation for Sunday. #. * @@ -430,99 +281,81 @@ msgstr "日" #. * so they need to be unique (e.g. Tuesday and Thursday cannot #. * both be 'T'). #. -#: ../js/ui/calendar.js:142 -#, fuzzy -#| msgid "Su" +#: ../js/ui/calendar.js:143 msgctxt "list sunday" msgid "Su" msgstr "日" #. Translators: Event list abbreviation for Monday -#: ../js/ui/calendar.js:144 -#, fuzzy -#| msgid "M" +#: ../js/ui/calendar.js:145 msgctxt "list monday" msgid "M" msgstr "一" #. Translators: Event list abbreviation for Tuesday -#: ../js/ui/calendar.js:146 -#, fuzzy -#| msgid "T" +#: ../js/ui/calendar.js:147 msgctxt "list tuesday" msgid "T" msgstr "二" #. Translators: Event list abbreviation for Wednesday -#: ../js/ui/calendar.js:148 -#, fuzzy -#| msgid "W" +#: ../js/ui/calendar.js:149 msgctxt "list wednesday" msgid "W" msgstr "三" #. Translators: Event list abbreviation for Thursday -#: ../js/ui/calendar.js:150 -#, fuzzy -#| msgid "Th" +#: ../js/ui/calendar.js:151 msgctxt "list thursday" msgid "Th" msgstr "四" #. Translators: Event list abbreviation for Friday -#: ../js/ui/calendar.js:152 -#, fuzzy -#| msgid "F" +#: ../js/ui/calendar.js:153 msgctxt "list friday" msgid "F" msgstr "五" #. Translators: Event list abbreviation for Saturday -#: ../js/ui/calendar.js:154 -#, fuzzy -#| msgid "S" +#: ../js/ui/calendar.js:155 msgctxt "list saturday" msgid "S" -msgstr "日" +msgstr "六" #. Translators: Text to show if there are no events -#: ../js/ui/calendar.js:701 +#: ../js/ui/calendar.js:704 msgid "Nothing Scheduled" msgstr "沒有預訂行程" #. Translators: Shown on calendar heading when selected day occurs on current year -#: ../js/ui/calendar.js:717 -#, fuzzy -#| msgid "%A %B %e, %Y" +#: ../js/ui/calendar.js:720 msgctxt "calendar heading" msgid "%A, %B %d" -msgstr "%Y %B %e %A" +msgstr "%B%d日%A" #. Translators: Shown on calendar heading when selected day occurs on different year -#: ../js/ui/calendar.js:720 -#, fuzzy -#| msgid "%A %B %e, %Y" +#: ../js/ui/calendar.js:723 msgctxt "calendar heading" msgid "%A, %B %d, %Y" -msgstr "%Y %B %e %A" +msgstr "%Y年%B%d日%A" -#: ../js/ui/calendar.js:730 +#: ../js/ui/calendar.js:733 msgid "Today" msgstr "今天" -#: ../js/ui/calendar.js:734 +#: ../js/ui/calendar.js:737 msgid "Tomorrow" msgstr "明天" -#: ../js/ui/calendar.js:743 +#: ../js/ui/calendar.js:746 msgid "This week" msgstr "本週" -#: ../js/ui/calendar.js:751 +#: ../js/ui/calendar.js:754 msgid "Next week" msgstr "下週" -#: ../js/ui/dash.js:27 +#: ../js/ui/dash.js:174 ../js/ui/messageTray.js:945 msgid "Remove" msgstr "移除" @@ -530,47 +363,47 @@ msgstr "移除" msgid "Date and Time Settings" msgstr "日期與時刻設定值" -#: ../js/ui/dateMenu.js:110 +#: ../js/ui/dateMenu.js:111 msgid "Open Calendar" msgstr "開啟行事曆" #. Translators: This is the time format with date used #. in 24-hour mode. -#: ../js/ui/dateMenu.js:149 +#: ../js/ui/dateMenu.js:164 msgid "%a %b %e, %R:%S" msgstr "%b %e %a, %R:%S" -#: ../js/ui/dateMenu.js:150 +#: ../js/ui/dateMenu.js:165 msgid "%a %b %e, %R" msgstr "%b %e %a, %R" #. Translators: This is the time format without date used #. in 24-hour mode. -#: ../js/ui/dateMenu.js:154 +#: ../js/ui/dateMenu.js:169 msgid "%a %R:%S" msgstr "%a %R:%S" -#: ../js/ui/dateMenu.js:155 +#: ../js/ui/dateMenu.js:170 msgid "%a %R" msgstr "%a %R" #. Translators: This is a time format with date used #. for AM/PM. -#: ../js/ui/dateMenu.js:162 +#: ../js/ui/dateMenu.js:177 msgid "%a %b %e, %l:%M:%S %p" msgstr "%b %e %a, %p %l:%M:%S" -#: ../js/ui/dateMenu.js:163 +#: ../js/ui/dateMenu.js:178 msgid "%a %b %e, %l:%M %p" msgstr "%b %e %a, %p %l:%M" #. Translators: This is a time format without date used #. for AM/PM. -#: ../js/ui/dateMenu.js:167 +#: ../js/ui/dateMenu.js:182 msgid "%a %l:%M:%S %p" msgstr "%a %p %l:%M:%S" -#: ../js/ui/dateMenu.js:168 +#: ../js/ui/dateMenu.js:183 msgid "%a %l:%M %p" msgstr "%a %p %l:%M" @@ -581,7 +414,7 @@ msgstr "%a %p %l:%M" msgid "%A %B %e, %Y" msgstr "%Y %B %e %A" -#: ../js/ui/docDisplay.js:18 +#: ../js/ui/docDisplay.js:19 msgid "RECENT ITEMS" msgstr "最近使用項目" @@ -650,82 +483,98 @@ msgstr "重新啟動系統。" msgid "Confirm" msgstr "確認" -#: ../js/ui/endSessionDialog.js:400 ../js/ui/status/bluetooth.js:470 +#: ../js/ui/endSessionDialog.js:400 ../js/ui/status/bluetooth.js:466 msgid "Cancel" msgstr "取消" -#: ../js/ui/lookingGlass.js:556 +#: ../js/ui/lookingGlass.js:588 msgid "No extensions installed" msgstr "沒有安裝擴充功能" -#: ../js/ui/lookingGlass.js:593 +#: ../js/ui/lookingGlass.js:625 msgid "Enabled" msgstr "已啟用" #. translators: #. * The device has been disabled -#: ../js/ui/lookingGlass.js:595 ../src/gvc/gvc-mixer-control.c:1087 +#: ../js/ui/lookingGlass.js:627 ../src/gvc/gvc-mixer-control.c:1091 msgid "Disabled" msgstr "已停用" -#: ../js/ui/lookingGlass.js:597 +#: ../js/ui/lookingGlass.js:629 msgid "Error" msgstr "錯誤" -#: ../js/ui/lookingGlass.js:599 +#: ../js/ui/lookingGlass.js:631 msgid "Out of date" msgstr "過期" -#: ../js/ui/lookingGlass.js:624 +#: ../js/ui/lookingGlass.js:656 msgid "View Source" msgstr "檢示來源" -#: ../js/ui/lookingGlass.js:630 +#: ../js/ui/lookingGlass.js:662 msgid "Web Page" msgstr "網頁" -#: ../js/ui/messageTray.js:1809 +#: ../js/ui/messageTray.js:938 +#, fuzzy +msgid "Open" +msgstr "開啟" + +#: ../js/ui/messageTray.js:2018 msgid "System Information" msgstr "系統資訊" -#: ../js/ui/overview.js:88 +#: ../js/ui/overview.js:89 msgid "Undo" msgstr "復原" -#: ../js/ui/overview.js:159 +#: ../js/ui/overview.js:184 msgid "Windows" msgstr "視窗" -#: ../js/ui/overview.js:162 +#: ../js/ui/overview.js:187 msgid "Applications" msgstr "應用程式" +#. Translators: this is the name of the dock/favorites area on +#. the left of the overview +#: ../js/ui/overview.js:203 +#, fuzzy +msgid "Dash" +msgstr "破折號" + #. TODO - _quit() doesn't really work on apps in state STARTING yet -#: ../js/ui/panel.js:480 +#: ../js/ui/panel.js:515 #, c-format msgid "Quit %s" msgstr "結束 %s" #. Button on the left side of the panel. #. Translators: If there is no suitable word for "Activities" in your language, you can use the word for "Overview". -#: ../js/ui/panel.js:614 +#: ../js/ui/panel.js:876 msgid "Activities" msgstr "概覽 " -#: ../js/ui/placeDisplay.js:106 +#: ../js/ui/panel.js:977 +msgid "Top Bar" +msgstr "頂端列" + +#: ../js/ui/placeDisplay.js:122 #, c-format msgid "Failed to unmount '%s'" msgstr "無法卸載「%s」" -#: ../js/ui/placeDisplay.js:109 +#: ../js/ui/placeDisplay.js:125 msgid "Retry" msgstr "重試" -#: ../js/ui/placeDisplay.js:150 +#: ../js/ui/placeDisplay.js:165 msgid "Connect to..." msgstr "連接到…" -#: ../js/ui/placeDisplay.js:386 +#: ../js/ui/placeDisplay.js:380 msgid "PLACES & DEVICES" msgstr "位置 & 裝置" @@ -734,95 +583,103 @@ 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:33 +#: ../js/ui/popupMenu.js:636 msgid "toggle-switch-us" msgstr "toggle-switch-us" -#: ../js/ui/runDialog.js:209 +#: ../js/ui/runDialog.js:205 msgid "Please enter a command:" msgstr "請輸入指令:" -#: ../js/ui/statusMenu.js:102 +#: ../js/ui/searchDisplay.js:310 +msgid "Searching..." +msgstr "搜尋中…" + +#: ../js/ui/searchDisplay.js:324 +msgid "No matching results." +msgstr "沒有相符的結果。" + +#: ../js/ui/statusMenu.js:161 ../js/ui/statusMenu.js:228 +msgid "Power Off..." +msgstr "關閉電源…" + +#: ../js/ui/statusMenu.js:163 ../js/ui/statusMenu.js:227 +msgid "Suspend" +msgstr "暫停" + +#: ../js/ui/statusMenu.js:184 msgid "Available" msgstr "可用" -#: ../js/ui/statusMenu.js:107 +#: ../js/ui/statusMenu.js:189 msgid "Busy" msgstr "忙碌" -#: ../js/ui/statusMenu.js:115 +#: ../js/ui/statusMenu.js:197 msgid "My Account" msgstr "我的帳號" -#: ../js/ui/statusMenu.js:119 +#: ../js/ui/statusMenu.js:201 msgid "System Settings" msgstr "系統設定值" -#: ../js/ui/statusMenu.js:126 +#: ../js/ui/statusMenu.js:208 msgid "Lock Screen" msgstr "鎖定畫面" -#: ../js/ui/statusMenu.js:130 +#: ../js/ui/statusMenu.js:213 msgid "Switch User" msgstr "切換使用者" -#: ../js/ui/statusMenu.js:135 +#: ../js/ui/statusMenu.js:218 msgid "Log Out..." msgstr "登出…" -#: ../js/ui/statusMenu.js:142 -msgid "Suspend..." -msgstr "暫停…" - -#: ../js/ui/statusMenu.js:146 -msgid "Shut Down..." -msgstr "關機…" - -#: ../js/ui/status/accessibility.js:83 +#: ../js/ui/status/accessibility.js:62 msgid "Zoom" msgstr "縮放" -#: ../js/ui/status/accessibility.js:89 -msgid "Screen Reader" -msgstr "螢幕閱讀器" - -#: ../js/ui/status/accessibility.js:92 -msgid "Screen Keyboard" -msgstr "螢幕鍵盤" - -#: ../js/ui/status/accessibility.js:95 +#. let screenReader = this._buildItem(_("Screen Reader"), APPLICATIONS_SCHEMA, +#. 'screen-reader-enabled'); +#. this.menu.addMenuItem(screenReader); +#. let screenKeyboard = this._buildItem(_("Screen Keyboard"), APPLICATIONS_SCHEMA, +#. 'screen-keyboard-enabled'); +#. this.menu.addMenuItem(screenKeyboard); +#: ../js/ui/status/accessibility.js:77 msgid "Visual Alerts" msgstr "視覺警示" -#: ../js/ui/status/accessibility.js:98 +#: ../js/ui/status/accessibility.js:80 msgid "Sticky Keys" msgstr "黏性特殊鍵" -#: ../js/ui/status/accessibility.js:101 +#: ../js/ui/status/accessibility.js:83 msgid "Slow Keys" msgstr "遲緩按鍵" -#: ../js/ui/status/accessibility.js:104 +#: ../js/ui/status/accessibility.js:86 msgid "Bounce Keys" msgstr "回鍵" -#: ../js/ui/status/accessibility.js:107 +#: ../js/ui/status/accessibility.js:89 msgid "Mouse Keys" msgstr "滑鼠按鍵" -#: ../js/ui/status/accessibility.js:111 +#: ../js/ui/status/accessibility.js:93 msgid "Universal Access Settings" msgstr "無障礙功能設定值" -#: ../js/ui/status/accessibility.js:163 +#: ../js/ui/status/accessibility.js:146 msgid "High Contrast" msgstr "高反差" -#: ../js/ui/status/accessibility.js:205 +#: ../js/ui/status/accessibility.js:183 msgid "Large Text" msgstr "大型文字" -#: ../js/ui/status/bluetooth.js:42 ../js/ui/status/bluetooth.js:241 +#: ../js/ui/status/bluetooth.js:42 ../js/ui/status/bluetooth.js:237 +#: ../js/ui/status/bluetooth.js:333 ../js/ui/status/bluetooth.js:367 +#: ../js/ui/status/bluetooth.js:407 ../js/ui/status/bluetooth.js:440 msgid "Bluetooth" msgstr "藍牙" @@ -842,210 +699,345 @@ msgstr "設定新的裝置…" msgid "Bluetooth Settings" msgstr "藍牙設定值" -#: ../js/ui/status/bluetooth.js:192 +#: ../js/ui/status/bluetooth.js:188 msgid "Connection" msgstr "連線" -#: ../js/ui/status/bluetooth.js:228 +#: ../js/ui/status/bluetooth.js:224 msgid "Send Files..." msgstr "傳送檔案…" -#: ../js/ui/status/bluetooth.js:233 +#: ../js/ui/status/bluetooth.js:229 msgid "Browse Files..." msgstr "瀏覽檔案…" -#: ../js/ui/status/bluetooth.js:242 +#: ../js/ui/status/bluetooth.js:238 msgid "Error browsing device" msgstr "瀏覽裝置時發生錯誤" -#: ../js/ui/status/bluetooth.js:243 +#: ../js/ui/status/bluetooth.js:239 #, c-format msgid "The requested device cannot be browsed, error is '%s'" msgstr "要求的裝置是不能瀏覽的,錯誤為「%s」" -#: ../js/ui/status/bluetooth.js:251 +#: ../js/ui/status/bluetooth.js:247 msgid "Keyboard Settings" msgstr "鍵盤設定值" -#: ../js/ui/status/bluetooth.js:256 +#: ../js/ui/status/bluetooth.js:252 msgid "Mouse Settings" msgstr "滑鼠設定值" -#: ../js/ui/status/bluetooth.js:263 ../js/ui/status/volume.js:63 +#: ../js/ui/status/bluetooth.js:259 ../js/ui/status/volume.js:66 msgid "Sound Settings" msgstr "音效設定值" -#: ../js/ui/status/bluetooth.js:337 ../js/ui/status/bluetooth.js:371 -#: ../js/ui/status/bluetooth.js:411 ../js/ui/status/bluetooth.js:444 -msgid "Bluetooth Agent" -msgstr "藍牙代理程式" - -#: ../js/ui/status/bluetooth.js:372 +#: ../js/ui/status/bluetooth.js:368 #, c-format msgid "Authorization request from %s" msgstr "來自「%s」的驗證要求" -#: ../js/ui/status/bluetooth.js:378 +#: ../js/ui/status/bluetooth.js:374 #, c-format msgid "Device %s wants access to the service '%s'" msgstr "裝置 %s 想要存取服務「%s」" -#: ../js/ui/status/bluetooth.js:380 +#: ../js/ui/status/bluetooth.js:376 msgid "Always grant access" msgstr "永遠准許存取" -#: ../js/ui/status/bluetooth.js:381 +#: ../js/ui/status/bluetooth.js:377 msgid "Grant this time only" msgstr "只有這次准許" -#: ../js/ui/status/bluetooth.js:382 +#: ../js/ui/status/bluetooth.js:378 msgid "Reject" msgstr "拒絕" -#: ../js/ui/status/bluetooth.js:412 +#: ../js/ui/status/bluetooth.js:408 #, c-format msgid "Pairing confirmation for %s" msgstr "%s 的配對確認" -#: ../js/ui/status/bluetooth.js:418 ../js/ui/status/bluetooth.js:452 +#: ../js/ui/status/bluetooth.js:414 ../js/ui/status/bluetooth.js:448 #, c-format msgid "Device %s wants to pair with this computer" msgstr "裝置 %s 想要和這個電腦配對" -#: ../js/ui/status/bluetooth.js:419 +#: ../js/ui/status/bluetooth.js:415 #, c-format msgid "Please confirm whether the PIN '%s' matches the one on the device." msgstr "請確認 PIN「%s」是否和裝置上的相符。" -#: ../js/ui/status/bluetooth.js:421 +#: ../js/ui/status/bluetooth.js:417 msgid "Matches" msgstr "相符" -#: ../js/ui/status/bluetooth.js:422 +#: ../js/ui/status/bluetooth.js:418 msgid "Does not match" msgstr "不相符" -#: ../js/ui/status/bluetooth.js:445 +#: ../js/ui/status/bluetooth.js:441 #, c-format msgid "Pairing request for %s" msgstr "%s 的配對請求" -#: ../js/ui/status/bluetooth.js:453 +#: ../js/ui/status/bluetooth.js:449 msgid "Please enter the PIN mentioned on the device." msgstr "請輸入裝置所提及的 PIN。" -#: ../js/ui/status/bluetooth.js:469 +#: ../js/ui/status/bluetooth.js:465 msgid "OK" msgstr "確定" -#: ../js/ui/status/keyboard.js:78 +#: ../js/ui/status/keyboard.js:73 +msgid "Show Keyboard Layout..." +msgstr "顯示鍵盤配置…" + +#: ../js/ui/status/keyboard.js:76 msgid "Localization Settings" msgstr "本地化設定值" +#: ../js/ui/status/network.js:102 ../js/ui/status/network.js:1393 +msgid "" +msgstr "<不明>" + +#. Translators: this indicates that wireless or wwan is disabled by hardware killswitch +#: ../js/ui/status/network.js:295 +msgid "disabled" +msgstr "已停用" + +#: ../js/ui/status/network.js:476 +msgid "connecting..." +msgstr "連線中…" + +#. Translators: this is for network connections that require some kind of key or password +#: ../js/ui/status/network.js:479 +msgid "authentication required" +msgstr "要求驗證" + +#. Translators: this is for wired network devices that are physically disconnected +#: ../js/ui/status/network.js:485 +msgid "cable unplugged" +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:489 +msgid "unavailable" +msgstr "無法使用" + +#: ../js/ui/status/network.js:491 +msgid "connection failed" +msgstr "連線失敗" + +#. TRANSLATORS: this is the indication that a connection for another logged in user is active, +#. and we cannot access its settings (including the name) +#: ../js/ui/status/network.js:571 ../js/ui/status/network.js:1341 +msgid "Connected (private)" +msgstr "已連線 (私人)" + +#: ../js/ui/status/network.js:636 +msgid "Auto Ethernet" +msgstr "自動使用乙太網路" + +#: ../js/ui/status/network.js:697 +msgid "Auto broadband" +msgstr "自動使用行動寬頻" + +#: ../js/ui/status/network.js:700 +msgid "Auto dial-up" +msgstr "自動使用撥接" + +#. TRANSLATORS: this the automatic wireless connection name (including the network name) +#: ../js/ui/status/network.js:843 ../js/ui/status/network.js:1353 +#, c-format +msgid "Auto %s" +msgstr "自動使用 %s" + +#: ../js/ui/status/network.js:845 +msgid "Auto bluetooth" +msgstr "自動使用藍牙" + +#: ../js/ui/status/network.js:1355 +msgid "Auto wireless" +msgstr "自動使用無線網路" + +#: ../js/ui/status/network.js:1413 +msgid "More..." +msgstr "更多…" + +#: ../js/ui/status/network.js:1436 +msgid "Enable networking" +msgstr "啟用網路" + +#: ../js/ui/status/network.js:1448 +msgid "Wired" +msgstr "有線" + +#: ../js/ui/status/network.js:1459 +msgid "Wireless" +msgstr "無線" + +#: ../js/ui/status/network.js:1469 +msgid "Mobile broadband" +msgstr "行動寬頻" + +#: ../js/ui/status/network.js:1479 +msgid "VPN Connections" +msgstr "VPN 連線" + +#: ../js/ui/status/network.js:1488 +msgid "Network Settings" +msgstr "網路設定值" + +#: ../js/ui/status/network.js:1783 +#, c-format +msgid "You're now connected to mobile broadband connection '%s'" +msgstr "您現在已連線至行動寬頻網路連線「%s」" + +#: ../js/ui/status/network.js:1787 +#, c-format +msgid "You're now connected to wireless network '%s'" +msgstr "您現在已連線到無線網路「%s」" + +#: ../js/ui/status/network.js:1791 +#, c-format +msgid "You're now connected to wired network '%s'" +msgstr "您現在已連線至有線網路「%s」" + +#: ../js/ui/status/network.js:1795 +#, c-format +msgid "You're now connected to VPN network '%s'" +msgstr "您現在已連線至 VPN 網路「%s」" + +#: ../js/ui/status/network.js:1800 +#, c-format +msgid "You're now connected to '%s'" +msgstr "您現在已連線至「%s」" + +#: ../js/ui/status/network.js:1808 +msgid "Connection established" +msgstr "連線已建立" + +#: ../js/ui/status/network.js:1930 +msgid "Networking is disabled" +msgstr "網路已停用" + +#: ../js/ui/status/network.js:2055 +msgid "Network Manager" +msgstr "網路管理員" + #: ../js/ui/status/power.js:85 msgid "Power Settings" msgstr "電源定值" -#: ../js/ui/status/power.js:112 +#. 0 is reported when UPower does not have enough data +#. to estimate battery life +#: ../js/ui/status/power.js:111 +msgid "Estimating..." +msgstr "評估中…" + +#: ../js/ui/status/power.js:118 #, c-format msgid "%d hour remaining" msgid_plural "%d hours remaining" msgstr[0] "可使用 %d 小時" #. TRANSLATORS: this is a time string, as in "%d hours %d minutes remaining" -#: ../js/ui/status/power.js:115 +#: ../js/ui/status/power.js:121 #, c-format msgid "%d %s %d %s remaining" msgstr "剩下 %d %s %d %s" -#: ../js/ui/status/power.js:117 +#: ../js/ui/status/power.js:123 msgid "hour" msgid_plural "hours" msgstr[0] "小時" -#: ../js/ui/status/power.js:117 +#: ../js/ui/status/power.js:123 msgid "minute" msgid_plural "minutes" msgstr[0] "分鐘" -#: ../js/ui/status/power.js:120 +#: ../js/ui/status/power.js:126 #, c-format msgid "%d minute remaining" msgid_plural "%d minutes remaining" msgstr[0] "剩下 %d 分鐘" -#: ../js/ui/status/power.js:235 +#: ../js/ui/status/power.js:228 msgid "AC adapter" msgstr "AC 電源" -#: ../js/ui/status/power.js:237 +#: ../js/ui/status/power.js:230 msgid "Laptop battery" msgstr "筆記型電腦電池" -#: ../js/ui/status/power.js:239 +#: ../js/ui/status/power.js:232 msgid "UPS" msgstr "不斷電系統" -#: ../js/ui/status/power.js:241 +#: ../js/ui/status/power.js:234 msgid "Monitor" msgstr "監視器" -#: ../js/ui/status/power.js:243 +#: ../js/ui/status/power.js:236 msgid "Mouse" msgstr "滑鼠" -#: ../js/ui/status/power.js:245 +#: ../js/ui/status/power.js:238 msgid "Keyboard" msgstr "鍵盤" -#: ../js/ui/status/power.js:247 +#: ../js/ui/status/power.js:240 msgid "PDA" msgstr "PDA" -#: ../js/ui/status/power.js:249 +#: ../js/ui/status/power.js:242 msgid "Cell phone" msgstr "行動電話" -#: ../js/ui/status/power.js:251 +#: ../js/ui/status/power.js:244 msgid "Media player" msgstr "媒體播放器" -#: ../js/ui/status/power.js:253 +#: ../js/ui/status/power.js:246 msgid "Tablet" msgstr "手寫板" -#: ../js/ui/status/power.js:255 +#: ../js/ui/status/power.js:248 msgid "Computer" msgstr "電腦" -#: ../js/ui/status/power.js:257 ../src/shell-app-system.c:1012 +#: ../js/ui/status/power.js:250 ../src/shell-app-system.c:1088 msgid "Unknown" msgstr "不明" -#: ../js/ui/status/volume.js:42 +#: ../js/ui/status/volume.js:45 msgid "Volume" msgstr "音量" -#: ../js/ui/status/volume.js:55 +#: ../js/ui/status/volume.js:58 msgid "Microphone" msgstr "麥克風" -#: ../js/ui/telepathyClient.js:563 +#: ../js/ui/telepathyClient.js:332 #, c-format msgid "%s is online." msgstr "%s 現在上線。" -#: ../js/ui/telepathyClient.js:568 +#: ../js/ui/telepathyClient.js:337 #, c-format msgid "%s is offline." msgstr "%s 現在離線。" -#: ../js/ui/telepathyClient.js:571 +#: ../js/ui/telepathyClient.js:340 #, c-format msgid "%s is away." msgstr "%s 已離開。" -#: ../js/ui/telepathyClient.js:574 +#: ../js/ui/telepathyClient.js:343 #, c-format msgid "%s is busy." msgstr "%s 正忙碌。" @@ -1053,37 +1045,36 @@ msgstr "%s 正忙碌。" #. Translators: this is a time format string followed by a date. #. If applicable, replace %X with a strftime format valid for your #. locale, without seconds. -#: ../js/ui/telepathyClient.js:668 +#: ../js/ui/telepathyClient.js:474 #, no-c-format msgid "Sent at %X on %A" msgstr "傳送於 %X %A" -#: ../js/ui/viewSelector.js:26 -msgid "Search your computer" -msgstr "搜尋您的電腦" +#. Translators: this is the text displayed +#. in the search entry when no search is +#. active; it should not exceed ~30 +#. characters. +#: ../js/ui/viewSelector.js:122 +msgid "Type to search..." +msgstr "輸入以搜尋…" -#: ../js/ui/windowAttentionHandler.js:43 +#: ../js/ui/viewSelector.js:142 ../src/shell-util.c:250 +msgid "Search" +msgstr "搜尋" + +#: ../js/ui/windowAttentionHandler.js:42 #, c-format msgid "%s has finished starting" msgstr "%s 已完成啟動" -#: ../js/ui/windowAttentionHandler.js:45 +#: ../js/ui/windowAttentionHandler.js:44 #, c-format msgid "'%s' is ready" msgstr "「%s」已就緒" -#: ../js/ui/workspacesView.js:243 -msgid "" -"Can't add a new workspace because maximum workspaces limit has been reached." -msgstr "不能加入新的工作區,因為已達到最大工作區上限。" - -#: ../js/ui/workspacesView.js:259 -msgid "Can't remove the first workspace." -msgstr "不能移除第一個工作區。" - #. translators: #. * The number of sound outputs on a particular device -#: ../src/gvc/gvc-mixer-control.c:1094 +#: ../src/gvc/gvc-mixer-control.c:1098 #, c-format msgid "%u Output" msgid_plural "%u Outputs" @@ -1091,44 +1082,65 @@ msgstr[0] "%u 輸出" #. translators: #. * The number of sound inputs on a particular device -#: ../src/gvc/gvc-mixer-control.c:1104 +#: ../src/gvc/gvc-mixer-control.c:1108 #, c-format msgid "%u Input" msgid_plural "%u Inputs" msgstr[0] "%u 輸入" -#: ../src/gvc/gvc-mixer-control.c:1402 +#: ../src/gvc/gvc-mixer-control.c:1406 msgid "System Sounds" msgstr "系統音效" -#: ../src/shell-global.c:1365 +#: ../src/main.c:397 +msgid "Print version" +msgstr "顯示版本" + +#: ../src/shell-app.c:454 +#, c-format +msgid "Failed to launch '%s'" +msgstr "無法啟動「%s」" + +#: ../src/shell-global.c:1395 msgid "Less than a minute ago" msgstr "少於一分鐘之前" -#: ../src/shell-global.c:1369 +#: ../src/shell-global.c:1399 #, c-format msgid "%d minute ago" msgid_plural "%d minutes ago" msgstr[0] "%d 分鐘前" -#: ../src/shell-global.c:1374 +#: ../src/shell-global.c:1404 #, c-format msgid "%d hour ago" msgid_plural "%d hours ago" msgstr[0] "%d 小時前" -#: ../src/shell-global.c:1379 +#: ../src/shell-global.c:1409 #, c-format msgid "%d day ago" msgid_plural "%d days ago" msgstr[0] "%d 天前" -#: ../src/shell-global.c:1384 +#: ../src/shell-global.c:1414 #, c-format msgid "%d week ago" msgid_plural "%d weeks ago" msgstr[0] "%d 週前" +#: ../src/shell-mobile-providers.c:80 +msgid "United Kingdom" +msgstr "英國" + +#: ../src/shell-mobile-providers.c:526 +msgid "Default" +msgstr "預設值" + +#: ../src/shell-polkit-authentication-agent.c:334 +msgid "Authentication dialog was dismissed by the user" +msgstr "驗證對話盒被使用者取消了" + #: ../src/shell-util.c:89 msgid "Home Folder" msgstr "家目錄" @@ -1139,10 +1151,6 @@ msgstr "家目錄" msgid "File System" msgstr "檔案系統" -#: ../src/shell-util.c:250 -msgid "Search" -msgstr "搜尋" - #. Translators: the first string is the name of a gvfs #. * method, and the second string is a path. For #. * example, "Trash: some-directory". It means that the @@ -1153,99 +1161,5 @@ msgstr "搜尋" msgid "%1$s: %2$s" msgstr "%1$s:%2$s" -#~ msgid "Clock" -#~ msgstr "時鐘" - -#~ msgid "Customize the panel clock" -#~ msgstr "自訂面板時鐘" - -#~ msgid "Custom format of the clock" -#~ msgstr "自訂時鐘的格式" - -#~ msgid "Hour format" -#~ msgstr "小時格式" - -#~ msgid "" -#~ "If true and format is either \"12-hour\" or \"24-hour\", display seconds " -#~ "in time." -#~ msgstr "如果設為 true 且格式為「12-小時」或「24-小時」,在時刻裡顯示秒鐘。" - -#~ msgid "" -#~ "This key specifies the format used by the panel clock when the format key " -#~ "is set to \"custom\". You can use conversion specifiers understood by " -#~ "strftime() to obtain a specific format. See the strftime() manual for " -#~ "more information." -#~ msgstr "" -#~ "這個設定鍵是在面板時鐘的「format」設定鍵被設為「custom」時使用的自訂格式。" -#~ "您可以用可被 strftime() 理解的轉換規範來取得所指定的格式。請查閱 strftime" -#~ "() 手冊以獲取更多資訊。" - -#~ msgid "" -#~ "This key specifies the hour format used by the panel clock. Possible " -#~ "values are \"12-hour\", \"24-hour\", \"unix\" and \"custom\". If set to " -#~ "\"unix\", the clock will display time in seconds since Epoch, i.e. " -#~ "1970-01-01. If set to \"custom\", the clock will display time according " -#~ "to the format specified in the custom_format key. Note that if set to " -#~ "either \"unix\" or \"custom\", the show_date and show_seconds keys are " -#~ "ignored." -#~ msgstr "" -#~ "這個設定值指定了面板時鐘使用的小時格式。可用的數值有「12-hour」、「24-" -#~ "hour」、「unix」和「custom」。如果設定為「unix」,時鐘會顯示自 Epoch,即 " -#~ "1970-01-01 以來的秒數。如果設定為「custom」,時鐘會根據 custom_format 設定" -#~ "鍵顯示時刻。注意不管設為「unix」或「custom」,show_date 和 show_seconds 設" -#~ "定鍵都會被忽略。" - -#~ msgid "Clock Format" -#~ msgstr "時鐘格式" - -#~ msgid "Clock Preferences" -#~ msgstr "時鐘偏好設定" - -#~ msgid "Panel Display" -#~ msgstr "面板顯示" - -#~ msgid "Show seco_nds" -#~ msgstr "顯示秒數(_N)" - -#~ msgid "Show the _date" -#~ msgstr "顯示日期(_D)" - -#~ msgid "_12 hour format" -#~ msgstr "_12 小時制" - -#~ msgid "_24 hour format" -#~ msgstr "_24 小時制" - -#~ msgid "Preferences" -#~ msgstr "偏好設定" - -#~ msgid "Overview workspace view mode" -#~ msgstr "概覽工作區檢視模式" - -#~ msgid "" -#~ "The selected workspace view mode in the overview. Supported values are " -#~ "\"single\" and \"grid\"." -#~ msgstr "" -#~ "在概覽中選取的工作區檢視模式。支援的數值有「single」(單一)和「grid」(格" -#~ "線)。" - -#~ msgid "Drag here to add favorites" -#~ msgstr "拖放到這裡加入喜好" - -#~ msgid "Find" -#~ msgstr "尋找" - -#~ msgid "Searching..." -#~ msgstr "搜尋中…" - -#~ msgid "No matching results." -#~ msgstr "沒有相符的結果。" - -#~ msgid "Invisible" -#~ msgstr "隱形" - -#~ msgid "ON" -#~ msgstr "開" - -#~ msgid "OFF" -#~ msgstr "關" +#~ msgid "No such application" +#~ msgstr "沒有這個應用程式" From f84c62f0be4f73edfa6dbab205eb0b67cb413749 Mon Sep 17 00:00:00 2001 From: Alexander Larsson Date: Tue, 22 Mar 2011 12:46:56 +0100 Subject: [PATCH 132/203] Fix overview sizing when exiting via thumbnails We need to update WorkspacesView._ZoomOut before calling _updateWorkspacesGeometry() in show(), as otherwise the old value is kept. This was a problem if we previously left the overview zoomed out. --- js/ui/workspacesView.js | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/js/ui/workspacesView.js b/js/ui/workspacesView.js index f791f9fb4..567f90a2c 100644 --- a/js/ui/workspacesView.js +++ b/js/ui/workspacesView.js @@ -619,6 +619,10 @@ WorkspacesDisplay.prototype = { }, show: function() { + this._zoomOut = this._alwaysZoomOut; + this._zoomFraction = this._alwaysZoomOut ? 1 : 0; + this._updateZoom(); + this._controls.show(); this._thumbnailsBox.show(); @@ -661,9 +665,6 @@ WorkspacesDisplay.prototype = { Lang.bind(this, this._dragEnd)); this._onRestacked(); - this._zoomOut = this._alwaysZoomOut; - this._zoomFraction = this._alwaysZoomOut ? 1 : 0; - this._updateZoom(); }, hide: function() { From 69ca18f36bbe3584c091223ab03dc96b69a77410 Mon Sep 17 00:00:00 2001 From: Khaled Hosny Date: Tue, 22 Mar 2011 15:04:15 +0200 Subject: [PATCH 133/203] Updated Arabic translation --- po/ar.po | 149 ++++++++++++++++++++++++++++--------------------------- 1 file changed, 76 insertions(+), 73 deletions(-) diff --git a/po/ar.po b/po/ar.po index b7d886c96..6b37609dc 100644 --- a/po/ar.po +++ b/po/ar.po @@ -6,8 +6,8 @@ msgid "" msgstr "" "Project-Id-Version: HEAD\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2011-03-17 22:54+0200\n" -"PO-Revision-Date: 2011-03-17 22:54+0300\n" +"POT-Creation-Date: 2011-03-22 15:03+0200\n" +"PO-Revision-Date: 2011-03-22 15:03+0300\n" "Last-Translator: Khaled Hosny \n" "Language-Team: Arabic \n" "MIME-Version: 1.0\n" @@ -160,27 +160,27 @@ msgid "Execution of '%s' failed:" msgstr "فشل تنفيذ '%s':‏" #. Translators: Filter to display all applications -#: ../js/ui/appDisplay.js:226 +#: ../js/ui/appDisplay.js:230 msgid "All" msgstr "الكل" -#: ../js/ui/appDisplay.js:324 +#: ../js/ui/appDisplay.js:328 msgid "APPLICATIONS" msgstr "التطبيقات" -#: ../js/ui/appDisplay.js:350 +#: ../js/ui/appDisplay.js:354 msgid "SETTINGS" msgstr "الإعدادات" -#: ../js/ui/appDisplay.js:612 +#: ../js/ui/appDisplay.js:620 msgid "New Window" msgstr "نافذة جديدة" -#: ../js/ui/appDisplay.js:615 +#: ../js/ui/appDisplay.js:623 msgid "Remove from Favorites" msgstr "أزِل من المفضّلة" -#: ../js/ui/appDisplay.js:616 +#: ../js/ui/appDisplay.js:624 msgid "Add to Favorites" msgstr "أضِف إلى المفضّلة" @@ -340,7 +340,7 @@ msgstr "هذا الأسبوع" msgid "Next week" msgstr "الأسبوع القادم" -#: ../js/ui/dash.js:174 ../js/ui/messageTray.js:933 +#: ../js/ui/dash.js:174 ../js/ui/messageTray.js:945 msgid "Remove" msgstr "أزِل" @@ -468,7 +468,7 @@ msgstr "يُعيد تشغيل النظام." msgid "Confirm" msgstr "أكّد" -#: ../js/ui/endSessionDialog.js:400 ../js/ui/status/bluetooth.js:465 +#: ../js/ui/endSessionDialog.js:400 ../js/ui/status/bluetooth.js:466 msgid "Cancel" msgstr "ألغِ" @@ -502,47 +502,47 @@ msgstr "اعرض المصدر" msgid "Web Page" msgstr "صفحة الوب" -#: ../js/ui/messageTray.js:926 +#: ../js/ui/messageTray.js:938 msgid "Open" msgstr "افتح" -#: ../js/ui/messageTray.js:1986 +#: ../js/ui/messageTray.js:2018 msgid "System Information" msgstr "معلومات النظام" -#: ../js/ui/overview.js:88 +#: ../js/ui/overview.js:89 msgid "Undo" msgstr "تراجع" -#: ../js/ui/overview.js:183 +#: ../js/ui/overview.js:184 msgid "Windows" msgstr "النوافذ" -#: ../js/ui/overview.js:186 +#: ../js/ui/overview.js:187 msgid "Applications" msgstr "التطبيقات" #. Translators: this is the name of the dock/favorites area on #. the left of the overview -#: ../js/ui/overview.js:202 +#: ../js/ui/overview.js:203 msgid "Dash" msgstr "الشريط" #. TODO - _quit() doesn't really work on apps in state STARTING yet -#: ../js/ui/panel.js:514 +#: ../js/ui/panel.js:515 #, c-format msgid "Quit %s" msgstr "أغلق %s" #. Button on the left side of the panel. #. Translators: If there is no suitable word for "Activities" in your language, you can use the word for "Overview". -#: ../js/ui/panel.js:873 +#: ../js/ui/panel.js:876 msgid "Activities" msgstr "الأنشطة" -#: ../js/ui/panel.js:974 -msgid "Panel" -msgstr "اللوحة" +#: ../js/ui/panel.js:977 +msgid "Top Bar" +msgstr "الشريط العلوي" #: ../js/ui/placeDisplay.js:122 #, c-format @@ -570,51 +570,51 @@ msgstr "الأماكن والأجهزة" msgid "toggle-switch-us" msgstr "toggle-switch-intl" -#: ../js/ui/runDialog.js:201 +#: ../js/ui/runDialog.js:205 msgid "Please enter a command:" msgstr "من فضلك اكتب أمرا:" -#: ../js/ui/searchDisplay.js:283 +#: ../js/ui/searchDisplay.js:310 msgid "Searching..." msgstr "يبحث..." -#: ../js/ui/searchDisplay.js:297 +#: ../js/ui/searchDisplay.js:324 msgid "No matching results." msgstr "لا نتائج مطابقة." -#: ../js/ui/statusMenu.js:114 ../js/ui/statusMenu.js:178 +#: ../js/ui/statusMenu.js:161 ../js/ui/statusMenu.js:228 msgid "Power Off..." msgstr "أطفئ..." -#: ../js/ui/statusMenu.js:116 ../js/ui/statusMenu.js:177 +#: ../js/ui/statusMenu.js:163 ../js/ui/statusMenu.js:227 msgid "Suspend" msgstr "علّق" -#: ../js/ui/statusMenu.js:137 +#: ../js/ui/statusMenu.js:184 msgid "Available" msgstr "متاح" -#: ../js/ui/statusMenu.js:142 +#: ../js/ui/statusMenu.js:189 msgid "Busy" msgstr "مشغول" -#: ../js/ui/statusMenu.js:150 +#: ../js/ui/statusMenu.js:197 msgid "My Account" msgstr "حسابي" -#: ../js/ui/statusMenu.js:154 +#: ../js/ui/statusMenu.js:201 msgid "System Settings" msgstr "إعدادات النظام" -#: ../js/ui/statusMenu.js:161 +#: ../js/ui/statusMenu.js:208 msgid "Lock Screen" msgstr "أوصد الشاشة" -#: ../js/ui/statusMenu.js:165 +#: ../js/ui/statusMenu.js:213 msgid "Switch User" msgstr "بدّل المستخدم" -#: ../js/ui/statusMenu.js:170 +#: ../js/ui/statusMenu.js:218 msgid "Log Out..." msgstr "اخرج..." @@ -660,9 +660,9 @@ msgstr "تباين عال" msgid "Large Text" msgstr "نص كبير" -#: ../js/ui/status/bluetooth.js:42 ../js/ui/status/bluetooth.js:236 -#: ../js/ui/status/bluetooth.js:332 ../js/ui/status/bluetooth.js:366 -#: ../js/ui/status/bluetooth.js:406 ../js/ui/status/bluetooth.js:439 +#: ../js/ui/status/bluetooth.js:42 ../js/ui/status/bluetooth.js:237 +#: ../js/ui/status/bluetooth.js:333 ../js/ui/status/bluetooth.js:367 +#: ../js/ui/status/bluetooth.js:407 ../js/ui/status/bluetooth.js:440 msgid "Bluetooth" msgstr "بلوتوث" @@ -682,94 +682,94 @@ msgstr "اضبط جهازا جديدا..." msgid "Bluetooth Settings" msgstr "إعدادات بلوتوث" -#: ../js/ui/status/bluetooth.js:187 +#: ../js/ui/status/bluetooth.js:188 msgid "Connection" msgstr "الاتصال" -#: ../js/ui/status/bluetooth.js:223 +#: ../js/ui/status/bluetooth.js:224 msgid "Send Files..." msgstr "أرسل ملفات..." -#: ../js/ui/status/bluetooth.js:228 +#: ../js/ui/status/bluetooth.js:229 msgid "Browse Files..." msgstr "تصفح الملفات..." -#: ../js/ui/status/bluetooth.js:237 +#: ../js/ui/status/bluetooth.js:238 msgid "Error browsing device" msgstr "عطل أثناء تصفّح الجهاز" -#: ../js/ui/status/bluetooth.js:238 +#: ../js/ui/status/bluetooth.js:239 #, c-format msgid "The requested device cannot be browsed, error is '%s'" msgstr "تعذّر تصفح الجهاز، رسالة العطل '%s'" -#: ../js/ui/status/bluetooth.js:246 +#: ../js/ui/status/bluetooth.js:247 msgid "Keyboard Settings" msgstr "إعدادات لوحة المفاتيح" -#: ../js/ui/status/bluetooth.js:251 +#: ../js/ui/status/bluetooth.js:252 msgid "Mouse Settings" msgstr "إعدادات الفأرة" -#: ../js/ui/status/bluetooth.js:258 ../js/ui/status/volume.js:66 +#: ../js/ui/status/bluetooth.js:259 ../js/ui/status/volume.js:66 msgid "Sound Settings" msgstr "إعدادات الصوت" -#: ../js/ui/status/bluetooth.js:367 +#: ../js/ui/status/bluetooth.js:368 #, c-format msgid "Authorization request from %s" msgstr "طلب تخويل من %s" -#: ../js/ui/status/bluetooth.js:373 +#: ../js/ui/status/bluetooth.js:374 #, c-format msgid "Device %s wants access to the service '%s'" msgstr "يريد الجهاز %s صلاحية الوصول للخدمة '%s'" -#: ../js/ui/status/bluetooth.js:375 +#: ../js/ui/status/bluetooth.js:376 msgid "Always grant access" msgstr "امنح الصلاحية دائما" -#: ../js/ui/status/bluetooth.js:376 +#: ../js/ui/status/bluetooth.js:377 msgid "Grant this time only" msgstr "امنح هذه المرة فقط" -#: ../js/ui/status/bluetooth.js:377 +#: ../js/ui/status/bluetooth.js:378 msgid "Reject" msgstr "أخرج" -#: ../js/ui/status/bluetooth.js:407 +#: ../js/ui/status/bluetooth.js:408 #, c-format msgid "Pairing confirmation for %s" msgstr "تأكيد مزاوجة %s" -#: ../js/ui/status/bluetooth.js:413 ../js/ui/status/bluetooth.js:447 +#: ../js/ui/status/bluetooth.js:414 ../js/ui/status/bluetooth.js:448 #, c-format msgid "Device %s wants to pair with this computer" msgstr "يريد الجهاز %s المزاوجة مع هذا الحاسوب" -#: ../js/ui/status/bluetooth.js:414 +#: ../js/ui/status/bluetooth.js:415 #, c-format msgid "Please confirm whether the PIN '%s' matches the one on the device." msgstr "من فضلك أكد تطابق الرقم '%s' مع الموجود على الجهاز." -#: ../js/ui/status/bluetooth.js:416 +#: ../js/ui/status/bluetooth.js:417 msgid "Matches" msgstr "مطابقات" -#: ../js/ui/status/bluetooth.js:417 +#: ../js/ui/status/bluetooth.js:418 msgid "Does not match" msgstr "لا تتطابق" -#: ../js/ui/status/bluetooth.js:440 +#: ../js/ui/status/bluetooth.js:441 #, c-format msgid "Pairing request for %s" msgstr "طلب مزاوجة من %s" -#: ../js/ui/status/bluetooth.js:448 +#: ../js/ui/status/bluetooth.js:449 msgid "Please enter the PIN mentioned on the device." msgstr "من فضلك أدخل الرقم المذكور على الجهاز." -#: ../js/ui/status/bluetooth.js:464 +#: ../js/ui/status/bluetooth.js:465 msgid "OK" msgstr "حسنا" @@ -874,40 +874,40 @@ msgstr "اتصال ش‌خ‌ف" msgid "Network Settings" msgstr "إعدادات الشّبكة" -#: ../js/ui/status/network.js:1782 +#: ../js/ui/status/network.js:1783 #, c-format msgid "You're now connected to mobile broadband connection '%s'" msgstr "صرت الآن متّصلا بشبكة الهاتف المحمول '%s'" -#: ../js/ui/status/network.js:1786 +#: ../js/ui/status/network.js:1787 #, c-format msgid "You're now connected to wireless network '%s'" msgstr "صرت الآن متّصلا بالشبكة اللاسلكية '%s'" -#: ../js/ui/status/network.js:1790 +#: ../js/ui/status/network.js:1791 #, c-format msgid "You're now connected to wired network '%s'" msgstr "صرت الآن متّصلا بالشبكة السلكية '%s'" -#: ../js/ui/status/network.js:1794 +#: ../js/ui/status/network.js:1795 #, c-format msgid "You're now connected to VPN network '%s'" msgstr "صرت الآن متّصلا بشبكة ش‌خ‌ف '%s'" -#: ../js/ui/status/network.js:1799 +#: ../js/ui/status/network.js:1800 #, c-format msgid "You're now connected to '%s'" msgstr "صرت الآن متّصلا بشبكة '%s'" -#: ../js/ui/status/network.js:1807 +#: ../js/ui/status/network.js:1808 msgid "Connection established" msgstr "تم الاتصال" -#: ../js/ui/status/network.js:1929 +#: ../js/ui/status/network.js:1930 msgid "Networking is disabled" msgstr "عُطّلت الشبكات" -#: ../js/ui/status/network.js:2054 +#: ../js/ui/status/network.js:2055 msgid "Network Manager" msgstr "مدير الشبكة" @@ -1013,7 +1013,7 @@ msgstr "لوحة" msgid "Computer" msgstr "حاسوب" -#: ../js/ui/status/power.js:250 ../src/shell-app-system.c:961 +#: ../js/ui/status/power.js:250 ../src/shell-app-system.c:1088 msgid "Unknown" msgstr "مجهول" @@ -1057,11 +1057,11 @@ msgstr "أُرسلت الساعة %l:%M:%S في %A" #. in the search entry when no search is #. active; it should not exceed ~30 #. characters. -#: ../js/ui/viewSelector.js:119 +#: ../js/ui/viewSelector.js:122 msgid "Type to search..." msgstr "اكتب نصا للبحث عنه..." -#: ../js/ui/viewSelector.js:139 ../src/shell-util.c:250 +#: ../js/ui/viewSelector.js:142 ../src/shell-util.c:250 msgid "Search" msgstr "ابحث" @@ -1114,11 +1114,11 @@ msgstr "اطبع الإصدارة" msgid "Failed to launch '%s'" msgstr "فشل تشغيل '%s'" -#: ../src/shell-global.c:1340 +#: ../src/shell-global.c:1395 msgid "Less than a minute ago" msgstr "منذ أقل من دقيقة" -#: ../src/shell-global.c:1344 +#: ../src/shell-global.c:1399 #, c-format msgid "%d minute ago" msgid_plural "%d minutes ago" @@ -1129,7 +1129,7 @@ msgstr[3] "منذ %d دقائق" msgstr[4] "منذ %d دقيقة" msgstr[5] "منذ %d دقيقة" -#: ../src/shell-global.c:1349 +#: ../src/shell-global.c:1404 #, c-format msgid "%d hour ago" msgid_plural "%d hours ago" @@ -1140,7 +1140,7 @@ msgstr[3] "منذ %d ساعات" msgstr[4] "منذ %d ساعة" msgstr[5] "منذ %d ساعة" -#: ../src/shell-global.c:1354 +#: ../src/shell-global.c:1409 #, c-format msgid "%d day ago" msgid_plural "%d days ago" @@ -1151,7 +1151,7 @@ msgstr[3] "منذ %d أيام" msgstr[4] "منذ %d يوما" msgstr[5] "منذ %d يوم" -#: ../src/shell-global.c:1359 +#: ../src/shell-global.c:1414 #, c-format msgid "%d week ago" msgid_plural "%d weeks ago" @@ -1194,6 +1194,9 @@ msgstr "نظام الملفات" msgid "%1$s: %2$s" msgstr "‏%1$s:‏ %2$s" +#~ msgid "Panel" +#~ msgstr "اللوحة" + #~ msgid "No such application" #~ msgstr "لا تطبيق بهذا الاسم" From afffa76c1726158397013e3261876cf003574d1d Mon Sep 17 00:00:00 2001 From: Giovanni Campagna Date: Tue, 11 Jan 2011 16:38:55 +0100 Subject: [PATCH 134/203] Make St aware of the UI group. Inside the Shell, all the UI (including chrome, the overview, and the actual windows) is not a child of the stage but of a special ClutterGroup, which is cloned inside the magnifier. Add function for setting this special actor so that actors added by St are visible in the magnifier. Nothing yet uses this, but the tooltip will soon. https://bugzilla.gnome.org/show_bug.cgi?id=635100 --- js/ui/main.js | 1 + src/st/st-widget.c | 68 ++++++++++++++++++++++++++++++++++++++++++++++ src/st/st-widget.h | 4 +++ 3 files changed, 73 insertions(+) diff --git a/js/ui/main.js b/js/ui/main.js index 155cdb299..603f48522 100644 --- a/js/ui/main.js +++ b/js/ui/main.js @@ -136,6 +136,7 @@ function start() { // Set up stage hierarchy to group all UI actors under one container. uiGroup = new Clutter.Group(); + St.set_ui_root(global.stage, uiGroup); global.window_group.reparent(uiGroup); global.overlay_group.reparent(uiGroup); global.stage.add_actor(uiGroup); diff --git a/src/st/st-widget.c b/src/st/st-widget.c index 45b3f8db9..fe5d1b0c5 100644 --- a/src/st/st-widget.c +++ b/src/st/st-widget.c @@ -2222,3 +2222,71 @@ on_can_focus_notify (GObject *gobject, atk_object_notify_state_change (ATK_OBJECT (data), ATK_STATE_FOCUSABLE, can_focus); } + +static GQuark +st_ui_root_quark (void) +{ + static GQuark value = 0; + if (G_UNLIKELY (value == 0)) + value = g_quark_from_static_string ("st-ui-root"); + return value; +} + +static void +st_ui_root_destroyed (ClutterActor *actor, + ClutterStage *stage) +{ + st_set_ui_root (stage, NULL); + g_signal_handlers_disconnect_by_func (actor, st_ui_root_destroyed, stage); +} + +/** + * st_get_ui_root: + * @stage: a #ClutterStage + * @container: (allow-none): the new UI root + * + * Sets a #ClutterContainer to be the parent of all UI in the program. + * This container is used when St needs to add new content outside the + * widget hierarchy, for example, when it shows a tooltip over a widget. + */ +void +st_set_ui_root (ClutterStage *stage, + ClutterContainer *container) +{ + ClutterContainer *previous; + + g_return_if_fail (CLUTTER_IS_STAGE (stage)); + g_return_if_fail (CLUTTER_IS_CONTAINER (container)); + + previous = st_get_ui_root (stage); + if (previous) + g_signal_handlers_disconnect_by_func (container, st_ui_root_destroyed, stage); + + if (container) + { + g_signal_connect (container, "destroy", G_CALLBACK (st_ui_root_destroyed), stage); + g_object_set_qdata_full (G_OBJECT (stage), st_ui_root_quark (), g_object_ref (container), g_object_unref); + } +} + +/** + * st_get_ui_root: + * @stage: a #ClutterStage + * + * Returns: (transfer none): the container which should be the parent of all user interface, + * which can be set with st_set_ui_root(). If not set, returns @stage + */ +ClutterContainer * +st_get_ui_root (ClutterStage *stage) +{ + ClutterContainer *root; + + g_return_val_if_fail (CLUTTER_IS_STAGE (stage), NULL); + + root = g_object_get_qdata (G_OBJECT (stage), st_ui_root_quark ()); + + if (root != NULL) + return root; + else + return CLUTTER_CONTAINER (stage); +} diff --git a/src/st/st-widget.h b/src/st/st-widget.h index 7f5efec7a..d38eb6893 100644 --- a/src/st/st-widget.h +++ b/src/st/st-widget.h @@ -162,6 +162,10 @@ char *st_describe_actor (ClutterActor *actor); void st_set_slow_down_factor (gfloat factor); gfloat st_get_slow_down_factor (void); +void st_set_ui_root (ClutterStage *stage, + ClutterContainer *container); +ClutterContainer *st_get_ui_root (ClutterStage *stage); + G_END_DECLS #endif /* __ST_WIDGET_H__ */ From 087e86fb320d44a866d48bc4eef7f8b4c98fed4f Mon Sep 17 00:00:00 2001 From: Giovanni Campagna Date: Tue, 30 Nov 2010 17:20:18 +0100 Subject: [PATCH 135/203] StTooltip: fix various warnings and use Clutter API correctly Use ClutterContainer functions for adding the tooltip instead of calling clutter_actor_set_parent behind the stage's back, and do it inside st_widget_show_tooltip (which is a normal method) instead of overriding st_tooltip_show, which is a vfunc and it is called internally by Clutter, therefore it is limited in what it can safely do. Also, instead of positioning the tooltip with clutter_actor_set_position, modify the anchor point when the associated widget moves, so that only a redraw is queued. https://bugzilla.gnome.org/show_bug.cgi?id=635100 --- src/st/st-tooltip.c | 91 +++++++-------------------------- src/st/st-widget.c | 121 +++++++++++++++++++++++++++----------------- 2 files changed, 94 insertions(+), 118 deletions(-) diff --git a/src/st/st-tooltip.c b/src/st/st-tooltip.c index 09e7aa765..5ef0f0267 100644 --- a/src/st/st-tooltip.c +++ b/src/st/st-tooltip.c @@ -208,26 +208,6 @@ st_tooltip_paint (ClutterActor *self) clutter_actor_paint (CLUTTER_ACTOR (priv->label)); } -static void -st_tooltip_map (ClutterActor *self) -{ - StTooltipPrivate *priv = ST_TOOLTIP (self)->priv; - - CLUTTER_ACTOR_CLASS (st_tooltip_parent_class)->map (self); - - clutter_actor_map (CLUTTER_ACTOR (priv->label)); -} - -static void -st_tooltip_unmap (ClutterActor *self) -{ - StTooltipPrivate *priv = ST_TOOLTIP (self)->priv; - - CLUTTER_ACTOR_CLASS (st_tooltip_parent_class)->unmap (self); - - clutter_actor_unmap (CLUTTER_ACTOR (priv->label)); -} - static void st_tooltip_dispose (GObject *self) { @@ -259,8 +239,6 @@ st_tooltip_class_init (StTooltipClass *klass) actor_class->get_preferred_height = st_tooltip_get_preferred_height; actor_class->allocate = st_tooltip_allocate; actor_class->paint = st_tooltip_paint; - actor_class->map = st_tooltip_map; - actor_class->unmap = st_tooltip_unmap; actor_class->show = st_tooltip_show; actor_class->show_all = st_tooltip_show_all; actor_class->hide_all = st_tooltip_hide_all; @@ -302,16 +280,13 @@ st_tooltip_update_position (StTooltip *tooltip) StTooltipPrivate *priv = tooltip->priv; ClutterGeometry *tip_area = tooltip->priv->tip_area; gfloat tooltip_w, tooltip_h, tooltip_x, tooltip_y; - gfloat stage_w, stage_h; - ClutterActor *stage; - - /* ensure the tooltip with is not fixed size */ - clutter_actor_set_size ((ClutterActor*) tooltip, -1, -1); + gfloat parent_w, parent_h; + ClutterActor *parent; /* if no area set, just position ourselves top left */ if (!priv->tip_area) { - clutter_actor_set_position ((ClutterActor*) tooltip, 0, 0); + clutter_actor_set_anchor_point ((ClutterActor*) tooltip, 0, 0); return; } @@ -326,36 +301,28 @@ st_tooltip_update_position (StTooltip *tooltip) tooltip_x = (int)(tip_area->x + (tip_area->width / 2) - (tooltip_w / 2)); tooltip_y = (int)(tip_area->y + tip_area->height); - stage = clutter_actor_get_stage ((ClutterActor *) tooltip); - if (!stage) + parent = clutter_actor_get_parent ((ClutterActor *) tooltip); + if (!parent) { + g_critical ("StTooltip is not parented"); return; } - clutter_actor_get_size (stage, &stage_w, &stage_h); + clutter_actor_get_size (parent, &parent_w, &parent_h); /* make sure the tooltip is not off screen vertically */ - if (tooltip_w > stage_w) - { - tooltip_x = 0; - clutter_actor_set_width ((ClutterActor*) tooltip, stage_w); - } - else if (tooltip_x < 0) + if (tooltip_x < 0) { tooltip_x = 0; } - else if (tooltip_x + tooltip_w > stage_w) + else if (tooltip_x + tooltip_w > parent_w) { - tooltip_x = (int)(stage_w) - tooltip_w; + tooltip_x = (int)(parent_w) - tooltip_w; } /* make sure the tooltip is not off screen horizontally */ - if (tooltip_y + tooltip_h > stage_h) + if (tooltip_y + tooltip_h > parent_h) { priv->actor_below = TRUE; - - /* re-query size as may have changed */ - clutter_actor_get_preferred_height ((ClutterActor*) tooltip, - -1, NULL, &tooltip_h); tooltip_y = tip_area->y - tooltip_h; } else @@ -366,7 +333,12 @@ st_tooltip_update_position (StTooltip *tooltip) /* calculate the arrow offset */ priv->arrow_offset = tip_area->x + tip_area->width / 2 - tooltip_x; - clutter_actor_set_position ((ClutterActor*) tooltip, tooltip_x, tooltip_y); + /* Since we are updating the position out of st_widget_allocate(), we can't + * call clutter_actor_set_position(), since that would trigger another + * allocation cycle. Instead, we adjust the anchor position which moves + * the tooltip actor on the screen without changing its allocation + */ + clutter_actor_set_anchor_point ((ClutterActor*) tooltip, -tooltip_x, -tooltip_y); } /** @@ -411,32 +383,6 @@ static void st_tooltip_show (ClutterActor *self) { StTooltip *tooltip = ST_TOOLTIP (self); - ClutterActor *parent; - ClutterActor *stage; - - parent = clutter_actor_get_parent (self); - stage = clutter_actor_get_stage (self); - - if (!stage) - { - g_warning ("StTooltip is not on any stage."); - return; - } - - /* make sure we're parented on the stage */ - if (G_UNLIKELY (parent != stage)) - { - g_object_ref (self); - clutter_actor_unparent (self); - clutter_actor_set_parent (self, stage); - g_object_unref (self); - parent = stage; - } - - /* raise the tooltip to the top */ - clutter_container_raise_child (CLUTTER_CONTAINER (stage), - CLUTTER_ACTOR (tooltip), - NULL); st_tooltip_update_position (tooltip); @@ -477,7 +423,8 @@ st_tooltip_set_tip_area (StTooltip *tooltip, g_boxed_free (CLUTTER_TYPE_GEOMETRY, tooltip->priv->tip_area); tooltip->priv->tip_area = g_boxed_copy (CLUTTER_TYPE_GEOMETRY, area); - st_tooltip_update_position (tooltip); + if (clutter_actor_get_stage (CLUTTER_ACTOR (tooltip))) + st_tooltip_update_position (tooltip); } /** diff --git a/src/st/st-widget.c b/src/st/st-widget.c index fe5d1b0c5..b9512ff19 100644 --- a/src/st/st-widget.c +++ b/src/st/st-widget.c @@ -59,6 +59,7 @@ struct _StWidgetPrivate gboolean is_stylable : 1; gboolean has_tooltip : 1; + gboolean show_tooltip : 1; gboolean is_style_dirty : 1; gboolean draw_bg_color : 1; gboolean draw_border_internal : 1; @@ -124,6 +125,9 @@ static gboolean st_widget_real_navigate_focus (StWidget *widget, static AtkObject * st_widget_get_accessible (ClutterActor *actor); +static void st_widget_do_show_tooltip (StWidget *widget); +static void st_widget_do_hide_tooltip (StWidget *widget); + static void st_widget_set_property (GObject *gobject, guint prop_id, @@ -275,16 +279,8 @@ st_widget_dispose (GObject *gobject) if (priv->tooltip) { - ClutterContainer *parent; - ClutterActor *tooltip = CLUTTER_ACTOR (priv->tooltip); - - /* this is just a little bit awkward because the tooltip is parented - * on the stage, but we still want to "own" it */ - parent = CLUTTER_CONTAINER (clutter_actor_get_parent (tooltip)); - - if (parent) - clutter_container_remove_actor (parent, tooltip); - + clutter_actor_destroy (CLUTTER_ACTOR (priv->tooltip)); + g_object_unref (priv->tooltip); priv->tooltip = NULL; } @@ -426,28 +422,28 @@ st_widget_parent_set (ClutterActor *widget, static void st_widget_map (ClutterActor *actor) { - StWidgetPrivate *priv = ST_WIDGET (actor)->priv; + StWidget *self = ST_WIDGET (actor); CLUTTER_ACTOR_CLASS (st_widget_parent_class)->map (actor); - st_widget_ensure_style ((StWidget*) actor); + st_widget_ensure_style (self); - if (priv->tooltip) - clutter_actor_map ((ClutterActor *) priv->tooltip); + if (self->priv->show_tooltip) + st_widget_do_show_tooltip (self); } static void st_widget_unmap (ClutterActor *actor) { - StWidgetPrivate *priv = ST_WIDGET (actor)->priv; + StWidget *self = ST_WIDGET (actor); + StWidgetPrivate *priv = self->priv; CLUTTER_ACTOR_CLASS (st_widget_parent_class)->unmap (actor); - if (priv->tooltip) - clutter_actor_unmap ((ClutterActor *) priv->tooltip); - if (priv->track_hover && priv->hover) - st_widget_set_hover (ST_WIDGET (actor), FALSE); + st_widget_set_hover (self, FALSE); + + st_widget_do_hide_tooltip (self); } static void notify_children_of_style_change (ClutterContainer *container); @@ -1502,6 +1498,29 @@ st_widget_set_direction (StWidget *self, StTextDirection dir) st_widget_style_changed (self); } +static void +st_widget_ensure_tooltip_parented (StWidget *widget, ClutterStage *stage) +{ + StWidgetPrivate *priv; + ClutterContainer *ui_root; + ClutterActor *tooltip, *parent; + + priv = widget->priv; + + ui_root = st_get_ui_root (stage); + + tooltip = CLUTTER_ACTOR (priv->tooltip); + parent = clutter_actor_get_parent (tooltip); + + if (G_UNLIKELY (parent != CLUTTER_ACTOR (ui_root))) + { + if (parent) + clutter_container_remove_actor (CLUTTER_CONTAINER (parent), tooltip); + + clutter_container_add_actor (ui_root, tooltip); + } +} + /** * st_widget_set_has_tooltip: * @widget: A #StWidget @@ -1519,6 +1538,7 @@ st_widget_set_has_tooltip (StWidget *widget, gboolean has_tooltip) { StWidgetPrivate *priv; + ClutterActor *stage; g_return_if_fail (ST_IS_WIDGET (widget)); @@ -1534,17 +1554,18 @@ st_widget_set_has_tooltip (StWidget *widget, if (!priv->tooltip) { priv->tooltip = g_object_new (ST_TYPE_TOOLTIP, NULL); - clutter_actor_set_parent ((ClutterActor *) priv->tooltip, - (ClutterActor *) widget); + g_object_ref_sink (priv->tooltip); + + stage = clutter_actor_get_stage (CLUTTER_ACTOR (widget)); + if (stage != NULL) + st_widget_ensure_tooltip_parented (widget, CLUTTER_STAGE (stage)); } } - else + else if (priv->tooltip) { - if (priv->tooltip) - { - clutter_actor_unparent (CLUTTER_ACTOR (priv->tooltip)); - priv->tooltip = NULL; - } + clutter_actor_destroy (CLUTTER_ACTOR (priv->tooltip)); + g_object_unref (priv->tooltip); + priv->tooltip = NULL; } } @@ -1587,9 +1608,10 @@ st_widget_set_tooltip_text (StWidget *widget, if (text == NULL) st_widget_set_has_tooltip (widget, FALSE); else - st_widget_set_has_tooltip (widget, TRUE); - - st_tooltip_set_label (priv->tooltip, text); + { + st_widget_set_has_tooltip (widget, TRUE); + st_tooltip_set_label (priv->tooltip, text); + } } /** @@ -1618,34 +1640,33 @@ st_widget_get_tooltip_text (StWidget *widget) * st_widget_show_tooltip: * @widget: A #StWidget * - * Show the tooltip for @widget + * Force the tooltip for @widget to be shown * */ void st_widget_show_tooltip (StWidget *widget) { - gfloat x, y, width, height; - ClutterGeometry area; - g_return_if_fail (ST_IS_WIDGET (widget)); - /* XXX not necceary, but first allocate transform is wrong */ + widget->priv->show_tooltip = TRUE; + if (CLUTTER_ACTOR_IS_MAPPED (widget)) + st_widget_do_show_tooltip (widget); +} - clutter_actor_get_transformed_position ((ClutterActor*) widget, - &x, &y); - - clutter_actor_get_size ((ClutterActor*) widget, &width, &height); - - area.x = x; - area.y = y; - area.width = width; - area.height = height; +static void +st_widget_do_show_tooltip (StWidget *widget) +{ + ClutterActor *stage, *tooltip; + stage = clutter_actor_get_stage (CLUTTER_ACTOR (widget)); + g_return_if_fail (stage != NULL); if (widget->priv->tooltip) { - st_tooltip_set_tip_area (widget->priv->tooltip, &area); - clutter_actor_show_all (CLUTTER_ACTOR (widget->priv->tooltip)); + tooltip = CLUTTER_ACTOR (widget->priv->tooltip); + st_widget_ensure_tooltip_parented (widget, CLUTTER_STAGE (stage)); + clutter_actor_raise (tooltip, NULL); + clutter_actor_show_all (tooltip); } } @@ -1661,6 +1682,14 @@ st_widget_hide_tooltip (StWidget *widget) { g_return_if_fail (ST_IS_WIDGET (widget)); + widget->priv->show_tooltip = FALSE; + if (CLUTTER_ACTOR_IS_MAPPED (widget)) + st_widget_do_hide_tooltip (widget); +} + +static void +st_widget_do_hide_tooltip (StWidget *widget) +{ if (widget->priv->tooltip) clutter_actor_hide (CLUTTER_ACTOR (widget->priv->tooltip)); } From b382b4cb946b1b18dfa1b9a3da8055b6eeb53873 Mon Sep 17 00:00:00 2001 From: "Jason D. Clinton" Date: Tue, 22 Mar 2011 11:04:18 -0500 Subject: [PATCH 136/203] build: Bump vala to 0.11.7 to fix dep. on dconf --- tools/build/gnome-shell.modules | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/tools/build/gnome-shell.modules b/tools/build/gnome-shell.modules index dc7e5d0ec..8836624d1 100644 --- a/tools/build/gnome-shell.modules +++ b/tools/build/gnome-shell.modules @@ -30,10 +30,10 @@ - - + + From 661ea906d9d5ef8f3e04575bbd3b0901c515dede Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Florian=20M=C3=BCllner?= Date: Thu, 10 Feb 2011 01:41:51 +0100 Subject: [PATCH 137/203] css: Adjust tooltip style Update the tooltip style to match current mockups. https://bugzilla.gnome.org/show_bug.cgi?id=642871 --- data/theme/gnome-shell.css | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/data/theme/gnome-shell.css b/data/theme/gnome-shell.css index ccf3d91f3..d39375f90 100644 --- a/data/theme/gnome-shell.css +++ b/data/theme/gnome-shell.css @@ -75,10 +75,10 @@ StScrollBar StButton#vhandle:hover } StTooltip StLabel { - border: 1px solid rgba(79,111,173,1); + border: 1px solid rgba(255,255,255,0.6); border-radius: 5px; - padding: 4px; - background-color: rgba(79,111,173,0.9); + padding: 2px 12px; + background-color: rgba(0,0,0,0.9); color: #ffffff; font-size: 0.8em; font-weight: normal; From 4a93ce703e0f8814c37d18f6702417859a3ba476 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Florian=20M=C3=BCllner?= Date: Thu, 10 Feb 2011 01:41:51 +0100 Subject: [PATCH 138/203] dash: Show tooltips on hover As dash items no longer show application names, display names as tooltips on hover. https://bugzilla.gnome.org/show_bug.cgi?id=642871 --- js/ui/dash.js | 2 ++ 1 file changed, 2 insertions(+) diff --git a/js/ui/dash.js b/js/ui/dash.js index ed22feab6..28e4bdbe0 100644 --- a/js/ui/dash.js +++ b/js/ui/dash.js @@ -389,6 +389,8 @@ Dash.prototype = { Lang.bind(this, function() { display.actor.opacity = 255; })); + display.actor.set_tooltip_text(app.get_name()); + let item = new DashItemContainer(); item.setChild(display.actor); From a5d3259cfef134e8423e6b3f7b543c362293bb9c Mon Sep 17 00:00:00 2001 From: "Owen W. Taylor" Date: Tue, 22 Mar 2011 09:36:37 -0400 Subject: [PATCH 139/203] StTooltip: use a timeout like GtkTooltip Instead of showing tooltips immediately on hover, wait until a timeout after the last motion (timeout is given by the gtk-tooltip-timeout GtkSetting.) https://bugzilla.gnome.org/show_bug.cgi?id=642871 --- src/st/st-widget.c | 75 ++++++++++++++++++++++++++++++++++++++++++---- 1 file changed, 69 insertions(+), 6 deletions(-) diff --git a/src/st/st-widget.c b/src/st/st-widget.c index b9512ff19..f8e6074e2 100644 --- a/src/st/st-widget.c +++ b/src/st/st-widget.c @@ -44,6 +44,8 @@ #include "st-widget-accessible.h" +#include + /* * Forward declaration for sake of StWidgetChild */ @@ -56,6 +58,7 @@ struct _StWidgetPrivate gchar *inline_style; StThemeNodeTransition *transition_animation; + guint tooltip_timeout_id; gboolean is_stylable : 1; gboolean has_tooltip : 1; @@ -125,6 +128,7 @@ static gboolean st_widget_real_navigate_focus (StWidget *widget, static AtkObject * st_widget_get_accessible (ClutterActor *actor); +static void st_widget_start_tooltip_timeout (StWidget *widget); static void st_widget_do_show_tooltip (StWidget *widget); static void st_widget_do_hide_tooltip (StWidget *widget); @@ -277,6 +281,12 @@ st_widget_dispose (GObject *gobject) st_widget_remove_transition (actor); + if (priv->tooltip_timeout_id) + { + g_source_remove (priv->tooltip_timeout_id); + priv->tooltip_timeout_id = 0; + } + if (priv->tooltip) { clutter_actor_destroy (CLUTTER_ACTOR (priv->tooltip)); @@ -670,6 +680,19 @@ st_widget_leave (ClutterActor *actor, return FALSE; } +static gboolean +st_widget_motion (ClutterActor *actor, + ClutterMotionEvent *motion) +{ + StWidget *widget = ST_WIDGET (actor); + StWidgetPrivate *priv = widget->priv; + + if (priv->has_tooltip) + st_widget_start_tooltip_timeout (widget); + + return FALSE; +} + static void st_widget_key_focus_in (ClutterActor *actor) { @@ -773,6 +796,7 @@ st_widget_class_init (StWidgetClass *klass) actor_class->enter_event = st_widget_enter; actor_class->leave_event = st_widget_leave; + actor_class->motion_event = st_widget_motion; actor_class->key_focus_in = st_widget_key_focus_in; actor_class->key_focus_out = st_widget_key_focus_out; actor_class->key_press_event = st_widget_key_press_event; @@ -1561,11 +1585,20 @@ st_widget_set_has_tooltip (StWidget *widget, st_widget_ensure_tooltip_parented (widget, CLUTTER_STAGE (stage)); } } - else if (priv->tooltip) + else { - clutter_actor_destroy (CLUTTER_ACTOR (priv->tooltip)); - g_object_unref (priv->tooltip); - priv->tooltip = NULL; + if (priv->tooltip_timeout_id) + { + g_source_remove (priv->tooltip_timeout_id); + priv->tooltip_timeout_id = 0; + } + + if (priv->tooltip) + { + clutter_actor_destroy (CLUTTER_ACTOR (priv->tooltip)); + g_object_unref (priv->tooltip); + priv->tooltip = NULL; + } } } @@ -1749,6 +1782,28 @@ st_widget_get_track_hover (StWidget *widget) return widget->priv->track_hover; } +static gboolean +tooltip_timeout (gpointer data) +{ + st_widget_show_tooltip (data); + + return FALSE; +} + +static void +st_widget_start_tooltip_timeout (StWidget *widget) +{ + StWidgetPrivate *priv = widget->priv; + GtkSettings *settings = gtk_settings_get_default (); + guint timeout; + + if (priv->tooltip_timeout_id) + g_source_remove (priv->tooltip_timeout_id); + + g_object_get (settings, "gtk-tooltip-timeout", &timeout, NULL); + priv->tooltip_timeout_id = g_timeout_add (timeout, tooltip_timeout, widget); +} + /** * st_widget_set_hover: * @widget: A #StWidget @@ -1779,13 +1834,21 @@ st_widget_set_hover (StWidget *widget, { st_widget_add_style_pseudo_class (widget, "hover"); if (priv->has_tooltip) - st_widget_show_tooltip (widget); + st_widget_start_tooltip_timeout (widget); } else { st_widget_remove_style_pseudo_class (widget, "hover"); if (priv->has_tooltip) - st_widget_hide_tooltip (widget); + { + if (priv->tooltip_timeout_id) + { + g_source_remove (priv->tooltip_timeout_id); + priv->tooltip_timeout_id = 0; + } + + st_widget_hide_tooltip (widget); + } } g_object_notify (G_OBJECT (widget), "hover"); } From bea2d40f79bf17b7736ae0d9c1fc0564df0480f1 Mon Sep 17 00:00:00 2001 From: "Owen W. Taylor" Date: Tue, 22 Mar 2011 10:29:32 -0400 Subject: [PATCH 140/203] popupMenu: Add the ability to block sending events to the source actor It can be useful to avoid sending enter/leave events to the source actor of a menu: this would be the case when the source actor isn't a menu item that should participate in menu navigation but rather is some object (like an app icon) that we want to indicate corresponds to the menu. https://bugzilla.gnome.org/show_bug.cgi?id=642871 --- js/ui/popupMenu.js | 21 ++++++++++++++++----- 1 file changed, 16 insertions(+), 5 deletions(-) diff --git a/js/ui/popupMenu.js b/js/ui/popupMenu.js index 887fb41f2..7531f77d8 100644 --- a/js/ui/popupMenu.js +++ b/js/ui/popupMenu.js @@ -724,6 +724,11 @@ PopupMenuBase.prototype = { } this.isOpen = false; + + // If set, we don't send events (including crossing events) to the source actor + // for the menu which causes its prelight state to freeze + this.blockSourceEvents = false; + this._activeMenuItem = null; }, @@ -1331,14 +1336,20 @@ PopupMenuManager.prototype = { return this._activeMenuContains(event.get_source()); }, - _eventIsOnAnyMenuSource: function(event) { + _shouldBlockEvent: function(event) { let src = event.get_source(); + + if (this._activeMenu != null && this._activeMenu.actor.contains(src)) + return false; + for (let i = 0; i < this._menus.length; i++) { let menu = this._menus[i].menu; - if (menu.sourceActor && menu.sourceActor.contains(src)) - return true; + if (menu.sourceActor && !menu.blockSourceEvents && menu.sourceActor.contains(src)) { + return false; + } } - return false; + + return true; }, _findMenu: function(item) { @@ -1370,7 +1381,7 @@ PopupMenuManager.prototype = { } else if (eventType == Clutter.EventType.BUTTON_PRESS && !activeMenuContains) { this._closeMenu(); return true; - } else if (activeMenuContains || this._eventIsOnAnyMenuSource(event)) { + } else if (!this._shouldBlockEvent(event)) { return false; } From 02078255ea00b41ba48e0c35a7837565cdb2797d Mon Sep 17 00:00:00 2001 From: "Owen W. Taylor" Date: Tue, 22 Mar 2011 10:43:27 -0400 Subject: [PATCH 141/203] appDisplay: show hover and tooltip while the menu is up While we have menu for an app icon open, we want to show the prelight for the item instead of removing the prelight when the user mouses away from the item and into the menu, and if there's a tooltip (like for the dash), we want to show the tooltip immediately when the menu is popped up. https://bugzilla.gnome.org/show_bug.cgi?id=642871 --- js/ui/appDisplay.js | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/js/ui/appDisplay.js b/js/ui/appDisplay.js index bfe5ff70a..2623a4607 100644 --- a/js/ui/appDisplay.js +++ b/js/ui/appDisplay.js @@ -513,6 +513,8 @@ AppWellIcon.prototype = { this._menuManager.addMenu(this._menu); } + this.actor.set_hover(true); + this.actor.show_tooltip(); this._menu.popup(); return false; @@ -576,6 +578,9 @@ AppIconMenu.prototype = { PopupMenu.PopupMenu.prototype._init.call(this, source.actor, 0.5, side, 0); + // We want to keep the item hovered while the menu is up + this.blockSourceEvents = true; + this._source = source; this.connect('activate', Lang.bind(this, this._onActivate)); From d19cdc206bf81f57372ae75adc1d3ee3d5769774 Mon Sep 17 00:00:00 2001 From: "Owen W. Taylor" Date: Tue, 22 Mar 2011 11:54:01 -0400 Subject: [PATCH 142/203] StTooltip: Add the ability to set a hook to constrain the tooltip If, for example, the stage is divided into multiple monitors, we might want to constrain tooltips so they don't cross monitor boundaries. Add a function to set a per-stage callback to constrain tooltips. https://bugzilla.gnome.org/show_bug.cgi?id=645547 --- src/st/st-tooltip.c | 147 ++++++++++++++++++++++++++++++++++---------- src/st/st-tooltip.h | 18 ++++++ 2 files changed, 131 insertions(+), 34 deletions(-) diff --git a/src/st/st-tooltip.c b/src/st/st-tooltip.c index 5ef0f0267..70bc1a441 100644 --- a/src/st/st-tooltip.c +++ b/src/st/st-tooltip.c @@ -31,6 +31,7 @@ #include "config.h" #endif +#include #include #include @@ -59,9 +60,6 @@ struct _StTooltipPrivate { StLabel *label; - gfloat arrow_offset; - gboolean actor_below; - ClutterGeometry *tip_area; }; @@ -73,6 +71,10 @@ static void st_tooltip_show (ClutterActor *self); static void st_tooltip_show_all (ClutterActor *self); static void st_tooltip_hide_all (ClutterActor *self); +static void st_tooltip_constrain (StTooltip *tooltip, + const ClutterGeometry *geometry, + ClutterGeometry *adjusted_geometry); + static void st_tooltip_set_property (GObject *gobject, guint prop_id, @@ -279,9 +281,9 @@ st_tooltip_update_position (StTooltip *tooltip) { StTooltipPrivate *priv = tooltip->priv; ClutterGeometry *tip_area = tooltip->priv->tip_area; + ClutterGeometry geometry; + ClutterGeometry adjusted_geometry; gfloat tooltip_w, tooltip_h, tooltip_x, tooltip_y; - gfloat parent_w, parent_h; - ClutterActor *parent; /* if no area set, just position ourselves top left */ if (!priv->tip_area) @@ -301,37 +303,15 @@ st_tooltip_update_position (StTooltip *tooltip) tooltip_x = (int)(tip_area->x + (tip_area->width / 2) - (tooltip_w / 2)); tooltip_y = (int)(tip_area->y + tip_area->height); - parent = clutter_actor_get_parent ((ClutterActor *) tooltip); - if (!parent) - { - g_critical ("StTooltip is not parented"); - return; - } - clutter_actor_get_size (parent, &parent_w, &parent_h); + geometry.x = tooltip_x; + geometry.y = tooltip_y; + geometry.width = ceil (tooltip_w); + geometry.height = ceil (tooltip_h); - /* make sure the tooltip is not off screen vertically */ - if (tooltip_x < 0) - { - tooltip_x = 0; - } - else if (tooltip_x + tooltip_w > parent_w) - { - tooltip_x = (int)(parent_w) - tooltip_w; - } + st_tooltip_constrain (tooltip, &geometry, &adjusted_geometry); - /* make sure the tooltip is not off screen horizontally */ - if (tooltip_y + tooltip_h > parent_h) - { - priv->actor_below = TRUE; - tooltip_y = tip_area->y - tooltip_h; - } - else - { - priv->actor_below = FALSE; - } - - /* calculate the arrow offset */ - priv->arrow_offset = tip_area->x + tip_area->width / 2 - tooltip_x; + tooltip_x = adjusted_geometry.x; + tooltip_y = adjusted_geometry.y; /* Since we are updating the position out of st_widget_allocate(), we can't * call clutter_actor_set_position(), since that would trigger another @@ -443,3 +423,102 @@ st_tooltip_get_tip_area (StTooltip *tooltip) return tooltip->priv->tip_area; } + +typedef struct { + StTooltipConstrainFunc func; + gpointer data; + GDestroyNotify notify; +} ConstrainFuncClosure; + +static void +constrain_func_closure_free (gpointer data) +{ + ConstrainFuncClosure *closure = data; + if (closure->notify) + closure->notify (closure->data); + g_slice_free (ConstrainFuncClosure, data); +} + +static GQuark +st_tooltip_constrain_func_quark (void) +{ + static GQuark value = 0; + if (G_UNLIKELY (value == 0)) + value = g_quark_from_static_string ("st-tooltip-constrain-func"); + return value; +} + +/** + * st_tooltip_set_constrain_func: + * @stage: a #ClutterStage + * @func: (allow-none): function to be called to constrain tooltip position + * @data: (allow-none): user data to pass to @func + * @notify: (allow-none): function to be called when @data is no longer needed + * + * Sets a callback function that will be used to constrain the position + * of tooltips within @stage. This can be used, for example, if the stage + * spans multiple monitors and tooltips should be positioned not to cross + * monitors. + */ +void +st_tooltip_set_constrain_func (ClutterStage *stage, + StTooltipConstrainFunc func, + gpointer data, + GDestroyNotify notify) +{ + ConstrainFuncClosure *closure; + + g_return_if_fail (CLUTTER_IS_STAGE (stage)); + + if (func) + { + closure = g_slice_new (ConstrainFuncClosure); + closure->func = func; + closure->data = data; + closure->notify = notify; + } + else + closure = NULL; + + g_object_set_qdata_full (G_OBJECT (stage), st_tooltip_constrain_func_quark (), + closure, constrain_func_closure_free); +} + +static void +st_tooltip_constrain (StTooltip *tooltip, + const ClutterGeometry *geometry, + ClutterGeometry *adjusted_geometry) +{ + ConstrainFuncClosure *closure; + + ClutterActor *stage = clutter_actor_get_stage (CLUTTER_ACTOR (tooltip)); + + *adjusted_geometry = *geometry; + + if (stage == NULL) + return; + + closure = g_object_get_qdata (G_OBJECT (stage), st_tooltip_constrain_func_quark ()); + if (closure) + { + closure->func (tooltip, geometry, adjusted_geometry, closure->data); + } + else + { + ClutterActor *parent; + gfloat parent_w, parent_h; + + parent = clutter_actor_get_parent ((ClutterActor *) tooltip); + clutter_actor_get_size (parent, &parent_w, &parent_h); + + /* make sure the tooltip is not off parent horizontally */ + if (adjusted_geometry->x < 0) + adjusted_geometry->x = 0; + else if (adjusted_geometry->x + adjusted_geometry->width > parent_w) + adjusted_geometry->x = (int)(parent_w) - adjusted_geometry->width; + + /* make sure the tooltip is not off parent vertically */ + if (adjusted_geometry->y + adjusted_geometry->height > parent_h) + adjusted_geometry->y = parent_h - adjusted_geometry->height; + } +} diff --git a/src/st/st-tooltip.h b/src/st/st-tooltip.h index 5f6f02a6e..9dd15760c 100644 --- a/src/st/st-tooltip.h +++ b/src/st/st-tooltip.h @@ -68,6 +68,24 @@ void st_tooltip_set_tip_area (StTooltip *tooltip, const ClutterGeometry *area); const ClutterGeometry* st_tooltip_get_tip_area (StTooltip *tooltip); +/** + * StTooltipConstrainFunc: + * @tooltip: the #StTooltip that is being positioned + * @geometry: size and position of the tooltip without any constraints + * @adjusted_geometry: (out): new position of the tooltip. + * The width and height fields will be ignored. + * @data: (closure): user data passed to st_tooltip_set_constrain_func() + */ +typedef void (*StTooltipConstrainFunc) (StTooltip *tooltip, + const ClutterGeometry *geometry, + ClutterGeometry *adjusted_geometry, + gpointer data); + +void st_tooltip_set_constrain_func (ClutterStage *stage, + StTooltipConstrainFunc func, + gpointer data, + GDestroyNotify notify); + G_END_DECLS #endif /* __ST_TOOLTIP_H__ */ From 80eb37ef60ea86f98e32cea79f1c9d063c6dbe0b Mon Sep 17 00:00:00 2001 From: "Owen W. Taylor" Date: Tue, 22 Mar 2011 11:56:24 -0400 Subject: [PATCH 143/203] Constrain tooltips to monitors Use st_tooltip_set_constrain_func() to set a function that constrains tooltips to be on the same monitor as the original tip area. https://bugzilla.gnome.org/show_bug.cgi?id=645547 --- src/main.c | 41 +++++++++++++++++++++++++++++++++++++++++ 1 file changed, 41 insertions(+) diff --git a/src/main.c b/src/main.c index 029acb80f..393e1b089 100644 --- a/src/main.c +++ b/src/main.c @@ -108,6 +108,45 @@ shell_dbus_init (void) g_object_unref (bus); } +static void +constrain_tooltip (StTooltip *tooltip, + const ClutterGeometry *geometry, + ClutterGeometry *adjusted_geometry, + gpointer data) +{ + const ClutterGeometry *tip_area = st_tooltip_get_tip_area (tooltip); + ShellGlobal *global = shell_global_get (); + MetaScreen *screen = shell_global_get_screen (global); + int n_monitors = meta_screen_get_n_monitors (screen); + int i; + + *adjusted_geometry = *geometry; + + /* A point that determines what screen we'll constrain to */ + int x = tip_area->x + tip_area->width / 2; + int y = tip_area->y + tip_area->height / 2; + + for (i = 0; i < n_monitors; i++) + { + MetaRectangle rect; + meta_screen_get_monitor_geometry (screen, i, &rect); + if (x >= rect.x && x < rect.x + rect.width && + y >= rect.y && y < rect.y + rect.height) + { + if (adjusted_geometry->x + adjusted_geometry->width > rect.x + rect.width) + adjusted_geometry->x = rect.x + rect.width - adjusted_geometry->width; + if (adjusted_geometry->x < rect.x) + adjusted_geometry->x = rect.x; + + if (adjusted_geometry->y + adjusted_geometry->height > rect.y + rect.height) + adjusted_geometry->y = rect.y + rect.height - adjusted_geometry->height; + if (adjusted_geometry->y < rect.y) + adjusted_geometry->y = rect.y; + + return; + } + } +} static void update_font_options (GtkSettings *settings) @@ -139,6 +178,8 @@ update_font_options (GtkSettings *settings) else st_theme_context_set_default_resolution (context); + st_tooltip_set_constrain_func (stage, constrain_tooltip, NULL, NULL); + /* Clutter (as of 0.9) passes comprehensively wrong font options * override whatever set_font_flags() did above. * From d20d89a0b95253e64149ed00e0a827b0125f78a3 Mon Sep 17 00:00:00 2001 From: Ray Strode Date: Tue, 22 Mar 2011 00:17:15 -0400 Subject: [PATCH 144/203] endSessionDialog: prelight inhibiting app items This commit makes it more obvious that apps in the end session dialog inhibitors list are clickable. It does this by rendering the text for the apps in a low intensity white under normal conditions, but a high intesnity white on hover. https://bugzilla.gnome.org/show_bug.cgi?id=645491 --- data/theme/gnome-shell.css | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/data/theme/gnome-shell.css b/data/theme/gnome-shell.css index d39375f90..0ac243f00 100644 --- a/data/theme/gnome-shell.css +++ b/data/theme/gnome-shell.css @@ -1474,6 +1474,14 @@ StTooltip StLabel { padding-left: 32px; } +.end-session-dialog-app-list-item { + color: #ccc; +} + +.end-session-dialog-app-list-item:hover { + color: white; +} + .end-session-dialog-app-list-item:ltr { padding-right: 1em; } From cbd187369e419645a2df0029fbbe1721039fa32e Mon Sep 17 00:00:00 2001 From: Giovanni Campagna Date: Tue, 22 Mar 2011 17:57:48 +0100 Subject: [PATCH 145/203] PopupMenu: invert the menu when in RTL locales Change the way menu items allocate their contents to take text direction into account, so they're fully reversed in RTL locales, and St.Align.START / END are respected. https://bugzilla.gnome.org/show_bug.cgi?id=645524 --- js/ui/popupMenu.js | 79 +++++++++++++++++++++++++++++++++++----------- 1 file changed, 61 insertions(+), 18 deletions(-) diff --git a/js/ui/popupMenu.js b/js/ui/popupMenu.js index 7531f77d8..97a9c4d7f 100644 --- a/js/ui/popupMenu.js +++ b/js/ui/popupMenu.js @@ -173,6 +173,8 @@ PopupBaseMenuItem.prototype = { cr.fill(); }, + // This returns column widths in logical order (i.e. from the dot + // to the image), not in visual order (left to right) getColumnWidths: function() { let widths = []; for (let i = 0, col = 0; i < this._children.length; i++) { @@ -224,19 +226,36 @@ PopupBaseMenuItem.prototype = { _allocate: function(actor, box, flags) { let height = box.y2 - box.y1; + let direction = this.actor.get_direction(); if (this._dot) { + // The dot is placed outside box + // one quarter of padding from the border of the container + // (so 3/4 from the inner border) + // (padding is box.x1) let dotBox = new Clutter.ActorBox(); let dotWidth = Math.round(box.x1 / 2); - dotBox.x1 = Math.round(box.x1 / 4); - dotBox.x2 = dotBox.x1 + dotWidth; + if (direction == St.TextDirection.LTR) { + dotBox.x1 = Math.round(box.x1 / 4); + dotBox.x2 = dotBox.x1 + dotWidth; + } else { + dotBox.x2 = box.x2 + 3 * Math.round(box.x1 / 4); + dotBox.x1 = dotBox.x2 - dotWidth; + } dotBox.y1 = Math.round(box.y1 + (height - dotWidth) / 2); dotBox.y2 = dotBox.y1 + dotWidth; this._dot.allocate(dotBox, flags); } - let x = box.x1; + let x; + if (direction == St.TextDirection.LTR) + x = box.x1; + else + x = box.x2; + // if direction is ltr, x is the right edge of the last added + // actor, and it's constantly increasing, whereas if rtl, x is + // the left edge and it decreases for (let i = 0, col = 0; i < this._children.length; i++) { let child = this._children[i]; let childBox = new Clutter.ActorBox(); @@ -244,9 +263,12 @@ PopupBaseMenuItem.prototype = { let [minWidth, naturalWidth] = child.actor.get_preferred_width(-1); let availWidth, extraWidth; if (this._columnWidths) { - if (child.span == -1) - availWidth = box.x2 - x; - else { + if (child.span == -1) { + if (direction == St.TextDirection.LTR) + availWidth = box.x2 - x; + else + availWidth = x - box.x1; + } else { availWidth = 0; for (let j = 0; j < child.span; j++) availWidth += this._columnWidths[col++]; @@ -257,18 +279,36 @@ PopupBaseMenuItem.prototype = { extraWidth = 0; } - if (child.expand) { - childBox.x1 = x; - childBox.x2 = x + availWidth; - } else if (child.align === St.Align.CENTER) { - childBox.x1 = x + Math.round(extraWidth / 2); - childBox.x2 = childBox.x1 + naturalWidth; - } else if (child.align === St.Align.END) { - childBox.x2 = x + availWidth; - childBox.x1 = childBox.x2 - naturalWidth; + if (direction == St.TextDirection.LTR) { + if (child.expand) { + childBox.x1 = x; + childBox.x2 = x + availWidth; + } else if (child.align === St.Align.CENTER) { + childBox.x1 = x + Math.round(extraWidth / 2); + childBox.x2 = childBox.x1 + naturalWidth; + } else if (child.align === St.Align.END) { + childBox.x2 = x + availWidth; + childBox.x1 = childBox.x2 - naturalWidth; + } else { + childBox.x1 = x; + childBox.x2 = x + naturalWidth; + } } else { - childBox.x1 = x; - childBox.x2 = x + naturalWidth; + if (child.expand) { + childBox.x1 = x - availWidth; + childBox.x2 = x; + } else if (child.align === St.Align.CENTER) { + childBox.x1 = x - Math.round(extraWidth / 2); + childBox.x2 = childBox.x1 + naturalWidth; + } else if (child.align === St.Align.END) { + // align to the left + childBox.x1 = x - availWidth; + childBox.x2 = childBox.x1 + naturalWidth; + } else { + // align to the right + childBox.x2 = x; + childBox.x1 = x - naturalWidth; + } } let [minHeight, naturalHeight] = child.actor.get_preferred_height(-1); @@ -277,7 +317,10 @@ PopupBaseMenuItem.prototype = { child.actor.allocate(childBox, flags); - x += availWidth + this._spacing; + if (direction == St.TextDirection.LTR) + x += availWidth + this._spacing; + else + x -= availWidth + this._spacing; } } }; From 85c007431b0dbf1c8dd7d4e9e05b91d3dec82a70 Mon Sep 17 00:00:00 2001 From: Ray Strode Date: Tue, 22 Mar 2011 12:50:56 -0400 Subject: [PATCH 146/203] endSessionDialog: emit Closed signal when dialog disappears The session manager needs to keep its internal state for the dialog in sync with ours. https://bugzilla.gnome.org/show_bug.cgi?id=645485 --- js/ui/endSessionDialog.js | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/js/ui/endSessionDialog.js b/js/ui/endSessionDialog.js index 08c5705c9..d1fff2d05 100644 --- a/js/ui/endSessionDialog.js +++ b/js/ui/endSessionDialog.js @@ -406,6 +406,13 @@ EndSessionDialog.prototype = { }]); }, + close: function() { + ModalDialog.ModalDialog.prototype.close.call(this); + DBus.session.emit_signal('/org/gnome/SessionManager/EndSessionDialog', + 'org.gnome.SessionManager.EndSessionDialog', + 'Closed', '', []); + }, + cancel: function() { this._stopTimer(); DBus.session.emit_signal('/org/gnome/SessionManager/EndSessionDialog', From 40750f2dc6b7ea769f84cba6a945ea298d296abf Mon Sep 17 00:00:00 2001 From: Yuri Myasoedov Date: Tue, 22 Mar 2011 21:18:32 +0300 Subject: [PATCH 147/203] Updated Russian translation --- po/ru.po | 1223 ++++++++++++++++++++++++++++++++++++++++++++++++------ 1 file changed, 1088 insertions(+), 135 deletions(-) diff --git a/po/ru.po b/po/ru.po index abdf41d02..54d018564 100644 --- a/po/ru.po +++ b/po/ru.po @@ -4,21 +4,20 @@ # # Andrey Korzinev , 2009. # Sergey V. Kovylov , 2009. -# Marina Zhurakhinskaya , 2009. -# +# Marina Zhurakhinskaya , 2009, 2010. +# Sergey Davidoff , 2010. msgid "" msgstr "" "Project-Id-Version: gnome-shell\n" -"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug.cgi?product=gnome-shell&component=general\n" -"POT-Creation-Date: 2009-10-09 00:27-0400\n" -"PO-Revision-Date: 2009-10-09 00:27-0400\n" -"Last-Translator: Marina Zhurakhinskaya \n" +"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug.cgi?product=gnome-shell&keywords=I18N+L10N&component=general\n" +"POT-Creation-Date: 2011-03-22 01:51+0000\n" +"PO-Revision-Date: 2011-03-22 21:17+0400\n" +"Last-Translator: Yuri Myaseodov \n" "Language-Team: Russian \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" +"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" #: ../data/gnome-shell.desktop.in.in.h:1 msgid "GNOME Shell" @@ -28,105 +27,1100 @@ msgstr "GNOME Shell" msgid "Window management and application launching" msgstr "Управление окнами и запуск приложений" -#: ../js/ui/appDisplay.js:335 -msgid "Frequent" -msgstr "Часто используемые" +#: ../data/org.gnome.shell.gschema.xml.in.h:1 +msgid "Allows access to internal debugging and monitoring tools using the Alt-F2 dialog." +msgstr "Разрешает доступ ко внутренней отладке и инструментам наблюдения, используя диалог Alt-F2." -#: ../js/ui/appIcon.js:462 -msgid "New Window" -msgstr "Новое окно" +#: ../data/org.gnome.shell.gschema.xml.in.h:2 +msgid "Enable internal tools useful for developers and testers from Alt-F2" +msgstr "Включить внутренние инструменты из Alt-F2 для разработчиков и тестеров" -#: ../js/ui/appIcon.js:475 -msgid "Remove from Favorites" -msgstr "Удалить из избранного" +#: ../data/org.gnome.shell.gschema.xml.in.h:3 +msgid "File extension used for storing the screencast" +msgstr "Расширение файла, использующееся для хранения скринкастов" -#: ../js/ui/appIcon.js:476 -msgid "Add to Favorites" -msgstr "Добавить в избранное" +#: ../data/org.gnome.shell.gschema.xml.in.h:4 +msgid "Framerate used for recording screencasts." +msgstr "Частота смены кадров для записи скринкастов." -#: ../js/ui/dash.js:283 -msgid "Find..." -msgstr "Найти…" +#: ../data/org.gnome.shell.gschema.xml.in.h:5 +msgid "GNOME Shell extensions have a uuid property; this key lists extensions which should not be loaded." +msgstr "У расширений GNOME Shell есть свойство uuid; этот ключ перечисляет раширения, которые не должны загружаться." -#: ../js/ui/dash.js:400 -msgid "More" -msgstr "Ещё" +#: ../data/org.gnome.shell.gschema.xml.in.h:6 +msgid "History for command (Alt-F2) dialog" +msgstr "История команд диалога (Alt-F2)" -#: ../js/ui/dash.js:543 -#: "(увидеть все)" does not fit when it is next to "НЕДАВНИЕ ДОКУМЕНТЫ", so I'm just using "(все)" -msgid "(see all)" -msgstr "(все)" +#: ../data/org.gnome.shell.gschema.xml.in.h:7 +msgid "History for the looking glass dialog" +msgstr "История просмотра прозрачного диалога" -#. **** Applications **** -#: ../js/ui/dash.js:763 ../js/ui/dash.js:825 -msgid "APPLICATIONS" -msgstr "ПРИЛОЖЕНИЯ" +#: ../data/org.gnome.shell.gschema.xml.in.h:8 +msgid "If true, display date in the clock, in addition to time." +msgstr "Если установлено, то в часах будет показана дата." -#. **** Places **** -#. Translators: This is in the sense of locations for documents, -#. network locations, etc. -#: ../js/ui/dash.js:783 -msgid "PLACES" -msgstr "ПАПКИ И РЕСУРСЫ" +#: ../data/org.gnome.shell.gschema.xml.in.h:9 +msgid "If true, display seconds in time." +msgstr "Если установлено, то время будет указано с секундами." -#. **** Documents **** -#: ../js/ui/dash.js:790 ../js/ui/dash.js:835 -msgid "RECENT DOCUMENTS" -msgstr "НЕДАВНИЕ ДОКУМЕНТЫ" +#: ../data/org.gnome.shell.gschema.xml.in.h:10 +msgid "If true, display the ISO week date in the calendar." +msgstr "Если установлено, календарь будет показывать неделю в формате ISO." -#. **** Search Results **** -#: ../js/ui/dash.js:815 ../js/ui/dash.js:955 -msgid "SEARCH RESULTS" -msgstr "РЕЗУЛЬТАТЫ ПОИСКА" +#: ../data/org.gnome.shell.gschema.xml.in.h:11 +msgid "List of desktop file IDs for favorite applications" +msgstr "Список идентификаторов desktop-файлов для избранных приложений" -#: ../js/ui/dash.js:830 -msgid "PREFERENCES" -msgstr "НАСТРОЙКИ" +#: ../data/org.gnome.shell.gschema.xml.in.h:13 +#, no-c-format +msgid "Sets the GStreamer pipeline used to encode recordings. It follows the syntax used for gst-launch. The pipeline should have an unconnected sink pad where the recorded video is recorded. It will normally have a unconnected source pad; output from that pad will be written into the output file. However the pipeline can also take care of its own output - this might be used to send the output to an icecast server via shout2send or similar. When unset or set to an empty value, the default pipeline will be used. This is currently 'videorate ! vp8enc quality=10 speed=2 threads=%T ! queue ! webmmux' and records to WEBM using the VP8 codec. %T is used as a placeholder for a guess at the optimal thread count on the system." +msgstr "Устанавливает конвейер GStreamer для кодирования записей. Соответствует синтаксису, используемому для gst-launch. Конвейер должен иметь неподключенный входной коннектор, где происходит запись видео. Выход коннектора обычно отключён, выход с этого коннектора записывается в файл вывода. Однако конвейер также может позаботиться о своём выводе, что можно использовать для отправки вывода на сервер icecast через shout2send или нечто подобное. При сбросе или установке пустого значения будет использоваться конвейер по умолчанию. В данный момент это «videorate ! vp8enc quality=10 speed=2 threads=%T ! queue ! webmmux»; запись выполняется в WEBM с помощью кодека VP8. %T используется как заполнитель для определения оптимального количества потоков в системе." -#. Button on the left side of the panel. -#. Translators: If there is no suitable word for "Activities" in your language, you can use the word for "Overview". -#: ../js/ui/panel.js:272 -#. Another word that was considered was "Обзор", but it was decided that it doesn't give a full sense of the actions -#. possible when in the overview mode. -msgid "Activities" -msgstr "Действия" +#: ../data/org.gnome.shell.gschema.xml.in.h:14 +msgid "Show date in clock" +msgstr "Показывать в часах дату" -#. Translators: This is a time format. -#: ../js/ui/panel.js:464 -msgid "%a %l:%M %p" -msgstr "%a, %H:%M" +#: ../data/org.gnome.shell.gschema.xml.in.h:15 +msgid "Show the week date in the calendar" +msgstr "Показывать в часах дату недели" -#: ../js/ui/places.js:178 -msgid "Connect to..." -msgstr "Соединиться с…" +#: ../data/org.gnome.shell.gschema.xml.in.h:16 +msgid "Show time with seconds" +msgstr "Показывать секунды" -#: ../js/ui/runDialog.js:96 -msgid "Please enter a command:" -msgstr "Введите команду:" +#: ../data/org.gnome.shell.gschema.xml.in.h:17 +msgid "The applications corresponding to these identifiers will be displayed in the favorites area." +msgstr "Приложения, соответствующие этих идентификаторам, будут показаны в области изобранных приложений." -#: ../js/ui/runDialog.js:173 +#: ../data/org.gnome.shell.gschema.xml.in.h:18 +msgid "The filename for recorded screencasts will be a unique filename based on the current date, and use this extension. It should be changed when recording to a different container format." +msgstr "Имя файла записанного скринкаста будет уникальным именем, основанным на текущей дате, и использует это расширение. Оно должно быть изменено, если запись выполняется в другой контейнерный формат." + +#: ../data/org.gnome.shell.gschema.xml.in.h:19 +msgid "The framerate of the resulting screencast recordered by GNOME Shell's screencast recorder in frames-per-second." +msgstr "Частота смены кадров в скринкасте, записанном с помощью GNOME Shell (кадров/сек)." + +#: ../data/org.gnome.shell.gschema.xml.in.h:20 +msgid "The gstreamer pipeline used to encode the screencast" +msgstr "Конвейер gstreamer, используемый для кодирования скринкастов" + +#: ../data/org.gnome.shell.gschema.xml.in.h:21 +msgid "The shell normally monitors active applications in order to present the most used ones (e.g. in launchers). While this data will be kept private, you may want to disable this for privacy reasons. Please note that doing so won't remove already saved data." +msgstr "Обычно, оболочка отслеживает активные приложения, чтобы определить наиболее используемые приложения. Хотя эти данные хранятся как личные, возможно вы захотите отключить эту возможность из соображений безопасности. Это не приведёт к удалению уже сохранённых данных." + +#: ../data/org.gnome.shell.gschema.xml.in.h:22 +msgid "Uuids of extensions to disable" +msgstr "Выключить расширения с uuid" + +#: ../data/org.gnome.shell.gschema.xml.in.h:23 +msgid "Whether to collect stats about applications usage" +msgstr "Собирать ли статистику об использовании приложений" + +#: ../data/org.gnome.shell.gschema.xml.in.h:24 +msgid "disabled OpenSearch providers" +msgstr "отключённые провайдеры OpenSearch" + +#: ../js/misc/util.js:71 +msgid "Command not found" +msgstr "Команда не найдена" + +#. Replace "Error invoking GLib.shell_parse_argv: " with +#. something nicer +#: ../js/misc/util.js:98 +#| msgid "Please enter a command:" +msgid "Could not parse command:" +msgstr "Не удалось разобрать команду:" + +#: ../js/misc/util.js:106 #, c-format msgid "Execution of '%s' failed:" msgstr "Не удалось выполнить «%s»:" -#. Translators: This is a time format. -#: ../js/ui/widget.js:162 +#. Translators: Filter to display all applications +#: ../js/ui/appDisplay.js:230 +msgid "All" +msgstr "Все" + +#: ../js/ui/appDisplay.js:328 +msgid "APPLICATIONS" +msgstr "ПРИЛОЖЕНИЯ" + +#: ../js/ui/appDisplay.js:354 +msgid "SETTINGS" +msgstr "ПАРАМЕТРЫ" + +#: ../js/ui/appDisplay.js:620 +msgid "New Window" +msgstr "Новое окно" + +#: ../js/ui/appDisplay.js:623 +msgid "Remove from Favorites" +msgstr "Удалить из избранного" + +#: ../js/ui/appDisplay.js:624 +msgid "Add to Favorites" +msgstr "Добавить в избранное" + +#: ../js/ui/appFavorites.js:91 +#, c-format +msgid "%s has been added to your favorites." +msgstr "%s добавлен в избранное." + +#: ../js/ui/appFavorites.js:122 +#, c-format +#| msgid "Remove from Favorites" +msgid "%s has been removed from your favorites." +msgstr "%s удалён из избранных." + +#. Translators: Shown in calendar event list for all day events +#. * Keep it short, best if you can use less then 10 characters +#. +#: ../js/ui/calendar.js:66 +msgctxt "event list time" +msgid "All Day" +msgstr "Весь день" + +#. Translators: Shown in calendar event list, if 24h format +#: ../js/ui/calendar.js:71 +#| msgid "%H:%M" +msgctxt "event list time" msgid "%H:%M" msgstr "%H:%M" -#: ../js/ui/widget.js:316 +#. Transators: Shown in calendar event list, if 12h format +#: ../js/ui/calendar.js:78 +#| msgid "%a %l:%M %p" +msgctxt "event list time" +msgid "%l:%M %p" +msgstr "%l:%M %p" + +#. Translators: Calendar grid abbreviation for Sunday. +#. * +#. * NOTE: These grid abbreviations are always shown together +#. * and in order, e.g. "S M T W T F S". +#. +#: ../js/ui/calendar.js:118 +msgctxt "grid sunday" +msgid "S" +msgstr "Вс" + +#. Translators: Calendar grid abbreviation for Monday +#: ../js/ui/calendar.js:120 +msgctxt "grid monday" +msgid "M" +msgstr "Пн" + +#. Translators: Calendar grid abbreviation for Tuesday +#: ../js/ui/calendar.js:122 +msgctxt "grid tuesday" +msgid "T" +msgstr "Вт" + +#. Translators: Calendar grid abbreviation for Wednesday +#: ../js/ui/calendar.js:124 +msgctxt "grid wednesday" +msgid "W" +msgstr "Ср" + +#. Translators: Calendar grid abbreviation for Thursday +#: ../js/ui/calendar.js:126 +msgctxt "grid thursday" +msgid "T" +msgstr "Чт" + +#. Translators: Calendar grid abbreviation for Friday +#: ../js/ui/calendar.js:128 +msgctxt "grid friday" +msgid "F" +msgstr "Пт" + +#. Translators: Calendar grid abbreviation for Saturday +#: ../js/ui/calendar.js:130 +msgctxt "grid saturday" +msgid "S" +msgstr "Сб" + +#. Translators: Event list abbreviation for Sunday. +#. * +#. * NOTE: These list abbreviations are normally not shown together +#. * so they need to be unique (e.g. Tuesday and Thursday cannot +#. * both be 'T'). +#. +#: ../js/ui/calendar.js:143 +msgctxt "list sunday" +msgid "Su" +msgstr "Вс" + +#. Translators: Event list abbreviation for Monday +#: ../js/ui/calendar.js:145 +msgctxt "list monday" +msgid "M" +msgstr "Пн" + +#. Translators: Event list abbreviation for Tuesday +#: ../js/ui/calendar.js:147 +msgctxt "list tuesday" +msgid "T" +msgstr "Вт" + +#. Translators: Event list abbreviation for Wednesday +#: ../js/ui/calendar.js:149 +msgctxt "list wednesday" +msgid "W" +msgstr "Ср" + +#. Translators: Event list abbreviation for Thursday +#: ../js/ui/calendar.js:151 +msgctxt "list thursday" +msgid "Th" +msgstr "Чт" + +#. Translators: Event list abbreviation for Friday +#: ../js/ui/calendar.js:153 +msgctxt "list friday" +msgid "F" +msgstr "Пт" + +#. Translators: Event list abbreviation for Saturday +#: ../js/ui/calendar.js:155 +msgctxt "list saturday" +msgid "S" +msgstr "Сб" + +#. Translators: Text to show if there are no events +#: ../js/ui/calendar.js:704 +msgid "Nothing Scheduled" +msgstr "Нет событий" + +#. Translators: Shown on calendar heading when selected day occurs on current year +#: ../js/ui/calendar.js:720 +msgctxt "calendar heading" +msgid "%A, %B %d" +msgstr "%A, %B %d" + +#. Translators: Shown on calendar heading when selected day occurs on different year +#: ../js/ui/calendar.js:723 +msgctxt "calendar heading" +msgid "%A, %B %d, %Y" +msgstr "%A, %B %d, %Y" + +#: ../js/ui/calendar.js:733 +msgid "Today" +msgstr "Сегодня" + +#: ../js/ui/calendar.js:737 +msgid "Tomorrow" +msgstr "Завтра" + +#: ../js/ui/calendar.js:746 +msgid "This week" +msgstr "Эта неделя" + +#: ../js/ui/calendar.js:754 +msgid "Next week" +msgstr "Следующая неделя" + +#: ../js/ui/dash.js:174 +#: ../js/ui/messageTray.js:945 +msgid "Remove" +msgstr "Удалить" + +#: ../js/ui/dateMenu.js:91 +msgid "Date and Time Settings" +msgstr "Параметры даты и времени" + +#: ../js/ui/dateMenu.js:111 +msgid "Open Calendar" +msgstr "Открыть календарь" + +#. Translators: This is the time format with date used +#. in 24-hour mode. +#: ../js/ui/dateMenu.js:164 +msgid "%a %b %e, %R:%S" +msgstr "%a %b %e, %R:%S" + +#: ../js/ui/dateMenu.js:165 +#| msgid "%a %l:%M %p" +msgid "%a %b %e, %R" +msgstr "%a %b %e, %R" + +#. Translators: This is the time format without date used +#. in 24-hour mode. +#: ../js/ui/dateMenu.js:169 +#| msgid "%a %l:%M %p" +msgid "%a %R:%S" +msgstr "%a %R:%S" + +#: ../js/ui/dateMenu.js:170 +msgid "%a %R" +msgstr "%a %R" + +#. Translators: This is a time format with date used +#. for AM/PM. +#: ../js/ui/dateMenu.js:177 +#| msgid "%a %l:%M %p" +msgid "%a %b %e, %l:%M:%S %p" +msgstr "%a %b %e, %l:%M:%S %p" + +#: ../js/ui/dateMenu.js:178 +#| msgid "%a %l:%M %p" +msgid "%a %b %e, %l:%M %p" +msgstr "%a %b %e, %l:%M %p" + +#. Translators: This is a time format without date used +#. for AM/PM. +#: ../js/ui/dateMenu.js:182 +#| msgid "%a %l:%M %p" +msgid "%a %l:%M:%S %p" +msgstr "%a %l:%M:%S %p" + +#: ../js/ui/dateMenu.js:183 +msgid "%a %l:%M %p" +msgstr "%a, %H:%M" + +#. Translators: This is the date format to use when the calendar popup is +#. * shown - it is shown just below the time in the shell (e.g. "Tue 9:29 AM"). +#. +#: ../js/ui/dateMenu.js:194 +msgid "%A %B %e, %Y" +msgstr "%A %B %e, %Y" + +#: ../js/ui/docDisplay.js:19 +msgid "RECENT ITEMS" +msgstr "НЕДАВНИЕ ДОКУМЕНТЫ" + +#: ../js/ui/endSessionDialog.js:63 +#, c-format +#| msgid "Log Out..." +msgid "Log Out %s" +msgstr "Вывести из системы пользователя %s" + +#: ../js/ui/endSessionDialog.js:64 +#: ../js/ui/endSessionDialog.js:69 +#| msgid "Log Out..." +msgid "Log Out" +msgstr "Выйти из системы" + +#: ../js/ui/endSessionDialog.js:65 +msgid "Click Log Out to quit these applications and log out of the system." +msgstr "Нажмите «Выйти из системы», чтобы закрыть эти приложения и выйти из системы." + +#: ../js/ui/endSessionDialog.js:66 +#, c-format +msgid "%s will be logged out automatically in %d seconds." +msgstr "Пользователь %s будет автоматически выведен из системы через %d сек." + +#: ../js/ui/endSessionDialog.js:67 +#, c-format +msgid "You will be logged out automatically in %d seconds." +msgstr "Вы автоматически выйдете систему через %d сек." + +#: ../js/ui/endSessionDialog.js:68 +msgid "Logging out of the system." +msgstr "Выход из системы." + +#: ../js/ui/endSessionDialog.js:74 +#: ../js/ui/endSessionDialog.js:78 +#| msgid "Shut Down..." +msgid "Shut Down" +msgstr "Выключить" + +#: ../js/ui/endSessionDialog.js:75 +msgid "Click Shut Down to quit these applications and shut down the system." +msgstr "Нажмите «Выключить», чтобы закрыть эти приложения и выключить систему." + +#: ../js/ui/endSessionDialog.js:76 +#, c-format +msgid "The system will shut down automatically in %d seconds." +msgstr "Система будет автоматически выключена через %d сек." + +#: ../js/ui/endSessionDialog.js:77 +msgid "Shutting down the system." +msgstr "Выключение системы." + +#: ../js/ui/endSessionDialog.js:84 +#: ../js/ui/endSessionDialog.js:88 +msgid "Restart" +msgstr "Перезапустить" + +#: ../js/ui/endSessionDialog.js:85 +msgid "Click Restart to quit these applications and restart the system." +msgstr "Нажмите «Перезапустить», чтобы закрыть эти приложения и перезапустить систему." + +#: ../js/ui/endSessionDialog.js:86 +#, c-format +msgid "The system will restart automatically in %d seconds." +msgstr "Система будет автоматически перезапущена через %d сек." + +#: ../js/ui/endSessionDialog.js:87 +msgid "Restarting the system." +msgstr "Перезапуск системы." + +#: ../js/ui/endSessionDialog.js:395 +msgid "Confirm" +msgstr "Подтвердить" + +#: ../js/ui/endSessionDialog.js:400 +#: ../js/ui/status/bluetooth.js:466 +msgid "Cancel" +msgstr "Отмена" + +#: ../js/ui/lookingGlass.js:588 +msgid "No extensions installed" +msgstr "Расширения не установлены" + +#: ../js/ui/lookingGlass.js:625 +msgid "Enabled" +msgstr "Включено" + +#. translators: +#. * The device has been disabled +#: ../js/ui/lookingGlass.js:627 +#: ../src/gvc/gvc-mixer-control.c:1091 +msgid "Disabled" +msgstr "Выключено" + +#: ../js/ui/lookingGlass.js:629 +msgid "Error" +msgstr "Ошибка" + +#: ../js/ui/lookingGlass.js:631 +msgid "Out of date" +msgstr "Устарело" + +#: ../js/ui/lookingGlass.js:656 +msgid "View Source" +msgstr "Показать код" + +#: ../js/ui/lookingGlass.js:662 +msgid "Web Page" +msgstr "Веб-страница" + +#: ../js/ui/messageTray.js:938 +msgid "Open" +msgstr "Открыть" + +#: ../js/ui/messageTray.js:2018 +#| msgid "Account Information..." +msgid "System Information" +msgstr "Системная информация" + +#: ../js/ui/overview.js:89 +msgid "Undo" +msgstr "Отменить" + +#: ../js/ui/overview.js:184 +#| msgid "New Window" +msgid "Windows" +msgstr "Окна" + +#: ../js/ui/overview.js:187 msgid "Applications" msgstr "Приложения" -#: ../js/ui/widget.js:341 -msgid "Recent Documents" -msgstr "Недавние документы" +#. Translators: this is the name of the dock/favorites area on +#. the left of the overview +#: ../js/ui/overview.js:203 +msgid "Dash" +msgstr "Приборная панель" -#: ../src/shell-global.c:812 +#. TODO - _quit() doesn't really work on apps in state STARTING yet +#: ../js/ui/panel.js:515 +#, c-format +msgid "Quit %s" +msgstr "Закрыть %s" + +#. Button on the left side of the panel. +#. Translators: If there is no suitable word for "Activities" in your language, you can use the word for "Overview". +#: ../js/ui/panel.js:876 +msgid "Activities" +msgstr "Обзор" + +#: ../js/ui/panel.js:977 +msgid "Top Bar" +msgstr "Верхняя панель" + +#: ../js/ui/placeDisplay.js:122 +#, c-format +msgid "Failed to unmount '%s'" +msgstr "Не удалось отмонтировать «%s»" + +#: ../js/ui/placeDisplay.js:125 +msgid "Retry" +msgstr "Повторить" + +#: ../js/ui/placeDisplay.js:165 +msgid "Connect to..." +msgstr "Соединиться с…" + +#: ../js/ui/placeDisplay.js:380 +msgid "PLACES & DEVICES" +msgstr "МЕСТА И УСТРОЙСТВА" + +#. Translators: this MUST be either "toggle-switch-us" +#. (for toggle switches containing the English words +#. "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:636 +msgid "toggle-switch-us" +msgstr "toggle-switch-intl" + +#: ../js/ui/runDialog.js:205 +msgid "Please enter a command:" +msgstr "Введите команду:" + +#: ../js/ui/searchDisplay.js:310 +msgid "Searching..." +msgstr "Поиск…" + +#: ../js/ui/searchDisplay.js:324 +msgid "No matching results." +msgstr "Нет совпадений." + +#: ../js/ui/statusMenu.js:161 +#: ../js/ui/statusMenu.js:228 +msgid "Power Off..." +msgstr "Выключить питание…" + +#: ../js/ui/statusMenu.js:163 +#: ../js/ui/statusMenu.js:227 +msgid "Suspend" +msgstr "Ждущий режим" + +#: ../js/ui/statusMenu.js:184 +msgid "Available" +msgstr "Доступен" + +#: ../js/ui/statusMenu.js:189 +msgid "Busy" +msgstr "Занят" + +#: ../js/ui/statusMenu.js:197 +msgid "My Account" +msgstr "Моя учётная запись" + +#: ../js/ui/statusMenu.js:201 +msgid "System Settings" +msgstr "Системные параметры" + +#: ../js/ui/statusMenu.js:208 +msgid "Lock Screen" +msgstr "Заблокировать экран" + +#: ../js/ui/statusMenu.js:213 +msgid "Switch User" +msgstr "Сменить пользователя" + +#: ../js/ui/statusMenu.js:218 +msgid "Log Out..." +msgstr "Завершить сеанс…" + +#: ../js/ui/status/accessibility.js:62 +msgid "Zoom" +msgstr "Масштабирование" + +#. let screenReader = this._buildItem(_("Screen Reader"), APPLICATIONS_SCHEMA, +#. 'screen-reader-enabled'); +#. this.menu.addMenuItem(screenReader); +#. let screenKeyboard = this._buildItem(_("Screen Keyboard"), APPLICATIONS_SCHEMA, +#. 'screen-keyboard-enabled'); +#. this.menu.addMenuItem(screenKeyboard); +#: ../js/ui/status/accessibility.js:77 +msgid "Visual Alerts" +msgstr "Визуальные предупреждения" + +#: ../js/ui/status/accessibility.js:80 +msgid "Sticky Keys" +msgstr "Залипающие клавиши" + +#: ../js/ui/status/accessibility.js:83 +msgid "Slow Keys" +msgstr "Медленные клавиши" + +#: ../js/ui/status/accessibility.js:86 +msgid "Bounce Keys" +msgstr "Отскакивающие клавиши" + +#: ../js/ui/status/accessibility.js:89 +msgid "Mouse Keys" +msgstr "Клавиши мыши" + +#: ../js/ui/status/accessibility.js:93 +msgid "Universal Access Settings" +msgstr "Параметры универсального доступа" + +#: ../js/ui/status/accessibility.js:146 +msgid "High Contrast" +msgstr "Высокая контрастность" + +#: ../js/ui/status/accessibility.js:183 +msgid "Large Text" +msgstr "Крупный текст" + +#: ../js/ui/status/bluetooth.js:42 +#: ../js/ui/status/bluetooth.js:237 +#: ../js/ui/status/bluetooth.js:333 +#: ../js/ui/status/bluetooth.js:367 +#: ../js/ui/status/bluetooth.js:407 +#: ../js/ui/status/bluetooth.js:440 +msgid "Bluetooth" +msgstr "Bluetooth" + +#: ../js/ui/status/bluetooth.js:55 +msgid "Visibility" +msgstr "Доступность" + +#: ../js/ui/status/bluetooth.js:69 +msgid "Send Files to Device..." +msgstr "Отправить файлы на устройство…" + +#: ../js/ui/status/bluetooth.js:70 +msgid "Setup a New Device..." +msgstr "Настроить новое устройство…" + +#: ../js/ui/status/bluetooth.js:95 +msgid "Bluetooth Settings" +msgstr "Параметры Bluetooth" + +#: ../js/ui/status/bluetooth.js:188 +#| msgid "Connect to..." +msgid "Connection" +msgstr "Соединение" + +#: ../js/ui/status/bluetooth.js:224 +msgid "Send Files..." +msgstr "Отправить файлы…" + +#: ../js/ui/status/bluetooth.js:229 +msgid "Browse Files..." +msgstr "Обзор файлов…" + +#: ../js/ui/status/bluetooth.js:238 +msgid "Error browsing device" +msgstr "Ошибка обзора устройства" + +#: ../js/ui/status/bluetooth.js:239 +#, c-format +msgid "The requested device cannot be browsed, error is '%s'" +msgstr "Не удалось выполнить обзор запрошенного устройства: %s" + +#: ../js/ui/status/bluetooth.js:247 +msgid "Keyboard Settings" +msgstr "Параметры клавиатуры" + +#: ../js/ui/status/bluetooth.js:252 +msgid "Mouse Settings" +msgstr "Параметры мыши" + +#: ../js/ui/status/bluetooth.js:259 +#: ../js/ui/status/volume.js:66 +msgid "Sound Settings" +msgstr "Параметры звука" + +#: ../js/ui/status/bluetooth.js:368 +#, c-format +msgid "Authorization request from %s" +msgstr "Запрос авторизации от %s" + +#: ../js/ui/status/bluetooth.js:374 +#, c-format +msgid "Device %s wants access to the service '%s'" +msgstr "Устройство %s пытается получить доступ к службе «%s»" + +#: ../js/ui/status/bluetooth.js:376 +msgid "Always grant access" +msgstr "Всегда предоставлять доступ" + +#: ../js/ui/status/bluetooth.js:377 +msgid "Grant this time only" +msgstr "Предоставить единовременно" + +#: ../js/ui/status/bluetooth.js:378 +msgid "Reject" +msgstr "Извлечь" + +#: ../js/ui/status/bluetooth.js:408 +#, c-format +msgid "Pairing confirmation for %s" +msgstr "Подтверждение на сопряжение с %s" + +#: ../js/ui/status/bluetooth.js:414 +#: ../js/ui/status/bluetooth.js:448 +#, c-format +msgid "Device %s wants to pair with this computer" +msgstr "Устройство %s пытается выполнить сопряжение с этим компьютером" + +#: ../js/ui/status/bluetooth.js:415 +#, c-format +msgid "Please confirm whether the PIN '%s' matches the one on the device." +msgstr "Подтвердите, совпадает ли PIN-код «%s» с кодом устройства." + +#: ../js/ui/status/bluetooth.js:417 +msgid "Matches" +msgstr "Совпадает" + +#: ../js/ui/status/bluetooth.js:418 +msgid "Does not match" +msgstr "Не совпадает" + +#: ../js/ui/status/bluetooth.js:441 +#, c-format +msgid "Pairing request for %s" +msgstr "Запрос на сопряжение для %s" + +#: ../js/ui/status/bluetooth.js:449 +msgid "Please enter the PIN mentioned on the device." +msgstr "Введите PIN-код устройства." + +#: ../js/ui/status/bluetooth.js:465 +msgid "OK" +msgstr "OK" + +#: ../js/ui/status/keyboard.js:73 +msgid "Show Keyboard Layout..." +msgstr "Показать раскладку клавиатуры…" + +#: ../js/ui/status/keyboard.js:76 +msgid "Localization Settings" +msgstr "Параметры локализации" + +#: ../js/ui/status/network.js:102 +#: ../js/ui/status/network.js:1393 +#| msgid "Unknown" +msgid "" +msgstr "<неизвестно>" + +#. Translators: this indicates that wireless or wwan is disabled by hardware killswitch +#: ../js/ui/status/network.js:295 +msgid "disabled" +msgstr "выключено" + +#: ../js/ui/status/network.js:476 +#| msgid "Connect to..." +msgid "connecting..." +msgstr "соединение…" + +#. Translators: this is for network connections that require some kind of key or password +#: ../js/ui/status/network.js:479 +msgid "authentication required" +msgstr "требуется авторизация" + +#. Translators: this is for wired network devices that are physically disconnected +#: ../js/ui/status/network.js:485 +msgid "cable unplugged" +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:489 +msgid "unavailable" +msgstr "недоступное" + +#: ../js/ui/status/network.js:491 +#| msgid "Execution of '%s' failed:" +msgid "connection failed" +msgstr "сбой подключения" + +#. TRANSLATORS: this is the indication that a connection for another logged in user is active, +#. and we cannot access its settings (including the name) +#: ../js/ui/status/network.js:571 +#: ../js/ui/status/network.js:1341 +msgid "Connected (private)" +msgstr "Подключено (частное)" + +#: ../js/ui/status/network.js:636 +msgid "Auto Ethernet" +msgstr "Автоматическое Ethernet" + +#: ../js/ui/status/network.js:697 +msgid "Auto broadband" +msgstr "Автоматическое широкополосное" + +#: ../js/ui/status/network.js:700 +msgid "Auto dial-up" +msgstr "Автоматическое коммутируемое" + +#. TRANSLATORS: this the automatic wireless connection name (including the network name) +#: ../js/ui/status/network.js:843 +#: ../js/ui/status/network.js:1353 +#, c-format +msgid "Auto %s" +msgstr "Автоматическое %s" + +#: ../js/ui/status/network.js:845 +msgid "Auto bluetooth" +msgstr "Автоматическое bluetooth" + +#: ../js/ui/status/network.js:1355 +msgid "Auto wireless" +msgstr "Автоматическое беспроводное" + +#: ../js/ui/status/network.js:1413 +#| msgid "More" +msgid "More..." +msgstr "Ещё…" + +#: ../js/ui/status/network.js:1436 +msgid "Enable networking" +msgstr "Включить сеть" + +#: ../js/ui/status/network.js:1448 +msgid "Wired" +msgstr "Проводное" + +#: ../js/ui/status/network.js:1459 +msgid "Wireless" +msgstr "Беспроводное" + +#: ../js/ui/status/network.js:1469 +msgid "Mobile broadband" +msgstr "Мобильное широкополосное" + +#: ../js/ui/status/network.js:1479 +msgid "VPN Connections" +msgstr "Соединения VPN" + +#: ../js/ui/status/network.js:1488 +msgid "Network Settings" +msgstr "Сетевые параметры" + +#: ../js/ui/status/network.js:1783 +#, c-format +msgid "You're now connected to mobile broadband connection '%s'" +msgstr "Вы подключены по мобильному широкополосному соединению «%s»" + +#: ../js/ui/status/network.js:1787 +#, c-format +msgid "You're now connected to wireless network '%s'" +msgstr "Вы подключены к беспроводной сети «%s»" + +#: ../js/ui/status/network.js:1791 +#, c-format +msgid "You're now connected to wired network '%s'" +msgstr "Вы подключены к проводной сети «%s»" + +#: ../js/ui/status/network.js:1795 +#, c-format +msgid "You're now connected to VPN network '%s'" +msgstr "Вы подключены к сети VPN «%s»" + +#: ../js/ui/status/network.js:1800 +#, c-format +msgid "You're now connected to '%s'" +msgstr "Вы подключены к «%s»" + +#: ../js/ui/status/network.js:1808 +msgid "Connection established" +msgstr "Соединение установлено" + +#: ../js/ui/status/network.js:1930 +msgid "Networking is disabled" +msgstr "Сеть отключена" + +#: ../js/ui/status/network.js:2055 +msgid "Network Manager" +msgstr "Диспетчер сети" + +#: ../js/ui/status/power.js:85 +msgid "Power Settings" +msgstr "Параметры питания" + +#. 0 is reported when UPower does not have enough data +#. to estimate battery life +#: ../js/ui/status/power.js:111 +msgid "Estimating..." +msgstr "Выполняется подсчёт…" + +#: ../js/ui/status/power.js:118 +#, c-format +#| msgid "%d hour ago" +#| msgid_plural "%d hours ago" +msgid "%d hour remaining" +msgid_plural "%d hours remaining" +msgstr[0] "Остался %d час" +msgstr[1] "Осталось %d часа" +msgstr[2] "Осталось %d часов" + +#. TRANSLATORS: this is a time string, as in "%d hours %d minutes remaining" +#: ../js/ui/status/power.js:121 +#, c-format +msgid "%d %s %d %s remaining" +msgstr "Осталось %d %s %d %s" + +#: ../js/ui/status/power.js:123 +msgid "hour" +msgid_plural "hours" +msgstr[0] "час" +msgstr[1] "часа" +msgstr[2] "часов" + +#: ../js/ui/status/power.js:123 +#| msgid "%d minute ago" +#| msgid_plural "%d minutes ago" +msgid "minute" +msgid_plural "minutes" +msgstr[0] "минута" +msgstr[1] "минуты" +msgstr[2] "минут" + +#: ../js/ui/status/power.js:126 +#, c-format +#| msgid "%d minute ago" +#| msgid_plural "%d minutes ago" +msgid "%d minute remaining" +msgid_plural "%d minutes remaining" +msgstr[0] "Осталась %d минута" +msgstr[1] "Осталось %d минуты" +msgstr[2] "Осталось %d минут" + +#: ../js/ui/status/power.js:228 +msgid "AC adapter" +msgstr "Адаптер переменного тока" + +#: ../js/ui/status/power.js:230 +msgid "Laptop battery" +msgstr "Батарея ноутбука" + +#: ../js/ui/status/power.js:232 +msgid "UPS" +msgstr "ИБП" + +#: ../js/ui/status/power.js:234 +msgid "Monitor" +msgstr "Монитор" + +#: ../js/ui/status/power.js:236 +#| msgid "More" +msgid "Mouse" +msgstr "Мышь" + +#: ../js/ui/status/power.js:238 +msgid "Keyboard" +msgstr "Клавиатура" + +#: ../js/ui/status/power.js:240 +msgid "PDA" +msgstr "КПК" + +#: ../js/ui/status/power.js:242 +msgid "Cell phone" +msgstr "Мобильный телефон" + +#: ../js/ui/status/power.js:244 +msgid "Media player" +msgstr "Медиаплеер" + +#: ../js/ui/status/power.js:246 +msgid "Tablet" +msgstr "Планшет" + +#: ../js/ui/status/power.js:248 +msgid "Computer" +msgstr "Компьютер" + +#: ../js/ui/status/power.js:250 +#: ../src/shell-app-system.c:1088 +msgid "Unknown" +msgstr "Неизвестно" + +#: ../js/ui/status/volume.js:45 +msgid "Volume" +msgstr "Громкость" + +#: ../js/ui/status/volume.js:58 +msgid "Microphone" +msgstr "Микрофон" + +#: ../js/ui/telepathyClient.js:332 +#, c-format +msgid "%s is online." +msgstr "%s в сети." + +#: ../js/ui/telepathyClient.js:337 +#, c-format +msgid "%s is offline." +msgstr "%s не в сети." + +#: ../js/ui/telepathyClient.js:340 +#, c-format +msgid "%s is away." +msgstr "%s ушёл." + +#: ../js/ui/telepathyClient.js:343 +#, c-format +msgid "%s is busy." +msgstr "%s занят." + +#. Translators: this is a time format string followed by a date. +#. If applicable, replace %X with a strftime format valid for your +#. locale, without seconds. +#: ../js/ui/telepathyClient.js:474 +#, no-c-format +msgid "Sent at %X on %A" +msgstr "Отправлено %X %A" + +#. Translators: this is the text displayed +#. in the search entry when no search is +#. active; it should not exceed ~30 +#. characters. +#: ../js/ui/viewSelector.js:122 +msgid "Type to search..." +msgstr "Введите для поиска…" + +#: ../js/ui/viewSelector.js:142 +#: ../src/shell-util.c:250 +msgid "Search" +msgstr "Поиск" + +#: ../js/ui/windowAttentionHandler.js:42 +#, c-format +msgid "%s has finished starting" +msgstr "Приложение %s завершило запуск" + +#: ../js/ui/windowAttentionHandler.js:44 +#, c-format +msgid "'%s' is ready" +msgstr "Приложение «%s» готово" + +#. translators: +#. * The number of sound outputs on a particular device +#: ../src/gvc/gvc-mixer-control.c:1098 +#, c-format +msgid "%u Output" +msgid_plural "%u Outputs" +msgstr[0] "%u вывод" +msgstr[1] "%u вывода" +msgstr[2] "%u выводов" + +#. translators: +#. * The number of sound inputs on a particular device +#: ../src/gvc/gvc-mixer-control.c:1108 +#, c-format +msgid "%u Input" +msgid_plural "%u Inputs" +msgstr[0] "%u вход" +msgstr[1] "%u входа" +msgstr[2] "%u входов" + +#: ../src/gvc/gvc-mixer-control.c:1406 +msgid "System Sounds" +msgstr "Системные звуки" + +#: ../src/main.c:397 +msgid "Print version" +msgstr "Показать номер версии" + +#: ../src/shell-app.c:454 +#, c-format +msgid "Failed to launch '%s'" +msgstr "Не удалось запустить «%s»" + +#: ../src/shell-global.c:1395 msgid "Less than a minute ago" -msgstr "Менее минуты назад" +msgstr "Меньше минуты назад" -#: ../src/shell-global.c:815 +#: ../src/shell-global.c:1399 #, c-format msgid "%d minute ago" msgid_plural "%d minutes ago" @@ -134,7 +1128,7 @@ msgstr[0] "%d минуту назад" msgstr[1] "%d минуты назад" msgstr[2] "%d минут назад" -#: ../src/shell-global.c:818 +#: ../src/shell-global.c:1404 #, c-format msgid "%d hour ago" msgid_plural "%d hours ago" @@ -142,7 +1136,7 @@ msgstr[0] "%d час назад" msgstr[1] "%d часа назад" msgstr[2] "%d часов назад" -#: ../src/shell-global.c:821 +#: ../src/shell-global.c:1409 #, c-format msgid "%d day ago" msgid_plural "%d days ago" @@ -150,7 +1144,7 @@ msgstr[0] "%d день назад" msgstr[1] "%d дня назад" msgstr[2] "%d дней назад" -#: ../src/shell-global.c:824 +#: ../src/shell-global.c:1414 #, c-format msgid "%d week ago" msgid_plural "%d weeks ago" @@ -158,76 +1152,35 @@ msgstr[0] "%d неделю назад" msgstr[1] "%d недели назад" msgstr[2] "%d недель назад" -#: ../src/shell-status-menu.c:156 -msgid "Unknown" -msgstr "Неизвестно" +#: ../src/shell-mobile-providers.c:80 +msgid "United Kingdom" +msgstr "Великобритания" -#: ../src/shell-status-menu.c:212 -#, c-format -msgid "Can't lock screen: %s" -msgstr "Не удалось заблокировать экран: %s" +#: ../src/shell-mobile-providers.c:526 +msgid "Default" +msgstr "По умолчанию" -#: ../src/shell-status-menu.c:227 -#, c-format -msgid "Can't temporarily set screensaver to blank screen: %s" -msgstr "Не удалось временно установить пустую экранную заставку: %s" +#: ../src/shell-polkit-authentication-agent.c:334 +msgid "Authentication dialog was dismissed by the user" +msgstr "Пользователь отклонил диалог аутентификации" -#: ../src/shell-status-menu.c:351 -#, c-format -msgid "Can't logout: %s" -msgstr "Не удалось завершить сеанс пользователя: %s" - -#: ../src/shell-status-menu.c:492 -msgid "Account Information..." -msgstr "Информация о пользователе…" - -#: ../src/shell-status-menu.c:502 -msgid "Sidebar" -msgstr "Боковая панель" - -#: ../src/shell-status-menu.c:510 -msgid "System Preferences..." -msgstr "Системные настройки…" - -#: ../src/shell-status-menu.c:525 -msgid "Lock Screen" -msgstr "Заблокировать экран" - -#: ../src/shell-status-menu.c:535 -msgid "Switch User" -msgstr "Сменить пользователя" - -#. Only show switch user if there are other users -#. Log Out -#: ../src/shell-status-menu.c:546 -msgid "Log Out..." -msgstr "Завершить сеанс…" - -#. Shut down -#: ../src/shell-status-menu.c:557 -msgid "Shut Down..." -msgstr "Выключить…" - -#: ../src/shell-uri-util.c:87 +#: ../src/shell-util.c:89 msgid "Home Folder" msgstr "Домашняя папка" #. Translators: this is the same string as the one found in #. * nautilus -#: ../src/shell-uri-util.c:102 +#: ../src/shell-util.c:104 msgid "File System" msgstr "Файловая система" -#: ../src/shell-uri-util.c:248 -msgid "Search" -msgstr "Поиск" - #. Translators: the first string is the name of a gvfs #. * method, and the second string is a path. For #. * example, "Trash: some-directory". It means that the #. * directory called "some-directory" is in the trash. #. -#: ../src/shell-uri-util.c:298 +#: ../src/shell-util.c:300 #, c-format msgid "%1$s: %2$s" msgstr "%1$s: %2$s" + From 7dcd2313d87592e904952711e804ea69f2795a12 Mon Sep 17 00:00:00 2001 From: Ray Strode Date: Mon, 21 Mar 2011 16:11:15 -0400 Subject: [PATCH 148/203] endSessionDialog: hide app list when there are no apps We don't want its padding to show up when it shouldn't be visible. https://bugzilla.gnome.org/show_bug.cgi?id=641375 --- js/ui/endSessionDialog.js | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/js/ui/endSessionDialog.js b/js/ui/endSessionDialog.js index d1fff2d05..55aa05a65 100644 --- a/js/ui/endSessionDialog.js +++ b/js/ui/endSessionDialog.js @@ -288,12 +288,26 @@ EndSessionDialog.prototype = { this.contentLayout.add(scrollView, { x_fill: true, y_fill: true }); + scrollView.hide(); + this._applicationList = new St.BoxLayout({ vertical: true }); scrollView.add_actor(this._applicationList, { x_fill: true, y_fill: true, x_align: St.Align.START, y_align: St.Align.MIDDLE }); + + this._applicationList.connect('actor-added', + Lang.bind(this, function() { + if (this._applicationList.get_children().length == 1) + scrollView.show(); + })); + + this._applicationList.connect('actor-removed', + Lang.bind(this, function() { + if (this._applicationList.get_children().length == 0) + scrollView.hide(); + })); }, _onDestroy: function() { From 35e410fe962c98b6e0cb245baba3b267c24f6d35 Mon Sep 17 00:00:00 2001 From: Ray Strode Date: Mon, 21 Mar 2011 16:07:22 -0400 Subject: [PATCH 149/203] endSessionDialog: clean up appearance This commit lines up the app list with the description, adds spacing between controls of the dialog, and increases the wrap width of the text. https://bugzilla.gnome.org/show_bug.cgi?id=641375 --- data/theme/gnome-shell.css | 17 +++++++++++------ js/ui/endSessionDialog.js | 2 +- js/ui/modalDialog.js | 5 +++-- 3 files changed, 15 insertions(+), 9 deletions(-) diff --git a/data/theme/gnome-shell.css b/data/theme/gnome-shell.css index 0ac243f00..e26c16249 100644 --- a/data/theme/gnome-shell.css +++ b/data/theme/gnome-shell.css @@ -1350,6 +1350,10 @@ StTooltip StLabel { padding-top: 30px; } +.modal-dialog-button-box { + spacing: 21px; +} + .modal-dialog-button { border: 1px solid #8b8b8b; border-radius: 18px; @@ -1421,6 +1425,10 @@ StTooltip StLabel { } /* End Session Dialog */ +.end-session-dialog { + spacing: 42px; +} + .end-session-dialog-subject { font-size: 12pt; font-weight: bold; @@ -1439,13 +1447,11 @@ StTooltip StLabel { font-size: 10pt; color: white; padding-left: 17px; - padding-right: 40px; - width: 16em; + width: 28em; } .end-session-dialog-description:rtl { padding-right: 17px; - padding-left: 40px; } .end-session-dialog-logout-icon { @@ -1464,13 +1470,12 @@ StTooltip StLabel { font-size: 10pt; max-height: 200px; padding-top: 42px; - padding-bottom: 42px; - padding-left: 17px; + padding-left: 49px; padding-right: 32px; } .end-session-dialog-app-list:rtl { - padding-right: 17px; + padding-right: 49px; padding-left: 32px; } diff --git a/js/ui/endSessionDialog.js b/js/ui/endSessionDialog.js index 55aa05a65..f221d7e2c 100644 --- a/js/ui/endSessionDialog.js +++ b/js/ui/endSessionDialog.js @@ -233,7 +233,7 @@ EndSessionDialog.prototype = { __proto__: ModalDialog.ModalDialog.prototype, _init: function() { - ModalDialog.ModalDialog.prototype._init.call(this); + ModalDialog.ModalDialog.prototype._init.call(this, { styleClass: 'end-session-dialog' }); this._user = Gdm.UserManager.ref_default().get_user(GLib.get_user_name()); diff --git a/js/ui/modalDialog.js b/js/ui/modalDialog.js index 4b891f5ea..802f9c90f 100644 --- a/js/ui/modalDialog.js +++ b/js/ui/modalDialog.js @@ -87,8 +87,9 @@ ModalDialog.prototype = { x_align: St.Align.MIDDLE, y_align: St.Align.START }); - this._buttonLayout = new St.BoxLayout({ opacity: 220, - vertical: false }); + this._buttonLayout = new St.BoxLayout({ style_class: 'modal-dialog-button-box', + opacity: 220, + vertical: false }); this._dialogLayout.add(this._buttonLayout, { expand: true, x_align: St.Align.MIDDLE, From dba02f8f08c7c0499d0c7e4869e95b4c58ea4c90 Mon Sep 17 00:00:00 2001 From: Ray Strode Date: Mon, 21 Mar 2011 16:12:30 -0400 Subject: [PATCH 150/203] endSessionDialog: make shutdown dialog work like latest mock ups This commit adds a restart button to the shutdown dialog and changes the terminology from Shut Down to Power Off. This brings things in line with the latest mockups here: http://live.gnome.org/GnomeShell/Design/Whiteboards/SystemStopRestart https://bugzilla.gnome.org/show_bug.cgi?id=641375 --- js/ui/endSessionDialog.js | 51 ++++++++++++++++++++++++--------------- 1 file changed, 31 insertions(+), 20 deletions(-) diff --git a/js/ui/endSessionDialog.js b/js/ui/endSessionDialog.js index f221d7e2c..c019e2aaa 100644 --- a/js/ui/endSessionDialog.js +++ b/js/ui/endSessionDialog.js @@ -66,16 +66,20 @@ const logoutDialogContent = { uninhibitedDescriptionWithUser: _("%s will be logged out automatically in %d seconds."), uninhibitedDescription: _("You will be logged out automatically in %d seconds."), endDescription: _("Logging out of the system."), - confirmButtonText: _("Log Out"), + confirmButtons: [{ signal: 'ConfirmedLogout', + label: _("Log Out") }], iconStyleClass: 'end-session-dialog-logout-icon' }; const shutdownDialogContent = { - subject: _("Shut Down"), - inhibitedDescription: _("Click Shut Down to quit these applications and shut down the system."), - uninhibitedDescription: _("The system will shut down automatically in %d seconds."), - endDescription: _("Shutting down the system."), - confirmButtonText: _("Shut Down"), + subject: _("Power Off"), + inhibitedDescription: _("Click Power Off to quit these applications and power off the system."), + uninhibitedDescription: _("The system will power off automatically in %d seconds."), + endDescription: _("Powering off the system."), + confirmButtons: [{ signal: 'ConfirmedReboot', + label: _("Restart") }, + { signal: 'ConfirmedShutdown', + label: _("Power Off") }], iconName: 'system-shutdown', iconStyleClass: 'end-session-dialog-shutdown-icon' }; @@ -85,7 +89,8 @@ const restartDialogContent = { inhibitedDescription: _("Click Restart to quit these applications and restart the system."), uninhibitedDescription: _("The system will restart automatically in %d seconds."), endDescription: _("Restarting the system."), - confirmButtonText: _("Restart"), + confirmButtons: [{ signal: 'ConfirmedReboot', + label: _("Restart") }], iconName: 'system-shutdown', iconStyleClass: 'end-session-dialog-shutdown-icon' }; @@ -406,18 +411,20 @@ EndSessionDialog.prototype = { return; let dialogContent = DialogContent[this._type]; - let confirmButtonText = _("Confirm"); + let buttons = [{ action: Lang.bind(this, this.cancel), + label: _("Cancel"), + key: Clutter.Escape }]; - if (dialogContent.confirmButtonText) - confirmButtonText = dialogContent.confirmButtonText; + for (let i = 0; i < dialogContent.confirmButtons.length; i++) { + let signal = dialogContent.confirmButtons[i].signal; + let label = dialogContent.confirmButtons[i].label; + buttons.push({ action: Lang.bind(this, function() { + this._confirm(signal); + }), + label: label }); + } - this.setButtons([{ label: _("Cancel"), - action: Lang.bind(this, this.cancel), - key: Clutter.Escape - }, - { label: confirmButtonText, - action: Lang.bind(this, this._confirm) - }]); + this.setButtons(buttons); }, close: function() { @@ -435,12 +442,12 @@ EndSessionDialog.prototype = { this.close(global.get_current_time()); }, - _confirm: function() { + _confirm: function(signal) { this._fadeOutDialog(); this._stopTimer(); DBus.session.emit_signal('/org/gnome/SessionManager/EndSessionDialog', 'org.gnome.SessionManager.EndSessionDialog', - 'Confirmed', '', []); + signal, '', []); }, _onOpened: function() { @@ -455,7 +462,11 @@ EndSessionDialog.prototype = { time: this._secondsLeft, transition: 'linear', onUpdate: Lang.bind(this, this._updateContent), - onComplete: Lang.bind(this, this._confirm), + onComplete: Lang.bind(this, function() { + let dialogContent = DialogContent[this._type]; + let button = dialogContent.confirmButtons[dialogContent.confirmButtons.length - 1]; + this._confirm(button.signal); + }), }); }, From 4208078750e56c34da451a2a0bfe66de7a6fab63 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Florian=20M=C3=BCllner?= Date: Tue, 22 Mar 2011 04:47:43 +0100 Subject: [PATCH 151/203] st-texture-cache: Fix stretched images Some functions in StTextureCache enforce square ClutterTextures, even in cases where the underlying CoglTexture has a different width:height ratio. Add padding in those cases to keep the resulting image from being stretched. https://bugzilla.gnome.org/show_bug.cgi?id=643866 --- src/st/st-texture-cache.c | 62 +++++++++++++++++++++++++++++++-------- 1 file changed, 49 insertions(+), 13 deletions(-) diff --git a/src/st/st-texture-cache.c b/src/st/st-texture-cache.c index a87f495e4..182851bad 100644 --- a/src/st/st-texture-cache.c +++ b/src/st/st-texture-cache.c @@ -777,6 +777,7 @@ typedef struct { char *key; char *uri; gboolean thumbnail; + gboolean enforced_square; char *mimetype; GtkRecentInfo *recent_info; char *checksum; @@ -788,15 +789,47 @@ typedef struct { } AsyncTextureLoadData; static CoglHandle -pixbuf_to_cogl_handle (GdkPixbuf *pixbuf) +pixbuf_to_cogl_handle (GdkPixbuf *pixbuf, + gboolean add_padding) { - return cogl_texture_new_from_data (gdk_pixbuf_get_width (pixbuf), - gdk_pixbuf_get_height (pixbuf), - COGL_TEXTURE_NONE, - gdk_pixbuf_get_has_alpha (pixbuf) ? COGL_PIXEL_FORMAT_RGBA_8888 : COGL_PIXEL_FORMAT_RGB_888, - COGL_PIXEL_FORMAT_ANY, - gdk_pixbuf_get_rowstride (pixbuf), - gdk_pixbuf_get_pixels (pixbuf)); + CoglHandle texture, offscreen; + CoglColor clear_color; + int width, height; + guint size; + + width = gdk_pixbuf_get_width (pixbuf); + height = gdk_pixbuf_get_height (pixbuf); + size = MAX (width, height); + + if (!add_padding || width == height) + return cogl_texture_new_from_data (width, + height, + COGL_TEXTURE_NONE, + gdk_pixbuf_get_has_alpha (pixbuf) ? COGL_PIXEL_FORMAT_RGBA_8888 : COGL_PIXEL_FORMAT_RGB_888, + COGL_PIXEL_FORMAT_ANY, + gdk_pixbuf_get_rowstride (pixbuf), + gdk_pixbuf_get_pixels (pixbuf)); + + texture = cogl_texture_new_with_size (size, size, + 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, + width, height, + width, height, + gdk_pixbuf_get_has_alpha (pixbuf) ? COGL_PIXEL_FORMAT_RGBA_8888 : COGL_PIXEL_FORMAT_RGB_888, + gdk_pixbuf_get_rowstride (pixbuf), + gdk_pixbuf_get_pixels (pixbuf)); + return texture; } static cairo_surface_t * @@ -882,7 +915,7 @@ on_pixbuf_loaded (GObject *source, if (pixbuf == NULL) goto out; - texdata = pixbuf_to_cogl_handle (pixbuf); + texdata = pixbuf_to_cogl_handle (pixbuf, data->enforced_square); g_object_unref (pixbuf); @@ -956,7 +989,7 @@ st_texture_cache_reset_texture (StTextureCachePropertyBind *bind, if (pixbuf != NULL) { - texdata = pixbuf_to_cogl_handle (pixbuf); + texdata = pixbuf_to_cogl_handle (pixbuf, FALSE); g_object_unref (pixbuf); clutter_texture_set_cogl_texture (bind->texture, texdata); @@ -1183,6 +1216,7 @@ load_gicon_with_colors (StTextureCache *cache, request->icon = g_object_ref (icon); request->icon_info = info; request->width = request->height = size; + request->enforced_square = TRUE; load_icon_pixbuf_async (cache, icon, info, size, colors, NULL, on_pixbuf_loaded, request); } @@ -1247,7 +1281,7 @@ load_from_pixbuf (GdkPixbuf *pixbuf) clutter_actor_set_size (CLUTTER_ACTOR (texture), width, height); - texdata = pixbuf_to_cogl_handle (pixbuf); + texdata = pixbuf_to_cogl_handle (pixbuf, FALSE); set_texture_cogl_texture (texture, texdata); @@ -1574,7 +1608,7 @@ st_texture_cache_load_uri_sync_to_cogl_texture (StTextureCache *cache, if (!pixbuf) goto out; - texdata = pixbuf_to_cogl_handle (pixbuf); + texdata = pixbuf_to_cogl_handle (pixbuf, FALSE); g_object_unref (pixbuf); if (policy == ST_TEXTURE_CACHE_POLICY_FOREVER) @@ -1825,7 +1859,7 @@ st_texture_cache_load_from_data (StTextureCache *cache, return NULL; } - texdata = pixbuf_to_cogl_handle (pixbuf); + texdata = pixbuf_to_cogl_handle (pixbuf, TRUE); g_object_unref (pixbuf); set_texture_cogl_texture (texture, texdata); @@ -1949,6 +1983,7 @@ st_texture_cache_load_thumbnail (StTextureCache *cache, data->thumbnail = TRUE; data->width = size; data->height = size; + data->enforced_square = TRUE; data->textures = g_slist_prepend (data->textures, g_object_ref (texture)); load_thumbnail_async (cache, uri, mimetype, size, NULL, on_pixbuf_loaded, data); } @@ -2025,6 +2060,7 @@ st_texture_cache_load_recent_thumbnail (StTextureCache *cache, data->recent_info = gtk_recent_info_ref (info); data->width = size; data->height = size; + data->enforced_square = TRUE; data->textures = g_slist_prepend (data->textures, g_object_ref (texture)); load_recent_thumbnail_async (cache, info, size, NULL, on_pixbuf_loaded, data); } From 12fad6f05f7b2183317dd35db95d479c8e44f5f5 Mon Sep 17 00:00:00 2001 From: Abderrahim Kitouni Date: Tue, 30 Nov 2010 16:12:22 +0100 Subject: [PATCH 152/203] Fix ripple animation for RTL locales The animation was invisible because it was going out of screen, also add a mirrored version of the image to the theme. https://bugzilla.gnome.org/show_bug.cgi?id=584662 --- data/Makefile.am | 3 ++- .../{corner-ripple.png => corner-ripple-ltr.png} | Bin data/theme/corner-ripple-rtl.png | Bin 0 -> 2386 bytes data/theme/gnome-shell.css | 6 +++++- js/ui/panel.js | 2 ++ 5 files changed, 9 insertions(+), 2 deletions(-) rename data/theme/{corner-ripple.png => corner-ripple-ltr.png} (100%) create mode 100644 data/theme/corner-ripple-rtl.png diff --git a/data/Makefile.am b/data/Makefile.am index b0477194c..819b15c34 100644 --- a/data/Makefile.am +++ b/data/Makefile.am @@ -24,7 +24,8 @@ dist_theme_DATA = \ theme/calendar-today.svg \ theme/close-window.svg \ theme/close.svg \ - theme/corner-ripple.png \ + theme/corner-ripple-ltr.png \ + theme/corner-ripple-rtl.png \ theme/dash-placeholder.svg \ theme/filter-selected-ltr.svg \ theme/filter-selected-rtl.svg \ diff --git a/data/theme/corner-ripple.png b/data/theme/corner-ripple-ltr.png similarity index 100% rename from data/theme/corner-ripple.png rename to data/theme/corner-ripple-ltr.png diff --git a/data/theme/corner-ripple-rtl.png b/data/theme/corner-ripple-rtl.png new file mode 100644 index 0000000000000000000000000000000000000000..26cf965f63064f996d5a2e6199bfc154f56fe24c GIT binary patch literal 2386 zcmV-Y39a^tP)gm7pL_57tSZ~(veUs9f{-AnQ^UjTq6&sMRgh5`>;X#0-g#kTA$3$d($A(%m?*iCw9(%k}x*yJxQ+ymHhL zY1#&VR4wW0Ug_yxopsJWd#}CD)t|iek84fSy~rZJoaFBUzY(Gs-M0Oc5O<_DSU`-8S2LMJL@OM>>}4kb(bRFxV3s9!?Rr09$9REgOK6N3 zL9{4O2cez8t?X(yuc`fr*v5Ge*aK|T0mIB}U8T&EpT6Vr#~*ptxySuMP47tB#_ZZ& zplpBvqBAavlb;*ntv`IjO&!;qF%#Z}xQEz@h#8I&Vh9Wsr8y1zDDHjzYwQeerN@hf zvmR9H4$d9hhql9LEIg6xP`I4*Y!^3f-0&+~zwhy3-^U;hipqUS+rXZr#5opPC79Ui zPWmbZ!1up-=*`_)S;Wj)AE4L*?%SRl4HDK!&KQp|jZUy?2!MNE{~BDPLd>GcU6fnE zr@+2Y2(1C@z#3xc^oh+50dV8S4PXBFBNuNhY8~wdu`P60(zfIUFg98jIww3aKC#N- zvzgxgiy!dX^_$F_Lz$)|IS`%#YoIBnMf6CAm?J3`%Tg5vpBQqVZSZ$C)?Lb1@@Ux2 zQ_TaRyG9>Fe1h1Q)BtO;&nh$#UM7eW)+>E3V}1Xdhkju@`bF6}Y(rZSaT{?9*a8;9 zW8-tO&)Icqt37F<_c=oEY^-}e{~*7#dU@7o?qW8DZ`;0u*t1oP&ZfC&Ydv8~=7}Qp zKeE;C?hly0_HTH%p>0}0wxAI(IS#dvM2m!AA!(t=%F=Cp?)bu)wXJWx`F1;bM{p5NFnjP?;XU};9uKzxH6f$zet}i3IA5Y%fO40hPID{H&NV5@{X*X5J!H- z+3%4==Jxg8mAG{zumh?H!BL6&Wz@U-;bBM10H6|vXdo{!qa z1K^X){E4N17y1v$AF(u7I^aSmE@3X!^o5GoG8t9Z#*&m3`ROE#$DSqI`tEn%E1#|n zyTN>aW!}Vw!oN!LN{E+h`m&@c&`Y|PnOl;!W#1#>zS9RpES}bxQ}ehFNb=Rqt$O9J zZ_I!5*GCVU!#?{;;y$aXp{R&U!mHTpLgNstCRS~aC2wQzNuC>3qbGWx_Sl4A8GdYT z)wTED^~QeL^I+9&iA=I5bAg!|eg(xDiE-K^i4~F+OH+~CcI-+%bk;dh7Eg-U|B2Ag zk;>QKdv`wRahaz}Db?~K;lTC->=!W`h_%c-BQ0x}V9m~ZiFTy2>sk*{%#eD?nf|<5}sex`oPo7O4YC`-(V_G&h!{fzZf!3>sUE zfe|o}qE)D=SsN(=J3K0!jT)P47FT<06F{c(;i9Mz-U-9_JY zhehmVt@}s^wilAT>~Pgc>THigOav1z>)1$WC}|+6W0@`6<6i)QGeDupA~_Vxqtl1~ z3+suvH+S#e<--sEhOfMI-g~23CyR~wT>CRw2RIK(DTgT^31$(R8&Xn)G&GtBPeWQs zdj(iAoPtOluh;>GRi=9aFFN4oQOKPsbkx9hVT zXZB~aXG7?sqz%XoNf$D?z_B&Pa+VXAA4{g0?YZr_q@&~O9A}TB7p_2k`1y{pZ9je; zdK6r_az)p#U*}tY`*uwFvu*C}4F}z1(v(=K)n_QI%X-1~i$WKS&jM3m2oxbBs_m3i zm&c^k5>(gJYS|Fd^v`sKaw;Bpzy zhF#TcT(wv!8my#qHR;!i%StLIjbgBLl-z|F+8)~;Lktj&?T82+lWrc8xBYB8%B!1O zdgF(0>E7A1#e>Ubcr@?&rt9irHtfo9sHh{U43g-Si_W3WRYOT*XPqcCvekts2@R%| z)TXnI_+v}!!ao}uu- zs10abTwK*cwggQO;pfrw|2(c-xuUcG@K3z)!?*M=gJJy6c%+TBH9fdLRMexG4_{Cp z^D>EAW(zl^&Kfa^@)tS87IgyqWp^Z9cCy!qyv8jY^;pX-0Gm(H*2 z!wv;BSj46KJO-NuR^1^@s607*qoM6N<$ Ef{zodu>b%7 literal 0 HcmV?d00001 diff --git a/data/theme/gnome-shell.css b/data/theme/gnome-shell.css index e26c16249..caaa5c425 100644 --- a/data/theme/gnome-shell.css +++ b/data/theme/gnome-shell.css @@ -1280,7 +1280,11 @@ StTooltip StLabel { .ripple-box { width: 52px; height: 52px; - background-image: url("corner-ripple.png"); + background-image: url("corner-ripple-ltr.png"); +} + +.ripple-box:rtl { + background-image: url("corner-ripple-rtl.png"); } .switcher-arrow { diff --git a/js/ui/panel.js b/js/ui/panel.js index 5ef212a93..8cbceb051 100644 --- a/js/ui/panel.js +++ b/js/ui/panel.js @@ -706,6 +706,8 @@ HotCorner.prototype = { x: x, y: y }); ripple._opacity = startOpacity; + if (ripple.get_direction() == St.TextDirection.RTL) + ripple.set_anchor_point_from_gravity(Clutter.Gravity.NORTH_EAST); Tweener.addTween(ripple, { _opacity: finalOpacity, scale_x: finalScale, scale_y: finalScale, From e1df2f8ff50ca8169b12cb77a8b1aa7fc27e6a2e Mon Sep 17 00:00:00 2001 From: Khaled Hosny Date: Tue, 22 Mar 2011 20:59:20 +0200 Subject: [PATCH 153/203] Updated Arabic translation --- po/ar.po | 74 ++++++++++++++++++++++++++++++++------------------------ 1 file changed, 43 insertions(+), 31 deletions(-) diff --git a/po/ar.po b/po/ar.po index 6b37609dc..8c1c93a5d 100644 --- a/po/ar.po +++ b/po/ar.po @@ -6,8 +6,8 @@ msgid "" msgstr "" "Project-Id-Version: HEAD\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2011-03-22 15:03+0200\n" -"PO-Revision-Date: 2011-03-22 15:03+0300\n" +"POT-Creation-Date: 2011-03-22 20:58+0200\n" +"PO-Revision-Date: 2011-03-22 20:58+0300\n" "Last-Translator: Khaled Hosny \n" "Language-Team: Arabic \n" "MIME-Version: 1.0\n" @@ -172,15 +172,15 @@ msgstr "التطبيقات" msgid "SETTINGS" msgstr "الإعدادات" -#: ../js/ui/appDisplay.js:620 +#: ../js/ui/appDisplay.js:625 msgid "New Window" msgstr "نافذة جديدة" -#: ../js/ui/appDisplay.js:623 +#: ../js/ui/appDisplay.js:628 msgid "Remove from Favorites" msgstr "أزِل من المفضّلة" -#: ../js/ui/appDisplay.js:624 +#: ../js/ui/appDisplay.js:629 msgid "Add to Favorites" msgstr "أضِف إلى المفضّلة" @@ -408,7 +408,7 @@ msgstr "العناصر الحديثة" msgid "Log Out %s" msgstr "اخرج%.0s" -#: ../js/ui/endSessionDialog.js:64 ../js/ui/endSessionDialog.js:69 +#: ../js/ui/endSessionDialog.js:64 ../js/ui/endSessionDialog.js:70 msgid "Log Out" msgstr "اخرج" @@ -430,45 +430,42 @@ msgstr "ستُخرج تلقائيا بعد %d ثوان." msgid "Logging out of the system." msgstr "يخرج من النظام." -#: ../js/ui/endSessionDialog.js:74 ../js/ui/endSessionDialog.js:78 -msgid "Shut Down" -msgstr "أطفئ" - -#: ../js/ui/endSessionDialog.js:75 -msgid "Click Shut Down to quit these applications and shut down the system." -msgstr "انقر على \"أطفئ\" لغلق هذه التطبيقات وإطفاء النظام." +#: ../js/ui/endSessionDialog.js:75 ../js/ui/endSessionDialog.js:82 +msgid "Power Off" +msgstr "أطفئ الحاسوب" #: ../js/ui/endSessionDialog.js:76 -#, c-format -msgid "The system will shut down automatically in %d seconds." -msgstr "سيُطفأ النظام تلقائيا خلال %d ثوان." +msgid "Click Power Off to quit these applications and power off the system." +msgstr "انقر على \"أطفئ الحاسوب\" لغلق هذه التطبيقات وإطفاء النظام." #: ../js/ui/endSessionDialog.js:77 -msgid "Shutting down the system." -msgstr "يُغلق النظام." +#, c-format +msgid "The system will power off automatically in %d seconds." +msgstr "سيُطفأ النظام تلقائيا خلال %d ثوان." -#: ../js/ui/endSessionDialog.js:84 ../js/ui/endSessionDialog.js:88 +#: ../js/ui/endSessionDialog.js:78 +msgid "Powering off the system." +msgstr "يُطفأ النظام." + +#: ../js/ui/endSessionDialog.js:80 ../js/ui/endSessionDialog.js:88 +#: ../js/ui/endSessionDialog.js:93 msgid "Restart" msgstr "أعِد التشغيل" -#: ../js/ui/endSessionDialog.js:85 +#: ../js/ui/endSessionDialog.js:89 msgid "Click Restart to quit these applications and restart the system." msgstr "انقر على \"أعِد التشغيل\" لغلق هذه التطبيقات إعادة تشغيل النظام." -#: ../js/ui/endSessionDialog.js:86 +#: ../js/ui/endSessionDialog.js:90 #, c-format msgid "The system will restart automatically in %d seconds." msgstr "سيُعاد تشغيل النظام تلقائيا خلال %d ثوان." -#: ../js/ui/endSessionDialog.js:87 +#: ../js/ui/endSessionDialog.js:91 msgid "Restarting the system." msgstr "يُعيد تشغيل النظام." -#: ../js/ui/endSessionDialog.js:395 -msgid "Confirm" -msgstr "أكّد" - -#: ../js/ui/endSessionDialog.js:400 ../js/ui/status/bluetooth.js:466 +#: ../js/ui/endSessionDialog.js:415 ../js/ui/status/bluetooth.js:466 msgid "Cancel" msgstr "ألغِ" @@ -536,11 +533,11 @@ msgstr "أغلق %s" #. Button on the left side of the panel. #. Translators: If there is no suitable word for "Activities" in your language, you can use the word for "Overview". -#: ../js/ui/panel.js:876 +#: ../js/ui/panel.js:878 msgid "Activities" msgstr "الأنشطة" -#: ../js/ui/panel.js:977 +#: ../js/ui/panel.js:979 msgid "Top Bar" msgstr "الشريط العلوي" @@ -566,7 +563,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:636 +#: ../js/ui/popupMenu.js:679 msgid "toggle-switch-us" msgstr "toggle-switch-intl" @@ -1105,7 +1102,7 @@ msgstr[5] "%u مدخل" msgid "System Sounds" msgstr "أصوات النظام" -#: ../src/main.c:397 +#: ../src/main.c:438 msgid "Print version" msgstr "اطبع الإصدارة" @@ -1194,6 +1191,21 @@ msgstr "نظام الملفات" msgid "%1$s: %2$s" msgstr "‏%1$s:‏ %2$s" +#~ msgid "Shut Down" +#~ msgstr "أطفئ" + +#~ msgid "Click Shut Down to quit these applications and shut down the system." +#~ msgstr "انقر على \"أطفئ\" لغلق هذه التطبيقات وإطفاء النظام." + +#~ msgid "The system will shut down automatically in %d seconds." +#~ msgstr "سيُطفأ النظام تلقائيا خلال %d ثوان." + +#~ msgid "Shutting down the system." +#~ msgstr "يُغلق النظام." + +#~ msgid "Confirm" +#~ msgstr "أكّد" + #~ msgid "Panel" #~ msgstr "اللوحة" From 5437629e890b5a03708a0db9ee105af5c06f4816 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jorge=20Gonz=C3=A1lez?= Date: Tue, 22 Mar 2011 20:33:20 +0100 Subject: [PATCH 154/203] Updated Spanish translation --- po/es.po | 256 ++++++++++++++++++++++++++++++------------------------- 1 file changed, 138 insertions(+), 118 deletions(-) diff --git a/po/es.po b/po/es.po index e29370f97..d4a27a705 100644 --- a/po/es.po +++ b/po/es.po @@ -1,18 +1,18 @@ # Spanish translation of gnome-shell. # Copyright (C) 2009 gnome-shell's COPYRIGHT HOLDER # This file is distributed under the same license as the gnome-shell package. -# Jorge González , 2009, 2010, 2011. # Benjamín Valero Espinosa , 2011. # Daniel Mustieles , 2010, 2011. +# Jorge González , 2009, 2010, 2011. # msgid "" msgstr "" "Project-Id-Version: gnome-shell.master\n" "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug.cgi?product=gnome-" "shell&keywords=I18N+L10N&component=general\n" -"POT-Creation-Date: 2011-03-17 19:20+0000\n" -"PO-Revision-Date: 2011-03-18 10:00+0100\n" -"Last-Translator: Daniel Mustieles \n" +"POT-Creation-Date: 2011-03-22 18:23+0000\n" +"PO-Revision-Date: 2011-03-22 20:32+0100\n" +"Last-Translator: Jorge González \n" "Language-Team: Español \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -96,16 +96,16 @@ msgid "" "at the optimal thread count on the system." msgstr "" "Establece la tubería GStreamer usada para codificar grabaciones. Sigue la " -"sintaxis usada para gst-launch. La tubería debería tener un sumidero («sink») " -"de ensamblaje/sesensamblaje donde el vídeo que se está grabando se graba. " -"Generalmente tendrá un origen de ensamblado/desensamblado; la salida de ese " -"punto se escibirá en el archivo de salida. No obstante la tubería también " -"puede tomar parte en su propia salida; esto se puede usar para enviar la " -"salida a un servidor «icecast» a través de shout2send o similar. Cuando no " -"está establecido o lo está a un valor vacío, se usará la tubería " -"predeterminada. Actualmente es «videorate ! vp8enc quality=10 speed=2 threads=" -"%T ! queue ! webmmux» y greba en WEBM usando el códec VP8. Se usa %T como " -"suposición para el número de hilos óptimos en el sistema." +"sintaxis usada para gst-launch. La tubería debería tener un sumidero " +"(«sink») de ensamblaje/sesensamblaje donde el vídeo que se está grabando se " +"graba. Generalmente tendrá un origen de ensamblado/desensamblado; la salida " +"de ese punto se escibirá en el archivo de salida. No obstante la tubería " +"también puede tomar parte en su propia salida; esto se puede usar para " +"enviar la salida a un servidor «icecast» a través de shout2send o similar. " +"Cuando no está establecido o lo está a un valor vacío, se usará la tubería " +"predeterminada. Actualmente es «videorate ! vp8enc quality=10 speed=2 " +"threads=%T ! queue ! webmmux» y greba en WEBM usando el códec VP8. Se usa %T " +"como suposición para el número de hilos óptimos en el sistema." #: ../data/org.gnome.shell.gschema.xml.in.h:14 msgid "Show date in clock" @@ -190,27 +190,27 @@ msgid "Execution of '%s' failed:" msgstr "Falló la ejecución de «%s»:" #. Translators: Filter to display all applications -#: ../js/ui/appDisplay.js:226 +#: ../js/ui/appDisplay.js:230 msgid "All" msgstr "Todas" -#: ../js/ui/appDisplay.js:324 +#: ../js/ui/appDisplay.js:328 msgid "APPLICATIONS" msgstr "APLICACIONES" -#: ../js/ui/appDisplay.js:350 +#: ../js/ui/appDisplay.js:354 msgid "SETTINGS" msgstr "CONFIGURACIÓN" -#: ../js/ui/appDisplay.js:612 +#: ../js/ui/appDisplay.js:625 msgid "New Window" msgstr "Ventana nueva" -#: ../js/ui/appDisplay.js:615 +#: ../js/ui/appDisplay.js:628 msgid "Remove from Favorites" msgstr "Quitar de los favoritos" -#: ../js/ui/appDisplay.js:616 +#: ../js/ui/appDisplay.js:629 msgid "Add to Favorites" msgstr "Añadir a los favoritos" @@ -370,7 +370,7 @@ msgstr "Esta semana" msgid "Next week" msgstr "La semana que viene" -#: ../js/ui/dash.js:174 ../js/ui/messageTray.js:933 +#: ../js/ui/dash.js:174 ../js/ui/messageTray.js:945 msgid "Remove" msgstr "Quitar" @@ -438,7 +438,7 @@ msgstr "ELEMENTOS RECIENTES" msgid "Log Out %s" msgstr "Cerrar la sesión %s" -#: ../js/ui/endSessionDialog.js:64 ../js/ui/endSessionDialog.js:69 +#: ../js/ui/endSessionDialog.js:64 ../js/ui/endSessionDialog.js:70 msgid "Log Out" msgstr "Cerrar la sesión" @@ -462,46 +462,47 @@ msgstr "Su sesión se cerrará automáticamente en %d segundos." msgid "Logging out of the system." msgstr "Cerrando la sesión." -#: ../js/ui/endSessionDialog.js:74 ../js/ui/endSessionDialog.js:78 -msgid "Shut Down" +#: ../js/ui/endSessionDialog.js:75 ../js/ui/endSessionDialog.js:82 +#| msgid "Power Off..." +msgid "Power Off" msgstr "Apagar" -#: ../js/ui/endSessionDialog.js:75 -msgid "Click Shut Down to quit these applications and shut down the system." +#: ../js/ui/endSessionDialog.js:76 +#| msgid "Click Log Out to quit these applications and log out of the system." +msgid "Click Power Off to quit these applications and power off the system." msgstr "Pulse «Apagar» para salir de esas aplicaciones y apagar el sistema." -#: ../js/ui/endSessionDialog.js:76 -#, c-format -msgid "The system will shut down automatically in %d seconds." -msgstr "El sistema se apagará automáticamente en %d segundos." - #: ../js/ui/endSessionDialog.js:77 -msgid "Shutting down the system." +#, c-format +#| msgid "The system will restart automatically in %d seconds." +msgid "The system will power off automatically in %d seconds." +msgstr "El sistema se apagará automáticamente en %d segundos." + +#: ../js/ui/endSessionDialog.js:78 +#| msgid "Logging out of the system." +msgid "Powering off the system." msgstr "Apagando el sistema." -#: ../js/ui/endSessionDialog.js:84 ../js/ui/endSessionDialog.js:88 +#: ../js/ui/endSessionDialog.js:80 ../js/ui/endSessionDialog.js:88 +#: ../js/ui/endSessionDialog.js:93 msgid "Restart" msgstr "Reiniciar" -#: ../js/ui/endSessionDialog.js:85 +#: ../js/ui/endSessionDialog.js:89 msgid "Click Restart to quit these applications and restart the system." msgstr "" "Pulse «Reiniciar» para salir de esas aplicaciones y reiniciar el sistema." -#: ../js/ui/endSessionDialog.js:86 +#: ../js/ui/endSessionDialog.js:90 #, c-format msgid "The system will restart automatically in %d seconds." msgstr "El sistema se reiniciará automáticamente en %d segundos." -#: ../js/ui/endSessionDialog.js:87 +#: ../js/ui/endSessionDialog.js:91 msgid "Restarting the system." msgstr "Reiniciando el sistema." -#: ../js/ui/endSessionDialog.js:395 -msgid "Confirm" -msgstr "Confirmar" - -#: ../js/ui/endSessionDialog.js:400 ../js/ui/status/bluetooth.js:465 +#: ../js/ui/endSessionDialog.js:415 ../js/ui/status/bluetooth.js:466 msgid "Cancel" msgstr "Cancelar" @@ -535,47 +536,47 @@ msgstr "Ver fuente" msgid "Web Page" msgstr "Página web" -#: ../js/ui/messageTray.js:926 +#: ../js/ui/messageTray.js:938 msgid "Open" msgstr "Abrir" -#: ../js/ui/messageTray.js:1986 +#: ../js/ui/messageTray.js:2018 msgid "System Information" msgstr "Información del sistema" -#: ../js/ui/overview.js:88 +#: ../js/ui/overview.js:89 msgid "Undo" msgstr "Deshacer" -#: ../js/ui/overview.js:183 +#: ../js/ui/overview.js:184 msgid "Windows" msgstr "Ventanas" -#: ../js/ui/overview.js:186 +#: ../js/ui/overview.js:187 msgid "Applications" msgstr "Aplicaciones" #. Translators: this is the name of the dock/favorites area on #. the left of the overview -#: ../js/ui/overview.js:202 +#: ../js/ui/overview.js:203 msgid "Dash" msgstr "Plano" #. TODO - _quit() doesn't really work on apps in state STARTING yet -#: ../js/ui/panel.js:514 +#: ../js/ui/panel.js:515 #, c-format msgid "Quit %s" msgstr "Salir de %s" #. Button on the left side of the panel. #. Translators: If there is no suitable word for "Activities" in your language, you can use the word for "Overview". -#: ../js/ui/panel.js:873 +#: ../js/ui/panel.js:876 msgid "Activities" msgstr "Actividades" -#: ../js/ui/panel.js:974 -msgid "Panel" -msgstr "Panel" +#: ../js/ui/panel.js:977 +msgid "Top Bar" +msgstr "Barra superior" #: ../js/ui/placeDisplay.js:122 #, c-format @@ -599,55 +600,55 @@ msgstr "LUGARES Y DISPOSITIVOS" #. "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:636 +#: ../js/ui/popupMenu.js:679 msgid "toggle-switch-us" msgstr "toggle-switch-intl" -#: ../js/ui/runDialog.js:201 +#: ../js/ui/runDialog.js:205 msgid "Please enter a command:" msgstr "Introduzca un comando:" -#: ../js/ui/searchDisplay.js:283 +#: ../js/ui/searchDisplay.js:310 msgid "Searching..." msgstr "Buscando…" -#: ../js/ui/searchDisplay.js:297 +#: ../js/ui/searchDisplay.js:324 msgid "No matching results." msgstr "No se encontró ningún resultado coincidente." -#: ../js/ui/statusMenu.js:114 ../js/ui/statusMenu.js:178 +#: ../js/ui/statusMenu.js:161 ../js/ui/statusMenu.js:228 msgid "Power Off..." msgstr "Apagar…" -#: ../js/ui/statusMenu.js:116 ../js/ui/statusMenu.js:177 +#: ../js/ui/statusMenu.js:163 ../js/ui/statusMenu.js:227 msgid "Suspend" msgstr "Suspender" -#: ../js/ui/statusMenu.js:137 +#: ../js/ui/statusMenu.js:184 msgid "Available" msgstr "Disponible" -#: ../js/ui/statusMenu.js:142 +#: ../js/ui/statusMenu.js:189 msgid "Busy" msgstr "Ocupado" -#: ../js/ui/statusMenu.js:150 +#: ../js/ui/statusMenu.js:197 msgid "My Account" msgstr "Mi cuenta" -#: ../js/ui/statusMenu.js:154 +#: ../js/ui/statusMenu.js:201 msgid "System Settings" msgstr "Configuración del sistema" -#: ../js/ui/statusMenu.js:161 +#: ../js/ui/statusMenu.js:208 msgid "Lock Screen" msgstr "Bloquear la pantalla" -#: ../js/ui/statusMenu.js:165 +#: ../js/ui/statusMenu.js:213 msgid "Switch User" msgstr "Cambiar de usuario" -#: ../js/ui/statusMenu.js:170 +#: ../js/ui/statusMenu.js:218 msgid "Log Out..." msgstr "Cerrar la sesión…" @@ -693,9 +694,9 @@ msgstr "Contraste alto" msgid "Large Text" msgstr "Texto grande" -#: ../js/ui/status/bluetooth.js:42 ../js/ui/status/bluetooth.js:236 -#: ../js/ui/status/bluetooth.js:332 ../js/ui/status/bluetooth.js:366 -#: ../js/ui/status/bluetooth.js:406 ../js/ui/status/bluetooth.js:439 +#: ../js/ui/status/bluetooth.js:42 ../js/ui/status/bluetooth.js:237 +#: ../js/ui/status/bluetooth.js:333 ../js/ui/status/bluetooth.js:367 +#: ../js/ui/status/bluetooth.js:407 ../js/ui/status/bluetooth.js:440 msgid "Bluetooth" msgstr "Bluetooth" @@ -715,94 +716,94 @@ msgstr "Configurar un dispositivo nuevo…" msgid "Bluetooth Settings" msgstr "Configuración de Bluetooth" -#: ../js/ui/status/bluetooth.js:187 +#: ../js/ui/status/bluetooth.js:188 msgid "Connection" msgstr "Conexión" -#: ../js/ui/status/bluetooth.js:223 +#: ../js/ui/status/bluetooth.js:224 msgid "Send Files..." msgstr "Enviar archivos…" -#: ../js/ui/status/bluetooth.js:228 +#: ../js/ui/status/bluetooth.js:229 msgid "Browse Files..." msgstr "Examinar archivos…" -#: ../js/ui/status/bluetooth.js:237 +#: ../js/ui/status/bluetooth.js:238 msgid "Error browsing device" msgstr "Error al examinar el dispositivo" -#: ../js/ui/status/bluetooth.js:238 +#: ../js/ui/status/bluetooth.js:239 #, c-format msgid "The requested device cannot be browsed, error is '%s'" msgstr "No se puede examinar el dispositivo solicitado, el error es «%s»" -#: ../js/ui/status/bluetooth.js:246 +#: ../js/ui/status/bluetooth.js:247 msgid "Keyboard Settings" msgstr "Configuración del teclado" -#: ../js/ui/status/bluetooth.js:251 +#: ../js/ui/status/bluetooth.js:252 msgid "Mouse Settings" msgstr "Ajustes del ratón…" -#: ../js/ui/status/bluetooth.js:258 ../js/ui/status/volume.js:66 +#: ../js/ui/status/bluetooth.js:259 ../js/ui/status/volume.js:66 msgid "Sound Settings" msgstr "Configuración del sonido" -#: ../js/ui/status/bluetooth.js:367 +#: ../js/ui/status/bluetooth.js:368 #, c-format msgid "Authorization request from %s" msgstr "Solicitud de autorización de %s" -#: ../js/ui/status/bluetooth.js:373 +#: ../js/ui/status/bluetooth.js:374 #, 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:375 +#: ../js/ui/status/bluetooth.js:376 msgid "Always grant access" msgstr "Conceder acceso siempre" -#: ../js/ui/status/bluetooth.js:376 +#: ../js/ui/status/bluetooth.js:377 msgid "Grant this time only" msgstr "Conceder sólo esta vez" -#: ../js/ui/status/bluetooth.js:377 +#: ../js/ui/status/bluetooth.js:378 msgid "Reject" msgstr "Rechazar" -#: ../js/ui/status/bluetooth.js:407 +#: ../js/ui/status/bluetooth.js:408 #, c-format msgid "Pairing confirmation for %s" msgstr "Confirmación de emparejamiento para «%s»" -#: ../js/ui/status/bluetooth.js:413 ../js/ui/status/bluetooth.js:447 +#: ../js/ui/status/bluetooth.js:414 ../js/ui/status/bluetooth.js:448 #, 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:414 +#: ../js/ui/status/bluetooth.js:415 #, c-format msgid "Please confirm whether the PIN '%s' matches the one on the device." msgstr "Confirme que el PIN mostrado en «%s» coincide con el del dispositivo." -#: ../js/ui/status/bluetooth.js:416 +#: ../js/ui/status/bluetooth.js:417 msgid "Matches" msgstr "Coincide" -#: ../js/ui/status/bluetooth.js:417 +#: ../js/ui/status/bluetooth.js:418 msgid "Does not match" msgstr "No coincide" -#: ../js/ui/status/bluetooth.js:440 +#: ../js/ui/status/bluetooth.js:441 #, c-format msgid "Pairing request for %s" msgstr "Solicitud de emparejamiento para «%s»" -#: ../js/ui/status/bluetooth.js:448 +#: ../js/ui/status/bluetooth.js:449 msgid "Please enter the PIN mentioned on the device." msgstr "Introduzca el PIN mencionado en el dispositivo." -#: ../js/ui/status/bluetooth.js:464 +#: ../js/ui/status/bluetooth.js:465 msgid "OK" msgstr "Aceptar" @@ -907,40 +908,40 @@ msgstr "Conexiones VPN" msgid "Network Settings" msgstr "Configuración de la red" -#: ../js/ui/status/network.js:1782 +#: ../js/ui/status/network.js:1783 #, c-format msgid "You're now connected to mobile broadband connection '%s'" msgstr "Ahora está conectado a la red de banda ancha móvil «%s»" -#: ../js/ui/status/network.js:1786 +#: ../js/ui/status/network.js:1787 #, c-format msgid "You're now connected to wireless network '%s'" msgstr "Ahora está conectado a la red inalámbrica «%s»" -#: ../js/ui/status/network.js:1790 +#: ../js/ui/status/network.js:1791 #, c-format msgid "You're now connected to wired network '%s'" msgstr "Ahora está conectado a la red cableada «%s»" -#: ../js/ui/status/network.js:1794 +#: ../js/ui/status/network.js:1795 #, c-format msgid "You're now connected to VPN network '%s'" msgstr "Ahora está conectado a la VPN «%s»" -#: ../js/ui/status/network.js:1799 +#: ../js/ui/status/network.js:1800 #, c-format msgid "You're now connected to '%s'" msgstr "Ahora está conectado a «%s»" -#: ../js/ui/status/network.js:1807 +#: ../js/ui/status/network.js:1808 msgid "Connection established" msgstr "Conexión establecida" -#: ../js/ui/status/network.js:1929 +#: ../js/ui/status/network.js:1930 msgid "Networking is disabled" msgstr "La red está desactivada" -#: ../js/ui/status/network.js:2054 +#: ../js/ui/status/network.js:2055 msgid "Network Manager" msgstr "Gestor de la red" @@ -1030,7 +1031,7 @@ msgstr "Tableta" msgid "Computer" msgstr "Equipo" -#: ../js/ui/status/power.js:250 ../src/shell-app-system.c:961 +#: ../js/ui/status/power.js:250 ../src/shell-app-system.c:1088 msgid "Unknown" msgstr "Desconocido" @@ -1074,11 +1075,11 @@ msgstr "Enviado a las %X el %A" #. in the search entry when no search is #. active; it should not exceed ~30 #. characters. -#: ../js/ui/viewSelector.js:119 +#: ../js/ui/viewSelector.js:122 msgid "Type to search..." msgstr "Teclear para buscar…" -#: ../js/ui/viewSelector.js:139 ../src/shell-util.c:250 +#: ../js/ui/viewSelector.js:142 ../src/shell-util.c:250 msgid "Search" msgstr "Buscar" @@ -1114,7 +1115,7 @@ msgstr[1] "%u entradas" msgid "System Sounds" msgstr "Sonidos del sistema" -#: ../src/main.c:397 +#: ../src/main.c:438 msgid "Print version" msgstr "Imprimir versión" @@ -1123,32 +1124,32 @@ msgstr "Imprimir versión" msgid "Failed to launch '%s'" msgstr "Falló al lanzar «%s»" -#: ../src/shell-global.c:1340 +#: ../src/shell-global.c:1395 msgid "Less than a minute ago" msgstr "Hace menos de un minuto" -#: ../src/shell-global.c:1344 +#: ../src/shell-global.c:1399 #, c-format msgid "%d minute ago" msgid_plural "%d minutes ago" msgstr[0] "Hace %d minuto" msgstr[1] "Hace %d minutos" -#: ../src/shell-global.c:1349 +#: ../src/shell-global.c:1404 #, c-format msgid "%d hour ago" msgid_plural "%d hours ago" msgstr[0] "Hace %d hora" msgstr[1] "Hace %d horas" -#: ../src/shell-global.c:1354 +#: ../src/shell-global.c:1409 #, c-format msgid "%d day ago" msgid_plural "%d days ago" msgstr[0] "Hace %d día" msgstr[1] "Hace %d días" -#: ../src/shell-global.c:1359 +#: ../src/shell-global.c:1414 #, c-format msgid "%d week ago" msgid_plural "%d weeks ago" @@ -1187,6 +1188,24 @@ msgstr "Sistema de archivos" msgid "%1$s: %2$s" msgstr "%1$s: %2$s" +#~ msgid "Shut Down" +#~ msgstr "Apagar" + +#~ msgid "Click Shut Down to quit these applications and shut down the system." +#~ msgstr "Pulse «Apagar» para salir de esas aplicaciones y apagar el sistema." + +#~ msgid "The system will shut down automatically in %d seconds." +#~ msgstr "El sistema se apagará automáticamente en %d segundos." + +#~ msgid "Shutting down the system." +#~ msgstr "Apagando el sistema." + +#~ msgid "Confirm" +#~ msgstr "Confirmar" + +#~ msgid "Panel" +#~ msgstr "Panel" + #~ msgid "No such application" #~ msgstr "No existe la aplicación" @@ -1373,8 +1392,8 @@ msgstr "%1$s: %2$s" #~ "If true and format is either \"12-hour\" or \"24-hour\", display seconds " #~ "in time." #~ msgstr "" -#~ "Si es cierta y el formato es «12-horas» o «24-horas», muestra los segundos " -#~ "en la hora." +#~ "Si es cierta y el formato es «12-horas» o «24-horas», muestra los " +#~ "segundos en la hora." #~ msgid "" #~ "This key specifies the format used by the panel clock when the format key " @@ -1391,18 +1410,19 @@ msgstr "%1$s: %2$s" #~ msgid "" #~ "This key specifies the hour format used by the panel clock. Possible " #~ "values are \"12-hour\", \"24-hour\", \"unix\" and \"custom\". If set to " -#~ "\"unix\", the clock will display time in seconds since Epoch, i.e. 1970-" -#~ "01-01. If set to \"custom\", the clock will display time according to the " -#~ "format specified in the custom_format key. Note that if set to either " -#~ "\"unix\" or \"custom\", the show_date and show_seconds keys are ignored." +#~ "\"unix\", the clock will display time in seconds since Epoch, i.e. " +#~ "1970-01-01. If set to \"custom\", the clock will display time according " +#~ "to the format specified in the custom_format key. Note that if set to " +#~ "either \"unix\" or \"custom\", the show_date and show_seconds keys are " +#~ "ignored." #~ msgstr "" #~ "Esta clave especifica el formato de la hora especificado por el reloj del " -#~ "panel. Los valores posibles son «12-hour» (12 horas), «24-hour» (24 horas), " -#~ "«unix» y «custom» (personalizado).Si se establece a «unix» el reloj mostrará " -#~ "la hora en segundos desde la época (1 de enero de 1970). Si se establece " -#~ "a «custom» el reloj mostrará la hora según el formato especificado en la " -#~ "clave «custom_format». Note que si se establece a «unix» o «custom» se " -#~ "ignoran las claves «show_date» y «show_seconds»." +#~ "panel. Los valores posibles son «12-hour» (12 horas), «24-hour» (24 " +#~ "horas), «unix» y «custom» (personalizado).Si se establece a «unix» el " +#~ "reloj mostrará la hora en segundos desde la época (1 de enero de 1970). " +#~ "Si se establece a «custom» el reloj mostrará la hora según el formato " +#~ "especificado en la clave «custom_format». Note que si se establece a " +#~ "«unix» o «custom» se ignoran las claves «show_date» y «show_seconds»." #~ msgid "Clock Format" #~ msgstr "Formato del reloj" From 281b2e9b0ec47d3f513b8cc847a31fdf8505bac8 Mon Sep 17 00:00:00 2001 From: "Owen W. Taylor" Date: Mon, 18 Oct 2010 17:30:52 -0400 Subject: [PATCH 155/203] St: Fix blur radius computation to correspond to current CSS draft The next draft of the CSS Backgrounds and Borders module will actually define when the blur radius means. Fix our code to use that definition (2 * standard deviation) rather than using the 1.9 * that we extracted from what Mozilla was doing. https://bugzilla.gnome.org/show_bug.cgi?id=632506 --- src/st/st-private.c | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/src/st/st-private.c b/src/st/st-private.c index f97c2de7f..d0aa89bae 100644 --- a/src/st/st-private.c +++ b/src/st/st-private.c @@ -435,11 +435,12 @@ blur_pixels (guchar *pixels_in, guchar *pixels_out; float sigma; - /* we use an approximation of the sigma - blur radius relationship used - in Firefox for doing SVG blurs; see - http://mxr.mozilla.org/mozilla-central/source/gfx/thebes/src/gfxBlur.cpp#280 - */ - sigma = blur / 1.9; + /* The CSS specification defines (or will define) the blur radius as twice + * the Gaussian standard deviation. See: + * + * http://lists.w3.org/Archives/Public/www-style/2010Sep/0002.html + */ + sigma = blur / 2.; if ((guint) blur == 0) { From eb6ba563bd7d1d4f0f31d35a567dbc80e8b3237c Mon Sep 17 00:00:00 2001 From: Daniel Mustieles Date: Tue, 22 Mar 2011 20:58:02 +0100 Subject: [PATCH 156/203] Updated Spanish translation --- po/es.po | 135 ++++++++++++++++++++++++------------------------------- 1 file changed, 59 insertions(+), 76 deletions(-) diff --git a/po/es.po b/po/es.po index d4a27a705..680f977bd 100644 --- a/po/es.po +++ b/po/es.po @@ -1,18 +1,18 @@ # Spanish translation of gnome-shell. # Copyright (C) 2009 gnome-shell's COPYRIGHT HOLDER # This file is distributed under the same license as the gnome-shell package. +# Jorge González , 2009, 2010, 2011. # Benjamín Valero Espinosa , 2011. # Daniel Mustieles , 2010, 2011. -# Jorge González , 2009, 2010, 2011. # msgid "" msgstr "" "Project-Id-Version: gnome-shell.master\n" "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug.cgi?product=gnome-" "shell&keywords=I18N+L10N&component=general\n" -"POT-Creation-Date: 2011-03-22 18:23+0000\n" -"PO-Revision-Date: 2011-03-22 20:32+0100\n" -"Last-Translator: Jorge González \n" +"POT-Creation-Date: 2011-03-21 21:17+0000\n" +"PO-Revision-Date: 2011-03-22 11:04+0100\n" +"Last-Translator: Daniel Mustieles \n" "Language-Team: Español \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -96,16 +96,16 @@ msgid "" "at the optimal thread count on the system." msgstr "" "Establece la tubería GStreamer usada para codificar grabaciones. Sigue la " -"sintaxis usada para gst-launch. La tubería debería tener un sumidero " -"(«sink») de ensamblaje/sesensamblaje donde el vídeo que se está grabando se " -"graba. Generalmente tendrá un origen de ensamblado/desensamblado; la salida " -"de ese punto se escibirá en el archivo de salida. No obstante la tubería " -"también puede tomar parte en su propia salida; esto se puede usar para " -"enviar la salida a un servidor «icecast» a través de shout2send o similar. " -"Cuando no está establecido o lo está a un valor vacío, se usará la tubería " -"predeterminada. Actualmente es «videorate ! vp8enc quality=10 speed=2 " -"threads=%T ! queue ! webmmux» y greba en WEBM usando el códec VP8. Se usa %T " -"como suposición para el número de hilos óptimos en el sistema." +"sintaxis usada para gst-launch. La tubería debería tener un sumidero («sink») " +"de ensamblaje/sesensamblaje donde el vídeo que se está grabando se graba. " +"Generalmente tendrá un origen de ensamblado/desensamblado; la salida de ese " +"punto se escibirá en el archivo de salida. No obstante la tubería también " +"puede tomar parte en su propia salida; esto se puede usar para enviar la " +"salida a un servidor «icecast» a través de shout2send o similar. Cuando no " +"está establecido o lo está a un valor vacío, se usará la tubería " +"predeterminada. Actualmente es «videorate ! vp8enc quality=10 speed=2 threads=" +"%T ! queue ! webmmux» y greba en WEBM usando el códec VP8. Se usa %T como " +"suposición para el número de hilos óptimos en el sistema." #: ../data/org.gnome.shell.gschema.xml.in.h:14 msgid "Show date in clock" @@ -202,15 +202,15 @@ msgstr "APLICACIONES" msgid "SETTINGS" msgstr "CONFIGURACIÓN" -#: ../js/ui/appDisplay.js:625 +#: ../js/ui/appDisplay.js:620 msgid "New Window" msgstr "Ventana nueva" -#: ../js/ui/appDisplay.js:628 +#: ../js/ui/appDisplay.js:623 msgid "Remove from Favorites" msgstr "Quitar de los favoritos" -#: ../js/ui/appDisplay.js:629 +#: ../js/ui/appDisplay.js:624 msgid "Add to Favorites" msgstr "Añadir a los favoritos" @@ -370,7 +370,7 @@ msgstr "Esta semana" msgid "Next week" msgstr "La semana que viene" -#: ../js/ui/dash.js:174 ../js/ui/messageTray.js:945 +#: ../js/ui/dash.js:174 ../js/ui/messageTray.js:944 msgid "Remove" msgstr "Quitar" @@ -438,7 +438,7 @@ msgstr "ELEMENTOS RECIENTES" msgid "Log Out %s" msgstr "Cerrar la sesión %s" -#: ../js/ui/endSessionDialog.js:64 ../js/ui/endSessionDialog.js:70 +#: ../js/ui/endSessionDialog.js:64 ../js/ui/endSessionDialog.js:69 msgid "Log Out" msgstr "Cerrar la sesión" @@ -462,47 +462,46 @@ msgstr "Su sesión se cerrará automáticamente en %d segundos." msgid "Logging out of the system." msgstr "Cerrando la sesión." -#: ../js/ui/endSessionDialog.js:75 ../js/ui/endSessionDialog.js:82 -#| msgid "Power Off..." -msgid "Power Off" +#: ../js/ui/endSessionDialog.js:74 ../js/ui/endSessionDialog.js:78 +msgid "Shut Down" msgstr "Apagar" -#: ../js/ui/endSessionDialog.js:76 -#| msgid "Click Log Out to quit these applications and log out of the system." -msgid "Click Power Off to quit these applications and power off the system." +#: ../js/ui/endSessionDialog.js:75 +msgid "Click Shut Down to quit these applications and shut down the system." msgstr "Pulse «Apagar» para salir de esas aplicaciones y apagar el sistema." -#: ../js/ui/endSessionDialog.js:77 +#: ../js/ui/endSessionDialog.js:76 #, c-format -#| msgid "The system will restart automatically in %d seconds." -msgid "The system will power off automatically in %d seconds." -msgstr "El sistema se apagará automáticamente en %d segundos." +msgid "The system will shut down automatically in %d seconds." +msgstr "El sistema se apagará automáticamente en %d segundos." -#: ../js/ui/endSessionDialog.js:78 -#| msgid "Logging out of the system." -msgid "Powering off the system." +#: ../js/ui/endSessionDialog.js:77 +msgid "Shutting down the system." msgstr "Apagando el sistema." -#: ../js/ui/endSessionDialog.js:80 ../js/ui/endSessionDialog.js:88 -#: ../js/ui/endSessionDialog.js:93 +#: ../js/ui/endSessionDialog.js:84 ../js/ui/endSessionDialog.js:88 msgid "Restart" msgstr "Reiniciar" -#: ../js/ui/endSessionDialog.js:89 +#: ../js/ui/endSessionDialog.js:85 msgid "Click Restart to quit these applications and restart the system." msgstr "" "Pulse «Reiniciar» para salir de esas aplicaciones y reiniciar el sistema." -#: ../js/ui/endSessionDialog.js:90 +#: ../js/ui/endSessionDialog.js:86 #, c-format msgid "The system will restart automatically in %d seconds." msgstr "El sistema se reiniciará automáticamente en %d segundos." -#: ../js/ui/endSessionDialog.js:91 +#: ../js/ui/endSessionDialog.js:87 msgid "Restarting the system." msgstr "Reiniciando el sistema." -#: ../js/ui/endSessionDialog.js:415 ../js/ui/status/bluetooth.js:466 +#: ../js/ui/endSessionDialog.js:395 +msgid "Confirm" +msgstr "Confirmar" + +#: ../js/ui/endSessionDialog.js:400 ../js/ui/status/bluetooth.js:466 msgid "Cancel" msgstr "Cancelar" @@ -536,29 +535,29 @@ msgstr "Ver fuente" msgid "Web Page" msgstr "Página web" -#: ../js/ui/messageTray.js:938 +#: ../js/ui/messageTray.js:937 msgid "Open" msgstr "Abrir" -#: ../js/ui/messageTray.js:2018 +#: ../js/ui/messageTray.js:2008 msgid "System Information" msgstr "Información del sistema" -#: ../js/ui/overview.js:89 +#: ../js/ui/overview.js:88 msgid "Undo" msgstr "Deshacer" -#: ../js/ui/overview.js:184 +#: ../js/ui/overview.js:183 msgid "Windows" msgstr "Ventanas" -#: ../js/ui/overview.js:187 +#: ../js/ui/overview.js:186 msgid "Applications" msgstr "Aplicaciones" #. Translators: this is the name of the dock/favorites area on #. the left of the overview -#: ../js/ui/overview.js:203 +#: ../js/ui/overview.js:202 msgid "Dash" msgstr "Plano" @@ -600,7 +599,7 @@ msgstr "LUGARES Y DISPOSITIVOS" #. "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:679 +#: ../js/ui/popupMenu.js:636 msgid "toggle-switch-us" msgstr "toggle-switch-intl" @@ -608,11 +607,11 @@ msgstr "toggle-switch-intl" msgid "Please enter a command:" msgstr "Introduzca un comando:" -#: ../js/ui/searchDisplay.js:310 +#: ../js/ui/searchDisplay.js:287 msgid "Searching..." msgstr "Buscando…" -#: ../js/ui/searchDisplay.js:324 +#: ../js/ui/searchDisplay.js:301 msgid "No matching results." msgstr "No se encontró ningún resultado coincidente." @@ -1115,7 +1114,7 @@ msgstr[1] "%u entradas" msgid "System Sounds" msgstr "Sonidos del sistema" -#: ../src/main.c:438 +#: ../src/main.c:397 msgid "Print version" msgstr "Imprimir versión" @@ -1188,21 +1187,6 @@ msgstr "Sistema de archivos" msgid "%1$s: %2$s" msgstr "%1$s: %2$s" -#~ msgid "Shut Down" -#~ msgstr "Apagar" - -#~ msgid "Click Shut Down to quit these applications and shut down the system." -#~ msgstr "Pulse «Apagar» para salir de esas aplicaciones y apagar el sistema." - -#~ msgid "The system will shut down automatically in %d seconds." -#~ msgstr "El sistema se apagará automáticamente en %d segundos." - -#~ msgid "Shutting down the system." -#~ msgstr "Apagando el sistema." - -#~ msgid "Confirm" -#~ msgstr "Confirmar" - #~ msgid "Panel" #~ msgstr "Panel" @@ -1392,8 +1376,8 @@ msgstr "%1$s: %2$s" #~ "If true and format is either \"12-hour\" or \"24-hour\", display seconds " #~ "in time." #~ msgstr "" -#~ "Si es cierta y el formato es «12-horas» o «24-horas», muestra los " -#~ "segundos en la hora." +#~ "Si es cierta y el formato es «12-horas» o «24-horas», muestra los segundos " +#~ "en la hora." #~ msgid "" #~ "This key specifies the format used by the panel clock when the format key " @@ -1410,19 +1394,18 @@ msgstr "%1$s: %2$s" #~ msgid "" #~ "This key specifies the hour format used by the panel clock. Possible " #~ "values are \"12-hour\", \"24-hour\", \"unix\" and \"custom\". If set to " -#~ "\"unix\", the clock will display time in seconds since Epoch, i.e. " -#~ "1970-01-01. If set to \"custom\", the clock will display time according " -#~ "to the format specified in the custom_format key. Note that if set to " -#~ "either \"unix\" or \"custom\", the show_date and show_seconds keys are " -#~ "ignored." +#~ "\"unix\", the clock will display time in seconds since Epoch, i.e. 1970-" +#~ "01-01. If set to \"custom\", the clock will display time according to the " +#~ "format specified in the custom_format key. Note that if set to either " +#~ "\"unix\" or \"custom\", the show_date and show_seconds keys are ignored." #~ msgstr "" #~ "Esta clave especifica el formato de la hora especificado por el reloj del " -#~ "panel. Los valores posibles son «12-hour» (12 horas), «24-hour» (24 " -#~ "horas), «unix» y «custom» (personalizado).Si se establece a «unix» el " -#~ "reloj mostrará la hora en segundos desde la época (1 de enero de 1970). " -#~ "Si se establece a «custom» el reloj mostrará la hora según el formato " -#~ "especificado en la clave «custom_format». Note que si se establece a " -#~ "«unix» o «custom» se ignoran las claves «show_date» y «show_seconds»." +#~ "panel. Los valores posibles son «12-hour» (12 horas), «24-hour» (24 horas), " +#~ "«unix» y «custom» (personalizado).Si se establece a «unix» el reloj mostrará " +#~ "la hora en segundos desde la época (1 de enero de 1970). Si se establece " +#~ "a «custom» el reloj mostrará la hora según el formato especificado en la " +#~ "clave «custom_format». Note que si se establece a «unix» o «custom» se " +#~ "ignoran las claves «show_date» y «show_seconds»." #~ msgid "Clock Format" #~ msgstr "Formato del reloj" From 34b12e6a6abaff1a8eb89022443f4b61c28a6bbb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Fran=20Di=C3=A9guez?= Date: Tue, 22 Mar 2011 21:18:27 +0100 Subject: [PATCH 157/203] Updated Galician translations --- po/gl.po | 79 +++++++++++++++++++++++++++++++++----------------------- 1 file changed, 46 insertions(+), 33 deletions(-) diff --git a/po/gl.po b/po/gl.po index a79e5bc6f..f203bd15a 100644 --- a/po/gl.po +++ b/po/gl.po @@ -10,8 +10,8 @@ msgid "" msgstr "" "Project-Id-Version: gnome-shell master\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2011-03-22 00:52+0100\n" -"PO-Revision-Date: 2011-03-22 00:52+0100\n" +"POT-Creation-Date: 2011-03-22 21:17+0100\n" +"PO-Revision-Date: 2011-03-22 21:18+0100\n" "Last-Translator: \n" "Language-Team: Galician \n" "Language: gl\n" @@ -203,15 +203,15 @@ msgstr "APLICATIVOS" msgid "SETTINGS" msgstr "CONFIGURACIÓN" -#: ../js/ui/appDisplay.js:620 +#: ../js/ui/appDisplay.js:625 msgid "New Window" msgstr "Xanela nova" -#: ../js/ui/appDisplay.js:623 +#: ../js/ui/appDisplay.js:628 msgid "Remove from Favorites" msgstr "Eliminar dos favoritos" -#: ../js/ui/appDisplay.js:624 +#: ../js/ui/appDisplay.js:629 msgid "Add to Favorites" msgstr "Engadir aos favoritos" @@ -371,7 +371,7 @@ msgstr "Esta semana" msgid "Next week" msgstr "A vindeira semana" -#: ../js/ui/dash.js:174 ../js/ui/messageTray.js:944 +#: ../js/ui/dash.js:174 ../js/ui/messageTray.js:945 msgid "Remove" msgstr "Eliminar" @@ -439,7 +439,7 @@ msgstr "ELEMENTOS RECENTES" msgid "Log Out %s" msgstr "Saír da sesión de %s" -#: ../js/ui/endSessionDialog.js:64 ../js/ui/endSessionDialog.js:69 +#: ../js/ui/endSessionDialog.js:64 ../js/ui/endSessionDialog.js:70 msgid "Log Out" msgstr "Saír da sesión" @@ -462,48 +462,45 @@ msgstr "A súa sesión pecharase automaticamente en %d segundos." msgid "Logging out of the system." msgstr "Saíndo da sesión." -#: ../js/ui/endSessionDialog.js:74 ../js/ui/endSessionDialog.js:78 -msgid "Shut Down" +#: ../js/ui/endSessionDialog.js:75 ../js/ui/endSessionDialog.js:82 +msgid "Power Off" msgstr "Apagar" -#: ../js/ui/endSessionDialog.js:75 -msgid "Click Shut Down to quit these applications and shut down the system." +#: ../js/ui/endSessionDialog.js:76 +msgid "Click Power Off to quit these applications and power off the system." msgstr "" "Prema sobre Apagar para saír de estes aplicativos e apagar o computador." -#: ../js/ui/endSessionDialog.js:76 -#, c-format -msgid "The system will shut down automatically in %d seconds." -msgstr "O computador apagarase automaticamente en %d segundos." - #: ../js/ui/endSessionDialog.js:77 -msgid "Shutting down the system." -msgstr "Apagando o computador." +#, c-format +msgid "The system will power off automatically in %d seconds." +msgstr "O seu computador apagarase automaticamente en %d segundos." -#: ../js/ui/endSessionDialog.js:84 ../js/ui/endSessionDialog.js:88 +#: ../js/ui/endSessionDialog.js:78 +msgid "Powering off the system." +msgstr "Apagando o sistema." + +#: ../js/ui/endSessionDialog.js:80 ../js/ui/endSessionDialog.js:88 +#: ../js/ui/endSessionDialog.js:93 msgid "Restart" msgstr "Reiniciar" -#: ../js/ui/endSessionDialog.js:85 +#: ../js/ui/endSessionDialog.js:89 msgid "Click Restart to quit these applications and restart the system." msgstr "" "Prema sobre Reiniciar para saír de estes aplicativos e reiniciar o seu " "computador." -#: ../js/ui/endSessionDialog.js:86 +#: ../js/ui/endSessionDialog.js:90 #, c-format msgid "The system will restart automatically in %d seconds." msgstr "O seu computador reiniciarase automaticamente en %d segundos." -#: ../js/ui/endSessionDialog.js:87 +#: ../js/ui/endSessionDialog.js:91 msgid "Restarting the system." msgstr "Reiniciando o computador." -#: ../js/ui/endSessionDialog.js:395 -msgid "Confirm" -msgstr "Confirmar" - -#: ../js/ui/endSessionDialog.js:400 ../js/ui/status/bluetooth.js:466 +#: ../js/ui/endSessionDialog.js:415 ../js/ui/status/bluetooth.js:466 msgid "Cancel" msgstr "Cancelar" @@ -537,11 +534,11 @@ msgstr "Ver fonte" msgid "Web Page" msgstr "Páxina web" -#: ../js/ui/messageTray.js:937 +#: ../js/ui/messageTray.js:938 msgid "Open" msgstr "Abrir" -#: ../js/ui/messageTray.js:2008 +#: ../js/ui/messageTray.js:2018 msgid "System Information" msgstr "Información do sistema" @@ -571,11 +568,11 @@ msgstr "Saír de %s" #. Button on the left side of the panel. #. Translators: If there is no suitable word for "Activities" in your language, you can use the word for "Overview". -#: ../js/ui/panel.js:876 +#: ../js/ui/panel.js:878 msgid "Activities" msgstr "Actividades" -#: ../js/ui/panel.js:977 +#: ../js/ui/panel.js:979 msgid "Top Bar" msgstr "Barra superior" @@ -601,7 +598,7 @@ msgstr "LUGARES E DISPOSITIVOS" #. "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:636 +#: ../js/ui/popupMenu.js:679 msgid "toggle-switch-us" msgstr "toggle-switch-intl" @@ -1116,7 +1113,7 @@ msgstr[1] "%u entradas" msgid "System Sounds" msgstr "Sons do sistema" -#: ../src/main.c:397 +#: ../src/main.c:438 msgid "Print version" msgstr "Imprimir versión" @@ -1189,6 +1186,22 @@ msgstr "Sistema de ficheiros" msgid "%1$s: %2$s" msgstr "%1$s: %2$s" +#~ msgid "Shut Down" +#~ msgstr "Apagar" + +#~ msgid "Click Shut Down to quit these applications and shut down the system." +#~ msgstr "" +#~ "Prema sobre Apagar para saír de estes aplicativos e apagar o computador." + +#~ msgid "The system will shut down automatically in %d seconds." +#~ msgstr "O computador apagarase automaticamente en %d segundos." + +#~ msgid "Shutting down the system." +#~ msgstr "Apagando o computador." + +#~ msgid "Confirm" +#~ msgstr "Confirmar" + #~ msgid "Panel" #~ msgstr "Panel" From 1d7cef5bfeca90fc6734d8e2287be04cf772e376 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Florian=20M=C3=BCllner?= Date: Sat, 19 Feb 2011 01:56:23 +0100 Subject: [PATCH 158/203] workspace-thumbnails: Add a subtle border to indicator As windows' content tends to use mostly light colors/white, the thumbnail indicator is hard to spot for workspaces with maximized windows on it. To improve its visibility in these cases, add a subtle dark border in addition to the white outline. --- data/theme/gnome-shell.css | 1 + 1 file changed, 1 insertion(+) diff --git a/data/theme/gnome-shell.css b/data/theme/gnome-shell.css index caaa5c425..81f3bd1ad 100644 --- a/data/theme/gnome-shell.css +++ b/data/theme/gnome-shell.css @@ -353,6 +353,7 @@ StTooltip StLabel { .workspace-thumbnail-indicator { outline: 2px solid white; + border: 1px solid #888; } .window-caption { From f07fe0a8e72feaa822307e90252f5cf0fc9ce1fc Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Matej=20Urban=C4=8Di=C4=8D?= Date: Tue, 22 Mar 2011 22:05:03 +0100 Subject: [PATCH 159/203] Updated Slovenian translation --- po/sl.po | 214 +++++++++++++++++++++---------------------------------- 1 file changed, 81 insertions(+), 133 deletions(-) diff --git a/po/sl.po b/po/sl.po index cb140374b..06ae7d119 100644 --- a/po/sl.po +++ b/po/sl.po @@ -8,14 +8,14 @@ msgid "" msgstr "" "Project-Id-Version: gnome-shell master\n" "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug.cgi?product=gnome-shell&keywords=I18N+L10N&component=general\n" -"POT-Creation-Date: 2011-03-18 10:35+0000\n" -"PO-Revision-Date: 2011-03-18 14:38+0100\n" +"POT-Creation-Date: 2011-03-22 20:39+0000\n" +"PO-Revision-Date: 2011-03-22 21:52+0100\n" "Last-Translator: Matej Urbančič \n" "Language-Team: Slovenian GNOME Translation Team \n" +"Language: Slovenian\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: Slovenian\n" "Plural-Forms: nplurals=4; plural=(n%100==1 ? 1 : n%100==2 ? 2 : n%100==3 || n%100==4 ? 3 : 0);\n" "X-Poedit-Language: Slovenian\n" "X-Poedit-Country: SLOVENIA\n" @@ -138,27 +138,27 @@ msgid "Execution of '%s' failed:" msgstr "Izvedba '%s' je spodletela:" #. Translators: Filter to display all applications -#: ../js/ui/appDisplay.js:226 +#: ../js/ui/appDisplay.js:230 msgid "All" msgstr "Vse" -#: ../js/ui/appDisplay.js:324 +#: ../js/ui/appDisplay.js:328 msgid "APPLICATIONS" msgstr "Programi" -#: ../js/ui/appDisplay.js:350 +#: ../js/ui/appDisplay.js:354 msgid "SETTINGS" msgstr "NASTAVITVE" -#: ../js/ui/appDisplay.js:612 +#: ../js/ui/appDisplay.js:625 msgid "New Window" msgstr "Novo okno" -#: ../js/ui/appDisplay.js:615 +#: ../js/ui/appDisplay.js:628 msgid "Remove from Favorites" msgstr "Odstrani iz priljubljenih" -#: ../js/ui/appDisplay.js:616 +#: ../js/ui/appDisplay.js:629 msgid "Add to Favorites" msgstr "Dodaj med priljubljene" @@ -319,7 +319,7 @@ msgid "Next week" msgstr "Naslednji teden" #: ../js/ui/dash.js:174 -#: ../js/ui/messageTray.js:933 +#: ../js/ui/messageTray.js:945 msgid "Remove" msgstr "Odstrani" @@ -388,7 +388,7 @@ msgid "Log Out %s" msgstr "Odjava %s" #: ../js/ui/endSessionDialog.js:64 -#: ../js/ui/endSessionDialog.js:69 +#: ../js/ui/endSessionDialog.js:70 msgid "Log Out" msgstr "Odjava" @@ -410,47 +410,44 @@ msgstr "Samodejno boste odjavljeni čez %d sekund." msgid "Logging out of the system." msgstr "Odjavljanje iz sistema." -#: ../js/ui/endSessionDialog.js:74 -#: ../js/ui/endSessionDialog.js:78 -msgid "Shut Down" -msgstr "Izklopi" - #: ../js/ui/endSessionDialog.js:75 -msgid "Click Shut Down to quit these applications and shut down the system." -msgstr "Kliknite Izklop za končanje teh programov in izklop sistema." +#: ../js/ui/endSessionDialog.js:82 +msgid "Power Off" +msgstr "Izklop" #: ../js/ui/endSessionDialog.js:76 -#, c-format -msgid "The system will shut down automatically in %d seconds." -msgstr "Sistem se bo samodejno izklopil čez %d sekund." +msgid "Click Power Off to quit these applications and power off the system." +msgstr "Kliknite na gumb za izklop za končanje teh programov in izklop iz sistema." #: ../js/ui/endSessionDialog.js:77 -msgid "Shutting down the system." -msgstr "Izklapljanje sistema." +#, c-format +msgid "The system will power off automatically in %d seconds." +msgstr "Sistem se bo samodejno izklopil čez %d sekund." -#: ../js/ui/endSessionDialog.js:84 +#: ../js/ui/endSessionDialog.js:78 +msgid "Powering off the system." +msgstr "Izklapljanje sistema" + +#: ../js/ui/endSessionDialog.js:80 #: ../js/ui/endSessionDialog.js:88 +#: ../js/ui/endSessionDialog.js:93 msgid "Restart" msgstr "Zaženi znova" -#: ../js/ui/endSessionDialog.js:85 +#: ../js/ui/endSessionDialog.js:89 msgid "Click Restart to quit these applications and restart the system." msgstr "Kliknite Zaženi znova za končanje teh programov in ponoven zagon sistema. " -#: ../js/ui/endSessionDialog.js:86 +#: ../js/ui/endSessionDialog.js:90 #, c-format msgid "The system will restart automatically in %d seconds." msgstr "Sistem se bo samodejno ponovno zagnal čez %d sekund." -#: ../js/ui/endSessionDialog.js:87 +#: ../js/ui/endSessionDialog.js:91 msgid "Restarting the system." msgstr "Ponoven zagon sistema." -#: ../js/ui/endSessionDialog.js:395 -msgid "Confirm" -msgstr "Potrdi" - -#: ../js/ui/endSessionDialog.js:400 +#: ../js/ui/endSessionDialog.js:415 #: ../js/ui/status/bluetooth.js:466 msgid "Cancel" msgstr "Prekliči" @@ -486,29 +483,29 @@ msgstr "Poglej vir" msgid "Web Page" msgstr "Spletna stran" -#: ../js/ui/messageTray.js:926 +#: ../js/ui/messageTray.js:938 msgid "Open" msgstr "Odpri" -#: ../js/ui/messageTray.js:1986 +#: ../js/ui/messageTray.js:2018 msgid "System Information" msgstr "Podrobnosti sistema" -#: ../js/ui/overview.js:88 +#: ../js/ui/overview.js:89 msgid "Undo" msgstr "Razveljavi" -#: ../js/ui/overview.js:183 +#: ../js/ui/overview.js:184 msgid "Windows" msgstr "Okna" -#: ../js/ui/overview.js:186 +#: ../js/ui/overview.js:187 msgid "Applications" msgstr "Programi" #. Translators: this is the name of the dock/favorites area on #. the left of the overview -#: ../js/ui/overview.js:202 +#: ../js/ui/overview.js:203 msgid "Dash" msgstr "Armaturna plošča" @@ -520,13 +517,13 @@ msgstr "Končaj %s" #. Button on the left side of the panel. #. Translators: If there is no suitable word for "Activities" in your language, you can use the word for "Overview". -#: ../js/ui/panel.js:874 +#: ../js/ui/panel.js:878 msgid "Activities" msgstr "Dejavnosti" -#: ../js/ui/panel.js:975 -msgid "Panel" -msgstr "Pult" +#: ../js/ui/panel.js:979 +msgid "Top Bar" +msgstr "Vrhnja vrstica" #: ../js/ui/placeDisplay.js:122 #, c-format @@ -550,57 +547,57 @@ msgstr "Mesta in naprave" #. "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:636 +#: ../js/ui/popupMenu.js:679 msgid "toggle-switch-us" msgstr "toggle-switch-intl" -#: ../js/ui/runDialog.js:201 +#: ../js/ui/runDialog.js:205 msgid "Please enter a command:" msgstr "Vnos ukaza:" -#: ../js/ui/searchDisplay.js:283 +#: ../js/ui/searchDisplay.js:310 msgid "Searching..." msgstr "Iskanje ..." -#: ../js/ui/searchDisplay.js:297 +#: ../js/ui/searchDisplay.js:324 msgid "No matching results." msgstr "Ni zadetkov iskanja" -#: ../js/ui/statusMenu.js:114 -#: ../js/ui/statusMenu.js:178 +#: ../js/ui/statusMenu.js:161 +#: ../js/ui/statusMenu.js:228 msgid "Power Off..." msgstr "Izklop ..." -#: ../js/ui/statusMenu.js:116 -#: ../js/ui/statusMenu.js:177 +#: ../js/ui/statusMenu.js:163 +#: ../js/ui/statusMenu.js:227 msgid "Suspend" msgstr "Zaustavi" -#: ../js/ui/statusMenu.js:137 +#: ../js/ui/statusMenu.js:184 msgid "Available" msgstr "Na voljo" -#: ../js/ui/statusMenu.js:142 +#: ../js/ui/statusMenu.js:189 msgid "Busy" msgstr "Zaposleno" -#: ../js/ui/statusMenu.js:150 +#: ../js/ui/statusMenu.js:197 msgid "My Account" msgstr "Račun" -#: ../js/ui/statusMenu.js:154 +#: ../js/ui/statusMenu.js:201 msgid "System Settings" msgstr "Sistemske nastavitve" -#: ../js/ui/statusMenu.js:161 +#: ../js/ui/statusMenu.js:208 msgid "Lock Screen" msgstr "Zakleni zaslon" -#: ../js/ui/statusMenu.js:165 +#: ../js/ui/statusMenu.js:213 msgid "Switch User" msgstr "Preklopi uporabnika" -#: ../js/ui/statusMenu.js:170 +#: ../js/ui/statusMenu.js:218 msgid "Log Out..." msgstr "Odjava ..." @@ -1000,7 +997,7 @@ msgid "Computer" msgstr "Računalnik" #: ../js/ui/status/power.js:250 -#: ../src/shell-app-system.c:961 +#: ../src/shell-app-system.c:1088 msgid "Unknown" msgstr "Neznano" @@ -1044,11 +1041,11 @@ msgstr "Poslano na %X ob %A" #. in the search entry when no search is #. active; it should not exceed ~30 #. characters. -#: ../js/ui/viewSelector.js:119 +#: ../js/ui/viewSelector.js:122 msgid "Type to search..." msgstr "Vtipkajte za iskanje ..." -#: ../js/ui/viewSelector.js:139 +#: ../js/ui/viewSelector.js:142 #: ../src/shell-util.c:250 msgid "Search" msgstr "Poišči" @@ -1089,7 +1086,7 @@ msgstr[3] "%u dovodi naprave" msgid "System Sounds" msgstr "Sistemski zvoki" -#: ../src/main.c:397 +#: ../src/main.c:438 msgid "Print version" msgstr "Izpiši različico" @@ -1098,11 +1095,11 @@ msgstr "Izpiši različico" msgid "Failed to launch '%s'" msgstr "Zaganjanje '%s' je spodletelo" -#: ../src/shell-global.c:1340 +#: ../src/shell-global.c:1395 msgid "Less than a minute ago" msgstr "Pred manj kot eno minuto" -#: ../src/shell-global.c:1344 +#: ../src/shell-global.c:1399 #, c-format msgid "%d minute ago" msgid_plural "%d minutes ago" @@ -1111,7 +1108,7 @@ msgstr[1] "Pred %d minuto" msgstr[2] "Pred %d minutama" msgstr[3] "Pred %d minutami" -#: ../src/shell-global.c:1349 +#: ../src/shell-global.c:1404 #, c-format msgid "%d hour ago" msgid_plural "%d hours ago" @@ -1120,7 +1117,7 @@ msgstr[1] "Pred %d uro" msgstr[2] "Pred %d urama" msgstr[3] "Pred %d urami" -#: ../src/shell-global.c:1354 +#: ../src/shell-global.c:1409 #, c-format msgid "%d day ago" msgid_plural "%d days ago" @@ -1129,7 +1126,7 @@ msgstr[1] "Pred %d dnevom" msgstr[2] "Pred %d dnevoma" msgstr[3] "Pred %d dnevi" -#: ../src/shell-global.c:1359 +#: ../src/shell-global.c:1414 #, c-format msgid "%d week ago" msgid_plural "%d weeks ago" @@ -1170,46 +1167,46 @@ msgstr "Datotečni sistem" msgid "%1$s: %2$s" msgstr "%1$s: %2$s" +#~ msgid "Shut Down" +#~ msgstr "Izklopi" +#~ msgid "Click Shut Down to quit these applications and shut down the system." +#~ msgstr "Kliknite Izklop za končanje teh programov in izklop sistema." +#~ msgid "The system will shut down automatically in %d seconds." +#~ msgstr "Sistem se bo samodejno izklopil čez %d sekund." +#~ msgid "Shutting down the system." +#~ msgstr "Izklapljanje sistema." +#~ msgid "Confirm" +#~ msgstr "Potrdi" +#~ msgid "Panel" +#~ msgstr "Pult" #~ msgid "No such application" #~ msgstr "Ni takšnega programa" - #~ msgid "Screen Reader" #~ msgstr "Zaslonski bralnik" - #~ msgid "Screen Keyboard" #~ msgstr "Zaslonska tipkovnica" - #~ msgid "%s is now known as %s" #~ msgstr "%s je sedaj znan kot v %s" - #~ msgid "PREFERENCES" #~ msgstr "Možnosti" - #~ msgid "Shut Down..." #~ msgstr "Izklopi ..." - #~ msgid "Search your computer" #~ msgstr "Iskanje po računalniku" - #~ msgid "Clip the crosshairs at the center" #~ msgstr "Ali merek prekriva kazalko miške v središču" - #~ msgid "Color of the crosshairs" #~ msgstr "Barva merka" - #~ msgid "" #~ "Determines the length of the vertical and horizontal lines that make up " #~ "the crosshairs." #~ msgstr "Določi dolžino navpične in vodoravne črte, ki določata merek." - #~ msgid "" #~ "Determines the transparency of the crosshairs, from fully opaque to fully " #~ "transparent." #~ msgstr "Določi prosojnost merka, od prekrivne to prozorne." - #~ msgid "Enable lens mode" #~ msgstr "Omogočeni način leče" - #~ msgid "" #~ "For centered mouse tracking, when the system pointer is at or near the " #~ "edge of the screen, the magnified contents continue to scroll such that " @@ -1218,63 +1215,48 @@ msgstr "%1$s: %2$s" #~ "Pri usredinjenem sledenju miški, ko je sistemski kazalnik ob robu " #~ "zaslona, približanje vsebine drsi naprej tako, da je rob zaslona v " #~ "približanem pogledu." - #~ msgid "Length of the crosshairs" #~ msgstr "Dolžina merka" - #~ msgid "Magnification factor" #~ msgstr "Faktor približanja" - #~ msgid "Mouse Tracking Mode" #~ msgstr "Način sledenja miške" - #~ msgid "Opacity of the crosshairs" #~ msgstr "Prosojnost merka" - #~ msgid "Screen position" #~ msgstr "Položaj zaslona" - #~ msgid "Scroll magnified contents beyond the edges of the desktop" #~ msgstr "Zdrsni približano vsebino preko robov namizja" - #~ msgid "Show or hide crosshairs" #~ msgstr "Pokaži ali skrij merek" - #~ msgid "Show or hide the magnifier" #~ msgstr "Pokaži ali skrij približevalnik" - #~ msgid "Show or hide the magnifier and all of its zoom regions." #~ msgstr "Pokaže ali skrije povečevalo in vsa njegova območja približevanja." - #~ msgid "" #~ "The color of the the vertical and horizontal lines that make up the " #~ "crosshairs." #~ msgstr "Barva navpične in vodoravne črte, ki določata merek." - #~ msgid "" #~ "The magnified view either fills the entire screen, or occupies the top-" #~ "half, bottom-half, left-half, or right-half of the screen." #~ msgstr "" #~ "Približan pogled lahko zapolni celoten zaslon, lahko pa zasede zgornjo, " #~ "spodnjo, levo ali pa desno polovico zaslona." - #~ msgid "" #~ "The power of the magnification. A value of 1.0 means no magnification. A " #~ "value of 2.0 doubles the size." #~ msgstr "" #~ "Vrednost približanja. Vrednost 1.0 pomeni brez približanja, vrednost 2.0 " #~ "pa podvoji učinek približanja." - #~ msgid "Thickness of the crosshairs" #~ msgstr "Debelina merka" - #~ msgid "" #~ "Whether the magnified view should be centered over the location of the " #~ "system mouse and move with it." #~ msgstr "" #~ "Ali naj bo približan pogled usredinjen na mesto sistemske miške in se z " #~ "njo premika." - #~ msgid "" #~ "Width of the vertical and horizontal lines that make up the crosshairs." #~ msgstr "Širina navpične in vodoravne čete, ki določata merek." @@ -1282,36 +1264,28 @@ msgstr "%1$s: %2$s" #, fuzzy #~ msgid "Bluetooth Agent" #~ msgstr "Agent KAOS" - #~ msgid "" #~ "Can't add a new workspace because maximum workspaces limit has been " #~ "reached." #~ msgstr "" #~ "Ni mogoče dodati nove delovne površine, ker je doseženo njihovo največje " #~ "dovoljeno število." - #~ msgid "Can't remove the first workspace." #~ msgstr "Ni mogoče odstraniti prve delovne površine." - #~ msgid "Clock" #~ msgstr "Ura" - #~ msgid "Customize the panel clock" #~ msgstr "Prilagodi uro pladnja" - #~ msgid "Custom format of the clock" #~ msgstr "Zapis ure po meri" - #~ msgid "Hour format" #~ msgstr "Urni zapis" - #~ msgid "" #~ "If true and format is either \"12-hour\" or \"24-hour\", display seconds " #~ "in time." #~ msgstr "" #~ "Izbrana možnost določa ali \"12-urni\" ali pa \"24-urni\" zapis časa s " #~ "prikazanimi sekundami." - #~ msgid "" #~ "This key specifies the format used by the panel clock when the format key " #~ "is set to \"custom\". You can use conversion specifiers understood by " @@ -1322,103 +1296,77 @@ msgstr "%1$s: %2$s" #~ "zapisa nastavljen kot \"prikrojen\". Za določitev zapisa lahko uporabite " #~ "tudi oznake funkcije strftime(), ki so podrobneje zapisane v priročniku " #~ "funkcije." - #~ msgid "" #~ "This key specifies the hour format used by the panel clock. Possible " #~ "values are \"12-hour\", \"24-hour\", \"unix\" and \"custom\". If set to " -#~ "\"unix\", the clock will display time in seconds since Epoch, i.e. 1970-" -#~ "01-01. If set to \"custom\", the clock will display time according to the " -#~ "format specified in the custom_format key. Note that if set to either " -#~ "\"unix\" or \"custom\", the show_date and show_seconds keys are ignored." +#~ "\"unix\", the clock will display time in seconds since Epoch, i.e. " +#~ "1970-01-01. If set to \"custom\", the clock will display time according " +#~ "to the format specified in the custom_format key. Note that if set to " +#~ "either \"unix\" or \"custom\", the show_date and show_seconds keys are " +#~ "ignored." #~ msgstr "" #~ "Ključ določa zapis ure. Mogoče vrednosti so \"12-urni\", \"24-urni\", " #~ "\"unix\" in \"po meri\". Možnost \"unix\" prikazuje čas v sekundah od " #~ "začetka ere, torej od 01.01.1970, možnost \"po meri\" pa omogoča " #~ "prikrojen zapis. Pri izbiri zapisa \"unix\" ali \"po meri\" sta izbiri " #~ "pokaži datum in pokaži sekunde, prezrti." - #~ msgid "Clock Format" #~ msgstr "Zapis ure" - #~ msgid "Clock Preferences" #~ msgstr "Možnosti ure" - #~ msgid "Panel Display" #~ msgstr "Prikazovanje pladnja" - #~ msgid "Show seco_nds" #~ msgstr "Pokaži _sekunde" - #~ msgid "Show the _date" #~ msgstr "Pokaži _datum" - #~ msgid "_12 hour format" #~ msgstr "_12-urni zapis časa" - #~ msgid "_24 hour format" #~ msgstr "_24-urni zapis časa" - #~ msgid "Preferences" #~ msgstr "Možnosti" - #~ msgid "What's using power..." #~ msgstr "Kaj porablja napetost ..." - #~ msgid "Overview workspace view mode" #~ msgstr "Način pregleda predogleda delovnih površin" - #~ msgid "" #~ "The selected workspace view mode in the overview. Supported values are " #~ "\"single\" and \"grid\"." #~ msgstr "" #~ "Izbrani pogled delovnih površin v predogledu. Podprte vrednosti sta " #~ "\"enojno\" in \"mrežno\"." - #~ msgid "Drag here to add favorites" #~ msgstr "S potegom na to mesto se izbor doda med priljubljene" - #~ msgid "Find" #~ msgstr "Najdi" - #~ msgid "Invisible" #~ msgstr "Nevidno" - #~ msgid "System Preferences..." #~ msgstr "Sistemske možnosti ..." - #~ msgid "ON" #~ msgstr "⚪" - #~ msgid "OFF" #~ msgstr "⚫" - #~ msgid "Sidebar" #~ msgstr "Stranska vrstica" - #~ msgid "Recent Documents" #~ msgstr "Nedavni dokumenti" - #~ msgid "PLACES" #~ msgstr "Mesta" - #~ msgid "SEARCH RESULTS" #~ msgstr "Rezultati iskanja" - #~ msgid "Can't lock screen: %s" #~ msgstr "Ni mogoče zakleniti zaslona: %s" - #~ msgid "Can't temporarily set screensaver to blank screen: %s" #~ msgstr "" #~ "Ni mogoče začasno nastaviti črnega zaslona za ohranjevalnik zaslona: %s" - #~ msgid "Can't logout: %s" #~ msgstr "Ni se mogoče odjaviti: %s" - #~ msgid "Frequent" #~ msgstr "Pogosto" - #~ msgid "(see all)" #~ msgstr "(poglej vse)" - #~ msgid "Browse" #~ msgstr "Prebrskaj" + From 812812d8170a43d2308ad5fbd45d64ef2bb509c9 Mon Sep 17 00:00:00 2001 From: Marina Zhurakhinskaya Date: Mon, 21 Mar 2011 17:43:34 -0400 Subject: [PATCH 160/203] MessageTray: show multiple notifications per source Add an ability to show multple notifications per source, so that the user doesn't miss seeing any notifications. https://bugzilla.gnome.org/show_bug.cgi?id=611611 --- js/ui/messageTray.js | 254 +++++++++++++++++++++++------------- js/ui/notificationDaemon.js | 6 +- js/ui/overview.js | 8 +- 3 files changed, 174 insertions(+), 94 deletions(-) diff --git a/js/ui/messageTray.js b/js/ui/messageTray.js index 22d15c5dc..9b82f023b 100644 --- a/js/ui/messageTray.js +++ b/js/ui/messageTray.js @@ -408,12 +408,12 @@ Notification.prototype = { this._spacing = 0; source.connect('destroy', Lang.bind(this, - // Avoid passing 'source' as an argument to this.destroy() - function () { - this.destroy(); + function (source, reason) { + this.destroy(reason); })); this.actor = new St.Button(); + this.actor._delegate = this; this.actor.connect('clicked', Lang.bind(this, this._onClicked)); this.actor.connect('destroy', Lang.bind(this, this._onDestroy)); @@ -516,6 +516,10 @@ Notification.prototype = { this._updated(); }, + setIconVisible: function(visible) { + this._icon.visible = visible; + }, + _createScrollArea: function() { this._table.add_style_class_name('multi-line-notification'); this._scrollArea = new St.ScrollView({ name: 'notification-scrollview', @@ -806,6 +810,7 @@ Notification.prototype = { destroy: function(reason) { this._destroyedReason = reason; this.actor.destroy(); + this.actor._delegate = null; } }; Signals.addSignalMethods(Notification.prototype); @@ -825,6 +830,8 @@ Source.prototype = { y_fill: true }); this.isTransient = false; this.isChat = false; + + this.notifications = []; }, setTransient: function(isTransient) { @@ -845,23 +852,21 @@ Source.prototype = { }, pushNotification: function(notification) { - if (this.notification) { - this.notification.disconnect(this._notificationClickedId); - this.notification.disconnect(this._notificationDestroyedId); + if (this.notifications.indexOf(notification) < 0) { + this.notifications.push(notification); + this.emit('notification-added', notification); } - // FIXME: Right now, we don't save multiple notifications. - this.notification = notification; - - this._notificationClickedId = notification.connect('clicked', Lang.bind(this, this.open)); - this._notificationDestroyedId = notification.connect('destroy', Lang.bind(this, + notification.connect('clicked', Lang.bind(this, this.open)); + notification.connect('destroy', Lang.bind(this, function () { - if (this.notification == notification) { - this.notification = null; - this._notificationDestroyedId = 0; - this._notificationClickedId = 0; - this._notificationRemoved(); - } + let index = this.notifications.indexOf(notification); + if (index < 0) + return; + + this.notifications.splice(index, 1); + if (this.notifications.length == 0) + this._lastNotificationRemoved(); })); }, @@ -870,8 +875,8 @@ Source.prototype = { this.emit('notify', notification); }, - destroy: function() { - this.emit('destroy'); + destroy: function(reason) { + this.emit('destroy', reason); }, // A subclass can redefine this to "steal" clicks from the @@ -895,8 +900,14 @@ Source.prototype = { open: function(notification) { }, + destroyNonResidentNotifications: function() { + for (let i = this.notifications.length - 1; i >= 0; i--) + if (!this.notifications[i].resident) + this.notifications[i].destroy(); + }, + // Default implementation is to destroy this source, but subclasses can override - _notificationRemoved: function() { + _lastNotificationRemoved: function() { this.destroy(); } }; @@ -909,6 +920,8 @@ function SummaryItem(source) { SummaryItem.prototype = { _init: function(source) { this.source = source; + this.source.connect('notification-added', Lang.bind(this, this._notificationAddedToSource)); + this.actor = new St.Button({ style_class: 'summary-source-button', y_fill: true, reactive: true, @@ -930,6 +943,13 @@ SummaryItem.prototype = { this._sourceBox.add(this._sourceIcon, { y_fill: false }); this._sourceBox.add(this._sourceTitleBin, { expand: true, y_fill: false }); this.actor.child = this._sourceBox; + + this.notificationStack = new St.BoxLayout({ name: 'summary-notification-stack', + vertical: true }); + this._notificationExpandedIds = []; + this._notificationDoneDisplayingIds = []; + this._notificationDestroyedIds = []; + this.rightClickMenu = new St.BoxLayout({ name: 'summary-right-click-menu', vertical: true }); @@ -938,14 +958,14 @@ SummaryItem.prototype = { item = new PopupMenu.PopupMenuItem(_("Open")); item.connect('activate', Lang.bind(this, function() { source.open(); - this.emit('right-click-menu-done-displaying'); + this.emit('done-displaying-content'); })); this.rightClickMenu.add(item.actor); item = new PopupMenu.PopupMenuItem(_("Remove")); item.connect('activate', Lang.bind(this, function() { source.destroy(); - this.emit('right-click-menu-done-displaying'); + this.emit('done-displaying-content'); })); this.rightClickMenu.add(item.actor); @@ -975,6 +995,72 @@ SummaryItem.prototype = { setEllipsization: function(mode) { this._sourceTitle.clutter_text.ellipsize = mode; + }, + + prepareNotificationStackForShowing: function() { + if (this.notificationStack.get_children().length > 0) + return; + + for (let i = 0; i < this.source.notifications.length; i++) { + this._appendNotificationToStack(this.source.notifications[i]); + } + }, + + doneShowingNotificationStack: function() { + let notificationActors = this.notificationStack.get_children(); + for (let i = 0; i < notificationActors.length; i++) { + notificationActors[i]._delegate.collapseCompleted(); + notificationActors[i]._delegate.disconnect(this._notificationExpandedIds[i]); + notificationActors[i]._delegate.disconnect(this._notificationDoneDisplayingIds[i]); + notificationActors[i]._delegate.disconnect(this._notificationDestroyedIds[i]); + this.notificationStack.remove_actor(notificationActors[i]); + notificationActors[i]._delegate.setIconVisible(true); + } + this._notificationExpandedIds = []; + this._notificationDoneDisplayingIds = []; + this._notificationDestroyedIds = []; + }, + + _notificationAddedToSource: function(source, notification) { + if (this.notificationStack.mapped) + this._appendNotificationToStack(notification); + }, + + _appendNotificationToStack: function(notification) { + let notificationExpandedId = notification.connect('expanded', Lang.bind(this, this._contentUpdated)); + this._notificationExpandedIds.push(notificationExpandedId); + let notificationDoneDisplayingId = notification.connect('done-displaying', Lang.bind(this, this._notificationDoneDisplaying)); + this._notificationDoneDisplayingIds.push(notificationDoneDisplayingId); + let notificationDestroyedId = notification.connect('destroy', Lang.bind(this, this._notificationDestroyed)); + this._notificationDestroyedIds.push(notificationDestroyedId); + if (this.notificationStack.get_children().length > 0) + notification.setIconVisible(false); + this.notificationStack.add(notification.actor); + notification.expand(false); + }, + + _contentUpdated: function() { + this.emit('content-updated'); + }, + + _notificationDoneDisplaying: function() { + this.emit('done-displaying-content'); + }, + + _notificationDestroyed: function(notification) { + let index = this.notificationStack.get_children().indexOf(notification.actor); + if (index >= 0) { + notification.disconnect(this._notificationExpandedIds[index]); + this._notificationExpandedIds.splice(index, 1); + notification.disconnect(this._notificationDoneDisplayingIds[index]); + this._notificationDoneDisplayingIds.splice(index, 1); + notification.disconnect(this._notificationDestroyedIds[index]); + this._notificationDestroyedIds.splice(index, 1); + this.notificationStack.remove_actor(notification.actor); + this._contentUpdated(); + } + if (this.notificationStack.get_children().length > 0) + this.notificationStack.get_children()[0]._delegate.setIconVisible(true); } }; Signals.addSignalMethods(SummaryItem.prototype); @@ -1023,9 +1109,9 @@ MessageTray.prototype = { this._summaryBoxPointer.actor.lower_bottom(); this._summaryBoxPointer.actor.hide(); - this._summaryNotification = null; - this._summaryNotificationClickedId = 0; - this._summaryRightClickMenuClickedId = 0; + this._summaryBoxPointerItem = null; + this._summaryBoxPointerContentUpdatedId = 0; + this._summaryBoxPointerDoneDisplayingId = 0; this._clickedSummaryItem = null; this._clickedSummaryItemMouseButton = -1; this._clickedSummaryItemAllocationChangedId = 0; @@ -1066,11 +1152,10 @@ MessageTray.prototype = { this._notificationTimeoutId = 0; this._notificationExpandedId = 0; this._summaryBoxPointerState = State.HIDDEN; - this._summaryNotificationTimeoutId = 0; - this._summaryNotificationExpandedId = 0; + this._summaryBoxPointerTimeoutId = 0; this._overviewVisible = Main.overview.visible; this._notificationRemoved = false; - this._reNotifyWithSummaryNotificationAfterHide = false; + this._reNotifyAfterHideNotification = null; Main.chrome.addActor(this.actor, { affectsStruts: false, visibleInOverview: true }); @@ -1251,13 +1336,6 @@ MessageTray.prototype = { if (needUpdate); this._updateState(); - - // remove all notifications with this source from the queue - let newNotificationQueue = []; - for (let i = this._notificationQueue.length - 1; i >= 0; i--) { - if (this._notificationQueue[i].source == source) - this._notificationQueue[i].destroy(); - } }, _onNotificationDestroy: function(notification) { @@ -1286,14 +1364,18 @@ MessageTray.prototype = { }, _onNotify: function(source, notification) { - if (notification == this._summaryNotification) { - if (!this._summaryNotificationExpandedId) - // We must be in the process of hiding the summary notification. - // If the summary notification is updated while it is being - // hidden, we show the update as a new notification. However, - // we must first wait till the hide is complete and the - // notification actor is not part of the stage. - this._reNotifyWithSummaryNotificationAfterHide = true; + if (this._summaryBoxPointerItem && this._summaryBoxPointerItem.source == source) { + if (this._summaryBoxPointerState == State.HIDING) + // We are in the process of hiding the summary box pointer. + // If there is an update for one of the notifications or + // a new notification to be added to the notification stack + // while it is in the process of being hidden, we show it as + // a new notification. However, we first wait till the hide + // is complete. This is especially important if one of the + // notifications in the stack was updated because we will + // need to be able to re-parent its actor to a different + // part of the stage. + this._reNotifyAfterHideNotification = notification; return; } @@ -1629,15 +1711,18 @@ MessageTray.prototype = { let summarySourceIsMainNotificationSource = (haveClickedSummaryItem && this._notification && this._clickedSummaryItem.source == this._notification.source); let canShowSummaryBoxPointer = this._summaryState == State.SHOWN; - let wrongSummaryNotification = (this._clickedSummaryItemMouseButton == 1 && - this._summaryNotification != this._clickedSummaryItem.source.notification); + // We only have sources with empty notification stacks for legacy tray icons. Currently, we never attempt + // to show notifications for legacy tray icons, but this would be necessary if we did. + let requestedNotificationStackIsEmpty = (this._clickedSummaryItemMouseButton == 1 && this._clickedSummaryItem.source.notifications.length == 0); + let wrongSummaryNotificationStack = (this._clickedSummaryItemMouseButton == 1 && + this._summaryBoxPointer.bin.child != this._clickedSummaryItem.notificationStack); let wrongSummaryRightClickMenu = (this._clickedSummaryItemMouseButton == 3 && this._summaryBoxPointer.bin.child != this._clickedSummaryItem.rightClickMenu); let wrongSummaryBoxPointer = (haveClickedSummaryItem && - (wrongSummaryNotification || wrongSummaryRightClickMenu)); + (wrongSummaryNotificationStack || wrongSummaryRightClickMenu)); if (this._summaryBoxPointerState == State.HIDDEN) { - if (haveClickedSummaryItem && !summarySourceIsMainNotificationSource && canShowSummaryBoxPointer) + if (haveClickedSummaryItem && !summarySourceIsMainNotificationSource && canShowSummaryBoxPointer && !requestedNotificationStackIsEmpty) this._showSummaryBoxPointer(); } else if (this._summaryBoxPointerState == State.SHOWN) { if (!haveClickedSummaryItem || !canShowSummaryBoxPointer || wrongSummaryBoxPointer) @@ -1900,33 +1985,28 @@ MessageTray.prototype = { }, _showSummaryBoxPointer: function() { + this._summaryBoxPointerItem = this._clickedSummaryItem; + this._summaryBoxPointerContentUpdatedId = this._summaryBoxPointerItem.connect('content-updated', + Lang.bind(this, this._adjustSummaryBoxPointerPosition)); + this._summaryBoxPointerDoneDisplayingId = this._summaryBoxPointerItem.connect('done-displaying-content', + Lang.bind(this, this._escapeTray)); if (this._clickedSummaryItemMouseButton == 1) { - let clickedSummaryItemNotification = this._clickedSummaryItem.source.notification; - let index = this._notificationQueue.indexOf(clickedSummaryItemNotification); - if (index != -1) - this._notificationQueue.splice(index, 1); - - this._summaryNotification = clickedSummaryItemNotification; - this._summaryNotificationClickedId = this._summaryNotification.connect('done-displaying', - Lang.bind(this, this._escapeTray)); - this._summaryBoxPointer.bin.child = this._summaryNotification.actor; - if (!this._summaryNotificationExpandedId) - this._summaryNotificationExpandedId = this._summaryNotification.connect('expanded', - Lang.bind(this, this._onSummaryBoxPointerExpanded)); - this._summaryNotification.expand(false); + this._notificationQueue = this._notificationQueue.filter( Lang.bind(this, + function(notification) { + return this._summaryBoxPointerItem.source != notification.source; + })); + this._summaryBoxPointerItem.prepareNotificationStackForShowing(); + this._summaryBoxPointer.bin.child = this._summaryBoxPointerItem.notificationStack; } else if (this._clickedSummaryItemMouseButton == 3) { - this._summaryRightClickMenuClickedId = this._clickedSummaryItem.connect('right-click-menu-done-displaying', - Lang.bind(this, this._escapeTray)); this._summaryBoxPointer.bin.child = this._clickedSummaryItem.rightClickMenu; } this._focusGrabber.grabFocus(this._summaryBoxPointer.bin.child); - this._clickedSummaryItemAllocationChangedId = this._clickedSummaryItem.actor.connect('allocation-changed', Lang.bind(this, this._adjustSummaryBoxPointerPosition)); - // _clickedSummaryItem.actor can change absolute postiion without changing allocation + // _clickedSummaryItem.actor can change absolute position without changing allocation this._summaryMotionId = this._summary.connect('allocation-changed', Lang.bind(this, this._adjustSummaryBoxPointerPosition)); @@ -1957,26 +2037,13 @@ MessageTray.prototype = { this._summaryMotionId = 0; } - if (this._summaryRightClickMenuClickedId) { - this._clickedSummaryItem.disconnect(this._summaryRightClickMenuClickedId); - this._summaryRightClickMenuClickedId = 0; - } - if (this._clickedSummaryItem) this._clickedSummaryItem.actor.remove_style_pseudo_class('selected'); this._clickedSummaryItem = null; this._clickedSummaryItemMouseButton = -1; }, - _onSummaryBoxPointerExpanded: function() { - this._adjustSummaryBoxPointerPosition(); - }, - _hideSummaryBoxPointer: function() { - if (this._summaryNotificationExpandedId) { - this._summaryNotification.disconnect(this._summaryNotificationExpandedId); - this._summaryNotificationExpandedId = 0; - } // Unset this._clickedSummaryItem if we are no longer showing the summary if (this._summaryState != State.SHOWN) this._unsetClickedSummaryItem(); @@ -1987,21 +2054,32 @@ MessageTray.prototype = { }, _hideSummaryBoxPointerCompleted: function() { + let doneShowingNotificationStack = (this._summaryBoxPointer.bin.child == this._summaryBoxPointerItem.notificationStack); + this._summaryBoxPointerState = State.HIDDEN; this._summaryBoxPointer.bin.child = null; - if (this._summaryNotification != null) { - this._summaryNotification.collapseCompleted(); - this._summaryNotification.disconnect(this._summaryNotificationClickedId); - this._summaryNotificationClickedId = 0; - let summaryNotification = this._summaryNotification; - this._summaryNotification = null; - if (summaryNotification.isTransient && !this._reNotifyWithSummaryNotificationAfterHide) - summaryNotification.destroy(NotificationDestroyedReason.EXPIRED); - if (this._reNotifyWithSummaryNotificationAfterHide) { - this._onNotify(summaryNotification.source, summaryNotification); - this._reNotifyWithSummaryNotificationAfterHide = false; + this._summaryBoxPointerItem.disconnect(this._summaryBoxPointerContentUpdatedId); + this._summaryBoxPointerContentUpdatedId = 0; + this._summaryBoxPointerItem.disconnect(this._summaryBoxPointerDoneDisplayingId); + this._summaryBoxPointerDoneDisplayingId = 0; + + let sourceNotificationStackDoneShowing = null; + if (doneShowingNotificationStack) { + this._summaryBoxPointerItem.doneShowingNotificationStack(); + sourceNotificationStackDoneShowing = this._summaryBoxPointerItem.source; + } + + this._summaryBoxPointerItem = null; + + if (sourceNotificationStackDoneShowing) { + if (sourceNotificationStackDoneShowing.isTransient && !this._reNotifyAfterHideNotification) + sourceNotificationStackDoneShowing.destroy(NotificationDestroyedReason.EXPIRED); + if (this._reNotifyAfterHideNotification) { + this._onNotify(this._reNotifyAfterHideNotification.source, this._reNotifyAfterHideNotification); + this._reNotifyAfterHideNotification = null; } } + if (this._clickedSummaryItem) this._updateState(); } diff --git a/js/ui/notificationDaemon.js b/js/ui/notificationDaemon.js index e807af486..f8f356e8a 100644 --- a/js/ui/notificationDaemon.js +++ b/js/ui/notificationDaemon.js @@ -390,8 +390,7 @@ NotificationDaemon.prototype = { for (let id in this._sources) { let source = this._sources[id]; if (source.app == tracker.focus_app) { - if (source.notification && !source.notification.resident) - source.notification.destroy(); + source.destroyNonResidentNotifications(); return; } } @@ -508,10 +507,11 @@ Source.prototype = { }, open: function(notification) { + this.destroyNonResidentNotifications(); this.openApp(); }, - _notificationRemoved: function() { + _lastNotificationRemoved: function() { if (!this._trayIcon) this.destroy(); }, diff --git a/js/ui/overview.js b/js/ui/overview.js index 351ba7c58..8fdd6618f 100644 --- a/js/ui/overview.js +++ b/js/ui/overview.js @@ -75,11 +75,13 @@ ShellInfo.prototype = { Main.messageTray.add(this._source); } - let notification = this._source.notification; - if (notification == null) + let notification = null; + if (this._source.notifications.length == 0) { notification = new MessageTray.Notification(this._source, text, null); - else + } else { + notification = this._source.notifications[0]; notification.update(text, null, { clear: true }); + } notification.setTransient(true); From 604722b7757d4164bccfc73bf59e8a928fd2fbc1 Mon Sep 17 00:00:00 2001 From: Marina Zhurakhinskaya Date: Tue, 22 Mar 2011 03:40:53 -0400 Subject: [PATCH 161/203] MessageTray: use single scrollbar for summary notification stacks We want to allow the user to scroll through all notifications from source by using a single scrollbar. We suppress the individual scrollbars inside the notifications. As one exception, we keep the original scrollbar for chat notifications because it has a distinct look, ending above the text entry box. https://bugzilla.gnome.org/show_bug.cgi?id=611611 --- data/theme/gnome-shell.css | 18 +++++++++++++++ js/ui/messageTray.js | 45 ++++++++++++++++++++++++++++++++++---- 2 files changed, 59 insertions(+), 4 deletions(-) diff --git a/data/theme/gnome-shell.css b/data/theme/gnome-shell.css index 81f3bd1ad..1909da9c0 100644 --- a/data/theme/gnome-shell.css +++ b/data/theme/gnome-shell.css @@ -1012,6 +1012,24 @@ StTooltip StLabel { padding-bottom: 12px; } +#summary-notification-stack-scrollview { + max-height: 18em; + padding-top: 6px; + padding-bottom: 6px; +} + +#summary-notification-stack-scrollview > .top-shadow, #summary-notification-stack-scrollview > .bottom-shadow { + height: 1em; +} + +#summary-notification-stack-scrollview:ltr { + padding-right: 8px; +} + +#summary-notification-stack-scrollview:rtl { + padding-left: 8px; +} + #notification-scrollview { max-height: 10em; } diff --git a/js/ui/messageTray.js b/js/ui/messageTray.js index 9b82f023b..ee7747401 100644 --- a/js/ui/messageTray.js +++ b/js/ui/messageTray.js @@ -406,6 +406,7 @@ Notification.prototype = { this._bannerBodyMarkup = false; this._titleFitsInBannerMode = true; this._spacing = 0; + this._scrollPolicy = Gtk.PolicyType.AUTOMATIC; source.connect('destroy', Lang.bind(this, function (source, reason) { @@ -520,10 +521,16 @@ Notification.prototype = { this._icon.visible = visible; }, + enableScrolling: function(enableScrolling) { + this._scrollPolicy = enableScrolling ? Gtk.PolicyType.AUTOMATIC : Gtk.PolicyType.NEVER; + if (this._scrollArea) + this._scrollArea.vscrollbar_policy = this._scrollPolicy; + }, + _createScrollArea: function() { this._table.add_style_class_name('multi-line-notification'); this._scrollArea = new St.ScrollView({ name: 'notification-scrollview', - vscrollbar_policy: Gtk.PolicyType.AUTOMATIC, + vscrollbar_policy: this._scrollPolicy, hscrollbar_policy: Gtk.PolicyType.NEVER, vfade: true }); this._table.add(this._scrollArea, { row: 1, col: 1 }); @@ -944,12 +951,26 @@ SummaryItem.prototype = { this._sourceBox.add(this._sourceTitleBin, { expand: true, y_fill: false }); this.actor.child = this._sourceBox; + this.notificationStackView = new St.ScrollView({ name: source.isChat ? '' : 'summary-notification-stack-scrollview', + vscrollbar_policy: source.isChat ? Gtk.PolicyType.NEVER : Gtk.PolicyType.AUTOMATIC, + hscrollbar_policy: Gtk.PolicyType.NEVER, + vfade: true }); this.notificationStack = new St.BoxLayout({ name: 'summary-notification-stack', vertical: true }); + this.notificationStackView.add_actor(this.notificationStack); this._notificationExpandedIds = []; this._notificationDoneDisplayingIds = []; this._notificationDestroyedIds = []; + this._oldMaxScrollAdjustment = 0; + + this.notificationStackView.vscroll.adjustment.connect('changed', Lang.bind(this, function(adjustment) { + let currentValue = adjustment.value + adjustment.page_size; + if (currentValue == this._oldMaxScrollAdjustment) + this.scrollTo(St.Side.BOTTOM); + this._oldMaxScrollAdjustment = adjustment.upper; + })); + this.rightClickMenu = new St.BoxLayout({ name: 'summary-right-click-menu', vertical: true }); @@ -1015,6 +1036,7 @@ SummaryItem.prototype = { notificationActors[i]._delegate.disconnect(this._notificationDestroyedIds[i]); this.notificationStack.remove_actor(notificationActors[i]); notificationActors[i]._delegate.setIconVisible(true); + notificationActors[i]._delegate.enableScrolling(true); } this._notificationExpandedIds = []; this._notificationDoneDisplayingIds = []; @@ -1033,12 +1055,26 @@ SummaryItem.prototype = { this._notificationDoneDisplayingIds.push(notificationDoneDisplayingId); let notificationDestroyedId = notification.connect('destroy', Lang.bind(this, this._notificationDestroyed)); this._notificationDestroyedIds.push(notificationDestroyedId); + if (!this.source.isChat) + notification.enableScrolling(false); if (this.notificationStack.get_children().length > 0) notification.setIconVisible(false); this.notificationStack.add(notification.actor); notification.expand(false); }, + // scrollTo: + // @side: St.Side.TOP or St.Side.BOTTOM + // + // Scrolls the notifiction stack to the indicated edge + scrollTo: function(side) { + let adjustment = this.notificationStackView.vscroll.adjustment; + if (side == St.Side.TOP) + adjustment.value = adjustment.lower; + else if (side == St.Side.BOTTOM) + adjustment.value = adjustment.upper; + }, + _contentUpdated: function() { this.emit('content-updated'); }, @@ -1715,7 +1751,7 @@ MessageTray.prototype = { // to show notifications for legacy tray icons, but this would be necessary if we did. let requestedNotificationStackIsEmpty = (this._clickedSummaryItemMouseButton == 1 && this._clickedSummaryItem.source.notifications.length == 0); let wrongSummaryNotificationStack = (this._clickedSummaryItemMouseButton == 1 && - this._summaryBoxPointer.bin.child != this._clickedSummaryItem.notificationStack); + this._summaryBoxPointer.bin.child != this._clickedSummaryItem.notificationStackView); let wrongSummaryRightClickMenu = (this._clickedSummaryItemMouseButton == 3 && this._summaryBoxPointer.bin.child != this._clickedSummaryItem.rightClickMenu); let wrongSummaryBoxPointer = (haveClickedSummaryItem && @@ -1996,7 +2032,8 @@ MessageTray.prototype = { return this._summaryBoxPointerItem.source != notification.source; })); this._summaryBoxPointerItem.prepareNotificationStackForShowing(); - this._summaryBoxPointer.bin.child = this._summaryBoxPointerItem.notificationStack; + this._summaryBoxPointer.bin.child = this._summaryBoxPointerItem.notificationStackView; + this._summaryBoxPointerItem.scrollTo(St.Side.BOTTOM); } else if (this._clickedSummaryItemMouseButton == 3) { this._summaryBoxPointer.bin.child = this._clickedSummaryItem.rightClickMenu; } @@ -2054,7 +2091,7 @@ MessageTray.prototype = { }, _hideSummaryBoxPointerCompleted: function() { - let doneShowingNotificationStack = (this._summaryBoxPointer.bin.child == this._summaryBoxPointerItem.notificationStack); + let doneShowingNotificationStack = (this._summaryBoxPointer.bin.child == this._summaryBoxPointerItem.notificationStackView); this._summaryBoxPointerState = State.HIDDEN; this._summaryBoxPointer.bin.child = null; From 5a86b0f9e350b8bf7f58f442b4fcc32671d37c8d Mon Sep 17 00:00:00 2001 From: Hellyna Ng Date: Mon, 28 Feb 2011 18:09:40 +0800 Subject: [PATCH 162/203] MessageTray: never show summary and a new notification at the same time We want to minimize focus stealing from the user. If a non-urgent notification comes in while the user is interacting with the tray, we add it to the tray and only show it after the user is done interacting with the tray. If an urgent notification comes in while the user is interacting with the tray, we hide the tray and show the urgent notification. https://bugzilla.gnome.org/show_bug.cgi?id=636838 --- js/ui/messageTray.js | 20 ++++++++++++-------- 1 file changed, 12 insertions(+), 8 deletions(-) diff --git a/js/ui/messageTray.js b/js/ui/messageTray.js index ee7747401..a2810390c 100644 --- a/js/ui/messageTray.js +++ b/js/ui/messageTray.js @@ -1691,14 +1691,15 @@ MessageTray.prototype = { // at the present time. _updateState: function() { // Notifications - let notificationsPending = this._notificationQueue.length > 0 && - (!this._busy || this._notificationQueue[0].urgency == Urgency.CRITICAL); + let notificationUrgent = this._notificationQueue.length > 0 && this._notificationQueue[0].urgency == Urgency.CRITICAL; + let notificationsPending = this._notificationQueue.length > 0 && (!this._busy || notificationUrgent); let notificationPinned = this._pointerInTray && !this._pointerInSummary && !this._notificationRemoved; let notificationExpanded = this._notificationBin.y < 0; let notificationExpired = (this._notificationTimeoutId == 0 && !(this._notification && this._notification.urgency == Urgency.CRITICAL) && !this._pointerInTray && !this._locked) || this._notificationRemoved; + let canShowNotification = notificationsPending && this._summaryState == State.HIDDEN; if (this._notificationState == State.HIDDEN) { - if (notificationsPending) + if (canShowNotification) this._showNotification(); } else if (this._notificationState == State.SHOWN) { if (notificationExpired) @@ -1720,7 +1721,11 @@ MessageTray.prototype = { this._notificationState == State.SHOWN); let notificationsDone = !notificationsVisible && !notificationsPending; - if (this._summaryState == State.HIDDEN) { + let summaryOptionalInOverview = this._overviewVisible && !this._locked && !summaryHovered; + let mustHideSummary = (notificationsPending && (notificationUrgent || summaryOptionalInOverview)) + || notificationsVisible; + + if (this._summaryState == State.HIDDEN && !mustHideSummary) { if (this._backFromAway) { // Immediately set this to false, so that we don't schedule a timeout later this._backFromAway = false; @@ -1732,7 +1737,7 @@ MessageTray.prototype = { this._showSummary(0); } } else if (this._summaryState == State.SHOWN) { - if (!summaryPinned) + if (!summaryPinned || mustHideSummary) this._hideSummary(); else if (summaryVisibleWithNoHover && !summaryNotificationIsForExpandedSummaryItem) // If we are hiding the summary, we'll collapse the expanded summary item when we are done @@ -1761,7 +1766,7 @@ MessageTray.prototype = { if (haveClickedSummaryItem && !summarySourceIsMainNotificationSource && canShowSummaryBoxPointer && !requestedNotificationStackIsEmpty) this._showSummaryBoxPointer(); } else if (this._summaryBoxPointerState == State.SHOWN) { - if (!haveClickedSummaryItem || !canShowSummaryBoxPointer || wrongSummaryBoxPointer) + if (!haveClickedSummaryItem || !canShowSummaryBoxPointer || wrongSummaryBoxPointer || mustHideSummary) this._hideSummaryBoxPointer(); } @@ -2016,8 +2021,7 @@ MessageTray.prototype = { }, _hideSummaryCompleted: function() { - this._expandedSummaryItem = null; - this._expandedSummaryItemTitleWidth = this._summaryItemTitleWidth; + this._setExpandedSummaryItem(null); }, _showSummaryBoxPointer: function() { From 8fdbbe78f4b84bb8bc72df91465641ba6c7c9921 Mon Sep 17 00:00:00 2001 From: Dan Winship Date: Wed, 2 Mar 2011 09:48:29 -0500 Subject: [PATCH 163/203] MessageTray: keep notification focused through update() If a notification was updated while one of its widgets was focused, it would lose the grab when that widget was destroyed. Fix that by moving the focus to a safe place before destroying the old widgets. https://bugzilla.gnome.org/show_bug.cgi?id=643687 --- js/ui/messageTray.js | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/js/ui/messageTray.js b/js/ui/messageTray.js index a2810390c..f95180167 100644 --- a/js/ui/messageTray.js +++ b/js/ui/messageTray.js @@ -467,17 +467,25 @@ Notification.prototype = { this._customContent = params.customContent; + let oldFocus = global.stage.key_focus; + if (this._icon) this._icon.destroy(); // We always clear the content area if we don't have custom // content because it might contain the @banner that didn't // fit in the banner mode. if (this._scrollArea && (!this._customContent || params.clear)) { + if (oldFocus && this._scrollArea.contains(oldFocus)) + this.actor.grab_key_focus(); + this._scrollArea.destroy(); this._scrollArea = null; this._contentArea = null; } if (this._actionArea && params.clear) { + if (oldFocus && this._actionArea.contains(oldFocus)) + this.actor.grab_key_focus(); + this._actionArea.destroy(); this._actionArea = null; this._buttonBox = null; From 3758f4952e11168f52aa573ae2924bf81666e03f Mon Sep 17 00:00:00 2001 From: "Owen W. Taylor" Date: Tue, 22 Mar 2011 18:52:39 -0400 Subject: [PATCH 164/203] Bump version to 2.91.92 --- configure.ac | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/configure.ac b/configure.ac index 475d218ab..0c617875f 100644 --- a/configure.ac +++ b/configure.ac @@ -1,5 +1,5 @@ AC_PREREQ(2.63) -AC_INIT([gnome-shell],[2.91.91],[https://bugzilla.gnome.org/enter_bug.cgi?product=gnome-shell],[gnome-shell]) +AC_INIT([gnome-shell],[2.91.92],[https://bugzilla.gnome.org/enter_bug.cgi?product=gnome-shell],[gnome-shell]) AC_CONFIG_HEADERS([config.h]) AC_CONFIG_SRCDIR([src/shell-global.c]) From 46824adb9713ffb4011a62a8090db7913090c117 Mon Sep 17 00:00:00 2001 From: Runa Bhattacharjee Date: Wed, 23 Mar 2011 12:35:00 +0530 Subject: [PATCH 165/203] Added Bengali India file, translation to start --- po/bn_IN.po | 1151 +++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 1151 insertions(+) create mode 100644 po/bn_IN.po diff --git a/po/bn_IN.po b/po/bn_IN.po new file mode 100644 index 000000000..529e87438 --- /dev/null +++ b/po/bn_IN.po @@ -0,0 +1,1151 @@ +# Bengali (India) translation for gnome-shell. +# Copyright (C) 2011 gnome-shell's COPYRIGHT HOLDER +# This file is distributed under the same license as the gnome-shell package. +# FIRST AUTHOR , YEAR. +# +msgid "" +msgstr "" +"Project-Id-Version: gnome-shell master\n" +"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug.cgi?product=gnome-" +"shell&keywords=I18N+L10N&component=general\n" +"POT-Creation-Date: 2011-03-22 23:02+0000\n" +"PO-Revision-Date: 2011-03-22 23:02+0000\n" +"Last-Translator: FULL NAME \n" +"Language-Team: Bengali (India) \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=INTEGER; plural=EXPRESSION;\n" + +#: ../data/gnome-shell.desktop.in.in.h:1 +msgid "GNOME Shell" +msgstr "" + +#: ../data/gnome-shell.desktop.in.in.h:2 +msgid "Window management and application launching" +msgstr "" + +#: ../data/org.gnome.shell.gschema.xml.in.h:1 +msgid "" +"Allows access to internal debugging and monitoring tools using the Alt-F2 " +"dialog." +msgstr "" + +#: ../data/org.gnome.shell.gschema.xml.in.h:2 +msgid "Enable internal tools useful for developers and testers from Alt-F2" +msgstr "" + +#: ../data/org.gnome.shell.gschema.xml.in.h:3 +msgid "File extension used for storing the screencast" +msgstr "" + +#: ../data/org.gnome.shell.gschema.xml.in.h:4 +msgid "Framerate used for recording screencasts." +msgstr "" + +#: ../data/org.gnome.shell.gschema.xml.in.h:5 +msgid "" +"GNOME Shell extensions have a uuid property; this key lists extensions which " +"should not be loaded." +msgstr "" + +#: ../data/org.gnome.shell.gschema.xml.in.h:6 +msgid "History for command (Alt-F2) dialog" +msgstr "" + +#: ../data/org.gnome.shell.gschema.xml.in.h:7 +msgid "History for the looking glass dialog" +msgstr "" + +#: ../data/org.gnome.shell.gschema.xml.in.h:8 +msgid "If true, display date in the clock, in addition to time." +msgstr "" + +#: ../data/org.gnome.shell.gschema.xml.in.h:9 +msgid "If true, display seconds in time." +msgstr "" + +#: ../data/org.gnome.shell.gschema.xml.in.h:10 +msgid "If true, display the ISO week date in the calendar." +msgstr "" + +#: ../data/org.gnome.shell.gschema.xml.in.h:11 +msgid "List of desktop file IDs for favorite applications" +msgstr "" + +#: ../data/org.gnome.shell.gschema.xml.in.h:13 +#, no-c-format +msgid "" +"Sets the GStreamer pipeline used to encode recordings. It follows the syntax " +"used for gst-launch. The pipeline should have an unconnected sink pad where " +"the recorded video is recorded. It will normally have a unconnected source " +"pad; output from that pad will be written into the output file. However the " +"pipeline can also take care of its own output - this might be used to send " +"the output to an icecast server via shout2send or similar. When unset or set " +"to an empty value, the default pipeline will be used. This is currently " +"'videorate ! vp8enc quality=10 speed=2 threads=%T ! queue ! webmmux' and " +"records to WEBM using the VP8 codec. %T is used as a placeholder for a guess " +"at the optimal thread count on the system." +msgstr "" + +#: ../data/org.gnome.shell.gschema.xml.in.h:14 +msgid "Show date in clock" +msgstr "" + +#: ../data/org.gnome.shell.gschema.xml.in.h:15 +msgid "Show the week date in the calendar" +msgstr "" + +#: ../data/org.gnome.shell.gschema.xml.in.h:16 +msgid "Show time with seconds" +msgstr "" + +#: ../data/org.gnome.shell.gschema.xml.in.h:17 +msgid "" +"The applications corresponding to these identifiers will be displayed in the " +"favorites area." +msgstr "" + +#: ../data/org.gnome.shell.gschema.xml.in.h:18 +msgid "" +"The filename for recorded screencasts will be a unique filename based on the " +"current date, and use this extension. It should be changed when recording to " +"a different container format." +msgstr "" + +#: ../data/org.gnome.shell.gschema.xml.in.h:19 +msgid "" +"The framerate of the resulting screencast recordered by GNOME Shell's " +"screencast recorder in frames-per-second." +msgstr "" + +#: ../data/org.gnome.shell.gschema.xml.in.h:20 +msgid "The gstreamer pipeline used to encode the screencast" +msgstr "" + +#: ../data/org.gnome.shell.gschema.xml.in.h:21 +msgid "" +"The shell normally monitors active applications in order to present the most " +"used ones (e.g. in launchers). While this data will be kept private, you may " +"want to disable this for privacy reasons. Please note that doing so won't " +"remove already saved data." +msgstr "" + +#: ../data/org.gnome.shell.gschema.xml.in.h:22 +msgid "Uuids of extensions to disable" +msgstr "" + +#: ../data/org.gnome.shell.gschema.xml.in.h:23 +msgid "Whether to collect stats about applications usage" +msgstr "" + +#: ../data/org.gnome.shell.gschema.xml.in.h:24 +msgid "disabled OpenSearch providers" +msgstr "" + +#: ../js/misc/util.js:71 +msgid "Command not found" +msgstr "" + +#. Replace "Error invoking GLib.shell_parse_argv: " with +#. something nicer +#: ../js/misc/util.js:98 +msgid "Could not parse command:" +msgstr "" + +#: ../js/misc/util.js:106 +#, c-format +msgid "Execution of '%s' failed:" +msgstr "" + +#. Translators: Filter to display all applications +#: ../js/ui/appDisplay.js:230 +msgid "All" +msgstr "" + +#: ../js/ui/appDisplay.js:328 +msgid "APPLICATIONS" +msgstr "" + +#: ../js/ui/appDisplay.js:354 +msgid "SETTINGS" +msgstr "" + +#: ../js/ui/appDisplay.js:625 +msgid "New Window" +msgstr "" + +#: ../js/ui/appDisplay.js:628 +msgid "Remove from Favorites" +msgstr "" + +#: ../js/ui/appDisplay.js:629 +msgid "Add to Favorites" +msgstr "" + +#: ../js/ui/appFavorites.js:91 +#, c-format +msgid "%s has been added to your favorites." +msgstr "" + +#: ../js/ui/appFavorites.js:122 +#, c-format +msgid "%s has been removed from your favorites." +msgstr "" + +#. Translators: Shown in calendar event list for all day events +#. * Keep it short, best if you can use less then 10 characters +#. +#: ../js/ui/calendar.js:66 +msgctxt "event list time" +msgid "All Day" +msgstr "" + +#. Translators: Shown in calendar event list, if 24h format +#: ../js/ui/calendar.js:71 +msgctxt "event list time" +msgid "%H:%M" +msgstr "" + +#. Transators: Shown in calendar event list, if 12h format +#: ../js/ui/calendar.js:78 +msgctxt "event list time" +msgid "%l:%M %p" +msgstr "" + +#. Translators: Calendar grid abbreviation for Sunday. +#. * +#. * NOTE: These grid abbreviations are always shown together +#. * and in order, e.g. "S M T W T F S". +#. +#: ../js/ui/calendar.js:118 +msgctxt "grid sunday" +msgid "S" +msgstr "" + +#. Translators: Calendar grid abbreviation for Monday +#: ../js/ui/calendar.js:120 +msgctxt "grid monday" +msgid "M" +msgstr "" + +#. Translators: Calendar grid abbreviation for Tuesday +#: ../js/ui/calendar.js:122 +msgctxt "grid tuesday" +msgid "T" +msgstr "" + +#. Translators: Calendar grid abbreviation for Wednesday +#: ../js/ui/calendar.js:124 +msgctxt "grid wednesday" +msgid "W" +msgstr "" + +#. Translators: Calendar grid abbreviation for Thursday +#: ../js/ui/calendar.js:126 +msgctxt "grid thursday" +msgid "T" +msgstr "" + +#. Translators: Calendar grid abbreviation for Friday +#: ../js/ui/calendar.js:128 +msgctxt "grid friday" +msgid "F" +msgstr "" + +#. Translators: Calendar grid abbreviation for Saturday +#: ../js/ui/calendar.js:130 +msgctxt "grid saturday" +msgid "S" +msgstr "" + +#. Translators: Event list abbreviation for Sunday. +#. * +#. * NOTE: These list abbreviations are normally not shown together +#. * so they need to be unique (e.g. Tuesday and Thursday cannot +#. * both be 'T'). +#. +#: ../js/ui/calendar.js:143 +msgctxt "list sunday" +msgid "Su" +msgstr "" + +#. Translators: Event list abbreviation for Monday +#: ../js/ui/calendar.js:145 +msgctxt "list monday" +msgid "M" +msgstr "" + +#. Translators: Event list abbreviation for Tuesday +#: ../js/ui/calendar.js:147 +msgctxt "list tuesday" +msgid "T" +msgstr "" + +#. Translators: Event list abbreviation for Wednesday +#: ../js/ui/calendar.js:149 +msgctxt "list wednesday" +msgid "W" +msgstr "" + +#. Translators: Event list abbreviation for Thursday +#: ../js/ui/calendar.js:151 +msgctxt "list thursday" +msgid "Th" +msgstr "" + +#. Translators: Event list abbreviation for Friday +#: ../js/ui/calendar.js:153 +msgctxt "list friday" +msgid "F" +msgstr "" + +#. Translators: Event list abbreviation for Saturday +#: ../js/ui/calendar.js:155 +msgctxt "list saturday" +msgid "S" +msgstr "" + +#. Translators: Text to show if there are no events +#: ../js/ui/calendar.js:704 +msgid "Nothing Scheduled" +msgstr "" + +#. Translators: Shown on calendar heading when selected day occurs on current year +#: ../js/ui/calendar.js:720 +msgctxt "calendar heading" +msgid "%A, %B %d" +msgstr "" + +#. Translators: Shown on calendar heading when selected day occurs on different year +#: ../js/ui/calendar.js:723 +msgctxt "calendar heading" +msgid "%A, %B %d, %Y" +msgstr "" + +#: ../js/ui/calendar.js:733 +msgid "Today" +msgstr "" + +#: ../js/ui/calendar.js:737 +msgid "Tomorrow" +msgstr "" + +#: ../js/ui/calendar.js:746 +msgid "This week" +msgstr "" + +#: ../js/ui/calendar.js:754 +msgid "Next week" +msgstr "" + +#: ../js/ui/dash.js:174 ../js/ui/messageTray.js:994 +msgid "Remove" +msgstr "" + +#: ../js/ui/dateMenu.js:91 +msgid "Date and Time Settings" +msgstr "" + +#: ../js/ui/dateMenu.js:111 +msgid "Open Calendar" +msgstr "" + +#. Translators: This is the time format with date used +#. in 24-hour mode. +#: ../js/ui/dateMenu.js:164 +msgid "%a %b %e, %R:%S" +msgstr "" + +#: ../js/ui/dateMenu.js:165 +msgid "%a %b %e, %R" +msgstr "" + +#. Translators: This is the time format without date used +#. in 24-hour mode. +#: ../js/ui/dateMenu.js:169 +msgid "%a %R:%S" +msgstr "" + +#: ../js/ui/dateMenu.js:170 +msgid "%a %R" +msgstr "" + +#. Translators: This is a time format with date used +#. for AM/PM. +#: ../js/ui/dateMenu.js:177 +msgid "%a %b %e, %l:%M:%S %p" +msgstr "" + +#: ../js/ui/dateMenu.js:178 +msgid "%a %b %e, %l:%M %p" +msgstr "" + +#. Translators: This is a time format without date used +#. for AM/PM. +#: ../js/ui/dateMenu.js:182 +msgid "%a %l:%M:%S %p" +msgstr "" + +#: ../js/ui/dateMenu.js:183 +msgid "%a %l:%M %p" +msgstr "" + +#. Translators: This is the date format to use when the calendar popup is +#. * shown - it is shown just below the time in the shell (e.g. "Tue 9:29 AM"). +#. +#: ../js/ui/dateMenu.js:194 +msgid "%A %B %e, %Y" +msgstr "" + +#: ../js/ui/docDisplay.js:19 +msgid "RECENT ITEMS" +msgstr "" + +#: ../js/ui/endSessionDialog.js:63 +#, c-format +msgid "Log Out %s" +msgstr "" + +#: ../js/ui/endSessionDialog.js:64 ../js/ui/endSessionDialog.js:70 +msgid "Log Out" +msgstr "" + +#: ../js/ui/endSessionDialog.js:65 +msgid "Click Log Out to quit these applications and log out of the system." +msgstr "" + +#: ../js/ui/endSessionDialog.js:66 +#, c-format +msgid "%s will be logged out automatically in %d seconds." +msgstr "" + +#: ../js/ui/endSessionDialog.js:67 +#, c-format +msgid "You will be logged out automatically in %d seconds." +msgstr "" + +#: ../js/ui/endSessionDialog.js:68 +msgid "Logging out of the system." +msgstr "" + +#: ../js/ui/endSessionDialog.js:75 ../js/ui/endSessionDialog.js:82 +msgid "Power Off" +msgstr "" + +#: ../js/ui/endSessionDialog.js:76 +msgid "Click Power Off to quit these applications and power off the system." +msgstr "" + +#: ../js/ui/endSessionDialog.js:77 +#, c-format +msgid "The system will power off automatically in %d seconds." +msgstr "" + +#: ../js/ui/endSessionDialog.js:78 +msgid "Powering off the system." +msgstr "" + +#: ../js/ui/endSessionDialog.js:80 ../js/ui/endSessionDialog.js:88 +#: ../js/ui/endSessionDialog.js:93 +msgid "Restart" +msgstr "" + +#: ../js/ui/endSessionDialog.js:89 +msgid "Click Restart to quit these applications and restart the system." +msgstr "" + +#: ../js/ui/endSessionDialog.js:90 +#, c-format +msgid "The system will restart automatically in %d seconds." +msgstr "" + +#: ../js/ui/endSessionDialog.js:91 +msgid "Restarting the system." +msgstr "" + +#: ../js/ui/endSessionDialog.js:415 ../js/ui/status/bluetooth.js:466 +msgid "Cancel" +msgstr "" + +#: ../js/ui/lookingGlass.js:588 +msgid "No extensions installed" +msgstr "" + +#: ../js/ui/lookingGlass.js:625 +msgid "Enabled" +msgstr "" + +#. translators: +#. * The device has been disabled +#: ../js/ui/lookingGlass.js:627 ../src/gvc/gvc-mixer-control.c:1091 +msgid "Disabled" +msgstr "" + +#: ../js/ui/lookingGlass.js:629 +msgid "Error" +msgstr "" + +#: ../js/ui/lookingGlass.js:631 +msgid "Out of date" +msgstr "" + +#: ../js/ui/lookingGlass.js:656 +msgid "View Source" +msgstr "" + +#: ../js/ui/lookingGlass.js:662 +msgid "Web Page" +msgstr "" + +#: ../js/ui/messageTray.js:987 +msgid "Open" +msgstr "" + +#: ../js/ui/messageTray.js:2145 +msgid "System Information" +msgstr "" + +#: ../js/ui/overview.js:91 +msgid "Undo" +msgstr "" + +#: ../js/ui/overview.js:186 +msgid "Windows" +msgstr "" + +#: ../js/ui/overview.js:189 +msgid "Applications" +msgstr "" + +#. Translators: this is the name of the dock/favorites area on +#. the left of the overview +#: ../js/ui/overview.js:205 +msgid "Dash" +msgstr "" + +#. TODO - _quit() doesn't really work on apps in state STARTING yet +#: ../js/ui/panel.js:515 +#, c-format +msgid "Quit %s" +msgstr "" + +#. Button on the left side of the panel. +#. Translators: If there is no suitable word for "Activities" in your language, you can use the word for "Overview". +#: ../js/ui/panel.js:878 +msgid "Activities" +msgstr "" + +#: ../js/ui/panel.js:979 +msgid "Top Bar" +msgstr "" + +#: ../js/ui/placeDisplay.js:122 +#, c-format +msgid "Failed to unmount '%s'" +msgstr "" + +#: ../js/ui/placeDisplay.js:125 +msgid "Retry" +msgstr "" + +#: ../js/ui/placeDisplay.js:165 +msgid "Connect to..." +msgstr "" + +#: ../js/ui/placeDisplay.js:380 +msgid "PLACES & DEVICES" +msgstr "" + +#. Translators: this MUST be either "toggle-switch-us" +#. (for toggle switches containing the English words +#. "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:679 +msgid "toggle-switch-us" +msgstr "" + +#: ../js/ui/runDialog.js:205 +msgid "Please enter a command:" +msgstr "" + +#: ../js/ui/searchDisplay.js:310 +msgid "Searching..." +msgstr "" + +#: ../js/ui/searchDisplay.js:324 +msgid "No matching results." +msgstr "" + +#: ../js/ui/statusMenu.js:161 ../js/ui/statusMenu.js:228 +msgid "Power Off..." +msgstr "" + +#: ../js/ui/statusMenu.js:163 ../js/ui/statusMenu.js:227 +msgid "Suspend" +msgstr "" + +#: ../js/ui/statusMenu.js:184 +msgid "Available" +msgstr "" + +#: ../js/ui/statusMenu.js:189 +msgid "Busy" +msgstr "" + +#: ../js/ui/statusMenu.js:197 +msgid "My Account" +msgstr "" + +#: ../js/ui/statusMenu.js:201 +msgid "System Settings" +msgstr "" + +#: ../js/ui/statusMenu.js:208 +msgid "Lock Screen" +msgstr "" + +#: ../js/ui/statusMenu.js:213 +msgid "Switch User" +msgstr "" + +#: ../js/ui/statusMenu.js:218 +msgid "Log Out..." +msgstr "" + +#: ../js/ui/status/accessibility.js:62 +msgid "Zoom" +msgstr "" + +#. let screenReader = this._buildItem(_("Screen Reader"), APPLICATIONS_SCHEMA, +#. 'screen-reader-enabled'); +#. this.menu.addMenuItem(screenReader); +#. let screenKeyboard = this._buildItem(_("Screen Keyboard"), APPLICATIONS_SCHEMA, +#. 'screen-keyboard-enabled'); +#. this.menu.addMenuItem(screenKeyboard); +#: ../js/ui/status/accessibility.js:77 +msgid "Visual Alerts" +msgstr "" + +#: ../js/ui/status/accessibility.js:80 +msgid "Sticky Keys" +msgstr "" + +#: ../js/ui/status/accessibility.js:83 +msgid "Slow Keys" +msgstr "" + +#: ../js/ui/status/accessibility.js:86 +msgid "Bounce Keys" +msgstr "" + +#: ../js/ui/status/accessibility.js:89 +msgid "Mouse Keys" +msgstr "" + +#: ../js/ui/status/accessibility.js:93 +msgid "Universal Access Settings" +msgstr "" + +#: ../js/ui/status/accessibility.js:146 +msgid "High Contrast" +msgstr "" + +#: ../js/ui/status/accessibility.js:183 +msgid "Large Text" +msgstr "" + +#: ../js/ui/status/bluetooth.js:42 ../js/ui/status/bluetooth.js:237 +#: ../js/ui/status/bluetooth.js:333 ../js/ui/status/bluetooth.js:367 +#: ../js/ui/status/bluetooth.js:407 ../js/ui/status/bluetooth.js:440 +msgid "Bluetooth" +msgstr "" + +#: ../js/ui/status/bluetooth.js:55 +msgid "Visibility" +msgstr "" + +#: ../js/ui/status/bluetooth.js:69 +msgid "Send Files to Device..." +msgstr "" + +#: ../js/ui/status/bluetooth.js:70 +msgid "Setup a New Device..." +msgstr "" + +#: ../js/ui/status/bluetooth.js:95 +msgid "Bluetooth Settings" +msgstr "" + +#: ../js/ui/status/bluetooth.js:188 +msgid "Connection" +msgstr "" + +#: ../js/ui/status/bluetooth.js:224 +msgid "Send Files..." +msgstr "" + +#: ../js/ui/status/bluetooth.js:229 +msgid "Browse Files..." +msgstr "" + +#: ../js/ui/status/bluetooth.js:238 +msgid "Error browsing device" +msgstr "" + +#: ../js/ui/status/bluetooth.js:239 +#, c-format +msgid "The requested device cannot be browsed, error is '%s'" +msgstr "" + +#: ../js/ui/status/bluetooth.js:247 +msgid "Keyboard Settings" +msgstr "" + +#: ../js/ui/status/bluetooth.js:252 +msgid "Mouse Settings" +msgstr "" + +#: ../js/ui/status/bluetooth.js:259 ../js/ui/status/volume.js:66 +msgid "Sound Settings" +msgstr "" + +#: ../js/ui/status/bluetooth.js:368 +#, c-format +msgid "Authorization request from %s" +msgstr "" + +#: ../js/ui/status/bluetooth.js:374 +#, c-format +msgid "Device %s wants access to the service '%s'" +msgstr "" + +#: ../js/ui/status/bluetooth.js:376 +msgid "Always grant access" +msgstr "" + +#: ../js/ui/status/bluetooth.js:377 +msgid "Grant this time only" +msgstr "" + +#: ../js/ui/status/bluetooth.js:378 +msgid "Reject" +msgstr "" + +#: ../js/ui/status/bluetooth.js:408 +#, c-format +msgid "Pairing confirmation for %s" +msgstr "" + +#: ../js/ui/status/bluetooth.js:414 ../js/ui/status/bluetooth.js:448 +#, c-format +msgid "Device %s wants to pair with this computer" +msgstr "" + +#: ../js/ui/status/bluetooth.js:415 +#, c-format +msgid "Please confirm whether the PIN '%s' matches the one on the device." +msgstr "" + +#: ../js/ui/status/bluetooth.js:417 +msgid "Matches" +msgstr "" + +#: ../js/ui/status/bluetooth.js:418 +msgid "Does not match" +msgstr "" + +#: ../js/ui/status/bluetooth.js:441 +#, c-format +msgid "Pairing request for %s" +msgstr "" + +#: ../js/ui/status/bluetooth.js:449 +msgid "Please enter the PIN mentioned on the device." +msgstr "" + +#: ../js/ui/status/bluetooth.js:465 +msgid "OK" +msgstr "" + +#: ../js/ui/status/keyboard.js:73 +msgid "Show Keyboard Layout..." +msgstr "" + +#: ../js/ui/status/keyboard.js:76 +msgid "Localization Settings" +msgstr "" + +#: ../js/ui/status/network.js:102 ../js/ui/status/network.js:1393 +msgid "" +msgstr "" + +#. Translators: this indicates that wireless or wwan is disabled by hardware killswitch +#: ../js/ui/status/network.js:295 +msgid "disabled" +msgstr "" + +#: ../js/ui/status/network.js:476 +msgid "connecting..." +msgstr "" + +#. Translators: this is for network connections that require some kind of key or password +#: ../js/ui/status/network.js:479 +msgid "authentication required" +msgstr "" + +#. Translators: this is for wired network devices that are physically disconnected +#: ../js/ui/status/network.js:485 +msgid "cable unplugged" +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:489 +msgid "unavailable" +msgstr "" + +#: ../js/ui/status/network.js:491 +msgid "connection failed" +msgstr "" + +#. TRANSLATORS: this is the indication that a connection for another logged in user is active, +#. and we cannot access its settings (including the name) +#: ../js/ui/status/network.js:571 ../js/ui/status/network.js:1341 +msgid "Connected (private)" +msgstr "" + +#: ../js/ui/status/network.js:636 +msgid "Auto Ethernet" +msgstr "" + +#: ../js/ui/status/network.js:697 +msgid "Auto broadband" +msgstr "" + +#: ../js/ui/status/network.js:700 +msgid "Auto dial-up" +msgstr "" + +#. TRANSLATORS: this the automatic wireless connection name (including the network name) +#: ../js/ui/status/network.js:843 ../js/ui/status/network.js:1353 +#, c-format +msgid "Auto %s" +msgstr "" + +#: ../js/ui/status/network.js:845 +msgid "Auto bluetooth" +msgstr "" + +#: ../js/ui/status/network.js:1355 +msgid "Auto wireless" +msgstr "" + +#: ../js/ui/status/network.js:1413 +msgid "More..." +msgstr "" + +#: ../js/ui/status/network.js:1436 +msgid "Enable networking" +msgstr "" + +#: ../js/ui/status/network.js:1448 +msgid "Wired" +msgstr "" + +#: ../js/ui/status/network.js:1459 +msgid "Wireless" +msgstr "" + +#: ../js/ui/status/network.js:1469 +msgid "Mobile broadband" +msgstr "" + +#: ../js/ui/status/network.js:1479 +msgid "VPN Connections" +msgstr "" + +#: ../js/ui/status/network.js:1488 +msgid "Network Settings" +msgstr "" + +#: ../js/ui/status/network.js:1783 +#, c-format +msgid "You're now connected to mobile broadband connection '%s'" +msgstr "" + +#: ../js/ui/status/network.js:1787 +#, c-format +msgid "You're now connected to wireless network '%s'" +msgstr "" + +#: ../js/ui/status/network.js:1791 +#, c-format +msgid "You're now connected to wired network '%s'" +msgstr "" + +#: ../js/ui/status/network.js:1795 +#, c-format +msgid "You're now connected to VPN network '%s'" +msgstr "" + +#: ../js/ui/status/network.js:1800 +#, c-format +msgid "You're now connected to '%s'" +msgstr "" + +#: ../js/ui/status/network.js:1808 +msgid "Connection established" +msgstr "" + +#: ../js/ui/status/network.js:1930 +msgid "Networking is disabled" +msgstr "" + +#: ../js/ui/status/network.js:2055 +msgid "Network Manager" +msgstr "" + +#: ../js/ui/status/power.js:85 +msgid "Power Settings" +msgstr "" + +#. 0 is reported when UPower does not have enough data +#. to estimate battery life +#: ../js/ui/status/power.js:111 +msgid "Estimating..." +msgstr "" + +#: ../js/ui/status/power.js:118 +#, c-format +msgid "%d hour remaining" +msgid_plural "%d hours remaining" +msgstr[0] "" +msgstr[1] "" + +#. TRANSLATORS: this is a time string, as in "%d hours %d minutes remaining" +#: ../js/ui/status/power.js:121 +#, c-format +msgid "%d %s %d %s remaining" +msgstr "" + +#: ../js/ui/status/power.js:123 +msgid "hour" +msgid_plural "hours" +msgstr[0] "" +msgstr[1] "" + +#: ../js/ui/status/power.js:123 +msgid "minute" +msgid_plural "minutes" +msgstr[0] "" +msgstr[1] "" + +#: ../js/ui/status/power.js:126 +#, c-format +msgid "%d minute remaining" +msgid_plural "%d minutes remaining" +msgstr[0] "" +msgstr[1] "" + +#: ../js/ui/status/power.js:228 +msgid "AC adapter" +msgstr "" + +#: ../js/ui/status/power.js:230 +msgid "Laptop battery" +msgstr "" + +#: ../js/ui/status/power.js:232 +msgid "UPS" +msgstr "" + +#: ../js/ui/status/power.js:234 +msgid "Monitor" +msgstr "" + +#: ../js/ui/status/power.js:236 +msgid "Mouse" +msgstr "" + +#: ../js/ui/status/power.js:238 +msgid "Keyboard" +msgstr "" + +#: ../js/ui/status/power.js:240 +msgid "PDA" +msgstr "" + +#: ../js/ui/status/power.js:242 +msgid "Cell phone" +msgstr "" + +#: ../js/ui/status/power.js:244 +msgid "Media player" +msgstr "" + +#: ../js/ui/status/power.js:246 +msgid "Tablet" +msgstr "" + +#: ../js/ui/status/power.js:248 +msgid "Computer" +msgstr "" + +#: ../js/ui/status/power.js:250 ../src/shell-app-system.c:1088 +msgid "Unknown" +msgstr "" + +#: ../js/ui/status/volume.js:45 +msgid "Volume" +msgstr "" + +#: ../js/ui/status/volume.js:58 +msgid "Microphone" +msgstr "" + +#: ../js/ui/telepathyClient.js:332 +#, c-format +msgid "%s is online." +msgstr "" + +#: ../js/ui/telepathyClient.js:337 +#, c-format +msgid "%s is offline." +msgstr "" + +#: ../js/ui/telepathyClient.js:340 +#, c-format +msgid "%s is away." +msgstr "" + +#: ../js/ui/telepathyClient.js:343 +#, c-format +msgid "%s is busy." +msgstr "" + +#. Translators: this is a time format string followed by a date. +#. If applicable, replace %X with a strftime format valid for your +#. locale, without seconds. +#: ../js/ui/telepathyClient.js:474 +#, no-c-format +msgid "Sent at %X on %A" +msgstr "" + +#. Translators: this is the text displayed +#. in the search entry when no search is +#. active; it should not exceed ~30 +#. characters. +#: ../js/ui/viewSelector.js:122 +msgid "Type to search..." +msgstr "" + +#: ../js/ui/viewSelector.js:142 ../src/shell-util.c:250 +msgid "Search" +msgstr "" + +#: ../js/ui/windowAttentionHandler.js:42 +#, c-format +msgid "%s has finished starting" +msgstr "" + +#: ../js/ui/windowAttentionHandler.js:44 +#, c-format +msgid "'%s' is ready" +msgstr "" + +#. translators: +#. * The number of sound outputs on a particular device +#: ../src/gvc/gvc-mixer-control.c:1098 +#, c-format +msgid "%u Output" +msgid_plural "%u Outputs" +msgstr[0] "" +msgstr[1] "" + +#. translators: +#. * The number of sound inputs on a particular device +#: ../src/gvc/gvc-mixer-control.c:1108 +#, c-format +msgid "%u Input" +msgid_plural "%u Inputs" +msgstr[0] "" +msgstr[1] "" + +#: ../src/gvc/gvc-mixer-control.c:1406 +msgid "System Sounds" +msgstr "" + +#: ../src/main.c:438 +msgid "Print version" +msgstr "" + +#: ../src/shell-app.c:454 +#, c-format +msgid "Failed to launch '%s'" +msgstr "" + +#: ../src/shell-global.c:1395 +msgid "Less than a minute ago" +msgstr "" + +#: ../src/shell-global.c:1399 +#, c-format +msgid "%d minute ago" +msgid_plural "%d minutes ago" +msgstr[0] "" +msgstr[1] "" + +#: ../src/shell-global.c:1404 +#, c-format +msgid "%d hour ago" +msgid_plural "%d hours ago" +msgstr[0] "" +msgstr[1] "" + +#: ../src/shell-global.c:1409 +#, c-format +msgid "%d day ago" +msgid_plural "%d days ago" +msgstr[0] "" +msgstr[1] "" + +#: ../src/shell-global.c:1414 +#, c-format +msgid "%d week ago" +msgid_plural "%d weeks ago" +msgstr[0] "" +msgstr[1] "" + +#: ../src/shell-mobile-providers.c:80 +msgid "United Kingdom" +msgstr "" + +#: ../src/shell-mobile-providers.c:526 +msgid "Default" +msgstr "" + +#: ../src/shell-polkit-authentication-agent.c:334 +msgid "Authentication dialog was dismissed by the user" +msgstr "" + +#: ../src/shell-util.c:89 +msgid "Home Folder" +msgstr "" + +#. Translators: this is the same string as the one found in +#. * nautilus +#: ../src/shell-util.c:104 +msgid "File System" +msgstr "" + +#. Translators: the first string is the name of a gvfs +#. * method, and the second string is a path. For +#. * example, "Trash: some-directory". It means that the +#. * directory called "some-directory" is in the trash. +#. +#: ../src/shell-util.c:300 +#, c-format +msgid "%1$s: %2$s" +msgstr "" From 42ea979b0689111c49b1bd053f4f51b6e27d7fc7 Mon Sep 17 00:00:00 2001 From: Runa Bhattacharjee Date: Wed, 23 Mar 2011 12:35:13 +0530 Subject: [PATCH 166/203] Added Bengali India to the list of languages --- po/LINGUAS | 1 + 1 file changed, 1 insertion(+) diff --git a/po/LINGUAS b/po/LINGUAS index 0f2485030..d02675d1a 100644 --- a/po/LINGUAS +++ b/po/LINGUAS @@ -1,6 +1,7 @@ af ar bg +bn_IN ca cs da From 9259e2221df1218a902c3c4097fe3aa08b5303d5 Mon Sep 17 00:00:00 2001 From: Runa Bhattacharjee Date: Wed, 23 Mar 2011 12:36:36 +0530 Subject: [PATCH 167/203] Added Bengali India file, translation to start --- po/bn_IN.po | 16 +++++++++------- 1 file changed, 9 insertions(+), 7 deletions(-) diff --git a/po/bn_IN.po b/po/bn_IN.po index 529e87438..997c7e61d 100644 --- a/po/bn_IN.po +++ b/po/bn_IN.po @@ -1,25 +1,26 @@ # Bengali (India) translation for gnome-shell. # Copyright (C) 2011 gnome-shell's COPYRIGHT HOLDER # This file is distributed under the same license as the gnome-shell package. -# FIRST AUTHOR , YEAR. # +# , 2011. msgid "" msgstr "" "Project-Id-Version: gnome-shell master\n" -"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug.cgi?product=gnome-" -"shell&keywords=I18N+L10N&component=general\n" +"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug." +"cgi?product=gnome-shell&keywords=I18N+L10N&component=general\n" "POT-Creation-Date: 2011-03-22 23:02+0000\n" -"PO-Revision-Date: 2011-03-22 23:02+0000\n" -"Last-Translator: FULL NAME \n" +"PO-Revision-Date: 2011-03-23 12:36+0530\n" +"Last-Translator: \n" "Language-Team: Bengali (India) \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Plural-Forms: nplurals=INTEGER; plural=EXPRESSION;\n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" +"X-Generator: Lokalize 1.1\n" #: ../data/gnome-shell.desktop.in.in.h:1 msgid "GNOME Shell" -msgstr "" +msgstr "GNOME Shell" #: ../data/gnome-shell.desktop.in.in.h:2 msgid "Window management and application launching" @@ -1149,3 +1150,4 @@ msgstr "" #, c-format msgid "%1$s: %2$s" msgstr "" + From 72e8d385869e37a2235bdbcb26ed11a259204e66 Mon Sep 17 00:00:00 2001 From: Aron Xu Date: Wed, 23 Mar 2011 21:39:20 +0800 Subject: [PATCH 168/203] Update Simplified Chinese translation. --- po/zh_CN.po | 163 ++++++++++++++++++++++++++++------------------------ 1 file changed, 89 insertions(+), 74 deletions(-) diff --git a/po/zh_CN.po b/po/zh_CN.po index d9b9b140e..08c9f2525 100644 --- a/po/zh_CN.po +++ b/po/zh_CN.po @@ -15,16 +15,15 @@ msgid "" msgstr "" "Project-Id-Version: gnome-shell master\n" -"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug.cgi?product=gnome-" -"shell&keywords=I18N+L10N&component=general\n" -"POT-Creation-Date: 2011-03-18 04:26+0000\n" -"PO-Revision-Date: 2011-03-18 18:34+0800\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2011-03-23 21:37+0800\n" +"PO-Revision-Date: 2011-03-23 21:39+0800\n" "Last-Translator: Aron Xu \n" "Language-Team: Chinese (simplified) \n" +"Language: zh_CN\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: zh_CN\n" "Plural-Forms: nplurals=1; plural=0;\n" #: ../data/gnome-shell.desktop.in.in.h:1 @@ -183,27 +182,27 @@ msgid "Execution of '%s' failed:" msgstr "运行“%s”失败:" #. Translators: Filter to display all applications -#: ../js/ui/appDisplay.js:226 +#: ../js/ui/appDisplay.js:230 msgid "All" msgstr "全部" -#: ../js/ui/appDisplay.js:324 +#: ../js/ui/appDisplay.js:328 msgid "APPLICATIONS" msgstr "应用程序" -#: ../js/ui/appDisplay.js:350 +#: ../js/ui/appDisplay.js:354 msgid "SETTINGS" msgstr "设置" -#: ../js/ui/appDisplay.js:612 +#: ../js/ui/appDisplay.js:625 msgid "New Window" msgstr "新窗口" -#: ../js/ui/appDisplay.js:615 +#: ../js/ui/appDisplay.js:628 msgid "Remove from Favorites" msgstr "从收藏夹中移除" -#: ../js/ui/appDisplay.js:616 +#: ../js/ui/appDisplay.js:629 msgid "Add to Favorites" msgstr "添加到收藏夹" @@ -363,7 +362,7 @@ msgstr "本周" msgid "Next week" msgstr "下周" -#: ../js/ui/dash.js:174 ../js/ui/messageTray.js:933 +#: ../js/ui/dash.js:174 ../js/ui/messageTray.js:994 msgid "Remove" msgstr "移除" @@ -431,7 +430,7 @@ msgstr "最近项目" msgid "Log Out %s" msgstr "注销 %s" -#: ../js/ui/endSessionDialog.js:64 ../js/ui/endSessionDialog.js:69 +#: ../js/ui/endSessionDialog.js:64 ../js/ui/endSessionDialog.js:70 msgid "Log Out" msgstr "注销" @@ -453,45 +452,42 @@ msgstr "您将在 %d 秒后自动注销。" msgid "Logging out of the system." msgstr "从系统注销" -#: ../js/ui/endSessionDialog.js:74 ../js/ui/endSessionDialog.js:78 -msgid "Shut Down" +#: ../js/ui/endSessionDialog.js:75 ../js/ui/endSessionDialog.js:82 +msgid "Power Off" msgstr "关机" -#: ../js/ui/endSessionDialog.js:75 -msgid "Click Shut Down to quit these applications and shut down the system." -msgstr "点“关机“来退出这些应用程序并关闭系统。" - #: ../js/ui/endSessionDialog.js:76 -#, c-format -msgid "The system will shut down automatically in %d seconds." -msgstr "系统将在 %d 秒后自动关机。" +msgid "Click Power Off to quit these applications and power off the system." +msgstr "点击关机以退出应用程序并关闭系统。" #: ../js/ui/endSessionDialog.js:77 -msgid "Shutting down the system." -msgstr "关闭计算机。" +#, c-format +msgid "The system will power off automatically in %d seconds." +msgstr "系统将在 %d 秒后自动关机。" -#: ../js/ui/endSessionDialog.js:84 ../js/ui/endSessionDialog.js:88 +#: ../js/ui/endSessionDialog.js:78 +msgid "Powering off the system." +msgstr "关闭系统。" + +#: ../js/ui/endSessionDialog.js:80 ../js/ui/endSessionDialog.js:88 +#: ../js/ui/endSessionDialog.js:93 msgid "Restart" msgstr "重启" -#: ../js/ui/endSessionDialog.js:85 +#: ../js/ui/endSessionDialog.js:89 msgid "Click Restart to quit these applications and restart the system." msgstr "点“重启“来退出这些应用程序并重启系统" -#: ../js/ui/endSessionDialog.js:86 +#: ../js/ui/endSessionDialog.js:90 #, c-format msgid "The system will restart automatically in %d seconds." msgstr "系统将在 %d 秒后自动重启。" -#: ../js/ui/endSessionDialog.js:87 +#: ../js/ui/endSessionDialog.js:91 msgid "Restarting the system." msgstr "重启计算机。" -#: ../js/ui/endSessionDialog.js:395 -msgid "Confirm" -msgstr "确定" - -#: ../js/ui/endSessionDialog.js:400 ../js/ui/status/bluetooth.js:466 +#: ../js/ui/endSessionDialog.js:415 ../js/ui/status/bluetooth.js:466 msgid "Cancel" msgstr "取消" @@ -525,29 +521,29 @@ msgstr "查看源" msgid "Web Page" msgstr "网页" -#: ../js/ui/messageTray.js:926 +#: ../js/ui/messageTray.js:987 msgid "Open" msgstr "打开" -#: ../js/ui/messageTray.js:1986 +#: ../js/ui/messageTray.js:2145 msgid "System Information" msgstr "系统信息" -#: ../js/ui/overview.js:88 +#: ../js/ui/overview.js:91 msgid "Undo" msgstr "撤销" -#: ../js/ui/overview.js:183 +#: ../js/ui/overview.js:186 msgid "Windows" msgstr "窗口" -#: ../js/ui/overview.js:186 +#: ../js/ui/overview.js:189 msgid "Applications" msgstr "应用程序" #. Translators: this is the name of the dock/favorites area on #. the left of the overview -#: ../js/ui/overview.js:202 +#: ../js/ui/overview.js:205 msgid "Dash" msgstr "虚线" @@ -559,13 +555,13 @@ msgstr "退出 %s" #. Button on the left side of the panel. #. Translators: If there is no suitable word for "Activities" in your language, you can use the word for "Overview". -#: ../js/ui/panel.js:874 +#: ../js/ui/panel.js:878 msgid "Activities" msgstr "活动" -#: ../js/ui/panel.js:975 -msgid "Panel" -msgstr "面板" +#: ../js/ui/panel.js:979 +msgid "Top Bar" +msgstr "顶栏" #: ../js/ui/placeDisplay.js:122 #, c-format @@ -589,55 +585,55 @@ 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:636 +#: ../js/ui/popupMenu.js:679 msgid "toggle-switch-us" msgstr "toggle-switch-intl" -#: ../js/ui/runDialog.js:201 +#: ../js/ui/runDialog.js:205 msgid "Please enter a command:" msgstr "请输入一个命令:" -#: ../js/ui/searchDisplay.js:283 +#: ../js/ui/searchDisplay.js:310 msgid "Searching..." msgstr "正在搜索..." -#: ../js/ui/searchDisplay.js:297 +#: ../js/ui/searchDisplay.js:324 msgid "No matching results." msgstr "无匹配结果。" -#: ../js/ui/statusMenu.js:114 ../js/ui/statusMenu.js:178 +#: ../js/ui/statusMenu.js:161 ../js/ui/statusMenu.js:228 msgid "Power Off..." msgstr "关机..." -#: ../js/ui/statusMenu.js:116 ../js/ui/statusMenu.js:177 +#: ../js/ui/statusMenu.js:163 ../js/ui/statusMenu.js:227 msgid "Suspend" msgstr "休眠" -#: ../js/ui/statusMenu.js:137 +#: ../js/ui/statusMenu.js:184 msgid "Available" msgstr "可用" -#: ../js/ui/statusMenu.js:142 +#: ../js/ui/statusMenu.js:189 msgid "Busy" msgstr "忙碌" -#: ../js/ui/statusMenu.js:150 +#: ../js/ui/statusMenu.js:197 msgid "My Account" msgstr "我的帐户" -#: ../js/ui/statusMenu.js:154 +#: ../js/ui/statusMenu.js:201 msgid "System Settings" msgstr "系统设置" -#: ../js/ui/statusMenu.js:161 +#: ../js/ui/statusMenu.js:208 msgid "Lock Screen" msgstr "锁住屏幕" -#: ../js/ui/statusMenu.js:165 +#: ../js/ui/statusMenu.js:213 msgid "Switch User" msgstr "切换用户" -#: ../js/ui/statusMenu.js:170 +#: ../js/ui/statusMenu.js:218 msgid "Log Out..." msgstr "退出..." @@ -1016,7 +1012,7 @@ msgstr "触摸板" msgid "Computer" msgstr "计算机" -#: ../js/ui/status/power.js:250 ../src/shell-app-system.c:961 +#: ../js/ui/status/power.js:250 ../src/shell-app-system.c:1088 msgid "Unknown" msgstr "未知" @@ -1060,11 +1056,11 @@ msgstr "发送于 %X,在 %A" #. in the search entry when no search is #. active; it should not exceed ~30 #. characters. -#: ../js/ui/viewSelector.js:119 +#: ../js/ui/viewSelector.js:122 msgid "Type to search..." msgstr "搜索..." -#: ../js/ui/viewSelector.js:139 ../src/shell-util.c:250 +#: ../js/ui/viewSelector.js:142 ../src/shell-util.c:250 msgid "Search" msgstr "搜索" @@ -1098,7 +1094,7 @@ msgstr[0] "%u 个输入" msgid "System Sounds" msgstr "系统声音" -#: ../src/main.c:397 +#: ../src/main.c:438 msgid "Print version" msgstr "打印版本" @@ -1107,29 +1103,29 @@ msgstr "打印版本" msgid "Failed to launch '%s'" msgstr "启动 %s 失败" -#: ../src/shell-global.c:1340 +#: ../src/shell-global.c:1395 msgid "Less than a minute ago" msgstr "少于一分钟前" -#: ../src/shell-global.c:1344 +#: ../src/shell-global.c:1399 #, c-format msgid "%d minute ago" msgid_plural "%d minutes ago" msgstr[0] "%d 分钟前" -#: ../src/shell-global.c:1349 +#: ../src/shell-global.c:1404 #, c-format msgid "%d hour ago" msgid_plural "%d hours ago" msgstr[0] "%d 小时前" -#: ../src/shell-global.c:1354 +#: ../src/shell-global.c:1409 #, c-format msgid "%d day ago" msgid_plural "%d days ago" msgstr[0] "%d 天前" -#: ../src/shell-global.c:1359 +#: ../src/shell-global.c:1414 #, c-format msgid "%d week ago" msgid_plural "%d weeks ago" @@ -1167,6 +1163,24 @@ msgstr "文件系统" msgid "%1$s: %2$s" msgstr "%1$s: %2$s" +#~ msgid "Shut Down" +#~ msgstr "关机" + +#~ msgid "Click Shut Down to quit these applications and shut down the system." +#~ msgstr "点“关机“来退出这些应用程序并关闭系统。" + +#~ msgid "The system will shut down automatically in %d seconds." +#~ msgstr "系统将在 %d 秒后自动关机。" + +#~ msgid "Shutting down the system." +#~ msgstr "关闭计算机。" + +#~ msgid "Confirm" +#~ msgstr "确定" + +#~ msgid "Panel" +#~ msgstr "面板" + #~ msgid "No such application" #~ msgstr "没有此应用程序" @@ -1215,16 +1229,17 @@ msgstr "%1$s: %2$s" #~ msgid "" #~ "This key specifies the hour format used by the panel clock. Possible " #~ "values are \"12-hour\", \"24-hour\", \"unix\" and \"custom\". If set to " -#~ "\"unix\", the clock will display time in seconds since Epoch, i.e. 1970-" -#~ "01-01. If set to \"custom\", the clock will display time according to the " -#~ "format specified in the custom_format key. Note that if set to either " -#~ "\"unix\" or \"custom\", the show_date and show_seconds keys are ignored." +#~ "\"unix\", the clock will display time in seconds since Epoch, i.e. " +#~ "1970-01-01. If set to \"custom\", the clock will display time according " +#~ "to the format specified in the custom_format key. Note that if set to " +#~ "either \"unix\" or \"custom\", the show_date and show_seconds keys are " +#~ "ignored." #~ msgstr "" -#~ "此键指定面板时钟使用的时间格式。可能的值为 \"12-hour\"、\"24-hour\"、" -#~ "\"unix\" 和 \"custom\"。如果设为 unix,时钟将显示从 Epoch(也就是 1970-1-1 " -#~ "UTC)开始的秒数。如果设为 \"custom\",时钟将根据在 custom_format 键中设定的" -#~ "格式规则显示时间。注意,如果设置为 \"unix\" 或 \"custom\",show_date 和 " -#~ "show_seconds 键将被忽略。" +#~ "此键指定面板时钟使用的时间格式。可能的值为 \"12-hour\"、\"24-hour" +#~ "\"、\"unix\" 和 \"custom\"。如果设为 unix,时钟将显示从 Epoch(也就是 " +#~ "1970-1-1 UTC)开始的秒数。如果设为 \"custom\",时钟将根据在 custom_format " +#~ "键中设定的格式规则显示时间。注意,如果设置为 \"unix\" 或 \"custom\"," +#~ "show_date 和 show_seconds 键将被忽略。" #~ msgid "Clip the crosshairs at the center" #~ msgstr "将十字夹在中间" From 1838ab14126e70cb547f5fa7c7eecaf69d02c35c Mon Sep 17 00:00:00 2001 From: Daniel Korostil Date: Wed, 23 Mar 2011 16:10:44 +0200 Subject: [PATCH 169/203] Uploaded Ukranian --- po/uk.po | 207 +++++++++++++++++++++++++++++-------------------------- 1 file changed, 111 insertions(+), 96 deletions(-) diff --git a/po/uk.po b/po/uk.po index 42fac71c8..b66a459e3 100644 --- a/po/uk.po +++ b/po/uk.po @@ -7,8 +7,8 @@ msgid "" msgstr "" "Project-Id-Version: gnome-shell master\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2011-03-17 18:44+0200\n" -"PO-Revision-Date: 2011-03-17 18:58+0300\n" +"POT-Creation-Date: 2011-03-23 16:06+0200\n" +"PO-Revision-Date: 2011-03-23 16:10+0300\n" "Last-Translator: Korostil Daniel \n" "Language-Team: translation@linux.org.ua\n" "Language: uk\n" @@ -189,27 +189,27 @@ msgid "Execution of '%s' failed:" msgstr "Не вдалось виконати «%s»:" #. Translators: Filter to display all applications -#: ../js/ui/appDisplay.js:226 +#: ../js/ui/appDisplay.js:230 msgid "All" msgstr "Всі" -#: ../js/ui/appDisplay.js:324 +#: ../js/ui/appDisplay.js:328 msgid "APPLICATIONS" msgstr "ПРОГРАМИ" -#: ../js/ui/appDisplay.js:350 +#: ../js/ui/appDisplay.js:354 msgid "SETTINGS" msgstr "ПАРАМЕТРИ" -#: ../js/ui/appDisplay.js:612 +#: ../js/ui/appDisplay.js:625 msgid "New Window" msgstr "Нове вікно" -#: ../js/ui/appDisplay.js:615 +#: ../js/ui/appDisplay.js:628 msgid "Remove from Favorites" msgstr "Вилучити з улюбленого" -#: ../js/ui/appDisplay.js:616 +#: ../js/ui/appDisplay.js:629 msgid "Add to Favorites" msgstr "Додати до улюбленого" @@ -369,7 +369,7 @@ msgstr "Цей тиждень" msgid "Next week" msgstr "Наступний тиждень" -#: ../js/ui/dash.js:174 ../js/ui/messageTray.js:933 +#: ../js/ui/dash.js:174 ../js/ui/messageTray.js:994 msgid "Remove" msgstr "Вилучити" @@ -437,7 +437,7 @@ msgstr "ОСТАННІ ПУНКТИ" msgid "Log Out %s" msgstr "Завершити сеанс %s…" -#: ../js/ui/endSessionDialog.js:64 ../js/ui/endSessionDialog.js:69 +#: ../js/ui/endSessionDialog.js:64 ../js/ui/endSessionDialog.js:70 msgid "Log Out" msgstr "Завершити сеанс" @@ -459,46 +459,43 @@ msgstr "Буде завершено сеанс автоматично через msgid "Logging out of the system." msgstr "Вихід із системи." -#: ../js/ui/endSessionDialog.js:74 ../js/ui/endSessionDialog.js:78 -msgid "Shut Down" +#: ../js/ui/endSessionDialog.js:75 ../js/ui/endSessionDialog.js:82 +msgid "Power Off" msgstr "Вимкнути" -#: ../js/ui/endSessionDialog.js:75 -msgid "Click Shut Down to quit these applications and shut down the system." -msgstr "Натисніть «Вимкнути», щоб вийти з усіх програм і вимкнути систему." - #: ../js/ui/endSessionDialog.js:76 -#, c-format -msgid "The system will shut down automatically in %d seconds." -msgstr "Систему буде вимкнено автоматично через %d секунд." +msgid "Click Power Off to quit these applications and power off the system." +msgstr "Натисніть «Вимкнути», щоб вийти з усіх програм і системи." #: ../js/ui/endSessionDialog.js:77 -msgid "Shutting down the system." +#, c-format +msgid "The system will power off automatically in %d seconds." +msgstr "Система автоматично вимкнеться через %d секунд." + +#: ../js/ui/endSessionDialog.js:78 +msgid "Powering off the system." msgstr "Вимкнення системи." -#: ../js/ui/endSessionDialog.js:84 ../js/ui/endSessionDialog.js:88 +#: ../js/ui/endSessionDialog.js:80 ../js/ui/endSessionDialog.js:88 +#: ../js/ui/endSessionDialog.js:93 msgid "Restart" msgstr "Перезапустити" -#: ../js/ui/endSessionDialog.js:85 +#: ../js/ui/endSessionDialog.js:89 msgid "Click Restart to quit these applications and restart the system." msgstr "" "Натисніть «Перезапустити», щоб вийти з усіх програм і перезапустити систему." -#: ../js/ui/endSessionDialog.js:86 +#: ../js/ui/endSessionDialog.js:90 #, c-format msgid "The system will restart automatically in %d seconds." msgstr "Система автоматично перезапуститься через %d секунд." -#: ../js/ui/endSessionDialog.js:87 +#: ../js/ui/endSessionDialog.js:91 msgid "Restarting the system." msgstr "Перезапуск системи." -#: ../js/ui/endSessionDialog.js:395 -msgid "Confirm" -msgstr "Підтвердити" - -#: ../js/ui/endSessionDialog.js:400 ../js/ui/status/bluetooth.js:465 +#: ../js/ui/endSessionDialog.js:415 ../js/ui/status/bluetooth.js:466 msgid "Cancel" msgstr "Скасувати" @@ -532,47 +529,47 @@ msgstr "Переглянути джерело" msgid "Web Page" msgstr "Веб-сторінка" -#: ../js/ui/messageTray.js:926 +#: ../js/ui/messageTray.js:987 msgid "Open" msgstr "Відкрити" -#: ../js/ui/messageTray.js:1986 +#: ../js/ui/messageTray.js:2145 msgid "System Information" msgstr "Інформація про систему" -#: ../js/ui/overview.js:88 +#: ../js/ui/overview.js:91 msgid "Undo" msgstr "Повернути" -#: ../js/ui/overview.js:183 +#: ../js/ui/overview.js:186 msgid "Windows" msgstr "Вікна" -#: ../js/ui/overview.js:186 +#: ../js/ui/overview.js:189 msgid "Applications" msgstr "Програми" #. Translators: this is the name of the dock/favorites area on #. the left of the overview -#: ../js/ui/overview.js:202 +#: ../js/ui/overview.js:205 msgid "Dash" msgstr "Риска" #. TODO - _quit() doesn't really work on apps in state STARTING yet -#: ../js/ui/panel.js:514 +#: ../js/ui/panel.js:515 #, c-format msgid "Quit %s" msgstr "Вийти з %s" #. Button on the left side of the panel. #. Translators: If there is no suitable word for "Activities" in your language, you can use the word for "Overview". -#: ../js/ui/panel.js:873 +#: ../js/ui/panel.js:878 msgid "Activities" -msgstr "Дії" +msgstr "Діяльність" -#: ../js/ui/panel.js:974 -msgid "Panel" -msgstr "Панель" +#: ../js/ui/panel.js:979 +msgid "Top Bar" +msgstr "Верхня панель" #: ../js/ui/placeDisplay.js:122 #, c-format @@ -596,55 +593,55 @@ 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:636 +#: ../js/ui/popupMenu.js:679 msgid "toggle-switch-us" msgstr "toggle-switch-intl" -#: ../js/ui/runDialog.js:201 +#: ../js/ui/runDialog.js:205 msgid "Please enter a command:" msgstr "Будь ласка, введіть команду:" -#: ../js/ui/searchDisplay.js:283 +#: ../js/ui/searchDisplay.js:310 msgid "Searching..." msgstr "Пошук…" -#: ../js/ui/searchDisplay.js:297 +#: ../js/ui/searchDisplay.js:324 msgid "No matching results." msgstr "Нема збігів." -#: ../js/ui/statusMenu.js:114 ../js/ui/statusMenu.js:178 +#: ../js/ui/statusMenu.js:161 ../js/ui/statusMenu.js:228 msgid "Power Off..." msgstr "Вимкнення живлення…" -#: ../js/ui/statusMenu.js:116 ../js/ui/statusMenu.js:177 +#: ../js/ui/statusMenu.js:163 ../js/ui/statusMenu.js:227 msgid "Suspend" msgstr "Призупинити" -#: ../js/ui/statusMenu.js:137 +#: ../js/ui/statusMenu.js:184 msgid "Available" msgstr "Доступний" -#: ../js/ui/statusMenu.js:142 +#: ../js/ui/statusMenu.js:189 msgid "Busy" msgstr "Зайнятий" -#: ../js/ui/statusMenu.js:150 +#: ../js/ui/statusMenu.js:197 msgid "My Account" msgstr "Мій обліковий запис" -#: ../js/ui/statusMenu.js:154 +#: ../js/ui/statusMenu.js:201 msgid "System Settings" msgstr "Системні параметри" -#: ../js/ui/statusMenu.js:161 +#: ../js/ui/statusMenu.js:208 msgid "Lock Screen" msgstr "Заблокувати екран" -#: ../js/ui/statusMenu.js:165 +#: ../js/ui/statusMenu.js:213 msgid "Switch User" msgstr "Змінити користувача" -#: ../js/ui/statusMenu.js:170 +#: ../js/ui/statusMenu.js:218 msgid "Log Out..." msgstr "Завершити сеанс…" @@ -690,9 +687,9 @@ msgstr "Висока контрастність" msgid "Large Text" msgstr "Більший текст" -#: ../js/ui/status/bluetooth.js:42 ../js/ui/status/bluetooth.js:236 -#: ../js/ui/status/bluetooth.js:332 ../js/ui/status/bluetooth.js:366 -#: ../js/ui/status/bluetooth.js:406 ../js/ui/status/bluetooth.js:439 +#: ../js/ui/status/bluetooth.js:42 ../js/ui/status/bluetooth.js:237 +#: ../js/ui/status/bluetooth.js:333 ../js/ui/status/bluetooth.js:367 +#: ../js/ui/status/bluetooth.js:407 ../js/ui/status/bluetooth.js:440 msgid "Bluetooth" msgstr "Bluetooth" @@ -712,94 +709,94 @@ msgstr "Встановити новий пристрій…" msgid "Bluetooth Settings" msgstr "Параметри Bluetooth" -#: ../js/ui/status/bluetooth.js:187 +#: ../js/ui/status/bluetooth.js:188 msgid "Connection" msgstr "З'єднання" -#: ../js/ui/status/bluetooth.js:223 +#: ../js/ui/status/bluetooth.js:224 msgid "Send Files..." msgstr "Відправити файли…" -#: ../js/ui/status/bluetooth.js:228 +#: ../js/ui/status/bluetooth.js:229 msgid "Browse Files..." msgstr "Огляд файлів…" -#: ../js/ui/status/bluetooth.js:237 +#: ../js/ui/status/bluetooth.js:238 msgid "Error browsing device" msgstr "Помилка перегляду пристрою…" -#: ../js/ui/status/bluetooth.js:238 +#: ../js/ui/status/bluetooth.js:239 #, c-format msgid "The requested device cannot be browsed, error is '%s'" msgstr "Потрібний пристрій неможливо переглянути, помилка — «%s»" -#: ../js/ui/status/bluetooth.js:246 +#: ../js/ui/status/bluetooth.js:247 msgid "Keyboard Settings" msgstr "Параметри клавіатури" -#: ../js/ui/status/bluetooth.js:251 +#: ../js/ui/status/bluetooth.js:252 msgid "Mouse Settings" msgstr "Параметри миші" -#: ../js/ui/status/bluetooth.js:258 ../js/ui/status/volume.js:66 +#: ../js/ui/status/bluetooth.js:259 ../js/ui/status/volume.js:66 msgid "Sound Settings" msgstr "Параметри звуку" -#: ../js/ui/status/bluetooth.js:367 +#: ../js/ui/status/bluetooth.js:368 #, c-format msgid "Authorization request from %s" msgstr "Запит про авторизацію від %s" -#: ../js/ui/status/bluetooth.js:373 +#: ../js/ui/status/bluetooth.js:374 #, c-format msgid "Device %s wants access to the service '%s'" msgstr "Пристрій %s потребує доступ до служби «%s»" -#: ../js/ui/status/bluetooth.js:375 +#: ../js/ui/status/bluetooth.js:376 msgid "Always grant access" msgstr "Завжди надавати доступ" -#: ../js/ui/status/bluetooth.js:376 +#: ../js/ui/status/bluetooth.js:377 msgid "Grant this time only" msgstr "Надати лише цього разу" -#: ../js/ui/status/bluetooth.js:377 +#: ../js/ui/status/bluetooth.js:378 msgid "Reject" msgstr "Відмовити" -#: ../js/ui/status/bluetooth.js:407 +#: ../js/ui/status/bluetooth.js:408 #, c-format msgid "Pairing confirmation for %s" msgstr "Сполучення підтвердження для %s" -#: ../js/ui/status/bluetooth.js:413 ../js/ui/status/bluetooth.js:447 +#: ../js/ui/status/bluetooth.js:414 ../js/ui/status/bluetooth.js:448 #, c-format msgid "Device %s wants to pair with this computer" msgstr "Пристрій %s потребує прив'язання до цього комп'ютера" -#: ../js/ui/status/bluetooth.js:414 +#: ../js/ui/status/bluetooth.js:415 #, c-format msgid "Please confirm whether the PIN '%s' matches the one on the device." msgstr "Будь ласка, підвердьте, чи «%s» збігається з PIN на пристрої." -#: ../js/ui/status/bluetooth.js:416 +#: ../js/ui/status/bluetooth.js:417 msgid "Matches" msgstr "Збігається" -#: ../js/ui/status/bluetooth.js:417 +#: ../js/ui/status/bluetooth.js:418 msgid "Does not match" msgstr "Не збігається" -#: ../js/ui/status/bluetooth.js:440 +#: ../js/ui/status/bluetooth.js:441 #, c-format msgid "Pairing request for %s" msgstr "Запит на сполучення для %s" -#: ../js/ui/status/bluetooth.js:448 +#: ../js/ui/status/bluetooth.js:449 msgid "Please enter the PIN mentioned on the device." msgstr "Будь ласка, введіть PIN, згаданий на пристрої." -#: ../js/ui/status/bluetooth.js:464 +#: ../js/ui/status/bluetooth.js:465 msgid "OK" msgstr "Гаразд" @@ -904,40 +901,40 @@ msgstr "З'єднання VPN" msgid "Network Settings" msgstr "Налаштування мережі" -#: ../js/ui/status/network.js:1782 +#: ../js/ui/status/network.js:1783 #, c-format msgid "You're now connected to mobile broadband connection '%s'" msgstr "Зараз ви з'єднані через мобільну радіомережу «%s»" -#: ../js/ui/status/network.js:1786 +#: ../js/ui/status/network.js:1787 #, c-format msgid "You're now connected to wireless network '%s'" msgstr "Зараз ви з'єднані через бездротову мережу «%s»" -#: ../js/ui/status/network.js:1790 +#: ../js/ui/status/network.js:1791 #, c-format msgid "You're now connected to wired network '%s'" msgstr "Зараз ви з'єднані через дротову мережу «%s»" -#: ../js/ui/status/network.js:1794 +#: ../js/ui/status/network.js:1795 #, c-format msgid "You're now connected to VPN network '%s'" msgstr "Зараз ви з'єднані через мережу VPN «%s»" -#: ../js/ui/status/network.js:1799 +#: ../js/ui/status/network.js:1800 #, c-format msgid "You're now connected to '%s'" msgstr "Зараз ви з'єднані через «%s»" -#: ../js/ui/status/network.js:1807 +#: ../js/ui/status/network.js:1808 msgid "Connection established" msgstr "З'єднання встановлено" -#: ../js/ui/status/network.js:1929 +#: ../js/ui/status/network.js:1930 msgid "Networking is disabled" msgstr "Мережу вимкнено" -#: ../js/ui/status/network.js:2054 +#: ../js/ui/status/network.js:2055 msgid "Network Manager" msgstr "Керування мережею" @@ -1031,7 +1028,7 @@ msgstr "Планшет" msgid "Computer" msgstr "Комп'ютер" -#: ../js/ui/status/power.js:250 ../src/shell-app-system.c:961 +#: ../js/ui/status/power.js:250 ../src/shell-app-system.c:1088 msgid "Unknown" msgstr "Невідомо" @@ -1075,11 +1072,11 @@ msgstr "Відправити на %X в %A" #. in the search entry when no search is #. active; it should not exceed ~30 #. characters. -#: ../js/ui/viewSelector.js:119 +#: ../js/ui/viewSelector.js:122 msgid "Type to search..." msgstr "Введіть для пошуку…" -#: ../js/ui/viewSelector.js:139 ../src/shell-util.c:250 +#: ../js/ui/viewSelector.js:142 ../src/shell-util.c:250 msgid "Search" msgstr "Пошук" @@ -1117,20 +1114,20 @@ msgstr[2] "%u входів" msgid "System Sounds" msgstr "Системні звуки" -#: ../src/main.c:397 +#: ../src/main.c:438 msgid "Print version" msgstr "Показати версію" -#: ../src/shell-app.c:442 +#: ../src/shell-app.c:454 #, c-format msgid "Failed to launch '%s'" msgstr "Не вдалось запустити «%s»" -#: ../src/shell-global.c:1340 +#: ../src/shell-global.c:1395 msgid "Less than a minute ago" msgstr "Менше хвилини тому" -#: ../src/shell-global.c:1344 +#: ../src/shell-global.c:1399 #, c-format msgid "%d minute ago" msgid_plural "%d minutes ago" @@ -1138,7 +1135,7 @@ msgstr[0] "%d хвилина тому" msgstr[1] "%d хвилини тому" msgstr[2] "%d хвилин тому" -#: ../src/shell-global.c:1349 +#: ../src/shell-global.c:1404 #, c-format msgid "%d hour ago" msgid_plural "%d hours ago" @@ -1146,7 +1143,7 @@ msgstr[0] "%d година тому" msgstr[1] "%d години тому" msgstr[2] "%d годин тому" -#: ../src/shell-global.c:1354 +#: ../src/shell-global.c:1409 #, c-format msgid "%d day ago" msgid_plural "%d days ago" @@ -1154,7 +1151,7 @@ msgstr[0] "%d день тому" msgstr[1] "%d дні тому" msgstr[2] "%d днів тому" -#: ../src/shell-global.c:1359 +#: ../src/shell-global.c:1414 #, c-format msgid "%d week ago" msgid_plural "%d weeks ago" @@ -1194,6 +1191,24 @@ msgstr "Файлова система" msgid "%1$s: %2$s" msgstr "%1$s: %2$s" +#~ msgid "Shut Down" +#~ msgstr "Вимкнути" + +#~ msgid "Click Shut Down to quit these applications and shut down the system." +#~ msgstr "Натисніть «Вимкнути», щоб вийти з усіх програм і вимкнути систему." + +#~ msgid "The system will shut down automatically in %d seconds." +#~ msgstr "Систему буде вимкнено автоматично через %d секунд." + +#~ msgid "Shutting down the system." +#~ msgstr "Вимкнення системи." + +#~ msgid "Confirm" +#~ msgstr "Підтвердити" + +#~ msgid "Panel" +#~ msgstr "Панель" + #~ msgid "No such application" #~ msgstr "Нема такої програми" From 6c41d6b66a3f911cb1493d7886b832eafb85ed3d Mon Sep 17 00:00:00 2001 From: Runa Bhattacharjee Date: Wed, 23 Mar 2011 20:58:10 +0530 Subject: [PATCH 170/203] Updated Bengali India Translation --- po/bn_IN.po | 498 ++++++++++++++++++++++++++++------------------------ 1 file changed, 267 insertions(+), 231 deletions(-) diff --git a/po/bn_IN.po b/po/bn_IN.po index 997c7e61d..9bacf469a 100644 --- a/po/bn_IN.po +++ b/po/bn_IN.po @@ -9,7 +9,7 @@ msgstr "" "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug." "cgi?product=gnome-shell&keywords=I18N+L10N&component=general\n" "POT-Creation-Date: 2011-03-22 23:02+0000\n" -"PO-Revision-Date: 2011-03-23 12:36+0530\n" +"PO-Revision-Date: 2011-03-23 20:57+0530\n" "Last-Translator: \n" "Language-Team: Bengali (India) \n" "MIME-Version: 1.0\n" @@ -24,55 +24,62 @@ msgstr "GNOME Shell" #: ../data/gnome-shell.desktop.in.in.h:2 msgid "Window management and application launching" -msgstr "" +msgstr "উইন্ডো পরিচালনা ও অ্যাপ্লিকেশন প্রারম্ভ" #: ../data/org.gnome.shell.gschema.xml.in.h:1 msgid "" "Allows access to internal debugging and monitoring tools using the Alt-F2 " "dialog." msgstr "" +"Alt-F2 ডায়লগের মাধ্যমে ডিবাগিং ও নিরীক্ষণের জন্য ব্যবহৃত অভ্যন্তরীণ সরঞ্জাম " +"ব্যবহারের সুবিধা উপলব্ধ করা হবে।" #: ../data/org.gnome.shell.gschema.xml.in.h:2 msgid "Enable internal tools useful for developers and testers from Alt-F2" msgstr "" +"Alt-F2-র সাহায্যে ডিভেলর ও পরীক্ষকদের ব্যবহারযোগ্য সামগ্রী ব্যবহারের সুবিধা " +"উপলব্ধ করা হবে" #: ../data/org.gnome.shell.gschema.xml.in.h:3 msgid "File extension used for storing the screencast" -msgstr "" +msgstr "স্ক্রিন-কাস্ট সংরক্ষণের জন্য ব্যবহৃত ফাইল এক্সটেশন" #: ../data/org.gnome.shell.gschema.xml.in.h:4 msgid "Framerate used for recording screencasts." -msgstr "" +msgstr "স্ক্রিন-কাস্ট রেকর্ড করার জন্য ব্যবহৃত ফ্রেমের হার" #: ../data/org.gnome.shell.gschema.xml.in.h:5 msgid "" "GNOME Shell extensions have a uuid property; this key lists extensions which " "should not be loaded." msgstr "" +"GNOME Shell এক্সটেনশনের ক্ষেত্রে uuid বৈশিষ্ট্য উপস্থিত রয়েছে; যে সমস্ত " +"এক্সটেনশন লোড করা হবে না সেগুলি এই কি দ্বারা চিহ্নিত হবে।" #: ../data/org.gnome.shell.gschema.xml.in.h:6 msgid "History for command (Alt-F2) dialog" -msgstr "" +msgstr "কমান্ড (Alt-F2) ডায়লগের পূর্ববর্তী তথ্য" #: ../data/org.gnome.shell.gschema.xml.in.h:7 msgid "History for the looking glass dialog" -msgstr "" +msgstr "লুকিং-গ্লাস ডায়লগের পূর্ববর্তী তথ্য" #: ../data/org.gnome.shell.gschema.xml.in.h:8 msgid "If true, display date in the clock, in addition to time." -msgstr "" +msgstr "মান true(সত্য) হলে, ঘড়ির মধ্যে সময়ের সাথে তারিখ প্রদর্শন করা হবে।" #: ../data/org.gnome.shell.gschema.xml.in.h:9 msgid "If true, display seconds in time." -msgstr "" +msgstr "মান true(সত্য) হলে, সময়ের ক্ষেত্রে সেকেন্ড প্রদর্শন করা হয়।" #: ../data/org.gnome.shell.gschema.xml.in.h:10 msgid "If true, display the ISO week date in the calendar." msgstr "" +"মান true(সত্য) হলে, বর্ষপঞ্জির মধ্যে ISO সপ্তাহের তারিখ প্রদর্শন করা হবে।" #: ../data/org.gnome.shell.gschema.xml.in.h:11 msgid "List of desktop file IDs for favorite applications" -msgstr "" +msgstr "পছন্দসই অ্যাপ্লিকেশনগুলির জন্য ব্যবহৃত ডেস্কটপ ফাইলের ID" #: ../data/org.gnome.shell.gschema.xml.in.h:13 #, no-c-format @@ -88,24 +95,37 @@ msgid "" "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-এ ব্যবহৃত সিন্টেক্স ব্যবহার করা হয়। রেকর্ড করা ভিডিওটি রেকর্ড " +"জন্য পাইপ-লাইনের মধ্যে একটি বিচ্ছিন্ন সিংক-প্যাড উপস্থিত থাকা আবশ্যক। " +"সাধারণত একটি বিচ্ছিন্ন সিংক-প্যাড উপস্থিত থাকবে; এই প্যাড থেকে প্রাপ্ত " +"আউটপুটটি আউটপুট ফাইলের মধ্যে লেখা হবে। পাইপ-লাইন দ্বারা নিজের আউটপুট " +"ব্যবস্থাপনা করা হয় - এই বৈশিষ্ট্যের সাহায্যে আউটপুটটি shout2send-র মাধ্যমে " +"icecast সার্ভারে পাঠানো যাবে অথবা সমতূল্য ব্যবস্থাপন করা যাবে। ফাঁকা মান " +"নির্ধারিত হলে ডিফল্ট পাইপ-লাইন ব্যবহার করা হবে। বর্তমানে এটি 'videorate ! " +"vp8enc quality=10 speed=2 threads=%T ! queue ! webmmux' ও VP8 কোডেক সহ " +"WEBM-এ রেকর্ড করা হয়। সিস্টেমের সর্বোত্তম অনুমিত থ্রেড সংখ্যা ধারণের জন্য " +"%T প্রয়োগ করা হয়।" #: ../data/org.gnome.shell.gschema.xml.in.h:14 msgid "Show date in clock" -msgstr "" +msgstr "ঘড়ির মধ্যে তারিখ প্রদর্শন করা হবে" #: ../data/org.gnome.shell.gschema.xml.in.h:15 msgid "Show the week date in the calendar" -msgstr "" +msgstr "বর্ষপঞ্জির মধ্যে সপ্তাহের তারিখ প্রদর্শন করা হবে" #: ../data/org.gnome.shell.gschema.xml.in.h:16 msgid "Show time with seconds" -msgstr "" +msgstr "সেকেন্ড সহ সময় প্রদর্শন করা হবে" #: ../data/org.gnome.shell.gschema.xml.in.h:17 msgid "" "The applications corresponding to these identifiers will be displayed in the " "favorites area." msgstr "" +"এই আইডেন্টিফায়ার দ্বারা চিহ্নিত অ্যাপ্লিকেশনগুলি, পছন্দসই অ্যাপ্লিকেশনের " +"অংশে প্রদর্শন করা হবে।" #: ../data/org.gnome.shell.gschema.xml.in.h:18 msgid "" @@ -113,16 +133,21 @@ msgid "" "current date, and use this extension. It should be changed when recording to " "a different container format." msgstr "" +"রেকর্ড করার স্ক্রিন-কাস্টের ক্ষেত্রে ব্যবহারযোগ্য একটি স্বতন্ত্র ফাইলের নাম " +"গঠন করা হবে বর্তমান তারিখ প্রয়োগ করে ও এর সাথে এই এক্সটেনশন প্রয়োগ করুন। " +"ভিন্ন কনটেইনার বিন্যাসে রেকর্ড করার সময় এই এক্সটেনশন পরিবর্তন করা আবশ্যক।" #: ../data/org.gnome.shell.gschema.xml.in.h:19 msgid "" "The framerate of the resulting screencast recordered by GNOME Shell's " "screencast recorder in frames-per-second." msgstr "" +"GNOME Shell-র স্ক্রিন-কাস্ট রেকর্ডার সহযোগে রেকর্ড করার স্ক্রিন-কাস্টের " +"ফ্রেমের হার, ফ্রেম/সেকেন্ড হিসাবে।" #: ../data/org.gnome.shell.gschema.xml.in.h:20 msgid "The gstreamer pipeline used to encode the screencast" -msgstr "" +msgstr "স্ক্রিন-কাস্ট এনকোড করার জন্য ব্যবহৃত gstreamer পাইল-লাইন" #: ../data/org.gnome.shell.gschema.xml.in.h:21 msgid "" @@ -131,68 +156,72 @@ msgid "" "want to disable this for privacy reasons. Please note that doing so won't " "remove already saved data." msgstr "" +"সর্বাধিক ব্যবহৃত অ্যাপ্লিকেশনের তালিকা প্রদর্শনের জন্য shell দ্বারা সক্রিয় " +"অ্যাপ্লিকেশনের নিরীক্ষণ করা হয় (উদাহরণস্বরূপ, লঞ্চারের মধ্যে)। এই তথ্য গোপন " +"রাখা হলেও, অতিরিক্ত গোপনীয়তার জন্য এই বৈশিষ্ট্য নিষ্ক্রিয় করা যেতে পারে। " +"উল্লেখ্য, নিষ্ক্রিয় করার ফলে পূর্বে সংরক্ষিত তথ্য মুছে ফেলা হবে না।" #: ../data/org.gnome.shell.gschema.xml.in.h:22 msgid "Uuids of extensions to disable" -msgstr "" +msgstr "নিষ্ক্রিয় করার উদ্দেশ্যে চিহ্নিত এক্সটেনশনের uuid" #: ../data/org.gnome.shell.gschema.xml.in.h:23 msgid "Whether to collect stats about applications usage" -msgstr "" +msgstr "অ্যাপ্লিকেশনের ব্যবহার সম্পর্কিত পরিসংখ্যান সংগ্রহ করা হবে কি না" #: ../data/org.gnome.shell.gschema.xml.in.h:24 msgid "disabled OpenSearch providers" -msgstr "" +msgstr "নিষ্ক্রিয় OpenSearch উপলব্ধকারী" #: ../js/misc/util.js:71 msgid "Command not found" -msgstr "" +msgstr "কমান্ড পাওয়া যায়নি" #. Replace "Error invoking GLib.shell_parse_argv: " with #. something nicer #: ../js/misc/util.js:98 msgid "Could not parse command:" -msgstr "" +msgstr "কমান্ড পার্স করতে ব্যর্থ" #: ../js/misc/util.js:106 #, c-format msgid "Execution of '%s' failed:" -msgstr "" +msgstr "'%s' সঞ্চালন করতে ব্যর্থ:" #. Translators: Filter to display all applications #: ../js/ui/appDisplay.js:230 msgid "All" -msgstr "" +msgstr "সকল" #: ../js/ui/appDisplay.js:328 msgid "APPLICATIONS" -msgstr "" +msgstr "APPLICATIONS" #: ../js/ui/appDisplay.js:354 msgid "SETTINGS" -msgstr "" +msgstr "SETTINGS" #: ../js/ui/appDisplay.js:625 msgid "New Window" -msgstr "" +msgstr "নতুন উইন্ডো" #: ../js/ui/appDisplay.js:628 msgid "Remove from Favorites" -msgstr "" +msgstr "পছন্দের তালিকা থেকে সরিয়ে ফেলুন" #: ../js/ui/appDisplay.js:629 msgid "Add to Favorites" -msgstr "" +msgstr "পছন্দের তালিকায় যোগ করুন" #: ../js/ui/appFavorites.js:91 #, c-format msgid "%s has been added to your favorites." -msgstr "" +msgstr "আপনার পছন্দের তালিকার মধ্যে %s-কে যোগ করা হয়েছে" #: ../js/ui/appFavorites.js:122 #, c-format msgid "%s has been removed from your favorites." -msgstr "" +msgstr "আপনার পছন্দের তালিকা থেকে %s-কে সরিয়ে ফেলা হয়েছে।" #. Translators: Shown in calendar event list for all day events #. * Keep it short, best if you can use less then 10 characters @@ -200,19 +229,19 @@ msgstr "" #: ../js/ui/calendar.js:66 msgctxt "event list time" msgid "All Day" -msgstr "" +msgstr "সারাদিন" #. Translators: Shown in calendar event list, if 24h format #: ../js/ui/calendar.js:71 msgctxt "event list time" msgid "%H:%M" -msgstr "" +msgstr "%H:%M" #. Transators: Shown in calendar event list, if 12h format #: ../js/ui/calendar.js:78 msgctxt "event list time" msgid "%l:%M %p" -msgstr "" +msgstr "%l:%M %p" #. Translators: Calendar grid abbreviation for Sunday. #. * @@ -222,43 +251,43 @@ msgstr "" #: ../js/ui/calendar.js:118 msgctxt "grid sunday" msgid "S" -msgstr "" +msgstr "র" #. Translators: Calendar grid abbreviation for Monday #: ../js/ui/calendar.js:120 msgctxt "grid monday" msgid "M" -msgstr "" +msgstr "সো" #. Translators: Calendar grid abbreviation for Tuesday #: ../js/ui/calendar.js:122 msgctxt "grid tuesday" msgid "T" -msgstr "" +msgstr "ম" #. Translators: Calendar grid abbreviation for Wednesday #: ../js/ui/calendar.js:124 msgctxt "grid wednesday" msgid "W" -msgstr "" +msgstr "বু" #. Translators: Calendar grid abbreviation for Thursday #: ../js/ui/calendar.js:126 msgctxt "grid thursday" msgid "T" -msgstr "" +msgstr "বৃ" #. Translators: Calendar grid abbreviation for Friday #: ../js/ui/calendar.js:128 msgctxt "grid friday" msgid "F" -msgstr "" +msgstr "শু" #. Translators: Calendar grid abbreviation for Saturday #: ../js/ui/calendar.js:130 msgctxt "grid saturday" msgid "S" -msgstr "" +msgstr "শ" #. Translators: Event list abbreviation for Sunday. #. * @@ -269,294 +298,300 @@ msgstr "" #: ../js/ui/calendar.js:143 msgctxt "list sunday" msgid "Su" -msgstr "" +msgstr "রবি" #. Translators: Event list abbreviation for Monday #: ../js/ui/calendar.js:145 msgctxt "list monday" msgid "M" -msgstr "" +msgstr "সো" #. Translators: Event list abbreviation for Tuesday #: ../js/ui/calendar.js:147 msgctxt "list tuesday" msgid "T" -msgstr "" +msgstr "ম" #. Translators: Event list abbreviation for Wednesday #: ../js/ui/calendar.js:149 msgctxt "list wednesday" msgid "W" -msgstr "" +msgstr "বু" #. Translators: Event list abbreviation for Thursday #: ../js/ui/calendar.js:151 msgctxt "list thursday" msgid "Th" -msgstr "" +msgstr "বৃহ" #. Translators: Event list abbreviation for Friday #: ../js/ui/calendar.js:153 msgctxt "list friday" msgid "F" -msgstr "" +msgstr "শু" #. Translators: Event list abbreviation for Saturday #: ../js/ui/calendar.js:155 msgctxt "list saturday" msgid "S" -msgstr "" +msgstr "শ" #. Translators: Text to show if there are no events #: ../js/ui/calendar.js:704 msgid "Nothing Scheduled" -msgstr "" +msgstr "কিছুই নির্ধারিত হয়নি" #. Translators: Shown on calendar heading when selected day occurs on current year #: ../js/ui/calendar.js:720 msgctxt "calendar heading" msgid "%A, %B %d" -msgstr "" +msgstr "%A, %B %d" #. Translators: Shown on calendar heading when selected day occurs on different year #: ../js/ui/calendar.js:723 msgctxt "calendar heading" msgid "%A, %B %d, %Y" -msgstr "" +msgstr "%A, %B %d, %Y" #: ../js/ui/calendar.js:733 msgid "Today" -msgstr "" +msgstr "আজ" #: ../js/ui/calendar.js:737 msgid "Tomorrow" -msgstr "" +msgstr "আগামীকাল" #: ../js/ui/calendar.js:746 msgid "This week" -msgstr "" +msgstr "এই সপ্তাহ" #: ../js/ui/calendar.js:754 msgid "Next week" -msgstr "" +msgstr "পরবর্তী সপ্তাহ" #: ../js/ui/dash.js:174 ../js/ui/messageTray.js:994 msgid "Remove" -msgstr "" +msgstr "সরিয়ে ফেলুন" #: ../js/ui/dateMenu.js:91 msgid "Date and Time Settings" -msgstr "" +msgstr "তারিখ ও সময় সংক্রান্ত বৈশিষ্ট্য" #: ../js/ui/dateMenu.js:111 msgid "Open Calendar" -msgstr "" +msgstr "বর্ষপঞ্জি খুলুন" #. Translators: This is the time format with date used #. in 24-hour mode. #: ../js/ui/dateMenu.js:164 msgid "%a %b %e, %R:%S" -msgstr "" +msgstr "%a %b %e, %R:%S" #: ../js/ui/dateMenu.js:165 msgid "%a %b %e, %R" -msgstr "" +msgstr "%a %b %e, %R" #. Translators: This is the time format without date used #. in 24-hour mode. #: ../js/ui/dateMenu.js:169 msgid "%a %R:%S" -msgstr "" +msgstr "%a %R:%S" #: ../js/ui/dateMenu.js:170 msgid "%a %R" -msgstr "" +msgstr "%a %R" #. Translators: This is a time format with date used #. for AM/PM. #: ../js/ui/dateMenu.js:177 msgid "%a %b %e, %l:%M:%S %p" -msgstr "" +msgstr "%a %b %e, %l:%M:%S %p" #: ../js/ui/dateMenu.js:178 msgid "%a %b %e, %l:%M %p" -msgstr "" +msgstr "%a %b %e, %l:%M %p" #. Translators: This is a time format without date used #. for AM/PM. #: ../js/ui/dateMenu.js:182 msgid "%a %l:%M:%S %p" -msgstr "" +msgstr "%a %l:%M:%S %p" #: ../js/ui/dateMenu.js:183 msgid "%a %l:%M %p" -msgstr "" +msgstr "%a %l:%M %p" #. Translators: This is the date format to use when the calendar popup is #. * shown - it is shown just below the time in the shell (e.g. "Tue 9:29 AM"). #. #: ../js/ui/dateMenu.js:194 msgid "%A %B %e, %Y" -msgstr "" +msgstr "%A %B %e, %Y" #: ../js/ui/docDisplay.js:19 msgid "RECENT ITEMS" -msgstr "" +msgstr "RECENT ITEMS" #: ../js/ui/endSessionDialog.js:63 #, c-format msgid "Log Out %s" -msgstr "" +msgstr "%s প্রস্থান করুন" #: ../js/ui/endSessionDialog.js:64 ../js/ui/endSessionDialog.js:70 msgid "Log Out" -msgstr "" +msgstr "প্রস্থান করুন" #: ../js/ui/endSessionDialog.js:65 msgid "Click Log Out to quit these applications and log out of the system." msgstr "" +"এই অ্যাপ্লিকেশনগুলি বন্ধ করে সিস্টেম থেকে লগ-আউট করার জন্য 'প্রস্থান করুন' " +"ক্লিক করুন।" #: ../js/ui/endSessionDialog.js:66 #, c-format msgid "%s will be logged out automatically in %d seconds." -msgstr "" +msgstr "%s-কে %d সেকেন্ডের পরে স্বয়ংক্রিয়ভাবে লগ-আউট করা হবে।" #: ../js/ui/endSessionDialog.js:67 #, c-format msgid "You will be logged out automatically in %d seconds." -msgstr "" +msgstr "%d সেকেন্ডের পরে স্বয়ংক্রিয়ভাবে আপনাকে লগ-আউট করা হবে।" #: ../js/ui/endSessionDialog.js:68 msgid "Logging out of the system." -msgstr "" +msgstr "সিস্টেম থেকে লগ-আউট করা হচ্ছে।" #: ../js/ui/endSessionDialog.js:75 ../js/ui/endSessionDialog.js:82 msgid "Power Off" -msgstr "" +msgstr "বন্ধ করুন" #: ../js/ui/endSessionDialog.js:76 msgid "Click Power Off to quit these applications and power off the system." msgstr "" +"এই অ্যাপ্লিকেশনগুলি থেকে প্রস্থান করে সিস্টেম বন্ধ করার জন্য 'বন্ধ করুন' " +"ক্লিক করুন।" #: ../js/ui/endSessionDialog.js:77 #, c-format msgid "The system will power off automatically in %d seconds." -msgstr "" +msgstr "%d সেকেন্ডের পরে স্বয়ংক্রিয়ভাবে সিস্টেমটি বন্ধ করা হবে।" #: ../js/ui/endSessionDialog.js:78 msgid "Powering off the system." -msgstr "" +msgstr "সিস্টেম বন্ধ করা হচ্ছে।" #: ../js/ui/endSessionDialog.js:80 ../js/ui/endSessionDialog.js:88 #: ../js/ui/endSessionDialog.js:93 msgid "Restart" -msgstr "" +msgstr "পুনরারম্ভ" #: ../js/ui/endSessionDialog.js:89 msgid "Click Restart to quit these applications and restart the system." msgstr "" +"এই অ্যাপ্লিকেশনগুলি থেকে প্রস্থান করে সিস্টেম পুনরায় আরম্ভ করার জন্য " +"'পুনরারম্ভ' ক্লিক করুন।" #: ../js/ui/endSessionDialog.js:90 #, c-format msgid "The system will restart automatically in %d seconds." -msgstr "" +msgstr "%d সেকেন্ডের পরে স্বয়ংক্রিয়ভাবে সিস্টেমটি পুনরায় আরম্ভ করা হবে।" #: ../js/ui/endSessionDialog.js:91 msgid "Restarting the system." -msgstr "" +msgstr "সিস্টেম পুনরায় আরম্ভ করা হচ্ছে।" #: ../js/ui/endSessionDialog.js:415 ../js/ui/status/bluetooth.js:466 msgid "Cancel" -msgstr "" +msgstr "বাতিল" #: ../js/ui/lookingGlass.js:588 msgid "No extensions installed" -msgstr "" +msgstr "কোনো এক্সটেনশন ইনস্টল করা হয়নি" #: ../js/ui/lookingGlass.js:625 msgid "Enabled" -msgstr "" +msgstr "সক্রিয়" #. translators: #. * The device has been disabled #: ../js/ui/lookingGlass.js:627 ../src/gvc/gvc-mixer-control.c:1091 msgid "Disabled" -msgstr "" +msgstr "নিষ্ক্রিয়" #: ../js/ui/lookingGlass.js:629 msgid "Error" -msgstr "" +msgstr "ত্রুটি" #: ../js/ui/lookingGlass.js:631 msgid "Out of date" -msgstr "" +msgstr "মেয়াদ উত্তীর্ণ" #: ../js/ui/lookingGlass.js:656 msgid "View Source" -msgstr "" +msgstr "উৎস প্রদর্শন" #: ../js/ui/lookingGlass.js:662 msgid "Web Page" -msgstr "" +msgstr "ওয়েব পেজ" #: ../js/ui/messageTray.js:987 msgid "Open" -msgstr "" +msgstr "খুলুন" #: ../js/ui/messageTray.js:2145 msgid "System Information" -msgstr "" +msgstr "সিস্টেম সংক্রান্ত তথ্য" #: ../js/ui/overview.js:91 msgid "Undo" -msgstr "" +msgstr "পূর্বাবস্থা" #: ../js/ui/overview.js:186 msgid "Windows" -msgstr "" +msgstr "উইন্ডো" #: ../js/ui/overview.js:189 msgid "Applications" -msgstr "" +msgstr "অ্যাপ্লিকেশন" #. Translators: this is the name of the dock/favorites area on #. the left of the overview #: ../js/ui/overview.js:205 msgid "Dash" -msgstr "" +msgstr "ড্যাশ" #. TODO - _quit() doesn't really work on apps in state STARTING yet #: ../js/ui/panel.js:515 #, c-format msgid "Quit %s" -msgstr "" +msgstr "%s থেকে প্রস্থান করুন" #. Button on the left side of the panel. #. Translators: If there is no suitable word for "Activities" in your language, you can use the word for "Overview". #: ../js/ui/panel.js:878 msgid "Activities" -msgstr "" +msgstr "কর্ম" #: ../js/ui/panel.js:979 msgid "Top Bar" -msgstr "" +msgstr "উপরের বার" #: ../js/ui/placeDisplay.js:122 #, c-format msgid "Failed to unmount '%s'" -msgstr "" +msgstr "'%s' আন-মাউন্ট করতে ব্যর্থ" #: ../js/ui/placeDisplay.js:125 msgid "Retry" -msgstr "" +msgstr "পুনঃপ্রচেষ্টা" #: ../js/ui/placeDisplay.js:165 msgid "Connect to..." -msgstr "" +msgstr "চিহ্নিত বস্তুর সাথে সংযোগ স্থাপন করুন..." #: ../js/ui/placeDisplay.js:380 msgid "PLACES & DEVICES" -msgstr "" +msgstr "PLACES & DEVICES" #. Translators: this MUST be either "toggle-switch-us" #. (for toggle switches containing the English words @@ -565,59 +600,59 @@ msgstr "" #. simply result in invisible toggle switches. #: ../js/ui/popupMenu.js:679 msgid "toggle-switch-us" -msgstr "" +msgstr "toggle-switch-us" #: ../js/ui/runDialog.js:205 msgid "Please enter a command:" -msgstr "" +msgstr "অনুগ্রহ করে একটি কমান্ড লিখুন:" #: ../js/ui/searchDisplay.js:310 msgid "Searching..." -msgstr "" +msgstr "অনুসন্ধান করা হচ্ছে..." #: ../js/ui/searchDisplay.js:324 msgid "No matching results." -msgstr "" +msgstr "কোনো মিল পাওয়া যায়নি।" #: ../js/ui/statusMenu.js:161 ../js/ui/statusMenu.js:228 msgid "Power Off..." -msgstr "" +msgstr "বন্ধ করুন..." #: ../js/ui/statusMenu.js:163 ../js/ui/statusMenu.js:227 msgid "Suspend" -msgstr "" +msgstr "স্থগিত করুন" #: ../js/ui/statusMenu.js:184 msgid "Available" -msgstr "" +msgstr "উপলব্ধ" #: ../js/ui/statusMenu.js:189 msgid "Busy" -msgstr "" +msgstr "ব্যস্ত" #: ../js/ui/statusMenu.js:197 msgid "My Account" -msgstr "" +msgstr "আমার অ্যাকাউন্ট" #: ../js/ui/statusMenu.js:201 msgid "System Settings" -msgstr "" +msgstr "সিস্টেমের বৈশিষ্ট্য" #: ../js/ui/statusMenu.js:208 msgid "Lock Screen" -msgstr "" +msgstr "পর্দা লক করুন" #: ../js/ui/statusMenu.js:213 msgid "Switch User" -msgstr "" +msgstr "ব্যবহারকারী পরিবর্তন" #: ../js/ui/statusMenu.js:218 msgid "Log Out..." -msgstr "" +msgstr "প্রস্থান..." #: ../js/ui/status/accessibility.js:62 msgid "Zoom" -msgstr "" +msgstr "বড় মাপে প্রদর্শন" #. let screenReader = this._buildItem(_("Screen Reader"), APPLICATIONS_SCHEMA, #. 'screen-reader-enabled'); @@ -627,404 +662,404 @@ msgstr "" #. this.menu.addMenuItem(screenKeyboard); #: ../js/ui/status/accessibility.js:77 msgid "Visual Alerts" -msgstr "" +msgstr "দৃশ্যমান সূচনা" #: ../js/ui/status/accessibility.js:80 msgid "Sticky Keys" -msgstr "" +msgstr "স্টিকি-কি" #: ../js/ui/status/accessibility.js:83 msgid "Slow Keys" -msgstr "" +msgstr "ধীর-কি" #: ../js/ui/status/accessibility.js:86 msgid "Bounce Keys" -msgstr "" +msgstr "বাউন্স-কি" #: ../js/ui/status/accessibility.js:89 msgid "Mouse Keys" -msgstr "" +msgstr "মাউস-কি" #: ../js/ui/status/accessibility.js:93 msgid "Universal Access Settings" -msgstr "" +msgstr "সার্বজনীন ব্যবহারের বৈশিষ্ট্য" #: ../js/ui/status/accessibility.js:146 msgid "High Contrast" -msgstr "" +msgstr "উচ্চ মাত্রার বৈপরিত্য" #: ../js/ui/status/accessibility.js:183 msgid "Large Text" -msgstr "" +msgstr "বড় মাপের হরফ" #: ../js/ui/status/bluetooth.js:42 ../js/ui/status/bluetooth.js:237 #: ../js/ui/status/bluetooth.js:333 ../js/ui/status/bluetooth.js:367 #: ../js/ui/status/bluetooth.js:407 ../js/ui/status/bluetooth.js:440 msgid "Bluetooth" -msgstr "" +msgstr "ব্লু-টুথ" #: ../js/ui/status/bluetooth.js:55 msgid "Visibility" -msgstr "" +msgstr "দৃশ্যমান" #: ../js/ui/status/bluetooth.js:69 msgid "Send Files to Device..." -msgstr "" +msgstr "ডিভাইসের মধ্যে ফাইল পাঠান..." #: ../js/ui/status/bluetooth.js:70 msgid "Setup a New Device..." -msgstr "" +msgstr "নতুন ডিভাইস প্রস্তুত করুন..." #: ../js/ui/status/bluetooth.js:95 msgid "Bluetooth Settings" -msgstr "" +msgstr "ব্লু-টুথ সংক্রান্ত বৈশিষ্ট্য" #: ../js/ui/status/bluetooth.js:188 msgid "Connection" -msgstr "" +msgstr "সংযোগ" #: ../js/ui/status/bluetooth.js:224 msgid "Send Files..." -msgstr "" +msgstr "ফাইল পাঠিয়ে দিন..." #: ../js/ui/status/bluetooth.js:229 msgid "Browse Files..." -msgstr "" +msgstr "ফাইল ব্রাউজ করুন..." #: ../js/ui/status/bluetooth.js:238 msgid "Error browsing device" -msgstr "" +msgstr "ডিভাইস ব্রাউজ করতে ত্রুটি" #: ../js/ui/status/bluetooth.js:239 #, c-format msgid "The requested device cannot be browsed, error is '%s'" -msgstr "" +msgstr "অনুরোধ করা ডিভাইসটি ব্রাউজ করা যায়নি, '%s' ত্রুটি দেখা দিয়েছে" #: ../js/ui/status/bluetooth.js:247 msgid "Keyboard Settings" -msgstr "" +msgstr "কি-বোর্ড সংক্রান্ত বৈশিষ্ট্য" #: ../js/ui/status/bluetooth.js:252 msgid "Mouse Settings" -msgstr "" +msgstr "মাউস সংক্রান্ত বৈশিষ্ট্য" #: ../js/ui/status/bluetooth.js:259 ../js/ui/status/volume.js:66 msgid "Sound Settings" -msgstr "" +msgstr "শব্দ সংক্রান্ত বৈশিষ্ট্য" #: ../js/ui/status/bluetooth.js:368 #, c-format msgid "Authorization request from %s" -msgstr "" +msgstr "%s থেকে প্রাপ্র অনুমোদনের অনুরোধ" #: ../js/ui/status/bluetooth.js:374 #, c-format msgid "Device %s wants access to the service '%s'" -msgstr "" +msgstr "%s ডিভাইস দ্বারা '%s' পরিসেবা ব্যবহারের অনুরোধ করা হচ্ছে" #: ../js/ui/status/bluetooth.js:376 msgid "Always grant access" -msgstr "" +msgstr "সর্বদা অনুমতি প্রদান করা হবে" #: ../js/ui/status/bluetooth.js:377 msgid "Grant this time only" -msgstr "" +msgstr "শুধুমাত্র এইবার প্রদান করা হবে" #: ../js/ui/status/bluetooth.js:378 msgid "Reject" -msgstr "" +msgstr "প্রত্যাখ্যান করুন" #: ../js/ui/status/bluetooth.js:408 #, c-format msgid "Pairing confirmation for %s" -msgstr "" +msgstr "%s-র জন্য জুটি নির্মাণের নিশ্চিতি" #: ../js/ui/status/bluetooth.js:414 ../js/ui/status/bluetooth.js:448 #, c-format msgid "Device %s wants to pair with this computer" -msgstr "" +msgstr "%s ডিভাইসটি এই কম্পিউটারের সাথে " #: ../js/ui/status/bluetooth.js:415 #, c-format msgid "Please confirm whether the PIN '%s' matches the one on the device." -msgstr "" +msgstr "PIN '%s'-টি এই ডিভাইসের সাথে মিলছে কি না তা নিশ্চিত করুন।" #: ../js/ui/status/bluetooth.js:417 msgid "Matches" -msgstr "" +msgstr "মিল পাওয়া গিয়েছে" #: ../js/ui/status/bluetooth.js:418 msgid "Does not match" -msgstr "" +msgstr "মিল পাওয়া যায়নি" #: ../js/ui/status/bluetooth.js:441 #, c-format msgid "Pairing request for %s" -msgstr "" +msgstr "%s-র জন্য জুটি তৈরির অনুরোধ" #: ../js/ui/status/bluetooth.js:449 msgid "Please enter the PIN mentioned on the device." -msgstr "" +msgstr "অনুগ্রহ করে ডিভাইসে উল্লিখি PIN লিখুন।" #: ../js/ui/status/bluetooth.js:465 msgid "OK" -msgstr "" +msgstr "OK" #: ../js/ui/status/keyboard.js:73 msgid "Show Keyboard Layout..." -msgstr "" +msgstr "কি-বোর্ড বিন্যাস প্রদর্শন করা হবে..." #: ../js/ui/status/keyboard.js:76 msgid "Localization Settings" -msgstr "" +msgstr "স্থানীয়করণ সংক্রান্ত বৈশিষ্ট্য" #: ../js/ui/status/network.js:102 ../js/ui/status/network.js:1393 msgid "" -msgstr "" +msgstr "" #. Translators: this indicates that wireless or wwan is disabled by hardware killswitch #: ../js/ui/status/network.js:295 msgid "disabled" -msgstr "" +msgstr "নিষ্ক্রিয়" #: ../js/ui/status/network.js:476 msgid "connecting..." -msgstr "" +msgstr "সংযোগ করা হচ্ছে..." #. Translators: this is for network connections that require some kind of key or password #: ../js/ui/status/network.js:479 msgid "authentication required" -msgstr "" +msgstr "অনুমোদন প্রয়োজন" #. Translators: this is for wired network devices that are physically disconnected #: ../js/ui/status/network.js:485 msgid "cable unplugged" -msgstr "" +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:489 msgid "unavailable" -msgstr "" +msgstr "উপলব্ধ নয়" #: ../js/ui/status/network.js:491 msgid "connection failed" -msgstr "" +msgstr "সংযোগ বিফল" #. TRANSLATORS: this is the indication that a connection for another logged in user is active, #. and we cannot access its settings (including the name) #: ../js/ui/status/network.js:571 ../js/ui/status/network.js:1341 msgid "Connected (private)" -msgstr "" +msgstr "সংযুক্ত (ব্যক্তিগত)" #: ../js/ui/status/network.js:636 msgid "Auto Ethernet" -msgstr "" +msgstr "স্বয়ংক্রিয় ইথারনেট" #: ../js/ui/status/network.js:697 msgid "Auto broadband" -msgstr "" +msgstr "স্বয়ংক্রিয় ব্রডব্যান্ড" #: ../js/ui/status/network.js:700 msgid "Auto dial-up" -msgstr "" +msgstr "স্বয়ংক্রিয় ডায়াল-আপ" #. TRANSLATORS: this the automatic wireless connection name (including the network name) #: ../js/ui/status/network.js:843 ../js/ui/status/network.js:1353 #, c-format msgid "Auto %s" -msgstr "" +msgstr "স্বয়ংক্রিয় %s" #: ../js/ui/status/network.js:845 msgid "Auto bluetooth" -msgstr "" +msgstr "স্বয়ংক্রিয় ব্লু-টুথ" #: ../js/ui/status/network.js:1355 msgid "Auto wireless" -msgstr "" +msgstr "স্বয়ংক্রিয় বেতার" #: ../js/ui/status/network.js:1413 msgid "More..." -msgstr "" +msgstr "অতিরিক্ত..." #: ../js/ui/status/network.js:1436 msgid "Enable networking" -msgstr "" +msgstr "নেটওয়ার্ক সক্রিয় করুন" #: ../js/ui/status/network.js:1448 msgid "Wired" -msgstr "" +msgstr "তারযুক্ত" #: ../js/ui/status/network.js:1459 msgid "Wireless" -msgstr "" +msgstr "বেতার" #: ../js/ui/status/network.js:1469 msgid "Mobile broadband" -msgstr "" +msgstr "মোবাইল ব্রড-ব্যান্ড" #: ../js/ui/status/network.js:1479 msgid "VPN Connections" -msgstr "" +msgstr "VPN সংযোগ" #: ../js/ui/status/network.js:1488 msgid "Network Settings" -msgstr "" +msgstr "নেটওয়ার্ক সংক্রান্ত বৈশিষ্ট্য" #: ../js/ui/status/network.js:1783 #, c-format msgid "You're now connected to mobile broadband connection '%s'" -msgstr "" +msgstr "মোবাইল ব্রড-ব্যান্ড সংযোগ '%s' বর্তমানে সক্রিয়" #: ../js/ui/status/network.js:1787 #, c-format msgid "You're now connected to wireless network '%s'" -msgstr "" +msgstr "বেতার নেটওয়ার্ক সংযোগ '%s' বর্তমানে সক্রিয়" #: ../js/ui/status/network.js:1791 #, c-format msgid "You're now connected to wired network '%s'" -msgstr "" +msgstr "তারযুক্ত নেটওয়ার্ক সংযোগ '%s' বর্তমানে সক্রিয়" #: ../js/ui/status/network.js:1795 #, c-format msgid "You're now connected to VPN network '%s'" -msgstr "" +msgstr "VPN নেটওয়ার্ক সংযোগ '%s' বর্তমানে সক্রিয়" #: ../js/ui/status/network.js:1800 #, c-format msgid "You're now connected to '%s'" -msgstr "" +msgstr "'%s' সংযোগ বর্তমানে সক্রিয়" #: ../js/ui/status/network.js:1808 msgid "Connection established" -msgstr "" +msgstr "সংযোগ স্থাপিত হয়েছে" #: ../js/ui/status/network.js:1930 msgid "Networking is disabled" -msgstr "" +msgstr "নেটওয়ার্ক নিষ্ক্রিয় রয়েছে" #: ../js/ui/status/network.js:2055 msgid "Network Manager" -msgstr "" +msgstr "Network Manager" #: ../js/ui/status/power.js:85 msgid "Power Settings" -msgstr "" +msgstr "বিদ্যুৎ পরিচালনা সংক্রান্ত বৈশিষ্ট্য" #. 0 is reported when UPower does not have enough data #. to estimate battery life #: ../js/ui/status/power.js:111 msgid "Estimating..." -msgstr "" +msgstr "গণনা করা হচ্ছে..." #: ../js/ui/status/power.js:118 #, c-format msgid "%d hour remaining" msgid_plural "%d hours remaining" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "%d ঘন্টা অবশিষ্ট" +msgstr[1] "%d ঘন্টা অবশিষ্ট" #. TRANSLATORS: this is a time string, as in "%d hours %d minutes remaining" #: ../js/ui/status/power.js:121 #, c-format msgid "%d %s %d %s remaining" -msgstr "" +msgstr "%d %s %d %s অবশিষ্ট" #: ../js/ui/status/power.js:123 msgid "hour" msgid_plural "hours" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "ঘন্টা" +msgstr[1] "ঘন্টা" #: ../js/ui/status/power.js:123 msgid "minute" msgid_plural "minutes" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "মিনিট" +msgstr[1] "মিনিট" #: ../js/ui/status/power.js:126 #, c-format msgid "%d minute remaining" msgid_plural "%d minutes remaining" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "%d মিনিট অবশিষ্ট" +msgstr[1] "%d মিনিট অবশিষ্ট" #: ../js/ui/status/power.js:228 msgid "AC adapter" -msgstr "" +msgstr "AC অ্যাডাপ্টার" #: ../js/ui/status/power.js:230 msgid "Laptop battery" -msgstr "" +msgstr "ল্যাপটপ ব্যাটারি" #: ../js/ui/status/power.js:232 msgid "UPS" -msgstr "" +msgstr "UPS" #: ../js/ui/status/power.js:234 msgid "Monitor" -msgstr "" +msgstr "মনিটর" #: ../js/ui/status/power.js:236 msgid "Mouse" -msgstr "" +msgstr "মাউস" #: ../js/ui/status/power.js:238 msgid "Keyboard" -msgstr "" +msgstr "কি-বোর্ড" #: ../js/ui/status/power.js:240 msgid "PDA" -msgstr "" +msgstr "PDA" #: ../js/ui/status/power.js:242 msgid "Cell phone" -msgstr "" +msgstr "সেল ফোন" #: ../js/ui/status/power.js:244 msgid "Media player" -msgstr "" +msgstr "মিডিয়া প্লেয়ার" #: ../js/ui/status/power.js:246 msgid "Tablet" -msgstr "" +msgstr "ট্যাবলেট" #: ../js/ui/status/power.js:248 msgid "Computer" -msgstr "" +msgstr "কম্পিউটার" #: ../js/ui/status/power.js:250 ../src/shell-app-system.c:1088 msgid "Unknown" -msgstr "" +msgstr "অজানা" #: ../js/ui/status/volume.js:45 msgid "Volume" -msgstr "" +msgstr "ভলিউম" #: ../js/ui/status/volume.js:58 msgid "Microphone" -msgstr "" +msgstr "মাইক্রোফোন" #: ../js/ui/telepathyClient.js:332 #, c-format msgid "%s is online." -msgstr "" +msgstr "%s বর্তমানে অন-লাইন।" #: ../js/ui/telepathyClient.js:337 #, c-format msgid "%s is offline." -msgstr "" +msgstr "%s বর্তমানে অফ-লাইন" #: ../js/ui/telepathyClient.js:340 #, c-format msgid "%s is away." -msgstr "" +msgstr "%s বর্তমানে অনুপস্থিত।" #: ../js/ui/telepathyClient.js:343 #, c-format msgid "%s is busy." -msgstr "" +msgstr "%s বর্তমানে ব্যস্ত।" #. Translators: this is a time format string followed by a date. #. If applicable, replace %X with a strftime format valid for your @@ -1032,7 +1067,7 @@ msgstr "" #: ../js/ui/telepathyClient.js:474 #, no-c-format msgid "Sent at %X on %A" -msgstr "" +msgstr "%X-এ %A-র মধ্যে পাঠানো হয়েছে" #. Translators: this is the text displayed #. in the search entry when no search is @@ -1040,21 +1075,21 @@ msgstr "" #. characters. #: ../js/ui/viewSelector.js:122 msgid "Type to search..." -msgstr "" +msgstr "অনুসন্ধান করার জন্য লিখুন..." #: ../js/ui/viewSelector.js:142 ../src/shell-util.c:250 msgid "Search" -msgstr "" +msgstr "অনুসন্ধান করুন" #: ../js/ui/windowAttentionHandler.js:42 #, c-format msgid "%s has finished starting" -msgstr "" +msgstr "%s আরম্ভ হয়েছে" #: ../js/ui/windowAttentionHandler.js:44 #, c-format msgid "'%s' is ready" -msgstr "" +msgstr "'%s' প্রস্তুত" #. translators: #. * The number of sound outputs on a particular device @@ -1062,8 +1097,8 @@ msgstr "" #, c-format msgid "%u Output" msgid_plural "%u Outputs" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "%u আউটপুট" +msgstr[1] "%u আউটপুট" #. translators: #. * The number of sound inputs on a particular device @@ -1071,75 +1106,75 @@ msgstr[1] "" #, c-format msgid "%u Input" msgid_plural "%u Inputs" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "%u ইনপুট" +msgstr[1] "%u ইনপুট" #: ../src/gvc/gvc-mixer-control.c:1406 msgid "System Sounds" -msgstr "" +msgstr "সিস্টেমের শব্দ" #: ../src/main.c:438 msgid "Print version" -msgstr "" +msgstr "সংস্করণ প্রদর্শন করা হবে" #: ../src/shell-app.c:454 #, c-format msgid "Failed to launch '%s'" -msgstr "" +msgstr "'%s' আরম্ভ করতে ব্যর্থ" #: ../src/shell-global.c:1395 msgid "Less than a minute ago" -msgstr "" +msgstr "এক মিনিটের কম সময় পূর্বে" #: ../src/shell-global.c:1399 #, c-format msgid "%d minute ago" msgid_plural "%d minutes ago" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "%d মিনিট পূর্বে" +msgstr[1] "%d মিনিট পূর্বে" #: ../src/shell-global.c:1404 #, c-format msgid "%d hour ago" msgid_plural "%d hours ago" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "%d ঘন্টা পূর্বে" +msgstr[1] "%d ঘন্টা পূর্বে" #: ../src/shell-global.c:1409 #, c-format msgid "%d day ago" msgid_plural "%d days ago" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "%d দিন পূর্বে" +msgstr[1] "%d দিন পূর্বে" #: ../src/shell-global.c:1414 #, c-format msgid "%d week ago" msgid_plural "%d weeks ago" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "%d সপ্তাহ পূর্বে" +msgstr[1] "%d সপ্তাহ পূর্বে" #: ../src/shell-mobile-providers.c:80 msgid "United Kingdom" -msgstr "" +msgstr "যুক্তরাজ্য" #: ../src/shell-mobile-providers.c:526 msgid "Default" -msgstr "" +msgstr "ডিফল্ট" #: ../src/shell-polkit-authentication-agent.c:334 msgid "Authentication dialog was dismissed by the user" -msgstr "" +msgstr "ব্যবহারকারী দ্বারা অনুমোদনের ডায়লগ বাতিল করা হয়েছে" #: ../src/shell-util.c:89 msgid "Home Folder" -msgstr "" +msgstr "ব্যক্তিগত ফোল্ডার" #. Translators: this is the same string as the one found in #. * nautilus #: ../src/shell-util.c:104 msgid "File System" -msgstr "" +msgstr "ফাইল-সিস্টেম" #. Translators: the first string is the name of a gvfs #. * method, and the second string is a path. For @@ -1149,5 +1184,6 @@ msgstr "" #: ../src/shell-util.c:300 #, c-format msgid "%1$s: %2$s" -msgstr "" +msgstr "%1$s: %2$s" + From a3b61ec8c807e5a6ed109317428237ff5fe94866 Mon Sep 17 00:00:00 2001 From: Aron Xu Date: Wed, 23 Mar 2011 23:58:15 +0800 Subject: [PATCH 171/203] Complete Simplified Chinese translation. --- po/zh_CN.po | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/po/zh_CN.po b/po/zh_CN.po index 08c9f2525..aeafeeaf1 100644 --- a/po/zh_CN.po +++ b/po/zh_CN.po @@ -17,7 +17,7 @@ msgstr "" "Project-Id-Version: gnome-shell master\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2011-03-23 21:37+0800\n" -"PO-Revision-Date: 2011-03-23 21:39+0800\n" +"PO-Revision-Date: 2011-03-23 23:57+0800\n" "Last-Translator: Aron Xu \n" "Language-Team: Chinese (simplified) \n" "Language: zh_CN\n" @@ -62,10 +62,10 @@ msgstr "GNOME Shell 扩展有一个 uuid 属性,此键列出了不应该加载 msgid "History for command (Alt-F2) dialog" msgstr "命令对话框(Alt-F2)的历史记录" +# http://live.gnome.org/GnomeShell/LookingGlass #: ../data/org.gnome.shell.gschema.xml.in.h:7 -#, fuzzy msgid "History for the looking glass dialog" -msgstr "镜子对话框历史" +msgstr "Looking Glass 控制台历史" #: ../data/org.gnome.shell.gschema.xml.in.h:8 msgid "If true, display date in the clock, in addition to time." From aaa6b54673a6cb13a35310968d4ab1a7940d685a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jorge=20Gonz=C3=A1lez?= Date: Wed, 23 Mar 2011 18:49:19 +0100 Subject: [PATCH 172/203] Updated Spanish translation --- po/es.po | 137 +++++++++++++++++++++++++++++++------------------------ 1 file changed, 77 insertions(+), 60 deletions(-) diff --git a/po/es.po b/po/es.po index 680f977bd..d612c01fc 100644 --- a/po/es.po +++ b/po/es.po @@ -1,18 +1,18 @@ # Spanish translation of gnome-shell. # Copyright (C) 2009 gnome-shell's COPYRIGHT HOLDER # This file is distributed under the same license as the gnome-shell package. -# Jorge González , 2009, 2010, 2011. # Benjamín Valero Espinosa , 2011. # Daniel Mustieles , 2010, 2011. +# Jorge González , 2009, 2010, 2011. # msgid "" msgstr "" "Project-Id-Version: gnome-shell.master\n" "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug.cgi?product=gnome-" "shell&keywords=I18N+L10N&component=general\n" -"POT-Creation-Date: 2011-03-21 21:17+0000\n" -"PO-Revision-Date: 2011-03-22 11:04+0100\n" -"Last-Translator: Daniel Mustieles \n" +"POT-Creation-Date: 2011-03-22 19:58+0000\n" +"PO-Revision-Date: 2011-03-23 18:47+0100\n" +"Last-Translator: Jorge González \n" "Language-Team: Español \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -96,16 +96,16 @@ msgid "" "at the optimal thread count on the system." msgstr "" "Establece la tubería GStreamer usada para codificar grabaciones. Sigue la " -"sintaxis usada para gst-launch. La tubería debería tener un sumidero («sink») " -"de ensamblaje/sesensamblaje donde el vídeo que se está grabando se graba. " -"Generalmente tendrá un origen de ensamblado/desensamblado; la salida de ese " -"punto se escibirá en el archivo de salida. No obstante la tubería también " -"puede tomar parte en su propia salida; esto se puede usar para enviar la " -"salida a un servidor «icecast» a través de shout2send o similar. Cuando no " -"está establecido o lo está a un valor vacío, se usará la tubería " -"predeterminada. Actualmente es «videorate ! vp8enc quality=10 speed=2 threads=" -"%T ! queue ! webmmux» y greba en WEBM usando el códec VP8. Se usa %T como " -"suposición para el número de hilos óptimos en el sistema." +"sintaxis usada para gst-launch. La tubería debería tener un sumidero " +"(«sink») de ensamblaje/sesensamblaje donde el vídeo que se está grabando se " +"graba. Generalmente tendrá un origen de ensamblado/desensamblado; la salida " +"de ese punto se escibirá en el archivo de salida. No obstante la tubería " +"también puede tomar parte en su propia salida; esto se puede usar para " +"enviar la salida a un servidor «icecast» a través de shout2send o similar. " +"Cuando no está establecido o lo está a un valor vacío, se usará la tubería " +"predeterminada. Actualmente es «videorate ! vp8enc quality=10 speed=2 " +"threads=%T ! queue ! webmmux» y greba en WEBM usando el códec VP8. Se usa %T " +"como suposición para el número de hilos óptimos en el sistema." #: ../data/org.gnome.shell.gschema.xml.in.h:14 msgid "Show date in clock" @@ -202,15 +202,15 @@ msgstr "APLICACIONES" msgid "SETTINGS" msgstr "CONFIGURACIÓN" -#: ../js/ui/appDisplay.js:620 +#: ../js/ui/appDisplay.js:625 msgid "New Window" msgstr "Ventana nueva" -#: ../js/ui/appDisplay.js:623 +#: ../js/ui/appDisplay.js:628 msgid "Remove from Favorites" msgstr "Quitar de los favoritos" -#: ../js/ui/appDisplay.js:624 +#: ../js/ui/appDisplay.js:629 msgid "Add to Favorites" msgstr "Añadir a los favoritos" @@ -370,7 +370,7 @@ msgstr "Esta semana" msgid "Next week" msgstr "La semana que viene" -#: ../js/ui/dash.js:174 ../js/ui/messageTray.js:944 +#: ../js/ui/dash.js:174 ../js/ui/messageTray.js:945 msgid "Remove" msgstr "Quitar" @@ -438,7 +438,7 @@ msgstr "ELEMENTOS RECIENTES" msgid "Log Out %s" msgstr "Cerrar la sesión %s" -#: ../js/ui/endSessionDialog.js:64 ../js/ui/endSessionDialog.js:69 +#: ../js/ui/endSessionDialog.js:64 ../js/ui/endSessionDialog.js:70 msgid "Log Out" msgstr "Cerrar la sesión" @@ -462,46 +462,47 @@ msgstr "Su sesión se cerrará automáticamente en %d segundos." msgid "Logging out of the system." msgstr "Cerrando la sesión." -#: ../js/ui/endSessionDialog.js:74 ../js/ui/endSessionDialog.js:78 -msgid "Shut Down" +#: ../js/ui/endSessionDialog.js:75 ../js/ui/endSessionDialog.js:82 +#| msgid "Power Off..." +msgid "Power Off" msgstr "Apagar" -#: ../js/ui/endSessionDialog.js:75 -msgid "Click Shut Down to quit these applications and shut down the system." +#: ../js/ui/endSessionDialog.js:76 +#| msgid "Click Log Out to quit these applications and log out of the system." +msgid "Click Power Off to quit these applications and power off the system." msgstr "Pulse «Apagar» para salir de esas aplicaciones y apagar el sistema." -#: ../js/ui/endSessionDialog.js:76 +#: ../js/ui/endSessionDialog.js:77 #, c-format -msgid "The system will shut down automatically in %d seconds." +#| msgid "The system will restart automatically in %d seconds." +msgid "The system will power off automatically in %d seconds." msgstr "El sistema se apagará automáticamente en %d segundos." -#: ../js/ui/endSessionDialog.js:77 -msgid "Shutting down the system." +#: ../js/ui/endSessionDialog.js:78 +#| msgid "Logging out of the system." +msgid "Powering off the system." msgstr "Apagando el sistema." -#: ../js/ui/endSessionDialog.js:84 ../js/ui/endSessionDialog.js:88 +#: ../js/ui/endSessionDialog.js:80 ../js/ui/endSessionDialog.js:88 +#: ../js/ui/endSessionDialog.js:93 msgid "Restart" msgstr "Reiniciar" -#: ../js/ui/endSessionDialog.js:85 +#: ../js/ui/endSessionDialog.js:89 msgid "Click Restart to quit these applications and restart the system." msgstr "" "Pulse «Reiniciar» para salir de esas aplicaciones y reiniciar el sistema." -#: ../js/ui/endSessionDialog.js:86 +#: ../js/ui/endSessionDialog.js:90 #, c-format msgid "The system will restart automatically in %d seconds." msgstr "El sistema se reiniciará automáticamente en %d segundos." -#: ../js/ui/endSessionDialog.js:87 +#: ../js/ui/endSessionDialog.js:91 msgid "Restarting the system." msgstr "Reiniciando el sistema." -#: ../js/ui/endSessionDialog.js:395 -msgid "Confirm" -msgstr "Confirmar" - -#: ../js/ui/endSessionDialog.js:400 ../js/ui/status/bluetooth.js:466 +#: ../js/ui/endSessionDialog.js:415 ../js/ui/status/bluetooth.js:466 msgid "Cancel" msgstr "Cancelar" @@ -535,29 +536,29 @@ msgstr "Ver fuente" msgid "Web Page" msgstr "Página web" -#: ../js/ui/messageTray.js:937 +#: ../js/ui/messageTray.js:938 msgid "Open" msgstr "Abrir" -#: ../js/ui/messageTray.js:2008 +#: ../js/ui/messageTray.js:2018 msgid "System Information" msgstr "Información del sistema" -#: ../js/ui/overview.js:88 +#: ../js/ui/overview.js:89 msgid "Undo" msgstr "Deshacer" -#: ../js/ui/overview.js:183 +#: ../js/ui/overview.js:184 msgid "Windows" msgstr "Ventanas" -#: ../js/ui/overview.js:186 +#: ../js/ui/overview.js:187 msgid "Applications" msgstr "Aplicaciones" #. Translators: this is the name of the dock/favorites area on #. the left of the overview -#: ../js/ui/overview.js:202 +#: ../js/ui/overview.js:203 msgid "Dash" msgstr "Plano" @@ -569,11 +570,11 @@ msgstr "Salir de %s" #. Button on the left side of the panel. #. Translators: If there is no suitable word for "Activities" in your language, you can use the word for "Overview". -#: ../js/ui/panel.js:876 +#: ../js/ui/panel.js:878 msgid "Activities" msgstr "Actividades" -#: ../js/ui/panel.js:977 +#: ../js/ui/panel.js:979 msgid "Top Bar" msgstr "Barra superior" @@ -599,7 +600,7 @@ msgstr "LUGARES Y DISPOSITIVOS" #. "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:636 +#: ../js/ui/popupMenu.js:679 msgid "toggle-switch-us" msgstr "toggle-switch-intl" @@ -607,11 +608,11 @@ msgstr "toggle-switch-intl" msgid "Please enter a command:" msgstr "Introduzca un comando:" -#: ../js/ui/searchDisplay.js:287 +#: ../js/ui/searchDisplay.js:310 msgid "Searching..." msgstr "Buscando…" -#: ../js/ui/searchDisplay.js:301 +#: ../js/ui/searchDisplay.js:324 msgid "No matching results." msgstr "No se encontró ningún resultado coincidente." @@ -1114,7 +1115,7 @@ msgstr[1] "%u entradas" msgid "System Sounds" msgstr "Sonidos del sistema" -#: ../src/main.c:397 +#: ../src/main.c:438 msgid "Print version" msgstr "Imprimir versión" @@ -1187,6 +1188,21 @@ msgstr "Sistema de archivos" msgid "%1$s: %2$s" msgstr "%1$s: %2$s" +#~ msgid "Shut Down" +#~ msgstr "Apagar" + +#~ msgid "Click Shut Down to quit these applications and shut down the system." +#~ msgstr "Pulse «Apagar» para salir de esas aplicaciones y apagar el sistema." + +#~ msgid "The system will shut down automatically in %d seconds." +#~ msgstr "El sistema se apagará automáticamente en %d segundos." + +#~ msgid "Shutting down the system." +#~ msgstr "Apagando el sistema." + +#~ msgid "Confirm" +#~ msgstr "Confirmar" + #~ msgid "Panel" #~ msgstr "Panel" @@ -1376,8 +1392,8 @@ msgstr "%1$s: %2$s" #~ "If true and format is either \"12-hour\" or \"24-hour\", display seconds " #~ "in time." #~ msgstr "" -#~ "Si es cierta y el formato es «12-horas» o «24-horas», muestra los segundos " -#~ "en la hora." +#~ "Si es cierta y el formato es «12-horas» o «24-horas», muestra los " +#~ "segundos en la hora." #~ msgid "" #~ "This key specifies the format used by the panel clock when the format key " @@ -1394,18 +1410,19 @@ msgstr "%1$s: %2$s" #~ msgid "" #~ "This key specifies the hour format used by the panel clock. Possible " #~ "values are \"12-hour\", \"24-hour\", \"unix\" and \"custom\". If set to " -#~ "\"unix\", the clock will display time in seconds since Epoch, i.e. 1970-" -#~ "01-01. If set to \"custom\", the clock will display time according to the " -#~ "format specified in the custom_format key. Note that if set to either " -#~ "\"unix\" or \"custom\", the show_date and show_seconds keys are ignored." +#~ "\"unix\", the clock will display time in seconds since Epoch, i.e. " +#~ "1970-01-01. If set to \"custom\", the clock will display time according " +#~ "to the format specified in the custom_format key. Note that if set to " +#~ "either \"unix\" or \"custom\", the show_date and show_seconds keys are " +#~ "ignored." #~ msgstr "" #~ "Esta clave especifica el formato de la hora especificado por el reloj del " -#~ "panel. Los valores posibles son «12-hour» (12 horas), «24-hour» (24 horas), " -#~ "«unix» y «custom» (personalizado).Si se establece a «unix» el reloj mostrará " -#~ "la hora en segundos desde la época (1 de enero de 1970). Si se establece " -#~ "a «custom» el reloj mostrará la hora según el formato especificado en la " -#~ "clave «custom_format». Note que si se establece a «unix» o «custom» se " -#~ "ignoran las claves «show_date» y «show_seconds»." +#~ "panel. Los valores posibles son «12-hour» (12 horas), «24-hour» (24 " +#~ "horas), «unix» y «custom» (personalizado).Si se establece a «unix» el " +#~ "reloj mostrará la hora en segundos desde la época (1 de enero de 1970). " +#~ "Si se establece a «custom» el reloj mostrará la hora según el formato " +#~ "especificado en la clave «custom_format». Note que si se establece a " +#~ "«unix» o «custom» se ignoran las claves «show_date» y «show_seconds»." #~ msgid "Clock Format" #~ msgstr "Formato del reloj" From 80cdb0dc4e6119bf87def442449ad382720a4078 Mon Sep 17 00:00:00 2001 From: Daniel Mustieles Date: Wed, 23 Mar 2011 20:36:13 +0100 Subject: [PATCH 173/203] Updated Spanish translation --- po/es.po | 51 +++++++++++++++++++++++++-------------------------- 1 file changed, 25 insertions(+), 26 deletions(-) diff --git a/po/es.po b/po/es.po index d612c01fc..aa5f0ebaf 100644 --- a/po/es.po +++ b/po/es.po @@ -1,9 +1,9 @@ # Spanish translation of gnome-shell. # Copyright (C) 2009 gnome-shell's COPYRIGHT HOLDER # This file is distributed under the same license as the gnome-shell package. +# Jorge González , 2009, 2010, 2011. # Benjamín Valero Espinosa , 2011. # Daniel Mustieles , 2010, 2011. -# Jorge González , 2009, 2010, 2011. # msgid "" msgstr "" @@ -11,8 +11,8 @@ msgstr "" "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug.cgi?product=gnome-" "shell&keywords=I18N+L10N&component=general\n" "POT-Creation-Date: 2011-03-22 19:58+0000\n" -"PO-Revision-Date: 2011-03-23 18:47+0100\n" -"Last-Translator: Jorge González \n" +"PO-Revision-Date: 2011-03-23 09:57+0100\n" +"Last-Translator: Daniel Mustieles \n" "Language-Team: Español \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -96,16 +96,16 @@ msgid "" "at the optimal thread count on the system." msgstr "" "Establece la tubería GStreamer usada para codificar grabaciones. Sigue la " -"sintaxis usada para gst-launch. La tubería debería tener un sumidero " -"(«sink») de ensamblaje/sesensamblaje donde el vídeo que se está grabando se " -"graba. Generalmente tendrá un origen de ensamblado/desensamblado; la salida " -"de ese punto se escibirá en el archivo de salida. No obstante la tubería " -"también puede tomar parte en su propia salida; esto se puede usar para " -"enviar la salida a un servidor «icecast» a través de shout2send o similar. " -"Cuando no está establecido o lo está a un valor vacío, se usará la tubería " -"predeterminada. Actualmente es «videorate ! vp8enc quality=10 speed=2 " -"threads=%T ! queue ! webmmux» y greba en WEBM usando el códec VP8. Se usa %T " -"como suposición para el número de hilos óptimos en el sistema." +"sintaxis usada para gst-launch. La tubería debería tener un sumidero («sink») " +"de ensamblaje/sesensamblaje donde el vídeo que se está grabando se graba. " +"Generalmente tendrá un origen de ensamblado/desensamblado; la salida de ese " +"punto se escibirá en el archivo de salida. No obstante la tubería también " +"puede tomar parte en su propia salida; esto se puede usar para enviar la " +"salida a un servidor «icecast» a través de shout2send o similar. Cuando no " +"está establecido o lo está a un valor vacío, se usará la tubería " +"predeterminada. Actualmente es «videorate ! vp8enc quality=10 speed=2 threads=" +"%T ! queue ! webmmux» y greba en WEBM usando el códec VP8. Se usa %T como " +"suposición para el número de hilos óptimos en el sistema." #: ../data/org.gnome.shell.gschema.xml.in.h:14 msgid "Show date in clock" @@ -1392,8 +1392,8 @@ msgstr "%1$s: %2$s" #~ "If true and format is either \"12-hour\" or \"24-hour\", display seconds " #~ "in time." #~ msgstr "" -#~ "Si es cierta y el formato es «12-horas» o «24-horas», muestra los " -#~ "segundos en la hora." +#~ "Si es cierta y el formato es «12-horas» o «24-horas», muestra los segundos " +#~ "en la hora." #~ msgid "" #~ "This key specifies the format used by the panel clock when the format key " @@ -1410,19 +1410,18 @@ msgstr "%1$s: %2$s" #~ msgid "" #~ "This key specifies the hour format used by the panel clock. Possible " #~ "values are \"12-hour\", \"24-hour\", \"unix\" and \"custom\". If set to " -#~ "\"unix\", the clock will display time in seconds since Epoch, i.e. " -#~ "1970-01-01. If set to \"custom\", the clock will display time according " -#~ "to the format specified in the custom_format key. Note that if set to " -#~ "either \"unix\" or \"custom\", the show_date and show_seconds keys are " -#~ "ignored." +#~ "\"unix\", the clock will display time in seconds since Epoch, i.e. 1970-" +#~ "01-01. If set to \"custom\", the clock will display time according to the " +#~ "format specified in the custom_format key. Note that if set to either " +#~ "\"unix\" or \"custom\", the show_date and show_seconds keys are ignored." #~ msgstr "" #~ "Esta clave especifica el formato de la hora especificado por el reloj del " -#~ "panel. Los valores posibles son «12-hour» (12 horas), «24-hour» (24 " -#~ "horas), «unix» y «custom» (personalizado).Si se establece a «unix» el " -#~ "reloj mostrará la hora en segundos desde la época (1 de enero de 1970). " -#~ "Si se establece a «custom» el reloj mostrará la hora según el formato " -#~ "especificado en la clave «custom_format». Note que si se establece a " -#~ "«unix» o «custom» se ignoran las claves «show_date» y «show_seconds»." +#~ "panel. Los valores posibles son «12-hour» (12 horas), «24-hour» (24 horas), " +#~ "«unix» y «custom» (personalizado).Si se establece a «unix» el reloj mostrará " +#~ "la hora en segundos desde la época (1 de enero de 1970). Si se establece " +#~ "a «custom» el reloj mostrará la hora según el formato especificado en la " +#~ "clave «custom_format». Note que si se establece a «unix» o «custom» se " +#~ "ignoran las claves «show_date» y «show_seconds»." #~ msgid "Clock Format" #~ msgstr "Formato del reloj" From c91b716a635a0f030eb23c071cc6b4bee3a1f76d Mon Sep 17 00:00:00 2001 From: Colin Walters Date: Wed, 23 Mar 2011 13:15:17 -0400 Subject: [PATCH 174/203] main: Use --replace semantics for org.gnome.Shell DBus name Previously (because I suck) we were ignoring the return value of RequestName, and so we'd totally ignore the fact that we failed to acquire the DBus name. Make this consistent by using meta_get_replace_current_wm() and if we're in --replace, actually replace immediately. https://bugzilla.gnome.org/show_bug.cgi?id=645593 --- src/main.c | 24 ++++++++++++++++-------- 1 file changed, 16 insertions(+), 8 deletions(-) diff --git a/src/main.c b/src/main.c index 393e1b089..eddb4c68c 100644 --- a/src/main.c +++ b/src/main.c @@ -31,11 +31,12 @@ extern GType gnome_shell_plugin_get_type (void); #define MAGNIFIER_DBUS_SERVICE "org.gnome.Magnifier" static void -shell_dbus_init (void) +shell_dbus_init (gboolean replace) { GError *error = NULL; DBusGConnection *session; DBusGProxy *bus; + guint32 request_name_flags; guint32 request_name_result; /** TODO: @@ -51,18 +52,25 @@ shell_dbus_init (void) DBUS_PATH_DBUS, DBUS_INTERFACE_DBUS); + request_name_flags = DBUS_NAME_FLAG_DO_NOT_QUEUE; + if (replace) + request_name_flags |= DBUS_NAME_FLAG_REPLACE_EXISTING; if (!dbus_g_proxy_call (bus, "RequestName", &error, G_TYPE_STRING, SHELL_DBUS_SERVICE, - G_TYPE_UINT, 0, + G_TYPE_UINT, request_name_flags, G_TYPE_INVALID, G_TYPE_UINT, &request_name_result, G_TYPE_INVALID)) { - g_print ("failed to acquire org.gnome.Shell: %s\n", error->message); - /* If we somehow got started again, it's not an error to be running - * already. So just exit 0. - */ - exit (0); + g_printerr ("failed to acquire org.gnome.Shell: %s\n", error->message); + exit (1); + } + if (!(request_name_result == DBUS_REQUEST_NAME_REPLY_PRIMARY_OWNER + || request_name_result == DBUS_REQUEST_NAME_REPLY_ALREADY_OWNER)) + { + g_printerr ("%s already exists on bus and --replace not specified\n", + SHELL_DBUS_SERVICE); + exit (1); } /* Also grab org.gnome.Panel to replace any existing panel process, @@ -475,7 +483,7 @@ main (int argc, char **argv) g_setenv ("GJS_DEBUG_OUTPUT", "stderr", TRUE); g_setenv ("GJS_DEBUG_TOPICS", "JS ERROR;JS LOG", TRUE); - shell_dbus_init (); + shell_dbus_init (meta_get_replace_current_wm ()); shell_a11y_init (); shell_fonts_init (); shell_perf_log_init (); From 090d54516e6a9cc4531fc48ebdadcfa66aee55c3 Mon Sep 17 00:00:00 2001 From: Colin Walters Date: Wed, 23 Mar 2011 17:20:11 -0400 Subject: [PATCH 175/203] main: Allow replacement of org.gnome.Shell name This was an oversight in the previous commit; if we don't do this, then we just can't --replace. https://bugzilla.gnome.org/show_bug.cgi?id=645593 --- src/main.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main.c b/src/main.c index eddb4c68c..589b27f1a 100644 --- a/src/main.c +++ b/src/main.c @@ -52,7 +52,7 @@ shell_dbus_init (gboolean replace) DBUS_PATH_DBUS, DBUS_INTERFACE_DBUS); - request_name_flags = DBUS_NAME_FLAG_DO_NOT_QUEUE; + request_name_flags = DBUS_NAME_FLAG_DO_NOT_QUEUE | DBUS_NAME_FLAG_ALLOW_REPLACEMENT; if (replace) request_name_flags |= DBUS_NAME_FLAG_REPLACE_EXISTING; if (!dbus_g_proxy_call (bus, "RequestName", &error, From 953004886756e6e68b272d576eac608476ef8cdc Mon Sep 17 00:00:00 2001 From: Giovanni Campagna Date: Wed, 23 Mar 2011 21:37:05 +0100 Subject: [PATCH 176/203] NotificationDaemon: fix typo in dealing with TrayIcon Source was failing to determine if it was a tray icon, destroying itself when the associated application was closed. https://bugzilla.gnome.org/show_bug.cgi?id=645625 --- js/ui/notificationDaemon.js | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/js/ui/notificationDaemon.js b/js/ui/notificationDaemon.js index f8f356e8a..c3ae212ac 100644 --- a/js/ui/notificationDaemon.js +++ b/js/ui/notificationDaemon.js @@ -519,10 +519,13 @@ Source.prototype = { _appStateChanged: function() { // Destroy notification sources when their apps exit. // The app exiting would normally result in a tray icon being removed, - // so it should be ok to destroy the source associated with a tray icon - // here too, however we just let that happen through the code path - // associated with the tray icon being removed. - if (!this._isTrayIcon && this.app.get_state() == Shell.AppState.STOPPED) + // so the associated source would be destroyed through the code path + // that handles the tray icon being removed. We should not destroy + // the source associated with a tray icon when the application state + // is Shell.AppState.STOPPED because running applications that have + // no open windows would also have that state. This is often the case + // for applications that use tray icons. + if (!this._trayIcon && this.app.get_state() == Shell.AppState.STOPPED) this.destroy(); }, From bf449b9f613ff4f2aa901e803497eacf899bf1dc Mon Sep 17 00:00:00 2001 From: Luca Ferretti Date: Thu, 24 Mar 2011 01:13:58 +0100 Subject: [PATCH 177/203] Updated Italian translation --- po/it.po | 16 +++++++--------- 1 file changed, 7 insertions(+), 9 deletions(-) diff --git a/po/it.po b/po/it.po index a556bdcb9..0259e044f 100644 --- a/po/it.po +++ b/po/it.po @@ -9,7 +9,7 @@ msgstr "" "Project-Id-Version: gnome-shell\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2011-03-22 01:35+0100\n" -"PO-Revision-Date: 2011-03-22 01:36+0100\n" +"PO-Revision-Date: 2011-03-24 01:13+0100\n" "Last-Translator: Luca Ferretti \n" "Language-Team: Italian \n" "Language: it\n" @@ -710,10 +710,10 @@ msgstr "Caratteri grandi" msgid "Bluetooth" msgstr "Bluetooth" -# as on Android :P +# su Android è Rilevabile :P #: ../js/ui/status/bluetooth.js:55 msgid "Visibility" -msgstr "Rilevabile" +msgstr "Visibile" #: ../js/ui/status/bluetooth.js:69 msgid "Send Files to Device..." @@ -774,11 +774,11 @@ msgstr "Il dispositivo %s vuole accedere al servizio «%s»" #: ../js/ui/status/bluetooth.js:376 msgid "Always grant access" -msgstr "Consenti sempre accesso" +msgstr "Accorda sempre l'accesso" #: ../js/ui/status/bluetooth.js:377 msgid "Grant this time only" -msgstr "Consenti solo stavolta" +msgstr "Accorda solo stavolta" #: ../js/ui/status/bluetooth.js:378 msgid "Reject" @@ -810,7 +810,7 @@ msgstr "Non corrisponde" #: ../js/ui/status/bluetooth.js:441 #, c-format msgid "Pairing request for %s" -msgstr "Richiesta associazione per %s" +msgstr "Richiesta di associazione per %s" #: ../js/ui/status/bluetooth.js:449 msgid "Please enter the PIN mentioned on the device." @@ -1180,10 +1180,8 @@ msgid "Default" msgstr "Predefinito" #: ../src/shell-polkit-authentication-agent.c:334 -#, fuzzy msgid "Authentication dialog was dismissed by the user" -msgstr "" -"Il dialogo di autenticazione è stato scartato|respinto|rimosso dall'utente" +msgstr "Il dialogo di autenticazione è stato annullato dall'utente" #: ../src/shell-util.c:89 msgid "Home Folder" From 82d5194afeaeac17fc24782f1d174e7c92f9628e Mon Sep 17 00:00:00 2001 From: Daniel Nylander Date: Thu, 24 Mar 2011 08:04:06 +0100 Subject: [PATCH 178/203] Updated Swedish translation --- po/sv.po | 1211 ++++++++++++++++++++++++++++++++---------------------- 1 file changed, 726 insertions(+), 485 deletions(-) diff --git a/po/sv.po b/po/sv.po index 32f6c410d..9ca17e5d8 100644 --- a/po/sv.po +++ b/po/sv.po @@ -1,14 +1,14 @@ # Swedish translation for gnome-shell. -# Copyright (C) 2009, 2010 Free Software Foundation, Inc. +# Copyright (C) 2009, 2010, 2011 Free Software Foundation, Inc. # This file is distributed under the same license as the gnome-shell package. -# Daniel Nylander , 2009, 2010. +# Daniel Nylander , 2009, 2010, 2011. # msgid "" msgstr "" "Project-Id-Version: gnome-shell\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2010-12-31 12:58+0100\n" -"PO-Revision-Date: 2010-12-31 12:57+0100\n" +"POT-Creation-Date: 2011-03-24 07:30+0100\n" +"PO-Revision-Date: 2011-03-24 08:03+0100\n" "Last-Translator: Daniel Nylander \n" "Language-Team: Swedish \n" "Language: sv\n" @@ -25,87 +25,53 @@ msgstr "GNOME-skal" msgid "Window management and application launching" msgstr "Fönsterhantering och programstarter" -#: ../data/gnome-shell-clock-preferences.desktop.in.in.h:1 -msgid "Clock" -msgstr "Klocka" - -#: ../data/gnome-shell-clock-preferences.desktop.in.in.h:2 -msgid "Customize the panel clock" -msgstr "Anpassa panelklockan" - #: ../data/org.gnome.shell.gschema.xml.in.h:1 -msgid "" -"Allows access to internal debugging and monitoring tools using the Alt-F2 " -"dialog." -msgstr "" -"Tillåter åtkomst till interna verktyg för felsökning och övervakning med " -"dialogen Alt-F2." +msgid "Allows access to internal debugging and monitoring tools using the Alt-F2 dialog." +msgstr "Tillåter åtkomst till interna verktyg för felsökning och övervakning med dialogen Alt-F2." #: ../data/org.gnome.shell.gschema.xml.in.h:2 -msgid "Custom format of the clock" -msgstr "Anpassat format för klockan" +msgid "Enable internal tools useful for developers and testers from Alt-F2" +msgstr "Aktivera interna verktyg användbara för utvecklare och testare från Alt-F2" #: ../data/org.gnome.shell.gschema.xml.in.h:3 -msgid "Enable internal tools useful for developers and testers from Alt-F2" -msgstr "" -"Aktivera interna verktyg användbara för utvecklare och testare från Alt-F2" - -#: ../data/org.gnome.shell.gschema.xml.in.h:4 msgid "File extension used for storing the screencast" msgstr "Filändelse att använda för lagring av skärminspelningen" -#: ../data/org.gnome.shell.gschema.xml.in.h:5 +#: ../data/org.gnome.shell.gschema.xml.in.h:4 msgid "Framerate used for recording screencasts." msgstr "Bildfrekvens för inspelade skärminspelningar." -#: ../data/org.gnome.shell.gschema.xml.in.h:6 -msgid "" -"GNOME Shell extensions have a uuid property; this key lists extensions which " -"should not be loaded." -msgstr "" +#: ../data/org.gnome.shell.gschema.xml.in.h:5 +msgid "GNOME Shell extensions have a uuid property; this key lists extensions which should not be loaded." +msgstr "GNOME Shell-tillägg har en uuid-egenskap; denna nyckel listar tillägg som inte ska läsas in." -#: ../data/org.gnome.shell.gschema.xml.in.h:7 +#: ../data/org.gnome.shell.gschema.xml.in.h:6 msgid "History for command (Alt-F2) dialog" msgstr "Historik för kommandodialog (Alt-F2)" +#: ../data/org.gnome.shell.gschema.xml.in.h:7 +msgid "History for the looking glass dialog" +msgstr "Historik för spegel-dialogen" + #: ../data/org.gnome.shell.gschema.xml.in.h:8 -msgid "Hour format" -msgstr "Timmesformat" +msgid "If true, display date in the clock, in addition to time." +msgstr "Om true, visa datum i klockan, i tillägg till tiden." #: ../data/org.gnome.shell.gschema.xml.in.h:9 -msgid "" -"If true and format is either \"12-hour\" or \"24-hour\", display date in the " -"clock, in addition to time." -msgstr "" -"Om true och formatet antingen är \"12-hour\" eller \"24-hour\", visa datum i " -"klockan, i tillägg till tiden." +msgid "If true, display seconds in time." +msgstr "Om true, visa sekunder i tiden." #: ../data/org.gnome.shell.gschema.xml.in.h:10 -msgid "" -"If true and format is either \"12-hour\" or \"24-hour\", display seconds in " -"time." -msgstr "" -"Om true och formatet antingen är \"12-hour\" eller \"24-hour\", visa " -"sekunder i tiden." - -#: ../data/org.gnome.shell.gschema.xml.in.h:11 msgid "If true, display the ISO week date in the calendar." msgstr "Om true, visa veckodatum enligt ISO i kalendern." -#: ../data/org.gnome.shell.gschema.xml.in.h:12 +#: ../data/org.gnome.shell.gschema.xml.in.h:11 msgid "List of desktop file IDs for favorite applications" msgstr "Lista över skrivbordsfil-id för favoritprogram" #: ../data/org.gnome.shell.gschema.xml.in.h:13 -msgid "" -"Sets the GStreamer pipeline used to encode recordings. It follows the syntax " -"used for gst-launch. The pipeline should have an unconnected sink pad where " -"the recorded video is recorded. It will normally have a unconnected source " -"pad; output from that pad will be written into the output file. However the " -"pipeline can also take care of its own output - this might be used to send " -"the output to an icecast server via shout2send or similar. When unset or set " -"to an empty value, the default pipeline will be used. This is currently " -"'videorate ! theoraenc ! oggmux' and records to Ogg Theora." +#, no-c-format +msgid "Sets the GStreamer pipeline used to encode recordings. It follows the syntax used for gst-launch. The pipeline should have an unconnected sink pad where the recorded video is recorded. It will normally have a unconnected source pad; output from that pad will be written into the output file. However the pipeline can also take care of its own output - this might be used to send the output to an icecast server via shout2send or similar. When unset or set to an empty value, the default pipeline will be used. This is currently 'videorate ! vp8enc quality=10 speed=2 threads=%T ! queue ! webmmux' and records to WEBM using the VP8 codec. %T is used as a placeholder for a guess at the optimal thread count on the system." msgstr "" #: ../data/org.gnome.shell.gschema.xml.in.h:14 @@ -121,239 +87,74 @@ msgid "Show time with seconds" msgstr "Visa tid med sekunder" #: ../data/org.gnome.shell.gschema.xml.in.h:17 -msgid "" -"The applications corresponding to these identifiers will be displayed in the " -"favorites area." -msgstr "" -"Programmen som motsvarar dessa identifierare kommer att visas i " -"favoritområdet." +msgid "The applications corresponding to these identifiers will be displayed in the favorites area." +msgstr "Programmen som motsvarar dessa identifierare kommer att visas i favoritområdet." #: ../data/org.gnome.shell.gschema.xml.in.h:18 -msgid "" -"The filename for recorded screencasts will be a unique filename based on the " -"current date, and use this extension. It should be changed when recording to " -"a different container format." -msgstr "" +msgid "The filename for recorded screencasts will be a unique filename based on the current date, and use this extension. It should be changed when recording to a different container format." +msgstr "Filnamnet för skärminspelningar kommer att vara ett unikt filnamn baserat på aktuellt datum och använder denna filändelse. Den bör ändras när inspelningar sker i andra containerformat." #: ../data/org.gnome.shell.gschema.xml.in.h:19 -msgid "" -"The framerate of the resulting screencast recordered by GNOME Shell's " -"screencast recorder in frames-per-second." -msgstr "" +msgid "The framerate of the resulting screencast recordered by GNOME Shell's screencast recorder in frames-per-second." +msgstr "Bildfrekvensen för skärminspelningen som spelats in av GNOME Shells skärminspelare i bilder per sekund." #: ../data/org.gnome.shell.gschema.xml.in.h:20 msgid "The gstreamer pipeline used to encode the screencast" -msgstr "" +msgstr "Den gstreamer-rörledning som användes för att koda skärminspelningen" #: ../data/org.gnome.shell.gschema.xml.in.h:21 -msgid "" -"The shell normally monitors active applications in order to present the most " -"used ones (e.g. in launchers). While this data will be kept private, you may " -"want to disable this for privacy reasons. Please note that doing so won't " -"remove already saved data." +msgid "The shell normally monitors active applications in order to present the most used ones (e.g. in launchers). While this data will be kept private, you may want to disable this for privacy reasons. Please note that doing so won't remove already saved data." msgstr "" #: ../data/org.gnome.shell.gschema.xml.in.h:22 -msgid "" -"This key specifies the format used by the panel clock when the format key is " -"set to \"custom\". You can use conversion specifiers understood by strftime" -"() to obtain a specific format. See the strftime() manual for more " -"information." -msgstr "" - -#: ../data/org.gnome.shell.gschema.xml.in.h:23 -msgid "" -"This key specifies the hour format used by the panel clock. Possible values " -"are \"12-hour\", \"24-hour\", \"unix\" and \"custom\". If set to \"unix\", " -"the clock will display time in seconds since Epoch, i.e. 1970-01-01. If set " -"to \"custom\", the clock will display time according to the format specified " -"in the custom_format key. Note that if set to either \"unix\" or \"custom\", " -"the show_date and show_seconds keys are ignored." -msgstr "" - -#: ../data/org.gnome.shell.gschema.xml.in.h:24 msgid "Uuids of extensions to disable" msgstr "Uuid:er för tillägg att inaktivera" -#: ../data/org.gnome.shell.gschema.xml.in.h:25 +#: ../data/org.gnome.shell.gschema.xml.in.h:23 msgid "Whether to collect stats about applications usage" msgstr "Huruvida statistik ska samlas in för programanvändning" -#: ../data/org.gnome.accessibility.magnifier.gschema.xml.in.h:1 -msgid "Clip the crosshairs at the center" +#: ../data/org.gnome.shell.gschema.xml.in.h:24 +msgid "disabled OpenSearch providers" msgstr "" -#: ../data/org.gnome.accessibility.magnifier.gschema.xml.in.h:2 -msgid "Color of the crosshairs" -msgstr "" +#: ../js/misc/util.js:71 +msgid "Command not found" +msgstr "Kommandot hittades inte" -#: ../data/org.gnome.accessibility.magnifier.gschema.xml.in.h:3 -msgid "" -"Determines the length of the vertical and horizontal lines that make up the " -"crosshairs." -msgstr "" +#. Replace "Error invoking GLib.shell_parse_argv: " with +#. something nicer +#: ../js/misc/util.js:98 +msgid "Could not parse command:" +msgstr "Kunde inte tolka kommando:" -#: ../data/org.gnome.accessibility.magnifier.gschema.xml.in.h:4 -msgid "" -"Determines the position of the magnified mouse image within the magnified " -"view and how it reacts to system mouse movement. The values are - none: no " -"mouse tracking; - centered: the mouse image is displayed at the center of " -"the zoom region (which also represents the point under the system mouse) and " -"the magnified contents are scrolled as the system mouse moves; - " -"proportional: the position of the magnified mouse in the zoom region is " -"proportionally the same as the position of the system mouse on screen; - " -"push: when the magnified mouse intersects a boundary of the zoom region, the " -"contents are scrolled into view." -msgstr "" - -#: ../data/org.gnome.accessibility.magnifier.gschema.xml.in.h:5 -msgid "" -"Determines the transparency of the crosshairs, from fully opaque to fully " -"transparent." -msgstr "" - -#: ../data/org.gnome.accessibility.magnifier.gschema.xml.in.h:6 -msgid "" -"Determines whether the crosshairs intersect the magnified mouse sprite, or " -"are clipped such that the ends of the horizontal and vertical lines surround " -"the mouse image." -msgstr "" - -#: ../data/org.gnome.accessibility.magnifier.gschema.xml.in.h:7 -msgid "Enable lens mode" -msgstr "Aktivera linsläge" - -#: ../data/org.gnome.accessibility.magnifier.gschema.xml.in.h:8 -msgid "" -"Enables/disables display of crosshairs centered on the magnified mouse " -"sprite." -msgstr "" - -#: ../data/org.gnome.accessibility.magnifier.gschema.xml.in.h:9 -msgid "" -"For centered mouse tracking, when the system pointer is at or near the edge " -"of the screen, the magnified contents continue to scroll such that the " -"screen edge moves into the magnified view." -msgstr "" - -#: ../data/org.gnome.accessibility.magnifier.gschema.xml.in.h:10 -msgid "Length of the crosshairs" -msgstr "" - -#: ../data/org.gnome.accessibility.magnifier.gschema.xml.in.h:11 -msgid "Magnification factor" -msgstr "Förstoringsfaktor" - -#: ../data/org.gnome.accessibility.magnifier.gschema.xml.in.h:12 -msgid "Mouse Tracking Mode" -msgstr "" - -#: ../data/org.gnome.accessibility.magnifier.gschema.xml.in.h:13 -msgid "Opacity of the crosshairs" -msgstr "" - -#: ../data/org.gnome.accessibility.magnifier.gschema.xml.in.h:14 -msgid "Screen position" -msgstr "Skärmposition" - -#: ../data/org.gnome.accessibility.magnifier.gschema.xml.in.h:15 -msgid "Scroll magnified contents beyond the edges of the desktop" -msgstr "" - -#: ../data/org.gnome.accessibility.magnifier.gschema.xml.in.h:16 -msgid "Show or hide crosshairs" -msgstr "" - -#: ../data/org.gnome.accessibility.magnifier.gschema.xml.in.h:17 -msgid "Show or hide the magnifier" -msgstr "" - -#: ../data/org.gnome.accessibility.magnifier.gschema.xml.in.h:18 -msgid "Show or hide the magnifier and all of its zoom regions." -msgstr "" - -#: ../data/org.gnome.accessibility.magnifier.gschema.xml.in.h:19 -msgid "" -"The color of the the vertical and horizontal lines that make up the " -"crosshairs." -msgstr "" - -#: ../data/org.gnome.accessibility.magnifier.gschema.xml.in.h:20 -msgid "" -"The magnified view either fills the entire screen, or occupies the top-half, " -"bottom-half, left-half, or right-half of the screen." -msgstr "" - -#: ../data/org.gnome.accessibility.magnifier.gschema.xml.in.h:21 -msgid "" -"The power of the magnification. A value of 1.0 means no magnification. A " -"value of 2.0 doubles the size." -msgstr "" - -#: ../data/org.gnome.accessibility.magnifier.gschema.xml.in.h:22 -msgid "Thickness of the crosshairs" -msgstr "" - -#: ../data/org.gnome.accessibility.magnifier.gschema.xml.in.h:23 -msgid "" -"Whether the magnified view should be centered over the location of the " -"system mouse and move with it." -msgstr "" - -#: ../data/org.gnome.accessibility.magnifier.gschema.xml.in.h:24 -msgid "Width of the vertical and horizontal lines that make up the crosshairs." -msgstr "" - -#: ../data/clock-preferences.ui.h:1 -msgid "Clock Format" -msgstr "Klockformat" - -#: ../data/clock-preferences.ui.h:2 -msgid "Clock Preferences" -msgstr "Klockinställningar" - -#: ../data/clock-preferences.ui.h:3 -msgid "Panel Display" -msgstr "Panelvisning" - -#: ../data/clock-preferences.ui.h:4 -msgid "Show seco_nds" -msgstr "Visa seku_nder" - -#: ../data/clock-preferences.ui.h:5 -msgid "Show the _date" -msgstr "Visa _datum" - -#: ../data/clock-preferences.ui.h:6 -msgid "_12 hour format" -msgstr "_12-timmarsformat" - -#: ../data/clock-preferences.ui.h:7 -msgid "_24 hour format" -msgstr "_24-timmarsformat" +#: ../js/misc/util.js:106 +#, c-format +msgid "Execution of '%s' failed:" +msgstr "Körning av \"%s\" misslyckades:" #. Translators: Filter to display all applications -#: ../js/ui/appDisplay.js:155 +#: ../js/ui/appDisplay.js:230 msgid "All" msgstr "Alla" -#: ../js/ui/appDisplay.js:236 +#: ../js/ui/appDisplay.js:328 msgid "APPLICATIONS" msgstr "PROGRAM" -#: ../js/ui/appDisplay.js:266 -msgid "PREFERENCES" +#: ../js/ui/appDisplay.js:354 +msgid "SETTINGS" msgstr "INSTÄLLNINGAR" -#: ../js/ui/appDisplay.js:563 +#: ../js/ui/appDisplay.js:625 msgid "New Window" msgstr "Nytt fönster" -#: ../js/ui/appDisplay.js:567 +#: ../js/ui/appDisplay.js:628 msgid "Remove from Favorites" msgstr "Ta bort från favoriter" -#: ../js/ui/appDisplay.js:568 +#: ../js/ui/appDisplay.js:629 msgid "Add to Favorites" msgstr "Lägg till som favorit" @@ -367,126 +168,373 @@ msgstr "%s har lagts till i dina favoriter." msgid "%s has been removed from your favorites." msgstr "%s har tagits bort från dina favoriter." -#: ../js/ui/dash.js:27 +#. Translators: Shown in calendar event list for all day events +#. * Keep it short, best if you can use less then 10 characters +#. +#: ../js/ui/calendar.js:66 +msgctxt "event list time" +msgid "All Day" +msgstr "Hela dagen" + +#. Translators: Shown in calendar event list, if 24h format +#: ../js/ui/calendar.js:71 +msgctxt "event list time" +msgid "%H:%M" +msgstr "%H.%M" + +#. Transators: Shown in calendar event list, if 12h format +#: ../js/ui/calendar.js:78 +msgctxt "event list time" +msgid "%l:%M %p" +msgstr "%l.%M %p" + +#. Translators: Calendar grid abbreviation for Sunday. +#. * +#. * NOTE: These grid abbreviations are always shown together +#. * and in order, e.g. "S M T W T F S". +#. +#: ../js/ui/calendar.js:118 +msgctxt "grid sunday" +msgid "S" +msgstr "S" + +#. Translators: Calendar grid abbreviation for Monday +#: ../js/ui/calendar.js:120 +msgctxt "grid monday" +msgid "M" +msgstr "M" + +#. Translators: Calendar grid abbreviation for Tuesday +#: ../js/ui/calendar.js:122 +msgctxt "grid tuesday" +msgid "T" +msgstr "T" + +#. Translators: Calendar grid abbreviation for Wednesday +#: ../js/ui/calendar.js:124 +msgctxt "grid wednesday" +msgid "W" +msgstr "O" + +#. Translators: Calendar grid abbreviation for Thursday +#: ../js/ui/calendar.js:126 +msgctxt "grid thursday" +msgid "T" +msgstr "T" + +#. Translators: Calendar grid abbreviation for Friday +#: ../js/ui/calendar.js:128 +msgctxt "grid friday" +msgid "F" +msgstr "F" + +#. Translators: Calendar grid abbreviation for Saturday +#: ../js/ui/calendar.js:130 +msgctxt "grid saturday" +msgid "S" +msgstr "L" + +#. Translators: Event list abbreviation for Sunday. +#. * +#. * NOTE: These list abbreviations are normally not shown together +#. * so they need to be unique (e.g. Tuesday and Thursday cannot +#. * both be 'T'). +#. +#: ../js/ui/calendar.js:143 +msgctxt "list sunday" +msgid "Su" +msgstr "Sö" + +#. Translators: Event list abbreviation for Monday +#: ../js/ui/calendar.js:145 +msgctxt "list monday" +msgid "M" +msgstr "Må" + +#. Translators: Event list abbreviation for Tuesday +#: ../js/ui/calendar.js:147 +msgctxt "list tuesday" +msgid "T" +msgstr "Ti" + +#. Translators: Event list abbreviation for Wednesday +#: ../js/ui/calendar.js:149 +msgctxt "list wednesday" +msgid "W" +msgstr "On" + +#. Translators: Event list abbreviation for Thursday +#: ../js/ui/calendar.js:151 +msgctxt "list thursday" +msgid "Th" +msgstr "To" + +#. Translators: Event list abbreviation for Friday +#: ../js/ui/calendar.js:153 +msgctxt "list friday" +msgid "F" +msgstr "Fr" + +#. Translators: Event list abbreviation for Saturday +#: ../js/ui/calendar.js:155 +msgctxt "list saturday" +msgid "S" +msgstr "Lö" + +#. Translators: Text to show if there are no events +#: ../js/ui/calendar.js:704 +msgid "Nothing Scheduled" +msgstr "Ingenting i schemat" + +#. Translators: Shown on calendar heading when selected day occurs on current year +#: ../js/ui/calendar.js:720 +msgctxt "calendar heading" +msgid "%A, %B %d" +msgstr "%A, %d %B" + +#. Translators: Shown on calendar heading when selected day occurs on different year +#: ../js/ui/calendar.js:723 +msgctxt "calendar heading" +msgid "%A, %B %d, %Y" +msgstr "%A, %d %B, %Y" + +#: ../js/ui/calendar.js:733 +msgid "Today" +msgstr "Idag" + +#: ../js/ui/calendar.js:737 +msgid "Tomorrow" +msgstr "Igår" + +#: ../js/ui/calendar.js:746 +msgid "This week" +msgstr "Denna vecka" + +#: ../js/ui/calendar.js:754 +msgid "Next week" +msgstr "Nästa vecka" + +#: ../js/ui/dash.js:174 +#: ../js/ui/messageTray.js:994 msgid "Remove" msgstr "Ta bort" -#: ../js/ui/docDisplay.js:494 -msgid "RECENT ITEMS" -msgstr "TIDIGARE OBJEKT" +#: ../js/ui/dateMenu.js:91 +msgid "Date and Time Settings" +msgstr "Inställningar för datum och tid" -#: ../js/ui/lookingGlass.js:552 -msgid "No extensions installed" -msgstr "Inga tillägg installerade" - -#: ../js/ui/lookingGlass.js:589 -msgid "Enabled" -msgstr "Aktiverad" - -#. translators: -#. * The device has been disabled -#: ../js/ui/lookingGlass.js:591 ../src/gvc/gvc-mixer-control.c:1087 -msgid "Disabled" -msgstr "Inaktiverad" - -#: ../js/ui/lookingGlass.js:593 -msgid "Error" -msgstr "Fel" - -#: ../js/ui/lookingGlass.js:595 -msgid "Out of date" -msgstr "Utanför datumintervallet" - -#: ../js/ui/lookingGlass.js:620 -msgid "View Source" -msgstr "Visa källa" - -#: ../js/ui/lookingGlass.js:626 -msgid "Web Page" -msgstr "Webbsida" - -#: ../js/ui/overview.js:96 -msgid "Undo" -msgstr "Ångra" - -#: ../js/ui/overview.js:158 -msgid "Windows" -msgstr "Fönster" - -#: ../js/ui/overview.js:161 -msgid "Applications" -msgstr "Program" - -#. TODO - _quit() doesn't really work on apps in state STARTING yet -#: ../js/ui/panel.js:474 -#, c-format -msgid "Quit %s" -msgstr "Avsluta %s" - -#: ../js/ui/panel.js:499 -msgid "Preferences" -msgstr "Inställningar" +#: ../js/ui/dateMenu.js:111 +msgid "Open Calendar" +msgstr "Öppna kalender" #. Translators: This is the time format with date used #. in 24-hour mode. -#: ../js/ui/panel.js:585 +#: ../js/ui/dateMenu.js:164 msgid "%a %b %e, %R:%S" msgstr "%a %e %b, %R.%S" -#: ../js/ui/panel.js:586 +#: ../js/ui/dateMenu.js:165 msgid "%a %b %e, %R" msgstr "%a %e %b, %R" #. Translators: This is the time format without date used #. in 24-hour mode. -#: ../js/ui/panel.js:590 +#: ../js/ui/dateMenu.js:169 msgid "%a %R:%S" msgstr "%a %R.%S" -#: ../js/ui/panel.js:591 +#: ../js/ui/dateMenu.js:170 msgid "%a %R" msgstr "%a %R" #. Translators: This is a time format with date used #. for AM/PM. -#: ../js/ui/panel.js:598 +#: ../js/ui/dateMenu.js:177 msgid "%a %b %e, %l:%M:%S %p" msgstr "%a %e %b, %H.%M.%S" -#: ../js/ui/panel.js:599 +#: ../js/ui/dateMenu.js:178 msgid "%a %b %e, %l:%M %p" msgstr "%a %e %b, %H.%M" #. Translators: This is a time format without date used #. for AM/PM. -#: ../js/ui/panel.js:603 +#: ../js/ui/dateMenu.js:182 msgid "%a %l:%M:%S %p" msgstr "%a %H.%M.%S" -#: ../js/ui/panel.js:604 +#: ../js/ui/dateMenu.js:183 msgid "%a %l:%M %p" msgstr "%a %H.%M" +#. Translators: This is the date format to use when the calendar popup is +#. * shown - it is shown just below the time in the shell (e.g. "Tue 9:29 AM"). +#. +#: ../js/ui/dateMenu.js:194 +msgid "%A %B %e, %Y" +msgstr "%A %e %B, %Y" + +#: ../js/ui/docDisplay.js:19 +msgid "RECENT ITEMS" +msgstr "TIDIGARE OBJEKT" + +#: ../js/ui/endSessionDialog.js:63 +#, c-format +msgid "Log Out %s" +msgstr "Logga ut %s" + +#: ../js/ui/endSessionDialog.js:64 +#: ../js/ui/endSessionDialog.js:70 +msgid "Log Out" +msgstr "Logga ut" + +#: ../js/ui/endSessionDialog.js:65 +msgid "Click Log Out to quit these applications and log out of the system." +msgstr "Klicka på Logga ut för att avsluta dessa program och logga ut från systemet." + +#: ../js/ui/endSessionDialog.js:66 +#, c-format +msgid "%s will be logged out automatically in %d seconds." +msgstr "%s kommer att loggas ut automatiskt om %d sekunder." + +#: ../js/ui/endSessionDialog.js:67 +#, c-format +msgid "You will be logged out automatically in %d seconds." +msgstr "Du kommer att loggas ut automatiskt om %d sekunder." + +#: ../js/ui/endSessionDialog.js:68 +msgid "Logging out of the system." +msgstr "Loggar ut från systemet." + +#: ../js/ui/endSessionDialog.js:75 +#: ../js/ui/endSessionDialog.js:82 +msgid "Power Off" +msgstr "Stäng av" + +#: ../js/ui/endSessionDialog.js:76 +msgid "Click Power Off to quit these applications and power off the system." +msgstr "Klicka på Stäng av för att avsluta dessa program och stänga av systemet." + +#: ../js/ui/endSessionDialog.js:77 +#, c-format +msgid "The system will power off automatically in %d seconds." +msgstr "Systemet kommer att stängas av automatiskt om %d sekunder." + +#: ../js/ui/endSessionDialog.js:78 +msgid "Powering off the system." +msgstr "Stänger av systemet." + +#: ../js/ui/endSessionDialog.js:80 +#: ../js/ui/endSessionDialog.js:88 +#: ../js/ui/endSessionDialog.js:93 +msgid "Restart" +msgstr "Starta om" + +#: ../js/ui/endSessionDialog.js:89 +msgid "Click Restart to quit these applications and restart the system." +msgstr "Klicka på Starta om för att avsluta dessa program och starta om systemet." + +#: ../js/ui/endSessionDialog.js:90 +#, c-format +msgid "The system will restart automatically in %d seconds." +msgstr "Systemet kommer att startas om automatiskt om %d sekunder." + +#: ../js/ui/endSessionDialog.js:91 +msgid "Restarting the system." +msgstr "Starta om systemet." + +#: ../js/ui/endSessionDialog.js:415 +#: ../js/ui/status/bluetooth.js:466 +msgid "Cancel" +msgstr "Avbryt" + +#: ../js/ui/lookingGlass.js:588 +msgid "No extensions installed" +msgstr "Inga tillägg installerade" + +#: ../js/ui/lookingGlass.js:625 +msgid "Enabled" +msgstr "Aktiverad" + +#. translators: +#. * The device has been disabled +#: ../js/ui/lookingGlass.js:627 +#: ../src/gvc/gvc-mixer-control.c:1091 +msgid "Disabled" +msgstr "Inaktiverad" + +#: ../js/ui/lookingGlass.js:629 +msgid "Error" +msgstr "Fel" + +#: ../js/ui/lookingGlass.js:631 +msgid "Out of date" +msgstr "Utanför datumintervallet" + +#: ../js/ui/lookingGlass.js:656 +msgid "View Source" +msgstr "Visa källa" + +#: ../js/ui/lookingGlass.js:662 +msgid "Web Page" +msgstr "Webbsida" + +#: ../js/ui/messageTray.js:987 +msgid "Open" +msgstr "Öppna" + +#: ../js/ui/messageTray.js:2145 +msgid "System Information" +msgstr "Systeminformation" + +#: ../js/ui/overview.js:91 +msgid "Undo" +msgstr "Ångra" + +#: ../js/ui/overview.js:186 +msgid "Windows" +msgstr "Fönster" + +#: ../js/ui/overview.js:189 +msgid "Applications" +msgstr "Program" + +#. Translators: this is the name of the dock/favorites area on +#. the left of the overview +#: ../js/ui/overview.js:205 +msgid "Dash" +msgstr "" + +#. TODO - _quit() doesn't really work on apps in state STARTING yet +#: ../js/ui/panel.js:515 +#, c-format +msgid "Quit %s" +msgstr "Avsluta %s" + #. Button on the left side of the panel. #. Translators: If there is no suitable word for "Activities" in your language, you can use the word for "Overview". -#: ../js/ui/panel.js:749 +#: ../js/ui/panel.js:878 msgid "Activities" msgstr "Aktiviteter" -#: ../js/ui/placeDisplay.js:111 +#: ../js/ui/panel.js:979 +msgid "Top Bar" +msgstr "" + +#: ../js/ui/placeDisplay.js:122 #, c-format msgid "Failed to unmount '%s'" msgstr "Misslyckades med att avmontera \"%s\"" -#: ../js/ui/placeDisplay.js:114 +#: ../js/ui/placeDisplay.js:125 msgid "Retry" msgstr "Försök igen" -#: ../js/ui/placeDisplay.js:159 +#: ../js/ui/placeDisplay.js:165 msgid "Connect to..." msgstr "Anslut till..." -#: ../js/ui/placeDisplay.js:558 +#: ../js/ui/placeDisplay.js:380 msgid "PLACES & DEVICES" msgstr "PLATSER OCH ENHETER" @@ -495,100 +543,108 @@ msgstr "PLATSER OCH ENHETER" #. "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:33 +#: ../js/ui/popupMenu.js:679 msgid "toggle-switch-us" -msgstr "" +msgstr "toggle-switch-intl" -#: ../js/ui/runDialog.js:233 +#: ../js/ui/runDialog.js:205 msgid "Please enter a command:" msgstr "Ange ett kommando:" -#: ../js/ui/runDialog.js:378 -#, c-format -msgid "Execution of '%s' failed:" -msgstr "Körning av \"%s\" misslyckades:" +#: ../js/ui/searchDisplay.js:310 +msgid "Searching..." +msgstr "Söker..." -#: ../js/ui/statusMenu.js:101 +#: ../js/ui/searchDisplay.js:324 +msgid "No matching results." +msgstr "Inga sökträffar." + +#: ../js/ui/statusMenu.js:161 +#: ../js/ui/statusMenu.js:228 +msgid "Power Off..." +msgstr "Stäng av..." + +#: ../js/ui/statusMenu.js:163 +#: ../js/ui/statusMenu.js:227 +msgid "Suspend" +msgstr "Vänteläge" + +#: ../js/ui/statusMenu.js:184 msgid "Available" msgstr "Tillgänglig" -#: ../js/ui/statusMenu.js:106 +#: ../js/ui/statusMenu.js:189 msgid "Busy" msgstr "Upptagen" -#: ../js/ui/statusMenu.js:114 +#: ../js/ui/statusMenu.js:197 msgid "My Account" msgstr "Mitt konto" -#: ../js/ui/statusMenu.js:118 +#: ../js/ui/statusMenu.js:201 msgid "System Settings" msgstr "Systeminställningar" -#: ../js/ui/statusMenu.js:125 +#: ../js/ui/statusMenu.js:208 msgid "Lock Screen" msgstr "Lås skärmen" -#: ../js/ui/statusMenu.js:129 +#: ../js/ui/statusMenu.js:213 msgid "Switch User" msgstr "Växla användare" -#: ../js/ui/statusMenu.js:134 +#: ../js/ui/statusMenu.js:218 msgid "Log Out..." msgstr "Logga ut..." -#: ../js/ui/statusMenu.js:141 -msgid "Suspend..." -msgstr "Vänteläge..." - -#: ../js/ui/statusMenu.js:145 -msgid "Shut Down..." -msgstr "Stäng av..." - -#: ../js/ui/status/accessibility.js:82 +#: ../js/ui/status/accessibility.js:62 msgid "Zoom" msgstr "Zooma" -#: ../js/ui/status/accessibility.js:88 -msgid "Screen Reader" -msgstr "Skärmläsare" - -#: ../js/ui/status/accessibility.js:91 -msgid "Screen Keyboard" -msgstr "Skärmtangentbord" - -#: ../js/ui/status/accessibility.js:94 +#. let screenReader = this._buildItem(_("Screen Reader"), APPLICATIONS_SCHEMA, +#. 'screen-reader-enabled'); +#. this.menu.addMenuItem(screenReader); +#. let screenKeyboard = this._buildItem(_("Screen Keyboard"), APPLICATIONS_SCHEMA, +#. 'screen-keyboard-enabled'); +#. this.menu.addMenuItem(screenKeyboard); +#: ../js/ui/status/accessibility.js:77 msgid "Visual Alerts" msgstr "Visuella larm" -#: ../js/ui/status/accessibility.js:97 +#: ../js/ui/status/accessibility.js:80 msgid "Sticky Keys" msgstr "Klistriga tangenter" -#: ../js/ui/status/accessibility.js:100 +#: ../js/ui/status/accessibility.js:83 msgid "Slow Keys" msgstr "Tröga tangenter" -#: ../js/ui/status/accessibility.js:103 +#: ../js/ui/status/accessibility.js:86 msgid "Bounce Keys" msgstr "Studsande tangenter" -#: ../js/ui/status/accessibility.js:106 +#: ../js/ui/status/accessibility.js:89 msgid "Mouse Keys" msgstr "Mustangenter" -#: ../js/ui/status/accessibility.js:110 +#: ../js/ui/status/accessibility.js:93 msgid "Universal Access Settings" msgstr "Inställningar för allmän åtkomst" -#: ../js/ui/status/accessibility.js:163 +#: ../js/ui/status/accessibility.js:146 msgid "High Contrast" msgstr "Hög kontrast" -#: ../js/ui/status/accessibility.js:205 +#: ../js/ui/status/accessibility.js:183 msgid "Large Text" msgstr "Stor text" -#: ../js/ui/status/bluetooth.js:42 ../js/ui/status/bluetooth.js:234 +#: ../js/ui/status/bluetooth.js:42 +#: ../js/ui/status/bluetooth.js:237 +#: ../js/ui/status/bluetooth.js:333 +#: ../js/ui/status/bluetooth.js:367 +#: ../js/ui/status/bluetooth.js:407 +#: ../js/ui/status/bluetooth.js:440 msgid "Bluetooth" msgstr "Bluetooth" @@ -604,115 +660,255 @@ msgstr "Skicka filer till enhet..." msgid "Setup a New Device..." msgstr "Konfigurera en ny enhet..." -#: ../js/ui/status/bluetooth.js:94 +#: ../js/ui/status/bluetooth.js:95 msgid "Bluetooth Settings" msgstr "Inställningar för Bluetooth" -#: ../js/ui/status/bluetooth.js:185 +#: ../js/ui/status/bluetooth.js:188 msgid "Connection" msgstr "Anslutning" -#: ../js/ui/status/bluetooth.js:221 +#: ../js/ui/status/bluetooth.js:224 msgid "Send Files..." msgstr "Skicka filer..." -#: ../js/ui/status/bluetooth.js:226 +#: ../js/ui/status/bluetooth.js:229 msgid "Browse Files..." msgstr "Bläddra efter filer..." -#: ../js/ui/status/bluetooth.js:235 +#: ../js/ui/status/bluetooth.js:238 msgid "Error browsing device" -msgstr "" +msgstr "Fel vid bläddring i enheten" -#: ../js/ui/status/bluetooth.js:236 +#: ../js/ui/status/bluetooth.js:239 #, c-format msgid "The requested device cannot be browsed, error is '%s'" -msgstr "" +msgstr "Den begärda enheten kan inte bläddras. Felet är \"%s\"" -#: ../js/ui/status/bluetooth.js:244 +#: ../js/ui/status/bluetooth.js:247 msgid "Keyboard Settings" msgstr "Tangentbordsinställningar" -#: ../js/ui/status/bluetooth.js:249 +#: ../js/ui/status/bluetooth.js:252 msgid "Mouse Settings" msgstr "Musinställningar" -#: ../js/ui/status/bluetooth.js:256 ../js/ui/status/volume.js:62 +#: ../js/ui/status/bluetooth.js:259 +#: ../js/ui/status/volume.js:66 msgid "Sound Settings" msgstr "Ljudinställningar" -#: ../js/ui/status/bluetooth.js:327 ../js/ui/status/bluetooth.js:361 -#: ../js/ui/status/bluetooth.js:401 ../js/ui/status/bluetooth.js:434 -msgid "Bluetooth Agent" -msgstr "" - -#: ../js/ui/status/bluetooth.js:362 +#: ../js/ui/status/bluetooth.js:368 #, c-format msgid "Authorization request from %s" -msgstr "" +msgstr "Auktoriseringsbegäran från %s" -#: ../js/ui/status/bluetooth.js:368 +#: ../js/ui/status/bluetooth.js:374 #, c-format msgid "Device %s wants access to the service '%s'" msgstr "Enheten %s vill ha åtkomst till tjänsten \"%s\"" -#: ../js/ui/status/bluetooth.js:370 +#: ../js/ui/status/bluetooth.js:376 msgid "Always grant access" msgstr "Tillåt alltid åtkomst" -#: ../js/ui/status/bluetooth.js:371 +#: ../js/ui/status/bluetooth.js:377 msgid "Grant this time only" msgstr "Tillåt för denna gång" -#: ../js/ui/status/bluetooth.js:372 +#: ../js/ui/status/bluetooth.js:378 msgid "Reject" msgstr "Neka" -#: ../js/ui/status/bluetooth.js:402 +#: ../js/ui/status/bluetooth.js:408 #, c-format msgid "Pairing confirmation for %s" -msgstr "" +msgstr "Bekräftelse av ihopparning för %s" -#: ../js/ui/status/bluetooth.js:408 ../js/ui/status/bluetooth.js:442 +#: ../js/ui/status/bluetooth.js:414 +#: ../js/ui/status/bluetooth.js:448 #, c-format msgid "Device %s wants to pair with this computer" -msgstr "" +msgstr "Enheten %s vill paras ihop med denna dator" -#: ../js/ui/status/bluetooth.js:409 +#: ../js/ui/status/bluetooth.js:415 #, c-format msgid "Please confirm whether the PIN '%s' matches the one on the device." -msgstr "" +msgstr "Bekräfta huruvida PIN-koden \"%s\" stämmer med den på enheten." -#: ../js/ui/status/bluetooth.js:411 +#: ../js/ui/status/bluetooth.js:417 msgid "Matches" -msgstr "" +msgstr "Stämmer" -#: ../js/ui/status/bluetooth.js:412 +#: ../js/ui/status/bluetooth.js:418 msgid "Does not match" -msgstr "" +msgstr "Stämmer inte" -#: ../js/ui/status/bluetooth.js:435 +#: ../js/ui/status/bluetooth.js:441 #, c-format msgid "Pairing request for %s" msgstr "Ihopparningsbegäran för %s" -#: ../js/ui/status/bluetooth.js:443 +#: ../js/ui/status/bluetooth.js:449 msgid "Please enter the PIN mentioned on the device." -msgstr "" +msgstr "Ange PIN-koden som anges på enheten." -#: ../js/ui/status/bluetooth.js:459 +#: ../js/ui/status/bluetooth.js:465 msgid "OK" msgstr "OK" -#: ../js/ui/status/bluetooth.js:460 -msgid "Cancel" -msgstr "Avbryt" +#: ../js/ui/status/keyboard.js:73 +msgid "Show Keyboard Layout..." +msgstr "Visa tangentbordslayout..." + +#: ../js/ui/status/keyboard.js:76 +msgid "Localization Settings" +msgstr "Språkinställningar" + +#: ../js/ui/status/network.js:102 +#: ../js/ui/status/network.js:1393 +msgid "" +msgstr "" + +#. Translators: this indicates that wireless or wwan is disabled by hardware killswitch +#: ../js/ui/status/network.js:295 +msgid "disabled" +msgstr "inaktiverad" + +#: ../js/ui/status/network.js:476 +msgid "connecting..." +msgstr "ansluter..." + +#. Translators: this is for network connections that require some kind of key or password +#: ../js/ui/status/network.js:479 +msgid "authentication required" +msgstr "autentisering krävs" + +#. Translators: this is for wired network devices that are physically disconnected +#: ../js/ui/status/network.js:485 +msgid "cable unplugged" +msgstr "kabeln är inte ansluten" + +#. 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:489 +msgid "unavailable" +msgstr "inte tillgänglig" + +#: ../js/ui/status/network.js:491 +msgid "connection failed" +msgstr "anslutningen misslyckades" + +#. TRANSLATORS: this is the indication that a connection for another logged in user is active, +#. and we cannot access its settings (including the name) +#: ../js/ui/status/network.js:571 +#: ../js/ui/status/network.js:1341 +msgid "Connected (private)" +msgstr "Ansluten (privat)" + +#: ../js/ui/status/network.js:636 +msgid "Auto Ethernet" +msgstr "Automatiskt ethernet" + +#: ../js/ui/status/network.js:697 +msgid "Auto broadband" +msgstr "Automatiskt bredband" + +#: ../js/ui/status/network.js:700 +msgid "Auto dial-up" +msgstr "Automatiskt uppringt nätverk" + +#. TRANSLATORS: this the automatic wireless connection name (including the network name) +#: ../js/ui/status/network.js:843 +#: ../js/ui/status/network.js:1353 +#, c-format +msgid "Auto %s" +msgstr "Automatiskt %s" + +#: ../js/ui/status/network.js:845 +msgid "Auto bluetooth" +msgstr "Automatisk Bluetooth" + +#: ../js/ui/status/network.js:1355 +msgid "Auto wireless" +msgstr "Automatiskt trådlöst nätverk" + +#: ../js/ui/status/network.js:1413 +msgid "More..." +msgstr "Mer..." + +#: ../js/ui/status/network.js:1436 +msgid "Enable networking" +msgstr "Aktivera nätverk" + +#: ../js/ui/status/network.js:1448 +msgid "Wired" +msgstr "Trådbundet" + +#: ../js/ui/status/network.js:1459 +msgid "Wireless" +msgstr "Trådlöst" + +#: ../js/ui/status/network.js:1469 +msgid "Mobile broadband" +msgstr "Mobilt bredband" + +#: ../js/ui/status/network.js:1479 +msgid "VPN Connections" +msgstr "VPN-anslutningar" + +#: ../js/ui/status/network.js:1488 +msgid "Network Settings" +msgstr "Nätverksinställningar" + +#: ../js/ui/status/network.js:1783 +#, c-format +msgid "You're now connected to mobile broadband connection '%s'" +msgstr "Du är nu ansluten till mobila bredbandsanslutningen \"%s\"" + +#: ../js/ui/status/network.js:1787 +#, c-format +msgid "You're now connected to wireless network '%s'" +msgstr "Du är nu ansluten till trådlösa nätverket \"%s\"" + +#: ../js/ui/status/network.js:1791 +#, c-format +msgid "You're now connected to wired network '%s'" +msgstr "Du är nu ansluten till trådbundna nätverket \"%s\"" + +#: ../js/ui/status/network.js:1795 +#, c-format +msgid "You're now connected to VPN network '%s'" +msgstr "Du är nu ansluten till VPN-nätverket \"%s\"" + +#: ../js/ui/status/network.js:1800 +#, c-format +msgid "You're now connected to '%s'" +msgstr "Du är nu ansluten till \"%s\"" + +#: ../js/ui/status/network.js:1808 +msgid "Connection established" +msgstr "Anslutningen etablerad" + +#: ../js/ui/status/network.js:1930 +msgid "Networking is disabled" +msgstr "Nätverk är inaktiverat" + +#: ../js/ui/status/network.js:2055 +msgid "Network Manager" +msgstr "Nätverkshanterare" #: ../js/ui/status/power.js:85 msgid "Power Settings" msgstr "Ströminställningar" -#: ../js/ui/status/power.js:112 +#. 0 is reported when UPower does not have enough data +#. to estimate battery life +#: ../js/ui/status/power.js:111 +msgid "Estimating..." +msgstr "Beräknar..." + +#: ../js/ui/status/power.js:118 #, c-format msgid "%d hour remaining" msgid_plural "%d hours remaining" @@ -720,102 +916,103 @@ msgstr[0] "%d timme återstår" msgstr[1] "%d timmar återstår" #. TRANSLATORS: this is a time string, as in "%d hours %d minutes remaining" -#: ../js/ui/status/power.js:115 +#: ../js/ui/status/power.js:121 #, c-format msgid "%d %s %d %s remaining" msgstr "%d %s %d %s återstår" -#: ../js/ui/status/power.js:117 +#: ../js/ui/status/power.js:123 msgid "hour" msgid_plural "hours" msgstr[0] "timme" msgstr[1] "timmar" -#: ../js/ui/status/power.js:117 +#: ../js/ui/status/power.js:123 msgid "minute" msgid_plural "minutes" msgstr[0] "minut" msgstr[1] "minuter" -#: ../js/ui/status/power.js:120 +#: ../js/ui/status/power.js:126 #, c-format msgid "%d minute remaining" msgid_plural "%d minutes remaining" msgstr[0] "%d minut återstår" msgstr[1] "%d minuter återstår" -#: ../js/ui/status/power.js:237 +#: ../js/ui/status/power.js:228 msgid "AC adapter" -msgstr "" +msgstr "Extern ström" -#: ../js/ui/status/power.js:239 +#: ../js/ui/status/power.js:230 msgid "Laptop battery" -msgstr "" +msgstr "Batteri i bärbar dator" -#: ../js/ui/status/power.js:241 +#: ../js/ui/status/power.js:232 msgid "UPS" msgstr "UPS-reservström" -#: ../js/ui/status/power.js:243 +#: ../js/ui/status/power.js:234 msgid "Monitor" msgstr "Skärm" -#: ../js/ui/status/power.js:245 +#: ../js/ui/status/power.js:236 msgid "Mouse" msgstr "Mus" -#: ../js/ui/status/power.js:247 +#: ../js/ui/status/power.js:238 msgid "Keyboard" msgstr "Tangentbord" -#: ../js/ui/status/power.js:249 +#: ../js/ui/status/power.js:240 msgid "PDA" msgstr "Handdator" -#: ../js/ui/status/power.js:251 +#: ../js/ui/status/power.js:242 msgid "Cell phone" msgstr "Mobiltelefon" -#: ../js/ui/status/power.js:253 +#: ../js/ui/status/power.js:244 msgid "Media player" msgstr "Mediaspelare" -#: ../js/ui/status/power.js:255 +#: ../js/ui/status/power.js:246 msgid "Tablet" msgstr "Pekdator" -#: ../js/ui/status/power.js:257 +#: ../js/ui/status/power.js:248 msgid "Computer" msgstr "Dator" -#: ../js/ui/status/power.js:259 ../src/shell-app-system.c:1012 +#: ../js/ui/status/power.js:250 +#: ../src/shell-app-system.c:1088 msgid "Unknown" msgstr "Okänt" -#: ../js/ui/status/volume.js:41 +#: ../js/ui/status/volume.js:45 msgid "Volume" msgstr "Volym" -#: ../js/ui/status/volume.js:54 +#: ../js/ui/status/volume.js:58 msgid "Microphone" msgstr "Mikrofon" -#: ../js/ui/telepathyClient.js:560 +#: ../js/ui/telepathyClient.js:332 #, c-format msgid "%s is online." msgstr "%s är ansluten." -#: ../js/ui/telepathyClient.js:565 +#: ../js/ui/telepathyClient.js:337 #, c-format msgid "%s is offline." msgstr "%s är frånkopplad." -#: ../js/ui/telepathyClient.js:568 +#: ../js/ui/telepathyClient.js:340 #, c-format msgid "%s is away." msgstr "%s är frånvarande." -#: ../js/ui/telepathyClient.js:571 +#: ../js/ui/telepathyClient.js:343 #, c-format msgid "%s is busy." msgstr "%s är upptagen." @@ -823,39 +1020,37 @@ msgstr "%s är upptagen." #. Translators: this is a time format string followed by a date. #. If applicable, replace %X with a strftime format valid for your #. locale, without seconds. -#: ../js/ui/telepathyClient.js:665 +#: ../js/ui/telepathyClient.js:474 #, no-c-format msgid "Sent at %X on %A" msgstr "Skickades klockan %X på %A" -#: ../js/ui/viewSelector.js:26 -msgid "Search your computer" -msgstr "Sök i din dator" +#. Translators: this is the text displayed +#. in the search entry when no search is +#. active; it should not exceed ~30 +#. characters. +#: ../js/ui/viewSelector.js:122 +msgid "Type to search..." +msgstr "Skriv för att söka..." -#: ../js/ui/windowAttentionHandler.js:43 +#: ../js/ui/viewSelector.js:142 +#: ../src/shell-util.c:250 +msgid "Search" +msgstr "Sök" + +#: ../js/ui/windowAttentionHandler.js:42 #, c-format msgid "%s has finished starting" msgstr "%s har startat" -#: ../js/ui/windowAttentionHandler.js:45 +#: ../js/ui/windowAttentionHandler.js:44 #, c-format msgid "'%s' is ready" msgstr "\"%s\" är redo" -#: ../js/ui/workspacesView.js:244 -msgid "" -"Can't add a new workspace because maximum workspaces limit has been reached." -msgstr "" -"Kan inte lägga till en ny arbetsyta eftersom maximalt antal arbetsytor har " -"uppnåtts." - -#: ../js/ui/workspacesView.js:260 -msgid "Can't remove the first workspace." -msgstr "Kan inte ta bort första arbetsytan." - #. translators: #. * The number of sound outputs on a particular device -#: ../src/gvc/gvc-mixer-control.c:1094 +#: ../src/gvc/gvc-mixer-control.c:1098 #, c-format msgid "%u Output" msgid_plural "%u Outputs" @@ -864,49 +1059,70 @@ msgstr[1] "%u utgångar" #. translators: #. * The number of sound inputs on a particular device -#: ../src/gvc/gvc-mixer-control.c:1104 +#: ../src/gvc/gvc-mixer-control.c:1108 #, c-format msgid "%u Input" msgid_plural "%u Inputs" msgstr[0] "%u ingång" msgstr[1] "%u ingångar" -#: ../src/gvc/gvc-mixer-control.c:1402 +#: ../src/gvc/gvc-mixer-control.c:1406 msgid "System Sounds" msgstr "Systemljud" -#: ../src/shell-global.c:1156 +#: ../src/main.c:446 +msgid "Print version" +msgstr "Skriv ut version" + +#: ../src/shell-app.c:454 +#, c-format +msgid "Failed to launch '%s'" +msgstr "Misslyckades med att starta \"%s\"" + +#: ../src/shell-global.c:1395 msgid "Less than a minute ago" msgstr "Mindre än en minut sedan" -#: ../src/shell-global.c:1160 +#: ../src/shell-global.c:1399 #, c-format msgid "%d minute ago" msgid_plural "%d minutes ago" msgstr[0] "%d minut sedan" msgstr[1] "%d minuter sedan" -#: ../src/shell-global.c:1165 +#: ../src/shell-global.c:1404 #, c-format msgid "%d hour ago" msgid_plural "%d hours ago" msgstr[0] "%d timme sedan" msgstr[1] "%d timmar sedan" -#: ../src/shell-global.c:1170 +#: ../src/shell-global.c:1409 #, c-format msgid "%d day ago" msgid_plural "%d days ago" msgstr[0] "%d dag sedan" msgstr[1] "%d dagar sedan" -#: ../src/shell-global.c:1175 +#: ../src/shell-global.c:1414 #, c-format msgid "%d week ago" msgid_plural "%d weeks ago" msgstr[0] "%d vecka sedan" msgstr[1] "%d veckor sedan" +#: ../src/shell-mobile-providers.c:80 +msgid "United Kingdom" +msgstr "" + +#: ../src/shell-mobile-providers.c:526 +msgid "Default" +msgstr "Standard" + +#: ../src/shell-polkit-authentication-agent.c:334 +msgid "Authentication dialog was dismissed by the user" +msgstr "Autentiseringsdialogen stängdes av användaren" + #: ../src/shell-util.c:89 msgid "Home Folder" msgstr "Hemmapp" @@ -917,10 +1133,6 @@ msgstr "Hemmapp" msgid "File System" msgstr "Filsystem" -#: ../src/shell-util.c:250 -msgid "Search" -msgstr "Sök" - #. Translators: the first string is the name of a gvfs #. * method, and the second string is a path. For #. * example, "Trash: some-directory". It means that the @@ -931,68 +1143,97 @@ msgstr "Sök" msgid "%1$s: %2$s" msgstr "%1$s: %2$s" +#, fuzzy +#~ msgid "No such application" +#~ msgstr "Program" + +#, fuzzy +#~ msgid "Shut Down" +#~ msgstr "Stäng av..." +#~ msgid "Screen Reader" +#~ msgstr "Skärmläsare" +#~ msgid "Screen Keyboard" +#~ msgstr "Skärmtangentbord" +#~ msgid "Clock" +#~ msgstr "Klocka" +#~ msgid "Customize the panel clock" +#~ msgstr "Anpassa panelklockan" +#~ msgid "Custom format of the clock" +#~ msgstr "Anpassat format för klockan" +#~ msgid "Hour format" +#~ msgstr "Timmesformat" +#~ msgid "" +#~ "If true and format is either \"12-hour\" or \"24-hour\", display seconds " +#~ "in time." +#~ msgstr "" +#~ "Om true och formatet antingen är \"12-hour\" eller \"24-hour\", visa " +#~ "sekunder i tiden." +#~ msgid "Enable lens mode" +#~ msgstr "Aktivera linsläge" +#~ msgid "Magnification factor" +#~ msgstr "Förstoringsfaktor" +#~ msgid "Screen position" +#~ msgstr "Skärmposition" +#~ msgid "Clock Format" +#~ msgstr "Klockformat" +#~ msgid "Clock Preferences" +#~ msgstr "Klockinställningar" +#~ msgid "Panel Display" +#~ msgstr "Panelvisning" +#~ msgid "Show seco_nds" +#~ msgstr "Visa seku_nder" +#~ msgid "Show the _date" +#~ msgstr "Visa _datum" +#~ msgid "_12 hour format" +#~ msgstr "_12-timmarsformat" +#~ msgid "_24 hour format" +#~ msgstr "_24-timmarsformat" +#~ msgid "PREFERENCES" +#~ msgstr "INSTÄLLNINGAR" +#~ msgid "Preferences" +#~ msgstr "Inställningar" +#~ msgid "Search your computer" +#~ msgstr "Sök i din dator" +#~ msgid "" +#~ "Can't add a new workspace because maximum workspaces limit has been " +#~ "reached." +#~ msgstr "" +#~ "Kan inte lägga till en ny arbetsyta eftersom maximalt antal arbetsytor " +#~ "har uppnåtts." +#~ msgid "Can't remove the first workspace." +#~ msgstr "Kan inte ta bort första arbetsytan." #~ msgid "Drag here to add favorites" #~ msgstr "Dra hit för att lägga till favorit" - #~ msgid "Find" #~ msgstr "Sök" - -#~ msgid "Searching..." -#~ msgstr "Söker..." - -#~ msgid "No matching results." -#~ msgstr "Inga sökträffar." - #~ msgid "ON" #~ msgstr "PÅ" - #~ msgid "OFF" #~ msgstr "AV" - #~ msgid "Invisible" #~ msgstr "Osynlig" - -#~ msgid "Account Information..." -#~ msgstr "Kontoinformation..." - #~ msgid "PLACES" #~ msgstr "PLATSER" - #~ msgid "SEARCH RESULTS" #~ msgstr "SÖKRESULTAT" - -#~ msgid "%H:%M" -#~ msgstr "%H.%M" - #~ msgid "Recent Documents" #~ msgstr "Senaste dokument" - #~ msgid "(see all)" #~ msgstr "(se alla)" - #~ msgid "Can't lock screen: %s" #~ msgstr "Kan inte låsa skärmen: %s" - #~ msgid "Can't temporarily set screensaver to blank screen: %s" #~ msgstr "Kan inte temporärt ställa in skärmsläckaren till blank skärm: %s" - #~ msgid "Can't logout: %s" #~ msgstr "Kan inte logga ut: %s" - #~ msgid "Sidebar" #~ msgstr "Sidopanel" - #~ msgid "Browse" #~ msgstr "Bläddra" - #~ msgid "Find apps or documents" #~ msgstr "Hitta program eller dokument" - #~ msgid "DOCUMENTS" #~ msgstr "DOKUMENT" - -#~ msgid "Manager" -#~ msgstr "Hanterare" - #~ msgid "The user manager object this user is controlled by." #~ msgstr "Användarhanteringsobjektet som denna användare styrs av." + From bfba97647e47fdb8d15d45e5f406a622cf529c81 Mon Sep 17 00:00:00 2001 From: Kjartan Maraas Date: Wed, 23 Mar 2011 21:49:24 +0100 Subject: [PATCH 179/203] Mark strings for translation in the right way --- js/ui/polkitAuthenticationAgent.js | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/js/ui/polkitAuthenticationAgent.js b/js/ui/polkitAuthenticationAgent.js index 22535b785..9c682cfdc 100644 --- a/js/ui/polkitAuthenticationAgent.js +++ b/js/ui/polkitAuthenticationAgent.js @@ -71,7 +71,7 @@ AuthenticationDialog.prototype = { { y_align: St.Align.START }); this._subjectLabel = new St.Label({ style_class: 'polkit-dialog-headline', - text: _('Authentication Required') }); + text: _("Authentication Required") }); messageBox.add(this._subjectLabel, { y_fill: false, @@ -105,7 +105,7 @@ AuthenticationDialog.prototype = { let userIsRoot = false; if (userName == 'root') { userIsRoot = true; - userRealName = _('Administrator'); + userRealName = _("Administrator"); } if (userIsRoot) { @@ -139,7 +139,7 @@ AuthenticationDialog.prototype = { this._passwordLabel = new St.Label(({ style_class: 'polkit-dialog-password-label' })); this._passwordBox.add(this._passwordLabel); this._passwordEntry = new St.Entry({ style_class: 'polkit-dialog-password-entry', - text: _(''), + text: _(""), can_focus: true}); this._passwordEntry.clutter_text.connect('activate', Lang.bind(this, this._onEntryActivate)); this._passwordBox.add(this._passwordEntry, @@ -169,11 +169,11 @@ AuthenticationDialog.prototype = { messageBox.add(this._nullMessageLabel); this._nullMessageLabel.show(); - this.setButtons([{ label: _('Cancel'), + this.setButtons([{ label: _("Cancel"), action: Lang.bind(this, this.cancel), key: Clutter.Escape }, - { label: _('Authenticate'), + { label: _("Authenticate"), action: Lang.bind(this, this._onAuthenticateButtonPressed) }]); @@ -257,7 +257,7 @@ AuthenticationDialog.prototype = { * show "Sorry, that didn't work. Please try again." */ if (!this._errorMessageLabel.visible && !this._wasDismissed) { - this._errorMessageLabel.set_text(_('Sorry, that didn\'t work. Please try again.')); + this._errorMessageLabel.set_text(_("Sorry, that didn\'t work. Please try again.")); this._errorMessageLabel.show(); this._infoMessageLabel.hide(); this._nullMessageLabel.hide(); @@ -269,7 +269,7 @@ AuthenticationDialog.prototype = { _onSessionRequest: function(session, request, echo_on) { // Cheap localization trick if (request == 'Password:') - this._passwordLabel.set_text(_('Password:')); + this._passwordLabel.set_text(_("Password:")); else this._passwordLabel.set_text(request); From ee6693e6e3cd3c8bb567f867d729e0ac71755481 Mon Sep 17 00:00:00 2001 From: Kjartan Maraas Date: Thu, 24 Mar 2011 09:01:16 +0100 Subject: [PATCH 180/203] Don't translate empty string --- js/ui/polkitAuthenticationAgent.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/js/ui/polkitAuthenticationAgent.js b/js/ui/polkitAuthenticationAgent.js index 9c682cfdc..8f7703c9f 100644 --- a/js/ui/polkitAuthenticationAgent.js +++ b/js/ui/polkitAuthenticationAgent.js @@ -139,7 +139,7 @@ AuthenticationDialog.prototype = { this._passwordLabel = new St.Label(({ style_class: 'polkit-dialog-password-label' })); this._passwordBox.add(this._passwordLabel); this._passwordEntry = new St.Entry({ style_class: 'polkit-dialog-password-entry', - text: _(""), + text: "", can_focus: true}); this._passwordEntry.clutter_text.connect('activate', Lang.bind(this, this._onEntryActivate)); this._passwordBox.add(this._passwordEntry, From f8874fec0f6e144323cbabff1d40d443f3104e5e Mon Sep 17 00:00:00 2001 From: Kjartan Maraas Date: Thu, 24 Mar 2011 09:01:41 +0100 Subject: [PATCH 181/203] Add file to POTFILES.in --- po/POTFILES.in | 1 + 1 file changed, 1 insertion(+) diff --git a/po/POTFILES.in b/po/POTFILES.in index 17e8a4d31..6c87e1517 100644 --- a/po/POTFILES.in +++ b/po/POTFILES.in @@ -13,6 +13,7 @@ js/ui/messageTray.js js/ui/overview.js js/ui/panel.js js/ui/placeDisplay.js +js/ui/polkitAuthenticationAgent.js js/ui/popupMenu.js js/ui/runDialog.js js/ui/searchDisplay.js From 038f4e8bde79191447acd30d71d1663c34a924c6 Mon Sep 17 00:00:00 2001 From: Kjartan Maraas Date: Thu, 24 Mar 2011 09:03:07 +0100 Subject: [PATCH 182/203] =?UTF-8?q?Updated=20Norwegian=20bokm=C3=A5l=20tra?= =?UTF-8?q?nslation?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- po/nb.po | 212 ++++++++++++++++++++++++++++++------------------------- 1 file changed, 116 insertions(+), 96 deletions(-) diff --git a/po/nb.po b/po/nb.po index f4fa67a8d..387f1ead5 100644 --- a/po/nb.po +++ b/po/nb.po @@ -4,12 +4,13 @@ # # Kjartan Maraas , 2009-2011. # Torstein Adolf Winterseth , 2010. +#: ../js/ui/polkitAuthenticationAgent.js:142 msgid "" msgstr "" "Project-Id-Version: gnome-shell 2.91.x\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2011-03-17 09:36+0100\n" -"PO-Revision-Date: 2011-03-17 09:44+0100\n" +"POT-Creation-Date: 2011-03-23 21:46+0100\n" +"PO-Revision-Date: 2011-03-23 21:47+0100\n" "Last-Translator: Kjartan Maraas \n" "Language-Team: Norwegian Bokmål \n" "Language: \n" @@ -163,27 +164,27 @@ msgid "Execution of '%s' failed:" msgstr "Kjøring av «%s» feilet:" #. Translators: Filter to display all applications -#: ../js/ui/appDisplay.js:226 +#: ../js/ui/appDisplay.js:230 msgid "All" msgstr "Alle" -#: ../js/ui/appDisplay.js:324 +#: ../js/ui/appDisplay.js:328 msgid "APPLICATIONS" msgstr "PROGRAMMER" -#: ../js/ui/appDisplay.js:350 +#: ../js/ui/appDisplay.js:354 msgid "SETTINGS" msgstr "INNSTILLINGER" -#: ../js/ui/appDisplay.js:612 +#: ../js/ui/appDisplay.js:625 msgid "New Window" msgstr "Nytt vindu" -#: ../js/ui/appDisplay.js:615 +#: ../js/ui/appDisplay.js:628 msgid "Remove from Favorites" msgstr "Fjern fra favoritter" -#: ../js/ui/appDisplay.js:616 +#: ../js/ui/appDisplay.js:629 msgid "Add to Favorites" msgstr "Legg til i favoritter" @@ -343,7 +344,7 @@ msgstr "Denne uken" msgid "Next week" msgstr "Neste uke" -#: ../js/ui/dash.js:174 ../js/ui/messageTray.js:933 +#: ../js/ui/dash.js:174 ../js/ui/messageTray.js:994 msgid "Remove" msgstr "Fjern" @@ -411,7 +412,7 @@ msgstr "SISTE OPPFØRINGER" msgid "Log Out %s" msgstr "Logg ut %s" -#: ../js/ui/endSessionDialog.js:64 ../js/ui/endSessionDialog.js:69 +#: ../js/ui/endSessionDialog.js:64 ../js/ui/endSessionDialog.js:70 msgid "Log Out" msgstr "Logg ut" @@ -434,47 +435,46 @@ msgstr "Du vil bli logget ut automatisk om %d sekunder." msgid "Logging out of the system." msgstr "Logger ut av systemet" -#: ../js/ui/endSessionDialog.js:74 ../js/ui/endSessionDialog.js:78 -msgid "Shut Down" -msgstr "Avslutt" - -#: ../js/ui/endSessionDialog.js:75 -msgid "Click Shut Down to quit these applications and shut down the system." -msgstr "Klikk Avslutt for å avslutte disse programmene og stenge ned systemet." +#: ../js/ui/endSessionDialog.js:75 ../js/ui/endSessionDialog.js:82 +msgid "Power Off" +msgstr "Slå av" #: ../js/ui/endSessionDialog.js:76 -#, c-format -msgid "The system will shut down automatically in %d seconds." -msgstr "Systemet vil slås av automatisk om %d sekunder." +msgid "Click Power Off to quit these applications and power off the system." +msgstr "" +"Klikk «Slå av» for å avslutte disse programmene og logge ut av systemet." #: ../js/ui/endSessionDialog.js:77 -msgid "Shutting down the system." +#, c-format +msgid "The system will power off automatically in %d seconds." +msgstr "Systemet vil slås av automatisk om %d sekunder." + +#: ../js/ui/endSessionDialog.js:78 +msgid "Powering off the system." msgstr "Slår av systemet." -#: ../js/ui/endSessionDialog.js:84 ../js/ui/endSessionDialog.js:88 +#: ../js/ui/endSessionDialog.js:80 ../js/ui/endSessionDialog.js:88 +#: ../js/ui/endSessionDialog.js:93 msgid "Restart" msgstr "Start på nytt" -#: ../js/ui/endSessionDialog.js:85 +#: ../js/ui/endSessionDialog.js:89 msgid "Click Restart to quit these applications and restart the system." msgstr "" "Klikk Start på nytt for å avslutte disse programmene og starte systemet på " "nytt." -#: ../js/ui/endSessionDialog.js:86 +#: ../js/ui/endSessionDialog.js:90 #, c-format msgid "The system will restart automatically in %d seconds." msgstr "Systemet vil starte på nytt automatisk om %d sekunder." -#: ../js/ui/endSessionDialog.js:87 +#: ../js/ui/endSessionDialog.js:91 msgid "Restarting the system." msgstr "Starter systemet på nytt." -#: ../js/ui/endSessionDialog.js:395 -msgid "Confirm" -msgstr "Bekreft" - -#: ../js/ui/endSessionDialog.js:400 ../js/ui/status/bluetooth.js:465 +#: ../js/ui/endSessionDialog.js:415 ../js/ui/polkitAuthenticationAgent.js:172 +#: ../js/ui/status/bluetooth.js:466 msgid "Cancel" msgstr "Avbryt" @@ -508,47 +508,47 @@ msgstr "Vis kildekode" msgid "Web Page" msgstr "Nettside" -#: ../js/ui/messageTray.js:926 +#: ../js/ui/messageTray.js:987 msgid "Open" msgstr "Åpne" -#: ../js/ui/messageTray.js:1986 +#: ../js/ui/messageTray.js:2145 msgid "System Information" msgstr "Systeminformasjon" -#: ../js/ui/overview.js:88 +#: ../js/ui/overview.js:91 msgid "Undo" msgstr "Angre" -#: ../js/ui/overview.js:183 +#: ../js/ui/overview.js:186 msgid "Windows" msgstr "Vinduer" -#: ../js/ui/overview.js:186 +#: ../js/ui/overview.js:189 msgid "Applications" msgstr "Programmer" #. Translators: this is the name of the dock/favorites area on #. the left of the overview -#: ../js/ui/overview.js:202 +#: ../js/ui/overview.js:205 msgid "Dash" msgstr "Favoritter" #. TODO - _quit() doesn't really work on apps in state STARTING yet -#: ../js/ui/panel.js:514 +#: ../js/ui/panel.js:515 #, c-format msgid "Quit %s" msgstr "Avslutt %s" #. Button on the left side of the panel. #. Translators: If there is no suitable word for "Activities" in your language, you can use the word for "Overview". -#: ../js/ui/panel.js:873 +#: ../js/ui/panel.js:878 msgid "Activities" msgstr "Aktiviteter" -#: ../js/ui/panel.js:974 -msgid "Panel" -msgstr "Panel" +#: ../js/ui/panel.js:979 +msgid "Top Bar" +msgstr "Topp-panel" #: ../js/ui/placeDisplay.js:122 #, c-format @@ -567,60 +567,80 @@ msgstr "Koble til …" msgid "PLACES & DEVICES" msgstr "STEDER & ENHETER" +#: ../js/ui/polkitAuthenticationAgent.js:74 +msgid "Authentication Required" +msgstr "Autentisering kreves" + +#: ../js/ui/polkitAuthenticationAgent.js:108 +msgid "Administrator" +msgstr "Administrator" + +#: ../js/ui/polkitAuthenticationAgent.js:176 +msgid "Authenticate" +msgstr "Autentiser" + +#: ../js/ui/polkitAuthenticationAgent.js:260 +msgid "Sorry, that didn't work. Please try again." +msgstr "Beklager, det virket ikke. Vennligst prøv igjen." + +#: ../js/ui/polkitAuthenticationAgent.js:272 +msgid "Password:" +msgstr "Passord:" + #. Translators: this MUST be either "toggle-switch-us" #. (for toggle switches containing the English words #. "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:636 +#: ../js/ui/popupMenu.js:679 msgid "toggle-switch-us" msgstr "toggle-switch-intl" -#: ../js/ui/runDialog.js:201 +#: ../js/ui/runDialog.js:205 msgid "Please enter a command:" msgstr "Oppgi en kommando:" -#: ../js/ui/searchDisplay.js:283 +#: ../js/ui/searchDisplay.js:310 msgid "Searching..." msgstr "Søker …" -#: ../js/ui/searchDisplay.js:297 +#: ../js/ui/searchDisplay.js:324 msgid "No matching results." msgstr "Ingen treff." -#: ../js/ui/statusMenu.js:114 ../js/ui/statusMenu.js:178 +#: ../js/ui/statusMenu.js:161 ../js/ui/statusMenu.js:228 msgid "Power Off..." msgstr "Slå av …" -#: ../js/ui/statusMenu.js:116 ../js/ui/statusMenu.js:177 +#: ../js/ui/statusMenu.js:163 ../js/ui/statusMenu.js:227 msgid "Suspend" msgstr "Hvilemodus" -#: ../js/ui/statusMenu.js:137 +#: ../js/ui/statusMenu.js:184 msgid "Available" msgstr "Tilgjengelig" -#: ../js/ui/statusMenu.js:142 +#: ../js/ui/statusMenu.js:189 msgid "Busy" msgstr "Opptatt" -#: ../js/ui/statusMenu.js:150 +#: ../js/ui/statusMenu.js:197 msgid "My Account" msgstr "Min konto" -#: ../js/ui/statusMenu.js:154 +#: ../js/ui/statusMenu.js:201 msgid "System Settings" msgstr "Systeminnstillinger" -#: ../js/ui/statusMenu.js:161 +#: ../js/ui/statusMenu.js:208 msgid "Lock Screen" msgstr "Lås skjerm" -#: ../js/ui/statusMenu.js:165 +#: ../js/ui/statusMenu.js:213 msgid "Switch User" msgstr "Bytt bruker" -#: ../js/ui/statusMenu.js:170 +#: ../js/ui/statusMenu.js:218 msgid "Log Out..." msgstr "Logg ut …" @@ -666,9 +686,9 @@ msgstr "Høy kontrast" msgid "Large Text" msgstr "Stor tekst" -#: ../js/ui/status/bluetooth.js:42 ../js/ui/status/bluetooth.js:236 -#: ../js/ui/status/bluetooth.js:332 ../js/ui/status/bluetooth.js:366 -#: ../js/ui/status/bluetooth.js:406 ../js/ui/status/bluetooth.js:439 +#: ../js/ui/status/bluetooth.js:42 ../js/ui/status/bluetooth.js:237 +#: ../js/ui/status/bluetooth.js:333 ../js/ui/status/bluetooth.js:367 +#: ../js/ui/status/bluetooth.js:407 ../js/ui/status/bluetooth.js:440 msgid "Bluetooth" msgstr "Bluetooth" @@ -688,94 +708,94 @@ msgstr "Sett opp en ny enhet …" msgid "Bluetooth Settings" msgstr "Innstillinger for Bluetooth" -#: ../js/ui/status/bluetooth.js:187 +#: ../js/ui/status/bluetooth.js:188 msgid "Connection" msgstr "Tilkobling" -#: ../js/ui/status/bluetooth.js:223 +#: ../js/ui/status/bluetooth.js:224 msgid "Send Files..." msgstr "Send filer …" -#: ../js/ui/status/bluetooth.js:228 +#: ../js/ui/status/bluetooth.js:229 msgid "Browse Files..." msgstr "Bla gjennom filer …" -#: ../js/ui/status/bluetooth.js:237 +#: ../js/ui/status/bluetooth.js:238 msgid "Error browsing device" msgstr "Feil under lesing av enhet" -#: ../js/ui/status/bluetooth.js:238 +#: ../js/ui/status/bluetooth.js:239 #, c-format msgid "The requested device cannot be browsed, error is '%s'" msgstr "Kan ikke bla gjennom forespurt enhet. Feilen er «%s»" -#: ../js/ui/status/bluetooth.js:246 +#: ../js/ui/status/bluetooth.js:247 msgid "Keyboard Settings" msgstr "Innstillinger for tastatur" -#: ../js/ui/status/bluetooth.js:251 +#: ../js/ui/status/bluetooth.js:252 msgid "Mouse Settings" msgstr "Innstillinger for mus" -#: ../js/ui/status/bluetooth.js:258 ../js/ui/status/volume.js:66 +#: ../js/ui/status/bluetooth.js:259 ../js/ui/status/volume.js:66 msgid "Sound Settings" msgstr "Innstillinger for lyd" -#: ../js/ui/status/bluetooth.js:367 +#: ../js/ui/status/bluetooth.js:368 #, c-format msgid "Authorization request from %s" msgstr "Forespørsel om autorisering fra %s" -#: ../js/ui/status/bluetooth.js:373 +#: ../js/ui/status/bluetooth.js:374 #, 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:375 +#: ../js/ui/status/bluetooth.js:376 msgid "Always grant access" msgstr "Alltid gi tilgang" -#: ../js/ui/status/bluetooth.js:376 +#: ../js/ui/status/bluetooth.js:377 msgid "Grant this time only" msgstr "Gi tilgang kun denne ene gangen" -#: ../js/ui/status/bluetooth.js:377 +#: ../js/ui/status/bluetooth.js:378 msgid "Reject" msgstr "Avvis" -#: ../js/ui/status/bluetooth.js:407 +#: ../js/ui/status/bluetooth.js:408 #, c-format msgid "Pairing confirmation for %s" msgstr "Bekreftelse for tilkobling for %s" -#: ../js/ui/status/bluetooth.js:413 ../js/ui/status/bluetooth.js:447 +#: ../js/ui/status/bluetooth.js:414 ../js/ui/status/bluetooth.js:448 #, 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:414 +#: ../js/ui/status/bluetooth.js:415 #, c-format msgid "Please confirm whether the PIN '%s' matches the one on the device." msgstr "Vennligst bekreft om PIN «%s» er lik den som brukes på enheten." -#: ../js/ui/status/bluetooth.js:416 +#: ../js/ui/status/bluetooth.js:417 msgid "Matches" msgstr "Stemmer overens" -#: ../js/ui/status/bluetooth.js:417 +#: ../js/ui/status/bluetooth.js:418 msgid "Does not match" msgstr "Stemmer ikke overens" -#: ../js/ui/status/bluetooth.js:440 +#: ../js/ui/status/bluetooth.js:441 #, c-format msgid "Pairing request for %s" msgstr "Forespørsel om tilkobling for %s" -#: ../js/ui/status/bluetooth.js:448 +#: ../js/ui/status/bluetooth.js:449 msgid "Please enter the PIN mentioned on the device." msgstr "Vennligst oppgi PIN som oppgitt på enheten." -#: ../js/ui/status/bluetooth.js:464 +#: ../js/ui/status/bluetooth.js:465 msgid "OK" msgstr "OK" @@ -880,40 +900,40 @@ msgstr "VPN-tilkoblinger" msgid "Network Settings" msgstr "Innstillinger for nettverk" -#: ../js/ui/status/network.js:1782 +#: ../js/ui/status/network.js:1783 #, c-format msgid "You're now connected to mobile broadband connection '%s'" msgstr "Du er nå koblet til mobil bredbåndstilkobling «%s»" -#: ../js/ui/status/network.js:1786 +#: ../js/ui/status/network.js:1787 #, c-format msgid "You're now connected to wireless network '%s'" msgstr "Du er nå koblet til trådløst nettverk «%s»" -#: ../js/ui/status/network.js:1790 +#: ../js/ui/status/network.js:1791 #, c-format msgid "You're now connected to wired network '%s'" msgstr "Du er nå koblet til kablet nettverk «%s»" -#: ../js/ui/status/network.js:1794 +#: ../js/ui/status/network.js:1795 #, c-format msgid "You're now connected to VPN network '%s'" msgstr "Du er nå koblet til virtuelt privat nettverk «%s»" -#: ../js/ui/status/network.js:1799 +#: ../js/ui/status/network.js:1800 #, c-format msgid "You're now connected to '%s'" msgstr "Du er nå koblet til «%s»" -#: ../js/ui/status/network.js:1807 +#: ../js/ui/status/network.js:1808 msgid "Connection established" msgstr "Tilkobling etablert" -#: ../js/ui/status/network.js:1929 +#: ../js/ui/status/network.js:1930 msgid "Networking is disabled" msgstr "Nettverk er slått av" -#: ../js/ui/status/network.js:2054 +#: ../js/ui/status/network.js:2055 msgid "Network Manager" msgstr "Nettverkshåndtering" @@ -1003,7 +1023,7 @@ msgstr "Nettbrett" msgid "Computer" msgstr "Datamaskin" -#: ../js/ui/status/power.js:250 ../src/shell-app-system.c:961 +#: ../js/ui/status/power.js:250 ../src/shell-app-system.c:1088 msgid "Unknown" msgstr "Ukjent" @@ -1047,11 +1067,11 @@ msgstr "Sendt %X på %A" #. in the search entry when no search is #. active; it should not exceed ~30 #. characters. -#: ../js/ui/viewSelector.js:119 +#: ../js/ui/viewSelector.js:122 msgid "Type to search..." msgstr "Skriv for å søke …" -#: ../js/ui/viewSelector.js:139 ../src/shell-util.c:250 +#: ../js/ui/viewSelector.js:142 ../src/shell-util.c:250 msgid "Search" msgstr "Søk" @@ -1087,41 +1107,41 @@ msgstr[1] "%u innganger" msgid "System Sounds" msgstr "Systemlyder" -#: ../src/main.c:395 +#: ../src/main.c:438 msgid "Print version" msgstr "Skriv ut versjon" -#: ../src/shell-app.c:442 +#: ../src/shell-app.c:454 #, c-format msgid "Failed to launch '%s'" msgstr "Klarte ikke å starte «%s»" -#: ../src/shell-global.c:1340 +#: ../src/shell-global.c:1395 msgid "Less than a minute ago" msgstr "Mindre enn ett minutt siden" -#: ../src/shell-global.c:1344 +#: ../src/shell-global.c:1399 #, c-format msgid "%d minute ago" msgid_plural "%d minutes ago" msgstr[0] "%d minutt siden" msgstr[1] "%d minutter siden" -#: ../src/shell-global.c:1349 +#: ../src/shell-global.c:1404 #, c-format msgid "%d hour ago" msgid_plural "%d hours ago" msgstr[0] "%d time siden" msgstr[1] "%d timer siden" -#: ../src/shell-global.c:1354 +#: ../src/shell-global.c:1409 #, c-format msgid "%d day ago" msgid_plural "%d days ago" msgstr[0] "%d dag siden" msgstr[1] "%d dager siden" -#: ../src/shell-global.c:1359 +#: ../src/shell-global.c:1414 #, c-format msgid "%d week ago" msgid_plural "%d weeks ago" From 68968d2b406ed5ddb3feab30a27d36d0b8295330 Mon Sep 17 00:00:00 2001 From: Aron Xu Date: Thu, 24 Mar 2011 16:09:59 +0800 Subject: [PATCH 183/203] Update Simplified Chinese translation. --- po/zh_CN.po | 29 +++++++++++++++++++++++++---- 1 file changed, 25 insertions(+), 4 deletions(-) diff --git a/po/zh_CN.po b/po/zh_CN.po index aeafeeaf1..ddd80c32b 100644 --- a/po/zh_CN.po +++ b/po/zh_CN.po @@ -16,8 +16,8 @@ msgid "" msgstr "" "Project-Id-Version: gnome-shell master\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2011-03-23 21:37+0800\n" -"PO-Revision-Date: 2011-03-23 23:57+0800\n" +"POT-Creation-Date: 2011-03-24 16:07+0800\n" +"PO-Revision-Date: 2011-03-24 16:09+0800\n" "Last-Translator: Aron Xu \n" "Language-Team: Chinese (simplified) \n" "Language: zh_CN\n" @@ -487,7 +487,8 @@ msgstr "系统将在 %d 秒后自动重启。" msgid "Restarting the system." msgstr "重启计算机。" -#: ../js/ui/endSessionDialog.js:415 ../js/ui/status/bluetooth.js:466 +#: ../js/ui/endSessionDialog.js:415 ../js/ui/polkitAuthenticationAgent.js:172 +#: ../js/ui/status/bluetooth.js:466 msgid "Cancel" msgstr "取消" @@ -580,6 +581,26 @@ msgstr "连接到..." msgid "PLACES & DEVICES" msgstr "位置和设备" +#: ../js/ui/polkitAuthenticationAgent.js:74 +msgid "Authentication Required" +msgstr "需要认证" + +#: ../js/ui/polkitAuthenticationAgent.js:108 +msgid "Administrator" +msgstr "管理员" + +#: ../js/ui/polkitAuthenticationAgent.js:176 +msgid "Authenticate" +msgstr "认证" + +#: ../js/ui/polkitAuthenticationAgent.js:260 +msgid "Sorry, that didn't work. Please try again." +msgstr "抱歉,您的输入有误。请重试。" + +#: ../js/ui/polkitAuthenticationAgent.js:272 +msgid "Password:" +msgstr "口令:" + #. Translators: this MUST be either "toggle-switch-us" #. (for toggle switches containing the English words #. "ON" and "OFF") or "toggle-switch-intl" (for toggle @@ -1094,7 +1115,7 @@ msgstr[0] "%u 个输入" msgid "System Sounds" msgstr "系统声音" -#: ../src/main.c:438 +#: ../src/main.c:446 msgid "Print version" msgstr "打印版本" From 5c29bff23dcb55451e950b7ffd7062a04bbfb593 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Fran=20Di=C3=A9guez?= Date: Thu, 24 Mar 2011 09:51:53 +0100 Subject: [PATCH 184/203] Updated Galician translations --- po/gl.po | 46 ++++++++++++++++++++++++++++++++++------------ 1 file changed, 34 insertions(+), 12 deletions(-) diff --git a/po/gl.po b/po/gl.po index f203bd15a..a32d9af5d 100644 --- a/po/gl.po +++ b/po/gl.po @@ -6,13 +6,14 @@ # Anton Meixome , 2009. # Antón Méixome , 2009. # Fran Diéguez , 2009, 2010, 2011. +# Fran Dieguez , 2011. msgid "" msgstr "" "Project-Id-Version: gnome-shell master\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2011-03-22 21:17+0100\n" -"PO-Revision-Date: 2011-03-22 21:18+0100\n" -"Last-Translator: \n" +"POT-Creation-Date: 2011-03-24 09:50+0100\n" +"PO-Revision-Date: 2011-03-24 09:51+0100\n" +"Last-Translator: Fran Dieguez \n" "Language-Team: Galician \n" "Language: gl\n" "MIME-Version: 1.0\n" @@ -371,7 +372,7 @@ msgstr "Esta semana" msgid "Next week" msgstr "A vindeira semana" -#: ../js/ui/dash.js:174 ../js/ui/messageTray.js:945 +#: ../js/ui/dash.js:174 ../js/ui/messageTray.js:994 msgid "Remove" msgstr "Eliminar" @@ -500,7 +501,8 @@ msgstr "O seu computador reiniciarase automaticamente en %d segundos." msgid "Restarting the system." msgstr "Reiniciando o computador." -#: ../js/ui/endSessionDialog.js:415 ../js/ui/status/bluetooth.js:466 +#: ../js/ui/endSessionDialog.js:415 ../js/ui/polkitAuthenticationAgent.js:172 +#: ../js/ui/status/bluetooth.js:466 msgid "Cancel" msgstr "Cancelar" @@ -534,29 +536,29 @@ msgstr "Ver fonte" msgid "Web Page" msgstr "Páxina web" -#: ../js/ui/messageTray.js:938 +#: ../js/ui/messageTray.js:987 msgid "Open" msgstr "Abrir" -#: ../js/ui/messageTray.js:2018 +#: ../js/ui/messageTray.js:2145 msgid "System Information" msgstr "Información do sistema" -#: ../js/ui/overview.js:89 +#: ../js/ui/overview.js:91 msgid "Undo" msgstr "Desfacer" -#: ../js/ui/overview.js:184 +#: ../js/ui/overview.js:186 msgid "Windows" msgstr "Xanelas" -#: ../js/ui/overview.js:187 +#: ../js/ui/overview.js:189 msgid "Applications" msgstr "Aplicativos" #. Translators: this is the name of the dock/favorites area on #. the left of the overview -#: ../js/ui/overview.js:203 +#: ../js/ui/overview.js:205 msgid "Dash" msgstr "Panel" @@ -593,6 +595,26 @@ msgstr "Conectar con…" msgid "PLACES & DEVICES" msgstr "LUGARES E DISPOSITIVOS" +#: ../js/ui/polkitAuthenticationAgent.js:74 +msgid "Authentication Required" +msgstr "Autenticación requirida" + +#: ../js/ui/polkitAuthenticationAgent.js:108 +msgid "Administrator" +msgstr "Administrador" + +#: ../js/ui/polkitAuthenticationAgent.js:176 +msgid "Authenticate" +msgstr "Autenticar" + +#: ../js/ui/polkitAuthenticationAgent.js:260 +msgid "Sorry, that didn't work. Please try again." +msgstr "Desculpe, iso non funcionou. Ténteo de novo." + +#: ../js/ui/polkitAuthenticationAgent.js:272 +msgid "Password:" +msgstr "Contrasinal:" + #. Translators: this MUST be either "toggle-switch-us" #. (for toggle switches containing the English words #. "ON" and "OFF") or "toggle-switch-intl" (for toggle @@ -1113,7 +1135,7 @@ msgstr[1] "%u entradas" msgid "System Sounds" msgstr "Sons do sistema" -#: ../src/main.c:438 +#: ../src/main.c:446 msgid "Print version" msgstr "Imprimir versión" From be5f74e37f6a9b6d8083f4ec2df08393de995add Mon Sep 17 00:00:00 2001 From: Bruno Brouard Date: Thu, 24 Mar 2011 13:54:58 +0100 Subject: [PATCH 185/203] Updated French Translation MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Contributed by : Cyril Arnaud, Frédéric Peters, Bruno Brouard --- po/fr.po | 1157 ++++++++++++++++++++++++++++++++++++++++++------------ 1 file changed, 911 insertions(+), 246 deletions(-) diff --git a/po/fr.po b/po/fr.po index b792453a8..5115a8f99 100644 --- a/po/fr.po +++ b/po/fr.po @@ -1,19 +1,21 @@ # French translations for gnome-shell package. -# Copyright (C) 2009-2010 Listed translators +# Copyright (C) 2009-2011 Listed translators # This file is distributed under the same license as the gnome-shell package. # -# Mathieu Bridon , 2009 -# Pablo Martin-Gomez , 2010 -# Claude Paroz , 2010 +# Mathieu Bridon , 2009. +# Pablo Martin-Gomez , 2010. +# Claude Paroz , 2010. +# Bruno Brouard , 2011. +# Cyril Arnaud ,2011. # msgid "" msgstr "" "Project-Id-Version: gnome-shell master fr\n" "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug.cgi?product=gnome-" -"shell&component=general\n" -"POT-Creation-Date: 2010-09-22 15:13+0000\n" -"PO-Revision-Date: 2010-09-05 21:03+0200\n" -"Last-Translator: Claude Paroz \n" +"shell&keywords=I18N+L10N&component=general\n" +"POT-Creation-Date: 2011-03-24 08:03+0000\n" +"PO-Revision-Date: 2011-03-24 13:49+0100\n" +"Last-Translator: Bruno Brouard \n" "Language-Team: GNOME French Team \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -28,14 +30,6 @@ msgstr "GNOME Shell" msgid "Window management and application launching" msgstr "Gestion des fenêtres et lancement des applications" -#: ../data/gnome-shell-clock-preferences.desktop.in.in.h:1 -msgid "Clock" -msgstr "Horloge" - -#: ../data/gnome-shell-clock-preferences.desktop.in.in.h:2 -msgid "Customize the panel clock" -msgstr "Personnaliser l'horloge du tableau de bord" - #: ../data/org.gnome.shell.gschema.xml.in.h:1 msgid "" "Allows access to internal debugging and monitoring tools using the Alt-F2 " @@ -45,25 +39,21 @@ msgstr "" "la boîte de dialogue de lancement d'application (Alt-F2)." #: ../data/org.gnome.shell.gschema.xml.in.h:2 -msgid "Custom format of the clock" -msgstr "Format personnalisé de l'horloge" - -#: ../data/org.gnome.shell.gschema.xml.in.h:3 msgid "Enable internal tools useful for developers and testers from Alt-F2" msgstr "" "Activer les outils internes pour les développeurs et les testeurs depuis Alt-" "F2" -#: ../data/org.gnome.shell.gschema.xml.in.h:4 +#: ../data/org.gnome.shell.gschema.xml.in.h:3 msgid "File extension used for storing the screencast" msgstr "Extension de fichier à utiliser pour enregistrer l'animation d'écran" -#: ../data/org.gnome.shell.gschema.xml.in.h:5 +#: ../data/org.gnome.shell.gschema.xml.in.h:4 msgid "Framerate used for recording screencasts." msgstr "" "Nombre d'images par seconde pour l'enregistrement des animations d'écran." -#: ../data/org.gnome.shell.gschema.xml.in.h:6 +#: ../data/org.gnome.shell.gschema.xml.in.h:5 msgid "" "GNOME Shell extensions have a uuid property; this key lists extensions which " "should not be loaded." @@ -71,46 +61,33 @@ msgstr "" "Les extensions GNOME Shell ont une propriété uuid ; cette clé énumère les " "extensions qui ne doivent pas être chargées." -#: ../data/org.gnome.shell.gschema.xml.in.h:7 +#: ../data/org.gnome.shell.gschema.xml.in.h:6 msgid "History for command (Alt-F2) dialog" msgstr "Historique de la boîte de dialogue des commandes (Alt-F2)" +#: ../data/org.gnome.shell.gschema.xml.in.h:7 +msgid "History for the looking glass dialog" +msgstr "Historique de la boîte de dialogue d'inspection" + #: ../data/org.gnome.shell.gschema.xml.in.h:8 -msgid "Hour format" -msgstr "Mode d'affichage de l'heure" +msgid "If true, display date in the clock, in addition to time." +msgstr "Si vrai, afficher la date dans l'horloge, en plus de l'heure." #: ../data/org.gnome.shell.gschema.xml.in.h:9 -msgid "" -"If true and format is either \"12-hour\" or \"24-hour\", display date in the " -"clock, in addition to time." -msgstr "" -"Si vrai (case cochée) et que le mode d'affichage de l'heure est « 12 heures » " -"ou « 24 heures », la date est affichée dans l'horloge, en plus de l'heure." +msgid "If true, display seconds in time." +msgstr "Si vrai, afficher les secondes dans l'horloge." #: ../data/org.gnome.shell.gschema.xml.in.h:10 -msgid "" -"If true and format is either \"12-hour\" or \"24-hour\", display seconds in " -"time." -msgstr "" -"Si vrai (case cochée) et que le mode d'affichage de l'heure est « 12 heures » " -"ou « 24 heures », les secondes sont affichées avec l'heure." +msgid "If true, display the ISO week date in the calendar." +msgstr "Si vrai, afficher le numéro de semaine ISO dans le calendrier." #: ../data/org.gnome.shell.gschema.xml.in.h:11 -msgid "If true, display the ISO week date in the calendar." -msgstr "" -"Si vrai (case cochée), le calendrier utilise la numérotation ISO des " -"semaines." - -#: ../data/org.gnome.shell.gschema.xml.in.h:12 msgid "List of desktop file IDs for favorite applications" msgstr "" "Liste d'identifiants de fichiers desktop pour les applications favorites" #: ../data/org.gnome.shell.gschema.xml.in.h:13 -msgid "Overview workspace view mode" -msgstr "Mode d'aperçu des espaces de travail" - -#: ../data/org.gnome.shell.gschema.xml.in.h:14 +#, no-c-format msgid "" "Sets the GStreamer pipeline used to encode recordings. It follows the syntax " "used for gst-launch. The pipeline should have an unconnected sink pad where " @@ -119,7 +96,9 @@ msgid "" "pipeline can also take care of its own output - this might be used to send " "the output to an icecast server via shout2send or similar. When unset or set " "to an empty value, the default pipeline will be used. This is currently " -"'videorate ! theoraenc ! oggmux' and records to Ogg Theora." +"'videorate ! vp8enc quality=10 speed=2 threads=%T ! queue ! webmmux' and " +"records to WEBM using the VP8 codec. %T is used as a placeholder for a guess " +"at the optimal thread count on the system." msgstr "" "Définition du pipeline GStreamer utilisé pour coder les enregistrements " "vidéo. La syntaxe est identique à celle de gst-launch. Le connecteur " @@ -129,22 +108,24 @@ msgstr "" "pipeline peut aussi se charger de sa propre sortie, par exemple pour diriger " "la sortie vers un serveur icecast via shout2send ou autre. Si cette clé " "n'est pas définie ou si elle est vide, c'est le pipeline par défaut qui est " -"utilisé. Celui-ci est actuellement « videorate ! theoraenc ! oggmux » et " -"l'enregistrement utilise le format Ogg Theora." +"utilisé. Celui-ci est actuellement « videorate ! vp8enc quality=10 speed=2 " +"threads=%T ! queue ! webmmux' » et l'enregistrement utilise le format WEBM " +"et le codec VP8. %T est utilisé comme paramètre pour une supposition quant " +"au nombre optimal de threads à utiliser sur le système." -#: ../data/org.gnome.shell.gschema.xml.in.h:15 +#: ../data/org.gnome.shell.gschema.xml.in.h:14 msgid "Show date in clock" msgstr "Afficher la date dans l'horloge" -#: ../data/org.gnome.shell.gschema.xml.in.h:16 +#: ../data/org.gnome.shell.gschema.xml.in.h:15 msgid "Show the week date in the calendar" msgstr "Afficher la numérotation des semaines dans le calendrier" -#: ../data/org.gnome.shell.gschema.xml.in.h:17 +#: ../data/org.gnome.shell.gschema.xml.in.h:16 msgid "Show time with seconds" msgstr "Afficher l'heure avec les secondes" -#: ../data/org.gnome.shell.gschema.xml.in.h:18 +#: ../data/org.gnome.shell.gschema.xml.in.h:17 msgid "" "The applications corresponding to these identifiers will be displayed in the " "favorites area." @@ -152,7 +133,7 @@ msgstr "" "Les applications correspondant à ces identifiants sont affichées dans la " "zone des favoris." -#: ../data/org.gnome.shell.gschema.xml.in.h:19 +#: ../data/org.gnome.shell.gschema.xml.in.h:18 msgid "" "The filename for recorded screencasts will be a unique filename based on the " "current date, and use this extension. It should be changed when recording to " @@ -162,7 +143,7 @@ msgstr "" "utilise cette extension. Elle devrait être modifiée si le format du " "conteneur utilisé pour l'enregistrement est différent." -#: ../data/org.gnome.shell.gschema.xml.in.h:20 +#: ../data/org.gnome.shell.gschema.xml.in.h:19 msgid "" "The framerate of the resulting screencast recordered by GNOME Shell's " "screencast recorder in frames-per-second." @@ -170,19 +151,11 @@ msgstr "" "Le nombre d'images par seconde des animations d'écran enregistrées par " "l'outil idoine de GNOME Shell." -#: ../data/org.gnome.shell.gschema.xml.in.h:21 +#: ../data/org.gnome.shell.gschema.xml.in.h:20 msgid "The gstreamer pipeline used to encode the screencast" msgstr "Le pipeline gstreamer utilisé pour coder l'animation d'écran" -#: ../data/org.gnome.shell.gschema.xml.in.h:22 -msgid "" -"The selected workspace view mode in the overview. Supported values are " -"\"single\" and \"grid\"." -msgstr "" -"Le mode d'aperçu des espaces de travail. Les valeurs prises en charge sont : " -"« single » (unique) et « grid » (grille)." - -#: ../data/org.gnome.shell.gschema.xml.in.h:23 +#: ../data/org.gnome.shell.gschema.xml.in.h:21 msgid "" "The shell normally monitors active applications in order to present the most " "used ones (e.g. in launchers). While this data will be kept private, you may " @@ -195,359 +168,1051 @@ msgstr "" "pousser à désactiver cette fonctionnalité. Remarquez que cette désactivation " "ne supprime pas d'éventuelles données déjà enregistrées." -#: ../data/org.gnome.shell.gschema.xml.in.h:24 -msgid "" -"This key specifies the format used by the panel clock when the format key is " -"set to \"custom\". You can use conversion specifiers understood by strftime" -"() to obtain a specific format. See the strftime() manual for more " -"information." -msgstr "" -"Cette clé définit le format utilisé par l'horloge du tableau de bord quand " -"le format de l'heure est « custom » (personnalisé). Vous pouvez utiliser des " -"indicateurs de conversion que strftime() comprend afin d'obtenir un format " -"particulier. Consultez le manuel de strftime() pour plus d'informations." - -#: ../data/org.gnome.shell.gschema.xml.in.h:25 -msgid "" -"This key specifies the hour format used by the panel clock. Possible values " -"are \"12-hour\", \"24-hour\", \"unix\" and \"custom\". If set to \"unix\", " -"the clock will display time in seconds since Epoch, i.e. 1970-01-01. If set " -"to \"custom\", the clock will display time according to the format specified " -"in the custom_format key. Note that if set to either \"unix\" or \"custom\", " -"the show_date and show_seconds keys are ignored." -msgstr "" -"Cette clé définit le format de l'heure utilisé par l'horloge du tableau de " -"bord. Les valeurs possibles sont « 12-hour » (12 heures), « 24-hour » (24 " -"heures), « unix » et « custom » (personnalisé). Si vous choisissez « unix », " -"l'horloge affiche l'heure en secondes depuis Epoch, c'est-à-dire le " -"01/01/1970. Si vous choisissez « custom », l'horloge affiche la date et " -"l'heure selon le format défini dans la clé « custom_format ». Remarquez que " -"si vous choisissez « unix » ou « custom », les clés « show_date » et " -"« show_seconds » seront ignorées." - -#: ../data/org.gnome.shell.gschema.xml.in.h:26 +#: ../data/org.gnome.shell.gschema.xml.in.h:22 msgid "Uuids of extensions to disable" msgstr "Identifiants UUID des extensions à désactiver" -#: ../data/org.gnome.shell.gschema.xml.in.h:27 +#: ../data/org.gnome.shell.gschema.xml.in.h:23 msgid "Whether to collect stats about applications usage" msgstr "Collecter des statistiques sur l'utilisation des applications" -#: ../data/clock-preferences.ui.h:1 -msgid "Clock Format" -msgstr "Format de l'horloge" +#: ../data/org.gnome.shell.gschema.xml.in.h:24 +msgid "disabled OpenSearch providers" +msgstr "fournisseurs OpenSearch désactivés" -#: ../data/clock-preferences.ui.h:2 -msgid "Clock Preferences" -msgstr "Préférences de l'horloge" +#: ../js/misc/util.js:71 +msgid "Command not found" +msgstr "Commande non trouvée" -#: ../data/clock-preferences.ui.h:3 -msgid "Panel Display" -msgstr "Affichage dans le tableau de bord" +#. Replace "Error invoking GLib.shell_parse_argv: " with +#. something nicer +#: ../js/misc/util.js:98 +msgid "Could not parse command:" +msgstr "Impossible d'analyser la commande :" -#: ../data/clock-preferences.ui.h:4 -msgid "Show seco_nds" -msgstr "Afficher les _secondes" +#: ../js/misc/util.js:106 +#, c-format +msgid "Execution of '%s' failed:" +msgstr "Exécution de « %s » impossible :" -#: ../data/clock-preferences.ui.h:5 -msgid "Show the _date" -msgstr "Afficher la _date" +#. Translators: Filter to display all applications +#: ../js/ui/appDisplay.js:230 +msgid "All" +msgstr "Toutes" -#: ../data/clock-preferences.ui.h:6 -msgid "_12 hour format" -msgstr "Format _12 heures" - -#: ../data/clock-preferences.ui.h:7 -msgid "_24 hour format" -msgstr "Format _24 heures" - -#. **** Applications **** -#: ../js/ui/appDisplay.js:316 ../js/ui/dash.js:778 +#: ../js/ui/appDisplay.js:328 msgid "APPLICATIONS" msgstr "APPLICATIONS" -#: ../js/ui/appDisplay.js:348 -msgid "PREFERENCES" -msgstr "PRÉFÉRENCES" +#: ../js/ui/appDisplay.js:354 +msgid "SETTINGS" +msgstr "PARAMÈTRES" -#: ../js/ui/appDisplay.js:653 +#: ../js/ui/appDisplay.js:625 msgid "New Window" msgstr "Nouvelle fenêtre" -#: ../js/ui/appDisplay.js:657 +#: ../js/ui/appDisplay.js:628 msgid "Remove from Favorites" msgstr "Enlever des favoris" -#: ../js/ui/appDisplay.js:658 +#: ../js/ui/appDisplay.js:629 msgid "Add to Favorites" msgstr "Ajouter aux favoris" -#: ../js/ui/appDisplay.js:986 -msgid "Drag here to add favorites" -msgstr "Glisser ici pour ajouter aux favoris" - -#: ../js/ui/appFavorites.js:88 +#: ../js/ui/appFavorites.js:91 #, c-format msgid "%s has been added to your favorites." msgstr "%s a été ajouté à vos favoris." -#: ../js/ui/appFavorites.js:107 +#: ../js/ui/appFavorites.js:122 #, c-format msgid "%s has been removed from your favorites." msgstr "%s a été supprimé de vos favoris." -#: ../js/ui/dash.js:142 -msgid "Find" -msgstr "Rechercher" +#. Translators: Shown in calendar event list for all day events +#. * Keep it short, best if you can use less then 10 characters +#. +#: ../js/ui/calendar.js:66 +msgctxt "event list time" +msgid "All Day" +msgstr "Toute la journée" -#: ../js/ui/dash.js:473 -msgid "Searching..." -msgstr "Recherche en cours..." +#. Translators: Shown in calendar event list, if 24h format +#: ../js/ui/calendar.js:71 +msgctxt "event list time" +msgid "%H:%M" +msgstr "%H:%M" -#: ../js/ui/dash.js:487 -msgid "No matching results." -msgstr "Aucun résultat correspondant." +#. Transators: Shown in calendar event list, if 12h format +#: ../js/ui/calendar.js:78 +msgctxt "event list time" +msgid "%l:%M %p" +msgstr "%l:%M %p" -#. **** Places **** -#. Translators: This is in the sense of locations for documents, -#. network locations, etc. -#: ../js/ui/dash.js:797 ../js/ui/placeDisplay.js:554 -msgid "PLACES & DEVICES" -msgstr "RACCOURCIS et PÉRIPHÉRIQUES" +#. Translators: Calendar grid abbreviation for Sunday. +#. * +#. * NOTE: These grid abbreviations are always shown together +#. * and in order, e.g. "S M T W T F S". +#. +#: ../js/ui/calendar.js:118 +msgctxt "grid sunday" +msgid "S" +msgstr "D" -#. **** Documents **** -#: ../js/ui/dash.js:804 ../js/ui/docDisplay.js:494 -msgid "RECENT ITEMS" -msgstr "ÉLÉMENTS RÉCENTS" +#. Translators: Calendar grid abbreviation for Monday +#: ../js/ui/calendar.js:120 +msgctxt "grid monday" +msgid "M" +msgstr "L" -#: ../js/ui/lookingGlass.js:552 -msgid "No extensions installed" -msgstr "Aucune extension installée" +#. Translators: Calendar grid abbreviation for Tuesday +#: ../js/ui/calendar.js:122 +msgctxt "grid tuesday" +msgid "T" +msgstr "M" -#: ../js/ui/lookingGlass.js:589 -msgid "Enabled" -msgstr "Activé" +#. Translators: Calendar grid abbreviation for Wednesday +#: ../js/ui/calendar.js:124 +msgctxt "grid wednesday" +msgid "W" +msgstr "M" -#: ../js/ui/lookingGlass.js:591 -msgid "Disabled" -msgstr "Désactivé" +#. Translators: Calendar grid abbreviation for Thursday +#: ../js/ui/calendar.js:126 +msgctxt "grid thursday" +msgid "T" +msgstr "J" -#: ../js/ui/lookingGlass.js:593 -msgid "Error" -msgstr "Erreur" +#. Translators: Calendar grid abbreviation for Friday +#: ../js/ui/calendar.js:128 +msgctxt "grid friday" +msgid "F" +msgstr "V" -#: ../js/ui/lookingGlass.js:595 -msgid "Out of date" -msgstr "Périmé" +#. Translators: Calendar grid abbreviation for Saturday +#: ../js/ui/calendar.js:130 +msgctxt "grid saturday" +msgid "S" +msgstr "S" -#: ../js/ui/lookingGlass.js:620 -msgid "View Source" -msgstr "Afficher la source" +#. Translators: Event list abbreviation for Sunday. +#. * +#. * NOTE: These list abbreviations are normally not shown together +#. * so they need to be unique (e.g. Tuesday and Thursday cannot +#. * both be 'T'). +#. +#: ../js/ui/calendar.js:143 +msgctxt "list sunday" +msgid "Su" +msgstr "Dim." -#: ../js/ui/lookingGlass.js:626 -msgid "Web Page" -msgstr "Page Web" +#. Translators: Event list abbreviation for Monday +#: ../js/ui/calendar.js:145 +msgctxt "list monday" +msgid "M" +msgstr "Lun." -#: ../js/ui/overview.js:160 -msgid "Undo" -msgstr "Annuler" +#. Translators: Event list abbreviation for Tuesday +#: ../js/ui/calendar.js:147 +msgctxt "list tuesday" +msgid "T" +msgstr "Mar." -#. TODO - _quit() doesn't really work on apps in state STARTING yet -#: ../js/ui/panel.js:467 -#, c-format -msgid "Quit %s" -msgstr "Quitter %s" +#. Translators: Event list abbreviation for Wednesday +#: ../js/ui/calendar.js:149 +msgctxt "list wednesday" +msgid "W" +msgstr "Mer." -#: ../js/ui/panel.js:492 -msgid "Preferences" -msgstr "Préférences" +#. Translators: Event list abbreviation for Thursday +#: ../js/ui/calendar.js:151 +msgctxt "list thursday" +msgid "Th" +msgstr "Jeu." + +#. Translators: Event list abbreviation for Friday +#: ../js/ui/calendar.js:153 +msgctxt "list friday" +msgid "F" +msgstr "Ven." + +#. Translators: Event list abbreviation for Saturday +#: ../js/ui/calendar.js:155 +msgctxt "list saturday" +msgid "S" +msgstr "Sam." + +#. Translators: Text to show if there are no events +#: ../js/ui/calendar.js:704 +msgid "Nothing Scheduled" +msgstr "Rien au calendrier" + +#. Translators: Shown on calendar heading when selected day occurs on current year +#: ../js/ui/calendar.js:720 +msgctxt "calendar heading" +msgid "%A, %B %d" +msgstr "%A %d %B" + +#. Translators: Shown on calendar heading when selected day occurs on different year +#: ../js/ui/calendar.js:723 +msgctxt "calendar heading" +msgid "%A, %B %d, %Y" +msgstr "%A %d %B, %Y" + +#: ../js/ui/calendar.js:733 +msgid "Today" +msgstr "Aujourd'hui" + +#: ../js/ui/calendar.js:737 +msgid "Tomorrow" +msgstr "Demain" + +#: ../js/ui/calendar.js:746 +msgid "This week" +msgstr "Cette semaine" + +#: ../js/ui/calendar.js:754 +msgid "Next week" +msgstr "La semaine prochaine" + +#: ../js/ui/dash.js:174 ../js/ui/messageTray.js:994 +msgid "Remove" +msgstr "Enlever" + +#: ../js/ui/dateMenu.js:91 +msgid "Date and Time Settings" +msgstr "Paramètres de date et heure" + +#: ../js/ui/dateMenu.js:111 +msgid "Open Calendar" +msgstr "Ouvrir le calendrier" #. Translators: This is the time format with date used #. in 24-hour mode. -#: ../js/ui/panel.js:578 +#: ../js/ui/dateMenu.js:164 msgid "%a %b %e, %R:%S" msgstr "%a %e %b, %R:%S" -#: ../js/ui/panel.js:579 +#: ../js/ui/dateMenu.js:165 msgid "%a %b %e, %R" msgstr "%a %e %b, %R" #. Translators: This is the time format without date used #. in 24-hour mode. -#: ../js/ui/panel.js:583 +#: ../js/ui/dateMenu.js:169 msgid "%a %R:%S" msgstr "%a %R:%S" -#: ../js/ui/panel.js:584 +#: ../js/ui/dateMenu.js:170 msgid "%a %R" msgstr "%a %R" #. Translators: This is a time format with date used #. for AM/PM. -#: ../js/ui/panel.js:591 +#: ../js/ui/dateMenu.js:177 msgid "%a %b %e, %l:%M:%S %p" msgstr "%a %e %b, %l:%M:%S %p" -#: ../js/ui/panel.js:592 +#: ../js/ui/dateMenu.js:178 msgid "%a %b %e, %l:%M %p" msgstr "%a %e %b, %l:%M %p" #. Translators: This is a time format without date used #. for AM/PM. -#: ../js/ui/panel.js:596 +#: ../js/ui/dateMenu.js:182 msgid "%a %l:%M:%S %p" msgstr "%a %l:%M:%S %p" -#: ../js/ui/panel.js:597 +#: ../js/ui/dateMenu.js:183 msgid "%a %l:%M %p" msgstr "%a %l:%M %p" +#. Translators: This is the date format to use when the calendar popup is +#. * shown - it is shown just below the time in the shell (e.g. "Tue 9:29 AM"). +#. +#: ../js/ui/dateMenu.js:194 +msgid "%A %B %e, %Y" +msgstr "%A %e %B %Y" + +#: ../js/ui/docDisplay.js:19 +msgid "RECENT ITEMS" +msgstr "ÉLÉMENTS RÉCENTS" + +#: ../js/ui/endSessionDialog.js:63 +#, c-format +msgid "Log Out %s" +msgstr "Fermer la session de %s" + +#: ../js/ui/endSessionDialog.js:64 ../js/ui/endSessionDialog.js:70 +msgid "Log Out" +msgstr "Fermer la session" + +#: ../js/ui/endSessionDialog.js:65 +msgid "Click Log Out to quit these applications and log out of the system." +msgstr "" +"Cliquez sur « Fermer la session » pour quitter ces applications et fermer la " +"session." + +#: ../js/ui/endSessionDialog.js:66 +#, c-format +msgid "%s will be logged out automatically in %d seconds." +msgstr "%s sera déconnecté automatiquement dans %d secondes." + +#: ../js/ui/endSessionDialog.js:67 +#, c-format +msgid "You will be logged out automatically in %d seconds." +msgstr "Vous allez être déconnecter automatiquement dans %d secondes." + +#: ../js/ui/endSessionDialog.js:68 +msgid "Logging out of the system." +msgstr "Déconnexion du système." + +#: ../js/ui/endSessionDialog.js:75 ../js/ui/endSessionDialog.js:82 +msgid "Power Off" +msgstr "Éteindre" + +#: ../js/ui/endSessionDialog.js:76 +msgid "Click Power Off to quit these applications and power off the system." +msgstr "" +"Cliquez sur « Éteindre » pour quitter ces applications et éteindre l'ordinateur." + +#: ../js/ui/endSessionDialog.js:77 +#, c-format +msgid "The system will power off automatically in %d seconds." +msgstr "Cet ordinateur s'éteindra automatiquement dans %d secondes." + +#: ../js/ui/endSessionDialog.js:78 +msgid "Powering off the system." +msgstr "Extinction du système." + +#: ../js/ui/endSessionDialog.js:80 ../js/ui/endSessionDialog.js:88 +#: ../js/ui/endSessionDialog.js:93 +msgid "Restart" +msgstr "Redémarrer" + +#: ../js/ui/endSessionDialog.js:89 +msgid "Click Restart to quit these applications and restart the system." +msgstr "" +"Cliquez sur « Redémarrer » pour quitter ces applications et redémarrer " +"l'ordinateur." + +#: ../js/ui/endSessionDialog.js:90 +#, c-format +msgid "The system will restart automatically in %d seconds." +msgstr "Cet ordinateur redémarrera automatiquement dans %d secondes." + +#: ../js/ui/endSessionDialog.js:91 +msgid "Restarting the system." +msgstr "Redémarrage du système." + +#: ../js/ui/endSessionDialog.js:415 ../js/ui/polkitAuthenticationAgent.js:172 +#: ../js/ui/status/bluetooth.js:466 +msgid "Cancel" +msgstr "Annuler" + +#: ../js/ui/lookingGlass.js:588 +msgid "No extensions installed" +msgstr "Aucune extension installée" + +#: ../js/ui/lookingGlass.js:625 +msgid "Enabled" +msgstr "Activé" + +#. translators: +#. * The device has been disabled +#: ../js/ui/lookingGlass.js:627 ../src/gvc/gvc-mixer-control.c:1091 +msgid "Disabled" +msgstr "Désactivé" + +#: ../js/ui/lookingGlass.js:629 +msgid "Error" +msgstr "Erreur" + +#: ../js/ui/lookingGlass.js:631 +msgid "Out of date" +msgstr "Périmé" + +#: ../js/ui/lookingGlass.js:656 +msgid "View Source" +msgstr "Afficher la source" + +#: ../js/ui/lookingGlass.js:662 +msgid "Web Page" +msgstr "Page Web" + +#: ../js/ui/messageTray.js:987 +msgid "Open" +msgstr "Ouvrir" + +#: ../js/ui/messageTray.js:2145 +msgid "System Information" +msgstr "Informations du système" + +#: ../js/ui/overview.js:91 +msgid "Undo" +msgstr "Annuler" + +#: ../js/ui/overview.js:186 +msgid "Windows" +msgstr "Fenêtres" + +#: ../js/ui/overview.js:189 +msgid "Applications" +msgstr "Applications" + +#. Translators: this is the name of the dock/favorites area on +#. the left of the overview +#: ../js/ui/overview.js:205 +msgid "Dash" +msgstr "Dash" + +#. TODO - _quit() doesn't really work on apps in state STARTING yet +#: ../js/ui/panel.js:515 +#, c-format +msgid "Quit %s" +msgstr "Quitter %s" + #. Button on the left side of the panel. #. Translators: If there is no suitable word for "Activities" in your language, you can use the word for "Overview". -#: ../js/ui/panel.js:742 +#: ../js/ui/panel.js:878 msgid "Activities" msgstr "Activités" -#: ../js/ui/placeDisplay.js:111 +#: ../js/ui/panel.js:979 +msgid "Top Bar" +msgstr "Barre supérieure" + +#: ../js/ui/placeDisplay.js:122 #, c-format msgid "Failed to unmount '%s'" msgstr "Impossible de monter « %s »" -#: ../js/ui/placeDisplay.js:114 +#: ../js/ui/placeDisplay.js:125 msgid "Retry" msgstr "Réessayer" -#: ../js/ui/placeDisplay.js:159 +#: ../js/ui/placeDisplay.js:165 msgid "Connect to..." msgstr "Connexion à..." +#: ../js/ui/placeDisplay.js:380 +msgid "PLACES & DEVICES" +msgstr "RACCOURCIS et PÉRIPHÉRIQUES" + +#: ../js/ui/polkitAuthenticationAgent.js:74 +msgid "Authentication Required" +msgstr "Authentification nécessaire" + +#: ../js/ui/polkitAuthenticationAgent.js:108 +msgid "Administrator" +msgstr "Administrateur" + +#: ../js/ui/polkitAuthenticationAgent.js:176 +msgid "Authenticate" +msgstr "S'authentifier" + +#: ../js/ui/polkitAuthenticationAgent.js:260 +msgid "Sorry, that didn't work. Please try again." +msgstr "Désolé, cela n'a pas fonctionné. Essayez à nouveau." + +#: ../js/ui/polkitAuthenticationAgent.js:272 +msgid "Password:" +msgstr "Mot de passe :" + #. Translators: this MUST be either "toggle-switch-us" #. (for toggle switches containing the English words #. "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:32 +#: ../js/ui/popupMenu.js:679 msgid "toggle-switch-us" msgstr "toggle-switch-intl" -#: ../js/ui/runDialog.js:233 +#: ../js/ui/runDialog.js:205 msgid "Please enter a command:" msgstr "Veuillez saisir une commande :" -#: ../js/ui/runDialog.js:378 -#, c-format -msgid "Execution of '%s' failed:" -msgstr "Exécution de « %s » impossible :" +#: ../js/ui/searchDisplay.js:310 +msgid "Searching..." +msgstr "Recherche en cours..." -#: ../js/ui/statusMenu.js:91 +#: ../js/ui/searchDisplay.js:324 +msgid "No matching results." +msgstr "Aucun résultat correspondant." + +#: ../js/ui/statusMenu.js:161 ../js/ui/statusMenu.js:228 +msgid "Power Off..." +msgstr "Éteindre..." + +#: ../js/ui/statusMenu.js:163 ../js/ui/statusMenu.js:227 +msgid "Suspend" +msgstr "Mettre en veille" + +#: ../js/ui/statusMenu.js:184 msgid "Available" msgstr "Disponible" -#: ../js/ui/statusMenu.js:95 +#: ../js/ui/statusMenu.js:189 msgid "Busy" msgstr "Occupé" -#: ../js/ui/statusMenu.js:99 -msgid "Invisible" -msgstr "Invisible" +#: ../js/ui/statusMenu.js:197 +msgid "My Account" +msgstr "Mon compte" -#: ../js/ui/statusMenu.js:106 -msgid "Account Information..." -msgstr "Informations personnelles..." +#: ../js/ui/statusMenu.js:201 +msgid "System Settings" +msgstr "Paramètres système" -#: ../js/ui/statusMenu.js:110 -msgid "System Preferences..." -msgstr "Préférences du système..." - -#: ../js/ui/statusMenu.js:117 +#: ../js/ui/statusMenu.js:208 msgid "Lock Screen" msgstr "Verrouiller l'écran" -#: ../js/ui/statusMenu.js:121 +#: ../js/ui/statusMenu.js:213 msgid "Switch User" msgstr "Changer d'utilisateur" -#: ../js/ui/statusMenu.js:126 +#: ../js/ui/statusMenu.js:218 msgid "Log Out..." msgstr "Fermer la session..." -#: ../js/ui/statusMenu.js:130 -msgid "Shut Down..." -msgstr "Éteindre..." +#: ../js/ui/status/accessibility.js:62 +msgid "Zoom" +msgstr "Zoom" -#: ../js/ui/windowAttentionHandler.js:43 +#. let screenReader = this._buildItem(_("Screen Reader"), APPLICATIONS_SCHEMA, +#. 'screen-reader-enabled'); +#. this.menu.addMenuItem(screenReader); +#. let screenKeyboard = this._buildItem(_("Screen Keyboard"), APPLICATIONS_SCHEMA, +#. 'screen-keyboard-enabled'); +#. this.menu.addMenuItem(screenKeyboard); +#: ../js/ui/status/accessibility.js:77 +msgid "Visual Alerts" +msgstr "Alertes visuelles" + +#: ../js/ui/status/accessibility.js:80 +msgid "Sticky Keys" +msgstr "Touches rémanentes" + +#: ../js/ui/status/accessibility.js:83 +msgid "Slow Keys" +msgstr "Touches lentes" + +#: ../js/ui/status/accessibility.js:86 +msgid "Bounce Keys" +msgstr "Rebonds de touches" + +#: ../js/ui/status/accessibility.js:89 +msgid "Mouse Keys" +msgstr "Touches de la souris" + +#: ../js/ui/status/accessibility.js:93 +msgid "Universal Access Settings" +msgstr "Paramètres de l'accès universel" + +#: ../js/ui/status/accessibility.js:146 +msgid "High Contrast" +msgstr "Contraste élevé" + +#: ../js/ui/status/accessibility.js:183 +msgid "Large Text" +msgstr "Grand texte" + +#: ../js/ui/status/bluetooth.js:42 ../js/ui/status/bluetooth.js:237 +#: ../js/ui/status/bluetooth.js:333 ../js/ui/status/bluetooth.js:367 +#: ../js/ui/status/bluetooth.js:407 ../js/ui/status/bluetooth.js:440 +msgid "Bluetooth" +msgstr "Bluetooth" + +#: ../js/ui/status/bluetooth.js:55 +msgid "Visibility" +msgstr "Visibilité" + +#: ../js/ui/status/bluetooth.js:69 +msgid "Send Files to Device..." +msgstr "Envoyer les fichiers au périphérique..." + +#: ../js/ui/status/bluetooth.js:70 +msgid "Setup a New Device..." +msgstr "Configurer un nouveau périphérique..." + +#: ../js/ui/status/bluetooth.js:95 +msgid "Bluetooth Settings" +msgstr "Paramètres Bluetooth" + +#: ../js/ui/status/bluetooth.js:188 +msgid "Connection" +msgstr "Connexion" + +#: ../js/ui/status/bluetooth.js:224 +msgid "Send Files..." +msgstr "Envoyer des fichiers..." + +#: ../js/ui/status/bluetooth.js:229 +msgid "Browse Files..." +msgstr "Parcourir les fichiers..." + +#: ../js/ui/status/bluetooth.js:238 +msgid "Error browsing device" +msgstr "Erreur en parcourant le périphérique" + +#: ../js/ui/status/bluetooth.js:239 +#, c-format +msgid "The requested device cannot be browsed, error is '%s'" +msgstr "Le périphérique demandé ne peut pas être parcouru, l'erreur est « %s »" + +#: ../js/ui/status/bluetooth.js:247 +msgid "Keyboard Settings" +msgstr "Paramètres du clavier" + +#: ../js/ui/status/bluetooth.js:252 +msgid "Mouse Settings" +msgstr "Paramètres de la souris" + +#: ../js/ui/status/bluetooth.js:259 ../js/ui/status/volume.js:66 +msgid "Sound Settings" +msgstr "Paramètres du son" + +#: ../js/ui/status/bluetooth.js:368 +#, c-format +msgid "Authorization request from %s" +msgstr "Demande d'autorisation de « %s »" + +#: ../js/ui/status/bluetooth.js:374 +#, c-format +msgid "Device %s wants access to the service '%s'" +msgstr "Le périphérique %s souhaite accéder au service « %s »" + +#: ../js/ui/status/bluetooth.js:376 +msgid "Always grant access" +msgstr "Toujours accorder l'accès" + +#: ../js/ui/status/bluetooth.js:377 +msgid "Grant this time only" +msgstr "Accorder l'accès cette fois uniquement" + +#: ../js/ui/status/bluetooth.js:378 +msgid "Reject" +msgstr "Refuser" + +#: ../js/ui/status/bluetooth.js:408 +#, c-format +msgid "Pairing confirmation for %s" +msgstr "Confirmation de la demande de liaison pour « %s »" + +#: ../js/ui/status/bluetooth.js:414 ../js/ui/status/bluetooth.js:448 +#, c-format +msgid "Device %s wants to pair with this computer" +msgstr "Le périphérique « %s » souhaite se connecter à cet ordinateur" + +#: ../js/ui/status/bluetooth.js:415 +#, c-format +msgid "Please confirm whether the PIN '%s' matches the one on the device." +msgstr "" +"Veuillez confirmer que le numéro d'identification personnel (PIN) « %s » " +"correspond à celui du périphérique." + +#: ../js/ui/status/bluetooth.js:417 +msgid "Matches" +msgstr "Correspond" + +#: ../js/ui/status/bluetooth.js:418 +msgid "Does not match" +msgstr "Ne correspond pas" + +#: ../js/ui/status/bluetooth.js:441 +#, c-format +msgid "Pairing request for %s" +msgstr "Demande de liaison pour « %s »" + +#: ../js/ui/status/bluetooth.js:449 +msgid "Please enter the PIN mentioned on the device." +msgstr "" +"Veuillez saisir le numéro d'identification personnel (PIN) mentionné sur le " +"périphérique." + +#: ../js/ui/status/bluetooth.js:465 +msgid "OK" +msgstr "Valider" + +#: ../js/ui/status/keyboard.js:73 +msgid "Show Keyboard Layout..." +msgstr "Afficher la disposition du clavier..." + +#: ../js/ui/status/keyboard.js:76 +msgid "Localization Settings" +msgstr "Paramètres de localisation" + +#: ../js/ui/status/network.js:102 ../js/ui/status/network.js:1393 +msgid "" +msgstr "" + +#. Translators: this indicates that wireless or wwan is disabled by hardware killswitch +#: ../js/ui/status/network.js:295 +msgid "disabled" +msgstr "désactivé" + +#: ../js/ui/status/network.js:476 +msgid "connecting..." +msgstr "connexion..." + +#. Translators: this is for network connections that require some kind of key or password +#: ../js/ui/status/network.js:479 +msgid "authentication required" +msgstr "authentification nécessaire" + +#. Translators: this is for wired network devices that are physically disconnected +#: ../js/ui/status/network.js:485 +msgid "cable unplugged" +msgstr "câble débranché" + +#. 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:489 +msgid "unavailable" +msgstr "non disponible" + +#: ../js/ui/status/network.js:491 +msgid "connection failed" +msgstr "échec de connexion" + +#. TRANSLATORS: this is the indication that a connection for another logged in user is active, +#. and we cannot access its settings (including the name) +#: ../js/ui/status/network.js:571 ../js/ui/status/network.js:1341 +msgid "Connected (private)" +msgstr "Connecté (privé)" + +#: ../js/ui/status/network.js:636 +msgid "Auto Ethernet" +msgstr "Ethernet automatique" + +#: ../js/ui/status/network.js:697 +msgid "Auto broadband" +msgstr "Connexion large bande automatique" + +#: ../js/ui/status/network.js:700 +msgid "Auto dial-up" +msgstr "Connexion par téléphone automatique" + +#. TRANSLATORS: this the automatic wireless connection name (including the network name) +#: ../js/ui/status/network.js:843 ../js/ui/status/network.js:1353 +#, c-format +msgid "Auto %s" +msgstr "Auto %s" + +#: ../js/ui/status/network.js:845 +msgid "Auto bluetooth" +msgstr "Bluetooth automatique" + +#: ../js/ui/status/network.js:1355 +msgid "Auto wireless" +msgstr "Sans fil automatique" + +#: ../js/ui/status/network.js:1413 +msgid "More..." +msgstr "Plus..." + +#: ../js/ui/status/network.js:1436 +msgid "Enable networking" +msgstr "Activer le réseau" + +#: ../js/ui/status/network.js:1448 +msgid "Wired" +msgstr "Filaire" + +#: ../js/ui/status/network.js:1459 +msgid "Wireless" +msgstr "Sans fil" + +#: ../js/ui/status/network.js:1469 +msgid "Mobile broadband" +msgstr "Téléphone mobile à large bande" + +#: ../js/ui/status/network.js:1479 +msgid "VPN Connections" +msgstr "Connexions par VPN" + +#: ../js/ui/status/network.js:1488 +msgid "Network Settings" +msgstr "Paramètres du réseau" + +#: ../js/ui/status/network.js:1783 +#, c-format +msgid "You're now connected to mobile broadband connection '%s'" +msgstr "Vous êtes maintenant connecté au réseau mobile à large bande « %s »" + +#: ../js/ui/status/network.js:1787 +#, c-format +msgid "You're now connected to wireless network '%s'" +msgstr "Vous êtes maintenant connecté au réseau sans fil « %s »" + +#: ../js/ui/status/network.js:1791 +#, c-format +msgid "You're now connected to wired network '%s'" +msgstr "Vous êtes maintenant connecté au réseau filaire « %s »" + +#: ../js/ui/status/network.js:1795 +#, c-format +msgid "You're now connected to VPN network '%s'" +msgstr "Vous êtes maintenant connecté au réseau VPN « %s »" + +#: ../js/ui/status/network.js:1800 +#, c-format +msgid "You're now connected to '%s'" +msgstr "Vous êtes maintenant connecté à « %s »" + +#: ../js/ui/status/network.js:1808 +msgid "Connection established" +msgstr "Connexion établie" + +#: ../js/ui/status/network.js:1930 +msgid "Networking is disabled" +msgstr "Le réseau est désactivé" + +#: ../js/ui/status/network.js:2055 +msgid "Network Manager" +msgstr "Gestionnaire de réseau" + +#: ../js/ui/status/power.js:85 +msgid "Power Settings" +msgstr "Paramètres de gestion de l'alimentation" + +#. 0 is reported when UPower does not have enough data +#. to estimate battery life +#: ../js/ui/status/power.js:111 +msgid "Estimating..." +msgstr "En cours d'estimation..." + +#: ../js/ui/status/power.js:118 +#, c-format +msgid "%d hour remaining" +msgid_plural "%d hours remaining" +msgstr[0] "%d heure restante" +msgstr[1] "%d heures restantes" + +#. TRANSLATORS: this is a time string, as in "%d hours %d minutes remaining" +#: ../js/ui/status/power.js:121 +#, c-format +msgid "%d %s %d %s remaining" +msgstr "%d %s %d %s restantes" + +#: ../js/ui/status/power.js:123 +msgid "hour" +msgid_plural "hours" +msgstr[0] "heure" +msgstr[1] "heures" + +#: ../js/ui/status/power.js:123 +msgid "minute" +msgid_plural "minutes" +msgstr[0] "minute" +msgstr[1] "minutes" + +#: ../js/ui/status/power.js:126 +#, c-format +msgid "%d minute remaining" +msgid_plural "%d minutes remaining" +msgstr[0] "%d minute restante" +msgstr[1] "%d minutes restantes" + +#: ../js/ui/status/power.js:228 +msgid "AC adapter" +msgstr "Adaptateur secteur" + +#: ../js/ui/status/power.js:230 +msgid "Laptop battery" +msgstr "Batterie de l'ordinateur" + +#: ../js/ui/status/power.js:232 +msgid "UPS" +msgstr "UPS" + +#: ../js/ui/status/power.js:234 +msgid "Monitor" +msgstr "Écran" + +#: ../js/ui/status/power.js:236 +msgid "Mouse" +msgstr "Souris" + +#: ../js/ui/status/power.js:238 +msgid "Keyboard" +msgstr "Clavier" + +#: ../js/ui/status/power.js:240 +msgid "PDA" +msgstr "Assistant personnel" + +#: ../js/ui/status/power.js:242 +msgid "Cell phone" +msgstr "Téléphone portable" + +#: ../js/ui/status/power.js:244 +msgid "Media player" +msgstr "Lecteur multimédia" + +#: ../js/ui/status/power.js:246 +msgid "Tablet" +msgstr "Tablette" + +#: ../js/ui/status/power.js:248 +msgid "Computer" +msgstr "Ordinateur" + +#: ../js/ui/status/power.js:250 ../src/shell-app-system.c:1088 +msgid "Unknown" +msgstr "Inconnu" + +#: ../js/ui/status/volume.js:45 +msgid "Volume" +msgstr "Volume" + +#: ../js/ui/status/volume.js:58 +msgid "Microphone" +msgstr "Microphone" + +#: ../js/ui/telepathyClient.js:332 +#, c-format +msgid "%s is online." +msgstr "%s est en ligne." + +#: ../js/ui/telepathyClient.js:337 +#, c-format +msgid "%s is offline." +msgstr "%s est hors ligne." + +#: ../js/ui/telepathyClient.js:340 +#, c-format +msgid "%s is away." +msgstr "%s est absent." + +#: ../js/ui/telepathyClient.js:343 +#, c-format +msgid "%s is busy." +msgstr "%s est occupé." + +#. Translators: this is a time format string followed by a date. +#. If applicable, replace %X with a strftime format valid for your +#. locale, without seconds. +#: ../js/ui/telepathyClient.js:474 +#, no-c-format +msgid "Sent at %X on %A" +msgstr "Envoyé à %X à %H:%M" + +#. Translators: this is the text displayed +#. in the search entry when no search is +#. active; it should not exceed ~30 +#. characters. +#: ../js/ui/viewSelector.js:122 +msgid "Type to search..." +msgstr "Texte à rechercher..." + +#: ../js/ui/viewSelector.js:142 ../src/shell-util.c:250 +msgid "Search" +msgstr "Recherche" + +#: ../js/ui/windowAttentionHandler.js:42 #, c-format msgid "%s has finished starting" msgstr "Lancement de %s terminé" -#: ../js/ui/windowAttentionHandler.js:45 +#: ../js/ui/windowAttentionHandler.js:44 #, c-format msgid "'%s' is ready" msgstr "« %s » est prêt" -#: ../js/ui/workspacesView.js:230 -msgid "" -"Can't add a new workspace because maximum workspaces limit has been reached." -msgstr "" -"Impossible d'ajouter un espace de travail car le nombre maximum d'espaces de " -"travail est atteint." +#. translators: +#. * The number of sound outputs on a particular device +#: ../src/gvc/gvc-mixer-control.c:1098 +#, c-format +msgid "%u Output" +msgid_plural "%u Outputs" +msgstr[0] "%u sortie" +msgstr[1] "%u sorties" -#: ../js/ui/workspacesView.js:247 -msgid "Can't remove the first workspace." -msgstr "Impossible de supprimer le premier espace de travail." +#. translators: +#. * The number of sound inputs on a particular device +#: ../src/gvc/gvc-mixer-control.c:1108 +#, c-format +msgid "%u Input" +msgid_plural "%u Inputs" +msgstr[0] "%u entrée" +msgstr[1] "%u entrées" -#: ../src/shell-global.c:1189 +#: ../src/gvc/gvc-mixer-control.c:1406 +msgid "System Sounds" +msgstr "Sons système" + +#: ../src/main.c:446 +msgid "Print version" +msgstr "Affiche la version" + +#: ../src/shell-app.c:454 +#, c-format +msgid "Failed to launch '%s'" +msgstr "Impossible de lancer « %s »" + +#: ../src/shell-global.c:1395 msgid "Less than a minute ago" msgstr "Il y a moins d'une minute" -#: ../src/shell-global.c:1193 +#: ../src/shell-global.c:1399 #, c-format msgid "%d minute ago" msgid_plural "%d minutes ago" msgstr[0] "Il y a %d minute" msgstr[1] "Il y a %d minutes" -#: ../src/shell-global.c:1198 +#: ../src/shell-global.c:1404 #, c-format msgid "%d hour ago" msgid_plural "%d hours ago" msgstr[0] "Il y a %d heure" msgstr[1] "Il y a %d heures" -#: ../src/shell-global.c:1203 +#: ../src/shell-global.c:1409 #, c-format msgid "%d day ago" msgid_plural "%d days ago" msgstr[0] "Il y a %d jour" msgstr[1] "Il y a %d jours" -#: ../src/shell-global.c:1208 +#: ../src/shell-global.c:1414 #, c-format msgid "%d week ago" msgid_plural "%d weeks ago" msgstr[0] "Il y a %d semaine" msgstr[1] "Il y a %d semaines" -#: ../src/shell-uri-util.c:89 +#: ../src/shell-mobile-providers.c:80 +msgid "United Kingdom" +msgstr "Royaume-Uni" + +#: ../src/shell-mobile-providers.c:526 +msgid "Default" +msgstr "Défaut" + +#: ../src/shell-polkit-authentication-agent.c:334 +msgid "Authentication dialog was dismissed by the user" +msgstr "La fenêtre d'authentification a été écartée par l'utilisateur" + +#: ../src/shell-util.c:89 msgid "Home Folder" msgstr "Dossier personnel" #. Translators: this is the same string as the one found in #. * nautilus -#: ../src/shell-uri-util.c:104 +#: ../src/shell-util.c:104 msgid "File System" msgstr "Système de fichiers" -#: ../src/shell-uri-util.c:250 -msgid "Search" -msgstr "Recherche" - #. Translators: the first string is the name of a gvfs #. * method, and the second string is a path. For #. * example, "Trash: some-directory". It means that the #. * directory called "some-directory" is in the trash. #. -#: ../src/shell-uri-util.c:300 +#: ../src/shell-util.c:300 #, c-format msgid "%1$s: %2$s" msgstr "%1$s : %2$s" From bac006ebc1fd1f25df533757f32698d772709ab8 Mon Sep 17 00:00:00 2001 From: Bruno Brouard Date: Thu, 24 Mar 2011 13:56:49 +0100 Subject: [PATCH 186/203] Updated French translation --- po/fr.po | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/po/fr.po b/po/fr.po index 5115a8f99..b55d37fd3 100644 --- a/po/fr.po +++ b/po/fr.po @@ -1106,7 +1106,7 @@ msgstr "Envoyé à %X à %H:%M" #. characters. #: ../js/ui/viewSelector.js:122 msgid "Type to search..." -msgstr "Texte à rechercher..." +msgstr "Rechercher..." #: ../js/ui/viewSelector.js:142 ../src/shell-util.c:250 msgid "Search" From 6cf0a35b4cd4c3d0639da64cae8b2108f1c7b768 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Nguy=E1=BB=85n=20Th=C3=A1i=20Ng=E1=BB=8Dc=20Duy?= Date: Fri, 25 Mar 2011 00:21:48 +0700 Subject: [PATCH 187/203] po/vi.po: import from damned lies --- po/vi.po | 513 +++++++++++++++++++++++++++++++++++++++---------------- 1 file changed, 369 insertions(+), 144 deletions(-) diff --git a/po/vi.po b/po/vi.po index 66df4c150..451f9948c 100644 --- a/po/vi.po +++ b/po/vi.po @@ -7,8 +7,8 @@ msgid "" msgstr "" "Project-Id-Version: gnome-shell\n" "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug.cgi?product=gnome-" -"shell&component=general\n" -"POT-Creation-Date: 2011-03-05 08:37+0000\n" +"shell&keywords=I18N+L10N&component=general\n" +"POT-Creation-Date: 2011-03-24 08:03+0000\n" "PO-Revision-Date: 2011-03-05 15:41+0700\n" "Last-Translator: Duy \n" "Language-Team: Vietnamese \n" @@ -59,7 +59,6 @@ msgid "History for command (Alt-F2) dialog" msgstr "Hộp thoại lịch sử lệnh (Alt-F2)" #: ../data/org.gnome.shell.gschema.xml.in.h:7 -#| msgid "History for command (Alt-F2) dialog" msgid "History for the looking glass dialog" msgstr "Lịch sử hộp thoại looking glass" @@ -150,7 +149,10 @@ msgid "" "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 "GNOME Shell bình thường sẽ theo dõi các ứng dụng tích cực để thể hiện phù hợp (ví dụ, bộ phóng). Mặc dù thông tin này là riêng tư, bạn vẫn có thể tắt vì lý do cá nhân. Chú ý là làm vậy sẽ không xoá bỏ những dữ liệu đã có." +msgstr "" +"GNOME Shell bình thường sẽ theo dõi các ứng dụng tích cực để thể hiện phù " +"hợp (ví dụ, bộ phóng). Mặc dù thông tin này là riêng tư, bạn vẫn có thể tắt " +"vì lý do cá nhân. Chú ý là làm vậy sẽ không xoá bỏ những dữ liệu đã có." #: ../data/org.gnome.shell.gschema.xml.in.h:22 msgid "Uuids of extensions to disable" @@ -164,47 +166,43 @@ msgstr "Có thu thập thống kê sử dụng ứng dụng không" msgid "disabled OpenSearch providers" msgstr "Phần cung cấp OpenSearch bị tắt" -#: ../js/misc/util.js:86 +#: ../js/misc/util.js:71 msgid "Command not found" msgstr "Không tìm thấy lệnh" #. Replace "Error invoking GLib.shell_parse_argv: " with #. something nicer -#: ../js/misc/util.js:113 +#: ../js/misc/util.js:98 msgid "Could not parse command:" msgstr "Không thể phân tích lệnh:" -#: ../js/misc/util.js:135 -msgid "No such application" -msgstr "Không có ứng dụng đó" - -#: ../js/misc/util.js:148 +#: ../js/misc/util.js:106 #, c-format msgid "Execution of '%s' failed:" msgstr "Lỗi thực hiện '%s':" #. Translators: Filter to display all applications -#: ../js/ui/appDisplay.js:195 +#: ../js/ui/appDisplay.js:230 msgid "All" msgstr "Tất cả" -#: ../js/ui/appDisplay.js:285 +#: ../js/ui/appDisplay.js:328 msgid "APPLICATIONS" msgstr "ỨNG DỤNG" -#: ../js/ui/appDisplay.js:311 +#: ../js/ui/appDisplay.js:354 msgid "SETTINGS" msgstr "THIẾT LẬP" -#: ../js/ui/appDisplay.js:565 +#: ../js/ui/appDisplay.js:625 msgid "New Window" msgstr "Cửa sổ mới" -#: ../js/ui/appDisplay.js:568 +#: ../js/ui/appDisplay.js:628 msgid "Remove from Favorites" msgstr "Bỏ đánh dấu ưa thích" -#: ../js/ui/appDisplay.js:569 +#: ../js/ui/appDisplay.js:629 msgid "Add to Favorites" msgstr "Đánh dấu ưa thích" @@ -364,7 +362,7 @@ msgstr "Tuần này" msgid "Next week" msgstr "Tuần tới" -#: ../js/ui/dash.js:174 +#: ../js/ui/dash.js:174 ../js/ui/messageTray.js:994 msgid "Remove" msgstr "Loại bỏ" @@ -372,54 +370,54 @@ msgstr "Loại bỏ" msgid "Date and Time Settings" msgstr "Thiết lập ngày giờ" -#: ../js/ui/dateMenu.js:110 +#: ../js/ui/dateMenu.js:111 msgid "Open Calendar" msgstr "Mở lịch" #. Translators: This is the time format with date used #. in 24-hour mode. -#: ../js/ui/dateMenu.js:162 +#: ../js/ui/dateMenu.js:164 msgid "%a %b %e, %R:%S" msgstr "%R:%S, %a %b %e" -#: ../js/ui/dateMenu.js:163 +#: ../js/ui/dateMenu.js:165 msgid "%a %b %e, %R" msgstr "%R, %a %b %e" #. Translators: This is the time format without date used #. in 24-hour mode. -#: ../js/ui/dateMenu.js:167 +#: ../js/ui/dateMenu.js:169 msgid "%a %R:%S" msgstr "%R:%S %a" -#: ../js/ui/dateMenu.js:168 +#: ../js/ui/dateMenu.js:170 msgid "%a %R" msgstr "%R %a" #. Translators: This is a time format with date used #. for AM/PM. -#: ../js/ui/dateMenu.js:175 +#: ../js/ui/dateMenu.js:177 msgid "%a %b %e, %l:%M:%S %p" msgstr "%a %b %e, %l:%M:%S %p" -#: ../js/ui/dateMenu.js:176 +#: ../js/ui/dateMenu.js:178 msgid "%a %b %e, %l:%M %p" msgstr "%a %b %e, %l:%M %p" #. Translators: This is a time format without date used #. for AM/PM. -#: ../js/ui/dateMenu.js:180 +#: ../js/ui/dateMenu.js:182 msgid "%a %l:%M:%S %p" msgstr "%a %l:%M:%S %p" -#: ../js/ui/dateMenu.js:181 +#: ../js/ui/dateMenu.js:183 msgid "%a %l:%M %p" msgstr "%a %l:%M %p" #. Translators: This is the date format to use when the calendar popup is #. * shown - it is shown just below the time in the shell (e.g. "Tue 9:29 AM"). #. -#: ../js/ui/dateMenu.js:207 +#: ../js/ui/dateMenu.js:194 msgid "%A %B %e, %Y" msgstr "%A %e %B, %Y" @@ -432,7 +430,7 @@ msgstr "MỤC GẦN ĐÂY" msgid "Log Out %s" msgstr "Đăng xuất %s" -#: ../js/ui/endSessionDialog.js:64 ../js/ui/endSessionDialog.js:69 +#: ../js/ui/endSessionDialog.js:64 ../js/ui/endSessionDialog.js:70 msgid "Log Out" msgstr "Đăng xuất" @@ -454,46 +452,51 @@ msgstr "Bạn sẽ tự động đăng xuất sau %d giây." msgid "Logging out of the system." msgstr "Đang xuất khỏi hệ thống." -#: ../js/ui/endSessionDialog.js:74 ../js/ui/endSessionDialog.js:78 -msgid "Shut Down" -msgstr "Tắt máy" - -#: ../js/ui/endSessionDialog.js:75 -msgid "Click Shut Down to quit these applications and shut down the system." -msgstr "Nhấn Tắt máy để thoát những ứng dụng này và tắt hệ thống." +#: ../js/ui/endSessionDialog.js:75 ../js/ui/endSessionDialog.js:82 +#, fuzzy +#| msgid "Power Off..." +msgid "Power Off" +msgstr "Tắt máy..." #: ../js/ui/endSessionDialog.js:76 -#, c-format -msgid "The system will shut down automatically in %d seconds." -msgstr "Hệ thống sẽ tự động tắt sau %d giây." +#, fuzzy +#| msgid "Click Log Out to quit these applications and log out of the system." +msgid "Click Power Off to quit these applications and power off the system." +msgstr "Nhấn Đăng xuất để thoát những ứng dụng này và đăng xuất khỏi hệ thống." #: ../js/ui/endSessionDialog.js:77 -msgid "Shutting down the system." -msgstr "Tắt hệ thống." +#, fuzzy, c-format +#| msgid "The system will restart automatically in %d seconds." +msgid "The system will power off automatically in %d seconds." +msgstr "Hệ thống sẽ tự động khởi động lại sau %d giây." -#: ../js/ui/endSessionDialog.js:84 ../js/ui/endSessionDialog.js:88 +#: ../js/ui/endSessionDialog.js:78 +#, fuzzy +#| msgid "Logging out of the system." +msgid "Powering off the system." +msgstr "Đang xuất khỏi hệ thống." + +#: ../js/ui/endSessionDialog.js:80 ../js/ui/endSessionDialog.js:88 +#: ../js/ui/endSessionDialog.js:93 msgid "Restart" msgstr "Khởi động lại" -#: ../js/ui/endSessionDialog.js:85 +#: ../js/ui/endSessionDialog.js:89 msgid "Click Restart to quit these applications and restart the system." msgstr "" "Nhấn Khởi động lại để thoát những ứng dụng này và khởi động lại hệ thống." -#: ../js/ui/endSessionDialog.js:86 +#: ../js/ui/endSessionDialog.js:90 #, c-format msgid "The system will restart automatically in %d seconds." msgstr "Hệ thống sẽ tự động khởi động lại sau %d giây." -#: ../js/ui/endSessionDialog.js:87 +#: ../js/ui/endSessionDialog.js:91 msgid "Restarting the system." msgstr "Khởi động lại hệ thống." -#: ../js/ui/endSessionDialog.js:395 -msgid "Confirm" -msgstr "Xác nhận" - -#: ../js/ui/endSessionDialog.js:400 ../js/ui/status/bluetooth.js:470 +#: ../js/ui/endSessionDialog.js:415 ../js/ui/polkitAuthenticationAgent.js:172 +#: ../js/ui/status/bluetooth.js:466 msgid "Cancel" msgstr "Thôi" @@ -507,7 +510,7 @@ msgstr "Bật" #. translators: #. * The device has been disabled -#: ../js/ui/lookingGlass.js:627 ../src/gvc/gvc-mixer-control.c:1087 +#: ../js/ui/lookingGlass.js:627 ../src/gvc/gvc-mixer-control.c:1091 msgid "Disabled" msgstr "Tắt" @@ -527,34 +530,48 @@ msgstr "Xem mã nguồn" msgid "Web Page" msgstr "Trang Web" -#: ../js/ui/messageTray.js:1907 +#: ../js/ui/messageTray.js:987 +msgid "Open" +msgstr "" + +#: ../js/ui/messageTray.js:2145 msgid "System Information" msgstr "Thông tin hệ thống" -#: ../js/ui/overview.js:88 +#: ../js/ui/overview.js:91 msgid "Undo" msgstr "Hoàn lại" -#: ../js/ui/overview.js:183 +#: ../js/ui/overview.js:186 msgid "Windows" msgstr "Cửa sổ" -#: ../js/ui/overview.js:186 +#: ../js/ui/overview.js:189 msgid "Applications" msgstr "Ứng dụng" +#. Translators: this is the name of the dock/favorites area on +#. the left of the overview +#: ../js/ui/overview.js:205 +msgid "Dash" +msgstr "" + #. TODO - _quit() doesn't really work on apps in state STARTING yet -#: ../js/ui/panel.js:531 +#: ../js/ui/panel.js:515 #, c-format msgid "Quit %s" msgstr "Thoát %s" #. Button on the left side of the panel. #. Translators: If there is no suitable word for "Activities" in your language, you can use the word for "Overview". -#: ../js/ui/panel.js:899 +#: ../js/ui/panel.js:878 msgid "Activities" msgstr "Hoạt động" +#: ../js/ui/panel.js:979 +msgid "Top Bar" +msgstr "" + #: ../js/ui/placeDisplay.js:122 #, c-format msgid "Failed to unmount '%s'" @@ -568,65 +585,84 @@ msgstr "Thử lại" msgid "Connect to..." msgstr "Kết nối đến..." -#: ../js/ui/placeDisplay.js:409 +#: ../js/ui/placeDisplay.js:380 msgid "PLACES & DEVICES" msgstr "ĐỊA ĐIỂM & THIẾT BỊ" +#: ../js/ui/polkitAuthenticationAgent.js:74 +msgid "Authentication Required" +msgstr "" + +#: ../js/ui/polkitAuthenticationAgent.js:108 +msgid "Administrator" +msgstr "" + +#: ../js/ui/polkitAuthenticationAgent.js:176 +msgid "Authenticate" +msgstr "" + +#: ../js/ui/polkitAuthenticationAgent.js:260 +msgid "Sorry, that didn't work. Please try again." +msgstr "" + +#: ../js/ui/polkitAuthenticationAgent.js:272 +msgid "Password:" +msgstr "" + #. Translators: this MUST be either "toggle-switch-us" #. (for toggle switches containing the English words #. "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:612 +#: ../js/ui/popupMenu.js:679 msgid "toggle-switch-us" msgstr "toggle-switch-intl" -#: ../js/ui/runDialog.js:201 +#: ../js/ui/runDialog.js:205 msgid "Please enter a command:" msgstr "Vui lòng nhập lệnh:" -#: ../js/ui/searchDisplay.js:283 +#: ../js/ui/searchDisplay.js:310 msgid "Searching..." msgstr "Đang tìm..." -#: ../js/ui/searchDisplay.js:297 +#: ../js/ui/searchDisplay.js:324 msgid "No matching results." msgstr "Không tìm thấy." -#: ../js/ui/statusMenu.js:102 ../js/ui/statusMenu.js:166 +#: ../js/ui/statusMenu.js:161 ../js/ui/statusMenu.js:228 msgid "Power Off..." msgstr "Tắt máy..." -#: ../js/ui/statusMenu.js:104 ../js/ui/statusMenu.js:165 -#| msgid "Suspend..." +#: ../js/ui/statusMenu.js:163 ../js/ui/statusMenu.js:227 msgid "Suspend" msgstr "Ngưng" -#: ../js/ui/statusMenu.js:125 +#: ../js/ui/statusMenu.js:184 msgid "Available" msgstr "Có mặt" -#: ../js/ui/statusMenu.js:130 +#: ../js/ui/statusMenu.js:189 msgid "Busy" msgstr "Bận" -#: ../js/ui/statusMenu.js:138 +#: ../js/ui/statusMenu.js:197 msgid "My Account" msgstr "Tài khoản" -#: ../js/ui/statusMenu.js:142 +#: ../js/ui/statusMenu.js:201 msgid "System Settings" msgstr "Thiết lập hệ thống" -#: ../js/ui/statusMenu.js:149 +#: ../js/ui/statusMenu.js:208 msgid "Lock Screen" msgstr "Khoá màn hình" -#: ../js/ui/statusMenu.js:153 +#: ../js/ui/statusMenu.js:213 msgid "Switch User" msgstr "Chuyển người dùng" -#: ../js/ui/statusMenu.js:158 +#: ../js/ui/statusMenu.js:218 msgid "Log Out..." msgstr "Đăng xuất..." @@ -634,14 +670,12 @@ msgstr "Đăng xuất..." msgid "Zoom" msgstr "Phóng to" -#: ../js/ui/status/accessibility.js:69 -msgid "Screen Reader" -msgstr "Trình đọc màn hình" - -#: ../js/ui/status/accessibility.js:73 -msgid "Screen Keyboard" -msgstr "Bàn phím màn hình" - +#. let screenReader = this._buildItem(_("Screen Reader"), APPLICATIONS_SCHEMA, +#. 'screen-reader-enabled'); +#. this.menu.addMenuItem(screenReader); +#. let screenKeyboard = this._buildItem(_("Screen Keyboard"), APPLICATIONS_SCHEMA, +#. 'screen-keyboard-enabled'); +#. this.menu.addMenuItem(screenKeyboard); #: ../js/ui/status/accessibility.js:77 msgid "Visual Alerts" msgstr "Cảnh báo trực quan" @@ -666,17 +700,17 @@ msgstr "Phím chuột" msgid "Universal Access Settings" msgstr "Thiết lập hỗ trợ truy cập" -#: ../js/ui/status/accessibility.js:145 +#: ../js/ui/status/accessibility.js:146 msgid "High Contrast" msgstr "Tương phản cao" -#: ../js/ui/status/accessibility.js:182 +#: ../js/ui/status/accessibility.js:183 msgid "Large Text" msgstr "Chữ lớn" -#: ../js/ui/status/bluetooth.js:42 ../js/ui/status/bluetooth.js:241 -#: ../js/ui/status/bluetooth.js:337 ../js/ui/status/bluetooth.js:371 -#: ../js/ui/status/bluetooth.js:411 ../js/ui/status/bluetooth.js:444 +#: ../js/ui/status/bluetooth.js:42 ../js/ui/status/bluetooth.js:237 +#: ../js/ui/status/bluetooth.js:333 ../js/ui/status/bluetooth.js:367 +#: ../js/ui/status/bluetooth.js:407 ../js/ui/status/bluetooth.js:440 msgid "Bluetooth" msgstr "Bluetooth" @@ -696,94 +730,94 @@ msgstr "Thiết lập thiết bị mới..." msgid "Bluetooth Settings" msgstr "Thiết lập Bluetooth" -#: ../js/ui/status/bluetooth.js:192 +#: ../js/ui/status/bluetooth.js:188 msgid "Connection" msgstr "Kết nối" -#: ../js/ui/status/bluetooth.js:228 +#: ../js/ui/status/bluetooth.js:224 msgid "Send Files..." msgstr "Gửi tập tin..." -#: ../js/ui/status/bluetooth.js:233 +#: ../js/ui/status/bluetooth.js:229 msgid "Browse Files..." msgstr "Duyệt tập tin..." -#: ../js/ui/status/bluetooth.js:242 +#: ../js/ui/status/bluetooth.js:238 msgid "Error browsing device" msgstr "Lỗi duyệt tập tin" -#: ../js/ui/status/bluetooth.js:243 +#: ../js/ui/status/bluetooth.js:239 #, c-format msgid "The requested device cannot be browsed, error is '%s'" msgstr "Không thể duyệt thiết bị yêu cầu , lỗi là '%s'" -#: ../js/ui/status/bluetooth.js:251 +#: ../js/ui/status/bluetooth.js:247 msgid "Keyboard Settings" msgstr "Thiết lập bàn phím" -#: ../js/ui/status/bluetooth.js:256 +#: ../js/ui/status/bluetooth.js:252 msgid "Mouse Settings" msgstr "Thiết lập chuột" -#: ../js/ui/status/bluetooth.js:263 ../js/ui/status/volume.js:65 +#: ../js/ui/status/bluetooth.js:259 ../js/ui/status/volume.js:66 msgid "Sound Settings" msgstr "Thiết lập âm thanh" -#: ../js/ui/status/bluetooth.js:372 +#: ../js/ui/status/bluetooth.js:368 #, c-format msgid "Authorization request from %s" msgstr "Yêu cầu cấp quyền từ %s" -#: ../js/ui/status/bluetooth.js:378 +#: ../js/ui/status/bluetooth.js:374 #, c-format msgid "Device %s wants access to the service '%s'" msgstr "Thiết bị %s muốn truy cập dịch vụ '%s'" -#: ../js/ui/status/bluetooth.js:380 +#: ../js/ui/status/bluetooth.js:376 msgid "Always grant access" msgstr "Luôn cho phép" -#: ../js/ui/status/bluetooth.js:381 +#: ../js/ui/status/bluetooth.js:377 msgid "Grant this time only" msgstr "Chỉ cho phép lần này" -#: ../js/ui/status/bluetooth.js:382 +#: ../js/ui/status/bluetooth.js:378 msgid "Reject" msgstr "Từ chối" -#: ../js/ui/status/bluetooth.js:412 +#: ../js/ui/status/bluetooth.js:408 #, c-format msgid "Pairing confirmation for %s" msgstr "Xác nhận kết nối cho %s" -#: ../js/ui/status/bluetooth.js:418 ../js/ui/status/bluetooth.js:452 +#: ../js/ui/status/bluetooth.js:414 ../js/ui/status/bluetooth.js:448 #, c-format msgid "Device %s wants to pair with this computer" msgstr "Thiết bị %s muốn kết nối với máy tính này" -#: ../js/ui/status/bluetooth.js:419 +#: ../js/ui/status/bluetooth.js:415 #, c-format msgid "Please confirm whether the PIN '%s' matches the one on the device." msgstr "Vui lòng xác nhận PIN '%s' khớp với số trên thiết bị." -#: ../js/ui/status/bluetooth.js:421 +#: ../js/ui/status/bluetooth.js:417 msgid "Matches" msgstr "Khớp" -#: ../js/ui/status/bluetooth.js:422 +#: ../js/ui/status/bluetooth.js:418 msgid "Does not match" msgstr "Không khớp" -#: ../js/ui/status/bluetooth.js:445 +#: ../js/ui/status/bluetooth.js:441 #, c-format msgid "Pairing request for %s" msgstr "Yêu cầu kết nối cho %s" -#: ../js/ui/status/bluetooth.js:453 +#: ../js/ui/status/bluetooth.js:449 msgid "Please enter the PIN mentioned on the device." msgstr "Vui lòng nhập số PIN ghi trên thiết bị." -#: ../js/ui/status/bluetooth.js:469 +#: ../js/ui/status/bluetooth.js:465 msgid "OK" msgstr "OK" @@ -795,116 +829,265 @@ msgstr "Hiện bố trí bàn phím..." msgid "Localization Settings" msgstr "Thiết lập bản địa hoá" +#: ../js/ui/status/network.js:102 ../js/ui/status/network.js:1393 +#, fuzzy +#| msgid "Unknown" +msgid "" +msgstr "Không biết" + +#. Translators: this indicates that wireless or wwan is disabled by hardware killswitch +#: ../js/ui/status/network.js:295 +#, fuzzy +#| msgid "Disabled" +msgid "disabled" +msgstr "Tắt" + +#: ../js/ui/status/network.js:476 +#, fuzzy +#| msgid "Connection" +msgid "connecting..." +msgstr "Kết nối" + +#. Translators: this is for network connections that require some kind of key or password +#: ../js/ui/status/network.js:479 +msgid "authentication required" +msgstr "" + +#. Translators: this is for wired network devices that are physically disconnected +#: ../js/ui/status/network.js:485 +msgid "cable unplugged" +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:489 +#, fuzzy +#| msgid "Available" +msgid "unavailable" +msgstr "Có mặt" + +#: ../js/ui/status/network.js:491 +#, fuzzy +#| msgid "Connection" +msgid "connection failed" +msgstr "Kết nối" + +#. TRANSLATORS: this is the indication that a connection for another logged in user is active, +#. and we cannot access its settings (including the name) +#: ../js/ui/status/network.js:571 ../js/ui/status/network.js:1341 +msgid "Connected (private)" +msgstr "" + +#: ../js/ui/status/network.js:636 +msgid "Auto Ethernet" +msgstr "" + +#: ../js/ui/status/network.js:697 +msgid "Auto broadband" +msgstr "" + +#: ../js/ui/status/network.js:700 +msgid "Auto dial-up" +msgstr "" + +#. TRANSLATORS: this the automatic wireless connection name (including the network name) +#: ../js/ui/status/network.js:843 ../js/ui/status/network.js:1353 +#, fuzzy, c-format +#| msgid "Quit %s" +msgid "Auto %s" +msgstr "Thoát %s" + +#: ../js/ui/status/network.js:845 +#, fuzzy +#| msgid "Bluetooth" +msgid "Auto bluetooth" +msgstr "Bluetooth" + +#: ../js/ui/status/network.js:1355 +msgid "Auto wireless" +msgstr "" + +#: ../js/ui/status/network.js:1413 +msgid "More..." +msgstr "" + +#: ../js/ui/status/network.js:1436 +msgid "Enable networking" +msgstr "" + +#: ../js/ui/status/network.js:1448 +msgid "Wired" +msgstr "" + +#: ../js/ui/status/network.js:1459 +msgid "Wireless" +msgstr "" + +#: ../js/ui/status/network.js:1469 +msgid "Mobile broadband" +msgstr "" + +#: ../js/ui/status/network.js:1479 +#, fuzzy +#| msgid "Connection" +msgid "VPN Connections" +msgstr "Kết nối" + +#: ../js/ui/status/network.js:1488 +#, fuzzy +#| msgid "Power Settings" +msgid "Network Settings" +msgstr "Thiết lập năng lượng" + +#: ../js/ui/status/network.js:1783 +#, c-format +msgid "You're now connected to mobile broadband connection '%s'" +msgstr "" + +#: ../js/ui/status/network.js:1787 +#, c-format +msgid "You're now connected to wireless network '%s'" +msgstr "" + +#: ../js/ui/status/network.js:1791 +#, c-format +msgid "You're now connected to wired network '%s'" +msgstr "" + +#: ../js/ui/status/network.js:1795 +#, c-format +msgid "You're now connected to VPN network '%s'" +msgstr "" + +#: ../js/ui/status/network.js:1800 +#, c-format +msgid "You're now connected to '%s'" +msgstr "" + +#: ../js/ui/status/network.js:1808 +#, fuzzy +#| msgid "Connection" +msgid "Connection established" +msgstr "Kết nối" + +#: ../js/ui/status/network.js:1930 +msgid "Networking is disabled" +msgstr "" + +#: ../js/ui/status/network.js:2055 +msgid "Network Manager" +msgstr "" + #: ../js/ui/status/power.js:85 msgid "Power Settings" msgstr "Thiết lập năng lượng" #. 0 is reported when UPower does not have enough data #. to estimate battery life -#: ../js/ui/status/power.js:110 +#: ../js/ui/status/power.js:111 msgid "Estimating..." msgstr "Ước lượng..." -#: ../js/ui/status/power.js:117 +#: ../js/ui/status/power.js:118 #, c-format msgid "%d hour remaining" msgid_plural "%d hours remaining" msgstr[0] "%d giờ còn lại" #. TRANSLATORS: this is a time string, as in "%d hours %d minutes remaining" -#: ../js/ui/status/power.js:120 +#: ../js/ui/status/power.js:121 #, c-format msgid "%d %s %d %s remaining" msgstr "%d %s %d %s còn lại" -#: ../js/ui/status/power.js:122 +#: ../js/ui/status/power.js:123 msgid "hour" msgid_plural "hours" msgstr[0] "giờ" -#: ../js/ui/status/power.js:122 +#: ../js/ui/status/power.js:123 msgid "minute" msgid_plural "minutes" msgstr[0] "%d phút" -#: ../js/ui/status/power.js:125 +#: ../js/ui/status/power.js:126 #, c-format msgid "%d minute remaining" msgid_plural "%d minutes remaining" msgstr[0] "%d phút còn lại" -#: ../js/ui/status/power.js:227 +#: ../js/ui/status/power.js:228 msgid "AC adapter" msgstr "Bộ đổi điện AC" -#: ../js/ui/status/power.js:229 +#: ../js/ui/status/power.js:230 msgid "Laptop battery" msgstr "Pin laptop" -#: ../js/ui/status/power.js:231 +#: ../js/ui/status/power.js:232 msgid "UPS" msgstr "UPS" -#: ../js/ui/status/power.js:233 +#: ../js/ui/status/power.js:234 msgid "Monitor" msgstr "Màn hình" -#: ../js/ui/status/power.js:235 +#: ../js/ui/status/power.js:236 msgid "Mouse" msgstr "Chuột" -#: ../js/ui/status/power.js:237 +#: ../js/ui/status/power.js:238 msgid "Keyboard" msgstr "Bàn phím" -#: ../js/ui/status/power.js:239 +#: ../js/ui/status/power.js:240 msgid "PDA" msgstr "PDA" -#: ../js/ui/status/power.js:241 +#: ../js/ui/status/power.js:242 msgid "Cell phone" msgstr "Điện thoại cầm tay" -#: ../js/ui/status/power.js:243 +#: ../js/ui/status/power.js:244 msgid "Media player" msgstr "Máy phát" -#: ../js/ui/status/power.js:245 +#: ../js/ui/status/power.js:246 msgid "Tablet" msgstr "Bảng" -#: ../js/ui/status/power.js:247 +#: ../js/ui/status/power.js:248 msgid "Computer" msgstr "Máy tính" -#: ../js/ui/status/power.js:249 ../src/shell-app-system.c:1013 +#: ../js/ui/status/power.js:250 ../src/shell-app-system.c:1088 msgid "Unknown" msgstr "Không biết" -#: ../js/ui/status/volume.js:44 +#: ../js/ui/status/volume.js:45 msgid "Volume" msgstr "Âm lượng" -#: ../js/ui/status/volume.js:57 +#: ../js/ui/status/volume.js:58 msgid "Microphone" msgstr "Micrô" -#: ../js/ui/telepathyClient.js:239 +#: ../js/ui/telepathyClient.js:332 #, c-format msgid "%s is online." msgstr "%s trực tuyến." -#: ../js/ui/telepathyClient.js:244 +#: ../js/ui/telepathyClient.js:337 #, c-format msgid "%s is offline." msgstr "%s ngoại tuyến." -#: ../js/ui/telepathyClient.js:247 +#: ../js/ui/telepathyClient.js:340 #, c-format msgid "%s is away." msgstr "%s đi vắng." -#: ../js/ui/telepathyClient.js:250 +#: ../js/ui/telepathyClient.js:343 #, c-format msgid "%s is busy." msgstr "%s bận." @@ -912,7 +1095,7 @@ msgstr "%s bận." #. Translators: this is a time format string followed by a date. #. If applicable, replace %X with a strftime format valid for your #. locale, without seconds. -#: ../js/ui/telepathyClient.js:348 +#: ../js/ui/telepathyClient.js:474 #, no-c-format msgid "Sent at %X on %A" msgstr "Đã gửi %X lúc %A" @@ -921,10 +1104,14 @@ msgstr "Đã gửi %X lúc %A" #. in the search entry when no search is #. active; it should not exceed ~30 #. characters. -#: ../js/ui/viewSelector.js:103 +#: ../js/ui/viewSelector.js:122 msgid "Type to search..." msgstr "Nhập để tìm..." +#: ../js/ui/viewSelector.js:142 ../src/shell-util.c:250 +msgid "Search" +msgstr "Tìm" + #: ../js/ui/windowAttentionHandler.js:42 #, c-format msgid "%s has finished starting" @@ -937,7 +1124,7 @@ msgstr "'%s' đã sẵn sàng" #. translators: #. * The number of sound outputs on a particular device -#: ../src/gvc/gvc-mixer-control.c:1094 +#: ../src/gvc/gvc-mixer-control.c:1098 #, c-format msgid "%u Output" msgid_plural "%u Outputs" @@ -945,44 +1132,62 @@ msgstr[0] "%u đầu ra" #. translators: #. * The number of sound inputs on a particular device -#: ../src/gvc/gvc-mixer-control.c:1104 +#: ../src/gvc/gvc-mixer-control.c:1108 #, c-format msgid "%u Input" msgid_plural "%u Inputs" msgstr[0] "%u đầu vào" -#: ../src/gvc/gvc-mixer-control.c:1402 +#: ../src/gvc/gvc-mixer-control.c:1406 msgid "System Sounds" msgstr "Âm thanh hệ thống" -#: ../src/shell-global.c:1298 +#: ../src/main.c:446 +msgid "Print version" +msgstr "" + +#: ../src/shell-app.c:454 +#, fuzzy, c-format +#| msgid "Failed to unmount '%s'" +msgid "Failed to launch '%s'" +msgstr "Lỗi bỏ gắn '%s'" + +#: ../src/shell-global.c:1395 msgid "Less than a minute ago" msgstr "Chưa đến một phút" -#: ../src/shell-global.c:1302 +#: ../src/shell-global.c:1399 #, c-format msgid "%d minute ago" msgid_plural "%d minutes ago" msgstr[0] "%d phút trước" -#: ../src/shell-global.c:1307 +#: ../src/shell-global.c:1404 #, c-format msgid "%d hour ago" msgid_plural "%d hours ago" msgstr[0] "%d giờ trước" -#: ../src/shell-global.c:1312 +#: ../src/shell-global.c:1409 #, c-format msgid "%d day ago" msgid_plural "%d days ago" msgstr[0] "%d ngày trước" -#: ../src/shell-global.c:1317 +#: ../src/shell-global.c:1414 #, c-format msgid "%d week ago" msgid_plural "%d weeks ago" msgstr[0] "%d tuần trước" +#: ../src/shell-mobile-providers.c:80 +msgid "United Kingdom" +msgstr "" + +#: ../src/shell-mobile-providers.c:526 +msgid "Default" +msgstr "" + #: ../src/shell-polkit-authentication-agent.c:334 msgid "Authentication dialog was dismissed by the user" msgstr "Hộp thoại xác thực bị người dùng bỏ qua" @@ -997,10 +1202,6 @@ msgstr "Thư mục chính" msgid "File System" msgstr "Hệ tập tin" -#: ../src/shell-util.c:250 -msgid "Search" -msgstr "Tìm" - #. Translators: the first string is the name of a gvfs #. * method, and the second string is a path. For #. * example, "Trash: some-directory". It means that the @@ -1011,6 +1212,30 @@ msgstr "Tìm" msgid "%1$s: %2$s" msgstr "%1$s: %2$s" +#~ msgid "No such application" +#~ msgstr "Không có ứng dụng đó" + +#~ msgid "Shut Down" +#~ msgstr "Tắt máy" + +#~ msgid "Click Shut Down to quit these applications and shut down the system." +#~ msgstr "Nhấn Tắt máy để thoát những ứng dụng này và tắt hệ thống." + +#~ msgid "The system will shut down automatically in %d seconds." +#~ msgstr "Hệ thống sẽ tự động tắt sau %d giây." + +#~ msgid "Shutting down the system." +#~ msgstr "Tắt hệ thống." + +#~ msgid "Confirm" +#~ msgstr "Xác nhận" + +#~ msgid "Screen Reader" +#~ msgstr "Trình đọc màn hình" + +#~ msgid "Screen Keyboard" +#~ msgstr "Bàn phím màn hình" + #~ msgid "Clip the crosshairs at the center" #~ msgstr "Cắt lưới chéo ở giữa" From f608c65962f41077dd0d562ff9ad32cba745adce Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Nguy=E1=BB=85n=20Th=C3=A1i=20Ng=E1=BB=8Dc=20Duy?= Date: Fri, 25 Mar 2011 00:31:36 +0700 Subject: [PATCH 188/203] Updated Vietnamese translation --- po/vi.po | 124 +++++++++++++++++++++++++------------------------------ 1 file changed, 56 insertions(+), 68 deletions(-) diff --git a/po/vi.po b/po/vi.po index 451f9948c..5bb6b61c1 100644 --- a/po/vi.po +++ b/po/vi.po @@ -9,7 +9,7 @@ msgstr "" "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug.cgi?product=gnome-" "shell&keywords=I18N+L10N&component=general\n" "POT-Creation-Date: 2011-03-24 08:03+0000\n" -"PO-Revision-Date: 2011-03-05 15:41+0700\n" +"PO-Revision-Date: 2011-03-25 00:31+0700\n" "Last-Translator: Duy \n" "Language-Team: Vietnamese \n" "MIME-Version: 1.0\n" @@ -222,7 +222,7 @@ msgstr "Đã bỏ đánh dấu ưa thích cho %s" #: ../js/ui/calendar.js:66 msgctxt "event list time" msgid "All Day" -msgstr "Nguyên ngày" +msgstr "Cả ngày" #. Translators: Shown in calendar event list, if 24h format #: ../js/ui/calendar.js:71 @@ -378,31 +378,31 @@ msgstr "Mở lịch" #. in 24-hour mode. #: ../js/ui/dateMenu.js:164 msgid "%a %b %e, %R:%S" -msgstr "%R:%S, %a %b %e" +msgstr "%a %R:%S, %e %b" #: ../js/ui/dateMenu.js:165 msgid "%a %b %e, %R" -msgstr "%R, %a %b %e" +msgstr "%a %R, %e %b" #. Translators: This is the time format without date used #. in 24-hour mode. #: ../js/ui/dateMenu.js:169 msgid "%a %R:%S" -msgstr "%R:%S %a" +msgstr "%a %R:%S" #: ../js/ui/dateMenu.js:170 msgid "%a %R" -msgstr "%R %a" +msgstr "%a %R" #. Translators: This is a time format with date used #. for AM/PM. #: ../js/ui/dateMenu.js:177 msgid "%a %b %e, %l:%M:%S %p" -msgstr "%a %b %e, %l:%M:%S %p" +msgstr "%a %e %b, %l:%M:%S %p" #: ../js/ui/dateMenu.js:178 msgid "%a %b %e, %l:%M %p" -msgstr "%a %b %e, %l:%M %p" +msgstr "%a %e %b, %l:%M %p" #. Translators: This is a time format without date used #. for AM/PM. @@ -453,28 +453,25 @@ msgid "Logging out of the system." msgstr "Đang xuất khỏi hệ thống." #: ../js/ui/endSessionDialog.js:75 ../js/ui/endSessionDialog.js:82 -#, fuzzy #| msgid "Power Off..." msgid "Power Off" -msgstr "Tắt máy..." +msgstr "Tắt máy" #: ../js/ui/endSessionDialog.js:76 -#, fuzzy #| msgid "Click Log Out to quit these applications and log out of the system." msgid "Click Power Off to quit these applications and power off the system." -msgstr "Nhấn Đăng xuất để thoát những ứng dụng này và đăng xuất khỏi hệ thống." +msgstr "Nhấn Tắt máy để thoát những ứng dụng này và tắt máy." #: ../js/ui/endSessionDialog.js:77 -#, fuzzy, c-format +#, c-format #| msgid "The system will restart automatically in %d seconds." msgid "The system will power off automatically in %d seconds." -msgstr "Hệ thống sẽ tự động khởi động lại sau %d giây." +msgstr "Hệ thống sẽ tự động tắt sau %d giây." #: ../js/ui/endSessionDialog.js:78 -#, fuzzy #| msgid "Logging out of the system." msgid "Powering off the system." -msgstr "Đang xuất khỏi hệ thống." +msgstr "Tắt máy." #: ../js/ui/endSessionDialog.js:80 ../js/ui/endSessionDialog.js:88 #: ../js/ui/endSessionDialog.js:93 @@ -532,7 +529,7 @@ msgstr "Trang Web" #: ../js/ui/messageTray.js:987 msgid "Open" -msgstr "" +msgstr "Mở" #: ../js/ui/messageTray.js:2145 msgid "System Information" @@ -554,7 +551,7 @@ msgstr "Ứng dụng" #. the left of the overview #: ../js/ui/overview.js:205 msgid "Dash" -msgstr "" +msgstr "Khung ứng dụng" #. TODO - _quit() doesn't really work on apps in state STARTING yet #: ../js/ui/panel.js:515 @@ -570,7 +567,7 @@ msgstr "Hoạt động" #: ../js/ui/panel.js:979 msgid "Top Bar" -msgstr "" +msgstr "Thanh đỉnh" #: ../js/ui/placeDisplay.js:122 #, c-format @@ -591,23 +588,23 @@ msgstr "ĐỊA ĐIỂM & THIẾT BỊ" #: ../js/ui/polkitAuthenticationAgent.js:74 msgid "Authentication Required" -msgstr "" +msgstr "Cần xác thực" #: ../js/ui/polkitAuthenticationAgent.js:108 msgid "Administrator" -msgstr "" +msgstr "Quản trị" #: ../js/ui/polkitAuthenticationAgent.js:176 msgid "Authenticate" -msgstr "" +msgstr "Xác thực" #: ../js/ui/polkitAuthenticationAgent.js:260 msgid "Sorry, that didn't work. Please try again." -msgstr "" +msgstr "Rất tiếc, không được. Vui lòng thử lại." #: ../js/ui/polkitAuthenticationAgent.js:272 msgid "Password:" -msgstr "" +msgstr "Mật khẩu:" #. Translators: this MUST be either "toggle-switch-us" #. (for toggle switches containing the English words @@ -830,153 +827,144 @@ msgid "Localization Settings" msgstr "Thiết lập bản địa hoá" #: ../js/ui/status/network.js:102 ../js/ui/status/network.js:1393 -#, fuzzy #| msgid "Unknown" msgid "" -msgstr "Không biết" +msgstr "" #. Translators: this indicates that wireless or wwan is disabled by hardware killswitch #: ../js/ui/status/network.js:295 -#, fuzzy #| msgid "Disabled" msgid "disabled" -msgstr "Tắt" +msgstr "tắt" #: ../js/ui/status/network.js:476 -#, fuzzy #| msgid "Connection" msgid "connecting..." -msgstr "Kết nối" +msgstr "đang kết nối..." #. Translators: this is for network connections that require some kind of key or password #: ../js/ui/status/network.js:479 msgid "authentication required" -msgstr "" +msgstr "cần xác thực" #. Translators: this is for wired network devices that are physically disconnected #: ../js/ui/status/network.js:485 msgid "cable unplugged" -msgstr "" +msgstr "cáp bị tháo" #. 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:489 -#, fuzzy #| msgid "Available" msgid "unavailable" -msgstr "Có mặt" +msgstr "không có mặt" #: ../js/ui/status/network.js:491 -#, fuzzy #| msgid "Connection" msgid "connection failed" -msgstr "Kết nối" +msgstr "lỗi kết nối" #. TRANSLATORS: this is the indication that a connection for another logged in user is active, #. and we cannot access its settings (including the name) #: ../js/ui/status/network.js:571 ../js/ui/status/network.js:1341 msgid "Connected (private)" -msgstr "" +msgstr "Đã kết nối (riêng)" #: ../js/ui/status/network.js:636 msgid "Auto Ethernet" -msgstr "" +msgstr "Ethernet tự động" #: ../js/ui/status/network.js:697 msgid "Auto broadband" -msgstr "" +msgstr "Băng thông rộng tự động" #: ../js/ui/status/network.js:700 msgid "Auto dial-up" -msgstr "" +msgstr "Quay số tự động" #. TRANSLATORS: this the automatic wireless connection name (including the network name) #: ../js/ui/status/network.js:843 ../js/ui/status/network.js:1353 -#, fuzzy, c-format +#, c-format #| msgid "Quit %s" msgid "Auto %s" -msgstr "Thoát %s" +msgstr "%s tự động" #: ../js/ui/status/network.js:845 -#, fuzzy #| msgid "Bluetooth" msgid "Auto bluetooth" -msgstr "Bluetooth" +msgstr "Bluetooth tự động" #: ../js/ui/status/network.js:1355 msgid "Auto wireless" -msgstr "" +msgstr "Mạng không dây tự động" #: ../js/ui/status/network.js:1413 msgid "More..." -msgstr "" +msgstr "Nữa..." #: ../js/ui/status/network.js:1436 msgid "Enable networking" -msgstr "" +msgstr "Bật nối mạng" #: ../js/ui/status/network.js:1448 msgid "Wired" -msgstr "" +msgstr "Mạng dây" #: ../js/ui/status/network.js:1459 msgid "Wireless" -msgstr "" +msgstr "Mạng không dây" #: ../js/ui/status/network.js:1469 msgid "Mobile broadband" -msgstr "" +msgstr "Mạng băng thông rộng" #: ../js/ui/status/network.js:1479 -#, fuzzy #| msgid "Connection" msgid "VPN Connections" -msgstr "Kết nối" +msgstr "Kết nối VPN" #: ../js/ui/status/network.js:1488 -#, fuzzy #| msgid "Power Settings" msgid "Network Settings" -msgstr "Thiết lập năng lượng" +msgstr "Thiết lập mạng" #: ../js/ui/status/network.js:1783 #, c-format msgid "You're now connected to mobile broadband connection '%s'" -msgstr "" +msgstr "Bạn đã kết nối vào mạng băng thông rộng '%s'" #: ../js/ui/status/network.js:1787 #, c-format msgid "You're now connected to wireless network '%s'" -msgstr "" +msgstr "Bạn đã kết nối vào mạng không dây '%s'" #: ../js/ui/status/network.js:1791 #, c-format msgid "You're now connected to wired network '%s'" -msgstr "" +msgstr "Bạn đã kết nối vào mạng (dây) '%s'" #: ../js/ui/status/network.js:1795 #, c-format msgid "You're now connected to VPN network '%s'" -msgstr "" +msgstr "Bạn đã kết nối vào mạng VPN '%s'" #: ../js/ui/status/network.js:1800 #, c-format msgid "You're now connected to '%s'" -msgstr "" +msgstr "Bạn đã kết nối vào '%s'" #: ../js/ui/status/network.js:1808 -#, fuzzy #| msgid "Connection" msgid "Connection established" -msgstr "Kết nối" +msgstr "Đã tạo kết nối" #: ../js/ui/status/network.js:1930 msgid "Networking is disabled" -msgstr "" +msgstr "Mạng bị tắt" #: ../js/ui/status/network.js:2055 msgid "Network Manager" -msgstr "" +msgstr "Trình quản lý mạng" #: ../js/ui/status/power.js:85 msgid "Power Settings" @@ -1144,13 +1132,13 @@ msgstr "Âm thanh hệ thống" #: ../src/main.c:446 msgid "Print version" -msgstr "" +msgstr "In phiên bản" #: ../src/shell-app.c:454 -#, fuzzy, c-format +#, c-format #| msgid "Failed to unmount '%s'" msgid "Failed to launch '%s'" -msgstr "Lỗi bỏ gắn '%s'" +msgstr "Lỗi chạy '%s'" #: ../src/shell-global.c:1395 msgid "Less than a minute ago" @@ -1182,11 +1170,11 @@ msgstr[0] "%d tuần trước" #: ../src/shell-mobile-providers.c:80 msgid "United Kingdom" -msgstr "" +msgstr "Vương quốc Anh" #: ../src/shell-mobile-providers.c:526 msgid "Default" -msgstr "" +msgstr "Mặc định" #: ../src/shell-polkit-authentication-agent.c:334 msgid "Authentication dialog was dismissed by the user" From 475cf7179e186f1e39dc4a3e8fcd14bad9ff9bdd Mon Sep 17 00:00:00 2001 From: Micro Cai Date: Fri, 25 Mar 2011 02:11:20 +0800 Subject: [PATCH 189/203] Add gettext macro to message to enable translation. --- js/ui/statusMenu.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/js/ui/statusMenu.js b/js/ui/statusMenu.js index d91e46e84..760d0bc1c 100644 --- a/js/ui/statusMenu.js +++ b/js/ui/statusMenu.js @@ -160,7 +160,7 @@ StatusMenuButton.prototype = { if (!this._haveSuspend) { this._suspendOrPowerOffItem.updateText(_("Power Off..."), null); } else { - this._suspendOrPowerOffItem.updateText(_("Suspend"), ("Power Off...")); + this._suspendOrPowerOffItem.updateText(_("Suspend"), _("Power Off...")); } }, From 5233429b6fe87292d3b8abc2921173a76c497964 Mon Sep 17 00:00:00 2001 From: Luca Ferretti Date: Thu, 24 Mar 2011 22:58:22 +0100 Subject: [PATCH 190/203] Updated Italian translation --- po/it.po | 122 +++++++++++++++++++++++++++++++++++-------------------- 1 file changed, 78 insertions(+), 44 deletions(-) diff --git a/po/it.po b/po/it.po index 0259e044f..59f9a33df 100644 --- a/po/it.po +++ b/po/it.po @@ -8,8 +8,8 @@ msgid "" msgstr "" "Project-Id-Version: gnome-shell\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2011-03-22 01:35+0100\n" -"PO-Revision-Date: 2011-03-24 01:13+0100\n" +"POT-Creation-Date: 2011-03-24 22:46+0100\n" +"PO-Revision-Date: 2011-03-24 22:58+0100\n" "Last-Translator: Luca Ferretti \n" "Language-Team: Italian \n" "Language: it\n" @@ -202,15 +202,15 @@ msgstr "APPLICAZIONI" msgid "SETTINGS" msgstr "IMPOSTAZIONI" -#: ../js/ui/appDisplay.js:620 +#: ../js/ui/appDisplay.js:625 msgid "New Window" msgstr "Nuova finestra" -#: ../js/ui/appDisplay.js:623 +#: ../js/ui/appDisplay.js:628 msgid "Remove from Favorites" msgstr "Rimuovi dai preferiti" -#: ../js/ui/appDisplay.js:624 +#: ../js/ui/appDisplay.js:629 msgid "Add to Favorites" msgstr "Aggiungi ai preferiti" @@ -372,7 +372,7 @@ msgstr "Questa settimana" msgid "Next week" msgstr "Prossima settimana" -#: ../js/ui/dash.js:174 ../js/ui/messageTray.js:944 +#: ../js/ui/dash.js:174 ../js/ui/messageTray.js:994 msgid "Remove" msgstr "Rimuovi" @@ -440,7 +440,7 @@ msgstr "ELEMENTI RECENTI" msgid "Log Out %s" msgstr "Termina sessione di %s" -#: ../js/ui/endSessionDialog.js:64 ../js/ui/endSessionDialog.js:69 +#: ../js/ui/endSessionDialog.js:64 ../js/ui/endSessionDialog.js:70 msgid "Log Out" msgstr "Termina sessione" @@ -465,50 +465,45 @@ msgstr "La sessione verrà terminata automaticamente tra %d secondi." msgid "Logging out of the system." msgstr "Chiusura della sessione." -#: ../js/ui/endSessionDialog.js:74 ../js/ui/endSessionDialog.js:78 -msgid "Shut Down" -msgstr "Arresta" - -# usato un termine diverso, magari si capisce meglio (LF) -#: ../js/ui/endSessionDialog.js:75 -msgid "Click Shut Down to quit these applications and shut down the system." -msgstr "" -"Fare clic su «Arresta» per chiudere queste applicazioni e spegnere il " -"sistema." +#: ../js/ui/endSessionDialog.js:75 ../js/ui/endSessionDialog.js:82 +msgid "Power Off" +msgstr "Spegni" #: ../js/ui/endSessionDialog.js:76 -#, c-format -msgid "The system will shut down automatically in %d seconds." -msgstr "Il sistema verrà arrestato automaticamente tra %d secondi." +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." #: ../js/ui/endSessionDialog.js:77 -msgid "Shutting down the system." -msgstr "Arresto del sistema." +#, c-format +msgid "The system will power off automatically in %d seconds." +msgstr "Il sistema verrà spento automaticamente tra %d secondi." -#: ../js/ui/endSessionDialog.js:84 ../js/ui/endSessionDialog.js:88 +#: ../js/ui/endSessionDialog.js:78 +msgid "Powering off the system." +msgstr "pegnimento del sistema." + +#: ../js/ui/endSessionDialog.js:80 ../js/ui/endSessionDialog.js:88 +#: ../js/ui/endSessionDialog.js:93 msgid "Restart" msgstr "Riavvia" -#: ../js/ui/endSessionDialog.js:85 +#: ../js/ui/endSessionDialog.js:89 msgid "Click Restart to quit these applications and restart the system." msgstr "" "Fare clic su «Riavvia» per chiudere queste applicazioni e riavviare il " "sistema." -#: ../js/ui/endSessionDialog.js:86 +#: ../js/ui/endSessionDialog.js:90 #, c-format msgid "The system will restart automatically in %d seconds." msgstr "Il sistema verrà riavviato automaticamente tra %d secondi." -#: ../js/ui/endSessionDialog.js:87 +#: ../js/ui/endSessionDialog.js:91 msgid "Restarting the system." msgstr "Riavvio del sistema." -#: ../js/ui/endSessionDialog.js:395 -msgid "Confirm" -msgstr "Conferma" - -#: ../js/ui/endSessionDialog.js:400 ../js/ui/status/bluetooth.js:466 +#: ../js/ui/endSessionDialog.js:415 ../js/ui/polkitAuthenticationAgent.js:172 +#: ../js/ui/status/bluetooth.js:466 msgid "Cancel" msgstr "Annulla" @@ -544,30 +539,30 @@ msgstr "Visualizza sorgente" msgid "Web Page" msgstr "Pagina web" -#: ../js/ui/messageTray.js:937 +#: ../js/ui/messageTray.js:987 msgid "Open" msgstr "Apri" -#: ../js/ui/messageTray.js:2008 +#: ../js/ui/messageTray.js:2145 msgid "System Information" msgstr "Informazione di sistema" -#: ../js/ui/overview.js:88 +#: ../js/ui/overview.js:91 msgid "Undo" msgstr "Annulla" -#: ../js/ui/overview.js:183 +#: ../js/ui/overview.js:186 msgid "Windows" msgstr "Finestre" -#: ../js/ui/overview.js:186 +#: ../js/ui/overview.js:189 msgid "Applications" msgstr "Applicazioni" # cruscotto?!?!?!?!?!?!? #. Translators: this is the name of the dock/favorites area on #. the left of the overview -#: ../js/ui/overview.js:202 +#: ../js/ui/overview.js:205 msgid "Dash" msgstr "Dash" @@ -579,11 +574,11 @@ msgstr "Chiudi %s" #. Button on the left side of the panel. #. Translators: If there is no suitable word for "Activities" in your language, you can use the word for "Overview". -#: ../js/ui/panel.js:876 +#: ../js/ui/panel.js:878 msgid "Activities" msgstr "Attività" -#: ../js/ui/panel.js:977 +#: ../js/ui/panel.js:979 msgid "Top Bar" msgstr "Barra superiore" @@ -605,12 +600,32 @@ msgstr "Connetti a..." msgid "PLACES & DEVICES" msgstr "RISORSE E DISPOSITIVI" +#: ../js/ui/polkitAuthenticationAgent.js:74 +msgid "Authentication Required" +msgstr "Richiesta autenticazione" + +#: ../js/ui/polkitAuthenticationAgent.js:108 +msgid "Administrator" +msgstr "Amministratore" + +#: ../js/ui/polkitAuthenticationAgent.js:176 +msgid "Authenticate" +msgstr "Autentica" + +#: ../js/ui/polkitAuthenticationAgent.js:260 +msgid "Sorry, that didn't work. Please try again." +msgstr "" + +#: ../js/ui/polkitAuthenticationAgent.js:272 +msgid "Password:" +msgstr "Password:" + #. Translators: this MUST be either "toggle-switch-us" #. (for toggle switches containing the English words #. "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:636 +#: ../js/ui/popupMenu.js:679 msgid "toggle-switch-us" msgstr "toggle-switch-us" @@ -618,15 +633,16 @@ msgstr "toggle-switch-us" msgid "Please enter a command:" msgstr "Inserire un comando:" -#: ../js/ui/searchDisplay.js:287 +#: ../js/ui/searchDisplay.js:310 msgid "Searching..." msgstr "Ricerca..." -#: ../js/ui/searchDisplay.js:301 +#: ../js/ui/searchDisplay.js:324 msgid "No matching results." msgstr "Nessun risultato corrispondente." -#: ../js/ui/statusMenu.js:161 ../js/ui/statusMenu.js:228 +#: ../js/ui/statusMenu.js:161 ../js/ui/statusMenu.js:163 +#: ../js/ui/statusMenu.js:228 msgid "Power Off..." msgstr "Spegni..." @@ -1130,7 +1146,7 @@ msgstr[1] "%u ingressi" msgid "System Sounds" msgstr "Audio di sistema" -#: ../src/main.c:397 +#: ../src/main.c:446 msgid "Print version" msgstr "Stampa la versione" @@ -1204,6 +1220,24 @@ msgstr "File system" msgid "%1$s: %2$s" msgstr "%1$s: %2$s" +#~ msgid "Shut Down" +#~ msgstr "Arresta" + +# usato un termine diverso, magari si capisce meglio (LF) +#~ msgid "Click Shut Down to quit these applications and shut down the system." +#~ msgstr "" +#~ "Fare clic su «Arresta» per chiudere queste applicazioni e spegnere il " +#~ "sistema." + +#~ msgid "The system will shut down automatically in %d seconds." +#~ msgstr "Il sistema verrà arrestato automaticamente tra %d secondi." + +#~ msgid "Shutting down the system." +#~ msgstr "Arresto del sistema." + +#~ msgid "Confirm" +#~ msgstr "Conferma" + #~ msgid "Panel" #~ msgstr "Pannello" From 92ff57c0eafae99d0d03dd753b518d4857d47d46 Mon Sep 17 00:00:00 2001 From: Daniel Nylander Date: Thu, 24 Mar 2011 23:04:11 +0100 Subject: [PATCH 191/203] Updated Swedish translation --- po/sv.po | 38 ++++++++++++++++++++++++++++++-------- 1 file changed, 30 insertions(+), 8 deletions(-) diff --git a/po/sv.po b/po/sv.po index 9ca17e5d8..457127bf4 100644 --- a/po/sv.po +++ b/po/sv.po @@ -7,8 +7,8 @@ msgid "" msgstr "" "Project-Id-Version: gnome-shell\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2011-03-24 07:30+0100\n" -"PO-Revision-Date: 2011-03-24 08:03+0100\n" +"POT-Creation-Date: 2011-03-24 22:53+0100\n" +"PO-Revision-Date: 2011-03-24 23:04+0100\n" "Last-Translator: Daniel Nylander \n" "Language-Team: Swedish \n" "Language: sv\n" @@ -72,7 +72,7 @@ msgstr "Lista över skrivbordsfil-id för favoritprogram" #: ../data/org.gnome.shell.gschema.xml.in.h:13 #, no-c-format msgid "Sets the GStreamer pipeline used to encode recordings. It follows the syntax used for gst-launch. The pipeline should have an unconnected sink pad where the recorded video is recorded. It will normally have a unconnected source pad; output from that pad will be written into the output file. However the pipeline can also take care of its own output - this might be used to send the output to an icecast server via shout2send or similar. When unset or set to an empty value, the default pipeline will be used. This is currently 'videorate ! vp8enc quality=10 speed=2 threads=%T ! queue ! webmmux' and records to WEBM using the VP8 codec. %T is used as a placeholder for a guess at the optimal thread count on the system." -msgstr "" +msgstr "Ställer in GStreamer-rörledningen som används för att koda inspelningar. Den följer det syntax som används för gst-launch. Rörledningen bör ha en oansluten sink pad där den inspelade videon spelas in. Den kommer vanligtvis har en oansluten source pad; utmatning från denna pad kommer att skrivas till utmatningsfilen. Dock kan rörledningen också ta hand om sin egna utmatning - detta kan användas för att skicka utmatningen till en icecast-server via shout2send eller liknande. När den inte är inställd eller inställd till ett tomt värde så kommer standardrörledningen att användas. Detta är för närvarande \"videorate ! vp8enc quality=10 speed=2 threads=%T ! queue ! webmmux\" och inspelningar till WEBM använder kodeken VP8. %T används som en platshållare för en gissning av det optimala trådantalet på systemet." #: ../data/org.gnome.shell.gschema.xml.in.h:14 msgid "Show date in clock" @@ -104,7 +104,7 @@ msgstr "Den gstreamer-rörledning som användes för att koda skärminspelningen #: ../data/org.gnome.shell.gschema.xml.in.h:21 msgid "The shell normally monitors active applications in order to present the most used ones (e.g. in launchers). While this data will be kept private, you may want to disable this for privacy reasons. Please note that doing so won't remove already saved data." -msgstr "" +msgstr "Skalet övervakar normalt sett aktiva program för att kunna visa de mest använda (t.ex. i programstartare). Då denna data kommer att hållas privat så kan du inaktivera detta av integritetsskäl. Observera att göra det kommer inte ta bort redan sparat data." #: ../data/org.gnome.shell.gschema.xml.in.h:22 msgid "Uuids of extensions to disable" @@ -116,7 +116,7 @@ msgstr "Huruvida statistik ska samlas in för programanvändning" #: ../data/org.gnome.shell.gschema.xml.in.h:24 msgid "disabled OpenSearch providers" -msgstr "" +msgstr "inaktiverade OpenSearch-leverantörer" #: ../js/misc/util.js:71 msgid "Command not found" @@ -444,6 +444,7 @@ msgid "Restarting the system." msgstr "Starta om systemet." #: ../js/ui/endSessionDialog.js:415 +#: ../js/ui/polkitAuthenticationAgent.js:172 #: ../js/ui/status/bluetooth.js:466 msgid "Cancel" msgstr "Avbryt" @@ -503,7 +504,7 @@ msgstr "Program" #. the left of the overview #: ../js/ui/overview.js:205 msgid "Dash" -msgstr "" +msgstr "Favoriter" #. TODO - _quit() doesn't really work on apps in state STARTING yet #: ../js/ui/panel.js:515 @@ -519,7 +520,7 @@ msgstr "Aktiviteter" #: ../js/ui/panel.js:979 msgid "Top Bar" -msgstr "" +msgstr "Övre rad" #: ../js/ui/placeDisplay.js:122 #, c-format @@ -538,6 +539,26 @@ msgstr "Anslut till..." msgid "PLACES & DEVICES" msgstr "PLATSER OCH ENHETER" +#: ../js/ui/polkitAuthenticationAgent.js:74 +msgid "Authentication Required" +msgstr "Autentisering krävs" + +#: ../js/ui/polkitAuthenticationAgent.js:108 +msgid "Administrator" +msgstr "Administratör" + +#: ../js/ui/polkitAuthenticationAgent.js:176 +msgid "Authenticate" +msgstr "Autentisera" + +#: ../js/ui/polkitAuthenticationAgent.js:260 +msgid "Sorry, that didn't work. Please try again." +msgstr "Tyvärr, det fungerade inte. Försök igen." + +#: ../js/ui/polkitAuthenticationAgent.js:272 +msgid "Password:" +msgstr "Lösenord:" + #. Translators: this MUST be either "toggle-switch-us" #. (for toggle switches containing the English words #. "ON" and "OFF") or "toggle-switch-intl" (for toggle @@ -560,6 +581,7 @@ msgid "No matching results." msgstr "Inga sökträffar." #: ../js/ui/statusMenu.js:161 +#: ../js/ui/statusMenu.js:163 #: ../js/ui/statusMenu.js:228 msgid "Power Off..." msgstr "Stäng av..." @@ -1113,7 +1135,7 @@ msgstr[1] "%d veckor sedan" #: ../src/shell-mobile-providers.c:80 msgid "United Kingdom" -msgstr "" +msgstr "Storbritannien" #: ../src/shell-mobile-providers.c:526 msgid "Default" From 219d5fb66b085f9892b9d77c557f80696276eddd Mon Sep 17 00:00:00 2001 From: Daniel Nylander Date: Thu, 24 Mar 2011 23:04:32 +0100 Subject: [PATCH 192/203] Updated Swedish translation --- po/sv.po | 188 ++++++++++++++++++++++++++++++++++++++----------------- 1 file changed, 132 insertions(+), 56 deletions(-) diff --git a/po/sv.po b/po/sv.po index 457127bf4..8ee761842 100644 --- a/po/sv.po +++ b/po/sv.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: gnome-shell\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2011-03-24 22:53+0100\n" +"POT-Creation-Date: 2011-03-24 23:04+0100\n" "PO-Revision-Date: 2011-03-24 23:04+0100\n" "Last-Translator: Daniel Nylander \n" "Language-Team: Swedish \n" @@ -26,12 +26,17 @@ msgid "Window management and application launching" msgstr "Fönsterhantering och programstarter" #: ../data/org.gnome.shell.gschema.xml.in.h:1 -msgid "Allows access to internal debugging and monitoring tools using the Alt-F2 dialog." -msgstr "Tillåter åtkomst till interna verktyg för felsökning och övervakning med dialogen Alt-F2." +msgid "" +"Allows access to internal debugging and monitoring tools using the Alt-F2 " +"dialog." +msgstr "" +"Tillåter åtkomst till interna verktyg för felsökning och övervakning med " +"dialogen Alt-F2." #: ../data/org.gnome.shell.gschema.xml.in.h:2 msgid "Enable internal tools useful for developers and testers from Alt-F2" -msgstr "Aktivera interna verktyg användbara för utvecklare och testare från Alt-F2" +msgstr "" +"Aktivera interna verktyg användbara för utvecklare och testare från Alt-F2" #: ../data/org.gnome.shell.gschema.xml.in.h:3 msgid "File extension used for storing the screencast" @@ -42,8 +47,12 @@ msgid "Framerate used for recording screencasts." msgstr "Bildfrekvens för inspelade skärminspelningar." #: ../data/org.gnome.shell.gschema.xml.in.h:5 -msgid "GNOME Shell extensions have a uuid property; this key lists extensions which should not be loaded." -msgstr "GNOME Shell-tillägg har en uuid-egenskap; denna nyckel listar tillägg som inte ska läsas in." +msgid "" +"GNOME Shell extensions have a uuid property; this key lists extensions which " +"should not be loaded." +msgstr "" +"GNOME Shell-tillägg har en uuid-egenskap; denna nyckel listar tillägg som " +"inte ska läsas in." #: ../data/org.gnome.shell.gschema.xml.in.h:6 msgid "History for command (Alt-F2) dialog" @@ -71,8 +80,30 @@ msgstr "Lista över skrivbordsfil-id för favoritprogram" #: ../data/org.gnome.shell.gschema.xml.in.h:13 #, no-c-format -msgid "Sets the GStreamer pipeline used to encode recordings. It follows the syntax used for gst-launch. The pipeline should have an unconnected sink pad where the recorded video is recorded. It will normally have a unconnected source pad; output from that pad will be written into the output file. However the pipeline can also take care of its own output - this might be used to send the output to an icecast server via shout2send or similar. When unset or set to an empty value, the default pipeline will be used. This is currently 'videorate ! vp8enc quality=10 speed=2 threads=%T ! queue ! webmmux' and records to WEBM using the VP8 codec. %T is used as a placeholder for a guess at the optimal thread count on the system." -msgstr "Ställer in GStreamer-rörledningen som används för att koda inspelningar. Den följer det syntax som används för gst-launch. Rörledningen bör ha en oansluten sink pad där den inspelade videon spelas in. Den kommer vanligtvis har en oansluten source pad; utmatning från denna pad kommer att skrivas till utmatningsfilen. Dock kan rörledningen också ta hand om sin egna utmatning - detta kan användas för att skicka utmatningen till en icecast-server via shout2send eller liknande. När den inte är inställd eller inställd till ett tomt värde så kommer standardrörledningen att användas. Detta är för närvarande \"videorate ! vp8enc quality=10 speed=2 threads=%T ! queue ! webmmux\" och inspelningar till WEBM använder kodeken VP8. %T används som en platshållare för en gissning av det optimala trådantalet på systemet." +msgid "" +"Sets the GStreamer pipeline used to encode recordings. It follows the syntax " +"used for gst-launch. The pipeline should have an unconnected sink pad where " +"the recorded video is recorded. It will normally have a unconnected source " +"pad; output from that pad will be written into the output file. However the " +"pipeline can also take care of its own output - this might be used to send " +"the output to an icecast server via shout2send or similar. When unset or set " +"to an empty value, the default pipeline will be used. This is currently " +"'videorate ! vp8enc quality=10 speed=2 threads=%T ! queue ! webmmux' and " +"records to WEBM using the VP8 codec. %T is used as a placeholder for a guess " +"at the optimal thread count on the system." +msgstr "" +"Ställer in GStreamer-rörledningen som används för att koda inspelningar. Den " +"följer det syntax som används för gst-launch. Rörledningen bör ha en " +"oansluten sink pad där den inspelade videon spelas in. Den kommer vanligtvis " +"har en oansluten source pad; utmatning från denna pad kommer att skrivas " +"till utmatningsfilen. Dock kan rörledningen också ta hand om sin egna " +"utmatning - detta kan användas för att skicka utmatningen till en icecast-" +"server via shout2send eller liknande. När den inte är inställd eller " +"inställd till ett tomt värde så kommer standardrörledningen att användas. " +"Detta är för närvarande \"videorate ! vp8enc quality=10 speed=2 threads=%T ! " +"queue ! webmmux\" och inspelningar till WEBM använder kodeken VP8. %T " +"används som en platshållare för en gissning av det optimala trådantalet på " +"systemet." #: ../data/org.gnome.shell.gschema.xml.in.h:14 msgid "Show date in clock" @@ -87,24 +118,46 @@ msgid "Show time with seconds" msgstr "Visa tid med sekunder" #: ../data/org.gnome.shell.gschema.xml.in.h:17 -msgid "The applications corresponding to these identifiers will be displayed in the favorites area." -msgstr "Programmen som motsvarar dessa identifierare kommer att visas i favoritområdet." +msgid "" +"The applications corresponding to these identifiers will be displayed in the " +"favorites area." +msgstr "" +"Programmen som motsvarar dessa identifierare kommer att visas i " +"favoritområdet." #: ../data/org.gnome.shell.gschema.xml.in.h:18 -msgid "The filename for recorded screencasts will be a unique filename based on the current date, and use this extension. It should be changed when recording to a different container format." -msgstr "Filnamnet för skärminspelningar kommer att vara ett unikt filnamn baserat på aktuellt datum och använder denna filändelse. Den bör ändras när inspelningar sker i andra containerformat." +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 "" +"Filnamnet för skärminspelningar kommer att vara ett unikt filnamn baserat på " +"aktuellt datum och använder denna filändelse. Den bör ändras när " +"inspelningar sker i andra containerformat." #: ../data/org.gnome.shell.gschema.xml.in.h:19 -msgid "The framerate of the resulting screencast recordered by GNOME Shell's screencast recorder in frames-per-second." -msgstr "Bildfrekvensen för skärminspelningen som spelats in av GNOME Shells skärminspelare i bilder per sekund." +msgid "" +"The framerate of the resulting screencast recordered by GNOME Shell's " +"screencast recorder in frames-per-second." +msgstr "" +"Bildfrekvensen för skärminspelningen som spelats in av GNOME Shells " +"skärminspelare i bilder per sekund." #: ../data/org.gnome.shell.gschema.xml.in.h:20 msgid "The gstreamer pipeline used to encode the screencast" msgstr "Den gstreamer-rörledning som användes för att koda skärminspelningen" #: ../data/org.gnome.shell.gschema.xml.in.h:21 -msgid "The shell normally monitors active applications in order to present the most used ones (e.g. in launchers). While this data will be kept private, you may want to disable this for privacy reasons. Please note that doing so won't remove already saved data." -msgstr "Skalet övervakar normalt sett aktiva program för att kunna visa de mest använda (t.ex. i programstartare). Då denna data kommer att hållas privat så kan du inaktivera detta av integritetsskäl. Observera att göra det kommer inte ta bort redan sparat data." +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 "" +"Skalet övervakar normalt sett aktiva program för att kunna visa de mest " +"använda (t.ex. i programstartare). Då denna data kommer att hållas privat så " +"kan du inaktivera detta av integritetsskäl. Observera att göra det kommer " +"inte ta bort redan sparat data." #: ../data/org.gnome.shell.gschema.xml.in.h:22 msgid "Uuids of extensions to disable" @@ -314,8 +367,7 @@ msgstr "Denna vecka" msgid "Next week" msgstr "Nästa vecka" -#: ../js/ui/dash.js:174 -#: ../js/ui/messageTray.js:994 +#: ../js/ui/dash.js:174 ../js/ui/messageTray.js:994 msgid "Remove" msgstr "Ta bort" @@ -383,14 +435,14 @@ msgstr "TIDIGARE OBJEKT" msgid "Log Out %s" msgstr "Logga ut %s" -#: ../js/ui/endSessionDialog.js:64 -#: ../js/ui/endSessionDialog.js:70 +#: ../js/ui/endSessionDialog.js:64 ../js/ui/endSessionDialog.js:70 msgid "Log Out" msgstr "Logga ut" #: ../js/ui/endSessionDialog.js:65 msgid "Click Log Out to quit these applications and log out of the system." -msgstr "Klicka på Logga ut för att avsluta dessa program och logga ut från systemet." +msgstr "" +"Klicka på Logga ut för att avsluta dessa program och logga ut från systemet." #: ../js/ui/endSessionDialog.js:66 #, c-format @@ -406,14 +458,14 @@ msgstr "Du kommer att loggas ut automatiskt om %d sekunder." msgid "Logging out of the system." msgstr "Loggar ut från systemet." -#: ../js/ui/endSessionDialog.js:75 -#: ../js/ui/endSessionDialog.js:82 +#: ../js/ui/endSessionDialog.js:75 ../js/ui/endSessionDialog.js:82 msgid "Power Off" msgstr "Stäng av" #: ../js/ui/endSessionDialog.js:76 msgid "Click Power Off to quit these applications and power off the system." -msgstr "Klicka på Stäng av för att avsluta dessa program och stänga av systemet." +msgstr "" +"Klicka på Stäng av för att avsluta dessa program och stänga av systemet." #: ../js/ui/endSessionDialog.js:77 #, c-format @@ -424,15 +476,15 @@ msgstr "Systemet kommer att stängas av automatiskt om %d sekunder." msgid "Powering off the system." msgstr "Stänger av systemet." -#: ../js/ui/endSessionDialog.js:80 -#: ../js/ui/endSessionDialog.js:88 +#: ../js/ui/endSessionDialog.js:80 ../js/ui/endSessionDialog.js:88 #: ../js/ui/endSessionDialog.js:93 msgid "Restart" msgstr "Starta om" #: ../js/ui/endSessionDialog.js:89 msgid "Click Restart to quit these applications and restart the system." -msgstr "Klicka på Starta om för att avsluta dessa program och starta om systemet." +msgstr "" +"Klicka på Starta om för att avsluta dessa program och starta om systemet." #: ../js/ui/endSessionDialog.js:90 #, c-format @@ -443,8 +495,7 @@ msgstr "Systemet kommer att startas om automatiskt om %d sekunder." msgid "Restarting the system." msgstr "Starta om systemet." -#: ../js/ui/endSessionDialog.js:415 -#: ../js/ui/polkitAuthenticationAgent.js:172 +#: ../js/ui/endSessionDialog.js:415 ../js/ui/polkitAuthenticationAgent.js:172 #: ../js/ui/status/bluetooth.js:466 msgid "Cancel" msgstr "Avbryt" @@ -459,8 +510,7 @@ msgstr "Aktiverad" #. translators: #. * The device has been disabled -#: ../js/ui/lookingGlass.js:627 -#: ../src/gvc/gvc-mixer-control.c:1091 +#: ../js/ui/lookingGlass.js:627 ../src/gvc/gvc-mixer-control.c:1091 msgid "Disabled" msgstr "Inaktiverad" @@ -580,14 +630,12 @@ msgstr "Söker..." msgid "No matching results." msgstr "Inga sökträffar." -#: ../js/ui/statusMenu.js:161 -#: ../js/ui/statusMenu.js:163 +#: ../js/ui/statusMenu.js:161 ../js/ui/statusMenu.js:163 #: ../js/ui/statusMenu.js:228 msgid "Power Off..." msgstr "Stäng av..." -#: ../js/ui/statusMenu.js:163 -#: ../js/ui/statusMenu.js:227 +#: ../js/ui/statusMenu.js:163 ../js/ui/statusMenu.js:227 msgid "Suspend" msgstr "Vänteläge" @@ -661,12 +709,9 @@ msgstr "Hög kontrast" msgid "Large Text" msgstr "Stor text" -#: ../js/ui/status/bluetooth.js:42 -#: ../js/ui/status/bluetooth.js:237 -#: ../js/ui/status/bluetooth.js:333 -#: ../js/ui/status/bluetooth.js:367 -#: ../js/ui/status/bluetooth.js:407 -#: ../js/ui/status/bluetooth.js:440 +#: ../js/ui/status/bluetooth.js:42 ../js/ui/status/bluetooth.js:237 +#: ../js/ui/status/bluetooth.js:333 ../js/ui/status/bluetooth.js:367 +#: ../js/ui/status/bluetooth.js:407 ../js/ui/status/bluetooth.js:440 msgid "Bluetooth" msgstr "Bluetooth" @@ -715,8 +760,7 @@ msgstr "Tangentbordsinställningar" msgid "Mouse Settings" msgstr "Musinställningar" -#: ../js/ui/status/bluetooth.js:259 -#: ../js/ui/status/volume.js:66 +#: ../js/ui/status/bluetooth.js:259 ../js/ui/status/volume.js:66 msgid "Sound Settings" msgstr "Ljudinställningar" @@ -747,8 +791,7 @@ msgstr "Neka" msgid "Pairing confirmation for %s" msgstr "Bekräftelse av ihopparning för %s" -#: ../js/ui/status/bluetooth.js:414 -#: ../js/ui/status/bluetooth.js:448 +#: ../js/ui/status/bluetooth.js:414 ../js/ui/status/bluetooth.js:448 #, c-format msgid "Device %s wants to pair with this computer" msgstr "Enheten %s vill paras ihop med denna dator" @@ -787,8 +830,7 @@ msgstr "Visa tangentbordslayout..." msgid "Localization Settings" msgstr "Språkinställningar" -#: ../js/ui/status/network.js:102 -#: ../js/ui/status/network.js:1393 +#: ../js/ui/status/network.js:102 ../js/ui/status/network.js:1393 msgid "" msgstr "" @@ -823,8 +865,7 @@ msgstr "anslutningen misslyckades" #. TRANSLATORS: this is the indication that a connection for another logged in user is active, #. and we cannot access its settings (including the name) -#: ../js/ui/status/network.js:571 -#: ../js/ui/status/network.js:1341 +#: ../js/ui/status/network.js:571 ../js/ui/status/network.js:1341 msgid "Connected (private)" msgstr "Ansluten (privat)" @@ -841,8 +882,7 @@ msgid "Auto dial-up" msgstr "Automatiskt uppringt nätverk" #. TRANSLATORS: this the automatic wireless connection name (including the network name) -#: ../js/ui/status/network.js:843 -#: ../js/ui/status/network.js:1353 +#: ../js/ui/status/network.js:843 ../js/ui/status/network.js:1353 #, c-format msgid "Auto %s" msgstr "Automatiskt %s" @@ -1006,8 +1046,7 @@ msgstr "Pekdator" msgid "Computer" msgstr "Dator" -#: ../js/ui/status/power.js:250 -#: ../src/shell-app-system.c:1088 +#: ../js/ui/status/power.js:250 ../src/shell-app-system.c:1088 msgid "Unknown" msgstr "Okänt" @@ -1055,8 +1094,7 @@ msgstr "Skickades klockan %X på %A" msgid "Type to search..." msgstr "Skriv för att söka..." -#: ../js/ui/viewSelector.js:142 -#: ../src/shell-util.c:250 +#: ../js/ui/viewSelector.js:142 ../src/shell-util.c:250 msgid "Search" msgstr "Sök" @@ -1172,90 +1210,128 @@ msgstr "%1$s: %2$s" #, fuzzy #~ msgid "Shut Down" #~ msgstr "Stäng av..." + #~ msgid "Screen Reader" #~ msgstr "Skärmläsare" + #~ msgid "Screen Keyboard" #~ msgstr "Skärmtangentbord" + #~ msgid "Clock" #~ msgstr "Klocka" + #~ msgid "Customize the panel clock" #~ msgstr "Anpassa panelklockan" + #~ msgid "Custom format of the clock" #~ msgstr "Anpassat format för klockan" + #~ msgid "Hour format" #~ msgstr "Timmesformat" + #~ msgid "" #~ "If true and format is either \"12-hour\" or \"24-hour\", display seconds " #~ "in time." #~ msgstr "" #~ "Om true och formatet antingen är \"12-hour\" eller \"24-hour\", visa " #~ "sekunder i tiden." + #~ msgid "Enable lens mode" #~ msgstr "Aktivera linsläge" + #~ msgid "Magnification factor" #~ msgstr "Förstoringsfaktor" + #~ msgid "Screen position" #~ msgstr "Skärmposition" + #~ msgid "Clock Format" #~ msgstr "Klockformat" + #~ msgid "Clock Preferences" #~ msgstr "Klockinställningar" + #~ msgid "Panel Display" #~ msgstr "Panelvisning" + #~ msgid "Show seco_nds" #~ msgstr "Visa seku_nder" + #~ msgid "Show the _date" #~ msgstr "Visa _datum" + #~ msgid "_12 hour format" #~ msgstr "_12-timmarsformat" + #~ msgid "_24 hour format" #~ msgstr "_24-timmarsformat" + #~ msgid "PREFERENCES" #~ msgstr "INSTÄLLNINGAR" + #~ msgid "Preferences" #~ msgstr "Inställningar" + #~ msgid "Search your computer" #~ msgstr "Sök i din dator" + #~ msgid "" #~ "Can't add a new workspace because maximum workspaces limit has been " #~ "reached." #~ msgstr "" #~ "Kan inte lägga till en ny arbetsyta eftersom maximalt antal arbetsytor " #~ "har uppnåtts." + #~ msgid "Can't remove the first workspace." #~ msgstr "Kan inte ta bort första arbetsytan." + #~ msgid "Drag here to add favorites" #~ msgstr "Dra hit för att lägga till favorit" + #~ msgid "Find" #~ msgstr "Sök" + #~ msgid "ON" #~ msgstr "PÅ" + #~ msgid "OFF" #~ msgstr "AV" + #~ msgid "Invisible" #~ msgstr "Osynlig" + #~ msgid "PLACES" #~ msgstr "PLATSER" + #~ msgid "SEARCH RESULTS" #~ msgstr "SÖKRESULTAT" + #~ msgid "Recent Documents" #~ msgstr "Senaste dokument" + #~ msgid "(see all)" #~ msgstr "(se alla)" + #~ msgid "Can't lock screen: %s" #~ msgstr "Kan inte låsa skärmen: %s" + #~ msgid "Can't temporarily set screensaver to blank screen: %s" #~ msgstr "Kan inte temporärt ställa in skärmsläckaren till blank skärm: %s" + #~ msgid "Can't logout: %s" #~ msgstr "Kan inte logga ut: %s" + #~ msgid "Sidebar" #~ msgstr "Sidopanel" + #~ msgid "Browse" #~ msgstr "Bläddra" + #~ msgid "Find apps or documents" #~ msgstr "Hitta program eller dokument" + #~ msgid "DOCUMENTS" #~ msgstr "DOKUMENT" + #~ msgid "The user manager object this user is controlled by." #~ msgstr "Användarhanteringsobjektet som denna användare styrs av." - From 05e8ae33dc4d457ff4e165e5abdfed6bab02ca8d Mon Sep 17 00:00:00 2001 From: Daniel Korostil Date: Fri, 25 Mar 2011 00:19:09 +0200 Subject: [PATCH 193/203] Uploaded Ukranian --- po/uk.po | 32 +++++++++++++++++++++++++++----- 1 file changed, 27 insertions(+), 5 deletions(-) diff --git a/po/uk.po b/po/uk.po index b66a459e3..d0dd5a821 100644 --- a/po/uk.po +++ b/po/uk.po @@ -7,8 +7,8 @@ msgid "" msgstr "" "Project-Id-Version: gnome-shell master\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2011-03-23 16:06+0200\n" -"PO-Revision-Date: 2011-03-23 16:10+0300\n" +"POT-Creation-Date: 2011-03-24 23:56+0200\n" +"PO-Revision-Date: 2011-03-24 23:59+0300\n" "Last-Translator: Korostil Daniel \n" "Language-Team: translation@linux.org.ua\n" "Language: uk\n" @@ -495,7 +495,8 @@ msgstr "Система автоматично перезапуститься ч msgid "Restarting the system." msgstr "Перезапуск системи." -#: ../js/ui/endSessionDialog.js:415 ../js/ui/status/bluetooth.js:466 +#: ../js/ui/endSessionDialog.js:415 ../js/ui/polkitAuthenticationAgent.js:172 +#: ../js/ui/status/bluetooth.js:466 msgid "Cancel" msgstr "Скасувати" @@ -588,6 +589,26 @@ msgstr "З'єднатися з…" msgid "PLACES & DEVICES" msgstr "МІСЦЯ ТА ПРИСТРОЇ" +#: ../js/ui/polkitAuthenticationAgent.js:74 +msgid "Authentication Required" +msgstr "Потрібна автентифікація" + +#: ../js/ui/polkitAuthenticationAgent.js:108 +msgid "Administrator" +msgstr "Адміністратор" + +#: ../js/ui/polkitAuthenticationAgent.js:176 +msgid "Authenticate" +msgstr "Аутентифікація" + +#: ../js/ui/polkitAuthenticationAgent.js:260 +msgid "Sorry, that didn't work. Please try again." +msgstr "Вибачте, це не працює. Спробуйте ще." + +#: ../js/ui/polkitAuthenticationAgent.js:272 +msgid "Password:" +msgstr "Пароль:" + #. Translators: this MUST be either "toggle-switch-us" #. (for toggle switches containing the English words #. "ON" and "OFF") or "toggle-switch-intl" (for toggle @@ -609,7 +630,8 @@ msgstr "Пошук…" msgid "No matching results." msgstr "Нема збігів." -#: ../js/ui/statusMenu.js:161 ../js/ui/statusMenu.js:228 +#: ../js/ui/statusMenu.js:161 ../js/ui/statusMenu.js:163 +#: ../js/ui/statusMenu.js:228 msgid "Power Off..." msgstr "Вимкнення живлення…" @@ -1114,7 +1136,7 @@ msgstr[2] "%u входів" msgid "System Sounds" msgstr "Системні звуки" -#: ../src/main.c:438 +#: ../src/main.c:446 msgid "Print version" msgstr "Показати версію" From 1582819259dd9c3ff4b3a9679120ea8b194ee4e9 Mon Sep 17 00:00:00 2001 From: A S Alam Date: Fri, 25 Mar 2011 08:17:30 +0530 Subject: [PATCH 194/203] update tranlation for Punjabi by A S Alam --- po/pa.po | 474 +++++++++++++++++++++++++++++++++++++++---------------- 1 file changed, 336 insertions(+), 138 deletions(-) diff --git a/po/pa.po b/po/pa.po index 43139acff..56851b50a 100644 --- a/po/pa.po +++ b/po/pa.po @@ -6,9 +6,9 @@ msgid "" msgstr "" "Project-Id-Version: gnome-shell master\n" "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug." -"cgi?product=gnome-shell&component=general\n" -"POT-Creation-Date: 2011-03-07 16:15+0000\n" -"PO-Revision-Date: 2011-03-08 08:27+0530\n" +"cgi?product=gnome-shell&keywords=I18N+L10N&component=general\n" +"POT-Creation-Date: 2011-03-24 08:03+0000\n" +"PO-Revision-Date: 2011-03-25 08:16+0530\n" "Last-Translator: A S Alam \n" "Language-Team: Punjabi/Panjabi \n" "MIME-Version: 1.0\n" @@ -164,47 +164,43 @@ msgstr "ਐਪਲੀਕੇਸ਼ਨ ਵਰਤੋਂ ਬਾਰੇ ਅੰਕੜੇ msgid "disabled OpenSearch providers" msgstr "ਓਪਨਸਰਚ ਉਪਲੱਬਧ ਕਰਵਾਉਣ ਵਾਲੇ ਬੰਦ ਹਨ" -#: ../js/misc/util.js:86 +#: ../js/misc/util.js:71 msgid "Command not found" msgstr "ਕਮਾਂਡ ਨਹੀਂ ਲੱਭੀ" #. Replace "Error invoking GLib.shell_parse_argv: " with #. something nicer -#: ../js/misc/util.js:113 +#: ../js/misc/util.js:98 msgid "Could not parse command:" msgstr "ਕਮਾਂਡ ਪਾਰਸ ਨਹੀਂ ਕੀਤੀ ਜਾ ਸਕੀ:" -#: ../js/misc/util.js:135 -msgid "No such application" -msgstr "ਇੰਞ ਦੀ ਕੋਈ ਐਪਲੀਕੇਸ਼ਨ ਨਹੀਂ ਹੈ" - -#: ../js/misc/util.js:148 +#: ../js/misc/util.js:106 #, c-format msgid "Execution of '%s' failed:" msgstr "'%s' ਚਲਾਉਣ ਲਈ ਫੇਲ੍ਹ:" #. Translators: Filter to display all applications -#: ../js/ui/appDisplay.js:226 +#: ../js/ui/appDisplay.js:230 msgid "All" msgstr "ਸਭ" -#: ../js/ui/appDisplay.js:324 +#: ../js/ui/appDisplay.js:328 msgid "APPLICATIONS" msgstr "ਐਪਲੀਕੇਸ਼ਨ" -#: ../js/ui/appDisplay.js:350 +#: ../js/ui/appDisplay.js:354 msgid "SETTINGS" msgstr "ਸੈਟਿੰਗ" -#: ../js/ui/appDisplay.js:612 +#: ../js/ui/appDisplay.js:625 msgid "New Window" msgstr "ਨਵੀਂ ਵਿੰਡੋ" -#: ../js/ui/appDisplay.js:615 +#: ../js/ui/appDisplay.js:628 msgid "Remove from Favorites" msgstr "ਪਸੰਦ ਵਿੱਚੋਂ ਹਟਾਓ" -#: ../js/ui/appDisplay.js:616 +#: ../js/ui/appDisplay.js:629 msgid "Add to Favorites" msgstr "ਪਸੰਦ 'ਚ ਸ਼ਾਮਲ ਕਰੋ" @@ -364,7 +360,7 @@ msgstr "ਇਹ ਹਫ਼ਤਾ" msgid "Next week" msgstr "ਹਫ਼ਤਾ ਅੱਗੇ" -#: ../js/ui/dash.js:174 ../js/ui/messageTray.js:933 +#: ../js/ui/dash.js:174 ../js/ui/messageTray.js:994 msgid "Remove" msgstr "ਹਟਾਓ" @@ -419,7 +415,7 @@ msgstr "%a %l:%M %p" #. Translators: This is the date format to use when the calendar popup is #. * shown - it is shown just below the time in the shell (e.g. "Tue 9:29 AM"). #. -#: ../js/ui/dateMenu.js:209 +#: ../js/ui/dateMenu.js:194 msgid "%A %B %e, %Y" msgstr "%A, %e %B %Y" @@ -432,7 +428,7 @@ msgstr "ਤਾਜ਼ਾ ਆਈਟਮਾਂ" msgid "Log Out %s" msgstr "%s ਲਾਗਆਉਟ" -#: ../js/ui/endSessionDialog.js:64 ../js/ui/endSessionDialog.js:69 +#: ../js/ui/endSessionDialog.js:64 ../js/ui/endSessionDialog.js:70 msgid "Log Out" msgstr "ਲਾਗਆਉਟ" @@ -455,46 +451,48 @@ msgstr "ਤੁਹਾਨੂੰ %d ਸਕਿੰਟਾਂ ਵਿੱਚ ਆਟੋਮ msgid "Logging out of the system." msgstr "ਸਿਸਟਮ ਲਾਗ ਕੀਤਾ ਜਾ ਰਿਹਾ ਹੈ।" -#: ../js/ui/endSessionDialog.js:74 ../js/ui/endSessionDialog.js:78 -msgid "Shut Down" +#: ../js/ui/endSessionDialog.js:75 ../js/ui/endSessionDialog.js:82 +#| msgid "Power Off..." +msgid "Power Off" msgstr "ਬੰਦ ਕਰੋ" -#: ../js/ui/endSessionDialog.js:75 -msgid "Click Shut Down to quit these applications and shut down the system." -msgstr "ਇਹ ਐਪਲੀਕੇਸ਼ਨ ਬੰਦ ਕਰਕੇ ਸਿਸਟਮ ਨੂੰ ਬੰਦ ਕਰਨ ਲਈ ਬੰਦ ਕਰੋ ਨੂੰ ਕਲਿੱਕ ਕਰੋ।" - #: ../js/ui/endSessionDialog.js:76 -#, c-format -msgid "The system will shut down automatically in %d seconds." -msgstr "ਸਿਸਟਮ ਨੂੰ ਆਟੋਮੈਟਿਕ ਹੀ %d ਸਕਿੰਟਾਂ ਵਿੱਚ ਬੰਦ ਕੀਤਾ ਜਾਵੇਗਾ।" +#| msgid "Click Log Out to quit these applications and log out of the system." +msgid "Click Power Off to quit these applications and power off the system." +msgstr "ਇਹ ਐਪਲੀਕੇਸ਼ਨਾਂ ਬੰਦ ਕਰਨ ਅਤੇ ਸਿਸਟਮ ਨੂੰ ਬੰਦ ਕਰਨ ਲਈ ਬੰਦ ਕਰੋ ਨੂੰ ਕਲਿੱਕ ਕਰੋ।" #: ../js/ui/endSessionDialog.js:77 -msgid "Shutting down the system." +#, c-format +#| msgid "The system will restart automatically in %d seconds." +msgid "The system will power off automatically in %d seconds." +msgstr "ਸਿਸਟਮ ਨੂੰ ਆਟੋਮੈਟਿਕ ਹੀ %d ਸਕਿੰਟਾਂ ਵਿੱਚ ਬੰਦ ਹੋ ਜਾਵੇਗਾ।" + +#: ../js/ui/endSessionDialog.js:78 +#| msgid "Logging out of the system." +msgid "Powering off the system." msgstr "ਸਿਸਟਮ ਬੰਦ ਕੀਤਾ ਜਾ ਰਿਹਾ ਹੈ।" -#: ../js/ui/endSessionDialog.js:84 ../js/ui/endSessionDialog.js:88 +#: ../js/ui/endSessionDialog.js:80 ../js/ui/endSessionDialog.js:88 +#: ../js/ui/endSessionDialog.js:93 msgid "Restart" msgstr "ਮੁੜ-ਚਾਲੂ ਕਰੋ" -#: ../js/ui/endSessionDialog.js:85 +#: ../js/ui/endSessionDialog.js:89 msgid "Click Restart to quit these applications and restart the system." msgstr "" "ਇਹ ਐਪਲੀਕੇਸ਼ਨ ਬੰਦ ਕਰਨ ਤੇ ਸਿਸਟਮ ਨੂੰ ਮੁੜ-ਚਾਲੂ ਕਰਨ ਲਈ ਮੁੜ-ਚਾਲੂ ਕਰੋ ਨੂੰ ਕਲਿੱਕ ਕਰੋ।" -#: ../js/ui/endSessionDialog.js:86 +#: ../js/ui/endSessionDialog.js:90 #, c-format msgid "The system will restart automatically in %d seconds." msgstr "ਸਿਸਟਮ ਨੂੰ ਆਟੋਮੈਟਿਕ ਹੀ %d ਸਕਿੰਟਾਂ ਵਿੱਚ ਮੁੜ-ਚਾਲੂ ਕੀਤਾ ਜਾ ਜਾਵੇਗਾ।" -#: ../js/ui/endSessionDialog.js:87 +#: ../js/ui/endSessionDialog.js:91 msgid "Restarting the system." msgstr "ਸਿਸਟਮ ਮੁੜ-ਚਾਲੂ ਕੀਤਾ ਜਾ ਰਿਹਾ ਹੈ।" -#: ../js/ui/endSessionDialog.js:395 -msgid "Confirm" -msgstr "ਪੁਸ਼ਟੀ" - -#: ../js/ui/endSessionDialog.js:400 ../js/ui/status/bluetooth.js:470 +#: ../js/ui/endSessionDialog.js:415 ../js/ui/polkitAuthenticationAgent.js:172 +#: ../js/ui/status/bluetooth.js:466 msgid "Cancel" msgstr "ਰੱਦ ਕਰੋ" @@ -508,7 +506,7 @@ msgstr "ਚਾਲੂ ਹੈ" #. translators: #. * The device has been disabled -#: ../js/ui/lookingGlass.js:627 ../src/gvc/gvc-mixer-control.c:1087 +#: ../js/ui/lookingGlass.js:627 ../src/gvc/gvc-mixer-control.c:1091 msgid "Disabled" msgstr "ਬੰਦ ਹੈ" @@ -528,48 +526,47 @@ msgstr "ਸਰੋਤ ਵੇਖੋ" msgid "Web Page" msgstr "ਵੈੱਬ ਪੇਜ਼" -#: ../js/ui/messageTray.js:926 +#: ../js/ui/messageTray.js:987 msgid "Open" msgstr "ਖੋਲ੍ਹੋ" -#: ../js/ui/messageTray.js:1963 +#: ../js/ui/messageTray.js:2145 msgid "System Information" msgstr "ਸਿਸਟਮ ਜਾਣਕਾਰੀ" -#: ../js/ui/overview.js:88 +#: ../js/ui/overview.js:91 msgid "Undo" msgstr "ਵਾਪਸ" -#: ../js/ui/overview.js:183 +#: ../js/ui/overview.js:186 msgid "Windows" msgstr "ਵਿੰਡੋ" -#: ../js/ui/overview.js:186 +#: ../js/ui/overview.js:189 msgid "Applications" msgstr "ਐਪਲੀਕੇਸ਼ਨ" #. Translators: this is the name of the dock/favorites area on #. the left of the overview -#: ../js/ui/overview.js:202 +#: ../js/ui/overview.js:205 msgid "Dash" msgstr "ਡੈਸ਼" #. TODO - _quit() doesn't really work on apps in state STARTING yet -#: ../js/ui/panel.js:532 +#: ../js/ui/panel.js:515 #, c-format msgid "Quit %s" msgstr "%s ਬੰਦ ਕਰੋ" #. Button on the left side of the panel. #. Translators: If there is no suitable word for "Activities" in your language, you can use the word for "Overview". -#: ../js/ui/panel.js:893 +#: ../js/ui/panel.js:878 msgid "Activities" msgstr "ਸਰਗਰਮੀਆਂ" -#: ../js/ui/panel.js:994 -#| msgid "Cancel" -msgid "Panel" -msgstr "ਪੈਨਲ" +#: ../js/ui/panel.js:979 +msgid "Top Bar" +msgstr "ਉੱਤਲੀ ਪੱਟੀ" #: ../js/ui/placeDisplay.js:122 #, c-format @@ -584,64 +581,84 @@ msgstr "ਮੁੜ-ਕੋਸ਼ਿਸ਼" msgid "Connect to..." msgstr "...ਨਾਲ ਕੁਨੈਕਟ ਕਰੋ" -#: ../js/ui/placeDisplay.js:409 +#: ../js/ui/placeDisplay.js:380 msgid "PLACES & DEVICES" msgstr "ਥਾਵਾਂ ਤੇ ਜੰਤਰ" +#: ../js/ui/polkitAuthenticationAgent.js:74 +msgid "Authentication Required" +msgstr "ਪਰਮਾਣਕਿਤਾ ਚਾਹੀਦੀ ਹੈ" + +#: ../js/ui/polkitAuthenticationAgent.js:108 +msgid "Administrator" +msgstr "ਪਰਸ਼ਾਸ਼ਕ" + +#: ../js/ui/polkitAuthenticationAgent.js:176 +msgid "Authenticate" +msgstr "ਪਰਮਾਣਕਿਤਾ" + +#: ../js/ui/polkitAuthenticationAgent.js:260 +msgid "Sorry, that didn't work. Please try again." +msgstr "ਅਫਸੋਸ, ਉਹ ਕੰਮ ਨਹੀਂ ਕਰਦਾ। ਫੇਰ ਕੋਸ਼ਿਸ਼ ਕਰੋ ਜੀ।" + +#: ../js/ui/polkitAuthenticationAgent.js:272 +msgid "Password:" +msgstr "ਪਾਸਵਰਡ:" + #. Translators: this MUST be either "toggle-switch-us" #. (for toggle switches containing the English words #. "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:618 +#: ../js/ui/popupMenu.js:679 msgid "toggle-switch-us" msgstr "toggle-switch-us" -#: ../js/ui/runDialog.js:201 +#: ../js/ui/runDialog.js:205 msgid "Please enter a command:" msgstr "ਕਮਾਂਡ ਦਿਓ ਜੀ:" -#: ../js/ui/searchDisplay.js:283 +#: ../js/ui/searchDisplay.js:310 msgid "Searching..." msgstr "ਖੋਜ ਜਾਰੀ ਹੈ..." -#: ../js/ui/searchDisplay.js:297 +#: ../js/ui/searchDisplay.js:324 msgid "No matching results." msgstr "ਕੋਈ ਨਤੀਜਾ ਨਹੀਂ ਲੱਭਿਆ।" -#: ../js/ui/statusMenu.js:102 ../js/ui/statusMenu.js:166 +#: ../js/ui/statusMenu.js:161 ../js/ui/statusMenu.js:228 msgid "Power Off..." msgstr "...ਬੰਦ ਕਰੋ" -#: ../js/ui/statusMenu.js:104 ../js/ui/statusMenu.js:165 +#: ../js/ui/statusMenu.js:163 ../js/ui/statusMenu.js:227 msgid "Suspend" msgstr "ਸਸਪੈਂਡ" -#: ../js/ui/statusMenu.js:125 +#: ../js/ui/statusMenu.js:184 msgid "Available" msgstr "ਉਪਲੱਬਧ" -#: ../js/ui/statusMenu.js:130 +#: ../js/ui/statusMenu.js:189 msgid "Busy" msgstr "ਰੁਝਿਆ" -#: ../js/ui/statusMenu.js:138 +#: ../js/ui/statusMenu.js:197 msgid "My Account" msgstr "ਮੇਰਾ ਅਕਾਊਂਟ" -#: ../js/ui/statusMenu.js:142 +#: ../js/ui/statusMenu.js:201 msgid "System Settings" msgstr "ਸਿਸਟਮ ਸੈਟਿੰਗ" -#: ../js/ui/statusMenu.js:149 +#: ../js/ui/statusMenu.js:208 msgid "Lock Screen" msgstr "ਸਕਰੀਨ ਲਾਕ ਕਰੋ" -#: ../js/ui/statusMenu.js:153 +#: ../js/ui/statusMenu.js:213 msgid "Switch User" msgstr "ਯੂਜ਼ਰ ਬਦਲੋ" -#: ../js/ui/statusMenu.js:158 +#: ../js/ui/statusMenu.js:218 msgid "Log Out..." msgstr "...ਲਾਗਆਉਟ" @@ -649,14 +666,12 @@ msgstr "...ਲਾਗਆਉਟ" msgid "Zoom" msgstr "ਜ਼ੂਮ" -#: ../js/ui/status/accessibility.js:69 -msgid "Screen Reader" -msgstr "ਸਕਰੀਨ ਰੀਡਰ" - -#: ../js/ui/status/accessibility.js:73 -msgid "Screen Keyboard" -msgstr "ਸਕਰੀਨ ਕੀਬੋਰਡ" - +#. let screenReader = this._buildItem(_("Screen Reader"), APPLICATIONS_SCHEMA, +#. 'screen-reader-enabled'); +#. this.menu.addMenuItem(screenReader); +#. let screenKeyboard = this._buildItem(_("Screen Keyboard"), APPLICATIONS_SCHEMA, +#. 'screen-keyboard-enabled'); +#. this.menu.addMenuItem(screenKeyboard); #: ../js/ui/status/accessibility.js:77 msgid "Visual Alerts" msgstr "ਦਿੱਖ ਚੇਤਾਵਨੀ" @@ -681,17 +696,17 @@ msgstr "ਮਾਊਸ ਸਵਿੱਚਾਂ" msgid "Universal Access Settings" msgstr "ਯੂਨੀਵਰਸਲ ਅਸੈੱਸ ਸੈਟਿੰਗ" -#: ../js/ui/status/accessibility.js:145 +#: ../js/ui/status/accessibility.js:146 msgid "High Contrast" msgstr "ਵੱਧ ਕਨਟਰਾਸਟ" -#: ../js/ui/status/accessibility.js:182 +#: ../js/ui/status/accessibility.js:183 msgid "Large Text" msgstr "ਵੱਡੇ ਅੱਖਰ" -#: ../js/ui/status/bluetooth.js:42 ../js/ui/status/bluetooth.js:241 -#: ../js/ui/status/bluetooth.js:337 ../js/ui/status/bluetooth.js:371 -#: ../js/ui/status/bluetooth.js:411 ../js/ui/status/bluetooth.js:444 +#: ../js/ui/status/bluetooth.js:42 ../js/ui/status/bluetooth.js:237 +#: ../js/ui/status/bluetooth.js:333 ../js/ui/status/bluetooth.js:367 +#: ../js/ui/status/bluetooth.js:407 ../js/ui/status/bluetooth.js:440 msgid "Bluetooth" msgstr "ਬਲਿਊਟੁੱਥ" @@ -711,94 +726,94 @@ msgstr "...ਨਵਾਂ ਜੰਤਰ ਸੈਟਅੱਪ" msgid "Bluetooth Settings" msgstr "ਬਲਿਊਟੁੱਥ ਸੈਟਿੰਗ" -#: ../js/ui/status/bluetooth.js:192 +#: ../js/ui/status/bluetooth.js:188 msgid "Connection" msgstr "ਕੁਨੈਕਸ਼ਨ" -#: ../js/ui/status/bluetooth.js:228 +#: ../js/ui/status/bluetooth.js:224 msgid "Send Files..." msgstr "...ਫਾਇਲਾਂ ਭੇਜੋ" -#: ../js/ui/status/bluetooth.js:233 +#: ../js/ui/status/bluetooth.js:229 msgid "Browse Files..." msgstr "...ਫਾਇਲਾਂ ਦੀ ਝਲਕ" -#: ../js/ui/status/bluetooth.js:242 +#: ../js/ui/status/bluetooth.js:238 msgid "Error browsing device" msgstr "ਜੰਤਰ ਬਰਾਊਜ਼ ਕਰਨ ਲਈ ਗਲਤੀ" -#: ../js/ui/status/bluetooth.js:243 +#: ../js/ui/status/bluetooth.js:239 #, c-format msgid "The requested device cannot be browsed, error is '%s'" msgstr "ਮੰਗ ਕੀਤੇ ਗਏ ਜੰਤਰ ਨੂੰ ਬਰਾਊਜ਼ ਨਹੀਂ ਕੀਤਾ ਜਾ ਸਕਦਾ, ਗਲਤੀ ਸੀ '%s'" -#: ../js/ui/status/bluetooth.js:251 +#: ../js/ui/status/bluetooth.js:247 msgid "Keyboard Settings" msgstr "ਕੀਬੋਰਡ ਸੈਟਿੰਗ" -#: ../js/ui/status/bluetooth.js:256 +#: ../js/ui/status/bluetooth.js:252 msgid "Mouse Settings" msgstr "ਮਾਊਸ ਸੈਟਿੰਗ" -#: ../js/ui/status/bluetooth.js:263 ../js/ui/status/volume.js:65 +#: ../js/ui/status/bluetooth.js:259 ../js/ui/status/volume.js:66 msgid "Sound Settings" msgstr "ਸਾਊਂਡ ਸੈਟਿੰਗ" -#: ../js/ui/status/bluetooth.js:372 +#: ../js/ui/status/bluetooth.js:368 #, c-format msgid "Authorization request from %s" msgstr "'%s' ਤੋਂ ਪਰਮਾਣਕਿਤਾ ਮੰਗ" -#: ../js/ui/status/bluetooth.js:378 +#: ../js/ui/status/bluetooth.js:374 #, c-format msgid "Device %s wants access to the service '%s'" msgstr "ਜੰਤਰ %s ਸਰਵਿਸ '%s' ਨੂੰ ਵਰਤਣੀ ਚਾਹੁੰਦਾ ਹੈ।" -#: ../js/ui/status/bluetooth.js:380 +#: ../js/ui/status/bluetooth.js:376 msgid "Always grant access" msgstr "ਹਮੇਸ਼ਾ ਪਹੁੰਚ ਮਨਜ਼ੂਰ" -#: ../js/ui/status/bluetooth.js:381 +#: ../js/ui/status/bluetooth.js:377 msgid "Grant this time only" msgstr "ਕੇਵਲ ਇਸ ਸਮੇਂ ਹੀ ਮਨਜ਼ੂਰ" -#: ../js/ui/status/bluetooth.js:382 +#: ../js/ui/status/bluetooth.js:378 msgid "Reject" msgstr "ਨਾ-ਮਨਜ਼ੂਰ" -#: ../js/ui/status/bluetooth.js:412 +#: ../js/ui/status/bluetooth.js:408 #, c-format msgid "Pairing confirmation for %s" msgstr "%s ਲਈ ਪੇਅਰ ਕਰਨ ਦੀ ਪੁਸ਼ਟੀ" -#: ../js/ui/status/bluetooth.js:418 ../js/ui/status/bluetooth.js:452 +#: ../js/ui/status/bluetooth.js:414 ../js/ui/status/bluetooth.js:448 #, c-format msgid "Device %s wants to pair with this computer" msgstr "ਜੰਤਰ %s ਇਸ ਕੰਪਿਊਟਰ ਨਾਲ ਪੇਅਰ ਹੋਣਾ ਚਾਹੁੰਦਾ ਹੈ" -#: ../js/ui/status/bluetooth.js:419 +#: ../js/ui/status/bluetooth.js:415 #, c-format msgid "Please confirm whether the PIN '%s' matches the one on the device." msgstr "ਪੁਸ਼ਟੀ ਕਰੋ ਜੀ ਕਿ ਪਿੰਨ '%s' ਜੰਤਰ ਉੱਤੇ ਮੌਜੂਦ ਪਿੰਨ ਨਾਲ ਮਿਲਦਾ ਹੈ।" -#: ../js/ui/status/bluetooth.js:421 +#: ../js/ui/status/bluetooth.js:417 msgid "Matches" msgstr "ਮਿਲਦਾ ਹੈ" -#: ../js/ui/status/bluetooth.js:422 +#: ../js/ui/status/bluetooth.js:418 msgid "Does not match" msgstr "ਮਿਲਦਾ ਨਹੀਂ ਹੈ" -#: ../js/ui/status/bluetooth.js:445 +#: ../js/ui/status/bluetooth.js:441 #, c-format msgid "Pairing request for %s" msgstr "%s ਲਈ ਪੇਅਰ ਕਰਨ ਦੀ ਮੰਗ" -#: ../js/ui/status/bluetooth.js:453 +#: ../js/ui/status/bluetooth.js:449 msgid "Please enter the PIN mentioned on the device." msgstr "ਜੰਤਰ ਉੱਤੇ ਦਿੱਤਾ ਗਿਆ ਪਿੰਨ ਦਿਉ ਜੀ।" -#: ../js/ui/status/bluetooth.js:469 +#: ../js/ui/status/bluetooth.js:465 msgid "OK" msgstr "ਠੀਕ ਹੈ" @@ -810,17 +825,158 @@ msgstr "...ਕੀਬੋਰਡ ਲੇਆਉਟ ਵੇਖੋ" msgid "Localization Settings" msgstr "ਲੋਕਲਾਈਜ਼ੇਸ਼ਨ ਸੈਟਿੰਗ" +#: ../js/ui/status/network.js:102 ../js/ui/status/network.js:1393 +#| msgid "Unknown" +msgid "" +msgstr "<ਅਣਜਾਣ>" + +#. Translators: this indicates that wireless or wwan is disabled by hardware killswitch +#: ../js/ui/status/network.js:295 +#| msgid "Disabled" +msgid "disabled" +msgstr "ਬੰਦ ਹੈ" + +#: ../js/ui/status/network.js:476 +#| msgid "Connection" +msgid "connecting..." +msgstr "ਕੁਨੈਕਟ ਕੀਤਾ ਜਾ ਰਿਹਾ ਹੈ..." + +#. Translators: this is for network connections that require some kind of key or password +#: ../js/ui/status/network.js:479 +msgid "authentication required" +msgstr "ਪਰਮਾਣਕਿਤਾ ਚਾਹੀਦੀ ਹੈ" + +#. Translators: this is for wired network devices that are physically disconnected +#: ../js/ui/status/network.js:485 +msgid "cable unplugged" +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:489 +#| msgid "Available" +msgid "unavailable" +msgstr "ਨਾ-ਉਪਲੱਬਧ" + +#: ../js/ui/status/network.js:491 +#| msgid "Connection" +msgid "connection failed" +msgstr "ਕੁਨੈਕਸ਼ਨ ਫੇਲ੍ਹ ਹੈ" + +#. TRANSLATORS: this is the indication that a connection for another logged in user is active, +#. and we cannot access its settings (including the name) +#: ../js/ui/status/network.js:571 ../js/ui/status/network.js:1341 +msgid "Connected (private)" +msgstr "ਕੁਨੈਕਟ ਹੈ (ਪ੍ਰਾਈਵੇਟ)" + +#: ../js/ui/status/network.js:636 +msgid "Auto Ethernet" +msgstr "ਆਟੋ ਈਥਰਨੈੱਟ" + +#: ../js/ui/status/network.js:697 +msgid "Auto broadband" +msgstr "ਆਟੋ ਬਰਾਡਬੈਂਡ" + +#: ../js/ui/status/network.js:700 +msgid "Auto dial-up" +msgstr "ਆਟੋ ਡਾਇਲ-ਅੱਪ" + +#. TRANSLATORS: this the automatic wireless connection name (including the network name) +#: ../js/ui/status/network.js:843 ../js/ui/status/network.js:1353 +#, c-format +#| msgid "Quit %s" +msgid "Auto %s" +msgstr "ਆਟੋ %s" + +#: ../js/ui/status/network.js:845 +#| msgid "Bluetooth" +msgid "Auto bluetooth" +msgstr "ਆਟੋ ਬਲਿਊਟੁੱਥ" + +#: ../js/ui/status/network.js:1355 +msgid "Auto wireless" +msgstr "ਆਟੋ ਬੇਤਾਰ" + +#: ../js/ui/status/network.js:1413 +#| msgid "More" +msgid "More..." +msgstr "ਹੋਰ..." + +#: ../js/ui/status/network.js:1436 +msgid "Enable networking" +msgstr "ਨੈੱਟਵਰਕਿੰਗ ਚਾਲੂ ਹੈ" + +#: ../js/ui/status/network.js:1448 +msgid "Wired" +msgstr "ਤਾਰ" + +#: ../js/ui/status/network.js:1459 +msgid "Wireless" +msgstr "ਬੇਤਾਰ" + +#: ../js/ui/status/network.js:1469 +msgid "Mobile broadband" +msgstr "ਮੋਬਾਇਲ ਬਰਾਡਬੈਂਡ" + +#: ../js/ui/status/network.js:1479 +#| msgid "Connection" +msgid "VPN Connections" +msgstr "VPN ਕੁਨੈਕਸ਼ਨ" + +#: ../js/ui/status/network.js:1488 +#| msgid "Power Settings" +msgid "Network Settings" +msgstr "ਨੈੱਟਵਰਕ ਸੈਟਿੰਗ" + +#: ../js/ui/status/network.js:1783 +#, c-format +msgid "You're now connected to mobile broadband connection '%s'" +msgstr "ਹੁਣ ਤੁਸੀਂ ਮੋਬਾਇਲ ਬਰਾਡਬੈਂਡ ਨੈੱਟਵਰਕ '%s' ਨਾਲ ਕੁਨੈਕਟ ਹੋ ਗਏ ਹੋ" + +#: ../js/ui/status/network.js:1787 +#, c-format +msgid "You're now connected to wireless network '%s'" +msgstr "ਹੁਣ ਤੁਸੀਂ ਬੇਤਾਰ ਨੈੱਟਵਰਕ '%s' ਨਾਲ ਕੁਨੈਕਟ ਹੋ ਗਏ ਹੋ" + +#: ../js/ui/status/network.js:1791 +#, c-format +msgid "You're now connected to wired network '%s'" +msgstr "ਹੁਣ ਤੁਸੀਂ ਤਾਰ ਵਾਲੇ ਨੈੱਟਵਰਕ '%s' ਨਾਲ ਕੁਨੈਕਟ ਹੋ ਗਏ ਹੋ" + +#: ../js/ui/status/network.js:1795 +#, c-format +msgid "You're now connected to VPN network '%s'" +msgstr "ਤੁਸੀਂ ਹੁਣ VPN ਨੈੱਟਵਰਕ '%s' ਨਾਲ ਕੁਨੈਕਟ ਹੋ ਚੁੱਕੇ ਹੋ" + +#: ../js/ui/status/network.js:1800 +#, c-format +msgid "You're now connected to '%s'" +msgstr "ਤੁਸੀਂ ਹੁਣ '%s' ਨਾਲ ਕੁਨੈਕਟ ਹੋ" + +#: ../js/ui/status/network.js:1808 +#| msgid "Connection" +msgid "Connection established" +msgstr "ਕੁਨੈਕਸ਼ਨ ਬਣਾਇਆ ਗਿਆ" + +#: ../js/ui/status/network.js:1930 +msgid "Networking is disabled" +msgstr "ਨੈੱਟਵਰਕਿੰਗ ਬੰਦ ਹੈ" + +#: ../js/ui/status/network.js:2055 +msgid "Network Manager" +msgstr "ਨੈੱਟਵਰਕ ਮੈਨੇਜਰ" + #: ../js/ui/status/power.js:85 msgid "Power Settings" msgstr "ਪਾਵਰ ਸੈਟਿੰਗ" #. 0 is reported when UPower does not have enough data #. to estimate battery life -#: ../js/ui/status/power.js:110 +#: ../js/ui/status/power.js:111 msgid "Estimating..." msgstr "...ਅਨੁਮਾਨ ਲਾਇਆ ਜਾ ਰਿਹਾ ਹੈ" -#: ../js/ui/status/power.js:117 +#: ../js/ui/status/power.js:118 #, c-format msgid "%d hour remaining" msgid_plural "%d hours remaining" @@ -828,102 +984,102 @@ msgstr[0] "%d ਘੰਟਾ ਬਾਕੀ" msgstr[1] "%d ਘੰਟੇ ਬਾਕੀ" #. TRANSLATORS: this is a time string, as in "%d hours %d minutes remaining" -#: ../js/ui/status/power.js:120 +#: ../js/ui/status/power.js:121 #, c-format msgid "%d %s %d %s remaining" msgstr "%d %s %d %s ਬਾਕੀ" -#: ../js/ui/status/power.js:122 +#: ../js/ui/status/power.js:123 msgid "hour" msgid_plural "hours" msgstr[0] "ਘੰਟਾ" msgstr[1] "ਘੰਟੇ" -#: ../js/ui/status/power.js:122 +#: ../js/ui/status/power.js:123 msgid "minute" msgid_plural "minutes" msgstr[0] "ਮਿੰਟ" msgstr[1] "ਮਿੰਟ" -#: ../js/ui/status/power.js:125 +#: ../js/ui/status/power.js:126 #, c-format msgid "%d minute remaining" msgid_plural "%d minutes remaining" msgstr[0] "%d ਮਿੰਟ ਬਾਕੀ" msgstr[1] "%d ਮਿੰਟ ਬਾਕੀ" -#: ../js/ui/status/power.js:227 +#: ../js/ui/status/power.js:228 msgid "AC adapter" msgstr "AC ਐਡਪਟਰ" -#: ../js/ui/status/power.js:229 +#: ../js/ui/status/power.js:230 msgid "Laptop battery" msgstr "ਲੈਪਟਾਪ ਬੈਟਰੀ" -#: ../js/ui/status/power.js:231 +#: ../js/ui/status/power.js:232 msgid "UPS" msgstr "UPS" -#: ../js/ui/status/power.js:233 +#: ../js/ui/status/power.js:234 msgid "Monitor" msgstr "ਮਾਨੀਟਰ" -#: ../js/ui/status/power.js:235 +#: ../js/ui/status/power.js:236 msgid "Mouse" msgstr "ਮਾਊਸ" -#: ../js/ui/status/power.js:237 +#: ../js/ui/status/power.js:238 msgid "Keyboard" msgstr "ਕੀਬੋਰਡ" -#: ../js/ui/status/power.js:239 +#: ../js/ui/status/power.js:240 msgid "PDA" msgstr "PDA" -#: ../js/ui/status/power.js:241 +#: ../js/ui/status/power.js:242 msgid "Cell phone" msgstr "ਸੈੱਲ ਫੋਨ" -#: ../js/ui/status/power.js:243 +#: ../js/ui/status/power.js:244 msgid "Media player" msgstr "ਮੀਡਿਆ ਪਲੇਅਰ" -#: ../js/ui/status/power.js:245 +#: ../js/ui/status/power.js:246 msgid "Tablet" msgstr "ਟੇਬਲੇਟ" -#: ../js/ui/status/power.js:247 +#: ../js/ui/status/power.js:248 msgid "Computer" msgstr "ਕੰਪਿਊਟਰ" -#: ../js/ui/status/power.js:249 ../src/shell-app-system.c:1013 +#: ../js/ui/status/power.js:250 ../src/shell-app-system.c:1088 msgid "Unknown" msgstr "ਅਣਜਾਣ" -#: ../js/ui/status/volume.js:44 +#: ../js/ui/status/volume.js:45 msgid "Volume" msgstr "ਆਵਾਜ਼" -#: ../js/ui/status/volume.js:57 +#: ../js/ui/status/volume.js:58 msgid "Microphone" msgstr "ਮਾਈਕਰੋਫੋਨ" -#: ../js/ui/telepathyClient.js:239 +#: ../js/ui/telepathyClient.js:332 #, c-format msgid "%s is online." msgstr "%s ਆਨਲਾਈਨ ਹੈ।" -#: ../js/ui/telepathyClient.js:244 +#: ../js/ui/telepathyClient.js:337 #, c-format msgid "%s is offline." msgstr "%s ਆਫਲਾਈਨ ਹੈ।" -#: ../js/ui/telepathyClient.js:247 +#: ../js/ui/telepathyClient.js:340 #, c-format msgid "%s is away." msgstr "%s ਦੂਰ ਹੈ।" -#: ../js/ui/telepathyClient.js:250 +#: ../js/ui/telepathyClient.js:343 #, c-format msgid "%s is busy." msgstr "%s ਰੁੱਝਿਆ/ਰੁੱਝੀ ਹੈ।" @@ -931,7 +1087,7 @@ msgstr "%s ਰੁੱਝਿਆ/ਰੁੱਝੀ ਹੈ।" #. Translators: this is a time format string followed by a date. #. If applicable, replace %X with a strftime format valid for your #. locale, without seconds. -#: ../js/ui/telepathyClient.js:348 +#: ../js/ui/telepathyClient.js:474 #, no-c-format msgid "Sent at %X on %A" msgstr "%2$A ਨੂੰ %1$X ਵਜੇ ਭੇਜਿਆ" @@ -940,11 +1096,11 @@ msgstr "%2$A ਨੂੰ %1$X ਵਜੇ ਭੇਜਿਆ" #. in the search entry when no search is #. active; it should not exceed ~30 #. characters. -#: ../js/ui/viewSelector.js:117 +#: ../js/ui/viewSelector.js:122 msgid "Type to search..." msgstr "...ਲੱਭਣ ਲਈ ਲਿਖੋ" -#: ../js/ui/viewSelector.js:137 ../src/shell-util.c:250 +#: ../js/ui/viewSelector.js:142 ../src/shell-util.c:250 msgid "Search" msgstr "ਖੋਜ" @@ -960,7 +1116,7 @@ msgstr "'%s' ਤਿਆਰ ਹੈ" #. translators: #. * The number of sound outputs on a particular device -#: ../src/gvc/gvc-mixer-control.c:1094 +#: ../src/gvc/gvc-mixer-control.c:1098 #, c-format msgid "%u Output" msgid_plural "%u Outputs" @@ -969,51 +1125,68 @@ msgstr[1] "%u ਆਉਟਪੁੱਟ" #. translators: #. * The number of sound inputs on a particular device -#: ../src/gvc/gvc-mixer-control.c:1104 +#: ../src/gvc/gvc-mixer-control.c:1108 #, c-format msgid "%u Input" msgid_plural "%u Inputs" msgstr[0] "%u ਇੰਪੁੱਟ" msgstr[1] "%u ਇੰਪੁੱਟ" -#: ../src/gvc/gvc-mixer-control.c:1402 +#: ../src/gvc/gvc-mixer-control.c:1406 msgid "System Sounds" msgstr "ਸਿਸਟਮ ਸਾਊਂਡ" -#: ../src/shell-global.c:1298 +#: ../src/main.c:446 +msgid "Print version" +msgstr "ਵਰਜਨ ਛਾਪੋ" + +#: ../src/shell-app.c:454 +#, c-format +#| msgid "Failed to unmount '%s'" +msgid "Failed to launch '%s'" +msgstr "'%s' ਚਲਾਉਣ ਲਈ ਫੇਲ੍ਹ" + +#: ../src/shell-global.c:1395 msgid "Less than a minute ago" msgstr "ਇੱਕ ਮਿੰਟ ਤੋਂ ਘੱਟ ਚਿਰ ਪਹਿਲਾਂ" -#: ../src/shell-global.c:1302 +#: ../src/shell-global.c:1399 #, c-format msgid "%d minute ago" msgid_plural "%d minutes ago" msgstr[0] "%d ਮਿੰਟ ਪਹਿਲਾਂ" msgstr[1] "%d ਮਿੰਟ ਪਹਿਲਾਂ" -#: ../src/shell-global.c:1307 +#: ../src/shell-global.c:1404 #, c-format msgid "%d hour ago" msgid_plural "%d hours ago" msgstr[0] "%d ਘੰਟਾ ਪਹਿਲਾਂ" msgstr[1] "%d ਘੰਟੇ ਪਹਿਲਾਂ" -#: ../src/shell-global.c:1312 +#: ../src/shell-global.c:1409 #, c-format msgid "%d day ago" msgid_plural "%d days ago" msgstr[0] "%d ਦਿਨ ਪਹਿਲਾਂ" msgstr[1] "%d ਦਿਨ ਪਹਿਲਾਂ" -#: ../src/shell-global.c:1317 +#: ../src/shell-global.c:1414 #, c-format msgid "%d week ago" msgid_plural "%d weeks ago" msgstr[0] "%d ਹਫ਼ਤਾ ਪਹਿਲਾਂ" msgstr[1] "%d ਹਫ਼ਤੇ ਪਹਿਲਾਂ" +#: ../src/shell-mobile-providers.c:80 +msgid "United Kingdom" +msgstr "ਬਰਤਾਨੀਆ" + +#: ../src/shell-mobile-providers.c:526 +msgid "Default" +msgstr "ਡਿਫਾਲਟ" + #: ../src/shell-polkit-authentication-agent.c:334 -#| msgid "Authentation dialog was dismissed by the user" msgid "Authentication dialog was dismissed by the user" msgstr "ਪਰਮਾਣਕਿਤਾ ਡਾਈਲਾਗ ਯੂਜ਼ਰ ਵਲੋਂ ਰੱਦ ਕੀਤਾ" @@ -1037,6 +1210,34 @@ msgstr "ਫਾਇਲ ਸਿਸਟਮ" msgid "%1$s: %2$s" msgstr "%1$s: %2$s" +#~ msgid "No such application" +#~ msgstr "ਇੰਞ ਦੀ ਕੋਈ ਐਪਲੀਕੇਸ਼ਨ ਨਹੀਂ ਹੈ" + +#~ msgid "Shut Down" +#~ msgstr "ਬੰਦ ਕਰੋ" + +#~ msgid "Click Shut Down to quit these applications and shut down the system." +#~ msgstr "ਇਹ ਐਪਲੀਕੇਸ਼ਨ ਬੰਦ ਕਰਕੇ ਸਿਸਟਮ ਨੂੰ ਬੰਦ ਕਰਨ ਲਈ ਬੰਦ ਕਰੋ ਨੂੰ ਕਲਿੱਕ ਕਰੋ।" + +#~ msgid "The system will shut down automatically in %d seconds." +#~ msgstr "ਸਿਸਟਮ ਨੂੰ ਆਟੋਮੈਟਿਕ ਹੀ %d ਸਕਿੰਟਾਂ ਵਿੱਚ ਬੰਦ ਕੀਤਾ ਜਾਵੇਗਾ।" + +#~ msgid "Shutting down the system." +#~ msgstr "ਸਿਸਟਮ ਬੰਦ ਕੀਤਾ ਜਾ ਰਿਹਾ ਹੈ।" + +#~ msgid "Confirm" +#~ msgstr "ਪੁਸ਼ਟੀ" + +#~| msgid "Cancel" +#~ msgid "Panel" +#~ msgstr "ਪੈਨਲ" + +#~ msgid "Screen Reader" +#~ msgstr "ਸਕਰੀਨ ਰੀਡਰ" + +#~ msgid "Screen Keyboard" +#~ msgstr "ਸਕਰੀਨ ਕੀਬੋਰਡ" + #~ msgid "PREFERENCES" #~ msgstr "ਪਸੰਦ" @@ -1246,9 +1447,6 @@ msgstr "%1$s: %2$s" #~ msgid "Frequent" #~ msgstr "ਅਕਸਰ" -#~ msgid "More" -#~ msgstr "ਹੋਰ" - #~ msgid "(see all)" #~ msgstr "(ਸਭ ਵੇਖੋ)" From affc9f905802b4322aec6ac3d12149c24e8d04f7 Mon Sep 17 00:00:00 2001 From: Changwoo Ryu Date: Fri, 25 Mar 2011 21:57:01 +0900 Subject: [PATCH 195/203] Updated Korean translation --- po/ko.po | 162 +++++++++++++++++++++++++++++++++---------------------- 1 file changed, 99 insertions(+), 63 deletions(-) diff --git a/po/ko.po b/po/ko.po index d5784b65f..8b5947c3f 100644 --- a/po/ko.po +++ b/po/ko.po @@ -7,8 +7,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: 2011-03-19 00:18+0000\n" -"PO-Revision-Date: 2011-03-19 23:23+0900\n" +"POT-Creation-Date: 2011-03-24 08:03+0000\n" +"PO-Revision-Date: 2011-03-25 21:56+0900\n" "Last-Translator: Changwoo Ryu \n" "Language-Team: GNOME Korea \n" "MIME-Version: 1.0\n" @@ -177,27 +177,27 @@ msgid "Execution of '%s' failed:" msgstr "'%s' 실행이 실패했습니다:" #. Translators: Filter to display all applications -#: ../js/ui/appDisplay.js:226 +#: ../js/ui/appDisplay.js:230 msgid "All" msgstr "모두" -#: ../js/ui/appDisplay.js:324 +#: ../js/ui/appDisplay.js:328 msgid "APPLICATIONS" msgstr "프로그램" -#: ../js/ui/appDisplay.js:350 +#: ../js/ui/appDisplay.js:354 msgid "SETTINGS" msgstr "설정" -#: ../js/ui/appDisplay.js:612 +#: ../js/ui/appDisplay.js:625 msgid "New Window" msgstr "새 창" -#: ../js/ui/appDisplay.js:615 +#: ../js/ui/appDisplay.js:628 msgid "Remove from Favorites" msgstr "즐겨찾기에서 제거" -#: ../js/ui/appDisplay.js:616 +#: ../js/ui/appDisplay.js:629 msgid "Add to Favorites" msgstr "즐겨찾기에 추가" @@ -357,7 +357,7 @@ msgstr "이번주" msgid "Next week" msgstr "다음주" -#: ../js/ui/dash.js:174 ../js/ui/messageTray.js:933 +#: ../js/ui/dash.js:174 ../js/ui/messageTray.js:994 msgid "Remove" msgstr "제거" @@ -425,7 +425,7 @@ msgstr "최근 항목" msgid "Log Out %s" msgstr "로그아웃 %s" -#: ../js/ui/endSessionDialog.js:64 ../js/ui/endSessionDialog.js:69 +#: ../js/ui/endSessionDialog.js:64 ../js/ui/endSessionDialog.js:70 msgid "Log Out" msgstr "로그아웃" @@ -447,45 +447,43 @@ msgstr "%d초 뒤에 자동으로 로그아웃합니다." msgid "Logging out of the system." msgstr "시스템에서 로그아웃." -#: ../js/ui/endSessionDialog.js:74 ../js/ui/endSessionDialog.js:78 -msgid "Shut Down" +#: ../js/ui/endSessionDialog.js:75 ../js/ui/endSessionDialog.js:82 +msgid "Power Off" msgstr "컴퓨터 끄기" -#: ../js/ui/endSessionDialog.js:75 -msgid "Click Shut Down to quit these applications and shut down the system." -msgstr "컴퓨터 끄기를 누르면 이 프로그램을 끝내고 시스템을 끕니다." - #: ../js/ui/endSessionDialog.js:76 -#, c-format -msgid "The system will shut down automatically in %d seconds." -msgstr "시스템이 %d초 뒤에 자동으로 꺼집니다." +msgid "Click Power Off to quit these applications and power off the system." +msgstr "컴퓨터 끄기를 누르면 이 프로그램을 끝내고 시스템의 전원을 끕니다." #: ../js/ui/endSessionDialog.js:77 -msgid "Shutting down the system." -msgstr "시스템을 끕니다." +#, c-format +msgid "The system will power off automatically in %d seconds." +msgstr "시스템이 %d초 뒤에 자동으로 꺼집니다." -#: ../js/ui/endSessionDialog.js:84 ../js/ui/endSessionDialog.js:88 +#: ../js/ui/endSessionDialog.js:78 +msgid "Powering off the system." +msgstr "시스템 전원 끄기." + +#: ../js/ui/endSessionDialog.js:80 ../js/ui/endSessionDialog.js:88 +#: ../js/ui/endSessionDialog.js:93 msgid "Restart" msgstr "다시 시작" -#: ../js/ui/endSessionDialog.js:85 +#: ../js/ui/endSessionDialog.js:89 msgid "Click Restart to quit these applications and restart the system." msgstr "다시 시작을 누르면 이 프로그램을 끝내고 시스템을 다시 시작합니다." -#: ../js/ui/endSessionDialog.js:86 +#: ../js/ui/endSessionDialog.js:90 #, c-format msgid "The system will restart automatically in %d seconds." msgstr "시스템이 %d초 뒤에 자동으로 다시 시작합니다." -#: ../js/ui/endSessionDialog.js:87 +#: ../js/ui/endSessionDialog.js:91 msgid "Restarting the system." msgstr "시스템을 다시 시작합니다." -#: ../js/ui/endSessionDialog.js:395 -msgid "Confirm" -msgstr "확인" - -#: ../js/ui/endSessionDialog.js:400 ../js/ui/status/bluetooth.js:466 +#: ../js/ui/endSessionDialog.js:415 ../js/ui/polkitAuthenticationAgent.js:172 +#: ../js/ui/status/bluetooth.js:466 msgid "Cancel" msgstr "취소" @@ -519,29 +517,29 @@ msgstr "소스 보기" msgid "Web Page" msgstr "웹페이지" -#: ../js/ui/messageTray.js:926 +#: ../js/ui/messageTray.js:987 msgid "Open" msgstr "열기" -#: ../js/ui/messageTray.js:1986 +#: ../js/ui/messageTray.js:2145 msgid "System Information" msgstr "시스템 정보" -#: ../js/ui/overview.js:88 +#: ../js/ui/overview.js:91 msgid "Undo" msgstr "실행 취소" -#: ../js/ui/overview.js:183 +#: ../js/ui/overview.js:186 msgid "Windows" msgstr "창" -#: ../js/ui/overview.js:186 +#: ../js/ui/overview.js:189 msgid "Applications" msgstr "프로그램" #. Translators: this is the name of the dock/favorites area on #. the left of the overview -#: ../js/ui/overview.js:202 +#: ../js/ui/overview.js:205 msgid "Dash" msgstr "대시보드" @@ -553,13 +551,13 @@ msgstr "%s 끝내기" #. Button on the left side of the panel. #. Translators: If there is no suitable word for "Activities" in your language, you can use the word for "Overview". -#: ../js/ui/panel.js:874 +#: ../js/ui/panel.js:878 msgid "Activities" msgstr "현재 활동" -#: ../js/ui/panel.js:975 -msgid "Panel" -msgstr "패널" +#: ../js/ui/panel.js:979 +msgid "Top Bar" +msgstr "위 막대" #: ../js/ui/placeDisplay.js:122 #, c-format @@ -578,60 +576,80 @@ msgstr "연결..." msgid "PLACES & DEVICES" msgstr "위치 및 장치" +#: ../js/ui/polkitAuthenticationAgent.js:74 +msgid "Authentication Required" +msgstr "인증이 필요합니다" + +#: ../js/ui/polkitAuthenticationAgent.js:108 +msgid "Administrator" +msgstr "관리자" + +#: ../js/ui/polkitAuthenticationAgent.js:176 +msgid "Authenticate" +msgstr "인증" + +#: ../js/ui/polkitAuthenticationAgent.js:260 +msgid "Sorry, that didn't work. Please try again." +msgstr "죄송합니다. 동작하지 않았습니다. 다시 시도하십시오." + +#: ../js/ui/polkitAuthenticationAgent.js:272 +msgid "Password:" +msgstr "암호:" + #. Translators: this MUST be either "toggle-switch-us" #. (for toggle switches containing the English words #. "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:636 +#: ../js/ui/popupMenu.js:679 msgid "toggle-switch-us" msgstr "toggle-switch-intl" -#: ../js/ui/runDialog.js:201 +#: ../js/ui/runDialog.js:205 msgid "Please enter a command:" msgstr "명령을 입력하십시오:" -#: ../js/ui/searchDisplay.js:283 +#: ../js/ui/searchDisplay.js:310 msgid "Searching..." msgstr "검색하는 중..." -#: ../js/ui/searchDisplay.js:297 +#: ../js/ui/searchDisplay.js:324 msgid "No matching results." msgstr "일치하는 결과가 없습니다." -#: ../js/ui/statusMenu.js:114 ../js/ui/statusMenu.js:178 +#: ../js/ui/statusMenu.js:161 ../js/ui/statusMenu.js:228 msgid "Power Off..." msgstr "컴퓨터 끄기..." -#: ../js/ui/statusMenu.js:116 ../js/ui/statusMenu.js:177 +#: ../js/ui/statusMenu.js:163 ../js/ui/statusMenu.js:227 msgid "Suspend" msgstr "절전" -#: ../js/ui/statusMenu.js:137 +#: ../js/ui/statusMenu.js:184 msgid "Available" msgstr "대화 가능" -#: ../js/ui/statusMenu.js:142 +#: ../js/ui/statusMenu.js:189 msgid "Busy" msgstr "다른 용무 중" -#: ../js/ui/statusMenu.js:150 +#: ../js/ui/statusMenu.js:197 msgid "My Account" msgstr "내 계정" -#: ../js/ui/statusMenu.js:154 +#: ../js/ui/statusMenu.js:201 msgid "System Settings" msgstr "시스템 설정" -#: ../js/ui/statusMenu.js:161 +#: ../js/ui/statusMenu.js:208 msgid "Lock Screen" msgstr "화면 잠그기" -#: ../js/ui/statusMenu.js:165 +#: ../js/ui/statusMenu.js:213 msgid "Switch User" msgstr "사용자 바꾸기" -#: ../js/ui/statusMenu.js:170 +#: ../js/ui/statusMenu.js:218 msgid "Log Out..." msgstr "로그아웃..." @@ -667,7 +685,7 @@ msgstr "마우스 키" #: ../js/ui/status/accessibility.js:93 msgid "Universal Access Settings" -msgstr "보편적 접근성 설정" +msgstr "접근성 설정" #: ../js/ui/status/accessibility.js:146 msgid "High Contrast" @@ -1010,7 +1028,7 @@ msgstr "태블릿" msgid "Computer" msgstr "컴퓨터" -#: ../js/ui/status/power.js:250 ../src/shell-app-system.c:961 +#: ../js/ui/status/power.js:250 ../src/shell-app-system.c:1088 msgid "Unknown" msgstr "알 수 없음" @@ -1055,11 +1073,11 @@ msgstr "보낸 때: %A %H시 %M분" #. in the search entry when no search is #. active; it should not exceed ~30 #. characters. -#: ../js/ui/viewSelector.js:119 +#: ../js/ui/viewSelector.js:122 msgid "Type to search..." msgstr "검색하려면 입력하십시오..." -#: ../js/ui/viewSelector.js:139 ../src/shell-util.c:250 +#: ../js/ui/viewSelector.js:142 ../src/shell-util.c:250 msgid "Search" msgstr "검색" @@ -1094,7 +1112,7 @@ msgid "System Sounds" msgstr "시스템 소리" # 커맨드라인 옵션 설명 -#: ../src/main.c:397 +#: ../src/main.c:446 msgid "Print version" msgstr "버전을 표시합니다" @@ -1103,29 +1121,29 @@ msgstr "버전을 표시합니다" msgid "Failed to launch '%s'" msgstr "'%s' 실행에 실패했습니다" -#: ../src/shell-global.c:1340 +#: ../src/shell-global.c:1395 msgid "Less than a minute ago" msgstr "1분 이내" -#: ../src/shell-global.c:1344 +#: ../src/shell-global.c:1399 #, c-format msgid "%d minute ago" msgid_plural "%d minutes ago" msgstr[0] "%d분 전" -#: ../src/shell-global.c:1349 +#: ../src/shell-global.c:1404 #, c-format msgid "%d hour ago" msgid_plural "%d hours ago" msgstr[0] "%d시간 전" -#: ../src/shell-global.c:1354 +#: ../src/shell-global.c:1409 #, c-format msgid "%d day ago" msgid_plural "%d days ago" msgstr[0] "%d일 전" -#: ../src/shell-global.c:1359 +#: ../src/shell-global.c:1414 #, c-format msgid "%d week ago" msgid_plural "%d weeks ago" @@ -1163,6 +1181,24 @@ msgstr "파일시스템" msgid "%1$s: %2$s" msgstr "%s: %s" +#~ msgid "Shut Down" +#~ msgstr "컴퓨터 끄기" + +#~ msgid "Click Shut Down to quit these applications and shut down the system." +#~ msgstr "컴퓨터 끄기를 누르면 이 프로그램을 끝내고 시스템을 끕니다." + +#~ msgid "The system will shut down automatically in %d seconds." +#~ msgstr "시스템이 %d초 뒤에 자동으로 꺼집니다." + +#~ msgid "Shutting down the system." +#~ msgstr "시스템을 끕니다." + +#~ msgid "Confirm" +#~ msgstr "확인" + +#~ msgid "Panel" +#~ msgstr "패널" + #~ msgid "No such application" #~ msgstr "그런 프로그램이 없습니다" From c97a8602a182b77e4cee75df13eb7f30ce836a2f Mon Sep 17 00:00:00 2001 From: Colin Walters Date: Thu, 17 Mar 2011 16:26:49 -0400 Subject: [PATCH 196/203] ShellAppSystem: Only search gnomecc.menu for preferences settings.menu was removed in gnome-menus commit b68bcd27f44ce2c494f6e3cd9695890b9c02af04; gnomecc.menu is the intended replacement. (On Red Hat Linux derived systems, settings.menu continues to exist) https://bugzilla.gnome.org/show_bug.cgi?id=645063 --- src/shell-app-system.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/shell-app-system.c b/src/shell-app-system.c index 7bd4b1251..b52625a0a 100644 --- a/src/shell-app-system.c +++ b/src/shell-app-system.c @@ -200,7 +200,7 @@ shell_app_system_init (ShellAppSystem *self) * case by case. */ priv->apps_tree = gmenu_tree_lookup ("applications.menu", GMENU_TREE_FLAGS_INCLUDE_NODISPLAY); - priv->settings_tree = gmenu_tree_lookup ("settings.menu", GMENU_TREE_FLAGS_NONE); + priv->settings_tree = gmenu_tree_lookup ("gnomecc.menu", GMENU_TREE_FLAGS_INCLUDE_NODISPLAY); priv->app_change_timeout_id = 0; From 3889ae762734f584c90d986a9593c05d8895d2ea Mon Sep 17 00:00:00 2001 From: Rodrigo Padula de Oliveira Date: Fri, 25 Mar 2011 11:54:56 -0300 Subject: [PATCH 197/203] Updated Brazilian Portuguese translation --- po/pt_BR.po | 1248 ++++++++++++++++++++++++++++++++------------------- 1 file changed, 784 insertions(+), 464 deletions(-) diff --git a/po/pt_BR.po b/po/pt_BR.po index 5a0da7cf5..50e8e1a19 100644 --- a/po/pt_BR.po +++ b/po/pt_BR.po @@ -6,19 +6,21 @@ # Felipe Borges , 2010. # Henrique P. Machado , 2010. # Jonh Wendell , 2010. +# Rodrigo Padula , 2011. # msgid "" msgstr "" "Project-Id-Version: \n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2010-12-07 08:59-0200\n" -"PO-Revision-Date: 2010-12-06 16:03+0100\n" -"Last-Translator: Jonh Wendell \n" +"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug.cgi?product=gnome-" +"shell&keywords=I18N+L10N&component=general\n" +"POT-Creation-Date: 2011-03-24 18:16+0000\n" +"PO-Revision-Date: 2011-03-24 14:11-0300\n" +"Last-Translator: Rodrigo Padula de Oliveira \n" "Language-Team: Brazilian Portuguese \n" -"Language: pt_BR\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" +"Language: pt_BR\n" "Plural-Forms: nplurals=2; plural=(n > 1);\n" #: ../data/gnome-shell.desktop.in.in.h:1 @@ -29,14 +31,6 @@ msgstr "GNOME Shell" msgid "Window management and application launching" msgstr "Gerenciamento de janelas e lançador de aplicativos" -#: ../data/gnome-shell-clock-preferences.desktop.in.in.h:1 -msgid "Clock" -msgstr "Relógio" - -#: ../data/gnome-shell-clock-preferences.desktop.in.in.h:2 -msgid "Customize the panel clock" -msgstr "Personalizar o relógio do painel" - #: ../data/org.gnome.shell.gschema.xml.in.h:1 msgid "" "Allows access to internal debugging and monitoring tools using the Alt-F2 " @@ -46,24 +40,20 @@ msgstr "" "diálogo Alt-F2." #: ../data/org.gnome.shell.gschema.xml.in.h:2 -msgid "Custom format of the clock" -msgstr "Padrão personalizado do relógio" - -#: ../data/org.gnome.shell.gschema.xml.in.h:3 msgid "Enable internal tools useful for developers and testers from Alt-F2" msgstr "" "Habilitar ferramentas internas úteis para desenvolvedores e testadores a " "partir do Alt-F2" -#: ../data/org.gnome.shell.gschema.xml.in.h:4 +#: ../data/org.gnome.shell.gschema.xml.in.h:3 msgid "File extension used for storing the screencast" msgstr "Extensão de arquivo usada para armazenagem do screencast" -#: ../data/org.gnome.shell.gschema.xml.in.h:5 +#: ../data/org.gnome.shell.gschema.xml.in.h:4 msgid "Framerate used for recording screencasts." msgstr "Taxa de quadros usada para gravar screencasts." -#: ../data/org.gnome.shell.gschema.xml.in.h:6 +#: ../data/org.gnome.shell.gschema.xml.in.h:5 msgid "" "GNOME Shell extensions have a uuid property; this key lists extensions which " "should not be loaded." @@ -71,40 +61,33 @@ msgstr "" "As extensões do GNOME Shell tem uma propriedade uuid; esta chave lista as " "extensões que não devem ser carregadas." -#: ../data/org.gnome.shell.gschema.xml.in.h:7 +#: ../data/org.gnome.shell.gschema.xml.in.h:6 msgid "History for command (Alt-F2) dialog" msgstr "Histórico do diálogo comandos (Alt-F2)" +#: ../data/org.gnome.shell.gschema.xml.in.h:7 +msgid "History for the looking glass dialog" +msgstr "Histórico do diálogo comandos" + #: ../data/org.gnome.shell.gschema.xml.in.h:8 -msgid "Hour format" -msgstr "Formato de horas" +msgid "If true, display date in the clock, in addition to time." +msgstr "Se verdadeiro, exibe data no relógio, em adição à hora." #: ../data/org.gnome.shell.gschema.xml.in.h:9 -msgid "" -"If true and format is either \"12-hour\" or \"24-hour\", display date in the " -"clock, in addition to time." -msgstr "" -"Se verdadeiro e o formato é \"12-horas\" ou \"24-horas\", mostra a data no " -"relógio, junto com o horário." +msgid "If true, display seconds in time." +msgstr "Se verdadeiro, exibe segundos na hora." #: ../data/org.gnome.shell.gschema.xml.in.h:10 -msgid "" -"If true and format is either \"12-hour\" or \"24-hour\", display seconds in " -"time." -msgstr "" -"Se verdadeiro e o formato é \"12-horas\" ou \"24-horas\", mostra os segundos " -"junto com o horário." - -#: ../data/org.gnome.shell.gschema.xml.in.h:11 msgid "If true, display the ISO week date in the calendar." msgstr "Se verdadeiro, exibe o número da semana no calendário." -#: ../data/org.gnome.shell.gschema.xml.in.h:12 +#: ../data/org.gnome.shell.gschema.xml.in.h:11 msgid "List of desktop file IDs for favorite applications" msgstr "" "Lista dos IDs de arquivo de área de trabalho para os aplicativos favoritos" #: ../data/org.gnome.shell.gschema.xml.in.h:13 +#, no-c-format msgid "" "Sets the GStreamer pipeline used to encode recordings. It follows the syntax " "used for gst-launch. The pipeline should have an unconnected sink pad where " @@ -113,17 +96,21 @@ msgid "" "pipeline can also take care of its own output - this might be used to send " "the output to an icecast server via shout2send or similar. When unset or set " "to an empty value, the default pipeline will be used. This is currently " -"'videorate ! theoraenc ! oggmux' and records to Ogg Theora." +"'videorate ! vp8enc quality=10 speed=2 threads=%T ! queue ! webmmux' and " +"records to WEBM using the VP8 codec. %T is used as a placeholder for a guess " +"at the optimal thread count on the system." msgstr "" -"Configura a fila de processamento usada para codificar gravações. Ela segue " -"a a sintaxe usada para gst-launch. A fila de processamento deve ter um sink " -"pad onde o vídeo gravado é retido. Ele normalmente terá um source pad " -"desconectado; saídas deste pad serão gravadas no arquivo de saída. Porém, a " -"fila de processamento pode também tomar conta de sua própria saída - isto " -"poderia ser usado para enviar a saída para um servidor icecast via " -"shout2send oiu similar. Quando não definido ou definido para um valor vazio, " -"o fluxo de processamento padrão será usado. Atualmente é 'videorate ! " -"theoraenc ! oggmux' e gravação no formato Ogg Theora." +"Configura a fila de processamento GStreamer usada para codificar gravações. " +"Ela segue a sintaxe usada para gst-launch. A fila de processamento deve " +"ter um sink pad onde o vídeo gravado é escrito. Ele normalmente terá um " +"source pad desconectado; saídas deste pad serão gravadas no arquivo de " +"saída. Porém, a fila de processamento pode também tomar conta de sua própria " +"saída - isto poderia ser usado para enviar a saída para um servidor icecast " +"via shout2send oiu similar. Quando não definido ou definido para um valor " +"vazio, o fluxo de processamento padrão será usado. Atualmente é \"videorate ! " +"vp8enc quality=10 speed=2 threads=%T ! queue ! webmmux\" e grave para WEBM " +"usando o codec VP8. %T é usado como espaço reservado para um convidado na " +"lista para uma ótima contagem de threads no sistema." #: ../data/org.gnome.shell.gschema.xml.in.h:14 msgid "Show date in clock" @@ -161,7 +148,7 @@ msgid "" "screencast recorder in frames-per-second." msgstr "" "A taxa de quadros do screencast resultante gravado pelo gravador de " -"screencastsdo GNOME Shell em quadros por segundo." +"screencasts do GNOME Shell em quadros por segundo." #: ../data/org.gnome.shell.gschema.xml.in.h:20 msgid "The gstreamer pipeline used to encode the screencast" @@ -180,213 +167,54 @@ msgstr "" "favor, note que que ao fazer isso não removerá os dado já salvos." #: ../data/org.gnome.shell.gschema.xml.in.h:22 -msgid "" -"This key specifies the format used by the panel clock when the format key is " -"set to \"custom\". You can use conversion specifiers understood by strftime" -"() to obtain a specific format. See the strftime() manual for more " -"information." -msgstr "" -"Esta chave especifica o formato usado pelo relógio do painel quando a chave " -"de formato é atribuída como \"personalizado\". Você pode usar " -"especificadores de conversão entendidos pela função strftime() para obter um " -"formato específico. Veja o manual da strftime() para maiores informações." - -#: ../data/org.gnome.shell.gschema.xml.in.h:23 -msgid "" -"This key specifies the hour format used by the panel clock. Possible values " -"are \"12-hour\", \"24-hour\", \"unix\" and \"custom\". If set to \"unix\", " -"the clock will display time in seconds since Epoch, i.e. 1970-01-01. If set " -"to \"custom\", the clock will display time according to the format specified " -"in the custom_format key. Note that if set to either \"unix\" or \"custom\", " -"the show_date and show_seconds keys are ignored." -msgstr "" -"Esta chave especifica o formato de horas utilizado pelo relógio do painel. " -"Valores possíveis são \"12-hour\", \"24-hour\", \"unix\" e \"custom\". Se " -"definida como \"unix\", o relógio irá exibir as horas em segundos desde seu " -"lançamento, por exemplo 01/01/1970. Se definida como \"custom\", o relógio " -"irá exibir as horas de acordo com o formato especificado na chave " -"custom_format. Note que se definida tanto como \"unix\" ou \"custom\", as " -"chaves show_date e show_seconds serão igoradas." - -#: ../data/org.gnome.shell.gschema.xml.in.h:24 msgid "Uuids of extensions to disable" msgstr "Uuids das extensões a desabilitar" -#: ../data/org.gnome.shell.gschema.xml.in.h:25 +#: ../data/org.gnome.shell.gschema.xml.in.h:23 msgid "Whether to collect stats about applications usage" msgstr "Quando coletar dados sobre uso de aplicativos" -#: ../data/org.gnome.accessibility.magnifier.gschema.xml.in.h:1 -msgid "Clip the crosshairs at the center" -msgstr "" +#: ../data/org.gnome.shell.gschema.xml.in.h:24 +msgid "disabled OpenSearch providers" +msgstr "desabilitar provedores OpenSearch" -#: ../data/org.gnome.accessibility.magnifier.gschema.xml.in.h:2 -msgid "Color of the crosshairs" -msgstr "" +#: ../js/misc/util.js:71 +msgid "Command not found" +msgstr "Comando não encontrado" -#: ../data/org.gnome.accessibility.magnifier.gschema.xml.in.h:3 -msgid "" -"Determines the length of the vertical and horizontal lines that make up the " -"crosshairs." -msgstr "" +#. Replace "Error invoking GLib.shell_parse_argv: " with +#. something nicer +#: ../js/misc/util.js:98 +msgid "Could not parse command:" +msgstr "Não foi possível analisar comando:" -#: ../data/org.gnome.accessibility.magnifier.gschema.xml.in.h:4 -msgid "" -"Determines the position of the magnified mouse image within the magnified " -"view and how it reacts to system mouse movement. The values are - none: no " -"mouse tracking; - centered: the mouse image is displayed at the center of " -"the zoom region (which also represents the point under the system mouse) and " -"the magnified contents are scrolled as the system mouse moves; - " -"proportional: the position of the magnified mouse in the zoom region is " -"proportionally the same as the position of the system mouse on screen; - " -"push: when the magnified mouse intersects a boundary of the zoom region, the " -"contents are scrolled into view." -msgstr "" +#: ../js/misc/util.js:106 +#, c-format +msgid "Execution of '%s' failed:" +msgstr "A execução de \"%s\" falhou:" -#: ../data/org.gnome.accessibility.magnifier.gschema.xml.in.h:5 -msgid "" -"Determines the transparency of the crosshairs, from fully opaque to fully " -"transparent." -msgstr "" +#. Translators: Filter to display all applications +#: ../js/ui/appDisplay.js:230 +msgid "All" +msgstr "Todos" -#: ../data/org.gnome.accessibility.magnifier.gschema.xml.in.h:6 -msgid "" -"Determines whether the crosshairs intersect the magnified mouse sprite, or " -"are clipped such that the ends of the horizontal and vertical lines surround " -"the mouse image." -msgstr "" - -#: ../data/org.gnome.accessibility.magnifier.gschema.xml.in.h:7 -#, fuzzy -msgid "Enable lens mode" -msgstr "Habilitado" - -#: ../data/org.gnome.accessibility.magnifier.gschema.xml.in.h:8 -msgid "" -"Enables/disables display of crosshairs centered on the magnified mouse " -"sprite." -msgstr "" - -#: ../data/org.gnome.accessibility.magnifier.gschema.xml.in.h:9 -msgid "" -"For centered mouse tracking, when the system pointer is at or near the edge " -"of the screen, the magnified contents continue to scroll such that the " -"screen edge moves into the magnified view." -msgstr "" - -#: ../data/org.gnome.accessibility.magnifier.gschema.xml.in.h:10 -msgid "Length of the crosshairs" -msgstr "" - -#: ../data/org.gnome.accessibility.magnifier.gschema.xml.in.h:11 -msgid "Magnification factor" -msgstr "" - -#: ../data/org.gnome.accessibility.magnifier.gschema.xml.in.h:12 -msgid "Mouse Tracking Mode" -msgstr "" - -#: ../data/org.gnome.accessibility.magnifier.gschema.xml.in.h:13 -msgid "Opacity of the crosshairs" -msgstr "" - -#: ../data/org.gnome.accessibility.magnifier.gschema.xml.in.h:14 -msgid "Screen position" -msgstr "" - -#: ../data/org.gnome.accessibility.magnifier.gschema.xml.in.h:15 -msgid "Scroll magnified contents beyond the edges of the desktop" -msgstr "" - -#: ../data/org.gnome.accessibility.magnifier.gschema.xml.in.h:16 -msgid "Show or hide crosshairs" -msgstr "" - -#: ../data/org.gnome.accessibility.magnifier.gschema.xml.in.h:17 -msgid "Show or hide the magnifier" -msgstr "" - -#: ../data/org.gnome.accessibility.magnifier.gschema.xml.in.h:18 -msgid "Show or hide the magnifier and all of its zoom regions." -msgstr "" - -#: ../data/org.gnome.accessibility.magnifier.gschema.xml.in.h:19 -msgid "" -"The color of the the vertical and horizontal lines that make up the " -"crosshairs." -msgstr "" - -#: ../data/org.gnome.accessibility.magnifier.gschema.xml.in.h:20 -msgid "" -"The magnified view either fills the entire screen, or occupies the top-half, " -"bottom-half, left-half, or right-half of the screen." -msgstr "" - -#: ../data/org.gnome.accessibility.magnifier.gschema.xml.in.h:21 -msgid "" -"The power of the magnification. A value of 1.0 means no magnification. A " -"value of 2.0 doubles the size." -msgstr "" - -#: ../data/org.gnome.accessibility.magnifier.gschema.xml.in.h:22 -msgid "Thickness of the crosshairs" -msgstr "" - -#: ../data/org.gnome.accessibility.magnifier.gschema.xml.in.h:23 -msgid "" -"Whether the magnified view should be centered over the location of the " -"system mouse and move with it." -msgstr "" - -#: ../data/org.gnome.accessibility.magnifier.gschema.xml.in.h:24 -msgid "Width of the vertical and horizontal lines that make up the crosshairs." -msgstr "" - -#: ../data/clock-preferences.ui.h:1 -msgid "Clock Format" -msgstr "Formato do relógio" - -#: ../data/clock-preferences.ui.h:2 -msgid "Clock Preferences" -msgstr "Preferências do Relógio" - -#: ../data/clock-preferences.ui.h:3 -msgid "Panel Display" -msgstr "Mostrador do painel" - -#: ../data/clock-preferences.ui.h:4 -msgid "Show seco_nds" -msgstr "Mostrar segundos" - -#: ../data/clock-preferences.ui.h:5 -msgid "Show the _date" -msgstr "Mostrar a _data" - -#: ../data/clock-preferences.ui.h:6 -msgid "_12 hour format" -msgstr "Formato de _12 horas" - -#: ../data/clock-preferences.ui.h:7 -msgid "_24 hour format" -msgstr "Formato de _24 horas" - -#: ../js/ui/appDisplay.js:215 +#: ../js/ui/appDisplay.js:328 msgid "APPLICATIONS" msgstr "APLICATIVOS" -#: ../js/ui/appDisplay.js:245 -msgid "PREFERENCES" -msgstr "PREFERÊNCIAS" +#: ../js/ui/appDisplay.js:354 +msgid "SETTINGS" +msgstr "CONFIGURAÇÕES" -#: ../js/ui/appDisplay.js:542 +#: ../js/ui/appDisplay.js:625 msgid "New Window" msgstr "Nova janela" -#: ../js/ui/appDisplay.js:546 +#: ../js/ui/appDisplay.js:628 msgid "Remove from Favorites" msgstr "Remover dos favoritos" -#: ../js/ui/appDisplay.js:547 +#: ../js/ui/appDisplay.js:629 msgid "Add to Favorites" msgstr "Adicionar aos favoritos" @@ -400,228 +228,757 @@ msgstr "%s foi adicionado aos seus favoritos." msgid "%s has been removed from your favorites." msgstr "%s foi removido dos seus favoritos." -#: ../js/ui/dash.js:27 +#. Translators: Shown in calendar event list for all day events +#. * Keep it short, best if you can use less then 10 characters +#. +#: ../js/ui/calendar.js:66 +msgctxt "event list time" +msgid "All Day" +msgstr "Dia todo" + +#. Translators: Shown in calendar event list, if 24h format +#: ../js/ui/calendar.js:71 +msgctxt "event list time" +msgid "%H:%M" +msgstr "%H:%M" + +#. Transators: Shown in calendar event list, if 12h format +#: ../js/ui/calendar.js:78 +msgctxt "event list time" +msgid "%l:%M %p" +msgstr "%l:%M %p" + +#. Translators: Calendar grid abbreviation for Sunday. +#. * +#. * NOTE: These grid abbreviations are always shown together +#. * and in order, e.g. "S M T W T F S". +#. +#: ../js/ui/calendar.js:118 +msgctxt "grid sunday" +msgid "S" +msgstr "D" + +#. Translators: Calendar grid abbreviation for Monday +#: ../js/ui/calendar.js:120 +msgctxt "grid monday" +msgid "M" +msgstr "S" + +#. Translators: Calendar grid abbreviation for Tuesday +#: ../js/ui/calendar.js:122 +msgctxt "grid tuesday" +msgid "T" +msgstr "T" + +#. Translators: Calendar grid abbreviation for Wednesday +#: ../js/ui/calendar.js:124 +msgctxt "grid wednesday" +msgid "W" +msgstr "Q" + +#. Translators: Calendar grid abbreviation for Thursday +#: ../js/ui/calendar.js:126 +msgctxt "grid thursday" +msgid "T" +msgstr "Q" + +#. Translators: Calendar grid abbreviation for Friday +#: ../js/ui/calendar.js:128 +msgctxt "grid friday" +msgid "F" +msgstr "S" + +#. Translators: Calendar grid abbreviation for Saturday +#: ../js/ui/calendar.js:130 +msgctxt "grid saturday" +msgid "S" +msgstr "S" + +#. Translators: Event list abbreviation for Sunday. +#. * +#. * NOTE: These list abbreviations are normally not shown together +#. * so they need to be unique (e.g. Tuesday and Thursday cannot +#. * both be 'T'). +#. +#: ../js/ui/calendar.js:143 +msgctxt "list sunday" +msgid "Su" +msgstr "Dom" + +#. Translators: Event list abbreviation for Monday +#: ../js/ui/calendar.js:145 +msgctxt "list monday" +msgid "M" +msgstr "Seg" + +#. Translators: Event list abbreviation for Tuesday +#: ../js/ui/calendar.js:147 +msgctxt "list tuesday" +msgid "T" +msgstr "Ter" + +#. Translators: Event list abbreviation for Wednesday +#: ../js/ui/calendar.js:149 +msgctxt "list wednesday" +msgid "W" +msgstr "Qua" + +#. Translators: Event list abbreviation for Thursday +#: ../js/ui/calendar.js:151 +msgctxt "list thursday" +msgid "Th" +msgstr "Qui" + +#. Translators: Event list abbreviation for Friday +#: ../js/ui/calendar.js:153 +msgctxt "list friday" +msgid "F" +msgstr "Sex" + +#. Translators: Event list abbreviation for Saturday +#: ../js/ui/calendar.js:155 +msgctxt "list saturday" +msgid "S" +msgstr "Sab" + +#. Translators: Text to show if there are no events +#: ../js/ui/calendar.js:704 +msgid "Nothing Scheduled" +msgstr "Nada agendado" + +#. Translators: Shown on calendar heading when selected day occurs on current year +#: ../js/ui/calendar.js:720 +msgctxt "calendar heading" +msgid "%A, %B %d" +msgstr "%A, %B %d" + +#. Translators: Shown on calendar heading when selected day occurs on different year +#: ../js/ui/calendar.js:723 +msgctxt "calendar heading" +msgid "%A, %B %d, %Y" +msgstr "%A, %B %d, %Y" + +#: ../js/ui/calendar.js:733 +msgid "Today" +msgstr "Hoje" + +#: ../js/ui/calendar.js:737 +msgid "Tomorrow" +msgstr "Amanhã" + +#: ../js/ui/calendar.js:746 +msgid "This week" +msgstr "Esta semana" + +#: ../js/ui/calendar.js:754 +msgid "Next week" +msgstr "Próxima semana" + +#: ../js/ui/dash.js:174 ../js/ui/messageTray.js:994 msgid "Remove" msgstr "Remover" -#: ../js/ui/docDisplay.js:494 -msgid "RECENT ITEMS" -msgstr "DOCUMENTOS RECENTES" +#: ../js/ui/dateMenu.js:91 +msgid "Date and Time Settings" +msgstr "Configurações de data e hora" -#: ../js/ui/lookingGlass.js:552 -msgid "No extensions installed" -msgstr "Nenhuma extensão instalada" - -#: ../js/ui/lookingGlass.js:589 -msgid "Enabled" -msgstr "Habilitado" - -#. translators: -#. * The device has been disabled -#: ../js/ui/lookingGlass.js:591 ../src/gvc/gvc-mixer-control.c:1087 -msgid "Disabled" -msgstr "Desabilitado" - -#: ../js/ui/lookingGlass.js:593 -msgid "Error" -msgstr "Erro" - -#: ../js/ui/lookingGlass.js:595 -msgid "Out of date" -msgstr "Expirado" - -#: ../js/ui/lookingGlass.js:620 -msgid "View Source" -msgstr "Ver fonte" - -#: ../js/ui/lookingGlass.js:626 -msgid "Web Page" -msgstr "Página Web" - -#: ../js/ui/overview.js:112 -msgid "Undo" -msgstr "Desfazer" - -#. TODO - _quit() doesn't really work on apps in state STARTING yet -#: ../js/ui/panel.js:470 -#, c-format -msgid "Quit %s" -msgstr "Sair de %s" - -#: ../js/ui/panel.js:495 -msgid "Preferences" -msgstr "Preferências" +#: ../js/ui/dateMenu.js:111 +msgid "Open Calendar" +msgstr "Abrir calendário" #. Translators: This is the time format with date used #. in 24-hour mode. -#: ../js/ui/panel.js:581 +#: ../js/ui/dateMenu.js:164 msgid "%a %b %e, %R:%S" msgstr "%a %b %e, %R:%S" -#: ../js/ui/panel.js:582 +#: ../js/ui/dateMenu.js:165 msgid "%a %b %e, %R" msgstr "%a %b %e, %R" #. Translators: This is the time format without date used #. in 24-hour mode. -#: ../js/ui/panel.js:586 +#: ../js/ui/dateMenu.js:169 msgid "%a %R:%S" msgstr "%a %R:%S" -#: ../js/ui/panel.js:587 +#: ../js/ui/dateMenu.js:170 msgid "%a %R" msgstr "%a %R" #. Translators: This is a time format with date used #. for AM/PM. -#: ../js/ui/panel.js:594 +#: ../js/ui/dateMenu.js:177 msgid "%a %b %e, %l:%M:%S %p" msgstr "%a %e de %b, %H:%M:%S" -#: ../js/ui/panel.js:595 +#: ../js/ui/dateMenu.js:178 msgid "%a %b %e, %l:%M %p" msgstr "%a %e de %b, %H:%M" #. Translators: This is a time format without date used #. for AM/PM. -#: ../js/ui/panel.js:599 +#: ../js/ui/dateMenu.js:182 msgid "%a %l:%M:%S %p" msgstr "%a %H:%M:%S" -#: ../js/ui/panel.js:600 +#: ../js/ui/dateMenu.js:183 msgid "%a %l:%M %p" msgstr "%a %H:%M" +#. Translators: This is the date format to use when the calendar popup is +#. * shown - it is shown just below the time in the shell (e.g. "Tue 9:29 AM"). +#. +#: ../js/ui/dateMenu.js:194 +msgid "%A %B %e, %Y" +msgstr "%A %B %e, %Y" + +#: ../js/ui/docDisplay.js:19 +msgid "RECENT ITEMS" +msgstr "DOCUMENTOS RECENTES" + +#: ../js/ui/endSessionDialog.js:63 +#, c-format +msgid "Log Out %s" +msgstr "Encerrar sessão %s" + +#: ../js/ui/endSessionDialog.js:64 ../js/ui/endSessionDialog.js:70 +msgid "Log Out" +msgstr "Encerrar sessão" + +#: ../js/ui/endSessionDialog.js:65 +msgid "Click Log Out to quit these applications and log out of the system." +msgstr "" +"Clique em Encerrar sessão para finalizar estes aplicativos e sair " +"do sistema." + +#: ../js/ui/endSessionDialog.js:66 +#, c-format +msgid "%s will be logged out automatically in %d seconds." +msgstr "%s encerrará a sessão automaticamente em %d segundos." + +#: ../js/ui/endSessionDialog.js:67 +#, c-format +msgid "You will be logged out automatically in %d seconds." +msgstr "Sua sessão será encerrada automaticamente em %d segundos." + +#: ../js/ui/endSessionDialog.js:68 +msgid "Logging out of the system." +msgstr "Encerrando sessão do sistema." + +#: ../js/ui/endSessionDialog.js:75 ../js/ui/endSessionDialog.js:82 +msgid "Power Off" +msgstr "Desligar" + +#: ../js/ui/endSessionDialog.js:76 +msgid "Click Power Off to quit these applications and power off the system." +msgstr "Clique em Desligar para fechar os aplicativos e desligar o sistema." + +#: ../js/ui/endSessionDialog.js:77 +#, c-format +msgid "The system will power off automatically in %d seconds." +msgstr "O sistema será desligado automaticamente em %d segundos." + +#: ../js/ui/endSessionDialog.js:78 +msgid "Powering off the system." +msgstr "Desligando o sistema." + +#: ../js/ui/endSessionDialog.js:80 ../js/ui/endSessionDialog.js:88 +#: ../js/ui/endSessionDialog.js:93 +msgid "Restart" +msgstr "Reiniciar" + +#: ../js/ui/endSessionDialog.js:89 +msgid "Click Restart to quit these applications and restart the system." +msgstr "Clique em Reiniciar para fechar os aplicativos e reiniciar o sistema." + +#: ../js/ui/endSessionDialog.js:90 +#, c-format +msgid "The system will restart automatically in %d seconds." +msgstr "O sistema será reiniciado automaticamente em %d segundos." + +#: ../js/ui/endSessionDialog.js:91 +msgid "Restarting the system." +msgstr "Reiniciando o sistema." + +#: ../js/ui/endSessionDialog.js:415 ../js/ui/polkitAuthenticationAgent.js:172 +#: ../js/ui/status/bluetooth.js:466 +msgid "Cancel" +msgstr "Cancelar" + +#: ../js/ui/lookingGlass.js:588 +msgid "No extensions installed" +msgstr "Nenhuma extensão instalada" + +#: ../js/ui/lookingGlass.js:625 +msgid "Enabled" +msgstr "Habilitado" + +#. translators: +#. * The device has been disabled +#: ../js/ui/lookingGlass.js:627 ../src/gvc/gvc-mixer-control.c:1091 +msgid "Disabled" +msgstr "Desabilitado" + +#: ../js/ui/lookingGlass.js:629 +msgid "Error" +msgstr "Erro" + +#: ../js/ui/lookingGlass.js:631 +msgid "Out of date" +msgstr "Expirado" + +#: ../js/ui/lookingGlass.js:656 +msgid "View Source" +msgstr "Ver fonte" + +#: ../js/ui/lookingGlass.js:662 +msgid "Web Page" +msgstr "Página Web" + +#: ../js/ui/messageTray.js:987 +msgid "Open" +msgstr "Abrir" + +#: ../js/ui/messageTray.js:2145 +msgid "System Information" +msgstr "Informação do sistema" + +#: ../js/ui/overview.js:91 +msgid "Undo" +msgstr "Desfazer" + +#: ../js/ui/overview.js:186 +msgid "Windows" +msgstr "Janelas" + +#: ../js/ui/overview.js:189 +msgid "Applications" +msgstr "Aplicativos" + +#. Translators: this is the name of the dock/favorites area on +#. the left of the overview +#: ../js/ui/overview.js:205 +msgid "Dash" +msgstr "Dash" + +#. TODO - _quit() doesn't really work on apps in state STARTING yet +#: ../js/ui/panel.js:515 +#, c-format +msgid "Quit %s" +msgstr "Sair de %s" + #. Button on the left side of the panel. #. Translators: If there is no suitable word for "Activities" in your language, you can use the word for "Overview". -#: ../js/ui/panel.js:745 +#: ../js/ui/panel.js:878 msgid "Activities" msgstr "Atividades" -#: ../js/ui/placeDisplay.js:111 +#: ../js/ui/panel.js:979 +msgid "Top Bar" +msgstr "Barra superior" + +#: ../js/ui/placeDisplay.js:122 #, c-format msgid "Failed to unmount '%s'" msgstr "Erro ao desmontar \"%s\"" -#: ../js/ui/placeDisplay.js:114 +#: ../js/ui/placeDisplay.js:125 msgid "Retry" msgstr "Tentar novamente" -#: ../js/ui/placeDisplay.js:159 +#: ../js/ui/placeDisplay.js:165 msgid "Connect to..." msgstr "Conectar ao..." -#: ../js/ui/placeDisplay.js:558 +#: ../js/ui/placeDisplay.js:380 msgid "PLACES & DEVICES" msgstr "LOCAIS & DISPOSITIVOS" +#: ../js/ui/polkitAuthenticationAgent.js:74 +#| msgid "authentication required" +msgid "Authentication Required" +msgstr "Autenticação necessária" + +#: ../js/ui/polkitAuthenticationAgent.js:108 +msgid "Administrator" +msgstr "Administrador" + +#: ../js/ui/polkitAuthenticationAgent.js:176 +#| msgid "authentication required" +msgid "Authenticate" +msgstr "Autenticação" + +#: ../js/ui/polkitAuthenticationAgent.js:260 +msgid "Sorry, that didn't work. Please try again." +msgstr "Desculpe, isto não funcionou. Por favor, tente novamente." + +#: ../js/ui/polkitAuthenticationAgent.js:272 +msgid "Password:" +msgstr "Senha:" + #. Translators: this MUST be either "toggle-switch-us" #. (for toggle switches containing the English words #. "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:33 +#: ../js/ui/popupMenu.js:679 msgid "toggle-switch-us" msgstr "toggle-switch-us" -#: ../js/ui/runDialog.js:233 +#: ../js/ui/runDialog.js:205 msgid "Please enter a command:" msgstr "Por favor digite um comando:" -#: ../js/ui/runDialog.js:378 -#, c-format -msgid "Execution of '%s' failed:" -msgstr "A execução de \"%s\" falhou:" +#: ../js/ui/searchDisplay.js:310 +msgid "Searching..." +msgstr "Pesquisando..." -#: ../js/ui/statusMenu.js:101 +#: ../js/ui/searchDisplay.js:324 +msgid "No matching results." +msgstr "Nenhum resultado encontrado." + +#: ../js/ui/statusMenu.js:161 ../js/ui/statusMenu.js:163 +#: ../js/ui/statusMenu.js:228 +msgid "Power Off..." +msgstr "Desligar..." + +#: ../js/ui/statusMenu.js:163 ../js/ui/statusMenu.js:227 +msgid "Suspend" +msgstr "Suspender" + +#: ../js/ui/statusMenu.js:184 msgid "Available" msgstr "Disponível" -#: ../js/ui/statusMenu.js:106 +#: ../js/ui/statusMenu.js:189 msgid "Busy" msgstr "Ocupado" -#: ../js/ui/statusMenu.js:114 +#: ../js/ui/statusMenu.js:197 msgid "My Account" msgstr "Minha conta" -#: ../js/ui/statusMenu.js:118 +#: ../js/ui/statusMenu.js:201 msgid "System Settings" msgstr "Configurações do sistema" -#: ../js/ui/statusMenu.js:125 +#: ../js/ui/statusMenu.js:208 msgid "Lock Screen" msgstr "Bloquear a tela" -#: ../js/ui/statusMenu.js:129 +#: ../js/ui/statusMenu.js:213 msgid "Switch User" msgstr "Alternar usuário" -#: ../js/ui/statusMenu.js:134 +#: ../js/ui/statusMenu.js:218 msgid "Log Out..." msgstr "Encerrar sessão..." -#: ../js/ui/statusMenu.js:141 -msgid "Suspend..." -msgstr "Suspender..." - -#: ../js/ui/statusMenu.js:145 -msgid "Shut Down..." -msgstr "Desligar..." - -#: ../js/ui/status/accessibility.js:82 +#: ../js/ui/status/accessibility.js:62 msgid "Zoom" msgstr "Ampliador" -#: ../js/ui/status/accessibility.js:88 -msgid "Screen Reader" -msgstr "Leitor de tela" - -#: ../js/ui/status/accessibility.js:91 -msgid "Screen Keyboard" -msgstr "Teclado na tela" - -#: ../js/ui/status/accessibility.js:94 +#. let screenReader = this._buildItem(_("Screen Reader"), APPLICATIONS_SCHEMA, +#. 'screen-reader-enabled'); +#. this.menu.addMenuItem(screenReader); +#. let screenKeyboard = this._buildItem(_("Screen Keyboard"), APPLICATIONS_SCHEMA, +#. 'screen-keyboard-enabled'); +#. this.menu.addMenuItem(screenKeyboard); +#: ../js/ui/status/accessibility.js:77 msgid "Visual Alerts" msgstr "Alertas visuais" -#: ../js/ui/status/accessibility.js:97 +#: ../js/ui/status/accessibility.js:80 msgid "Sticky Keys" msgstr "Teclas de aderência" -#: ../js/ui/status/accessibility.js:100 +#: ../js/ui/status/accessibility.js:83 msgid "Slow Keys" msgstr "Teclas lentas" -#: ../js/ui/status/accessibility.js:103 +#: ../js/ui/status/accessibility.js:86 msgid "Bounce Keys" msgstr "Teclas de repercussão" -#: ../js/ui/status/accessibility.js:106 +#: ../js/ui/status/accessibility.js:89 msgid "Mouse Keys" msgstr "Teclas do mouse" -#: ../js/ui/status/accessibility.js:110 +#: ../js/ui/status/accessibility.js:93 msgid "Universal Access Settings" msgstr "Configurações de acesso universal" -#: ../js/ui/status/accessibility.js:163 +#: ../js/ui/status/accessibility.js:146 msgid "High Contrast" msgstr "Alto contraste" -#: ../js/ui/status/accessibility.js:205 +#: ../js/ui/status/accessibility.js:183 msgid "Large Text" msgstr "Texto grande" -#: ../js/ui/status/power.js:87 -msgid "What's using power..." -msgstr "Onde a energia está sendo gasta..." +#: ../js/ui/status/bluetooth.js:42 ../js/ui/status/bluetooth.js:237 +#: ../js/ui/status/bluetooth.js:333 ../js/ui/status/bluetooth.js:367 +#: ../js/ui/status/bluetooth.js:407 ../js/ui/status/bluetooth.js:440 +msgid "Bluetooth" +msgstr "Bluetooth" -#: ../js/ui/status/power.js:90 +#: ../js/ui/status/bluetooth.js:55 +msgid "Visibility" +msgstr "Visibilidade" + +#: ../js/ui/status/bluetooth.js:69 +msgid "Send Files to Device..." +msgstr "Enviar arquivos para o dispositivo..." + +#: ../js/ui/status/bluetooth.js:70 +msgid "Setup a New Device..." +msgstr "Configurar um novo dispositivo..." + +#: ../js/ui/status/bluetooth.js:95 +msgid "Bluetooth Settings" +msgstr "Configurações de Bluetooth" + +#: ../js/ui/status/bluetooth.js:188 +msgid "Connection" +msgstr "Conexão" + +#: ../js/ui/status/bluetooth.js:224 +msgid "Send Files..." +msgstr "Enviar arquivos..." + +#: ../js/ui/status/bluetooth.js:229 +msgid "Browse Files..." +msgstr "Explorar arquivos..." + +#: ../js/ui/status/bluetooth.js:238 +msgid "Error browsing device" +msgstr "Erro ao navegar no dispositivo" + +#: ../js/ui/status/bluetooth.js:239 +#, c-format +msgid "The requested device cannot be browsed, error is '%s'" +msgstr "O dispositivo requerido não pode ser explorado, o erro é \"%s\"" + +#: ../js/ui/status/bluetooth.js:247 +msgid "Keyboard Settings" +msgstr "Configurações de teclado" + +#: ../js/ui/status/bluetooth.js:252 +msgid "Mouse Settings" +msgstr "Configurações do mouse" + +#: ../js/ui/status/bluetooth.js:259 ../js/ui/status/volume.js:66 +msgid "Sound Settings" +msgstr "Configurações de som" + +#: ../js/ui/status/bluetooth.js:368 +#, c-format +msgid "Authorization request from %s" +msgstr "Autorização requerida de %s" + +#: ../js/ui/status/bluetooth.js:374 +#, 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:376 +msgid "Always grant access" +msgstr "Sempre permitir acesso" + +#: ../js/ui/status/bluetooth.js:377 +msgid "Grant this time only" +msgstr "Permitir apenas desta vez" + +#: ../js/ui/status/bluetooth.js:378 +msgid "Reject" +msgstr "Rejeitar" + +#: ../js/ui/status/bluetooth.js:408 +#, c-format +msgid "Pairing confirmation for %s" +msgstr "Confirmação de emparelhamento para %s" + +#: ../js/ui/status/bluetooth.js:414 ../js/ui/status/bluetooth.js:448 +#, 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:415 +#, c-format +msgid "Please confirm whether the PIN '%s' matches the one on the device." +msgstr "Por favor confirme se o PIN \"%s\"' é o mesmo do dispositivo." + +#: ../js/ui/status/bluetooth.js:417 +msgid "Matches" +msgstr "Corresponde" + +#: ../js/ui/status/bluetooth.js:418 +msgid "Does not match" +msgstr "Não corresponde" + +#: ../js/ui/status/bluetooth.js:441 +#, c-format +msgid "Pairing request for %s" +msgstr "Requisição de pareamento para %s" + +#: ../js/ui/status/bluetooth.js:449 +msgid "Please enter the PIN mentioned on the device." +msgstr "Por favor, informe o PIN mencionado no dispositivo." + +#: ../js/ui/status/bluetooth.js:465 +msgid "OK" +msgstr "OK" + +#: ../js/ui/status/keyboard.js:73 +msgid "Show Keyboard Layout..." +msgstr "Exibir Layout de teclado..." + +#: ../js/ui/status/keyboard.js:76 +msgid "Localization Settings" +msgstr "Configurações de localização" + +#: ../js/ui/status/network.js:102 ../js/ui/status/network.js:1393 +msgid "" +msgstr "" + +#. Translators: this indicates that wireless or wwan is disabled by hardware killswitch +#: ../js/ui/status/network.js:295 +msgid "disabled" +msgstr "desabilitado" + +#: ../js/ui/status/network.js:476 +msgid "connecting..." +msgstr "conectando..." + +#. Translators: this is for network connections that require some kind of key or password +#: ../js/ui/status/network.js:479 +msgid "authentication required" +msgstr "autenticação necessária" + +#. Translators: this is for wired network devices that are physically disconnected +#: ../js/ui/status/network.js:485 +msgid "cable unplugged" +msgstr "cabo desconectado" + +#. 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:489 +msgid "unavailable" +msgstr "indisponível" + +#: ../js/ui/status/network.js:491 +msgid "connection failed" +msgstr "conexão falhou" + +#. TRANSLATORS: this is the indication that a connection for another logged in user is active, +#. and we cannot access its settings (including the name) +#: ../js/ui/status/network.js:571 ../js/ui/status/network.js:1341 +msgid "Connected (private)" +msgstr "Conectado (privado)" + +#: ../js/ui/status/network.js:636 +msgid "Auto Ethernet" +msgstr "Rede cabeada - automática" + +#: ../js/ui/status/network.js:697 +msgid "Auto broadband" +msgstr "Banda larga - automática" + +#: ../js/ui/status/network.js:700 +msgid "Auto dial-up" +msgstr "Conexão discada - automática" + +#. TRANSLATORS: this the automatic wireless connection name (including the network name) +#: ../js/ui/status/network.js:843 ../js/ui/status/network.js:1353 +#, c-format +msgid "Auto %s" +msgstr "%s - automática" + +#: ../js/ui/status/network.js:845 +msgid "Auto bluetooth" +msgstr "Bluetooth automático" + +#: ../js/ui/status/network.js:1355 +msgid "Auto wireless" +msgstr "Rede sem fio automática" + +#: ../js/ui/status/network.js:1413 +msgid "More..." +msgstr "Mais..." + +#: ../js/ui/status/network.js:1436 +msgid "Enable networking" +msgstr "Habilitar rede" + +#: ../js/ui/status/network.js:1448 +msgid "Wired" +msgstr "Cabeada" + +#: ../js/ui/status/network.js:1459 +msgid "Wireless" +msgstr "Sem fio" + +#: ../js/ui/status/network.js:1469 +msgid "Mobile broadband" +msgstr "Banda larga móvel" + +#: ../js/ui/status/network.js:1479 +msgid "VPN Connections" +msgstr "Conexões VPN" + +#: ../js/ui/status/network.js:1488 +msgid "Network Settings" +msgstr "Configurações de rede" + +#: ../js/ui/status/network.js:1783 +#, c-format +msgid "You're now connected to mobile broadband connection '%s'" +msgstr "Você está agora conectado à rede banda larga móvel \"%s\"" + +#: ../js/ui/status/network.js:1787 +#, c-format +msgid "You're now connected to wireless network '%s'" +msgstr "Você está agora conectado à rede sem fios \"%s\"" + +#: ../js/ui/status/network.js:1791 +#, c-format +msgid "You're now connected to wired network '%s'" +msgstr "Você está agora conectado à rede cabeada \"%s\"" + +#: ../js/ui/status/network.js:1795 +#, c-format +msgid "You're now connected to VPN network '%s'" +msgstr "Você está agora conectado à rede VPN \"%s\"" + +#: ../js/ui/status/network.js:1800 +#, c-format +msgid "You're now connected to '%s'" +msgstr "Você está agora conectado à \"%s\"" + +#: ../js/ui/status/network.js:1808 +msgid "Connection established" +msgstr "Conexão estabelecida" + +#: ../js/ui/status/network.js:1930 +msgid "Networking is disabled" +msgstr "Rede está desabilitada" + +#: ../js/ui/status/network.js:2055 +msgid "Network Manager" +msgstr "Gerenciador de rede" + +#: ../js/ui/status/power.js:85 msgid "Power Settings" msgstr "Gerenciamento de energia..." -#: ../js/ui/status/power.js:117 +#. 0 is reported when UPower does not have enough data +#. to estimate battery life +#: ../js/ui/status/power.js:111 +msgid "Estimating..." +msgstr "Estimando..." + +#: ../js/ui/status/power.js:118 #, c-format msgid "%d hour remaining" msgid_plural "%d hours remaining" @@ -629,118 +986,139 @@ msgstr[0] "%d hora restante" msgstr[1] "%d horas restantes" #. TRANSLATORS: this is a time string, as in "%d hours %d minutes remaining" -#: ../js/ui/status/power.js:120 +#: ../js/ui/status/power.js:121 #, c-format msgid "%d %s %d %s remaining" msgstr "%d %s e %d %s restantes" -#: ../js/ui/status/power.js:122 +#: ../js/ui/status/power.js:123 msgid "hour" msgid_plural "hours" msgstr[0] "hora" msgstr[1] "horas" -#: ../js/ui/status/power.js:122 +#: ../js/ui/status/power.js:123 msgid "minute" msgid_plural "minutes" msgstr[0] "minuto" msgstr[1] "minutos" -#: ../js/ui/status/power.js:125 +#: ../js/ui/status/power.js:126 #, c-format msgid "%d minute remaining" msgid_plural "%d minutes remaining" msgstr[0] "%d minuto restante" msgstr[1] "%d minutos restantes" -#: ../js/ui/status/power.js:244 +#: ../js/ui/status/power.js:228 msgid "AC adapter" msgstr "Tomada" -#: ../js/ui/status/power.js:246 +#: ../js/ui/status/power.js:230 msgid "Laptop battery" msgstr "Bateria do laptop" -#: ../js/ui/status/power.js:248 +#: ../js/ui/status/power.js:232 msgid "UPS" -msgstr "UPS" +msgstr "No-break" -#: ../js/ui/status/power.js:250 +#: ../js/ui/status/power.js:234 msgid "Monitor" msgstr "Monitor" -#: ../js/ui/status/power.js:252 +#: ../js/ui/status/power.js:236 msgid "Mouse" msgstr "Mouse" -#: ../js/ui/status/power.js:254 +#: ../js/ui/status/power.js:238 msgid "Keyboard" msgstr "Teclado" -#: ../js/ui/status/power.js:256 +#: ../js/ui/status/power.js:240 msgid "PDA" msgstr "PDA" -#: ../js/ui/status/power.js:258 +#: ../js/ui/status/power.js:242 msgid "Cell phone" msgstr "Telefone celular" -#: ../js/ui/status/power.js:260 +#: ../js/ui/status/power.js:244 msgid "Media player" -msgstr "Reprodutor de música" +msgstr "Reprodutor de mídia" -#: ../js/ui/status/power.js:262 +#: ../js/ui/status/power.js:246 msgid "Tablet" msgstr "Tablet" -#: ../js/ui/status/power.js:264 +#: ../js/ui/status/power.js:248 msgid "Computer" msgstr "Computador" -#: ../js/ui/status/power.js:266 ../src/shell-app-system.c:1012 +#: ../js/ui/status/power.js:250 ../src/shell-app-system.c:1088 msgid "Unknown" msgstr "Desconhecido" -#: ../js/ui/status/volume.js:41 +#: ../js/ui/status/volume.js:45 msgid "Volume" msgstr "Volume" -#: ../js/ui/status/volume.js:54 +#: ../js/ui/status/volume.js:58 msgid "Microphone" msgstr "Microfone" -#: ../js/ui/status/volume.js:62 -msgid "Sound Settings" -msgstr "Configurações de som" +#: ../js/ui/telepathyClient.js:332 +#, c-format +msgid "%s is online." +msgstr "%s está conectado." -#: ../js/ui/viewSelector.js:26 -msgid "Search your computer" -msgstr "Pesquise no seu computador" +#: ../js/ui/telepathyClient.js:337 +#, c-format +msgid "%s is offline." +msgstr "%s está desconectado." -#: ../js/ui/windowAttentionHandler.js:43 +#: ../js/ui/telepathyClient.js:340 +#, c-format +msgid "%s is away." +msgstr "%s está ausente." + +#: ../js/ui/telepathyClient.js:343 +#, c-format +msgid "%s is busy." +msgstr "%s está ocupado." + +#. Translators: this is a time format string followed by a date. +#. If applicable, replace %X with a strftime format valid for your +#. locale, without seconds. +#: ../js/ui/telepathyClient.js:474 +#, no-c-format +msgid "Sent at %X on %A" +msgstr "Enviado para %X em %A" + +#. Translators: this is the text displayed +#. in the search entry when no search is +#. active; it should not exceed ~30 +#. characters. +#: ../js/ui/viewSelector.js:122 +msgid "Type to search..." +msgstr "Digite para buscar..." + +#: ../js/ui/viewSelector.js:142 ../src/shell-util.c:250 +msgid "Search" +msgstr "Pesquisar" + +#: ../js/ui/windowAttentionHandler.js:42 #, c-format msgid "%s has finished starting" msgstr "%s terminou sua inicialização" -#: ../js/ui/windowAttentionHandler.js:45 +#: ../js/ui/windowAttentionHandler.js:44 #, c-format msgid "'%s' is ready" msgstr "\"%s\" está pronto" -#: ../js/ui/workspacesView.js:244 -msgid "" -"Can't add a new workspace because maximum workspaces limit has been reached." -msgstr "" -"Não é possível adicionar um novo espaço de trabalho porque foi atingido o " -"limite." - -#: ../js/ui/workspacesView.js:260 -msgid "Can't remove the first workspace." -msgstr "Não é possível remover o primeiro espaço de trabalho." - #. translators: #. * The number of sound outputs on a particular device -#: ../src/gvc/gvc-mixer-control.c:1094 +#: ../src/gvc/gvc-mixer-control.c:1098 #, c-format msgid "%u Output" msgid_plural "%u Outputs" @@ -749,49 +1127,70 @@ msgstr[1] "%u saídas" #. translators: #. * The number of sound inputs on a particular device -#: ../src/gvc/gvc-mixer-control.c:1104 +#: ../src/gvc/gvc-mixer-control.c:1108 #, c-format msgid "%u Input" msgid_plural "%u Inputs" msgstr[0] "%u entrada" msgstr[1] "%u entradas" -#: ../src/gvc/gvc-mixer-control.c:1402 +#: ../src/gvc/gvc-mixer-control.c:1406 msgid "System Sounds" msgstr "Sons do sistema" -#: ../src/shell-global.c:1163 +#: ../src/main.c:446 +msgid "Print version" +msgstr "Versão de impressão" + +#: ../src/shell-app.c:454 +#, c-format +msgid "Failed to launch '%s'" +msgstr "Erro ao lançar \"%s\"" + +#: ../src/shell-global.c:1395 msgid "Less than a minute ago" msgstr "Há menos de um minuto" -#: ../src/shell-global.c:1167 +#: ../src/shell-global.c:1399 #, c-format msgid "%d minute ago" msgid_plural "%d minutes ago" msgstr[0] "Há %d minuto" msgstr[1] "Há %d minutos" -#: ../src/shell-global.c:1172 +#: ../src/shell-global.c:1404 #, c-format msgid "%d hour ago" msgid_plural "%d hours ago" msgstr[0] "Há %d hora" msgstr[1] "Há %d horas" -#: ../src/shell-global.c:1177 +#: ../src/shell-global.c:1409 #, c-format msgid "%d day ago" msgid_plural "%d days ago" msgstr[0] "Há %d dia" msgstr[1] "Há %d dias" -#: ../src/shell-global.c:1182 +#: ../src/shell-global.c:1414 #, c-format msgid "%d week ago" msgid_plural "%d weeks ago" msgstr[0] "Há %d semana" msgstr[1] "Há %d semanas" +#: ../src/shell-mobile-providers.c:80 +msgid "United Kingdom" +msgstr "Reino unido" + +#: ../src/shell-mobile-providers.c:526 +msgid "Default" +msgstr "Padrão" + +#: ../src/shell-polkit-authentication-agent.c:334 +msgid "Authentication dialog was dismissed by the user" +msgstr "O diálogo de autenticação foi descartado pelo usuário" + #: ../src/shell-util.c:89 msgid "Home Folder" msgstr "Pasta pessoal" @@ -802,10 +1201,6 @@ msgstr "Pasta pessoal" msgid "File System" msgstr "Sistema de arquivos" -#: ../src/shell-util.c:250 -msgid "Search" -msgstr "Pesquisar" - #. Translators: the first string is the name of a gvfs #. * method, and the second string is a path. For #. * example, "Trash: some-directory". It means that the @@ -816,78 +1211,3 @@ msgstr "Pesquisar" msgid "%1$s: %2$s" msgstr "%1$s: %2$s" -#~ msgid "Overview workspace view mode" -#~ msgstr "Resumo do modo de visão de áreas de trabalho" - -#~ msgid "" -#~ "The selected workspace view mode in the overview. Supported values are " -#~ "\"single\" and \"grid\"." -#~ msgstr "" -#~ "O o modo de visão do espaço de trabalho na visão geral. Valores aceitos " -#~ "são: \"single\" e \"grid\"." - -#~ msgid "Drag here to add favorites" -#~ msgstr "Arraste até aqui para adicionar aos favoritos" - -#~ msgid "Find" -#~ msgstr "Localizar" - -#~ msgid "Searching..." -#~ msgstr "Pesquisando..." - -#~ msgid "No matching results." -#~ msgstr "Nenhum resultado encontrado." - -#~ msgid "Invisible" -#~ msgstr "Invisível" - -#~ msgid "ON" -#~ msgstr "⚪" - -#~ msgid "OFF" -#~ msgstr "⚫" - -#~ msgid "Account Information..." -#~ msgstr "Informação da conta..." - -#~ msgid "Sidebar" -#~ msgstr "Barra lateral" - -#~ msgid "%H:%M" -#~ msgstr "%H:%M" - -#~ msgid "Applications" -#~ msgstr "Aplicativos" - -#~ msgid "Recent Documents" -#~ msgstr "Documentos recentes" - -#~ msgid "PLACES" -#~ msgstr "LOCAIS" - -#~ msgid "SEARCH RESULTS" -#~ msgstr "RESULTADOS DA BUSCA" - -#~ msgid "Can't lock screen: %s" -#~ msgstr "Não foi possível travar a tela: %s" - -#~ msgid "Can't temporarily set screensaver to blank screen: %s" -#~ msgstr "Não foi possível definir a proteção de tela para uma tela vazia: %s" - -#~ msgid "Can't logout: %s" -#~ msgstr "Não foi possível encerrar a sessão: %s" - -#~ msgid "Browse" -#~ msgstr "Navegar" - -#~ msgid "(see all)" -#~ msgstr "(veja todos)" - -#~ msgid "Find apps or documents" -#~ msgstr "Localizar aplicativos ou documentos" - -#~ msgid "Manager" -#~ msgstr "Gerenciador" - -#~ msgid "The user manager object this user is controlled by." -#~ msgstr "O objeto gerenciador de usuários que controla este usuário." From aa0137e7cee1bff614de16f5c12c5054497d1e66 Mon Sep 17 00:00:00 2001 From: Luca Ferretti Date: Wed, 23 Mar 2011 16:13:25 +0100 Subject: [PATCH 198/203] Use /org/gnome as starting path for schemas --- data/org.gnome.shell.gschema.xml.in | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/data/org.gnome.shell.gschema.xml.in b/data/org.gnome.shell.gschema.xml.in index 672642590..698ebc1ea 100644 --- a/data/org.gnome.shell.gschema.xml.in +++ b/data/org.gnome.shell.gschema.xml.in @@ -1,5 +1,5 @@ - true @@ -54,7 +54,7 @@ - false @@ -65,7 +65,7 @@ - false @@ -83,7 +83,7 @@ - 15 From 9b51ff7241eccc95f93c404a6b6b2abec3a37db2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jorge=20Gonz=C3=A1lez?= Date: Fri, 25 Mar 2011 19:11:59 +0100 Subject: [PATCH 199/203] Updated Spanish translation --- po/es.po | 98 ++++++++++++++++++++++++++++++++++---------------------- 1 file changed, 59 insertions(+), 39 deletions(-) diff --git a/po/es.po b/po/es.po index aa5f0ebaf..cbeee0c21 100644 --- a/po/es.po +++ b/po/es.po @@ -1,18 +1,18 @@ # Spanish translation of gnome-shell. # Copyright (C) 2009 gnome-shell's COPYRIGHT HOLDER # This file is distributed under the same license as the gnome-shell package. -# Jorge González , 2009, 2010, 2011. # Benjamín Valero Espinosa , 2011. # Daniel Mustieles , 2010, 2011. +# Jorge González , 2009, 2010, 2011. # msgid "" msgstr "" "Project-Id-Version: gnome-shell.master\n" "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug.cgi?product=gnome-" "shell&keywords=I18N+L10N&component=general\n" -"POT-Creation-Date: 2011-03-22 19:58+0000\n" -"PO-Revision-Date: 2011-03-23 09:57+0100\n" -"Last-Translator: Daniel Mustieles \n" +"POT-Creation-Date: 2011-03-24 08:03+0000\n" +"PO-Revision-Date: 2011-03-25 19:07+0100\n" +"Last-Translator: Jorge González \n" "Language-Team: Español \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -96,16 +96,16 @@ msgid "" "at the optimal thread count on the system." msgstr "" "Establece la tubería GStreamer usada para codificar grabaciones. Sigue la " -"sintaxis usada para gst-launch. La tubería debería tener un sumidero («sink») " -"de ensamblaje/sesensamblaje donde el vídeo que se está grabando se graba. " -"Generalmente tendrá un origen de ensamblado/desensamblado; la salida de ese " -"punto se escibirá en el archivo de salida. No obstante la tubería también " -"puede tomar parte en su propia salida; esto se puede usar para enviar la " -"salida a un servidor «icecast» a través de shout2send o similar. Cuando no " -"está establecido o lo está a un valor vacío, se usará la tubería " -"predeterminada. Actualmente es «videorate ! vp8enc quality=10 speed=2 threads=" -"%T ! queue ! webmmux» y greba en WEBM usando el códec VP8. Se usa %T como " -"suposición para el número de hilos óptimos en el sistema." +"sintaxis usada para gst-launch. La tubería debería tener un sumidero " +"(«sink») de ensamblaje/sesensamblaje donde el vídeo que se está grabando se " +"graba. Generalmente tendrá un origen de ensamblado/desensamblado; la salida " +"de ese punto se escibirá en el archivo de salida. No obstante la tubería " +"también puede tomar parte en su propia salida; esto se puede usar para " +"enviar la salida a un servidor «icecast» a través de shout2send o similar. " +"Cuando no está establecido o lo está a un valor vacío, se usará la tubería " +"predeterminada. Actualmente es «videorate ! vp8enc quality=10 speed=2 " +"threads=%T ! queue ! webmmux» y greba en WEBM usando el códec VP8. Se usa %T " +"como suposición para el número de hilos óptimos en el sistema." #: ../data/org.gnome.shell.gschema.xml.in.h:14 msgid "Show date in clock" @@ -370,7 +370,7 @@ msgstr "Esta semana" msgid "Next week" msgstr "La semana que viene" -#: ../js/ui/dash.js:174 ../js/ui/messageTray.js:945 +#: ../js/ui/dash.js:174 ../js/ui/messageTray.js:994 msgid "Remove" msgstr "Quitar" @@ -463,23 +463,19 @@ msgid "Logging out of the system." msgstr "Cerrando la sesión." #: ../js/ui/endSessionDialog.js:75 ../js/ui/endSessionDialog.js:82 -#| msgid "Power Off..." msgid "Power Off" msgstr "Apagar" #: ../js/ui/endSessionDialog.js:76 -#| msgid "Click Log Out to quit these applications and log out of the system." msgid "Click Power Off to quit these applications and power off the system." msgstr "Pulse «Apagar» para salir de esas aplicaciones y apagar el sistema." #: ../js/ui/endSessionDialog.js:77 #, c-format -#| msgid "The system will restart automatically in %d seconds." msgid "The system will power off automatically in %d seconds." msgstr "El sistema se apagará automáticamente en %d segundos." #: ../js/ui/endSessionDialog.js:78 -#| msgid "Logging out of the system." msgid "Powering off the system." msgstr "Apagando el sistema." @@ -502,7 +498,8 @@ msgstr "El sistema se reiniciará automáticamente en %d segundos." msgid "Restarting the system." msgstr "Reiniciando el sistema." -#: ../js/ui/endSessionDialog.js:415 ../js/ui/status/bluetooth.js:466 +#: ../js/ui/endSessionDialog.js:415 ../js/ui/polkitAuthenticationAgent.js:172 +#: ../js/ui/status/bluetooth.js:466 msgid "Cancel" msgstr "Cancelar" @@ -536,29 +533,29 @@ msgstr "Ver fuente" msgid "Web Page" msgstr "Página web" -#: ../js/ui/messageTray.js:938 +#: ../js/ui/messageTray.js:987 msgid "Open" msgstr "Abrir" -#: ../js/ui/messageTray.js:2018 +#: ../js/ui/messageTray.js:2145 msgid "System Information" msgstr "Información del sistema" -#: ../js/ui/overview.js:89 +#: ../js/ui/overview.js:91 msgid "Undo" msgstr "Deshacer" -#: ../js/ui/overview.js:184 +#: ../js/ui/overview.js:186 msgid "Windows" msgstr "Ventanas" -#: ../js/ui/overview.js:187 +#: ../js/ui/overview.js:189 msgid "Applications" msgstr "Aplicaciones" #. Translators: this is the name of the dock/favorites area on #. the left of the overview -#: ../js/ui/overview.js:203 +#: ../js/ui/overview.js:205 msgid "Dash" msgstr "Plano" @@ -595,6 +592,28 @@ msgstr "Conectar a…" msgid "PLACES & DEVICES" msgstr "LUGARES Y DISPOSITIVOS" +#: ../js/ui/polkitAuthenticationAgent.js:74 +#| msgid "authentication required" +msgid "Authentication Required" +msgstr "Se necesita autenticación" + +#: ../js/ui/polkitAuthenticationAgent.js:108 +msgid "Administrator" +msgstr "Administrador" + +#: ../js/ui/polkitAuthenticationAgent.js:176 +#| msgid "authentication required" +msgid "Authenticate" +msgstr "Autenticar" + +#: ../js/ui/polkitAuthenticationAgent.js:260 +msgid "Sorry, that didn't work. Please try again." +msgstr "Inténtelo de nuevo," + +#: ../js/ui/polkitAuthenticationAgent.js:272 +msgid "Password:" +msgstr "Contraseña:" + #. Translators: this MUST be either "toggle-switch-us" #. (for toggle switches containing the English words #. "ON" and "OFF") or "toggle-switch-intl" (for toggle @@ -1115,7 +1134,7 @@ msgstr[1] "%u entradas" msgid "System Sounds" msgstr "Sonidos del sistema" -#: ../src/main.c:438 +#: ../src/main.c:446 msgid "Print version" msgstr "Imprimir versión" @@ -1392,8 +1411,8 @@ msgstr "%1$s: %2$s" #~ "If true and format is either \"12-hour\" or \"24-hour\", display seconds " #~ "in time." #~ msgstr "" -#~ "Si es cierta y el formato es «12-horas» o «24-horas», muestra los segundos " -#~ "en la hora." +#~ "Si es cierta y el formato es «12-horas» o «24-horas», muestra los " +#~ "segundos en la hora." #~ msgid "" #~ "This key specifies the format used by the panel clock when the format key " @@ -1410,18 +1429,19 @@ msgstr "%1$s: %2$s" #~ msgid "" #~ "This key specifies the hour format used by the panel clock. Possible " #~ "values are \"12-hour\", \"24-hour\", \"unix\" and \"custom\". If set to " -#~ "\"unix\", the clock will display time in seconds since Epoch, i.e. 1970-" -#~ "01-01. If set to \"custom\", the clock will display time according to the " -#~ "format specified in the custom_format key. Note that if set to either " -#~ "\"unix\" or \"custom\", the show_date and show_seconds keys are ignored." +#~ "\"unix\", the clock will display time in seconds since Epoch, i.e. " +#~ "1970-01-01. If set to \"custom\", the clock will display time according " +#~ "to the format specified in the custom_format key. Note that if set to " +#~ "either \"unix\" or \"custom\", the show_date and show_seconds keys are " +#~ "ignored." #~ msgstr "" #~ "Esta clave especifica el formato de la hora especificado por el reloj del " -#~ "panel. Los valores posibles son «12-hour» (12 horas), «24-hour» (24 horas), " -#~ "«unix» y «custom» (personalizado).Si se establece a «unix» el reloj mostrará " -#~ "la hora en segundos desde la época (1 de enero de 1970). Si se establece " -#~ "a «custom» el reloj mostrará la hora según el formato especificado en la " -#~ "clave «custom_format». Note que si se establece a «unix» o «custom» se " -#~ "ignoran las claves «show_date» y «show_seconds»." +#~ "panel. Los valores posibles son «12-hour» (12 horas), «24-hour» (24 " +#~ "horas), «unix» y «custom» (personalizado).Si se establece a «unix» el " +#~ "reloj mostrará la hora en segundos desde la época (1 de enero de 1970). " +#~ "Si se establece a «custom» el reloj mostrará la hora según el formato " +#~ "especificado en la clave «custom_format». Note que si se establece a " +#~ "«unix» o «custom» se ignoran las claves «show_date» y «show_seconds»." #~ msgid "Clock Format" #~ msgstr "Formato del reloj" From da852a94bd336ffbe924adb192625cc69fe17441 Mon Sep 17 00:00:00 2001 From: Giovanni Campagna Date: Fri, 25 Mar 2011 17:10:38 +0100 Subject: [PATCH 200/203] NetworkStatus: show "firmware missing" when firmware is not available Since device state Unavailable is generic and has substates, instead of using an hack for carrier, introduce some code that checks both for carrier and firmware-missing when in that device state, and updates the UI accordingly. --- js/ui/status/network.js | 46 +++++++++++++++++++++++++++++++++-------- 1 file changed, 37 insertions(+), 9 deletions(-) diff --git a/js/ui/status/network.js b/js/ui/status/network.js index e57349a55..0bb38004f 100644 --- a/js/ui/status/network.js +++ b/js/ui/status/network.js @@ -478,15 +478,27 @@ NMDevice.prototype = { /* Translators: this is for network connections that require some kind of key or password */ return _("authentication required"); case NetworkManager.DeviceState.UNAVAILABLE: - // we don't check if the carrier property is actually false, as that causes race - // conditions if state is changed before the new carrier value is picked by libnm-glib - if (this.device.capabilities & NetworkManager.DeviceCapabilities.CARRIER_DETECT) - /* Translators: this is for wired network devices that are physically disconnected */ - return _("cable unplugged"); - else - /* Translators: this is for a network device that cannot be activated (for example it - is disabled by rfkill, or it has no coverage */ - return _("unavailable"); + // This state is actually a compound of various states (generically unavailable, + // firmware missing, carrier not available), that are exposed by different properties + // (whose state may or may not updated when we receive state-changed). + if (!this._firmwareMissingId) + this._firmwareMissingId = this.device.connect('notify::firmware-missing', Lang.bind(this, this._substateChanged)); + if (this.device.firmware_missing) { + /* Translators: this is for devices that require some kind of firmware or kernel + module, which is missing */ + return _("firmware missing"); + } + if (this.device.capabilities & NetworkManager.DeviceCapabilities.CARRIER_DETECT) { + if (!this._carrierChangedId) + this._carrierChangedId = this.device.connect('notify::carrier', Lang.bind(this, this._substateChanged)); + if (!this.carrier) { + /* Translators: this is for wired network devices that are physically disconnected */ + return _("cable unplugged"); + } + } + /* Translators: this is for a network device that cannot be activated (for example it + is disabled by rfkill, or it has no coverage */ + return _("unavailable"); case NetworkManager.DeviceState.FAILED: return _("connection failed"); default: @@ -595,6 +607,16 @@ NMDevice.prototype = { break; } + if (this._carrierChangedId) { + // see above for why this is needed + GObject.Object.prototype.disconnect.call(this.device, this._carrierChangedId); + this._carrierChangedId = 0; + } + if (this._firmwareChangedId) { + GObject.Object.prototype.disconnect.call(this.device, this._firmwareChangedId); + this._firmwareChangedId = 0; + } + this.statusItem.setStatus(this.getStatusLabel()); this.statusItem.setToggleState(this.connected); @@ -603,6 +625,12 @@ NMDevice.prototype = { this.emit('state-changed'); }, + _substateChanged: function() { + this.statusItem.setStatus(this.getStatusLabel()); + + this.emit('state-changed'); + }, + _getDescription: function() { let dev_product = this.device.get_product(); let dev_vendor = this.device.get_vendor(); From 4ebf07c725d72512c466731d2762baab2b88190e Mon Sep 17 00:00:00 2001 From: Giovanni Campagna Date: Fri, 25 Mar 2011 17:12:38 +0100 Subject: [PATCH 201/203] NetworkStatus: hide the only connection for wired devices For wired devices (actually, ethernet devices), hide the connection list when there is only one connection (either automatic or stored). The device can be operated with the associated switch. --- js/ui/status/network.js | 18 +++++++++++++++++- 1 file changed, 17 insertions(+), 1 deletion(-) diff --git a/js/ui/status/network.js b/js/ui/status/network.js index 0bb38004f..189af8004 100644 --- a/js/ui/status/network.js +++ b/js/ui/status/network.js @@ -449,8 +449,10 @@ NMDevice.prototype = { obj.item.destroy(); this._connections.splice(pos, 1); - if (this._connections.length == 0) { + if (this._connections.length <= 1) { // We need to show the automatic connection again + // (or in the case of NMDeviceWired, we want to hide + // the only explicit connection) this._clearSection(); this._createSection(); } @@ -678,6 +680,20 @@ NMDeviceWired.prototype = { return true; }, + _createSection: function() { + NMDevice.prototype._createSection.call(this); + + // if we have only one connection (normal or automatic) + // we hide the connection list, and use the switch to control + // the device + // we can do it here because addConnection and removeConnection + // both call _createSection at some point + if (this._connections.length <= 1) + this.section.actor.hide(); + else + this.section.actor.show(); + }, + _createAutomaticConnection: function() { let connection = new NetworkManager.Connection(); connection._uuid = NetworkManager.utils_uuid_generate(); From 4577cd74976b6e42f0c04e8a82a1c0ba93eff831 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jorge=20Gonz=C3=A1lez?= Date: Fri, 25 Mar 2011 21:36:39 +0100 Subject: [PATCH 202/203] Updated Spanish translation --- po/es.po | 71 ++++++++++++++++++++++++++++++-------------------------- 1 file changed, 38 insertions(+), 33 deletions(-) diff --git a/po/es.po b/po/es.po index cbeee0c21..6d7cf643f 100644 --- a/po/es.po +++ b/po/es.po @@ -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: 2011-03-24 08:03+0000\n" -"PO-Revision-Date: 2011-03-25 19:07+0100\n" +"POT-Creation-Date: 2011-03-25 20:20+0000\n" +"PO-Revision-Date: 2011-03-25 21:35+0100\n" "Last-Translator: Jorge González \n" "Language-Team: Español \n" "MIME-Version: 1.0\n" @@ -593,7 +593,6 @@ msgid "PLACES & DEVICES" msgstr "LUGARES Y DISPOSITIVOS" #: ../js/ui/polkitAuthenticationAgent.js:74 -#| msgid "authentication required" msgid "Authentication Required" msgstr "Se necesita autenticación" @@ -602,7 +601,6 @@ msgid "Administrator" msgstr "Administrador" #: ../js/ui/polkitAuthenticationAgent.js:176 -#| msgid "authentication required" msgid "Authenticate" msgstr "Autenticar" @@ -635,7 +633,8 @@ msgstr "Buscando…" msgid "No matching results." msgstr "No se encontró ningún resultado coincidente." -#: ../js/ui/statusMenu.js:161 ../js/ui/statusMenu.js:228 +#: ../js/ui/statusMenu.js:161 ../js/ui/statusMenu.js:163 +#: ../js/ui/statusMenu.js:228 msgid "Power Off..." msgstr "Apagar…" @@ -834,7 +833,7 @@ msgstr "Mostrar la distribución del teclado…" msgid "Localization Settings" msgstr "Configuración regional" -#: ../js/ui/status/network.js:102 ../js/ui/status/network.js:1393 +#: ../js/ui/status/network.js:102 ../js/ui/status/network.js:1437 msgid "" msgstr "" @@ -843,124 +842,130 @@ msgstr "" msgid "disabled" msgstr "desactivada" -#: ../js/ui/status/network.js:476 +#: ../js/ui/status/network.js:478 msgid "connecting..." msgstr "conectando…" #. Translators: this is for network connections that require some kind of key or password -#: ../js/ui/status/network.js:479 +#: ../js/ui/status/network.js:481 msgid "authentication required" msgstr "se necesita autenticación" +#. Translators: this is for devices that require some kind of firmware or kernel +#. module, which is missing +#: ../js/ui/status/network.js:491 +msgid "firmware missing" +msgstr "falta el «firmware»" + #. Translators: this is for wired network devices that are physically disconnected -#: ../js/ui/status/network.js:485 +#: ../js/ui/status/network.js:498 msgid "cable unplugged" msgstr "cable desconectado" #. 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:489 +#: ../js/ui/status/network.js:503 msgid "unavailable" msgstr "no disponible" -#: ../js/ui/status/network.js:491 +#: ../js/ui/status/network.js:505 msgid "connection failed" msgstr "falló la conexión" #. TRANSLATORS: this is the indication that a connection for another logged in user is active, #. and we cannot access its settings (including the name) -#: ../js/ui/status/network.js:571 ../js/ui/status/network.js:1341 +#: ../js/ui/status/network.js:585 ../js/ui/status/network.js:1385 msgid "Connected (private)" msgstr "Conectada (privada)" -#: ../js/ui/status/network.js:636 +#: ../js/ui/status/network.js:666 msgid "Auto Ethernet" msgstr "Ethernet automática" -#: ../js/ui/status/network.js:697 +#: ../js/ui/status/network.js:741 msgid "Auto broadband" msgstr "Banda ancha automática" -#: ../js/ui/status/network.js:700 +#: ../js/ui/status/network.js:744 msgid "Auto dial-up" msgstr "Marcado automático" #. TRANSLATORS: this the automatic wireless connection name (including the network name) -#: ../js/ui/status/network.js:843 ../js/ui/status/network.js:1353 +#: ../js/ui/status/network.js:887 ../js/ui/status/network.js:1397 #, c-format msgid "Auto %s" msgstr "%s automática" -#: ../js/ui/status/network.js:845 +#: ../js/ui/status/network.js:889 msgid "Auto bluetooth" msgstr "Bluetooth automático" -#: ../js/ui/status/network.js:1355 +#: ../js/ui/status/network.js:1399 msgid "Auto wireless" msgstr "Inalámbrica automática" -#: ../js/ui/status/network.js:1413 +#: ../js/ui/status/network.js:1457 msgid "More..." msgstr "Más…" -#: ../js/ui/status/network.js:1436 +#: ../js/ui/status/network.js:1480 msgid "Enable networking" msgstr "Activar red" -#: ../js/ui/status/network.js:1448 +#: ../js/ui/status/network.js:1492 msgid "Wired" msgstr "Cableada" -#: ../js/ui/status/network.js:1459 +#: ../js/ui/status/network.js:1503 msgid "Wireless" msgstr "Inalámbrica" -#: ../js/ui/status/network.js:1469 +#: ../js/ui/status/network.js:1513 msgid "Mobile broadband" msgstr "Banda ancha móvil" -#: ../js/ui/status/network.js:1479 +#: ../js/ui/status/network.js:1523 msgid "VPN Connections" msgstr "Conexiones VPN" -#: ../js/ui/status/network.js:1488 +#: ../js/ui/status/network.js:1532 msgid "Network Settings" msgstr "Configuración de la red" -#: ../js/ui/status/network.js:1783 +#: ../js/ui/status/network.js:1827 #, c-format msgid "You're now connected to mobile broadband connection '%s'" msgstr "Ahora está conectado a la red de banda ancha móvil «%s»" -#: ../js/ui/status/network.js:1787 +#: ../js/ui/status/network.js:1831 #, c-format msgid "You're now connected to wireless network '%s'" msgstr "Ahora está conectado a la red inalámbrica «%s»" -#: ../js/ui/status/network.js:1791 +#: ../js/ui/status/network.js:1835 #, c-format msgid "You're now connected to wired network '%s'" msgstr "Ahora está conectado a la red cableada «%s»" -#: ../js/ui/status/network.js:1795 +#: ../js/ui/status/network.js:1839 #, c-format msgid "You're now connected to VPN network '%s'" msgstr "Ahora está conectado a la VPN «%s»" -#: ../js/ui/status/network.js:1800 +#: ../js/ui/status/network.js:1844 #, c-format msgid "You're now connected to '%s'" msgstr "Ahora está conectado a «%s»" -#: ../js/ui/status/network.js:1808 +#: ../js/ui/status/network.js:1852 msgid "Connection established" msgstr "Conexión establecida" -#: ../js/ui/status/network.js:1930 +#: ../js/ui/status/network.js:1974 msgid "Networking is disabled" msgstr "La red está desactivada" -#: ../js/ui/status/network.js:2055 +#: ../js/ui/status/network.js:2099 msgid "Network Manager" msgstr "Gestor de la red" From 9b4dbd0e8368dbc5ff3f28f8d61b6d50402428f5 Mon Sep 17 00:00:00 2001 From: Daniel Nylander Date: Fri, 25 Mar 2011 22:15:24 +0100 Subject: [PATCH 203/203] Updated Swedish translation --- po/sv.po | 246 ++++++++++++++++++++----------------------------------- 1 file changed, 88 insertions(+), 158 deletions(-) diff --git a/po/sv.po b/po/sv.po index 8ee761842..7ff9c7336 100644 --- a/po/sv.po +++ b/po/sv.po @@ -7,8 +7,8 @@ msgid "" msgstr "" "Project-Id-Version: gnome-shell\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2011-03-24 23:04+0100\n" -"PO-Revision-Date: 2011-03-24 23:04+0100\n" +"POT-Creation-Date: 2011-03-25 22:15+0100\n" +"PO-Revision-Date: 2011-03-25 22:15+0100\n" "Last-Translator: Daniel Nylander \n" "Language-Team: Swedish \n" "Language: sv\n" @@ -26,17 +26,12 @@ msgid "Window management and application launching" msgstr "Fönsterhantering och programstarter" #: ../data/org.gnome.shell.gschema.xml.in.h:1 -msgid "" -"Allows access to internal debugging and monitoring tools using the Alt-F2 " -"dialog." -msgstr "" -"Tillåter åtkomst till interna verktyg för felsökning och övervakning med " -"dialogen Alt-F2." +msgid "Allows access to internal debugging and monitoring tools using the Alt-F2 dialog." +msgstr "Tillåter åtkomst till interna verktyg för felsökning och övervakning med dialogen Alt-F2." #: ../data/org.gnome.shell.gschema.xml.in.h:2 msgid "Enable internal tools useful for developers and testers from Alt-F2" -msgstr "" -"Aktivera interna verktyg användbara för utvecklare och testare från Alt-F2" +msgstr "Aktivera interna verktyg användbara för utvecklare och testare från Alt-F2" #: ../data/org.gnome.shell.gschema.xml.in.h:3 msgid "File extension used for storing the screencast" @@ -47,12 +42,8 @@ msgid "Framerate used for recording screencasts." msgstr "Bildfrekvens för inspelade skärminspelningar." #: ../data/org.gnome.shell.gschema.xml.in.h:5 -msgid "" -"GNOME Shell extensions have a uuid property; this key lists extensions which " -"should not be loaded." -msgstr "" -"GNOME Shell-tillägg har en uuid-egenskap; denna nyckel listar tillägg som " -"inte ska läsas in." +msgid "GNOME Shell extensions have a uuid property; this key lists extensions which should not be loaded." +msgstr "GNOME Shell-tillägg har en uuid-egenskap; denna nyckel listar tillägg som inte ska läsas in." #: ../data/org.gnome.shell.gschema.xml.in.h:6 msgid "History for command (Alt-F2) dialog" @@ -80,30 +71,8 @@ msgstr "Lista över skrivbordsfil-id för favoritprogram" #: ../data/org.gnome.shell.gschema.xml.in.h:13 #, no-c-format -msgid "" -"Sets the GStreamer pipeline used to encode recordings. It follows the syntax " -"used for gst-launch. The pipeline should have an unconnected sink pad where " -"the recorded video is recorded. It will normally have a unconnected source " -"pad; output from that pad will be written into the output file. However the " -"pipeline can also take care of its own output - this might be used to send " -"the output to an icecast server via shout2send or similar. When unset or set " -"to an empty value, the default pipeline will be used. This is currently " -"'videorate ! vp8enc quality=10 speed=2 threads=%T ! queue ! webmmux' and " -"records to WEBM using the VP8 codec. %T is used as a placeholder for a guess " -"at the optimal thread count on the system." -msgstr "" -"Ställer in GStreamer-rörledningen som används för att koda inspelningar. Den " -"följer det syntax som används för gst-launch. Rörledningen bör ha en " -"oansluten sink pad där den inspelade videon spelas in. Den kommer vanligtvis " -"har en oansluten source pad; utmatning från denna pad kommer att skrivas " -"till utmatningsfilen. Dock kan rörledningen också ta hand om sin egna " -"utmatning - detta kan användas för att skicka utmatningen till en icecast-" -"server via shout2send eller liknande. När den inte är inställd eller " -"inställd till ett tomt värde så kommer standardrörledningen att användas. " -"Detta är för närvarande \"videorate ! vp8enc quality=10 speed=2 threads=%T ! " -"queue ! webmmux\" och inspelningar till WEBM använder kodeken VP8. %T " -"används som en platshållare för en gissning av det optimala trådantalet på " -"systemet." +msgid "Sets the GStreamer pipeline used to encode recordings. It follows the syntax used for gst-launch. The pipeline should have an unconnected sink pad where the recorded video is recorded. It will normally have a unconnected source pad; output from that pad will be written into the output file. However the pipeline can also take care of its own output - this might be used to send the output to an icecast server via shout2send or similar. When unset or set to an empty value, the default pipeline will be used. This is currently 'videorate ! vp8enc quality=10 speed=2 threads=%T ! queue ! webmmux' and records to WEBM using the VP8 codec. %T is used as a placeholder for a guess at the optimal thread count on the system." +msgstr "Ställer in GStreamer-rörledningen som används för att koda inspelningar. Den följer det syntax som används för gst-launch. Rörledningen bör ha en oansluten sink pad där den inspelade videon spelas in. Den kommer vanligtvis har en oansluten source pad; utmatning från denna pad kommer att skrivas till utmatningsfilen. Dock kan rörledningen också ta hand om sin egna utmatning - detta kan användas för att skicka utmatningen till en icecast-server via shout2send eller liknande. När den inte är inställd eller inställd till ett tomt värde så kommer standardrörledningen att användas. Detta är för närvarande \"videorate ! vp8enc quality=10 speed=2 threads=%T ! queue ! webmmux\" och inspelningar till WEBM använder kodeken VP8. %T används som en platshållare för en gissning av det optimala trådantalet på systemet." #: ../data/org.gnome.shell.gschema.xml.in.h:14 msgid "Show date in clock" @@ -118,46 +87,24 @@ msgid "Show time with seconds" msgstr "Visa tid med sekunder" #: ../data/org.gnome.shell.gschema.xml.in.h:17 -msgid "" -"The applications corresponding to these identifiers will be displayed in the " -"favorites area." -msgstr "" -"Programmen som motsvarar dessa identifierare kommer att visas i " -"favoritområdet." +msgid "The applications corresponding to these identifiers will be displayed in the favorites area." +msgstr "Programmen som motsvarar dessa identifierare kommer att visas i favoritområdet." #: ../data/org.gnome.shell.gschema.xml.in.h:18 -msgid "" -"The filename for recorded screencasts will be a unique filename based on the " -"current date, and use this extension. It should be changed when recording to " -"a different container format." -msgstr "" -"Filnamnet för skärminspelningar kommer att vara ett unikt filnamn baserat på " -"aktuellt datum och använder denna filändelse. Den bör ändras när " -"inspelningar sker i andra containerformat." +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 "Filnamnet för skärminspelningar kommer att vara ett unikt filnamn baserat på aktuellt datum och använder denna filändelse. Den bör ändras när inspelningar sker i andra containerformat." #: ../data/org.gnome.shell.gschema.xml.in.h:19 -msgid "" -"The framerate of the resulting screencast recordered by GNOME Shell's " -"screencast recorder in frames-per-second." -msgstr "" -"Bildfrekvensen för skärminspelningen som spelats in av GNOME Shells " -"skärminspelare i bilder per sekund." +msgid "The framerate of the resulting screencast recordered by GNOME Shell's screencast recorder in frames-per-second." +msgstr "Bildfrekvensen för skärminspelningen som spelats in av GNOME Shells skärminspelare i bilder per sekund." #: ../data/org.gnome.shell.gschema.xml.in.h:20 msgid "The gstreamer pipeline used to encode the screencast" msgstr "Den gstreamer-rörledning som användes för att koda skärminspelningen" #: ../data/org.gnome.shell.gschema.xml.in.h:21 -msgid "" -"The shell normally monitors active applications in order to present the most " -"used ones (e.g. in launchers). While this data will be kept private, you may " -"want to disable this for privacy reasons. Please note that doing so won't " -"remove already saved data." -msgstr "" -"Skalet övervakar normalt sett aktiva program för att kunna visa de mest " -"använda (t.ex. i programstartare). Då denna data kommer att hållas privat så " -"kan du inaktivera detta av integritetsskäl. Observera att göra det kommer " -"inte ta bort redan sparat data." +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 "Skalet övervakar normalt sett aktiva program för att kunna visa de mest använda (t.ex. i programstartare). Då denna data kommer att hållas privat så kan du inaktivera detta av integritetsskäl. Observera att göra det kommer inte ta bort redan sparat data." #: ../data/org.gnome.shell.gschema.xml.in.h:22 msgid "Uuids of extensions to disable" @@ -367,7 +314,8 @@ msgstr "Denna vecka" msgid "Next week" msgstr "Nästa vecka" -#: ../js/ui/dash.js:174 ../js/ui/messageTray.js:994 +#: ../js/ui/dash.js:174 +#: ../js/ui/messageTray.js:994 msgid "Remove" msgstr "Ta bort" @@ -435,14 +383,14 @@ msgstr "TIDIGARE OBJEKT" msgid "Log Out %s" msgstr "Logga ut %s" -#: ../js/ui/endSessionDialog.js:64 ../js/ui/endSessionDialog.js:70 +#: ../js/ui/endSessionDialog.js:64 +#: ../js/ui/endSessionDialog.js:70 msgid "Log Out" msgstr "Logga ut" #: ../js/ui/endSessionDialog.js:65 msgid "Click Log Out to quit these applications and log out of the system." -msgstr "" -"Klicka på Logga ut för att avsluta dessa program och logga ut från systemet." +msgstr "Klicka på Logga ut för att avsluta dessa program och logga ut från systemet." #: ../js/ui/endSessionDialog.js:66 #, c-format @@ -458,14 +406,14 @@ msgstr "Du kommer att loggas ut automatiskt om %d sekunder." msgid "Logging out of the system." msgstr "Loggar ut från systemet." -#: ../js/ui/endSessionDialog.js:75 ../js/ui/endSessionDialog.js:82 +#: ../js/ui/endSessionDialog.js:75 +#: ../js/ui/endSessionDialog.js:82 msgid "Power Off" msgstr "Stäng av" #: ../js/ui/endSessionDialog.js:76 msgid "Click Power Off to quit these applications and power off the system." -msgstr "" -"Klicka på Stäng av för att avsluta dessa program och stänga av systemet." +msgstr "Klicka på Stäng av för att avsluta dessa program och stänga av systemet." #: ../js/ui/endSessionDialog.js:77 #, c-format @@ -476,15 +424,15 @@ msgstr "Systemet kommer att stängas av automatiskt om %d sekunder." msgid "Powering off the system." msgstr "Stänger av systemet." -#: ../js/ui/endSessionDialog.js:80 ../js/ui/endSessionDialog.js:88 +#: ../js/ui/endSessionDialog.js:80 +#: ../js/ui/endSessionDialog.js:88 #: ../js/ui/endSessionDialog.js:93 msgid "Restart" msgstr "Starta om" #: ../js/ui/endSessionDialog.js:89 msgid "Click Restart to quit these applications and restart the system." -msgstr "" -"Klicka på Starta om för att avsluta dessa program och starta om systemet." +msgstr "Klicka på Starta om för att avsluta dessa program och starta om systemet." #: ../js/ui/endSessionDialog.js:90 #, c-format @@ -495,7 +443,8 @@ msgstr "Systemet kommer att startas om automatiskt om %d sekunder." msgid "Restarting the system." msgstr "Starta om systemet." -#: ../js/ui/endSessionDialog.js:415 ../js/ui/polkitAuthenticationAgent.js:172 +#: ../js/ui/endSessionDialog.js:415 +#: ../js/ui/polkitAuthenticationAgent.js:172 #: ../js/ui/status/bluetooth.js:466 msgid "Cancel" msgstr "Avbryt" @@ -510,7 +459,8 @@ msgstr "Aktiverad" #. translators: #. * The device has been disabled -#: ../js/ui/lookingGlass.js:627 ../src/gvc/gvc-mixer-control.c:1091 +#: ../js/ui/lookingGlass.js:627 +#: ../src/gvc/gvc-mixer-control.c:1091 msgid "Disabled" msgstr "Inaktiverad" @@ -630,12 +580,14 @@ msgstr "Söker..." msgid "No matching results." msgstr "Inga sökträffar." -#: ../js/ui/statusMenu.js:161 ../js/ui/statusMenu.js:163 +#: ../js/ui/statusMenu.js:161 +#: ../js/ui/statusMenu.js:163 #: ../js/ui/statusMenu.js:228 msgid "Power Off..." msgstr "Stäng av..." -#: ../js/ui/statusMenu.js:163 ../js/ui/statusMenu.js:227 +#: ../js/ui/statusMenu.js:163 +#: ../js/ui/statusMenu.js:227 msgid "Suspend" msgstr "Vänteläge" @@ -709,9 +661,12 @@ msgstr "Hög kontrast" msgid "Large Text" msgstr "Stor text" -#: ../js/ui/status/bluetooth.js:42 ../js/ui/status/bluetooth.js:237 -#: ../js/ui/status/bluetooth.js:333 ../js/ui/status/bluetooth.js:367 -#: ../js/ui/status/bluetooth.js:407 ../js/ui/status/bluetooth.js:440 +#: ../js/ui/status/bluetooth.js:42 +#: ../js/ui/status/bluetooth.js:237 +#: ../js/ui/status/bluetooth.js:333 +#: ../js/ui/status/bluetooth.js:367 +#: ../js/ui/status/bluetooth.js:407 +#: ../js/ui/status/bluetooth.js:440 msgid "Bluetooth" msgstr "Bluetooth" @@ -760,7 +715,8 @@ msgstr "Tangentbordsinställningar" msgid "Mouse Settings" msgstr "Musinställningar" -#: ../js/ui/status/bluetooth.js:259 ../js/ui/status/volume.js:66 +#: ../js/ui/status/bluetooth.js:259 +#: ../js/ui/status/volume.js:66 msgid "Sound Settings" msgstr "Ljudinställningar" @@ -791,7 +747,8 @@ msgstr "Neka" msgid "Pairing confirmation for %s" msgstr "Bekräftelse av ihopparning för %s" -#: ../js/ui/status/bluetooth.js:414 ../js/ui/status/bluetooth.js:448 +#: ../js/ui/status/bluetooth.js:414 +#: ../js/ui/status/bluetooth.js:448 #, c-format msgid "Device %s wants to pair with this computer" msgstr "Enheten %s vill paras ihop med denna dator" @@ -830,7 +787,8 @@ msgstr "Visa tangentbordslayout..." msgid "Localization Settings" msgstr "Språkinställningar" -#: ../js/ui/status/network.js:102 ../js/ui/status/network.js:1393 +#: ../js/ui/status/network.js:102 +#: ../js/ui/status/network.js:1437 msgid "" msgstr "" @@ -839,124 +797,132 @@ msgstr "" msgid "disabled" msgstr "inaktiverad" -#: ../js/ui/status/network.js:476 +#: ../js/ui/status/network.js:478 msgid "connecting..." msgstr "ansluter..." #. Translators: this is for network connections that require some kind of key or password -#: ../js/ui/status/network.js:479 +#: ../js/ui/status/network.js:481 msgid "authentication required" msgstr "autentisering krävs" +#. Translators: this is for devices that require some kind of firmware or kernel +#. module, which is missing +#: ../js/ui/status/network.js:491 +msgid "firmware missing" +msgstr "fast programvara saknas" + #. Translators: this is for wired network devices that are physically disconnected -#: ../js/ui/status/network.js:485 +#: ../js/ui/status/network.js:498 msgid "cable unplugged" msgstr "kabeln är inte ansluten" #. 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:489 +#: ../js/ui/status/network.js:503 msgid "unavailable" msgstr "inte tillgänglig" -#: ../js/ui/status/network.js:491 +#: ../js/ui/status/network.js:505 msgid "connection failed" msgstr "anslutningen misslyckades" #. TRANSLATORS: this is the indication that a connection for another logged in user is active, #. and we cannot access its settings (including the name) -#: ../js/ui/status/network.js:571 ../js/ui/status/network.js:1341 +#: ../js/ui/status/network.js:585 +#: ../js/ui/status/network.js:1385 msgid "Connected (private)" msgstr "Ansluten (privat)" -#: ../js/ui/status/network.js:636 +#: ../js/ui/status/network.js:666 msgid "Auto Ethernet" msgstr "Automatiskt ethernet" -#: ../js/ui/status/network.js:697 +#: ../js/ui/status/network.js:741 msgid "Auto broadband" msgstr "Automatiskt bredband" -#: ../js/ui/status/network.js:700 +#: ../js/ui/status/network.js:744 msgid "Auto dial-up" msgstr "Automatiskt uppringt nätverk" #. TRANSLATORS: this the automatic wireless connection name (including the network name) -#: ../js/ui/status/network.js:843 ../js/ui/status/network.js:1353 +#: ../js/ui/status/network.js:887 +#: ../js/ui/status/network.js:1397 #, c-format msgid "Auto %s" msgstr "Automatiskt %s" -#: ../js/ui/status/network.js:845 +#: ../js/ui/status/network.js:889 msgid "Auto bluetooth" msgstr "Automatisk Bluetooth" -#: ../js/ui/status/network.js:1355 +#: ../js/ui/status/network.js:1399 msgid "Auto wireless" msgstr "Automatiskt trådlöst nätverk" -#: ../js/ui/status/network.js:1413 +#: ../js/ui/status/network.js:1457 msgid "More..." msgstr "Mer..." -#: ../js/ui/status/network.js:1436 +#: ../js/ui/status/network.js:1480 msgid "Enable networking" msgstr "Aktivera nätverk" -#: ../js/ui/status/network.js:1448 +#: ../js/ui/status/network.js:1492 msgid "Wired" msgstr "Trådbundet" -#: ../js/ui/status/network.js:1459 +#: ../js/ui/status/network.js:1503 msgid "Wireless" msgstr "Trådlöst" -#: ../js/ui/status/network.js:1469 +#: ../js/ui/status/network.js:1513 msgid "Mobile broadband" msgstr "Mobilt bredband" -#: ../js/ui/status/network.js:1479 +#: ../js/ui/status/network.js:1523 msgid "VPN Connections" msgstr "VPN-anslutningar" -#: ../js/ui/status/network.js:1488 +#: ../js/ui/status/network.js:1532 msgid "Network Settings" msgstr "Nätverksinställningar" -#: ../js/ui/status/network.js:1783 +#: ../js/ui/status/network.js:1827 #, c-format msgid "You're now connected to mobile broadband connection '%s'" msgstr "Du är nu ansluten till mobila bredbandsanslutningen \"%s\"" -#: ../js/ui/status/network.js:1787 +#: ../js/ui/status/network.js:1831 #, c-format msgid "You're now connected to wireless network '%s'" msgstr "Du är nu ansluten till trådlösa nätverket \"%s\"" -#: ../js/ui/status/network.js:1791 +#: ../js/ui/status/network.js:1835 #, c-format msgid "You're now connected to wired network '%s'" msgstr "Du är nu ansluten till trådbundna nätverket \"%s\"" -#: ../js/ui/status/network.js:1795 +#: ../js/ui/status/network.js:1839 #, c-format msgid "You're now connected to VPN network '%s'" msgstr "Du är nu ansluten till VPN-nätverket \"%s\"" -#: ../js/ui/status/network.js:1800 +#: ../js/ui/status/network.js:1844 #, c-format msgid "You're now connected to '%s'" msgstr "Du är nu ansluten till \"%s\"" -#: ../js/ui/status/network.js:1808 +#: ../js/ui/status/network.js:1852 msgid "Connection established" msgstr "Anslutningen etablerad" -#: ../js/ui/status/network.js:1930 +#: ../js/ui/status/network.js:1974 msgid "Networking is disabled" msgstr "Nätverk är inaktiverat" -#: ../js/ui/status/network.js:2055 +#: ../js/ui/status/network.js:2099 msgid "Network Manager" msgstr "Nätverkshanterare" @@ -1046,7 +1012,8 @@ msgstr "Pekdator" msgid "Computer" msgstr "Dator" -#: ../js/ui/status/power.js:250 ../src/shell-app-system.c:1088 +#: ../js/ui/status/power.js:250 +#: ../src/shell-app-system.c:1088 msgid "Unknown" msgstr "Okänt" @@ -1094,7 +1061,8 @@ msgstr "Skickades klockan %X på %A" msgid "Type to search..." msgstr "Skriv för att söka..." -#: ../js/ui/viewSelector.js:142 ../src/shell-util.c:250 +#: ../js/ui/viewSelector.js:142 +#: ../src/shell-util.c:250 msgid "Search" msgstr "Sök" @@ -1210,128 +1178,90 @@ msgstr "%1$s: %2$s" #, fuzzy #~ msgid "Shut Down" #~ msgstr "Stäng av..." - #~ msgid "Screen Reader" #~ msgstr "Skärmläsare" - #~ msgid "Screen Keyboard" #~ msgstr "Skärmtangentbord" - #~ msgid "Clock" #~ msgstr "Klocka" - #~ msgid "Customize the panel clock" #~ msgstr "Anpassa panelklockan" - #~ msgid "Custom format of the clock" #~ msgstr "Anpassat format för klockan" - #~ msgid "Hour format" #~ msgstr "Timmesformat" - #~ msgid "" #~ "If true and format is either \"12-hour\" or \"24-hour\", display seconds " #~ "in time." #~ msgstr "" #~ "Om true och formatet antingen är \"12-hour\" eller \"24-hour\", visa " #~ "sekunder i tiden." - #~ msgid "Enable lens mode" #~ msgstr "Aktivera linsläge" - #~ msgid "Magnification factor" #~ msgstr "Förstoringsfaktor" - #~ msgid "Screen position" #~ msgstr "Skärmposition" - #~ msgid "Clock Format" #~ msgstr "Klockformat" - #~ msgid "Clock Preferences" #~ msgstr "Klockinställningar" - #~ msgid "Panel Display" #~ msgstr "Panelvisning" - #~ msgid "Show seco_nds" #~ msgstr "Visa seku_nder" - #~ msgid "Show the _date" #~ msgstr "Visa _datum" - #~ msgid "_12 hour format" #~ msgstr "_12-timmarsformat" - #~ msgid "_24 hour format" #~ msgstr "_24-timmarsformat" - #~ msgid "PREFERENCES" #~ msgstr "INSTÄLLNINGAR" - #~ msgid "Preferences" #~ msgstr "Inställningar" - #~ msgid "Search your computer" #~ msgstr "Sök i din dator" - #~ msgid "" #~ "Can't add a new workspace because maximum workspaces limit has been " #~ "reached." #~ msgstr "" #~ "Kan inte lägga till en ny arbetsyta eftersom maximalt antal arbetsytor " #~ "har uppnåtts." - #~ msgid "Can't remove the first workspace." #~ msgstr "Kan inte ta bort första arbetsytan." - #~ msgid "Drag here to add favorites" #~ msgstr "Dra hit för att lägga till favorit" - #~ msgid "Find" #~ msgstr "Sök" - #~ msgid "ON" #~ msgstr "PÅ" - #~ msgid "OFF" #~ msgstr "AV" - #~ msgid "Invisible" #~ msgstr "Osynlig" - #~ msgid "PLACES" #~ msgstr "PLATSER" - #~ msgid "SEARCH RESULTS" #~ msgstr "SÖKRESULTAT" - #~ msgid "Recent Documents" #~ msgstr "Senaste dokument" - #~ msgid "(see all)" #~ msgstr "(se alla)" - #~ msgid "Can't lock screen: %s" #~ msgstr "Kan inte låsa skärmen: %s" - #~ msgid "Can't temporarily set screensaver to blank screen: %s" #~ msgstr "Kan inte temporärt ställa in skärmsläckaren till blank skärm: %s" - #~ msgid "Can't logout: %s" #~ msgstr "Kan inte logga ut: %s" - #~ msgid "Sidebar" #~ msgstr "Sidopanel" - #~ msgid "Browse" #~ msgstr "Bläddra" - #~ msgid "Find apps or documents" #~ msgstr "Hitta program eller dokument" - #~ msgid "DOCUMENTS" #~ msgstr "DOKUMENT" - #~ msgid "The user manager object this user is controlled by." #~ msgstr "Användarhanteringsobjektet som denna användare styrs av." +