diff --git a/SOURCES/0001-Don-t-crash-on-accesses-to-stale-window-backed-apps.patch b/SOURCES/0001-Don-t-crash-on-accesses-to-stale-window-backed-apps.patch new file mode 100644 index 0000000..4f93aa9 --- /dev/null +++ b/SOURCES/0001-Don-t-crash-on-accesses-to-stale-window-backed-apps.patch @@ -0,0 +1,265 @@ +From 82757fd7bd099d849c11847be75f9f4cf43544a7 Mon Sep 17 00:00:00 2001 +From: "Owen W. Taylor" +Date: Wed, 7 Oct 2015 22:56:11 -0400 +Subject: [PATCH] Don't crash on accesses to stale window-backed apps + +The JS code could still be holding on to a reference to a window-backed app +after all windows have vanished. (For example, the dash queues an idle to +refetch apps and display them.) Avoid dying with an error message if we +attempt to activate or otherwise manipulate such a window. + +https://bugzilla.gnome.org/show_bug.cgi?id=674799 +--- + src/shell-app.c | 32 +++++++++++++++++++++++--------- + 1 file changed, 23 insertions(+), 9 deletions(-) + +diff --git a/src/shell-app.c b/src/shell-app.c +index 051f84f..36aa47a 100644 +--- a/src/shell-app.c ++++ b/src/shell-app.c +@@ -146,93 +146,99 @@ static void + shell_app_set_property (GObject *gobject, + guint prop_id, + const GValue *value, + GParamSpec *pspec) + { + ShellApp *app = SHELL_APP (gobject); + + switch (prop_id) + { + case PROP_APP_INFO: + _shell_app_set_app_info (app, g_value_get_object (value)); + break; + default: + G_OBJECT_WARN_INVALID_PROPERTY_ID (gobject, prop_id, pspec); + break; + } + } + + const char * + shell_app_get_id (ShellApp *app) + { + if (app->info) + return g_app_info_get_id (G_APP_INFO (app->info)); + return app->window_id_string; + } + + static MetaWindow * + window_backed_app_get_window (ShellApp *app) + { + g_assert (app->info == NULL); +- g_assert (app->running_state); +- g_assert (app->running_state->windows); +- return app->running_state->windows->data; ++ if (app->running_state) ++ { ++ g_assert (app->running_state->windows); ++ return app->running_state->windows->data; ++ } ++ else ++ return NULL; + } + + static ClutterActor * + window_backed_app_get_icon (ShellApp *app, + int size) + { +- MetaWindow *window; ++ MetaWindow *window = NULL; + ClutterActor *actor; + gint scale; + ShellGlobal *global; + StThemeContext *context; + + global = shell_global_get (); + context = st_theme_context_get_for_stage (shell_global_get_stage (global)); + g_object_get (context, "scale-factor", &scale, NULL); + + size *= scale; + + /* During a state transition from running to not-running for + * window-backend apps, it's possible we get a request for the icon. + * Avoid asserting here and just return an empty image. + */ +- if (app->running_state == NULL) ++ if (app->running_state != NULL) ++ window = window_backed_app_get_window (app); ++ ++ if (window == NULL) + { + actor = clutter_texture_new (); + g_object_set (actor, "opacity", 0, "width", (float) size, "height", (float) size, NULL); + return actor; + } + +- window = window_backed_app_get_window (app); + actor = st_texture_cache_bind_pixbuf_property (st_texture_cache_get_default (), + G_OBJECT (window), + "icon"); + g_object_set (actor, "width", (float) size, "height", (float) size, NULL); + return actor; + } + + /** + * shell_app_create_icon_texture: + * + * Look up the icon for this application, and create a #ClutterTexture + * for it at the given size. + * + * Return value: (transfer none): A floating #ClutterActor + */ + ClutterActor * + shell_app_create_icon_texture (ShellApp *app, + int size) + { + GIcon *icon; + gint scale; + ClutterActor *ret; + ShellGlobal *global; + StThemeContext *context; + + global = shell_global_get (); + context = st_theme_context_get_for_stage (shell_global_get_stage (global)); + g_object_get (context, "scale-factor", &scale, NULL); + ret = NULL; + +@@ -415,63 +421,65 @@ shell_app_get_faded_icon (ShellApp *app, int size, ClutterTextDirection directio + texture = st_texture_cache_load (st_texture_cache_get_default (), + cache_key, + ST_TEXTURE_CACHE_POLICY_FOREVER, + shell_app_create_faded_icon_cpu, + &data, + NULL); + g_free (cache_key); + + if (texture != COGL_INVALID_HANDLE) + { + result = clutter_texture_new (); + clutter_texture_set_cogl_texture (CLUTTER_TEXTURE (result), texture); + } + else + { + result = clutter_texture_new (); + g_object_set (result, "opacity", 0, "width", (float) size * scale, "height", (float) size * scale, NULL); + + } + return result; + } + + const char * + shell_app_get_name (ShellApp *app) + { + if (app->info) + return g_app_info_get_name (G_APP_INFO (app->info)); + else + { + MetaWindow *window = window_backed_app_get_window (app); +- const char *name; ++ const char *name = NULL; ++ ++ if (window) ++ name = meta_window_get_title (window); + +- name = meta_window_get_title (window); + if (!name) + name = C_("program", "Unknown"); + return name; + } + } + + const char * + shell_app_get_description (ShellApp *app) + { + if (app->info) + return g_app_info_get_description (G_APP_INFO (app->info)); + else + return NULL; + } + + /** + * shell_app_is_window_backed: + * + * A window backed application is one which represents just an open + * window, i.e. there's no .desktop file assocation, so we don't know + * how to launch it again. + */ + gboolean + shell_app_is_window_backed (ShellApp *app) + { + return app->info == NULL; + } + + typedef struct { + MetaWorkspace *workspace; +@@ -1325,61 +1333,67 @@ app_child_setup (gpointer user_data) + do + res = dup2 (journalfd, 1); + while (G_UNLIKELY (res == -1 && errno == EINTR)); + do + res = dup2 (journalfd, 2); + while (G_UNLIKELY (res == -1 && errno == EINTR)); + (void) close (journalfd); + } + } + #endif + + /** + * shell_app_launch: + * @timestamp: Event timestamp, or 0 for current event timestamp + * @workspace: Start on this workspace, or -1 for default + * @error: A #GError + */ + gboolean + shell_app_launch (ShellApp *app, + guint timestamp, + int workspace, + GError **error) + { + ShellGlobal *global; + GAppLaunchContext *context; + gboolean ret; + + if (app->info == NULL) + { + MetaWindow *window = window_backed_app_get_window (app); +- meta_window_activate (window, timestamp); ++ /* We don't use an error return if there no longer any windows, because the ++ * user attempting to activate a stale window backed app isn't something ++ * we would expect the caller to meaningfully handle or display an error ++ * message to the user. ++ */ ++ if (window) ++ meta_window_activate (window, timestamp); + return TRUE; + } + + global = shell_global_get (); + context = shell_global_create_app_launch_context (global, timestamp, workspace); + + ret = g_desktop_app_info_launch_uris_as_manager (app->info, NULL, + context, + G_SPAWN_SEARCH_PATH | G_SPAWN_DO_NOT_REAP_CHILD, + #ifdef HAVE_SYSTEMD + app_child_setup, (gpointer)shell_app_get_id (app), + #else + NULL, NULL, + #endif + _gather_pid_callback, app, + error); + g_object_unref (context); + + return ret; + } + + /** + * shell_app_launch_action: + * @app: the #ShellApp + * @action_name: the name of the action to launch (as obtained by + * g_desktop_app_info_list_actions()) + * @timestamp: Event timestamp, or 0 for current event timestamp + * @workspace: Start on this workspace, or -1 for default + */ + void +-- +2.7.4 + diff --git a/SOURCES/0001-ScreenShield-set-LockedHint-property-from-systemd.patch b/SOURCES/0001-ScreenShield-set-LockedHint-property-from-systemd.patch new file mode 100644 index 0000000..cb03f92 --- /dev/null +++ b/SOURCES/0001-ScreenShield-set-LockedHint-property-from-systemd.patch @@ -0,0 +1,69 @@ +From bda1257c8299045fa4d4aa09e05f70e404cacc56 Mon Sep 17 00:00:00 2001 +From: Victor Toso +Date: Thu, 12 May 2016 09:25:49 +0200 +Subject: [PATCH] ScreenShield: set LockedHint property from systemd + +Logind recently got support for a hint property in Session Object to +inform if session is Locked or not. It is up to desktop environments +to keep this property up to date. + +https://bugzilla.gnome.org/show_bug.cgi?id=764773 +--- + js/misc/loginManager.js | 3 +++ + js/ui/screenShield.js | 10 +++++++++- + 2 files changed, 12 insertions(+), 1 deletion(-) + +diff --git a/js/misc/loginManager.js b/js/misc/loginManager.js +index b4ed4a6..af0586e 100644 +--- a/js/misc/loginManager.js ++++ b/js/misc/loginManager.js +@@ -40,6 +40,9 @@ const SystemdLoginSessionIface = ' \ + \ + \ + \ ++ \ ++ \ ++ \ + \ + '; + +diff --git a/js/ui/screenShield.js b/js/ui/screenShield.js +index 3a84468..973604a 100644 +--- a/js/ui/screenShield.js ++++ b/js/ui/screenShield.js +@@ -1125,9 +1125,13 @@ const ScreenShield = new Lang.Class({ + let prevIsActive = this._isActive; + this._isActive = true; + +- if (prevIsActive != this._isActive) ++ if (prevIsActive != this._isActive) { + this.emit('active-changed'); + ++ if (this._loginSession) ++ this._loginSession.SetLockedHintRemote(this._isActive); ++ } ++ + if (this._aboutToSuspend) + this._uninhibitSuspend(); + +@@ -1226,6 +1230,8 @@ const ScreenShield = new Lang.Class({ + this._activationTime = 0; + this._isActive = false; + this.emit('active-changed'); ++ if (this._loginSession) ++ this._loginSession.SetLockedHintRemote(this._isActive); + return; + } + +@@ -1272,6 +1278,8 @@ const ScreenShield = new Lang.Class({ + this._isLocked = false; + this.emit('active-changed'); + this.emit('locked-changed'); ++ if (this._loginSession) ++ this._loginSession.SetLockedHintRemote(this._isActive); + global.set_runtime_state(LOCKED_STATE_STR, null); + }, + +-- +2.7.4 + diff --git a/SOURCES/0001-altTab-Don-t-error-out-if-we-don-t-have-windows-for-.patch b/SOURCES/0001-altTab-Don-t-error-out-if-we-don-t-have-windows-for-.patch new file mode 100644 index 0000000..9159475 --- /dev/null +++ b/SOURCES/0001-altTab-Don-t-error-out-if-we-don-t-have-windows-for-.patch @@ -0,0 +1,30 @@ +From 02d385ba830fa43cb06877f6bfb63ea4aaa1d508 Mon Sep 17 00:00:00 2001 +From: Rui Matos +Date: Thu, 8 Oct 2015 18:17:54 +0200 +Subject: [PATCH] altTab: Don't error out if we don't have windows for an app + +We are currently erroring out when the tab chain doesn't contain at +least one window for an app which might happen for windows that don't +take focus like xeyes. This leaves us in a state where we can't show +the switcher at all. Let's just ignore these apps instead of looking +broken. +--- + js/ui/altTab.js | 2 -- + 1 file changed, 2 deletions(-) + +diff --git a/js/ui/altTab.js b/js/ui/altTab.js +index cee81b0..3850d89 100644 +--- a/js/ui/altTab.js ++++ b/js/ui/altTab.js +@@ -449,8 +449,6 @@ const AppSwitcher = new Lang.Class({ + }); + if (appIcon.cachedWindows.length > 0) + this._addIcon(appIcon); +- else if (workspace == null) +- throw new Error('%s appears to be running, but doesn\'t have any windows'.format(appIcon.app.get_name())); + } + + this._curApp = -1; +-- +2.7.4 + diff --git a/SOURCES/0001-app-Add-a-construct-only-app-info-property.patch b/SOURCES/0001-app-Add-a-construct-only-app-info-property.patch new file mode 100644 index 0000000..97c4ff4 --- /dev/null +++ b/SOURCES/0001-app-Add-a-construct-only-app-info-property.patch @@ -0,0 +1,178 @@ +From 2e05f7170a8c7fb0525334815361c72c08d3894a Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Florian=20M=C3=BCllner?= +Date: Wed, 6 Jul 2016 19:56:47 +0200 +Subject: [PATCH] app: Add a construct-only app-info property + +This will allow us to create a ShellApp from JS code, for instance +for .desktop files that aren't known to the AppSystem. +--- + src/shell-app.c | 45 +++++++++++++++++++++++++++++++++++++++++---- + 1 file changed, 41 insertions(+), 4 deletions(-) + +diff --git a/src/shell-app.c b/src/shell-app.c +index 1593c89..03369e5 100644 +--- a/src/shell-app.c ++++ b/src/shell-app.c +@@ -96,7 +96,8 @@ enum { + PROP_ID, + PROP_DBUS_ID, + PROP_ACTION_GROUP, +- PROP_MENU ++ PROP_MENU, ++ PROP_APP_INFO + }; + + enum { +@@ -138,6 +139,29 @@ shell_app_get_property (GObject *gobject, + if (app->running_state) + g_value_set_object (value, app->running_state->remote_menu); + break; ++ case PROP_APP_INFO: ++ if (app->info) ++ g_value_set_object (value, app->info); ++ break; ++ default: ++ G_OBJECT_WARN_INVALID_PROPERTY_ID (gobject, prop_id, pspec); ++ break; ++ } ++} ++ ++static void ++shell_app_set_property (GObject *gobject, ++ guint prop_id, ++ const GValue *value, ++ GParamSpec *pspec) ++{ ++ ShellApp *app = SHELL_APP (gobject); ++ ++ switch (prop_id) ++ { ++ case PROP_APP_INFO: ++ _shell_app_set_app_info (app, g_value_get_object (value)); ++ break; + default: + G_OBJECT_WARN_INVALID_PROPERTY_ID (gobject, prop_id, pspec); + break; +@@ -806,9 +830,9 @@ _shell_app_new (GDesktopAppInfo *info) + { + ShellApp *app; + +- app = g_object_new (SHELL_TYPE_APP, NULL); +- +- _shell_app_set_app_info (app, info); ++ app = g_object_new (SHELL_TYPE_APP, ++ "app-info", info, ++ NULL); + + return app; + } +@@ -1405,6 +1429,7 @@ shell_app_class_init(ShellAppClass *klass) + GObjectClass *gobject_class = G_OBJECT_CLASS (klass); + + gobject_class->get_property = shell_app_get_property; ++ gobject_class->set_property = shell_app_set_property; + gobject_class->dispose = shell_app_dispose; + gobject_class->finalize = shell_app_finalize; + +@@ -1483,5 +1508,17 @@ shell_app_class_init(ShellAppClass *klass) + "The primary menu exported by the remote application", + G_TYPE_MENU_MODEL, + G_PARAM_READABLE | G_PARAM_STATIC_STRINGS)); ++ /** ++ * ShellApp:app-info: ++ * ++ * The #GDesktopAppInfo associated with this ShellApp, if any. ++ */ ++ g_object_class_install_property (gobject_class, ++ PROP_APP_INFO, ++ g_param_spec_object ("app-info", ++ "DesktopAppInfo", ++ "The DesktopAppInfo associated with this app", ++ G_TYPE_DESKTOP_APP_INFO, ++ G_PARAM_READWRITE | G_PARAM_CONSTRUCT_ONLY | G_PARAM_STATIC_STRINGS)); + + } +-- +2.7.4 + +From fef6ef9c90cea5f8a9f13651e2fb1deb03013c7f Mon Sep 17 00:00:00 2001 +From: Ray Strode +Date: Tue, 12 Jul 2016 14:16:41 -0400 +Subject: [PATCH] fixup! app: Add a construct-only app-info property + +--- + src/shell-app.c | 4 +++- + 1 file changed, 3 insertions(+), 1 deletion(-) + +diff --git a/src/shell-app.c b/src/shell-app.c +index 36aa47a..9cea064 100644 +--- a/src/shell-app.c ++++ b/src/shell-app.c +@@ -969,61 +969,63 @@ ShellApp * + _shell_app_new_for_window (MetaWindow *window) + { + ShellApp *app; + + app = g_object_new (SHELL_TYPE_APP, NULL); + + app->window_id_string = g_strdup_printf ("window:%d", meta_window_get_stable_sequence (window)); + + _shell_app_add_window (app, window); + + return app; + } + + ShellApp * + _shell_app_new (GDesktopAppInfo *info) + { + ShellApp *app; + + app = g_object_new (SHELL_TYPE_APP, + "app-info", info, + NULL); + + return app; + } + + void + _shell_app_set_app_info (ShellApp *app, + GDesktopAppInfo *info) + { + g_clear_object (&app->info); +- app->info = g_object_ref (info); ++ ++ if (info) ++ app->info = g_object_ref (info); + + if (app->name_collation_key != NULL) + g_free (app->name_collation_key); + app->name_collation_key = g_utf8_collate_key (shell_app_get_name (app), -1); + } + + static void + shell_app_state_transition (ShellApp *app, + ShellAppState state) + { + if (app->state == state) + return; + g_return_if_fail (!(app->state == SHELL_APP_STATE_RUNNING && + state == SHELL_APP_STATE_STARTING)); + app->state = state; + + _shell_app_system_notify_app_state_changed (shell_app_system_get_default (), app); + + g_object_notify (G_OBJECT (app), "state"); + } + + static void + shell_app_on_unmanaged (MetaWindow *window, + ShellApp *app) + { + _shell_app_remove_window (app, window); + } + + static void + shell_app_on_user_time_changed (MetaWindow *window, +-- +2.7.4 + diff --git a/SOURCES/0001-network-Always-show-primary-icon-when-connected.patch b/SOURCES/0001-network-Always-show-primary-icon-when-connected.patch new file mode 100644 index 0000000..2d979d1 --- /dev/null +++ b/SOURCES/0001-network-Always-show-primary-icon-when-connected.patch @@ -0,0 +1,40 @@ +From b9b12009cfa24d77d33927c3d011036f4591d37c Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Florian=20M=C3=BCllner?= +Date: Thu, 19 May 2016 18:22:02 +0200 +Subject: [PATCH] network: Always show primary icon when connected + +--- + js/ui/status/network.js | 13 ++++++++++--- + 1 file changed, 10 insertions(+), 3 deletions(-) + +diff --git a/js/ui/status/network.js b/js/ui/status/network.js +index 9f4faa4..0a345eb 100644 +--- a/js/ui/status/network.js ++++ b/js/ui/status/network.js +@@ -2069,13 +2069,20 @@ const NMApplet = new Lang.Class({ + }, + + _updateIcon: function() { +- if (!this._client.networking_enabled || !this._mainConnection) { ++ if (!this._client.networking_enabled) { + this._primaryIndicator.visible = false; + } else { +- let dev = this._mainConnection._primaryDevice; +- this._primaryIndicator.visible = (dev != null); ++ let dev = null; ++ if (this._mainConnection) ++ dev = this._mainConnection._primaryDevice; ++ ++ let state = this._client.get_state(); ++ let connected = state == NetworkManager.State.CONNECTED_GLOBAL; ++ this._primaryIndicator.visible = (dev != null) || connected; + if (dev) + this._primaryIndicator.icon_name = dev.getIndicatorIcon(); ++ else if (connected) ++ this._primaryIndicator.icon_name = 'network-wired-symbolic'; + } + + this._vpnIndicator.icon_name = this._vpnSection.getIndicatorIcon(); +-- +2.7.4 + diff --git a/SOURCES/0001-network-Summarize-sections-with-too-many-devices.patch b/SOURCES/0001-network-Summarize-sections-with-too-many-devices.patch new file mode 100644 index 0000000..e86b185 --- /dev/null +++ b/SOURCES/0001-network-Summarize-sections-with-too-many-devices.patch @@ -0,0 +1,139 @@ +From cd541f612cc7340450f4c874b7bf0ef4f84b177c Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Florian=20M=C3=BCllner?= +Date: Fri, 13 May 2016 19:42:04 +0200 +Subject: [PATCH] network: Summarize sections with too many devices + +Any network devices appear as top level items in the system status +menu, so on system with an unusually high number of devices, the +menu can end up exceeding the available screen height. While this +is a corner case, leaving important system actions unreachable is +bad. The system menu does not lend itself to scrolling, so handle +this case instead by summarizing sections ("n connections") where +the number of devices exceeds a threshold. +--- + js/ui/status/network.js | 88 ++++++++++++++++++++++++++++++++++++++++++------- + 1 file changed, 76 insertions(+), 12 deletions(-) + +diff --git a/js/ui/status/network.js b/js/ui/status/network.js +index 3ce228c..b8bd375 100644 +--- a/js/ui/status/network.js ++++ b/js/ui/status/network.js +@@ -39,6 +39,8 @@ const NMAccessPointSecurity = { + WPA2_ENT: 6 + }; + ++const MAX_DEVICE_ITEMS = 4; ++ + // small optimization, to avoid using [] all the time + const NM80211Mode = NetworkManager['80211Mode']; + const NM80211ApFlags = NetworkManager['80211ApFlags']; +@@ -1552,6 +1554,73 @@ const NMVPNSection = new Lang.Class({ + }); + Signals.addSignalMethods(NMVPNSection.prototype); + ++const DeviceCategory = new Lang.Class({ ++ Name: 'DeviceCategory', ++ Extends: PopupMenu.PopupMenuSection, ++ ++ _init: function(category) { ++ this.parent(); ++ ++ this._category = category; ++ ++ this.devices = []; ++ ++ this.section = new PopupMenu.PopupMenuSection(); ++ this.section.box.connect('actor-added', Lang.bind(this, this._sync)); ++ this.section.box.connect('actor-removed', Lang.bind(this, this._sync)); ++ this.addMenuItem(this.section); ++ ++ this._summaryItem = new PopupMenu.PopupSubMenuMenuItem('', true); ++ this._summaryItem.icon.icon_name = this._getSummaryIcon(); ++ this.addMenuItem(this._summaryItem); ++ ++ this._summaryItem.menu.addSettingsAction(_('Network Settings'), ++ 'gnome-network-panel.desktop'); ++ this._summaryItem.actor.hide(); ++ ++ }, ++ ++ _sync: function() { ++ let nDevices = this.section.box.get_children().reduce( ++ function(prev, child) { ++ return prev + (child.visible ? 1 : 0); ++ }, 0); ++ this._summaryItem.label.text = this._getSummaryLabel(nDevices); ++ let shouldSummarize = nDevices > MAX_DEVICE_ITEMS; ++ this._summaryItem.actor.visible = shouldSummarize; ++ this.section.actor.visible = !shouldSummarize; ++ }, ++ ++ _getSummaryIcon: function() { ++ switch(this._category) { ++ case NMConnectionCategory.WIRED: ++ return 'network-wired-symbolic'; ++ case NMConnectionCategory.WIRELESS: ++ case NMConnectionCategory.WWAN: ++ return 'network-wireless-symbolic'; ++ } ++ return ''; ++ }, ++ ++ _getSummaryLabel: function(nDevices) { ++ switch(this._category) { ++ case NMConnectionCategory.WIRED: ++ return ngettext("%s Wired Connection", ++ "%s Wired Connections", ++ nDevices).format(nDevices); ++ case NMConnectionCategory.WIRELESS: ++ return ngettext("%s Wi-Fi Connection", ++ "%s Wi-Fi Connections", ++ nDevices).format(nDevices); ++ case NMConnectionCategory.WWAN: ++ return ngettext("%s Modem Connection", ++ "%s Modem Connections", ++ nDevices).format(nDevices); ++ } ++ return ''; ++ } ++}); ++ + const NMApplet = new Lang.Class({ + Name: 'NMApplet', + Extends: PanelMenu.SystemIndicator, +@@ -1595,15 +1664,6 @@ const NMApplet = new Lang.Class({ + this._tryLateInit(); + }, + +- _createDeviceCategory: function() { +- let category = { +- section: new PopupMenu.PopupMenuSection(), +- devices: [ ], +- }; +- this.menu.addMenuItem(category.section); +- return category; +- }, +- + _tryLateInit: function() { + if (!this._client || !this._settings) + return; +@@ -1620,9 +1680,13 @@ const NMApplet = new Lang.Class({ + this._nmDevices = []; + this._devices = { }; + +- this._devices.wired = this._createDeviceCategory(); +- this._devices.wireless = this._createDeviceCategory(); +- this._devices.wwan = this._createDeviceCategory(); ++ let categories = [NMConnectionCategory.WIRED, ++ NMConnectionCategory.WIRELESS, ++ NMConnectionCategory.WWAN]; ++ for (let category of categories) { ++ this._devices[category] = new DeviceCategory(category); ++ this.menu.addMenuItem(this._devices[category]); ++ } + + this._vpnSection = new NMVPNSection(this._client); + this._vpnSection.connect('activation-failed', Lang.bind(this, this._onActivationFailed)); +-- +2.7.4 + diff --git a/SOURCES/0001-st-button-Don-t-rely-on-hover-to-accept-clicks.patch b/SOURCES/0001-st-button-Don-t-rely-on-hover-to-accept-clicks.patch new file mode 100644 index 0000000..8cd869a --- /dev/null +++ b/SOURCES/0001-st-button-Don-t-rely-on-hover-to-accept-clicks.patch @@ -0,0 +1,34 @@ +From 0365b1f803ef181d5f806b3a8b77afe6c5edbf91 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Florian=20M=C3=BCllner?= +Date: Wed, 7 Oct 2015 01:21:02 +0200 +Subject: [PATCH] st-button: Don't rely on hover to accept clicks + +Since commit 4f1f226828 we only consider buttons clicked when the +release event had a corresponding press event. However as we use +the hover state to check whether a release event actually occurred +on the button, we dismiss any clicks in cases where we missed the +enter event - most likely due to some other actor holding a grab. +Instead, check whether the button contains the event's source, which +should be less error-prone. + +https://bugzilla.gnome.org/show_bug.cgi?id=748919 +--- + src/st/st-button.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/src/st/st-button.c b/src/st/st-button.c +index 56502f1..0db6b0d 100644 +--- a/src/st/st-button.c ++++ b/src/st/st-button.c +@@ -211,7 +211,7 @@ st_button_button_release (ClutterActor *actor, + { + gboolean is_click; + +- is_click = button->priv->grabbed && st_widget_get_hover (ST_WIDGET (button)); ++ is_click = button->priv->grabbed && clutter_actor_contains (actor, event->source); + st_button_release (button, device, mask, is_click ? event->button : 0, NULL); + + button->priv->grabbed &= ~mask; +-- +2.7.2 + diff --git a/SOURCES/0001-theme-Use-font-relative-sizes-for-menu-widths.patch b/SOURCES/0001-theme-Use-font-relative-sizes-for-menu-widths.patch new file mode 100644 index 0000000..d962aa4 --- /dev/null +++ b/SOURCES/0001-theme-Use-font-relative-sizes-for-menu-widths.patch @@ -0,0 +1,48 @@ +From a474ae94b4dbe9d5fa21c9b0f6ef028af8a97680 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Florian=20M=C3=BCllner?= +Date: Fri, 4 Sep 2015 18:54:44 +0200 +Subject: [PATCH] theme: Use font-relative sizes for menu widths + +For menus, it makes more sense to pick a width that fits a reasonable amount +of content rather than a fixed amount of screen estate, so use font-relative +sizes instead of pixel values. + +https://bugzilla.gnome.org/show_bug.cgi?id=754581 +--- + 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 97634b1..f1e9a23 100644 +--- a/data/theme/gnome-shell.css ++++ b/data/theme/gnome-shell.css +@@ -169,7 +169,7 @@ StScrollBar StButton#vhandle:active { + + + .popup-menu { +- min-width: 200px; ++ min-width: 15em; + } + + .popup-menu-arrow { +@@ -733,7 +733,7 @@ StScrollBar StButton#vhandle:active { + } + + .aggregate-menu { +- width: 360px; ++ width: 27em; + } + + .aggregate-menu .popup-menu-icon { +@@ -1455,7 +1455,7 @@ StScrollBar StButton#vhandle:active { + } + + .events-table { +- width: 320px; ++ width: 24em; + spacing-columns: 6pt; + padding: 0 1.4em; + } +-- +2.7.2 + diff --git a/SOURCES/allow-timed-login-with-no-user-list.patch b/SOURCES/allow-timed-login-with-no-user-list.patch new file mode 100644 index 0000000..572dd71 --- /dev/null +++ b/SOURCES/allow-timed-login-with-no-user-list.patch @@ -0,0 +1,175 @@ +From a08995020936b425a98970b686ff5f9169d8968b Mon Sep 17 00:00:00 2001 +From: Ray Strode +Date: Tue, 19 Apr 2016 13:12:46 -0400 +Subject: [PATCH] loginDialog: allow timed login with disabled user list + +--- + data/theme/gnome-shell.css | 5 +++++ + js/gdm/authPrompt.js | 41 +++++++++++++++++++++++++++++++++++++++++ + js/gdm/loginDialog.js | 29 ++++++++++++++++++++++++++--- + 3 files changed, 72 insertions(+), 3 deletions(-) + +diff --git a/data/theme/gnome-shell.css b/data/theme/gnome-shell.css +index f1e9a23..97f8b0a 100644 +--- a/data/theme/gnome-shell.css ++++ b/data/theme/gnome-shell.css +@@ -2455,6 +2455,11 @@ StScrollBar StButton#vhandle:active { + background-size: contain; + } + ++.login-dialog-prompt-layout .login-dialog-timed-login-indicator { ++ height: 2px; ++ background-color: #8b8b8b; ++} ++ + .login-dialog-user-list-item .login-dialog-timed-login-indicator { + background-color: rgba(0,0,0,0.0); + height: 2px; +diff --git a/js/gdm/authPrompt.js b/js/gdm/authPrompt.js +index fe80519..4370721 100644 +--- a/js/gdm/authPrompt.js ++++ b/js/gdm/authPrompt.js +@@ -1,6 +1,7 @@ + // -*- mode: js; js-indent-level: 4; indent-tabs-mode: nil -*- + + const Clutter = imports.gi.Clutter; ++const GLib = imports.gi.GLib; + const Lang = imports.lang; + const Signals = imports.signals; + const St = imports.gi.St; +@@ -117,6 +118,11 @@ const AuthPrompt = new Lang.Class({ + + this._entry.grab_key_focus(); + ++ this._timedLoginIndicator = new St.Bin({ style_class: 'login-dialog-timed-login-indicator', ++ scale_x: 0 }); ++ ++ this.actor.add(this._timedLoginIndicator); ++ + this._message = new St.Label({ opacity: 0, + styleClass: 'login-dialog-message' }); + this._message.clutter_text.line_wrap = true; +@@ -141,6 +147,41 @@ const AuthPrompt = new Lang.Class({ + this._defaultButtonWell.add_child(this._spinner.actor); + }, + ++ showTimedLoginIndicator: function(time) { ++ let hold = new Batch.Hold(); ++ ++ this.hideTimedLoginIndicator(); ++ ++ let startTime = GLib.get_monotonic_time(); ++ ++ this._timedLoginTimeoutId = GLib.timeout_add (GLib.PRIORITY_DEFAULT, ++ 33, ++ Lang.bind(this, function() { ++ let currentTime = GLib.get_monotonic_time(); ++ let elapsedTime = (currentTime - startTime) / GLib.USEC_PER_SEC; ++ this._timedLoginIndicator.scale_x = elapsedTime / time; ++ if (elapsedTime >= time) { ++ this._timedLoginTimeoutId = 0; ++ hold.release(); ++ return GLib.SOURCE_REMOVE; ++ } ++ ++ return GLib.SOURCE_CONTINUE; ++ })); ++ ++ GLib.Source.set_name_by_id(this._timedLoginTimeoutId, '[gnome-shell] this._timedLoginTimeoutId'); ++ ++ return hold; ++ }, ++ ++ hideTimedLoginIndicator: function() { ++ if (this._timedLoginTimeoutId) { ++ GLib.source_remove(this._timedLoginTimeoutId); ++ this._timedLoginTimeoutId = 0; ++ } ++ this._timedLoginIndicator.scale_x = 0.; ++ }, ++ + _onDestroy: function() { + if (this._preemptiveAnswerWatchId) { + this._idleMonitor.remove_watch(this._preemptiveAnswerWatchId); +diff --git a/js/gdm/loginDialog.js b/js/gdm/loginDialog.js +index b577520..a370e1c 100644 +--- a/js/gdm/loginDialog.js ++++ b/js/gdm/loginDialog.js +@@ -734,6 +734,9 @@ const LoginDialog = new Lang.Class({ + + if (this._authPrompt.verificationStatus == AuthPrompt.AuthPromptStatus.NOT_VERIFYING) + this._authPrompt.reset(); ++ ++ if (this._disableUserList && this._timedLoginUserListHold) ++ this._timedLoginUserListHold.release(); + } + }, + +@@ -971,6 +974,9 @@ const LoginDialog = new Lang.Class({ + }, + + _showTimedLoginAnimation: function() { ++ if (this._disableUserList) { ++ return this._authPrompt.showTimedLoginIndicator(this._timedLoginAnimationTime); ++ } + this._timedLoginItem.actor.grab_key_focus(); + return this._timedLoginItem.showTimedLoginIndicator(this._timedLoginAnimationTime); + }, +@@ -998,19 +1004,31 @@ const LoginDialog = new Lang.Class({ + }, + + _startTimedLogin: function(userName, delay) { ++ this._timedLoginUserName = userName; + this._timedLoginItem = null; + this._timedLoginDelay = delay; + this._timedLoginAnimationTime = delay; +- + let tasks = [function() { +- return this._waitForItemForUser(userName); ++ if (this._disableUserList) ++ return; ++ ++ this._timedLoginUserListHold = this._waitForItemForUser(userName); ++ ++ return this._timedLoginUserListHold; + }, + + function() { ++ this._timedLoginUserListHold = null; ++ ++ if (this._disableUserList) ++ return; + this._timedLoginItem = this._userList.getItemFromUserName(userName); + }, + + function() { ++ if (this._disableUserList) ++ return; ++ + // If we're just starting out, start on the right + // item. + if (!this._userManager.is_loaded) { +@@ -1021,6 +1039,9 @@ const LoginDialog = new Lang.Class({ + this._blockTimedLoginUntilIdle, + + function() { ++ if (this._disableUserList) ++ return; ++ + this._userList.scrollToItem(this._timedLoginItem); + }, + +@@ -1045,7 +1066,9 @@ const LoginDialog = new Lang.Class({ + if (this._timedLoginItem) + this._timedLoginItem.hideTimedLoginIndicator(); + +- let userName = this._timedLoginItem.user.get_user_name(); ++ this._authPrompt.hideTimedLoginIndicator(); ++ ++ let userName = this._timedLoginUserName; + + if (userName) + this._startTimedLogin(userName, this._timedLoginDelay); +-- +1.8.3.1 + diff --git a/SOURCES/fix-cycle-keybindings.patch b/SOURCES/fix-cycle-keybindings.patch new file mode 100644 index 0000000..414105e --- /dev/null +++ b/SOURCES/fix-cycle-keybindings.patch @@ -0,0 +1,602 @@ +From 9014bbdd2e8ccee83836fbb3795691a09d3c2d54 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Florian=20M=C3=BCllner?= +Date: Thu, 19 May 2016 14:41:24 +0200 +Subject: [PATCH 1/6] altTab: Take over cycle-windows/cycle-group keybindings + +The code to handle cycling through windows without showing a popup +was removed from mutter a while ago, which left the corresponding +keybindings mostly broken (i.e. they now only switch between two +windows). With the various switch-foo keybindings handled by the +shell, it is now easier to take over the cycle-foo keybindings as +well. + +https://bugzilla.gnome.org/show_bug.cgi?id=730739 +--- + js/ui/altTab.js | 79 ++++++++++++++++++++++++++++++++++++++++++++++++++ + js/ui/windowManager.js | 34 ++++++++++++++++++++++ + 2 files changed, 113 insertions(+) + +diff --git a/js/ui/altTab.js b/js/ui/altTab.js +index 3850d89..0d569f8 100644 +--- a/js/ui/altTab.js ++++ b/js/ui/altTab.js +@@ -355,6 +355,59 @@ const AppSwitcherPopup = new Lang.Class({ + } + }); + ++const CyclerPopup = new Lang.Class({ ++ Name: 'CyclerPopup', ++ Extends: SwitcherPopup.SwitcherPopup, ++ Abstract: true, ++ ++ _init : function() { ++ this.parent(); ++ ++ this._items = this._getWindows(); ++ ++ if (this._items.length == 0) ++ return; ++ ++ // We don't show an actual popup, so just provide what SwitcherPopup ++ // expects instead of inheriting from SwitcherList ++ this._switcherList = { actor: new St.Widget(), ++ highlight: Lang.bind(this, this._highlightItem), ++ connect: function() {} }; ++ }, ++ ++ _highlightItem: function(index, justOutline) { ++ Main.activateWindow(this._items[index]); ++ }, ++ ++ _finish: function() { ++ this._highlightItem(this._selectedIndex); ++ ++ this.parent(); ++ } ++}); ++ ++ ++const GroupCyclerPopup = new Lang.Class({ ++ Name: 'GroupCyclerPopup', ++ Extends: CyclerPopup, ++ ++ _getWindows: function() { ++ let app = Shell.WindowTracker.get_default().focus_app; ++ return app ? app.get_windows() : []; ++ }, ++ ++ _keyPressHandler: function(keysym, action) { ++ if (action == Meta.KeyBindingAction.CYCLE_GROUP) ++ this._select(this._next()); ++ else if (action == Meta.KeyBindingAction.CYCLE_GROUP_BACKWARD) ++ this._select(this._previous()); ++ else ++ return Clutter.EVENT_PROPAGATE; ++ ++ return Clutter.EVENT_STOP; ++ } ++}); ++ + const WindowSwitcherPopup = new Lang.Class({ + Name: 'WindowSwitcherPopup', + Extends: SwitcherPopup.SwitcherPopup, +@@ -402,6 +455,32 @@ const WindowSwitcherPopup = new Lang.Class({ + } + }); + ++const WindowCyclerPopup = new Lang.Class({ ++ Name: 'WindowCyclerPopup', ++ Extends: CyclerPopup, ++ ++ _init: function() { ++ this._settings = new Gio.Settings({ schema_id: 'org.gnome.shell.window-switcher' }); ++ this.parent(); ++ }, ++ ++ _getWindows: function() { ++ let workspace = this._settings.get_boolean('current-workspace-only') ? global.screen.get_active_workspace() : null; ++ return global.display.get_tab_list(Meta.TabList.NORMAL, workspace); ++ }, ++ ++ _keyPressHandler: function(keysym, action) { ++ if (action == Meta.KeyBindingAction.CYCLE_WINDOWS) ++ this._select(this._next()); ++ else if (action == Meta.KeyBindingAction.CYCLE_WINDOWS_BACKWARD) ++ this._select(this._previous()); ++ else ++ return Clutter.EVENT_PROPAGATE; ++ ++ return Clutter.EVENT_STOP; ++ } ++}); ++ + const AppIcon = new Lang.Class({ + Name: 'AppIcon', + +diff --git a/js/ui/windowManager.js b/js/ui/windowManager.js +index e332552..b7dbc1f 100644 +--- a/js/ui/windowManager.js ++++ b/js/ui/windowManager.js +@@ -763,6 +763,18 @@ const WindowManager = new Lang.Class({ + this.setCustomKeybindingHandler('switch-windows-backward', + Shell.KeyBindingMode.NORMAL, + Lang.bind(this, this._startWindowSwitcher)); ++ this.setCustomKeybindingHandler('cycle-windows', ++ Shell.KeyBindingMode.NORMAL, ++ Lang.bind(this, this._startWindowCycler)); ++ this.setCustomKeybindingHandler('cycle-windows-backward', ++ Shell.KeyBindingMode.NORMAL, ++ Lang.bind(this, this._startWindowCycler)); ++ this.setCustomKeybindingHandler('cycle-group', ++ Shell.KeyBindingMode.NORMAL, ++ Lang.bind(this, this._startGroupCycler)); ++ this.setCustomKeybindingHandler('cycle-group-backward', ++ Shell.KeyBindingMode.NORMAL, ++ Lang.bind(this, this._startGroupCycler)); + this.setCustomKeybindingHandler('switch-panels', + Shell.KeyBindingMode.NORMAL | + Shell.KeyBindingMode.OVERVIEW | +@@ -1407,6 +1419,28 @@ const WindowManager = new Lang.Class({ + tabPopup.destroy(); + }, + ++ _startWindowCycler : function(display, screen, window, binding) { ++ /* prevent a corner case where both popups show up at once */ ++ if (this._workspaceSwitcherPopup != null) ++ this._workspaceSwitcherPopup.destroy(); ++ ++ let tabPopup = new AltTab.WindowCyclerPopup(); ++ ++ if (!tabPopup.show(binding.is_reversed(), binding.get_name(), binding.get_mask())) ++ tabPopup.destroy(); ++ }, ++ ++ _startGroupCycler : function(display, screen, window, binding) { ++ /* prevent a corner case where both popups show up at once */ ++ if (this._workspaceSwitcherPopup != null) ++ this._workspaceSwitcherPopup.destroy(); ++ ++ let tabPopup = new AltTab.GroupCyclerPopup(); ++ ++ if (!tabPopup.show(binding.is_reversed(), binding.get_name(), binding.get_mask())) ++ tabPopup.destroy(); ++ }, ++ + _startA11ySwitcher : function(display, screen, window, binding) { + Main.ctrlAltTabManager.popup(binding.is_reversed(), binding.get_name(), binding.get_mask()); + }, +-- +2.9.3 + + +From bfe5a9043e7a42108f39319c0966e0a6c3fd6d17 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Florian=20M=C3=BCllner?= +Date: Thu, 19 May 2016 16:36:46 +0200 +Subject: [PATCH 2/6] windowManager: Avoid code duplication + +The various switcher keybindings are handled identically, except for +the popup that is shown; update the code to reflect that instead of +duplicating the code again and again. + +https://bugzilla.gnome.org/show_bug.cgi?id=730739 +--- + js/ui/windowManager.js | 78 ++++++++++++++++++++++---------------------------- + 1 file changed, 35 insertions(+), 43 deletions(-) + +diff --git a/js/ui/windowManager.js b/js/ui/windowManager.js +index b7dbc1f..f228142 100644 +--- a/js/ui/windowManager.js ++++ b/js/ui/windowManager.js +@@ -747,34 +747,34 @@ const WindowManager = new Lang.Class({ + Lang.bind(this, this._showWorkspaceSwitcher)); + this.setCustomKeybindingHandler('switch-applications', + Shell.KeyBindingMode.NORMAL, +- Lang.bind(this, this._startAppSwitcher)); ++ Lang.bind(this, this._startSwitcher)); + this.setCustomKeybindingHandler('switch-group', + Shell.KeyBindingMode.NORMAL, +- Lang.bind(this, this._startAppSwitcher)); ++ Lang.bind(this, this._startSwitcher)); + this.setCustomKeybindingHandler('switch-applications-backward', + Shell.KeyBindingMode.NORMAL, +- Lang.bind(this, this._startAppSwitcher)); ++ Lang.bind(this, this._startSwitcher)); + this.setCustomKeybindingHandler('switch-group-backward', + Shell.KeyBindingMode.NORMAL, +- Lang.bind(this, this._startAppSwitcher)); ++ Lang.bind(this, this._startSwitcher)); + this.setCustomKeybindingHandler('switch-windows', + Shell.KeyBindingMode.NORMAL, +- Lang.bind(this, this._startWindowSwitcher)); ++ Lang.bind(this, this._startSwitcher)); + this.setCustomKeybindingHandler('switch-windows-backward', + Shell.KeyBindingMode.NORMAL, +- Lang.bind(this, this._startWindowSwitcher)); ++ Lang.bind(this, this._startSwitcher)); + this.setCustomKeybindingHandler('cycle-windows', + Shell.KeyBindingMode.NORMAL, +- Lang.bind(this, this._startWindowCycler)); ++ Lang.bind(this, this._startSwitcher)); + this.setCustomKeybindingHandler('cycle-windows-backward', + Shell.KeyBindingMode.NORMAL, +- Lang.bind(this, this._startWindowCycler)); ++ Lang.bind(this, this._startSwitcher)); + this.setCustomKeybindingHandler('cycle-group', + Shell.KeyBindingMode.NORMAL, +- Lang.bind(this, this._startGroupCycler)); ++ Lang.bind(this, this._startSwitcher)); + this.setCustomKeybindingHandler('cycle-group-backward', + Shell.KeyBindingMode.NORMAL, +- Lang.bind(this, this._startGroupCycler)); ++ Lang.bind(this, this._startSwitcher)); + this.setCustomKeybindingHandler('switch-panels', + Shell.KeyBindingMode.NORMAL | + Shell.KeyBindingMode.OVERVIEW | +@@ -1397,45 +1397,37 @@ const WindowManager = new Lang.Class({ + this._windowMenuManager.showWindowMenuForWindow(window, menu, rect); + }, + +- _startAppSwitcher : function(display, screen, window, binding) { +- /* prevent a corner case where both popups show up at once */ +- if (this._workspaceSwitcherPopup != null) +- this._workspaceSwitcherPopup.destroy(); +- +- let tabPopup = new AltTab.AppSwitcherPopup(); +- +- if (!tabPopup.show(binding.is_reversed(), binding.get_name(), binding.get_mask())) +- tabPopup.destroy(); +- }, +- +- _startWindowSwitcher : function(display, screen, window, binding) { +- /* prevent a corner case where both popups show up at once */ +- if (this._workspaceSwitcherPopup != null) +- this._workspaceSwitcherPopup.destroy(); +- +- let tabPopup = new AltTab.WindowSwitcherPopup(); +- +- if (!tabPopup.show(binding.is_reversed(), binding.get_name(), binding.get_mask())) +- tabPopup.destroy(); +- }, +- +- _startWindowCycler : function(display, screen, window, binding) { +- /* prevent a corner case where both popups show up at once */ +- if (this._workspaceSwitcherPopup != null) +- this._workspaceSwitcherPopup.destroy(); +- +- let tabPopup = new AltTab.WindowCyclerPopup(); ++ _startSwitcher: function(display, screen, window, binding) { ++ let constructor = null; ++ switch (binding.get_name()) { ++ case 'switch-applications': ++ case 'switch-applications-backward': ++ case 'switch-group': ++ case 'switch-group-backward': ++ constructor = AltTab.AppSwitcherPopup; ++ break; ++ case 'switch-windows': ++ case 'switch-windows-backward': ++ constructor = AltTab.WindowSwitcherPopup; ++ break; ++ case 'cycle-windows': ++ case 'cycle-windows-backward': ++ constructor = AltTab.WindowCyclerPopup; ++ break; ++ case 'cycle-group': ++ case 'cycle-group-backward': ++ constructor = AltTab.GroupCyclerPopup; ++ break; ++ } + +- if (!tabPopup.show(binding.is_reversed(), binding.get_name(), binding.get_mask())) +- tabPopup.destroy(); +- }, ++ if (!constructor) ++ return; + +- _startGroupCycler : function(display, screen, window, binding) { + /* prevent a corner case where both popups show up at once */ + if (this._workspaceSwitcherPopup != null) + this._workspaceSwitcherPopup.destroy(); + +- let tabPopup = new AltTab.GroupCyclerPopup(); ++ let tabPopup = new constructor(); + + if (!tabPopup.show(binding.is_reversed(), binding.get_name(), binding.get_mask())) + tabPopup.destroy(); +-- +2.9.3 + + +From 76169ed024198e8efbc876f6d50a21e71809b861 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Florian=20M=C3=BCllner?= +Date: Thu, 8 Sep 2016 16:05:06 +0200 +Subject: [PATCH 3/6] altTab: Don't mess up MRU order while cycling windows + +Commit bd6e7f14d17b reimplemented the cycle keybindings to +fix cycling between more than two windows, but the approach +of highlighting cycled windows by actually focusing them has +the drawback that cycling messes up the MRU order of windows. +To fix this, only change the window focus when the operation +finishes, and use a dedicated actor that draws a border around +a window clone for highlighting. + +https://bugzilla.gnome.org/show_bug.cgi?id=771063 +--- + data/theme/gnome-shell.css | 4 +++ + js/ui/altTab.js | 75 ++++++++++++++++++++++++++++++++++++++++++++-- + 2 files changed, 77 insertions(+), 2 deletions(-) + +diff --git a/data/theme/gnome-shell.css b/data/theme/gnome-shell.css +index f1e9a23..56ff92f 100644 +--- a/data/theme/gnome-shell.css ++++ b/data/theme/gnome-shell.css +@@ -1891,6 +1891,10 @@ StScrollBar StButton#vhandle:active { + color: white; + } + ++/* Window Cycler */ ++.cycler-highlight { ++ border: 5px solid #215d9c; } ++ + /* Workspace Switcher */ + .workspace-switcher-group { + padding: 12px; +diff --git a/js/ui/altTab.js b/js/ui/altTab.js +index 0d569f8..c87baa2 100644 +--- a/js/ui/altTab.js ++++ b/js/ui/altTab.js +@@ -355,6 +355,67 @@ const AppSwitcherPopup = new Lang.Class({ + } + }); + ++const CyclerHighlight = new Lang.Class({ ++ Name: 'CyclerHighlight', ++ ++ _init: function() { ++ this._window = null; ++ ++ this.actor = new St.Widget({ layout_manager: new Clutter.BinLayout() }); ++ ++ this._clone = new Clutter.Clone(); ++ this.actor.add_actor(this._clone); ++ ++ this._highlight = new St.Widget({ style_class: 'cycler-highlight' }); ++ this.actor.add_actor(this._highlight); ++ ++ let coordinate = Clutter.BindCoordinate.ALL; ++ let constraint = new Clutter.BindConstraint({ coordinate: coordinate }); ++ this._clone.bind_property('source', constraint, 'source', 0); ++ ++ this.actor.add_constraint(constraint); ++ ++ this.actor.connect('notify::allocation', ++ Lang.bind(this, this._onAllocationChanged)); ++ this.actor.connect('destroy', Lang.bind(this, this._onDestroy)); ++ }, ++ ++ set window(w) { ++ if (this._window == w) ++ return; ++ ++ this._window = w; ++ ++ if (this._clone.source) ++ this._clone.source.show(); ++ ++ let windowActor = this._window ? this._window.get_compositor_private() ++ : null; ++ ++ if (windowActor) ++ windowActor.hide(); ++ ++ this._clone.source = windowActor; ++ }, ++ ++ _onAllocationChanged: function() { ++ if (!this._window) { ++ this._highlight.set_size(0, 0); ++ this._highlight.hide(); ++ } else { ++ let [x, y] = this.actor.allocation.get_origin(); ++ let rect = this._window.get_frame_rect(); ++ this._highlight.set_size(rect.width, rect.height); ++ this._highlight.set_position(rect.x - x, rect.y - y); ++ this._highlight.show(); ++ } ++ }, ++ ++ _onDestroy: function() { ++ this.window = null; ++ } ++}); ++ + const CyclerPopup = new Lang.Class({ + Name: 'CyclerPopup', + Extends: SwitcherPopup.SwitcherPopup, +@@ -368,6 +429,9 @@ const CyclerPopup = new Lang.Class({ + if (this._items.length == 0) + return; + ++ this._highlight = new CyclerHighlight(); ++ global.window_group.add_actor(this._highlight.actor); ++ + // We don't show an actual popup, so just provide what SwitcherPopup + // expects instead of inheriting from SwitcherList + this._switcherList = { actor: new St.Widget(), +@@ -376,11 +440,18 @@ const CyclerPopup = new Lang.Class({ + }, + + _highlightItem: function(index, justOutline) { +- Main.activateWindow(this._items[index]); ++ this._highlight.window = this._items[index]; ++ global.window_group.set_child_above_sibling(this._highlight.actor, null); + }, + + _finish: function() { +- this._highlightItem(this._selectedIndex); ++ Main.activateWindow(this._items[this._selectedIndex]); ++ ++ this.parent(); ++ }, ++ ++ _onDestroy: function() { ++ this._highlight.actor.destroy(); + + this.parent(); + } +-- +2.9.3 + + +From d5a87ea4b596a24905b0d1496b75ce5a26ac31fa Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Florian=20M=C3=BCllner?= +Date: Tue, 13 Sep 2016 21:18:17 +0200 +Subject: [PATCH 4/6] altTab: Restore correct visibility when cycling windows + +Commit 3171819c improved window cycling by using a dedicated to clone +for highlighting rather than activating all cycled windows. Original +window actors are hidden while its clone is showing, and shown again +afterwards, however the latter is wrong for actors that are not supposed +to be visible (for example where the window is minimized, or on a different +workspace). Fix this by properly syncing the actor's visibility instead +of showing it unconditionally. + +https://bugzilla.gnome.org/show_bug.cgi?id=771536 +--- + js/ui/altTab.js | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/js/ui/altTab.js b/js/ui/altTab.js +index c87baa2..242b243 100644 +--- a/js/ui/altTab.js ++++ b/js/ui/altTab.js +@@ -387,7 +387,7 @@ const CyclerHighlight = new Lang.Class({ + this._window = w; + + if (this._clone.source) +- this._clone.source.show(); ++ this._clone.source.sync_visibility(); + + let windowActor = this._window ? this._window.get_compositor_private() + : null; +-- +2.9.3 + + +From 14f381e5a86b586a713f95f7af017552a3d1733d Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Florian=20M=C3=BCllner?= +Date: Wed, 14 Sep 2016 22:44:12 +0200 +Subject: [PATCH 5/6] altTab: Improve cycling to a window on another workspace + +Both 'cycle-group' and 'cycle-window' shortcuts allow cycling through +windows on all workspaces. While this works, it looks quite broken +since we started showing clones for highlighting: the selected window +vanishes (when its clone is destroyed), then slides back in with its +workspace. Instead, slide the selected window to its workspace like +we do for the 'move-to-workspace-*' shortcuts. + +https://bugzilla.gnome.org/show_bug.cgi?id=771536 +--- + js/ui/altTab.js | 16 +++++++++++++++- + 1 file changed, 15 insertions(+), 1 deletion(-) + +diff --git a/js/ui/altTab.js b/js/ui/altTab.js +index 242b243..42d3b4a 100644 +--- a/js/ui/altTab.js ++++ b/js/ui/altTab.js +@@ -445,7 +445,21 @@ const CyclerPopup = new Lang.Class({ + }, + + _finish: function() { +- Main.activateWindow(this._items[this._selectedIndex]); ++ let window = this._items[this._selectedIndex]; ++ let ws = window.get_workspace(); ++ let activeWs = global.screen.get_active_workspace(); ++ ++ if (activeWs == ws) { ++ Main.activateWindow(window); ++ } else { ++ // If the selected window is on a different workspace, we don't ++ // want it to disappear, then slide in with the workspace; instead, ++ // always activate it on the active workspace ... ++ activeWs.activate_with_focus(window, global.get_current_time()); ++ ++ // ... then slide it over to the original workspace if necessary ++ Main.wm.actionMoveWindow(window, ws); ++ } + + this.parent(); + }, +-- +2.9.3 + + +From d5008a5bbed4a5b0511dc4c6b947ec04134a6370 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Florian=20M=C3=BCllner?= +Date: Thu, 15 Sep 2016 17:41:52 +0200 +Subject: [PATCH 6/6] altTab: Skip unminimize effect when cycling to a window + +Similar to windows on another workspace, selecting a minimized window +doesn't look quite right - the selected window disappears, then animates +back in. Fix this by adding support for skipping the next effect to the +wm and use it to bypass the unminimize animation. + +https://bugzilla.gnome.org/show_bug.cgi?id=771536 +--- + js/ui/altTab.js | 5 +++++ + js/ui/windowManager.js | 9 +++++++++ + 2 files changed, 14 insertions(+) + +diff --git a/js/ui/altTab.js b/js/ui/altTab.js +index 42d3b4a..41d9647 100644 +--- a/js/ui/altTab.js ++++ b/js/ui/altTab.js +@@ -449,6 +449,11 @@ const CyclerPopup = new Lang.Class({ + let ws = window.get_workspace(); + let activeWs = global.screen.get_active_workspace(); + ++ if (window.minimized) { ++ Main.wm.skipNextEffect(window.get_compositor_private()); ++ window.unminimize(); ++ } ++ + if (activeWs == ws) { + Main.activateWindow(window); + } else { +diff --git a/js/ui/windowManager.js b/js/ui/windowManager.js +index f228142..237ae1d 100644 +--- a/js/ui/windowManager.js ++++ b/js/ui/windowManager.js +@@ -595,6 +595,8 @@ const WindowManager = new Lang.Class({ + + this._dimmedWindows = []; + ++ this._skippedActors = []; ++ + this._allowedKeybindings = {}; + + this._switchData = null; +@@ -875,6 +877,10 @@ const WindowManager = new Lang.Class({ + this._workspaceTracker.keepWorkspaceAlive(workspace, duration); + }, + ++ skipNextEffect: function(actor) { ++ this._skippedActors.push(actor); ++ }, ++ + setCustomKeybindingHandler: function(name, modes, handler) { + if (Meta.keybindings_set_custom_handler(name, handler)) + this.allowKeybinding(name, modes); +@@ -901,6 +907,9 @@ const WindowManager = new Lang.Class({ + }, + + _shouldAnimateActor: function(actor, types) { ++ if (this._removeEffect(this._skippedActors, actor)) ++ return false; ++ + if (!this._shouldAnimate()) + return false; + +-- +2.9.3 + diff --git a/SOURCES/fix-maximized-windows-flickering-to-the-wrong-struts.patch b/SOURCES/fix-maximized-windows-flickering-to-the-wrong-struts.patch new file mode 100644 index 0000000..cf744e8 --- /dev/null +++ b/SOURCES/fix-maximized-windows-flickering-to-the-wrong-struts.patch @@ -0,0 +1,27 @@ +diff -up gnome-shell-3.14.4/js/ui/layout.js.strut-timing gnome-shell-3.14.4/js/ui/layout.js +--- gnome-shell-3.14.4/js/ui/layout.js.strut-timing 2016-02-04 12:47:52.032839734 -0500 ++++ gnome-shell-3.14.4/js/ui/layout.js 2016-02-04 13:06:04.575627502 -0500 +@@ -636,7 +636,10 @@ const LayoutManager = new Lang.Class({ + this.addChrome(this._coverPane); + + if (Meta.is_restart() || global.screen.get_n_monitors() == 0) { +- // On restart, we don't do an animation ++ // On restart, we don't do an animation; force an update of the ++ // regions immediately so that maximized windows restore to the ++ // right size taking struts into account. ++ this._updateRegions(); + } else if (Main.sessionMode.isGreeter) { + this.panelBox.translation_y = -this.panelBox.height; + } else { +@@ -987,6 +990,11 @@ const LayoutManager = new Lang.Class({ + delete this._updateRegionIdle; + } + ++ // Bug workaround - get_transformed_position()/get_transformed_size() don't work after a change ++ // in stage size until the first pick or paint. ++ // https://bugzilla.gnome.org/show_bug.cgi?id=761565 ++ global.stage.get_actor_at_pos(Clutter.PickMode.ALL, 0, 0); ++ + // No need to update when we have a modal. + if (Main.modalCount > 0) + return GLib.SOURCE_REMOVE; diff --git a/SOURCES/gnome-shell-3.14.4-EL7.3_translations.patch b/SOURCES/gnome-shell-3.14.4-EL7.3_translations.patch new file mode 100644 index 0000000..fafe437 --- /dev/null +++ b/SOURCES/gnome-shell-3.14.4-EL7.3_translations.patch @@ -0,0 +1,15582 @@ +diff -urN gnome-shell-3.14.4/po/de.po gnome-shell-3.14.4_localized/po/de.po +--- gnome-shell-3.14.4/po/de.po 2015-03-23 23:39:15.000000000 +0530 ++++ gnome-shell-3.14.4_localized/po/de.po 2016-03-11 22:07:50.494000000 +0530 +@@ -1,9 +1,9 @@ + # German gnome-shell translation. + # Copyright (C) 2009 Free Software Foundation, Inc. + # This file is distributed under the same license as the gnome-shell package. +-# ++# + # workspace - Arbeitsfläche +-# ++# + # Hendrik Brandt , 2009. + # Hendrik Richter , 2009, 2010, 2011. + # Mario Blättermann , 2009-2013. +@@ -14,22 +14,22 @@ + # Christian Kirbach , 2009, 2010, 2011, 2012, 2013. + # Tobias Endrigkeit , 2012, 2013. + # Benjamin Steinwender , 2013-2014. +-# ++# lstemmle , 2016. #zanata ++# pnemade , 2016. #zanata + 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: 2014-10-01 19:43+0000\n" +-"PO-Revision-Date: 2014-10-01 22:16+0100\n" +-"Last-Translator: Christian Kirbach \n" +-"Language-Team: Deutsch \n" +-"Language: de_DE\n" ++"Report-Msgid-Bugs-To: \n" ++"POT-Creation-Date: 2016-02-10 14:02+0530\n" + "MIME-Version: 1.0\n" + "Content-Type: text/plain; charset=UTF-8\n" + "Content-Transfer-Encoding: 8bit\n" ++"PO-Revision-Date: 2016-03-07 04:27+0000\n" ++"Last-Translator: lstemmle \n" ++"Language-Team: Deutsch \n" ++"Language: de\n" + "Plural-Forms: nplurals=2; plural=(n != 1);\n" +-"X-Generator: Poedit 1.5.4\n" ++"X-Generator: Zanata 3.8.2\n" + + #: ../data/50-gnome-shell-system.xml.in.h:1 + msgid "System" +@@ -204,6 +204,7 @@ + #: ../data/org.gnome.shell.gschema.xml.in.in.h:22 + msgid "" + "Keybinding to open the \"Show Applications\" view of the Activities Overview." ++"" + msgstr "" + "Tastenkombination zum Öffnen der »Anwendungen anzeigen«-Ansicht der " + "Aktivitätenübersicht." +@@ -219,7 +220,8 @@ + #: ../data/org.gnome.shell.gschema.xml.in.in.h:25 + msgid "Keybinding to toggle the visibility of the message tray" + msgstr "" +-"Tastenkombination zum Umschalten der Sichtbarkeit des Benachrichtigungsfeldes" ++"Tastenkombination zum Umschalten der Sichtbarkeit des " ++"Benachrichtigungsfeldes" + + #: ../data/org.gnome.shell.gschema.xml.in.in.h:26 + msgid "Keybinding to toggle the visibility of the message tray." +@@ -237,7 +239,8 @@ + + #: ../data/org.gnome.shell.gschema.xml.in.in.h:29 + msgid "" +-"Keybinding that pauses and resumes all running tweens, for debugging purposes" ++"Keybinding that pauses and resumes all running tweens, for debugging " ++"purposes" + msgstr "" + "Tastenkombination, die alle laufenden Zwischenbilder anhält und fortsetzt. " + "Zur Fehlerdiagnose." +@@ -270,8 +273,8 @@ + #: ../data/org.gnome.shell.gschema.xml.in.in.h:35 + msgid "" + "Configures how the windows are shown in the switcher. Valid possibilities " +-"are 'thumbnail-only' (shows a thumbnail of the window), 'app-icon-" +-"only' (shows only the application icon) or 'both'." ++"are 'thumbnail-only' (shows a thumbnail of the window), 'app-icon-only' " ++"(shows only the application icon) or 'both'." + msgstr "" + "Legt fest, wie Fenster im Fensterwechsler dargestellt werden. Mögliche Werte " + "sind »thumbnail-only« (Vorschaubilder der Fenster werden angezeigt), »app-" +@@ -321,7 +324,7 @@ + msgstr "Erzwungene Anmeldeseite" + + #: ../js/extensionPrefs/main.js:123 +-#, javascript-format ++#, c-format + msgid "There was an error loading the preferences dialog for %s:" + msgstr "Beim Laden des Einstellungsdialogs für %s ist ein Fehler aufgetreten:" + +@@ -329,54 +332,68 @@ + msgid "GNOME Shell Extensions" + msgstr "GNOME-Shell-Erweiterungen" + +-#: ../js/gdm/authPrompt.js:147 ../js/ui/components/networkAgent.js:143 ++#: ../js/gdm/authPrompt.js:159 ../js/ui/components/networkAgent.js:143 + #: ../js/ui/components/polkitAgent.js:166 ../js/ui/endSessionDialog.js:452 + #: ../js/ui/extensionDownloader.js:195 ../js/ui/shellMountOperation.js:399 + #: ../js/ui/status/network.js:915 + msgid "Cancel" + msgstr "Abbrechen" + +-#: ../js/gdm/authPrompt.js:169 ../js/gdm/authPrompt.js:217 ++#: ../js/gdm/authPrompt.js:181 ../js/gdm/authPrompt.js:228 ++#: ../js/gdm/authPrompt.js:466 + msgid "Next" + msgstr "Weiter" + +-#: ../js/gdm/authPrompt.js:213 ../js/ui/shellMountOperation.js:403 ++#: ../js/gdm/authPrompt.js:224 ../js/ui/shellMountOperation.js:403 + #: ../js/ui/unlockDialog.js:59 + msgid "Unlock" + msgstr "Entsperren" + +-#: ../js/gdm/authPrompt.js:215 ++#: ../js/gdm/authPrompt.js:226 + msgctxt "button" + msgid "Sign In" + msgstr "Anmelden" + +-#: ../js/gdm/loginDialog.js:269 ++#: ../js/gdm/loginDialog.js:297 + msgid "Choose Session" + msgstr "Sitzung wählen" + +-#: ../js/gdm/loginDialog.js:429 ++#. translators: this message is shown below the user list on the ++#. login screen. It can be activated to reveal an entry for ++#. manually entering the username. ++#: ../js/gdm/loginDialog.js:458 + msgid "Not listed?" + msgstr "Nicht aufgeführt?" + +-#: ../js/gdm/loginDialog.js:614 +-#, javascript-format ++#. Translators: this message is shown below the username entry field ++#. to clue the user in on how to login to the local network realm ++#: ../js/gdm/loginDialog.js:859 ++#, c-format + msgid "(e.g., user or %s)" + msgstr "(z.B. Benutzer oder %s)" + +-#: ../js/gdm/loginDialog.js:619 ../js/ui/components/networkAgent.js:269 ++#. TTLS and PEAP are actually much more complicated, but this complication ++#. is not visible here since we only care about phase2 authentication ++#. (and don't even care of which one) ++#: ../js/gdm/loginDialog.js:864 ../js/ui/components/networkAgent.js:269 + #: ../js/ui/components/networkAgent.js:287 + msgid "Username: " + msgstr "Benutzername:" + +-#: ../js/gdm/loginDialog.js:922 ++#: ../js/gdm/loginDialog.js:1193 + msgid "Login Window" + msgstr "Anmeldefenster" + +-#: ../js/gdm/util.js:323 ++#: ../js/gdm/util.js:344 + msgid "Authentication error" + msgstr "Anmeldung fehlgeschlagen" + +-#: ../js/gdm/util.js:453 ++#. We don't show fingerprint messages directly since it's ++#. not the main auth service. Instead we use the messages ++#. as a cue to display our own message. ++#. Translators: this message is shown below the password entry field ++#. to indicate the user can swipe their finger instead ++#: ../js/gdm/util.js:483 + msgid "(or swipe finger)" + msgstr "(oder benutzen Sie den Fingerabdruckleser)" + +@@ -384,58 +401,62 @@ + msgid "Command not found" + msgstr "Befehl nicht gefunden" + ++#. Replace "Error invoking GLib.shell_parse_argv: " with ++#. something nicer + #: ../js/misc/util.js:148 + msgid "Could not parse command:" + msgstr "Befehl konnte nicht verarbeitet werden:" + + #: ../js/misc/util.js:156 +-#, javascript-format ++#, c-format + msgid "Execution of “%s” failed:" + msgstr "Ausführung von »%s« ist gescheitert:" + ++#. TRANSLATORS: this is the title of the wifi captive portal login ++#. window, until we know the title of the actual login page + #: ../js/portalHelper/main.js:85 + msgid "Web Authentication Redirect" + msgstr "Umleitung zu einer Internet-Anmeldung" + +-#: ../js/ui/appDisplay.js:772 ++#: ../js/ui/appDisplay.js:773 + msgid "Frequently used applications will appear here" + msgstr "Häufig genutzte Anwendungen werden hier erscheinen" + +-#: ../js/ui/appDisplay.js:883 ++#: ../js/ui/appDisplay.js:884 + msgid "Frequent" + msgstr "Häufig" + +-#: ../js/ui/appDisplay.js:890 ++#: ../js/ui/appDisplay.js:891 + msgid "All" + msgstr "Alle" + +-#: ../js/ui/appDisplay.js:1790 ++#: ../js/ui/appDisplay.js:1795 + msgid "New Window" + msgstr "Neues Fenster" + +-#: ../js/ui/appDisplay.js:1816 ../js/ui/dash.js:285 ++#: ../js/ui/appDisplay.js:1821 ../js/ui/dash.js:285 + msgid "Remove from Favorites" + msgstr "Aus Favoriten entfernen" + +-#: ../js/ui/appDisplay.js:1822 ++#: ../js/ui/appDisplay.js:1827 + msgid "Add to Favorites" + msgstr "Zu Favoriten hinzufügen" + +-#: ../js/ui/appDisplay.js:1831 ++#: ../js/ui/appDisplay.js:1836 + msgid "Show Details" + msgstr "Details anzeigen" + +-#: ../js/ui/appFavorites.js:132 +-#, javascript-format ++#: ../js/ui/appFavorites.js:133 ++#, c-format + msgid "%s has been added to your favorites." + msgstr "%s wurde zu Ihren Favoriten hinzugefügt" + +-#: ../js/ui/appFavorites.js:166 +-#, javascript-format ++#: ../js/ui/appFavorites.js:167 ++#, c-format + msgid "%s has been removed from your favorites." + msgstr "%s wurde aus Ihren Favoriten entfernt" + +-#: ../js/ui/backgroundMenu.js:19 ../js/ui/panel.js:813 ++#: ../js/ui/backgroundMenu.js:19 ../js/ui/panel.js:820 + #: ../js/ui/status/system.js:337 + msgid "Settings" + msgstr "Einstellungen" +@@ -446,69 +467,69 @@ + + #. 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:67 ++#. ++#: ../js/ui/calendar.js:70 + msgctxt "event list time" + msgid "All Day" + msgstr "Ganztägig" + + #. Translators: Shown in calendar event list, if 24h format, +-#. \u2236 is a ratio character, similar to : */ +-#: ../js/ui/calendar.js:73 ++#. \u2236 is a ratio character, similar to : ++#: ../js/ui/calendar.js:77 + msgctxt "event list time" +-msgid "%H∶%M" +-msgstr "%H∶%M" ++msgid "%H\\u2236%M" ++msgstr "%H\\u2236%M" + + #. Translators: Shown in calendar event list, if 12h format, + #. \u2236 is a ratio character, similar to : and \u2009 is +-#. a thin space */ +-#: ../js/ui/calendar.js:82 ++#. a thin space ++#: ../js/ui/calendar.js:86 + msgctxt "event list time" +-msgid "%l∶%M %p" +-msgstr "%l∶%M %p" ++msgid "%l\\u2236%M\\u2009%p" ++msgstr "%l\\u2236%M\\u2009%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:113 ++#. ++#: ../js/ui/calendar.js:100 + msgctxt "grid sunday" + msgid "S" + msgstr "S" + +-#. Translators: Calendar grid abbreviation for Monday */ +-#: ../js/ui/calendar.js:115 ++#. Translators: Calendar grid abbreviation for Monday ++#: ../js/ui/calendar.js:102 + msgctxt "grid monday" + msgid "M" + msgstr "M" + +-#. Translators: Calendar grid abbreviation for Tuesday */ +-#: ../js/ui/calendar.js:117 ++#. Translators: Calendar grid abbreviation for Tuesday ++#: ../js/ui/calendar.js:104 + msgctxt "grid tuesday" + msgid "T" + msgstr "D" + +-#. Translators: Calendar grid abbreviation for Wednesday */ +-#: ../js/ui/calendar.js:119 ++#. Translators: Calendar grid abbreviation for Wednesday ++#: ../js/ui/calendar.js:106 + msgctxt "grid wednesday" + msgid "W" + msgstr "M" + +-#. Translators: Calendar grid abbreviation for Thursday */ +-#: ../js/ui/calendar.js:121 ++#. Translators: Calendar grid abbreviation for Thursday ++#: ../js/ui/calendar.js:108 + msgctxt "grid thursday" + msgid "T" + msgstr "D" + +-#. Translators: Calendar grid abbreviation for Friday */ +-#: ../js/ui/calendar.js:123 ++#. Translators: Calendar grid abbreviation for Friday ++#: ../js/ui/calendar.js:110 + msgctxt "grid friday" + msgid "F" + msgstr "F" + +-#. Translators: Calendar grid abbreviation for Saturday */ +-#: ../js/ui/calendar.js:125 ++#. Translators: Calendar grid abbreviation for Saturday ++#: ../js/ui/calendar.js:112 + msgctxt "grid saturday" + msgid "S" + msgstr "S" +@@ -518,86 +539,86 @@ + #. * 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:138 ++#. ++#: ../js/ui/calendar.js:125 + msgctxt "list sunday" + msgid "Su" + msgstr "So" + +-#. Translators: Event list abbreviation for Monday */ +-#: ../js/ui/calendar.js:140 ++#. Translators: Event list abbreviation for Monday ++#: ../js/ui/calendar.js:127 + msgctxt "list monday" + msgid "M" + msgstr "Mo" + +-#. Translators: Event list abbreviation for Tuesday */ +-#: ../js/ui/calendar.js:142 ++#. Translators: Event list abbreviation for Tuesday ++#: ../js/ui/calendar.js:129 + msgctxt "list tuesday" + msgid "T" + msgstr "Di" + +-#. Translators: Event list abbreviation for Wednesday */ +-#: ../js/ui/calendar.js:144 ++#. Translators: Event list abbreviation for Wednesday ++#: ../js/ui/calendar.js:131 + msgctxt "list wednesday" + msgid "W" + msgstr "Mi" + +-#. Translators: Event list abbreviation for Thursday */ +-#: ../js/ui/calendar.js:146 ++#. Translators: Event list abbreviation for Thursday ++#: ../js/ui/calendar.js:133 + msgctxt "list thursday" + msgid "Th" + msgstr "Do" + +-#. Translators: Event list abbreviation for Friday */ +-#: ../js/ui/calendar.js:148 ++#. Translators: Event list abbreviation for Friday ++#: ../js/ui/calendar.js:135 + msgctxt "list friday" + msgid "F" + msgstr "Fr" + +-#. Translators: Event list abbreviation for Saturday */ +-#: ../js/ui/calendar.js:150 ++#. Translators: Event list abbreviation for Saturday ++#: ../js/ui/calendar.js:137 + msgctxt "list saturday" + msgid "S" + msgstr "Sa" + +-#: ../js/ui/calendar.js:453 ++#: ../js/ui/calendar.js:462 + msgid "Previous month" + msgstr "Vorheriger Monat" + +-#: ../js/ui/calendar.js:463 ++#: ../js/ui/calendar.js:472 + msgid "Next month" + msgstr "Nächster Monat" + +-#. Translators: Text to show if there are no events */ +-#: ../js/ui/calendar.js:781 ++#. Translators: Text to show if there are no events ++#: ../js/ui/calendar.js:811 + msgid "Nothing Scheduled" + msgstr "Nichts geplant" + +-#. Translators: Shown on calendar heading when selected day occurs on current year */ +-#: ../js/ui/calendar.js:799 ++#. Translators: Shown on calendar heading when selected day occurs on current year ++#: ../js/ui/calendar.js:827 + 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:802 ++#. Translators: Shown on calendar heading when selected day occurs on different year ++#: ../js/ui/calendar.js:830 + msgctxt "calendar heading" + msgid "%A, %B %d, %Y" + msgstr "%a, %d. %B %Y" + +-#: ../js/ui/calendar.js:813 ++#: ../js/ui/calendar.js:840 + msgid "Today" + msgstr "Heute" + +-#: ../js/ui/calendar.js:817 ++#: ../js/ui/calendar.js:844 + msgid "Tomorrow" + msgstr "Morgen" + +-#: ../js/ui/calendar.js:828 ++#: ../js/ui/calendar.js:855 + msgid "This week" + msgstr "Diese Woche" + +-#: ../js/ui/calendar.js:836 ++#: ../js/ui/calendar.js:863 + msgid "Next week" + msgstr "Nächste Woche" + +@@ -614,7 +635,7 @@ + msgstr "Wechseldatenträger" + + #: ../js/ui/components/autorunManager.js:596 +-#, javascript-format ++#, c-format + msgid "Open with %s" + msgstr "Öffnen mit %s" + +@@ -635,6 +656,7 @@ + msgid "Connect" + msgstr "Verbinden" + ++#. Cisco LEAP + #: ../js/ui/components/networkAgent.js:231 + #: ../js/ui/components/networkAgent.js:243 + #: ../js/ui/components/networkAgent.js:271 +@@ -643,6 +665,7 @@ + msgid "Password: " + msgstr "Passwort:" + ++#. static WEP + #: ../js/ui/components/networkAgent.js:236 + msgid "Key: " + msgstr "Schlüssel:" +@@ -664,7 +687,7 @@ + msgstr "Anmeldung für Funknetzwerk wird benötigt" + + #: ../js/ui/components/networkAgent.js:319 +-#, javascript-format ++#, c-format + msgid "" + "Passwords or encryption keys are required to access the wireless network " + "“%s”." +@@ -701,7 +724,7 @@ + msgstr "Passwort der mobilen Breitbandverbindung" + + #: ../js/ui/components/networkAgent.js:346 +-#, javascript-format ++#, c-format + msgid "A password is required to connect to “%s”." + msgstr "Es wird ein Passwort benötigt, um sich mit »%s« zu verbinden." + +@@ -720,19 +743,24 @@ + #. Translators: "that didn't work" refers to the fact that the + #. * requested authentication was not gained; this can happen + #. * because of an authentication error (like invalid password), +-#. * for instance. */ ++#. * for instance. + #: ../js/ui/components/polkitAgent.js:271 ../js/ui/shellMountOperation.js:383 + msgid "Sorry, that didn't work. Please try again." +-msgstr "Entschuldigung, das hat nicht geklappt. Bitte versuchen Sie es erneut." ++msgstr "" ++"Entschuldigung, das hat nicht geklappt. Bitte versuchen Sie es erneut." + ++#. FIXME: We don't have a 'chat room' icon (bgo #653737) use ++#. system-users for now as Empathy does. + #: ../js/ui/components/telepathyClient.js:240 + msgid "Invitation" + msgstr "Einladung" + ++#. We got the TpContact + #: ../js/ui/components/telepathyClient.js:300 + msgid "Call" + msgstr "Anruf" + ++#. We got the TpContact + #: ../js/ui/components/telepathyClient.js:316 + msgid "File Transfer" + msgstr "Dateiübertragung" +@@ -749,88 +777,95 @@ + msgid "Mute" + msgstr "Stumm" + +-#. Translators: Time in 24h format */ ++#. Translators: Time in 24h format + #: ../js/ui/components/telepathyClient.js:953 +-msgid "%H∶%M" +-msgstr "%H∶%M" ++msgid "%H\\u2236%M" ++msgstr "%H\\u2236%M" + + #. Translators: this is the word "Yesterday" followed by a +-#. time string in 24h format. i.e. "Yesterday, 14:30" */ ++#. time string in 24h format. i.e. "Yesterday, 14:30" + #: ../js/ui/components/telepathyClient.js:960 +-msgid "Yesterday, %H∶%M" +-msgstr "Gestern, %H:%M" ++#, no-c-format ++msgid "Yesterday, %H\\u2236%M" ++msgstr "Gestern, %H\\u2236%M" + + #. Translators: this is the week day name followed by a time +-#. string in 24h format. i.e. "Monday, 14:30" */ ++#. string in 24h format. i.e. "Monday, 14:30" + #: ../js/ui/components/telepathyClient.js:967 +-msgid "%A, %H∶%M" +-msgstr "%A, %H∶%M" ++#, no-c-format ++msgid "%A, %H\\u2236%M" ++msgstr "%A, %H\\u2236%M" + + #. Translators: this is the month name and day number + #. followed by a time string in 24h format. +-#. i.e. "May 25, 14:30" */ ++#. i.e. "May 25, 14:30" + #: ../js/ui/components/telepathyClient.js:974 +-msgid "%B %d, %H∶%M" +-msgstr "%e. %B, %H∶%M" ++#, no-c-format ++msgid "%B %d, %H\\u2236%M" ++msgstr "%B %d, %H\\u2236%M" + + #. Translators: this is the month name, day number, year + #. number followed by a time string in 24h format. +-#. i.e. "May 25 2012, 14:30" */ ++#. i.e. "May 25 2012, 14:30" + #: ../js/ui/components/telepathyClient.js:980 +-msgid "%B %d %Y, %H∶%M" +-msgstr "%e. %B %Y, %H:%M" ++#, no-c-format ++msgid "%B %d %Y, %H\\u2236%M" ++msgstr "%B %d %Y, %H\\u2236%M" + +-# 24h Format +-#. Translators: Time in 24h format */ ++#. Translators: Time in 24h format + #: ../js/ui/components/telepathyClient.js:986 +-msgid "%l∶%M %p" +-msgstr "%H∶%M" ++msgid "%l\\u2236%M %p" ++msgstr "%l\\u2236%M %p" + + #. Translators: this is the word "Yesterday" followed by a +-#. time string in 12h format. i.e. "Yesterday, 2:30 pm" */ ++#. time string in 12h format. i.e. "Yesterday, 2:30 pm" + #: ../js/ui/components/telepathyClient.js:993 +-msgid "Yesterday, %l∶%M %p" +-msgstr "Gestern, %H:%M" ++#, no-c-format ++msgid "Yesterday, %l\\u2236%M %p" ++msgstr "Gestern, %l\\u2236%M %p" + + #. Translators: this is the week day name followed by a time +-#. string in 12h format. i.e. "Monday, 2:30 pm" */ ++#. string in 12h format. i.e. "Monday, 2:30 pm" + #: ../js/ui/components/telepathyClient.js:1000 +-msgid "%A, %l∶%M %p" +-msgstr "%A, %H∶%M" ++#, no-c-format ++msgid "%A, %l\\u2236%M %p" ++msgstr "%A, %l\\u2236%M %p" + + #. Translators: this is the month name and day number + #. followed by a time string in 12h format. +-#. i.e. "May 25, 2:30 pm" */ ++#. i.e. "May 25, 2:30 pm" + #: ../js/ui/components/telepathyClient.js:1007 +-msgid "%B %d, %l∶%M %p" +-msgstr "%e. %B, %H∶%M" ++#, no-c-format ++msgid "%B %d, %l\\u2236%M %p" ++msgstr "%B %d, %l\\u2236%M %p" + + #. Translators: this is the month name, day number, year + #. number followed by a time string in 12h format. +-#. i.e. "May 25 2012, 2:30 pm"*/ ++#. i.e. "May 25 2012, 2:30 pm" + #: ../js/ui/components/telepathyClient.js:1013 +-msgid "%B %d %Y, %l∶%M %p" +-msgstr "%e. %B %Y, %H:%M" ++#, no-c-format ++msgid "%B %d %Y, %l\\u2236%M %p" ++msgstr "%B %d %Y, %l\\u2236%M %p" + + #. Translators: this is the other person changing their old IM name to their new +-#. IM name. */ ++#. IM name. + #: ../js/ui/components/telepathyClient.js:1045 +-#, javascript-format ++#, c-format + msgid "%s is now known as %s" + msgstr "%s heißt jetzt %s" + + #. translators: argument is a room name like +-#. * room@jabber.org for example. */ ++#. * room@jabber.org for example. + #: ../js/ui/components/telepathyClient.js:1149 +-#, javascript-format ++#, c-format + msgid "Invitation to %s" + msgstr "Einladung zum Betreten von %s" + + #. translators: first argument is the name of a contact and the second + #. * one the name of a room. "Alice is inviting you to join room@jabber.org +-#. * for example. */ ++#. * for example. + #: ../js/ui/components/telepathyClient.js:1157 +-#, javascript-format ++#, c-format + msgid "%s is inviting you to join %s" + msgstr "%s lädt Sie ein, %s beizutreten" + +@@ -847,19 +882,19 @@ + msgid "Accept" + msgstr "Annehmen" + +-#. translators: argument is a contact name like Alice for example. */ ++#. translators: argument is a contact name like Alice for example. + #: ../js/ui/components/telepathyClient.js:1184 +-#, javascript-format ++#, c-format + msgid "Video call from %s" + msgstr "Video-Anruf von %s" + +-#. translators: argument is a contact name like Alice for example. */ ++#. translators: argument is a contact name like Alice for example. + #: ../js/ui/components/telepathyClient.js:1187 +-#, javascript-format ++#, c-format + msgid "Call from %s" + msgstr "Anruf von %s" + +-#. translators: this is a button label (verb), not a noun */ ++#. translators: this is a button label (verb), not a noun + #: ../js/ui/components/telepathyClient.js:1201 + msgid "Answer" + msgstr "Antworten" +@@ -868,15 +903,15 @@ + #. * the contact's alias and the second one is the + #. * file name. The string will be something + #. * like: "Alice is sending you test.ogg" +-#. */ ++#. + #: ../js/ui/components/telepathyClient.js:1222 +-#, javascript-format ++#, c-format + msgid "%s is sending you %s" + msgstr "%s sendet Ihnen %s" + +-#. To translators: The parameter is the contact's alias */ ++#. To translators: The parameter is the contact's alias + #: ../js/ui/components/telepathyClient.js:1251 +-#, javascript-format ++#, c-format + msgid "%s would like permission to see when you are online" + msgstr "%s bittet um das Recht, Ihre Online-Verfügbarkeit sehen zu dürfen" + +@@ -989,9 +1024,9 @@ + msgstr "Interner Fehler" + + #. translators: argument is the account name, like +-#. * name@jabber.org for example. */ ++#. * name@jabber.org for example. + #: ../js/ui/components/telepathyClient.js:1393 +-#, javascript-format ++#, c-format + msgid "Unable to connect to %s" + msgstr "Verbindung zu %s fehlgeschlagen" + +@@ -1003,7 +1038,7 @@ + msgid "Unknown reason" + msgstr "Unbekannter Grund" + +-#: ../js/ui/ctrlAltTab.js:29 ../js/ui/viewSelector.js:154 ++#: ../js/ui/ctrlAltTab.js:29 ../js/ui/viewSelector.js:155 + msgid "Windows" + msgstr "Fenster" + +@@ -1012,31 +1047,33 @@ + msgstr "Anwendungen anzeigen" + + # Würde ich so übernehmen, oder evtl. »Dock«. ++#. Translators: this is the name of the dock/favorites area on ++#. the left of the overview + #: ../js/ui/dash.js:445 + msgid "Dash" + msgstr "Dash" + +-#: ../js/ui/dateMenu.js:96 ++#: ../js/ui/dateMenu.js:97 + msgid "Open Calendar" + msgstr "Kalender öffnen" + +-#: ../js/ui/dateMenu.js:100 ++#: ../js/ui/dateMenu.js:101 + msgid "Open Clocks" + msgstr "Uhren öffnen" + +-#: ../js/ui/dateMenu.js:107 ++#: ../js/ui/dateMenu.js:108 + msgid "Date & Time Settings" + msgstr "Einstellungen für Datum und Uhrzeit" + + #. 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:204 ++#. ++#: ../js/ui/dateMenu.js:132 + msgid "%A %B %e, %Y" + msgstr "%A, %e. %B %Y" + + #: ../js/ui/endSessionDialog.js:64 +-#, javascript-format ++#, c-format + msgctxt "title" + msgid "Log Out %s" + msgstr "%s abmelden" +@@ -1047,14 +1084,14 @@ + msgstr "Abmelden" + + #: ../js/ui/endSessionDialog.js:67 +-#, javascript-format ++#, c-format + msgid "%s will be logged out automatically in %d second." + msgid_plural "%s will be logged out automatically in %d seconds." + msgstr[0] "%s wird automatisch in %d Sekunde abgemeldet." + msgstr[1] "%s wird automatisch in %d Sekunden abgemeldet." + + #: ../js/ui/endSessionDialog.js:72 +-#, javascript-format ++#, c-format + msgid "You will be logged out automatically in %d second." + msgid_plural "You will be logged out automatically in %d seconds." + msgstr[0] "Sie werden automatisch in %d Sekunde abgemeldet." +@@ -1076,7 +1113,7 @@ + msgstr "Aktualisierungen installieren und ausschalten" + + #: ../js/ui/endSessionDialog.js:87 +-#, javascript-format ++#, c-format + msgid "The system will power off automatically in %d second." + msgid_plural "The system will power off automatically in %d seconds." + msgstr[0] "Das System wird automatisch in %d Sekunde ausgeschaltet." +@@ -1103,7 +1140,7 @@ + msgstr "Neu starten" + + #: ../js/ui/endSessionDialog.js:105 +-#, javascript-format ++#, c-format + msgid "The system will restart automatically in %d second." + msgid_plural "The system will restart automatically in %d seconds." + msgstr[0] "Das System wird automatisch in %d Sekunde neu gestartet." +@@ -1115,8 +1152,9 @@ + msgstr "Neu starten und Aktualisierungen installieren" + + #: ../js/ui/endSessionDialog.js:121 +-#, javascript-format +-msgid "The system will automatically restart and install updates in %d second." ++#, c-format ++msgid "" ++"The system will automatically restart and install updates in %d second." + msgid_plural "" + "The system will automatically restart and install updates in %d seconds." + msgstr[0] "" +@@ -1154,15 +1192,15 @@ + msgid "Other users are logged in." + msgstr "Andere Benutzer sind angemeldet." + +-#. Translators: Remote here refers to a remote session, like a ssh login */ ++#. Translators: Remote here refers to a remote session, like a ssh login + #: ../js/ui/endSessionDialog.js:640 +-#, javascript-format ++#, c-format + msgid "%s (remote)" + msgstr "%s (Entfernt)" + +-#. Translators: Console here refers to a tty like a VT console */ ++#. Translators: Console here refers to a tty like a VT console + #: ../js/ui/endSessionDialog.js:643 +-#, javascript-format ++#, c-format + msgid "%s (console)" + msgstr "%s (Konsole)" + +@@ -1171,99 +1209,118 @@ + msgstr "Installieren" + + #: ../js/ui/extensionDownloader.js:204 +-#, javascript-format ++#, c-format + msgid "Download and install “%s” from extensions.gnome.org?" + msgstr "»%s« von extensions.gnome.org herunterladen und installieren?" + +-#: ../js/ui/keyboard.js:700 ../js/ui/status/keyboard.js:523 ++#: ../js/ui/extensionSystem.js:314 ++#, c-format ++msgid "%d extension is out of date" ++msgid_plural "%d extensions are out of date" ++msgstr[0] "%d Erweiterung ist veraltet" ++msgstr[1] "%d Erweiterungen sind veraltet" ++ ++#: ../js/ui/extensionSystem.js:317 ++msgid "You can visit http://extensions.gnome.org for updates" ++msgstr "Updates finden Sie unter http://extensions.gnome.org" ++ ++#: ../js/ui/keyboard.js:700 ../js/ui/status/keyboard.js:535 + msgid "Keyboard" + msgstr "Tastatur" + +-#: ../js/ui/lookingGlass.js:643 ++#: ../js/ui/lookingGlass.js:645 + msgid "No extensions installed" + msgstr "Keine Erweiterungen installiert" + +-#. Translators: argument is an extension UUID. */ +-#: ../js/ui/lookingGlass.js:697 +-#, javascript-format ++#. Translators: argument is an extension UUID. ++#: ../js/ui/lookingGlass.js:699 ++#, c-format + msgid "%s has not emitted any errors." + msgstr "%s hat keine Fehler ausgegeben." + +-#: ../js/ui/lookingGlass.js:703 ++#: ../js/ui/lookingGlass.js:705 + msgid "Hide Errors" + msgstr "Fehler verbergen" + +-#: ../js/ui/lookingGlass.js:707 ../js/ui/lookingGlass.js:767 ++#: ../js/ui/lookingGlass.js:709 ../js/ui/lookingGlass.js:769 + msgid "Show Errors" + msgstr "Fehler anzeigen" + +-#: ../js/ui/lookingGlass.js:716 ../js/ui/status/location.js:71 ++#: ../js/ui/lookingGlass.js:718 ../js/ui/status/location.js:71 + #: ../js/ui/status/location.js:176 + msgid "Enabled" + msgstr "Aktiviert" + + #. Translators: this is for a network device that cannot be activated +-#. because it's disabled by rfkill (airplane mode) */ ++#. because it's disabled by rfkill (airplane mode) + #. translators: + #. * The device has been disabled +-#: ../js/ui/lookingGlass.js:719 ../js/ui/status/location.js:179 ++#: ../js/ui/lookingGlass.js:721 ../js/ui/status/location.js:179 + #: ../js/ui/status/network.js:592 ../src/gvc/gvc-mixer-control.c:1830 + msgid "Disabled" + msgstr "Deaktiviert" + +-#: ../js/ui/lookingGlass.js:721 ++#: ../js/ui/lookingGlass.js:723 + msgid "Error" + msgstr "Fehler" + +-#: ../js/ui/lookingGlass.js:723 ++#: ../js/ui/lookingGlass.js:725 + msgid "Out of date" + msgstr "Veraltet" + +-#: ../js/ui/lookingGlass.js:725 ++#: ../js/ui/lookingGlass.js:727 + msgid "Downloading" + msgstr "Herunterladen" + +-#: ../js/ui/lookingGlass.js:749 ++#: ../js/ui/lookingGlass.js:751 + msgid "View Source" + msgstr "Quelle zeigen" + +-#: ../js/ui/lookingGlass.js:758 ++#: ../js/ui/lookingGlass.js:760 + msgid "Web Page" + msgstr "Webseite" + +-#: ../js/ui/messageTray.js:1327 ++#: ../js/ui/messageTray.js:1334 + msgid "Open" + msgstr "Öffnen" + +-#: ../js/ui/messageTray.js:1334 ++#: ../js/ui/messageTray.js:1341 + msgid "Remove" + msgstr "Entfernen" + +-#: ../js/ui/messageTray.js:1631 ++#: ../js/ui/messageTray.js:1638 + msgid "Notifications" + msgstr "Benachrichtigungen" + +-#: ../js/ui/messageTray.js:1638 ++#: ../js/ui/messageTray.js:1645 + msgid "Clear Messages" + msgstr "Nachrichten leeren" + +-#: ../js/ui/messageTray.js:1657 ++#: ../js/ui/messageTray.js:1664 + msgid "Notification Settings" + msgstr "Benachrichtigungseinstellungen" + +-#: ../js/ui/messageTray.js:1710 ++#: ../js/ui/messageTray.js:1717 + msgid "Tray Menu" + msgstr "Benachrichtigungsfeldmenü" + +-#: ../js/ui/messageTray.js:1934 ++#: ../js/ui/messageTray.js:1941 + msgid "No Messages" + msgstr "Keine Nachrichten" + +-#: ../js/ui/messageTray.js:1979 ++#: ../js/ui/messageTray.js:1988 + msgid "Message Tray" + msgstr "Benachrichtigungsfeld" + +-#: ../js/ui/messageTray.js:2992 ++#: ../js/ui/messageTray.js:2447 ../js/ui/overviewControls.js:483 ++#: ../js/ui/screenShield.js:151 ++#, c-format ++msgid "%d new message" ++msgid_plural "%d new messages" ++msgstr[0] "%d neue Nachricht" ++msgstr[1] "%d neue Nachrichten" ++ ++#: ../js/ui/messageTray.js:3017 + msgid "System Information" + msgstr "Systeminformationen" + +@@ -1272,13 +1329,6 @@ + msgid "Unknown" + msgstr "Unbekannt" + +-#: ../js/ui/overviewControls.js:482 ../js/ui/screenShield.js:151 +-#, javascript-format +-msgid "%d new message" +-msgid_plural "%d new messages" +-msgstr[0] "%d neue Nachricht" +-msgstr[1] "%d neue Nachrichten" +- + #: ../js/ui/overview.js:84 + msgid "Undo" + msgstr "Rückgängig" +@@ -1290,7 +1340,7 @@ + #. Translators: this is the text displayed + #. in the search entry when no search is + #. active; it should not exceed ~30 +-#. characters. */ ++#. characters. + #: ../js/ui/overview.js:246 + msgid "Type to search…" + msgstr "Suchbegriff eingeben …" +@@ -1300,15 +1350,20 @@ + msgstr "Beenden" + + #. Translators: If there is no suitable word for "Activities" +-#. in your language, you can use the word for "Overview". */ +-#: ../js/ui/panel.js:567 ++#. in your language, you can use the word for "Overview". ++#: ../js/ui/panel.js:574 + msgid "Activities" + msgstr "Aktivitäten" + +-#: ../js/ui/panel.js:918 ++#: ../js/ui/panel.js:925 + msgid "Top Bar" + msgstr "Oberes Panel" + ++#. 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:269 + msgid "toggle-switch-us" + msgstr "toggle-switch-intl" +@@ -1329,31 +1384,38 @@ + # %d - Tag des Monats als Zahl (Bereich 01 bis 31) + # %B - ausgeschriebener Name des Monats, abhängig von der gesetzten Umgebung + #. Translators: This is a time format for a date in +-#. long format */ ++#. long format + #: ../js/ui/screenShield.js:88 + msgid "%A, %B %d" + msgstr "%A, %d. %B" + + #: ../js/ui/screenShield.js:153 +-#, javascript-format ++#, c-format + msgid "%d new notification" + msgid_plural "%d new notifications" + msgstr[0] "%d neue Benachrichtigung" + msgstr[1] "%d neue Benachrichtigungen" + +-#: ../js/ui/screenShield.js:472 ../js/ui/status/system.js:345 ++#: ../js/ui/screenShield.js:473 ../js/ui/status/system.js:345 + msgid "Lock" + msgstr "Sperren" + +-#: ../js/ui/screenShield.js:706 ++#: ../js/ui/screenShield.js:709 + msgid "GNOME needs to lock the screen" + msgstr "GNOME muss den Bildschirm sperren" + +-#: ../js/ui/screenShield.js:833 ../js/ui/screenShield.js:1304 ++#. We could not become modal, so we can't activate the ++#. screenshield. The user is probably very upset at this ++#. point, but any application using global grabs is broken ++#. Just tell him to stop using this app ++#. ++#. XXX: another option is to kick the user into the gdm login ++#. screen, where we're not affected by grabs ++#: ../js/ui/screenShield.js:836 ../js/ui/screenShield.js:1312 + msgid "Unable to lock" + msgstr "Sperrung fehlgeschlagen" + +-#: ../js/ui/screenShield.js:834 ../js/ui/screenShield.js:1305 ++#: ../js/ui/screenShield.js:837 ../js/ui/screenShield.js:1313 + msgid "Lock was blocked by an application" + msgstr "Sperrung wurde von einer Anwendung blockiert" + +@@ -1433,6 +1495,8 @@ + msgid "Large Text" + msgstr "Große Schrift" + ++#. The Bluetooth menu only appears when Bluetooth is in use, ++#. so just statically build it with a "Turn Off" menu item. + #: ../js/ui/status/bluetooth.js:49 + msgid "Bluetooth" + msgstr "Bluetooth" +@@ -1449,7 +1513,7 @@ + msgstr "Bluetooth-Einstellungen" + + #: ../js/ui/status/bluetooth.js:104 +-#, javascript-format ++#, c-format + msgid "%d Connected Device" + msgid_plural "%d Connected Devices" + msgstr[0] "%d Verbundes Gerät" +@@ -1463,7 +1527,7 @@ + msgid "Brightness" + msgstr "Helligkeit" + +-#: ../js/ui/status/keyboard.js:547 ++#: ../js/ui/status/keyboard.js:559 + msgid "Show Keyboard Layout" + msgstr "Tastaturbelegung anzeigen" + +@@ -1501,7 +1565,7 @@ + msgstr "Verbunden" + + #. Translators: this is for network devices that are physically present but are not +-#. under NetworkManager's control (and thus cannot be used in the menu) */ ++#. under NetworkManager's control (and thus cannot be used in the menu) + #: ../js/ui/status/network.js:463 + msgid "Unmanaged" + msgstr "Nicht verwaltet" +@@ -1514,19 +1578,19 @@ + msgid "Connecting" + msgstr "Verbinden" + +-#. Translators: this is for network connections that require some kind of key or password */ ++#. Translators: this is for network connections that require some kind of key or password + #: ../js/ui/status/network.js:474 + msgid "Authentication required" + msgstr "Anmeldung erforderlich" + + #. Translators: this is for devices that require some kind of firmware or kernel +-#. module, which is missing */ ++#. module, which is missing + #: ../js/ui/status/network.js:482 + msgid "Firmware missing" + msgstr "Firmware fehlt" + + #. Translators: this is for a network device that cannot be activated (for example it +-#. is disabled by rfkill, or it has no coverage */ ++#. is disabled by rfkill, or it has no coverage + #: ../js/ui/status/network.js:486 + msgid "Unavailable" + msgstr "Nicht verfügbar" +@@ -1614,7 +1678,7 @@ + msgid "connecting..." + msgstr "Verbindungsaufbau …" + +-#. Translators: this is for network connections that require some kind of key or password */ ++#. Translators: this is for network connections that require some kind of key or password + #: ../js/ui/status/network.js:1412 + msgid "authentication required" + msgstr "Anmeldung erforderlich" +@@ -1651,19 +1715,23 @@ + msgid "Fully Charged" + msgstr "Vollständig geladen" + ++#. 0 is reported when UPower does not have enough data ++#. to estimate battery life + #: ../js/ui/status/power.js:72 ../js/ui/status/power.js:78 + msgid "Estimating…" + msgstr "Schätzung …" + ++#. Translators: this is : Remaining () + #: ../js/ui/status/power.js:86 +-#, javascript-format +-msgid "%d∶%02d Remaining (%d%%)" +-msgstr "%d∶%02d verbleibend (%d%%)" ++#, c-format ++msgid "%d\\u2236%02d Remaining (%d%%)" ++msgstr "%d\\u2236%02d Verbleibend (%d%%)" + ++#. Translators: this is : Until Full () + #: ../js/ui/status/power.js:91 +-#, javascript-format +-msgid "%d∶%02d Until Full (%d%%)" +-msgstr "%d∶%02d bis geladen (%d%%)" ++#, c-format ++msgid "%d\\u2236%02d Until Full (%d%%)" ++msgstr "%d\\u2236%02d Bis Voll (%d%%)" + + #: ../js/ui/status/power.js:119 + msgid "UPS" +@@ -1673,6 +1741,9 @@ + msgid "Battery" + msgstr "Akku" + ++#. The menu only appears when airplane mode is on, so just ++#. statically build it as if it was on, rather than dynamically ++#. changing the menu contents. + #: ../js/ui/status/rfkill.js:83 + msgid "Airplane Mode" + msgstr "Flugzeugmodus" +@@ -1721,16 +1792,16 @@ + msgid "Unlock Window" + msgstr "Fenster entsperren" + +-#: ../js/ui/viewSelector.js:158 ++#: ../js/ui/viewSelector.js:159 + msgid "Applications" + msgstr "Anwendungen" + +-#: ../js/ui/viewSelector.js:162 ++#: ../js/ui/viewSelector.js:163 + msgid "Search" + msgstr "Suchen" + + #: ../js/ui/windowAttentionHandler.js:19 +-#, javascript-format ++#, c-format + msgid "“%s” is ready" + msgstr "»%s« ist bereit" + +@@ -1740,7 +1811,7 @@ + + #. Translators: this and the following message should be limited in lenght, + #. to avoid ellipsizing the labels. +-#. */ ++#. + #: ../js/ui/windowManager.js:84 + msgid "Revert Settings" + msgstr "Zurücksetzen" +@@ -1750,10 +1821,11 @@ + msgstr "Beibehalten" + + #: ../js/ui/windowManager.js:107 +-#, javascript-format ++#, c-format + msgid "Settings changes will revert in %d second" + msgid_plural "Settings changes will revert in %d seconds" +-msgstr[0] "Die Änderungen der Einstellungen werden in %d Sekunde zurückgesetzt" ++msgstr[0] "" ++"Die Änderungen der Einstellungen werden in %d Sekunde zurückgesetzt" + msgstr[1] "" + "Die Änderungen der Einstellungen werden in %d Sekunden zurückgesetzt" + +@@ -1823,20 +1895,20 @@ + msgid "System Sounds" + msgstr "Systemklänge" + +-#: ../src/main.c:373 ++#: ../src/main.c:381 + msgid "Print version" + msgstr "Version ausgeben" + +-#: ../src/main.c:379 ++#: ../src/main.c:387 + msgid "Mode used by GDM for login screen" + msgstr "Der durch GDM im Anmeldefenster verwendete Modus" + +-#: ../src/main.c:385 ++#: ../src/main.c:393 + msgid "Use a specific mode, e.g. \"gdm\" for login screen" + msgstr "" + "Einen spezifischen Modus nutzen, wie z.B. »gdm« für den Anmeldebildschirm" + +-#: ../src/main.c:391 ++#: ../src/main.c:399 + msgid "List possible modes" + msgstr "Die möglichen Modi auflisten" + +@@ -1856,66 +1928,3 @@ + #: ../src/shell-polkit-authentication-agent.c:346 + msgid "Authentication dialog was dismissed by the user" + msgstr "Der Dialog zur Anmeldung wurde vom Benutzer geschlossen" +- +-#~ msgid "The maximum accuracy level of location." +-#~ msgstr "Maximale Ortsauflösung" +- +-#~ msgid "" +-#~ "Configures the maximum level of location accuracy applications are " +-#~ "allowed to see. Valid options are 'off' (disable location tracking), " +-#~ "'country', 'city', 'neighborhood', 'street', and 'exact' (typically " +-#~ "requires GPS receiver). Please keep in mind that this only controls what " +-#~ "GeoClue will allow applications to see and they can find user's location " +-#~ "on their own using network resources (albeit with street-level accuracy " +-#~ "at best)." +-#~ msgstr "" +-#~ "Legt die maximale Ortsauflösung für Anwendungen fest. Gültige Werte sind " +-#~ "»off« (Ortung deaktiviert), »country« (Land), »city« (Stadt), " +-#~ "»neighborhood« (Nachbarschaft), »street« (Straße) und »exact« (genau, " +-#~ "benötigt üblicherweise einen GPS-Empfänger). Bitte bedenken Sie, dass " +-#~ "diese Einstellung nur festlegt, welche Informationen GeoClue an " +-#~ "Anwendungen weitergibt. Die Anwendungen können jedoch selbst den Ort des " +-#~ "Benutzers durch Analyse von Netzwerkressourcen ausfindig machen (jedoch " +-#~ "im besten Fall mit Straßengenauigkeit)." +- +-#~ msgid "Arrangement of buttons on the titlebar" +-#~ msgstr "Anordnung der Knöpfe auf der Titelleiste" +- +-#~ msgid "" +-#~ "This key overrides the key in org.gnome.desktop.wm.preferences when " +-#~ "running GNOME Shell." +-#~ msgstr "" +-#~ "Dieser Schlüssel überschreibt den Schlüssel in org.gnome.desktop.wm." +-#~ "preferences, wenn die GNOME-Shell läuft." +- +-#~ msgid "Extension" +-#~ msgstr "Erweiterung" +- +-#~ msgid "Select an extension to configure using the combobox above." +-#~ msgstr "Wählen Sie oben eine Erweiterung aus, die Sie konfigurieren wollen." +- +-#~ msgid "calendar:MY" +-#~ msgstr "calendar:MY" +- +-#~ msgid "%A, %H:%M" +-#~ msgstr "%A, %H:%M" +- +-#~ msgid "%B %d, %H:%M" +-#~ msgstr " %d. %B, %H:%M" +- +-#~ msgid "%B %d %Y, %H:%M " +-#~ msgstr "%d. %B %Y, %H:%M " +- +-#~ msgid "List of categories that should be displayed as folders" +-#~ msgstr "Liste der Kategorien, die als Ordner angezeigt werden sollen" +- +-#~ msgid "" +-#~ "Each category name in this list will be represented as folder in the " +-#~ "application view, rather than being displayed inline in the main view." +-#~ msgstr "" +-#~ "Jeder Kategoriename in dieser Liste wird als Ordner in der " +-#~ "Anwendungsansicht dargestellt, anstatt in der Hauptansicht eingebettet." +- +-#~ msgctxt "event list time" +-#~ msgid "%H\\u2236%M" +-#~ msgstr "%H\\u2236%M" +diff -urN gnome-shell-3.14.4/po/es.po gnome-shell-3.14.4_localized/po/es.po +--- gnome-shell-3.14.4/po/es.po 2015-03-23 23:39:15.000000000 +0530 ++++ gnome-shell-3.14.4_localized/po/es.po 2016-03-11 22:07:50.544000000 +0530 +@@ -4,22 +4,22 @@ + # Jorge González , 2009, 2010, 2011. + # Benjamín Valero Espinosa , 2011. + # Daniel Mustieles , 2010, 2011, 2012, 2013, 2014. +-# ++# gguerrer , 2016. #zanata ++# pnemade , 2016. #zanata + 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: 2014-10-06 07:46+0000\n" +-"PO-Revision-Date: 2014-10-06 13:00+0200\n" +-"Last-Translator: Daniel Mustieles \n" +-"Language-Team: Español; Castellano \n" +-"Language: es\n" ++"Report-Msgid-Bugs-To: \n" ++"POT-Creation-Date: 2016-02-10 14:02+0530\n" + "MIME-Version: 1.0\n" + "Content-Type: text/plain; charset=UTF-8\n" + "Content-Transfer-Encoding: 8bit\n" ++"PO-Revision-Date: 2016-03-09 05:25+0000\n" ++"Last-Translator: gguerrer \n" ++"Language-Team: Español; Castellano \n" ++"Language: es\n" + "Plural-Forms: nplurals=2; plural=(n != 1);\n" +-"X-Generator: Gtranslator 2.91.6\n" ++"X-Generator: Zanata 3.8.2\n" + + #: ../data/50-gnome-shell-system.xml.in.h:1 + msgid "System" +@@ -196,6 +196,7 @@ + #: ../data/org.gnome.shell.gschema.xml.in.in.h:22 + msgid "" + "Keybinding to open the \"Show Applications\" view of the Activities Overview." ++"" + msgstr "" + "Asociación de teclas para abrir la vista «Mostrar aplicaciones» de la vista " + "de actividades." +@@ -214,7 +215,8 @@ + + #: ../data/org.gnome.shell.gschema.xml.in.in.h:26 + msgid "Keybinding to toggle the visibility of the message tray." +-msgstr "Asociación de teclas cambiar la visibilidad de la bandeja de mensajes." ++msgstr "" ++"Asociación de teclas cambiar la visibilidad de la bandeja de mensajes." + + #: ../data/org.gnome.shell.gschema.xml.in.in.h:27 + msgid "Keybinding to focus the active notification" +@@ -226,7 +228,8 @@ + + #: ../data/org.gnome.shell.gschema.xml.in.in.h:29 + msgid "" +-"Keybinding that pauses and resumes all running tweens, for debugging purposes" ++"Keybinding that pauses and resumes all running tweens, for debugging " ++"purposes" + msgstr "" + "Asociación de teclas que pausa y reanuda los «tweens» en ejecución, para " + "depuración." +@@ -259,12 +262,12 @@ + #: ../data/org.gnome.shell.gschema.xml.in.in.h:35 + msgid "" + "Configures how the windows are shown in the switcher. Valid possibilities " +-"are 'thumbnail-only' (shows a thumbnail of the window), 'app-icon-" +-"only' (shows only the application icon) or 'both'." ++"are 'thumbnail-only' (shows a thumbnail of the window), 'app-icon-only' " ++"(shows only the application icon) or 'both'." + msgstr "" + "Configura cómo se muestran las ventanas en el selector. Los valore posibles " +-"son «thumbnail-only» (muestra una miniatura de la ventana), «app-icon-" +-"only» (sólo muestra el icono de la aplicación) «both»." ++"son «thumbnail-only» (muestra una miniatura de la ventana), «app-icon-only» " ++"(sólo muestra el icono de la aplicación) «both»." + + #: ../data/org.gnome.shell.gschema.xml.in.in.h:36 + msgid "" +@@ -308,7 +311,7 @@ + msgstr "Portal captivo" + + #: ../js/extensionPrefs/main.js:123 +-#, javascript-format ++#, c-format + msgid "There was an error loading the preferences dialog for %s:" + msgstr "Hubo un error al lanzar el diálogo de preferencias para %s:" + +@@ -316,54 +319,68 @@ + msgid "GNOME Shell Extensions" + msgstr "Extensiones de GNOME Shell" + +-#: ../js/gdm/authPrompt.js:147 ../js/ui/components/networkAgent.js:143 ++#: ../js/gdm/authPrompt.js:159 ../js/ui/components/networkAgent.js:143 + #: ../js/ui/components/polkitAgent.js:166 ../js/ui/endSessionDialog.js:452 + #: ../js/ui/extensionDownloader.js:195 ../js/ui/shellMountOperation.js:399 + #: ../js/ui/status/network.js:915 + msgid "Cancel" + msgstr "Cancelar" + +-#: ../js/gdm/authPrompt.js:169 ../js/gdm/authPrompt.js:217 ++#: ../js/gdm/authPrompt.js:181 ../js/gdm/authPrompt.js:228 ++#: ../js/gdm/authPrompt.js:466 + msgid "Next" + msgstr "Siguiente" + +-#: ../js/gdm/authPrompt.js:213 ../js/ui/shellMountOperation.js:403 ++#: ../js/gdm/authPrompt.js:224 ../js/ui/shellMountOperation.js:403 + #: ../js/ui/unlockDialog.js:59 + msgid "Unlock" + msgstr "Desbloquear" + +-#: ../js/gdm/authPrompt.js:215 ++#: ../js/gdm/authPrompt.js:226 + msgctxt "button" + msgid "Sign In" + msgstr "Iniciar sesión" + +-#: ../js/gdm/loginDialog.js:269 ++#: ../js/gdm/loginDialog.js:297 + msgid "Choose Session" + msgstr "Elegir sesión" + +-#: ../js/gdm/loginDialog.js:429 ++#. translators: this message is shown below the user list on the ++#. login screen. It can be activated to reveal an entry for ++#. manually entering the username. ++#: ../js/gdm/loginDialog.js:458 + msgid "Not listed?" + msgstr "¿No está en la lista?" + +-#: ../js/gdm/loginDialog.js:614 +-#, javascript-format ++#. Translators: this message is shown below the username entry field ++#. to clue the user in on how to login to the local network realm ++#: ../js/gdm/loginDialog.js:859 ++#, c-format + msgid "(e.g., user or %s)" + msgstr "(ej., usuario o %s)" + +-#: ../js/gdm/loginDialog.js:619 ../js/ui/components/networkAgent.js:269 ++#. TTLS and PEAP are actually much more complicated, but this complication ++#. is not visible here since we only care about phase2 authentication ++#. (and don't even care of which one) ++#: ../js/gdm/loginDialog.js:864 ../js/ui/components/networkAgent.js:269 + #: ../js/ui/components/networkAgent.js:287 + msgid "Username: " + msgstr "Nombre de usuario:" + +-#: ../js/gdm/loginDialog.js:922 ++#: ../js/gdm/loginDialog.js:1193 + msgid "Login Window" + msgstr "Ventana de inicio de sesión" + +-#: ../js/gdm/util.js:323 ++#: ../js/gdm/util.js:344 + msgid "Authentication error" + msgstr "Error de autenticación" + +-#: ../js/gdm/util.js:453 ++#. We don't show fingerprint messages directly since it's ++#. not the main auth service. Instead we use the messages ++#. as a cue to display our own message. ++#. Translators: this message is shown below the password entry field ++#. to indicate the user can swipe their finger instead ++#: ../js/gdm/util.js:483 + msgid "(or swipe finger)" + msgstr "(o pase el dedo)" + +@@ -371,58 +388,62 @@ + msgid "Command not found" + msgstr "Comando no encontrado" + ++#. Replace "Error invoking GLib.shell_parse_argv: " with ++#. something nicer + #: ../js/misc/util.js:148 + msgid "Could not parse command:" + msgstr "No se pudo analizar el comando:" + + #: ../js/misc/util.js:156 +-#, javascript-format ++#, c-format + msgid "Execution of “%s” failed:" + msgstr "Falló la ejecución de «%s»:" + ++#. TRANSLATORS: this is the title of the wifi captive portal login ++#. window, until we know the title of the actual login page + #: ../js/portalHelper/main.js:85 + msgid "Web Authentication Redirect" + msgstr "Redirección para autenticación web" + +-#: ../js/ui/appDisplay.js:772 ++#: ../js/ui/appDisplay.js:773 + msgid "Frequently used applications will appear here" + msgstr "Las aplicaciones usadas frecuentemente aparecerán aquí" + +-#: ../js/ui/appDisplay.js:883 ++#: ../js/ui/appDisplay.js:884 + msgid "Frequent" + msgstr "Frecuentes" + +-#: ../js/ui/appDisplay.js:890 ++#: ../js/ui/appDisplay.js:891 + msgid "All" + msgstr "Todas" + +-#: ../js/ui/appDisplay.js:1790 ++#: ../js/ui/appDisplay.js:1795 + msgid "New Window" + msgstr "Ventana nueva" + +-#: ../js/ui/appDisplay.js:1816 ../js/ui/dash.js:285 ++#: ../js/ui/appDisplay.js:1821 ../js/ui/dash.js:285 + msgid "Remove from Favorites" + msgstr "Quitar de los favoritos" + +-#: ../js/ui/appDisplay.js:1822 ++#: ../js/ui/appDisplay.js:1827 + msgid "Add to Favorites" + msgstr "Añadir a los favoritos" + +-#: ../js/ui/appDisplay.js:1831 ++#: ../js/ui/appDisplay.js:1836 + msgid "Show Details" + msgstr "Mostrar detalles" + +-#: ../js/ui/appFavorites.js:132 +-#, javascript-format ++#: ../js/ui/appFavorites.js:133 ++#, c-format + msgid "%s has been added to your favorites." + msgstr "Se ha añadido %s a sus favoritos." + +-#: ../js/ui/appFavorites.js:166 +-#, javascript-format ++#: ../js/ui/appFavorites.js:167 ++#, c-format + msgid "%s has been removed from your favorites." + msgstr "Se ha quitado %s de sus favoritos." + +-#: ../js/ui/backgroundMenu.js:19 ../js/ui/panel.js:813 ++#: ../js/ui/backgroundMenu.js:19 ../js/ui/panel.js:820 + #: ../js/ui/status/system.js:337 + msgid "Settings" + msgstr "Configuración" +@@ -433,69 +454,69 @@ + + #. 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:67 ++#. ++#: ../js/ui/calendar.js:70 + msgctxt "event list time" + msgid "All Day" + msgstr "Todo el día" + + #. Translators: Shown in calendar event list, if 24h format, +-#. \u2236 is a ratio character, similar to : */ +-#: ../js/ui/calendar.js:73 ++#. \u2236 is a ratio character, similar to : ++#: ../js/ui/calendar.js:77 + msgctxt "event list time" +-msgid "%H∶%M" +-msgstr "%H∶%M" ++msgid "%H\\u2236%M" ++msgstr "%H\\u2236%M" + + #. Translators: Shown in calendar event list, if 12h format, + #. \u2236 is a ratio character, similar to : and \u2009 is +-#. a thin space */ +-#: ../js/ui/calendar.js:82 ++#. a thin space ++#: ../js/ui/calendar.js:86 + msgctxt "event list time" +-msgid "%l∶%M %p" +-msgstr "%l∶%M %p" ++msgid "%l\\u2236%M\\u2009%p" ++msgstr "%l\\u2236%M\\u2009%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:113 ++#. ++#: ../js/ui/calendar.js:100 + msgctxt "grid sunday" + msgid "S" + msgstr "D" + +-#. Translators: Calendar grid abbreviation for Monday */ +-#: ../js/ui/calendar.js:115 ++#. Translators: Calendar grid abbreviation for Monday ++#: ../js/ui/calendar.js:102 + msgctxt "grid monday" + msgid "M" + msgstr "L" + +-#. Translators: Calendar grid abbreviation for Tuesday */ +-#: ../js/ui/calendar.js:117 ++#. Translators: Calendar grid abbreviation for Tuesday ++#: ../js/ui/calendar.js:104 + msgctxt "grid tuesday" + msgid "T" + msgstr "M" + +-#. Translators: Calendar grid abbreviation for Wednesday */ +-#: ../js/ui/calendar.js:119 ++#. Translators: Calendar grid abbreviation for Wednesday ++#: ../js/ui/calendar.js:106 + msgctxt "grid wednesday" + msgid "W" + msgstr "X" + +-#. Translators: Calendar grid abbreviation for Thursday */ +-#: ../js/ui/calendar.js:121 ++#. Translators: Calendar grid abbreviation for Thursday ++#: ../js/ui/calendar.js:108 + msgctxt "grid thursday" + msgid "T" + msgstr "J" + +-#. Translators: Calendar grid abbreviation for Friday */ +-#: ../js/ui/calendar.js:123 ++#. Translators: Calendar grid abbreviation for Friday ++#: ../js/ui/calendar.js:110 + msgctxt "grid friday" + msgid "F" + msgstr "V" + +-#. Translators: Calendar grid abbreviation for Saturday */ +-#: ../js/ui/calendar.js:125 ++#. Translators: Calendar grid abbreviation for Saturday ++#: ../js/ui/calendar.js:112 + msgctxt "grid saturday" + msgid "S" + msgstr "S" +@@ -505,86 +526,86 @@ + #. * 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:138 ++#. ++#: ../js/ui/calendar.js:125 + msgctxt "list sunday" + msgid "Su" + msgstr "Dom" + +-#. Translators: Event list abbreviation for Monday */ +-#: ../js/ui/calendar.js:140 ++#. Translators: Event list abbreviation for Monday ++#: ../js/ui/calendar.js:127 + msgctxt "list monday" + msgid "M" + msgstr "L" + +-#. Translators: Event list abbreviation for Tuesday */ +-#: ../js/ui/calendar.js:142 ++#. Translators: Event list abbreviation for Tuesday ++#: ../js/ui/calendar.js:129 + msgctxt "list tuesday" + msgid "T" + msgstr "M" + +-#. Translators: Event list abbreviation for Wednesday */ +-#: ../js/ui/calendar.js:144 ++#. Translators: Event list abbreviation for Wednesday ++#: ../js/ui/calendar.js:131 + msgctxt "list wednesday" + msgid "W" + msgstr "X" + +-#. Translators: Event list abbreviation for Thursday */ +-#: ../js/ui/calendar.js:146 ++#. Translators: Event list abbreviation for Thursday ++#: ../js/ui/calendar.js:133 + msgctxt "list thursday" + msgid "Th" + msgstr "J" + +-#. Translators: Event list abbreviation for Friday */ +-#: ../js/ui/calendar.js:148 ++#. Translators: Event list abbreviation for Friday ++#: ../js/ui/calendar.js:135 + msgctxt "list friday" + msgid "F" + msgstr "V" + +-#. Translators: Event list abbreviation for Saturday */ +-#: ../js/ui/calendar.js:150 ++#. Translators: Event list abbreviation for Saturday ++#: ../js/ui/calendar.js:137 + msgctxt "list saturday" + msgid "S" + msgstr "S" + +-#: ../js/ui/calendar.js:453 ++#: ../js/ui/calendar.js:462 + msgid "Previous month" + msgstr "Mes anterior" + +-#: ../js/ui/calendar.js:463 ++#: ../js/ui/calendar.js:472 + msgid "Next month" + msgstr "Siguiente mes" + +-#. Translators: Text to show if there are no events */ +-#: ../js/ui/calendar.js:781 ++#. Translators: Text to show if there are no events ++#: ../js/ui/calendar.js:811 + msgid "Nothing Scheduled" + msgstr "Nada programado" + +-#. Translators: Shown on calendar heading when selected day occurs on current year */ +-#: ../js/ui/calendar.js:799 ++#. Translators: Shown on calendar heading when selected day occurs on current year ++#: ../js/ui/calendar.js:827 + 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:802 ++#. Translators: Shown on calendar heading when selected day occurs on different year ++#: ../js/ui/calendar.js:830 + msgctxt "calendar heading" + msgid "%A, %B %d, %Y" + msgstr "%A, %d de %B de %Y" + +-#: ../js/ui/calendar.js:813 ++#: ../js/ui/calendar.js:840 + msgid "Today" + msgstr "Hoy" + +-#: ../js/ui/calendar.js:817 ++#: ../js/ui/calendar.js:844 + msgid "Tomorrow" + msgstr "Mañana" + +-#: ../js/ui/calendar.js:828 ++#: ../js/ui/calendar.js:855 + msgid "This week" + msgstr "Esta semana" + +-#: ../js/ui/calendar.js:836 ++#: ../js/ui/calendar.js:863 + msgid "Next week" + msgstr "La semana que viene" + +@@ -601,7 +622,7 @@ + msgstr "Dispositivos extraíbles" + + #: ../js/ui/components/autorunManager.js:596 +-#, javascript-format ++#, c-format + msgid "Open with %s" + msgstr "Abrir con %s" + +@@ -622,6 +643,7 @@ + msgid "Connect" + msgstr "Conectar" + ++#. Cisco LEAP + #: ../js/ui/components/networkAgent.js:231 + #: ../js/ui/components/networkAgent.js:243 + #: ../js/ui/components/networkAgent.js:271 +@@ -630,6 +652,7 @@ + msgid "Password: " + msgstr "Contraseña: " + ++#. static WEP + #: ../js/ui/components/networkAgent.js:236 + msgid "Key: " + msgstr "Clave:" +@@ -651,7 +674,7 @@ + msgstr "La red inalámbrica requiere autenticación" + + #: ../js/ui/components/networkAgent.js:319 +-#, javascript-format ++#, c-format + msgid "" + "Passwords or encryption keys are required to access the wireless network " + "“%s”." +@@ -688,7 +711,7 @@ + msgstr "Contraseña de la red de banda ancha móvil" + + #: ../js/ui/components/networkAgent.js:346 +-#, javascript-format ++#, c-format + msgid "A password is required to connect to “%s”." + msgstr "Se requiere una contraseña para conectarse a «%s»." + +@@ -707,19 +730,23 @@ + #. Translators: "that didn't work" refers to the fact that the + #. * requested authentication was not gained; this can happen + #. * because of an authentication error (like invalid password), +-#. * for instance. */ ++#. * for instance. + #: ../js/ui/components/polkitAgent.js:271 ../js/ui/shellMountOperation.js:383 + msgid "Sorry, that didn't work. Please try again." + msgstr "Inténtelo de nuevo," + ++#. FIXME: We don't have a 'chat room' icon (bgo #653737) use ++#. system-users for now as Empathy does. + #: ../js/ui/components/telepathyClient.js:240 + msgid "Invitation" + msgstr "Invitación" + ++#. We got the TpContact + #: ../js/ui/components/telepathyClient.js:300 + msgid "Call" + msgstr "Llamar" + ++#. We got the TpContact + #: ../js/ui/components/telepathyClient.js:316 + msgid "File Transfer" + msgstr "Transferencia de archivos" +@@ -736,87 +763,95 @@ + msgid "Mute" + msgstr "Silenciar" + +-#. Translators: Time in 24h format */ ++#. Translators: Time in 24h format + #: ../js/ui/components/telepathyClient.js:953 +-msgid "%H∶%M" +-msgstr "%H∶%M" ++msgid "%H\\u2236%M" ++msgstr "%H\\u2236%M" + + #. Translators: this is the word "Yesterday" followed by a +-#. time string in 24h format. i.e. "Yesterday, 14:30" */ ++#. time string in 24h format. i.e. "Yesterday, 14:30" + #: ../js/ui/components/telepathyClient.js:960 +-msgid "Yesterday, %H∶%M" +-msgstr "Ayer, %H∶%M" ++#, no-c-format ++msgid "Yesterday, %H\\u2236%M" ++msgstr "Ayer, %H\\u2236%M" + + #. Translators: this is the week day name followed by a time +-#. string in 24h format. i.e. "Monday, 14:30" */ ++#. string in 24h format. i.e. "Monday, 14:30" + #: ../js/ui/components/telepathyClient.js:967 +-msgid "%A, %H∶%M" +-msgstr "%A, %H∶%M" ++#, no-c-format ++msgid "%A, %H\\u2236%M" ++msgstr "%A, %H\\u2236%M" + + #. Translators: this is the month name and day number + #. followed by a time string in 24h format. +-#. i.e. "May 25, 14:30" */ ++#. i.e. "May 25, 14:30" + #: ../js/ui/components/telepathyClient.js:974 +-msgid "%B %d, %H∶%M" +-msgstr "%d de %B, %H∶%M" ++#, no-c-format ++msgid "%B %d, %H\\u2236%M" ++msgstr "%B %d, %H\\u2236%M" + + #. Translators: this is the month name, day number, year + #. number followed by a time string in 24h format. +-#. i.e. "May 25 2012, 14:30" */ ++#. i.e. "May 25 2012, 14:30" + #: ../js/ui/components/telepathyClient.js:980 +-msgid "%B %d %Y, %H∶%M" +-msgstr "%d de %B de %Y, %H∶%M" ++#, no-c-format ++msgid "%B %d %Y, %H\\u2236%M" ++msgstr "%B %d %Y, %H\\u2236%M" + +-#. Translators: Time in 24h format */ ++#. Translators: Time in 24h format + #: ../js/ui/components/telepathyClient.js:986 +-msgid "%l∶%M %p" +-msgstr "%l∶%M %p" ++msgid "%l\\u2236%M %p" ++msgstr "%l\\u2236%M %p" + + #. Translators: this is the word "Yesterday" followed by a +-#. time string in 12h format. i.e. "Yesterday, 2:30 pm" */ ++#. time string in 12h format. i.e. "Yesterday, 2:30 pm" + #: ../js/ui/components/telepathyClient.js:993 +-msgid "Yesterday, %l∶%M %p" +-msgstr "Ayer a las %l∶%M %p" ++#, no-c-format ++msgid "Yesterday, %l\\u2236%M %p" ++msgstr "Ayer a las %l\\u2236%M %p" + + #. Translators: this is the week day name followed by a time +-#. string in 12h format. i.e. "Monday, 2:30 pm" */ ++#. string in 12h format. i.e. "Monday, 2:30 pm" + #: ../js/ui/components/telepathyClient.js:1000 +-msgid "%A, %l∶%M %p" +-msgstr "%A, %l∶%M %p" ++#, no-c-format ++msgid "%A, %l\\u2236%M %p" ++msgstr "%A, %l\\u2236%M %p" + + #. Translators: this is the month name and day number + #. followed by a time string in 12h format. +-#. i.e. "May 25, 2:30 pm" */ ++#. i.e. "May 25, 2:30 pm" + #: ../js/ui/components/telepathyClient.js:1007 +-msgid "%B %d, %l∶%M %p" +-msgstr "%d de %B, %l∶%M %p" ++#, no-c-format ++msgid "%B %d, %l\\u2236%M %p" ++msgstr "%B %d, %l\\u2236%M %p" + + #. Translators: this is the month name, day number, year + #. number followed by a time string in 12h format. +-#. i.e. "May 25 2012, 2:30 pm"*/ ++#. i.e. "May 25 2012, 2:30 pm" + #: ../js/ui/components/telepathyClient.js:1013 +-msgid "%B %d %Y, %l∶%M %p" +-msgstr "%d de %B de %Y, %l∶%M %p" ++#, no-c-format ++msgid "%B %d %Y, %l\\u2236%M %p" ++msgstr "%B %d %Y, %l\\u2236%M %p" + + #. Translators: this is the other person changing their old IM name to their new +-#. IM name. */ ++#. IM name. + #: ../js/ui/components/telepathyClient.js:1045 +-#, javascript-format ++#, c-format + msgid "%s is now known as %s" + msgstr "Ahora %s se llama %s" + + #. translators: argument is a room name like +-#. * room@jabber.org for example. */ ++#. * room@jabber.org for example. + #: ../js/ui/components/telepathyClient.js:1149 +-#, javascript-format ++#, c-format + msgid "Invitation to %s" + msgstr "Invitación a %s" + + #. translators: first argument is the name of a contact and the second + #. * one the name of a room. "Alice is inviting you to join room@jabber.org +-#. * for example. */ ++#. * for example. + #: ../js/ui/components/telepathyClient.js:1157 +-#, javascript-format ++#, c-format + msgid "%s is inviting you to join %s" + msgstr "%s le está invitando a unirse a %s" + +@@ -833,19 +868,19 @@ + msgid "Accept" + msgstr "Aceptar" + +-#. translators: argument is a contact name like Alice for example. */ ++#. translators: argument is a contact name like Alice for example. + #: ../js/ui/components/telepathyClient.js:1184 +-#, javascript-format ++#, c-format + msgid "Video call from %s" + msgstr "Videollamada de %s" + +-#. translators: argument is a contact name like Alice for example. */ ++#. translators: argument is a contact name like Alice for example. + #: ../js/ui/components/telepathyClient.js:1187 +-#, javascript-format ++#, c-format + msgid "Call from %s" + msgstr "Llamada de %s" + +-#. translators: this is a button label (verb), not a noun */ ++#. translators: this is a button label (verb), not a noun + #: ../js/ui/components/telepathyClient.js:1201 + msgid "Answer" + msgstr "Responder" +@@ -854,15 +889,15 @@ + #. * the contact's alias and the second one is the + #. * file name. The string will be something + #. * like: "Alice is sending you test.ogg" +-#. */ ++#. + #: ../js/ui/components/telepathyClient.js:1222 +-#, javascript-format ++#, c-format + msgid "%s is sending you %s" + msgstr "%s le está enviando %s" + +-#. To translators: The parameter is the contact's alias */ ++#. To translators: The parameter is the contact's alias + #: ../js/ui/components/telepathyClient.js:1251 +-#, javascript-format ++#, c-format + msgid "%s would like permission to see when you are online" + msgstr "%s solicita permiso para ver cuándo está en línea" + +@@ -974,9 +1009,9 @@ + msgstr "Error interno" + + #. translators: argument is the account name, like +-#. * name@jabber.org for example. */ ++#. * name@jabber.org for example. + #: ../js/ui/components/telepathyClient.js:1393 +-#, javascript-format ++#, c-format + msgid "Unable to connect to %s" + msgstr "No se pudo conectar a %s" + +@@ -988,7 +1023,7 @@ + msgid "Unknown reason" + msgstr "Razón desconocida" + +-#: ../js/ui/ctrlAltTab.js:29 ../js/ui/viewSelector.js:154 ++#: ../js/ui/ctrlAltTab.js:29 ../js/ui/viewSelector.js:155 + msgid "Windows" + msgstr "Ventanas" + +@@ -996,6 +1031,8 @@ + msgid "Show Applications" + msgstr "Mostrar aplicaciones" + ++#. Translators: this is the name of the dock/favorites area on ++#. the left of the overview + #: ../js/ui/dash.js:445 + msgid "Dash" + msgstr "Tablero" +@@ -1014,13 +1051,13 @@ + + #. 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:132 + msgid "%A %B %e, %Y" + msgstr "%A, %e de %B de %Y" + + #: ../js/ui/endSessionDialog.js:64 +-#, javascript-format ++#, c-format + msgctxt "title" + msgid "Log Out %s" + msgstr "Cerrar la sesión %s" +@@ -1031,14 +1068,14 @@ + msgstr "Cerrar la sesión" + + #: ../js/ui/endSessionDialog.js:67 +-#, javascript-format ++#, c-format + msgid "%s will be logged out automatically in %d second." + msgid_plural "%s will be logged out automatically in %d seconds." + msgstr[0] "se cerrará automáticamente la sesión de %s en %d segundo." + msgstr[1] "se cerrará automáticamente la sesión de %s en %d segundos." + + #: ../js/ui/endSessionDialog.js:72 +-#, javascript-format ++#, c-format + msgid "You will be logged out automatically in %d second." + msgid_plural "You will be logged out automatically in %d seconds." + msgstr[0] "Su sesión se cerrará automáticamente en %d segundo." +@@ -1060,7 +1097,7 @@ + msgstr "Instalar actualizaciones y apagar" + + #: ../js/ui/endSessionDialog.js:87 +-#, javascript-format ++#, c-format + msgid "The system will power off automatically in %d second." + msgid_plural "The system will power off automatically in %d seconds." + msgstr[0] "El sistema se apagará automáticamente en %d segundo." +@@ -1087,7 +1124,7 @@ + msgstr "Reiniciar" + + #: ../js/ui/endSessionDialog.js:105 +-#, javascript-format ++#, c-format + msgid "The system will restart automatically in %d second." + msgid_plural "The system will restart automatically in %d seconds." + msgstr[0] "El sistema se reiniciará automáticamente en %d segundo." +@@ -1099,8 +1136,9 @@ + msgstr "Reiniciar e instalar actualizaciones" + + #: ../js/ui/endSessionDialog.js:121 +-#, javascript-format +-msgid "The system will automatically restart and install updates in %d second." ++#, c-format ++msgid "" ++"The system will automatically restart and install updates in %d second." + msgid_plural "" + "The system will automatically restart and install updates in %d seconds." + msgstr[0] "" +@@ -1138,15 +1176,15 @@ + msgid "Other users are logged in." + msgstr "Hay otros usuarios con la sesión iniciada" + +-#. Translators: Remote here refers to a remote session, like a ssh login */ ++#. Translators: Remote here refers to a remote session, like a ssh login + #: ../js/ui/endSessionDialog.js:640 +-#, javascript-format ++#, c-format + msgid "%s (remote)" + msgstr "%s (remoto)" + +-#. Translators: Console here refers to a tty like a VT console */ ++#. Translators: Console here refers to a tty like a VT console + #: ../js/ui/endSessionDialog.js:643 +-#, javascript-format ++#, c-format + msgid "%s (console)" + msgstr "%s (consola)" + +@@ -1155,99 +1193,118 @@ + msgstr "Instalar" + + #: ../js/ui/extensionDownloader.js:204 +-#, javascript-format ++#, c-format + msgid "Download and install “%s” from extensions.gnome.org?" + msgstr "¿Descargar e instalar «%s» desde extensions.gnome.org?" + +-#: ../js/ui/keyboard.js:700 ../js/ui/status/keyboard.js:523 ++#: ../js/ui/extensionSystem.js:314 ++#, c-format ++msgid "%d extension is out of date" ++msgid_plural "%d extensions are out of date" ++msgstr[0] "Extensión %d extensión está desactualizada" ++msgstr[1] "La extensión %d está desactualizada" ++ ++#: ../js/ui/extensionSystem.js:317 ++msgid "You can visit http://extensions.gnome.org for updates" ++msgstr "Visite http://extensions.gnome.org para obtener actualizaciones" ++ ++#: ../js/ui/keyboard.js:700 ../js/ui/status/keyboard.js:535 + msgid "Keyboard" + msgstr "Teclado" + +-#: ../js/ui/lookingGlass.js:643 ++#: ../js/ui/lookingGlass.js:645 + msgid "No extensions installed" + msgstr "No hay extensiones instaladas" + +-#. Translators: argument is an extension UUID. */ +-#: ../js/ui/lookingGlass.js:697 +-#, javascript-format ++#. Translators: argument is an extension UUID. ++#: ../js/ui/lookingGlass.js:699 ++#, c-format + msgid "%s has not emitted any errors." + msgstr "%s no ha generado ningún error." + +-#: ../js/ui/lookingGlass.js:703 ++#: ../js/ui/lookingGlass.js:705 + msgid "Hide Errors" + msgstr "Ocultar errores" + +-#: ../js/ui/lookingGlass.js:707 ../js/ui/lookingGlass.js:767 ++#: ../js/ui/lookingGlass.js:709 ../js/ui/lookingGlass.js:769 + msgid "Show Errors" + msgstr "Mostrar errores" + +-#: ../js/ui/lookingGlass.js:716 ../js/ui/status/location.js:71 ++#: ../js/ui/lookingGlass.js:718 ../js/ui/status/location.js:71 + #: ../js/ui/status/location.js:176 + msgid "Enabled" + msgstr "Activado" + + #. Translators: this is for a network device that cannot be activated +-#. because it's disabled by rfkill (airplane mode) */ ++#. because it's disabled by rfkill (airplane mode) + #. translators: + #. * The device has been disabled +-#: ../js/ui/lookingGlass.js:719 ../js/ui/status/location.js:179 ++#: ../js/ui/lookingGlass.js:721 ../js/ui/status/location.js:179 + #: ../js/ui/status/network.js:592 ../src/gvc/gvc-mixer-control.c:1830 + msgid "Disabled" + msgstr "Desactivado" + +-#: ../js/ui/lookingGlass.js:721 ++#: ../js/ui/lookingGlass.js:723 + msgid "Error" + msgstr "Error" + +-#: ../js/ui/lookingGlass.js:723 ++#: ../js/ui/lookingGlass.js:725 + msgid "Out of date" + msgstr "Caducado" + +-#: ../js/ui/lookingGlass.js:725 ++#: ../js/ui/lookingGlass.js:727 + msgid "Downloading" + msgstr "Descargando" + +-#: ../js/ui/lookingGlass.js:749 ++#: ../js/ui/lookingGlass.js:751 + msgid "View Source" + msgstr "Ver fuente" + +-#: ../js/ui/lookingGlass.js:758 ++#: ../js/ui/lookingGlass.js:760 + msgid "Web Page" + msgstr "Página web" + +-#: ../js/ui/messageTray.js:1327 ++#: ../js/ui/messageTray.js:1334 + msgid "Open" + msgstr "Abrir" + +-#: ../js/ui/messageTray.js:1334 ++#: ../js/ui/messageTray.js:1341 + msgid "Remove" + msgstr "Quitar" + +-#: ../js/ui/messageTray.js:1631 ++#: ../js/ui/messageTray.js:1638 + msgid "Notifications" + msgstr "Notificaciones" + +-#: ../js/ui/messageTray.js:1638 ++#: ../js/ui/messageTray.js:1645 + msgid "Clear Messages" + msgstr "Limpiar mensajes" + +-#: ../js/ui/messageTray.js:1657 ++#: ../js/ui/messageTray.js:1664 + msgid "Notification Settings" + msgstr "Configuración de las notificaciones" + +-#: ../js/ui/messageTray.js:1710 ++#: ../js/ui/messageTray.js:1717 + msgid "Tray Menu" + msgstr "Bandeja de menú" + +-#: ../js/ui/messageTray.js:1934 ++#: ../js/ui/messageTray.js:1941 + msgid "No Messages" + msgstr "No hay mensajes" + +-#: ../js/ui/messageTray.js:1979 ++#: ../js/ui/messageTray.js:1988 + msgid "Message Tray" + msgstr "Bandeja de mensajes" + +-#: ../js/ui/messageTray.js:2992 ++#: ../js/ui/messageTray.js:2447 ../js/ui/overviewControls.js:483 ++#: ../js/ui/screenShield.js:151 ++#, c-format ++msgid "%d new message" ++msgid_plural "%d new messages" ++msgstr[0] "%d mensaje nuevo" ++msgstr[1] "%d mensajes nuevos" ++ ++#: ../js/ui/messageTray.js:3017 + msgid "System Information" + msgstr "Información del sistema" + +@@ -1256,13 +1313,6 @@ + msgid "Unknown" + msgstr "Desconocido" + +-#: ../js/ui/overviewControls.js:482 ../js/ui/screenShield.js:151 +-#, javascript-format +-msgid "%d new message" +-msgid_plural "%d new messages" +-msgstr[0] "%d mensaje nuevo" +-msgstr[1] "%d mensajes nuevos" +- + #: ../js/ui/overview.js:84 + msgid "Undo" + msgstr "Deshacer" +@@ -1274,7 +1324,7 @@ + #. Translators: this is the text displayed + #. in the search entry when no search is + #. active; it should not exceed ~30 +-#. characters. */ ++#. characters. + #: ../js/ui/overview.js:246 + msgid "Type to search…" + msgstr "Escribir para buscar…" +@@ -1284,15 +1334,20 @@ + msgstr "Salir" + + #. Translators: If there is no suitable word for "Activities" +-#. in your language, you can use the word for "Overview". */ +-#: ../js/ui/panel.js:567 ++#. in your language, you can use the word for "Overview". ++#: ../js/ui/panel.js:574 + msgid "Activities" + msgstr "Actividades" + +-#: ../js/ui/panel.js:918 ++#: ../js/ui/panel.js:925 + msgid "Top Bar" + msgstr "Barra superior" + ++#. 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:269 + msgid "toggle-switch-us" + msgstr "toggle-switch-intl" +@@ -1310,31 +1365,38 @@ + msgstr "Reiniciando…" + + #. Translators: This is a time format for a date in +-#. long format */ ++#. long format + #: ../js/ui/screenShield.js:88 + msgid "%A, %B %d" + msgstr "%A, %d de %B" + + #: ../js/ui/screenShield.js:153 +-#, javascript-format ++#, c-format + msgid "%d new notification" + msgid_plural "%d new notifications" + msgstr[0] "%d notificación nueva" + msgstr[1] "%d notificaciones nuevas" + +-#: ../js/ui/screenShield.js:472 ../js/ui/status/system.js:345 ++#: ../js/ui/screenShield.js:473 ../js/ui/status/system.js:345 + msgid "Lock" + msgstr "Bloquear" + +-#: ../js/ui/screenShield.js:706 ++#: ../js/ui/screenShield.js:709 + msgid "GNOME needs to lock the screen" + msgstr "GNOME necesita bloquear la pantalla" + +-#: ../js/ui/screenShield.js:833 ../js/ui/screenShield.js:1304 ++#. We could not become modal, so we can't activate the ++#. screenshield. The user is probably very upset at this ++#. point, but any application using global grabs is broken ++#. Just tell him to stop using this app ++#. ++#. XXX: another option is to kick the user into the gdm login ++#. screen, where we're not affected by grabs ++#: ../js/ui/screenShield.js:836 ../js/ui/screenShield.js:1312 + msgid "Unable to lock" + msgstr "No se pudo bloquear" + +-#: ../js/ui/screenShield.js:834 ../js/ui/screenShield.js:1305 ++#: ../js/ui/screenShield.js:837 ../js/ui/screenShield.js:1313 + msgid "Lock was blocked by an application" + msgstr "Una aplicación impidió el bloqueo" + +@@ -1414,6 +1476,8 @@ + msgid "Large Text" + msgstr "Texto grande" + ++#. The Bluetooth menu only appears when Bluetooth is in use, ++#. so just statically build it with a "Turn Off" menu item. + #: ../js/ui/status/bluetooth.js:49 + msgid "Bluetooth" + msgstr "Bluetooth" +@@ -1430,7 +1494,7 @@ + msgstr "Configuración de Bluetooth" + + #: ../js/ui/status/bluetooth.js:104 +-#, javascript-format ++#, c-format + msgid "%d Connected Device" + msgid_plural "%d Connected Devices" + msgstr[0] "%d dispositivo conectado" +@@ -1444,7 +1508,7 @@ + msgid "Brightness" + msgstr "Brillo" + +-#: ../js/ui/status/keyboard.js:547 ++#: ../js/ui/status/keyboard.js:559 + msgid "Show Keyboard Layout" + msgstr "Mostrar la distribución del teclado" + +@@ -1482,7 +1546,7 @@ + msgstr "Conectada" + + #. Translators: this is for network devices that are physically present but are not +-#. under NetworkManager's control (and thus cannot be used in the menu) */ ++#. under NetworkManager's control (and thus cannot be used in the menu) + #: ../js/ui/status/network.js:463 + msgid "Unmanaged" + msgstr "Sin gestionar" +@@ -1495,19 +1559,19 @@ + msgid "Connecting" + msgstr "Conectando" + +-#. Translators: this is for network connections that require some kind of key or password */ ++#. Translators: this is for network connections that require some kind of key or password + #: ../js/ui/status/network.js:474 + msgid "Authentication required" + msgstr "Autenticación requerida" + + #. Translators: this is for devices that require some kind of firmware or kernel +-#. module, which is missing */ ++#. module, which is missing + #: ../js/ui/status/network.js:482 + msgid "Firmware missing" + msgstr "Falta el «firmware»" + + #. Translators: this is for a network device that cannot be activated (for example it +-#. is disabled by rfkill, or it has no coverage */ ++#. is disabled by rfkill, or it has no coverage + #: ../js/ui/status/network.js:486 + msgid "Unavailable" + msgstr "No disponible" +@@ -1592,7 +1656,7 @@ + msgid "connecting..." + msgstr "conectando…" + +-#. Translators: this is for network connections that require some kind of key or password */ ++#. Translators: this is for network connections that require some kind of key or password + #: ../js/ui/status/network.js:1412 + msgid "authentication required" + msgstr "se necesita autenticación" +@@ -1629,19 +1693,23 @@ + msgid "Fully Charged" + msgstr "Cargada completamente" + ++#. 0 is reported when UPower does not have enough data ++#. to estimate battery life + #: ../js/ui/status/power.js:72 ../js/ui/status/power.js:78 + msgid "Estimating…" + msgstr "Estimando…" + ++#. Translators: this is : Remaining () + #: ../js/ui/status/power.js:86 +-#, javascript-format +-msgid "%d∶%02d Remaining (%d%%)" +-msgstr "%d∶%02d queda (%d%%)" ++#, c-format ++msgid "%d\\u2236%02d Remaining (%d%%)" ++msgstr "%d\\u2236%02d Restantes (%d%%)" + ++#. Translators: this is : Until Full () + #: ../js/ui/status/power.js:91 +-#, javascript-format +-msgid "%d∶%02d Until Full (%d%%)" +-msgstr "%d∶%02d para la carga completa (%d%%)" ++#, c-format ++msgid "%d\\u2236%02d Until Full (%d%%)" ++msgstr "%d\\u2236%02d hasta que esté completa (%d%%)" + + #: ../js/ui/status/power.js:119 + msgid "UPS" +@@ -1651,6 +1719,9 @@ + msgid "Battery" + msgstr "Batería" + ++#. The menu only appears when airplane mode is on, so just ++#. statically build it as if it was on, rather than dynamically ++#. changing the menu contents. + #: ../js/ui/status/rfkill.js:83 + msgid "Airplane Mode" + msgstr "Modo avión" +@@ -1699,16 +1770,16 @@ + msgid "Unlock Window" + msgstr "Desbloquear ventana" + +-#: ../js/ui/viewSelector.js:158 ++#: ../js/ui/viewSelector.js:159 + msgid "Applications" + msgstr "Aplicaciones" + +-#: ../js/ui/viewSelector.js:162 ++#: ../js/ui/viewSelector.js:163 + msgid "Search" + msgstr "Buscar" + + #: ../js/ui/windowAttentionHandler.js:19 +-#, javascript-format ++#, c-format + msgid "“%s” is ready" + msgstr "«%s» está preparado" + +@@ -1718,7 +1789,7 @@ + + #. Translators: this and the following message should be limited in lenght, + #. to avoid ellipsizing the labels. +-#. */ ++#. + #: ../js/ui/windowManager.js:84 + msgid "Revert Settings" + msgstr "Revertir configuración" +@@ -1728,7 +1799,7 @@ + msgstr "Mantener cambios" + + #: ../js/ui/windowManager.js:107 +-#, javascript-format ++#, c-format + msgid "Settings changes will revert in %d second" + msgid_plural "Settings changes will revert in %d seconds" + msgstr[0] "La configuración se revertirá en %d segundo" +@@ -1800,21 +1871,21 @@ + msgid "System Sounds" + msgstr "Sonidos del sistema" + +-#: ../src/main.c:373 ++#: ../src/main.c:381 + msgid "Print version" + msgstr "Imprimir versión" + +-#: ../src/main.c:379 ++#: ../src/main.c:387 + msgid "Mode used by GDM for login screen" + msgstr "Modo usado por GDM para la pantalla de inicio" + +-#: ../src/main.c:385 ++#: ../src/main.c:393 + msgid "Use a specific mode, e.g. \"gdm\" for login screen" + msgstr "" + "Usar un modo específico, por ejemplo, «gdm» para la pantalla de inicio de " + "sesión" + +-#: ../src/main.c:391 ++#: ../src/main.c:399 + msgid "List possible modes" + msgstr "Listar los modos posibles" + +@@ -1834,953 +1905,3 @@ + #: ../src/shell-polkit-authentication-agent.c:346 + msgid "Authentication dialog was dismissed by the user" + msgstr "El usuario rechazó el diálogo de autenticación" +- +-#~ msgid "The maximum accuracy level of location." +-#~ msgstr "El nivel máximo de precisión de la ubicación." +- +-#~ msgid "" +-#~ "Configures the maximum level of location accuracy applications are " +-#~ "allowed to see. Valid options are 'off' (disable location tracking), " +-#~ "'country', 'city', 'neighborhood', 'street', and 'exact' (typically " +-#~ "requires GPS receiver). Please keep in mind that this only controls what " +-#~ "GeoClue will allow applications to see and they can find user's location " +-#~ "on their own using network resources (albeit with street-level accuracy " +-#~ "at best)." +-#~ msgstr "" +-#~ "Configura el nivel máximo de precisión de la ubicación que se permite ver " +-#~ "a las aplicaciones. Las opciones válidas son «off» (desactivar el rastreo " +-#~ "de la ubicación), «country», «city», «neighborhood», «street», y " +-#~ "«exact» (normalmente necesita un receptor GPS). Tenga en cuenta que esto " +-#~ "sólo controla lo que GeoClue permitirá ver a las aplicaciones y lo que " +-#~ "pueden encontrar sobre la ubicación de usuario usando los recursos de la " +-#~ "red (aunque con precisión a nivel de la calle, en el mejor de los casos)." +- +-#~ msgid "Arrangement of buttons on the titlebar" +-#~ msgstr "Orden de los botones en la barra de título" +- +-#~ msgid "" +-#~ "This key overrides the key in org.gnome.desktop.wm.preferences when " +-#~ "running GNOME Shell." +-#~ msgstr "" +-#~ "Esta clave sobrescribe la clave en org.gnome.desktop.wm.preferences al " +-#~ "ejecutar GNOME Shell." +- +-#~ msgid "Extension" +-#~ msgstr "Extensión" +- +-#~ msgid "Select an extension to configure using the combobox above." +-#~ msgstr "" +-#~ "Seleccione una extensión que configurar usando la caja combinada de " +-#~ "arriba." +- +-#~ msgid "calendar:MY" +-#~ msgstr "calendario:MA" +- +-#~ msgid "unavailable" +-#~ msgstr "no disponible" +- +-#~ msgid "%A, %H:%M" +-#~ msgstr "%A, %H:%M" +- +-#~ msgid "%B %d, %H:%M" +-#~ msgstr "%d de %B, %H:%M" +- +-#~ msgid "%B %d %Y, %H:%M " +-#~ msgstr "%d de %B %Y, %H:%M " +- +-#~ msgid "List of categories that should be displayed as folders" +-#~ msgstr "Lista de categorías que se deben mostrar como carpetas" +- +-#~ msgid "" +-#~ "Each category name in this list will be represented as folder in the " +-#~ "application view, rather than being displayed inline in the main view." +-#~ msgstr "" +-#~ "Cada nombre de categoría de esta lista se representará como una carpeta " +-#~ "en la vista de aplicaciones, en lugar de mostrarse en línea en la vista " +-#~ "principal." +- +-#~ msgctxt "event list time" +-#~ msgid "%H\\u2236%M" +-#~ msgstr "%H\\u2236%M" +- +-#~ msgctxt "event list time" +-#~ msgid "%l\\u2236%M\\u2009%p" +-#~ msgstr "%l\\u2236%M\\u2009%p" +- +-#~ msgid "Authorization request from %s" +-#~ msgstr "Solicitud de autorización de %s" +- +-#~ msgid "Device %s wants to pair with this computer" +-#~ msgstr "El dispositivo «%s» quiere emparejarse con este equipo" +- +-#~ msgid "Allow" +-#~ msgstr "Permitir" +- +-#~ msgid "Deny" +-#~ msgstr "Denegar" +- +-#~ msgid "Device %s wants access to the service '%s'" +-#~ msgstr "El dispositivo %s quiere acceder al servicio «%s»" +- +-#~ msgid "Always grant access" +-#~ msgstr "Conceder acceso siempre" +- +-#~ msgid "Grant this time only" +-#~ msgstr "Conceder sólo esta vez" +- +-#~ msgid "Reject" +-#~ msgstr "Rechazar" +- +-#~ msgid "Pairing confirmation for %s" +-#~ msgstr "Confirmación de emparejamiento para «%s»" +- +-#~ msgid "" +-#~ "Please confirm whether the Passkey '%06d' matches the one on the device." +-#~ msgstr "" +-#~ "Confirme que la clave mostrada en «%06d» coincide con la del dispositivo." +- +-#~ msgid "Matches" +-#~ msgstr "Coincide" +- +-#~ msgid "Does not match" +-#~ msgstr "No coincide" +- +-#~ msgid "Pairing request for %s" +-#~ msgstr "Solicitud de emparejamiento para «%s»" +- +-#~ msgid "Please enter the PIN mentioned on the device." +-#~ msgstr "Introduzca el PIN mencionado en el dispositivo." +- +-#~ msgid "OK" +-#~ msgstr "Aceptar" +- +-#~ msgid "" +-#~ "Sorry, no wisdom for you today:\n" +-#~ "%s" +-#~ msgstr "" +-#~ "Hoy no tiene ningún mensaje:\n" +-#~ "%s" +- +-#~ msgid "%s the Oracle says" +-#~ msgstr "%s el oráculo dice" +- +-#~ msgid "Settings Menu" +-#~ msgstr "Menú de configuración" +- +-#~ msgid "" +-#~ "Internally used to store the last IM presence explicitly set by the user. " +-#~ "The value here is from the TpConnectionPresenceType enumeration." +-#~ msgstr "" +-#~ "Usado internamente para guardar el último IM de presencia establecido " +-#~ "explícitamente por el usuario. El valor aquí es de la enumeración " +-#~ "TpConnectionPresenceType." +- +-#~ msgid "" +-#~ "Internally used to store the last session presence status for the user. " +-#~ "The value here is from the GsmPresenceStatus enumeration." +-#~ msgstr "" +-#~ "Usado internamente para guardar el último estado de presencia de la " +-#~ "sesión del usuario. El valor aquí es de la GsmPresenceStatus." +- +-#~ msgid "Session" +-#~ msgstr "Sesión" +- +-#~ msgid "Click Log Out to quit these applications and log out of the system." +-#~ msgstr "" +-#~ "Pulse «Cerrar la sesión» para salir de esas aplicaciones y cerrar la " +-#~ "sesión del sistema." +- +-#~ msgid "Logging out of the system." +-#~ msgstr "Cerrando la sesión." +- +-#~ 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." +- +-#~ msgid "Powering off the system." +-#~ msgstr "Apagando el sistema." +- +-#~ msgid "Click Restart to quit these applications and restart the system." +-#~ msgstr "" +-#~ "Pulse «Reiniciar» para salir de esas aplicaciones y reiniciar el sistema." +- +-#~ msgid "Restarting the system." +-#~ msgstr "Reiniciando el sistema." +- +-#~ msgid "Shutting down might cause them to lose unsaved work." +-#~ msgstr "Apagar puede hacer que pierdan el trabajo que no hayan guardado." +- +-#~ msgid "Screenshots" +-#~ msgstr "Capturas de pantalla" +- +-#~ msgid "Record a screencast" +-#~ msgstr "Grabar una captura de pantalla" +- +-#~ msgid "Keybinding to toggle the screen recorder" +-#~ msgstr "Asociación de teclas cambiar el grabador de pantalla" +- +-#~ msgid "Keybinding to start/stop the builtin screen recorder." +-#~ msgstr "Asociación de teclas para iniciar/detener el grabador de pantalla." +- +-#~ msgid "Framerate used for recording screencasts." +-#~ msgstr "Tasa de fotogramas usada para grabar «screencast»." +- +-#~ msgid "" +-#~ "The framerate of the resulting screencast recordered by GNOME Shell's " +-#~ "screencast recorder in frames-per-second." +-#~ msgstr "" +-#~ "La tasa de fotogramas de la grabación resultante grabada por el grabador " +-#~ "de «screencast» de GNOME Shell, en fotogramas por segundo." +- +-#~ msgid "The gstreamer pipeline used to encode the screencast" +-#~ msgstr "La tubería de gstreamer usada para codificar el «screencast»" +- +-#~ msgid "" +-#~ "Sets the GStreamer pipeline used to encode recordings. It follows the " +-#~ "syntax used for gst-launch. The pipeline should have an unconnected sink " +-#~ "pad where the recorded video is recorded. It will normally have a " +-#~ "unconnected source pad; output from that pad will be written into the " +-#~ "output file. However the pipeline can also take care of its own output - " +-#~ "this might be used to send the output to an icecast server via shout2send " +-#~ "or similar. When unset or set to an empty value, the default pipeline " +-#~ "will be used. This is currently 'vp8enc min_quantizer=13 max_quantizer=13 " +-#~ "cpu-used=5 deadline=1000000 threads=%T ! queue ! webmmux' and records to " +-#~ "WEBM using the VP8 codec. %T is used as a placeholder for a guess at the " +-#~ "optimal thread count on the system." +-#~ msgstr "" +-#~ "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») desconectado donde grabar el vídeo que se está grabando. " +-#~ "Generalmente tendrá un punto de origen desconectado; la salida de ese " +-#~ "punto se escribirá en el archivo de salida. Sin embargo, la tubería " +-#~ "también puede tomar parte en su propia salida; esto se puede usar para " +- +-#~ msgid "File extension used for storing the screencast" +-#~ msgstr "Extensión de archivo que usar para almacenar los «screencast»" +- +-#~ msgid "Screencast from %d %t" +-#~ msgstr "Screencast desde %d %t" +- +-#~ msgid "Power" +-#~ msgstr "Energía" +- +-#~ msgid "Restart" +-#~ msgstr "Reiniciar" +- +-#~ msgid "Volume, network, battery" +-#~ msgstr "Volumen, red, batería" +- +-#~ msgid "Visibility" +-#~ msgstr "Visibilidad" +- +-#~ msgid "Send Files to Device…" +-#~ msgstr "Enviar archivos al dispositivo…" +- +-#~ msgid "Set Up a New Device…" +-#~ msgstr "Configurar un dispositivo nuevo…" +- +-#~ msgid "Send Files…" +-#~ msgstr "Enviar archivos…" +- +-#~ msgid "Wi-Fi" +-#~ msgstr "Wi-Fi" +- +-#~ msgid "disabled" +-#~ msgstr "desactivada" +- +-#~ msgid "More…" +-#~ msgstr "Más…" +- +-#~ msgid "Wired" +-#~ msgstr "Cableada" +- +-#~ msgid "Networking is disabled" +-#~ msgstr "La red está desactivada" +- +-#~ msgid "Universal Access Settings" +-#~ msgstr "Configuración del acceso universal" +- +-#~ msgid "Keyboard Settings" +-#~ msgstr "Configuración del teclado" +- +-#~ msgid "Mouse Settings" +-#~ msgstr "Configuración del ratón…" +- +-#~ msgid "Sound Settings" +-#~ msgstr "Configuración del sonido" +- +-#~ msgid "Region & Language Settings" +-#~ msgstr "Configuración de región e idioma" +- +-#~ msgid "%d hour remaining" +-#~ msgid_plural "%d hours remaining" +-#~ msgstr[0] "Queda %d hora" +-#~ msgstr[1] "Queda %d horas" +- +-#~ msgid "%d %s %d %s remaining" +-#~ msgstr "Quedan %d %s %d %s" +- +-#~ msgid "hour" +-#~ msgid_plural "hours" +-#~ msgstr[0] "hora" +-#~ msgstr[1] "horas" +- +-#~ msgid "minute" +-#~ msgid_plural "minutes" +-#~ msgstr[0] "minuto" +-#~ msgstr[1] "minutos" +- +-#~ msgid "%d minute remaining" +-#~ msgid_plural "%d minutes remaining" +-#~ msgstr[0] "Queda %d minuto" +-#~ msgstr[1] "Quedan %d minutos" +- +-#~ msgctxt "percent of battery remaining" +-#~ msgid "%d%%" +-#~ msgstr "%d%%" +- +-#~ msgid "AC Adapter" +-#~ msgstr "Adaptador de corriente" +- +-#~ msgid "Laptop Battery" +-#~ msgstr "Batería del portátil" +- +-#~ msgid "Monitor" +-#~ msgstr "Monitor" +- +-#~ msgid "Mouse" +-#~ msgstr "Ratón" +- +-#~ msgid "PDA" +-#~ msgstr "PDA" +- +-#~ msgid "Cell Phone" +-#~ msgstr "Teléfono móvil" +- +-#~ msgid "Media Player" +-#~ msgstr "Reproductor multimedia" +- +-#~ msgid "Tablet" +-#~ msgstr "Tableta" +- +-#~ msgid "Computer" +-#~ msgstr "Equipo" +- +-#~ msgctxt "device" +-#~ msgid "Unknown" +-#~ msgstr "Desconocido" +- +-#~ msgid "Available" +-#~ msgstr "Disponible" +- +-#~ msgid "Busy" +-#~ msgstr "Ocupado" +- +-#~ msgid "Invisible" +-#~ msgstr "Invisible" +- +-#~ msgid "Away" +-#~ msgstr "Ausente" +- +-#~ msgid "Idle" +-#~ msgstr "Inactivo" +- +-#~ msgid "Your chat status will be set to busy" +-#~ msgstr "Su estado del chat se establecerá a «ocupado»" +- +-#~ msgid "" +-#~ "Notifications are now disabled, including chat messages. Your online " +-#~ "status has been adjusted to let others know that you might not see their " +-#~ "messages." +-#~ msgstr "" +-#~ "Las notificaciones están ahora desactivadas, incluyendo los mensajes de " +-#~ "chat. Su estado en línea se ha ajustado para que otros sepan que puede no " +-#~ "leer sus mensajes." +- +-#~ msgid "cable unplugged" +-#~ msgstr "cable desconectado" +- +-#~ msgid "Whether to collect stats about applications usage" +-#~ msgstr "" +-#~ "Indica si se deben recolectar estadísticas acerca del uso de las " +-#~ "aplicaciones" +- +-#~ 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 "" +-#~ "La «shell» normalmente monitoriza todas las aplicaciones activas para " +-#~ "presentar las más usadas (ej. en los lanzadores). Aunque estos datos se " +-#~ "mantienen de forma privada, puede querer desactivarlo por razones de " +-#~ "privacidad. Note que haciéndolo no eliminará los datos ya guardados." +- +-#~ msgid "Auto Ethernet" +-#~ msgstr "Ethernet automática" +- +-#~ msgid "Auto broadband" +-#~ msgstr "Banda ancha automática" +- +-#~ msgid "Auto dial-up" +-#~ msgstr "Marcado automático" +- +-#~ msgid "Auto %s" +-#~ msgstr "%s automática" +- +-#~ msgid "Auto bluetooth" +-#~ msgstr "Bluetooth automático" +- +-#~ msgid "Auto wireless" +-#~ msgstr "Inalámbrica automática" +- +-#~ msgctxt "title" +-#~ msgid "Sign In" +-#~ msgstr "Iniciar sesión" +- +-#~ msgid "tray" +-#~ msgstr "bandeja" +- +-#~ msgid "Clear" +-#~ msgstr "Limpiar" +- +-#~ msgid "More..." +-#~ msgstr "Más…" +- +-#~ msgctxt "event list time" +-#~ msgid "%H:%M" +-#~ msgstr "%H:%M" +- +-#~ msgctxt "event list time" +-#~ msgid "%l:%M %p" +-#~ msgstr "%l:%M %p" +- +-#~ msgid "United Kingdom" +-#~ msgstr "Reino Unido" +- +-#~ msgid "Default" +-#~ msgstr "Predeterminada" +- +-#~ msgid "Show full name in the user menu" +-#~ msgstr "Mostrar el nombre completo en el menú del usuario" +- +-#~ msgid "Whether the users full name is shown in the user menu or not." +-#~ msgstr "" +-#~ "Indica si se muestra el nombre del usuario en el menú del usuario o no." +- +-#~ msgid "APPLICATIONS" +-#~ msgstr "APLICACIONES" +- +-#~ msgid "SETTINGS" +-#~ msgstr "CONFIGURACIÓN" +- +-#~ msgid "Your favorite Easter Egg" +-#~ msgstr "Su mensaje oculto favorito" +- +-#~ msgid "Subscription request" +-#~ msgstr "Solicitud de suscripción" +- +-#~ msgid "Connection error" +-#~ msgstr "Error de conexión" +- +-#~ msgid "Sent at %X on %A" +-#~ msgstr "Enviado el %A a las %H:%M" +- +-#~ msgid "Sent on %A, %B %d, %Y" +-#~ msgstr "Enviado el %A, %d de %B de %Y" +- +-#~ msgid "Connection to %s failed" +-#~ msgstr "Falló la conexión a %s" +- +-#~ msgid "Reconnect" +-#~ msgstr "Reconectar" +- +-#~ msgid "Browse Files..." +-#~ msgstr "Examinar archivos…" +- +-#~ msgid "Error browsing device" +-#~ msgstr "Error al examinar el dispositivo" +- +-#~ msgid "The requested device cannot be browsed, error is '%s'" +-#~ msgstr "No se puede examinar el dispositivo solicitado, el error es «%s»" +- +-#~ msgid "Wireless" +-#~ msgstr "Inalámbrica" +- +-#~ msgid "VPN Connections" +-#~ msgstr "Conexiones VPN" +- +-#~ msgid "System Settings" +-#~ msgstr "Configuración del sistema" +- +-#~ msgid "disabled OpenSearch providers" +-#~ msgstr "proveedores OpenSearch desactivados" +- +-#~ msgid "Failed to unmount '%s'" +-#~ msgstr "Falló al desmontar «%s»" +- +-#~ msgid "Retry" +-#~ msgstr "Reintentar" +- +-#~ msgid "PLACES & DEVICES" +-#~ msgstr "LUGARES Y DISPOSITIVOS" +- +-#~ msgid "Home" +-#~ msgstr "Carpeta personal" +- +-#~ msgid "%1$s: %2$s" +-#~ msgstr "%1$s: %2$s" +- +-#~ msgid "Connect to..." +-#~ msgstr "Conectar a…" +- +-#~ msgid "Passphrase" +-#~ msgstr "Contraseña" +- +-#~ msgid "Show time with seconds" +-#~ msgstr "Mostrar la hora con segundos" +- +-#~ msgid "If true, display seconds in time." +-#~ msgstr "Si es cierta, muestra los segundos en la hora." +- +-#~ msgid "Show date in clock" +-#~ msgstr "Mostrar la fecha en el reloj" +- +-#~ msgid "If true, display date in the clock, in addition to time." +-#~ msgstr "Si es cierta, muestra la fecha en el reloj, además de la hora." +- +-#~ msgctxt "contact" +-#~ msgid "Unknown" +-#~ msgstr "Desconocido" +- +-#~ msgid "CONTACTS" +-#~ msgstr "CONTACTOS" +- +-#~ msgid "%a %b %e, %R:%S" +-#~ msgstr "%a %e de %b, %R:%S" +- +-#~ msgid "%a %b %e, %R" +-#~ msgstr "%a %e de %b, %R" +- +-#~ msgid "%a %R:%S" +-#~ msgstr "%a %R:%S" +- +-#~ msgid "%a %R" +-#~ msgstr "%a %R" +- +-#~ msgid "%a %b %e, %l:%M:%S %p" +-#~ msgstr "%a %e de %b, %l:%M:%S %p" +- +-#~ msgid "%a %l:%M:%S %p" +-#~ msgstr "%a %l:%M:%S %p" +- +-#~ msgid "%s is online." +-#~ msgstr "%s está conectado/a." +- +-#~ msgid "%s is offline." +-#~ msgstr "%s está desconectado/a." +- +-#~ msgid "%s is away." +-#~ msgstr "%s está ausente." +- +-#~ msgid "%s is busy." +-#~ msgstr "%s está ocupado/a." +- +-#~ msgid "Hidden" +-#~ msgstr "Oculto" +- +-#~ msgid "Wrong password, please try again" +-#~ msgstr "Contraseña incorrecta; inténtelo de nuevo" +- +-#~ msgid "Power Off..." +-#~ msgstr "Apagar…" +- +-#~ msgid "Online Accounts" +-#~ msgstr "Cuentas en línea" +- +-#~ msgid "Lock Screen" +-#~ msgstr "Bloquear la pantalla" +- +-#~ msgid "Log Out..." +-#~ msgstr "Cerrar la sesión…" +- +-#~ msgid "RECENT ITEMS" +-#~ msgstr "ELEMENTOS RECIENTES" +- +-#~ msgid "" +-#~ "GNOME Shell extensions have a uuid property; this key lists extensions " +-#~ "which should be loaded. disabled-extensions overrides this setting for " +-#~ "extensions that appear in both lists." +-#~ msgstr "" +-#~ "Las extensiones de GNOME Shell tienen una propiedad uuid; esta clave " +-#~ "lista las extensiones que no se deben cargar. «disabled-extensions» " +-#~ "sobrescribe este ajuste para las extensiones que aparecen en ambas listas." +- +-#~ msgid "Home Folder" +-#~ msgstr "Carpeta personal" +- +-#~ msgid "Show password" +-#~ msgstr "Mostrar contraseña" +- +-#~ msgid "%s has finished starting" +-#~ msgstr "%s finalizó su lanzamiento" +- +-#~ msgid "If true, display onscreen keyboard." +-#~ msgstr "Si es cierta, muestra el teclado en pantalla." +- +-#~ msgid "Show the onscreen keyboard" +-#~ msgstr "Mostrar el teclado en pantalla" +- +-#~ msgid "Connectivity lost" +-#~ msgstr "Conectividad perdida" +- +-#~| msgid "You're no longer connected to the network" +-#~ msgid "You are no longer connected to the network" +-#~ msgstr "Ya no está conectado a la red" +- +-#~ msgid "calendar:week_start:0" +-#~ msgstr "calendar:week_start:1" +- +-#~ msgid "Do Not Disturb" +-#~ msgstr "No molestar" +- +-#, fuzzy +-#~ msgid "The length of the server certificate, or the depth of the " +-#~ msgstr "La longitud del certificado del servidor o la profundidad del" +- +-#~ msgid "You're now connected to mobile broadband connection '%s'" +-#~ msgstr "Ahora está conectado a la red de banda ancha móvil «%s»" +- +-#~ msgid "You're now connected to wireless network '%s'" +-#~ msgstr "Ahora está conectado a la red inalámbrica «%s»" +- +-#~ msgid "You're now connected to VPN network '%s'" +-#~ msgstr "Ahora está conectado a la VPN «%s»" +- +-#~ msgid "Uuids of extensions to disable" +-#~ msgstr "Uuid de las extensiones que desactivar" +- +-#~ msgid "Localization Settings" +-#~ msgstr "Configuración regional" +- +-#~ msgid "Less than a minute ago" +-#~ msgstr "Hace menos de un minuto" +- +-#~ msgid "%d minute ago" +-#~ msgid_plural "%d minutes ago" +-#~ msgstr[0] "Hace %d minuto" +-#~ msgstr[1] "Hace %d minutos" +- +-#~ msgid "%d hour ago" +-#~ msgid_plural "%d hours ago" +-#~ msgstr[0] "Hace %d hora" +-#~ msgstr[1] "Hace %d horas" +- +-#~ msgid "%d day ago" +-#~ msgid_plural "%d days ago" +-#~ msgstr[0] "Hace %d día" +-#~ msgstr[1] "Hace %d días" +- +-#~ msgid "%d week ago" +-#~ msgid_plural "%d weeks ago" +-#~ msgstr[0] "Hace %d semana" +-#~ msgstr[1] "Hace %d semanas" +- +-#~ 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 "PREFERENCES" +-#~ msgstr "PREFERENCIAS" +- +-#~ msgid "Shut Down..." +-#~ msgstr "Apagar…" +- +-#~ msgid "Clip the crosshairs at the center" +-#~ msgstr "Fijar los cursores en el centro" +- +-#~ msgid "Color of the crosshairs" +-#~ msgstr "Color de las cruces" +- +-#~ msgid "" +-#~ "Determines the length of the vertical and horizontal lines that make up " +-#~ "the crosshairs." +-#~ msgstr "" +-#~ "Determina la longitud de las líneas verticales y horizontales que " +-#~ "conforman los cursores." +- +-#~ 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 la posición de la imagen magnificada del ratón dentro de la " +-#~ "vista magnificada y cómo reacciona al movimiento del ratón del sistema. " +-#~ "Los valores son «none» (ninguno): sin seguimiento del ratón; " +-#~ "«centered» (centrado): la imagen del ratón se muestra en el centro de la " +-#~ "región ampliada (que también representa el punto bajo el ratón del " +-#~ "sistema) y el contenido magnificado se desliza según se mueve el ratón " +-#~ "del sistema; «proporcional»: la posición del ratón magnificado en la " +-#~ "región de ampliación es proporcionalmente la misma que la posición del " +-#~ "ratón del sistema en el ratón; «push» (empujar): cuando el ratón " +-#~ "magnificado cruza un límite de la región de ampliación, el contenido se " +-#~ "desliza en la vista." +- +-#~ msgid "" +-#~ "Determines the transparency of the crosshairs, from fully opaque to fully " +-#~ "transparent." +-#~ msgstr "" +-#~ "Determina la transparencia de los cursores, de completamente opacos a " +-#~ "completamente transparentes." +- +-#~ 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 si las cruces cruzan el «sprite» magnificado del ratón o se " +-#~ "fijan de tal forma que los finales de las líneas horizontales y " +-#~ "verticales rodean la imagen del ratón." +- +-#~ msgid "Enable lens mode" +-#~ msgstr "Activar el modo lente" +- +-#~ msgid "" +-#~ "Enables/disables display of crosshairs centered on the magnified mouse " +-#~ "sprite." +-#~ msgstr "" +-#~ "Activa/desactiva el mostrado de los cursores centrados en el «sprite» " +-#~ "magnificado del ratón." +- +-#~ 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 el seguimiento del centro del ratón, cuando el puntero del sistema " +-#~ "está cerca del borde de la pantalla, el contenido magnificado continúa " +-#~ "desplazándose de tal forma que el borde de la pantalla se mueve dentro de " +-#~ "la vista magnificada." +- +-#~ msgid "Length of the crosshairs" +-#~ msgstr "Longitud de las cruces" +- +-#~ msgid "Magnification factor" +-#~ msgstr "Factor de magnificación" +- +-#~ msgid "Mouse Tracking Mode" +-#~ msgstr "Modo de seguimiento del ratón" +- +-#~ msgid "Opacity of the crosshairs" +-#~ msgstr "Opacidad de las cruces" +- +-#~ msgid "Scroll magnified contents beyond the edges of the desktop" +-#~ msgstr "" +-#~ "Desplazar el contenido magnificado más allá de los bordes del escritorio" +- +-#~ msgid "Show or hide crosshairs" +-#~ msgstr "Mostrar u ocultar las cruces" +- +-#~ msgid "Show or hide the magnifier" +-#~ msgstr "Mostrar u ocultar el magnificador" +- +-#~ msgid "Show or hide the magnifier and all of its zoom regions." +-#~ msgstr "" +-#~ "Mostrar u ocultar el magnificador y todas sus regiones de ampliación." +- +-#~ msgid "" +-#~ "The color of the the vertical and horizontal lines that make up the " +-#~ "crosshairs." +-#~ msgstr "" +-#~ "El color de las líneas verticales y horizontales que conforman las cruces." +- +-#~ 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 "" +-#~ "La vista magnificada o llena la pantalla u ocupa la mitad superior, mitad " +-#~ "inferior, mitad izquierda o mitad derecha de la pantalla." +- +-#~ msgid "" +-#~ "The power of the magnification. A value of 1.0 means no magnification. A " +-#~ "value of 2.0 doubles the size." +-#~ msgstr "" +-#~ "El poder de la magnificación. Un valor de 1.0 significa sin " +-#~ "magnificación. Un valor de 2.0 duplica el tamaño." +- +-#~ msgid "Thickness of the crosshairs" +-#~ msgstr "Grosor de las cruces" +- +-#~ msgid "" +-#~ "Whether the magnified view should be centered over the location of the " +-#~ "system mouse and move with it." +-#~ msgstr "" +-#~ "Indica si la vista magnificada se debe centrar sobre la ubicación del " +-#~ "ratón del sistema y moverse con ella." +- +-#~ msgid "" +-#~ "Width of the vertical and horizontal lines that make up the crosshairs." +-#~ msgstr "" +-#~ "Anchura de las líneas verticales y horizontales que conforman las cruces." +- +-#~ msgid "Bluetooth Agent" +-#~ msgstr "Agente Bluetooth" +- +-#~ msgid "Search your computer" +-#~ msgstr "Buscar en su equipo" +- +-#~ msgid "" +-#~ "Can't add a new workspace because maximum workspaces limit has been " +-#~ "reached." +-#~ msgstr "" +-#~ "No se puede añadir un área de trabajo nueva porque se ha llegado al " +-#~ "límite de áreas de trabajo." +- +-#~ msgid "Can't remove the first workspace." +-#~ msgstr "No se puede quitar el primer área de trabajo." +- +-#~ msgid "Customize the panel clock" +-#~ msgstr "Personalizar el reloj del panel" +- +-#~ msgid "Custom format of the clock" +-#~ msgstr "Formato personalizado del reloj" +- +-#~ msgid "Hour format" +-#~ msgstr "Formato de la hora" +- +-#~ msgid "" +-#~ "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." +- +-#~ 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 clave especifica el formato usado por el reloj del panel cuando la " +-#~ "clave del formato se establece a «custom» (personalizado). Puede usar " +-#~ "especificadores de conversión que entienda strftime() para obtener un " +-#~ "formato específico. Consulte el manual de strftime() para obtener más " +-#~ "información." +- +-#~ 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 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»." +- +-#~ msgid "Clock Format" +-#~ msgstr "Formato del reloj" +- +-#~ msgid "Clock Preferences" +-#~ msgstr "Preferencias del reloj" +- +-#~ msgid "Panel Display" +-#~ msgstr "Panel de visualización" +- +-#~ msgid "Show seco_nds" +-#~ msgstr "Mostrar los segu_ndos" +- +-#~ msgid "_12 hour format" +-#~ msgstr "Formato _12 horas" +- +-#~ msgid "_24 hour format" +-#~ msgstr "Formato _24 horas" +- +-#~ msgid "Preferences" +-#~ msgstr "Preferencias" +- +-#~ msgid "What's using power..." +-#~ msgstr "Lo que está usando energía…" +- +-#~ msgid "Overview workspace view mode" +-#~ msgstr "Modo de visualización de la vista previa del área de trabajo" +- +-#~ msgid "" +-#~ "The selected workspace view mode in the overview. Supported values are " +-#~ "\"single\" and \"grid\"." +-#~ msgstr "" +-#~ "El modo de vista del área de trabajo seleccionada en la vista general. " +-#~ "Los valores soportados son «single» (sencillo) y «grid» (rejilla)." +- +-#~ msgid "Drag here to add favorites" +-#~ msgstr "Arrastrar aquí para añadir a los favoritos" +- +-#~ msgid "Find" +-#~ msgstr "Buscar" +- +-#~ msgid "ON" +-#~ msgstr "ENCENDIDO" +- +-#~ msgid "OFF" +-#~ msgstr "APAGADO" +- +-#~ msgid "Sidebar" +-#~ msgstr "Barra lateral" +- +-#~ msgid "Recent Documents" +-#~ msgstr "Documentos recientes" +- +-#~ msgid "PLACES" +-#~ msgstr "LUGARES" +- +-#~ msgid "(see all)" +-#~ msgstr "(ver todo)" +- +-#~ msgid "SEARCH RESULTS" +-#~ msgstr "RESULTADOS DE LA BÚSQUEDA" +- +-#~ msgid "Can't lock screen: %s" +-#~ msgstr "No se puede bloquear la pantalla: %s" +- +-#~ msgid "Can't temporarily set screensaver to blank screen: %s" +-#~ msgstr "" +-#~ "No se puede establecer temporalmente el salvapantallas a oscurecer " +-#~ "pantalla: %s" +- +-#~ msgid "Can't logout: %s" +-#~ msgstr "No se puede salir de la sesión: %s" +- +-#~ msgid "Browse" +-#~ msgstr "Examine" +- +-#~ msgid "Find apps or documents" +-#~ msgstr "Encuentre aplicaciones o documentos" +- +-#~| msgid "RECENT DOCUMENTS" +-#~ msgid "DOCUMENTS" +-#~ msgstr "DOCUMENTOS" +- +-#~ msgid "The user manager object this user is controlled by." +-#~ msgstr "El objeto de gestión de usuarios que controla a este usuario." +diff -urN gnome-shell-3.14.4/po/fr.po gnome-shell-3.14.4_localized/po/fr.po +--- gnome-shell-3.14.4/po/fr.po 2015-03-23 23:39:15.000000000 +0530 ++++ gnome-shell-3.14.4_localized/po/fr.po 2016-03-11 22:07:50.564000000 +0530 +@@ -1,7 +1,7 @@ + # French translations for gnome-shell package. + # Copyright (C) 2009-2012 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-2011. +@@ -13,21 +13,22 @@ + # Alexandre Franke , 2012. + # Mathieu Stumpf , 2013. + # Alain Lojewski , 2014. +-# ++# Sam Friedmann , 2016. #zanata ++# pnemade , 2016. #zanata + msgid "" + msgstr "" + "Project-Id-Version: gnome-shell master fr\n" +-"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug.cgi?product=gnome-" +-"shell&keywords=I18N+L10N&component=general\n" +-"POT-Creation-Date: 2014-09-12 17:00+0000\n" +-"PO-Revision-Date: 2014-08-25 17:00+0200\n" +-"Last-Translator: Alain Lojewski \n" +-"Language-Team: français \n" +-"Language: French\n" ++"Report-Msgid-Bugs-To: \n" ++"POT-Creation-Date: 2016-02-10 14:02+0530\n" + "MIME-Version: 1.0\n" + "Content-Type: text/plain; charset=UTF-8\n" + "Content-Transfer-Encoding: 8bit\n" ++"PO-Revision-Date: 2016-03-03 04:05+0000\n" ++"Last-Translator: Sam Friedmann \n" ++"Language-Team: français \n" ++"Language: fr\n" + "Plural-Forms: nplurals=2; plural=(n > 1);\n" ++"X-Generator: Zanata 3.8.2\n" + + #: ../data/50-gnome-shell-system.xml.in.h:1 + msgid "System" +@@ -208,6 +209,7 @@ + #: ../data/org.gnome.shell.gschema.xml.in.in.h:22 + msgid "" + "Keybinding to open the \"Show Applications\" view of the Activities Overview." ++"" + msgstr "" + "Combinaison de touches pour ouvrir la vue « Afficher les applications » de " + "la vue d'ensemble des activités." +@@ -218,7 +220,8 @@ + + #: ../data/org.gnome.shell.gschema.xml.in.in.h:24 + msgid "Keybinding to open the Activities Overview." +-msgstr "Combinaison de touches pour ouvrir la vue d'ensemble des applications." ++msgstr "" ++"Combinaison de touches pour ouvrir la vue d'ensemble des applications." + + #: ../data/org.gnome.shell.gschema.xml.in.in.h:25 + msgid "Keybinding to toggle the visibility of the message tray" +@@ -240,7 +243,8 @@ + + #: ../data/org.gnome.shell.gschema.xml.in.in.h:29 + msgid "" +-"Keybinding that pauses and resumes all running tweens, for debugging purposes" ++"Keybinding that pauses and resumes all running tweens, for debugging " ++"purposes" + msgstr "" + "Combinaison de touches pour stopper et fermer toutes les transitions à des " + "fins de débogage" +@@ -273,8 +277,8 @@ + #: ../data/org.gnome.shell.gschema.xml.in.in.h:35 + msgid "" + "Configures how the windows are shown in the switcher. Valid possibilities " +-"are 'thumbnail-only' (shows a thumbnail of the window), 'app-icon-" +-"only' (shows only the application icon) or 'both'." ++"are 'thumbnail-only' (shows a thumbnail of the window), 'app-icon-only' " ++"(shows only the application icon) or 'both'." + msgstr "" + "Configure la façon dont les fenêtres sont affichées dans le sélecteur. Les " + "choix possibles sont « thumbnail-only » (affiche une miniature de la " +@@ -323,7 +327,7 @@ + msgstr "Portail captif" + + #: ../js/extensionPrefs/main.js:123 +-#, javascript-format ++#, c-format + msgid "There was an error loading the preferences dialog for %s:" + msgstr "" + "Une erreur s'est produite lors du chargement de la boîte de dialogue des " +@@ -333,54 +337,68 @@ + msgid "GNOME Shell Extensions" + msgstr "Extensions GNOME Shell" + +-#: ../js/gdm/authPrompt.js:147 ../js/ui/components/networkAgent.js:143 ++#: ../js/gdm/authPrompt.js:159 ../js/ui/components/networkAgent.js:143 + #: ../js/ui/components/polkitAgent.js:166 ../js/ui/endSessionDialog.js:452 + #: ../js/ui/extensionDownloader.js:195 ../js/ui/shellMountOperation.js:399 + #: ../js/ui/status/network.js:915 + msgid "Cancel" + msgstr "Annuler" + +-#: ../js/gdm/authPrompt.js:169 ../js/gdm/authPrompt.js:217 ++#: ../js/gdm/authPrompt.js:181 ../js/gdm/authPrompt.js:228 ++#: ../js/gdm/authPrompt.js:466 + msgid "Next" + msgstr "Suivant" + +-#: ../js/gdm/authPrompt.js:213 ../js/ui/shellMountOperation.js:403 ++#: ../js/gdm/authPrompt.js:224 ../js/ui/shellMountOperation.js:403 + #: ../js/ui/unlockDialog.js:59 + msgid "Unlock" + msgstr "Déverrouiller" + +-#: ../js/gdm/authPrompt.js:215 ++#: ../js/gdm/authPrompt.js:226 + msgctxt "button" + msgid "Sign In" + msgstr "Se connecter" + +-#: ../js/gdm/loginDialog.js:269 ++#: ../js/gdm/loginDialog.js:297 + msgid "Choose Session" + msgstr "Choisir une session" + +-#: ../js/gdm/loginDialog.js:429 ++#. translators: this message is shown below the user list on the ++#. login screen. It can be activated to reveal an entry for ++#. manually entering the username. ++#: ../js/gdm/loginDialog.js:458 + msgid "Not listed?" + msgstr "Absent de la liste ?" + +-#: ../js/gdm/loginDialog.js:614 +-#, javascript-format ++#. Translators: this message is shown below the username entry field ++#. to clue the user in on how to login to the local network realm ++#: ../js/gdm/loginDialog.js:859 ++#, c-format + msgid "(e.g., user or %s)" + msgstr "(par ex. utilisateur ou %s)" + +-#: ../js/gdm/loginDialog.js:619 ../js/ui/components/networkAgent.js:269 ++#. TTLS and PEAP are actually much more complicated, but this complication ++#. is not visible here since we only care about phase2 authentication ++#. (and don't even care of which one) ++#: ../js/gdm/loginDialog.js:864 ../js/ui/components/networkAgent.js:269 + #: ../js/ui/components/networkAgent.js:287 + msgid "Username: " + msgstr "Nom d'utilisateur : " + +-#: ../js/gdm/loginDialog.js:922 ++#: ../js/gdm/loginDialog.js:1193 + msgid "Login Window" + msgstr "Fenêtre de connexion" + +-#: ../js/gdm/util.js:323 ++#: ../js/gdm/util.js:344 + msgid "Authentication error" + msgstr "Erreur d'authentification" + +-#: ../js/gdm/util.js:453 ++#. We don't show fingerprint messages directly since it's ++#. not the main auth service. Instead we use the messages ++#. as a cue to display our own message. ++#. Translators: this message is shown below the password entry field ++#. to indicate the user can swipe their finger instead ++#: ../js/gdm/util.js:483 + msgid "(or swipe finger)" + msgstr "(ou faites glisser le doigt)" + +@@ -388,58 +406,62 @@ + msgid "Command not found" + msgstr "Commande non trouvée" + ++#. Replace "Error invoking GLib.shell_parse_argv: " with ++#. something nicer + #: ../js/misc/util.js:148 + msgid "Could not parse command:" + msgstr "Impossible d'analyser la commande :" + + #: ../js/misc/util.js:156 +-#, javascript-format ++#, c-format + msgid "Execution of “%s” failed:" + msgstr "Exécution de « %s » impossible :" + ++#. TRANSLATORS: this is the title of the wifi captive portal login ++#. window, until we know the title of the actual login page + #: ../js/portalHelper/main.js:85 + msgid "Web Authentication Redirect" + msgstr "Redirection de l'authentification Web" + +-#: ../js/ui/appDisplay.js:772 ++#: ../js/ui/appDisplay.js:773 + msgid "Frequently used applications will appear here" + msgstr "Les applications fréquemment utilisées apparaîtront ici" + +-#: ../js/ui/appDisplay.js:883 ++#: ../js/ui/appDisplay.js:884 + msgid "Frequent" + msgstr "Fréquemment utilisées" + +-#: ../js/ui/appDisplay.js:890 ++#: ../js/ui/appDisplay.js:891 + msgid "All" + msgstr "Toutes" + +-#: ../js/ui/appDisplay.js:1789 ++#: ../js/ui/appDisplay.js:1795 + msgid "New Window" + msgstr "Nouvelle fenêtre" + +-#: ../js/ui/appDisplay.js:1815 ../js/ui/dash.js:285 ++#: ../js/ui/appDisplay.js:1821 ../js/ui/dash.js:285 + msgid "Remove from Favorites" + msgstr "Enlever des favoris" + +-#: ../js/ui/appDisplay.js:1821 ++#: ../js/ui/appDisplay.js:1827 + msgid "Add to Favorites" + msgstr "Ajouter aux favoris" + +-#: ../js/ui/appDisplay.js:1830 ++#: ../js/ui/appDisplay.js:1836 + msgid "Show Details" + msgstr "Afficher les détails" + +-#: ../js/ui/appFavorites.js:124 +-#, javascript-format ++#: ../js/ui/appFavorites.js:133 ++#, c-format + msgid "%s has been added to your favorites." + msgstr "%s a été ajouté à vos favoris." + +-#: ../js/ui/appFavorites.js:158 +-#, javascript-format ++#: ../js/ui/appFavorites.js:167 ++#, c-format + msgid "%s has been removed from your favorites." + msgstr "%s a été supprimé de vos favoris." + +-#: ../js/ui/backgroundMenu.js:19 ../js/ui/panel.js:813 ++#: ../js/ui/backgroundMenu.js:19 ../js/ui/panel.js:820 + #: ../js/ui/status/system.js:337 + msgid "Settings" + msgstr "Paramètres" +@@ -455,79 +477,78 @@ + # Jour entier + # La journée + # Journée +-# ++# + # All Day +-# ++# + # le calendrier (mal) francisé : + # http://blog.arkezis.com/wp-content/uploads/2011/04/Capture.png +-# ++# + # See also https://bugzilla.gnome.org/show_bug.cgi?id=658679 +-# + #. 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:67 ++#. ++#: ../js/ui/calendar.js:70 + msgctxt "event list time" + msgid "All Day" + msgstr "Journée" + + #. Translators: Shown in calendar event list, if 24h format, +-#. \u2236 is a ratio character, similar to : */ +-#: ../js/ui/calendar.js:73 ++#. \u2236 is a ratio character, similar to : ++#: ../js/ui/calendar.js:77 + msgctxt "event list time" +-msgid "%H∶%M" +-msgstr "%H∶%M" ++msgid "%H\\u2236%M" ++msgstr "%H\\u2236%M" + + #. Translators: Shown in calendar event list, if 12h format, + #. \u2236 is a ratio character, similar to : and \u2009 is +-#. a thin space */ +-#: ../js/ui/calendar.js:82 ++#. a thin space ++#: ../js/ui/calendar.js:86 + msgctxt "event list time" +-msgid "%l∶%M %p" +-msgstr "%l∶%M %p" ++msgid "%l\\u2236%M\\u2009%p" ++msgstr "%l\\u2236%M\\u2009%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:113 ++#. ++#: ../js/ui/calendar.js:100 + msgctxt "grid sunday" + msgid "S" + msgstr "D" + +-#. Translators: Calendar grid abbreviation for Monday */ +-#: ../js/ui/calendar.js:115 ++#. Translators: Calendar grid abbreviation for Monday ++#: ../js/ui/calendar.js:102 + msgctxt "grid monday" + msgid "M" + msgstr "L" + +-#. Translators: Calendar grid abbreviation for Tuesday */ +-#: ../js/ui/calendar.js:117 ++#. Translators: Calendar grid abbreviation for Tuesday ++#: ../js/ui/calendar.js:104 + msgctxt "grid tuesday" + msgid "T" + msgstr "M" + +-#. Translators: Calendar grid abbreviation for Wednesday */ +-#: ../js/ui/calendar.js:119 ++#. Translators: Calendar grid abbreviation for Wednesday ++#: ../js/ui/calendar.js:106 + msgctxt "grid wednesday" + msgid "W" + msgstr "M" + +-#. Translators: Calendar grid abbreviation for Thursday */ +-#: ../js/ui/calendar.js:121 ++#. Translators: Calendar grid abbreviation for Thursday ++#: ../js/ui/calendar.js:108 + msgctxt "grid thursday" + msgid "T" + msgstr "J" + +-#. Translators: Calendar grid abbreviation for Friday */ +-#: ../js/ui/calendar.js:123 ++#. Translators: Calendar grid abbreviation for Friday ++#: ../js/ui/calendar.js:110 + msgctxt "grid friday" + msgid "F" + msgstr "V" + +-#. Translators: Calendar grid abbreviation for Saturday */ +-#: ../js/ui/calendar.js:125 ++#. Translators: Calendar grid abbreviation for Saturday ++#: ../js/ui/calendar.js:112 + msgctxt "grid saturday" + msgid "S" + msgstr "S" +@@ -543,86 +564,86 @@ + #. * 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:138 ++#. ++#: ../js/ui/calendar.js:125 + msgctxt "list sunday" + msgid "Su" + msgstr "Di" + +-#. Translators: Event list abbreviation for Monday */ +-#: ../js/ui/calendar.js:140 ++#. Translators: Event list abbreviation for Monday ++#: ../js/ui/calendar.js:127 + msgctxt "list monday" + msgid "M" + msgstr "Lu" + +-#. Translators: Event list abbreviation for Tuesday */ +-#: ../js/ui/calendar.js:142 ++#. Translators: Event list abbreviation for Tuesday ++#: ../js/ui/calendar.js:129 + msgctxt "list tuesday" + msgid "T" + msgstr "Ma" + +-#. Translators: Event list abbreviation for Wednesday */ +-#: ../js/ui/calendar.js:144 ++#. Translators: Event list abbreviation for Wednesday ++#: ../js/ui/calendar.js:131 + msgctxt "list wednesday" + msgid "W" + msgstr "Me" + +-#. Translators: Event list abbreviation for Thursday */ +-#: ../js/ui/calendar.js:146 ++#. Translators: Event list abbreviation for Thursday ++#: ../js/ui/calendar.js:133 + msgctxt "list thursday" + msgid "Th" + msgstr "Je" + +-#. Translators: Event list abbreviation for Friday */ +-#: ../js/ui/calendar.js:148 ++#. Translators: Event list abbreviation for Friday ++#: ../js/ui/calendar.js:135 + msgctxt "list friday" + msgid "F" + msgstr "Ve" + +-#. Translators: Event list abbreviation for Saturday */ +-#: ../js/ui/calendar.js:150 ++#. Translators: Event list abbreviation for Saturday ++#: ../js/ui/calendar.js:137 + msgctxt "list saturday" + msgid "S" + msgstr "Sa" + +-#: ../js/ui/calendar.js:453 ++#: ../js/ui/calendar.js:462 + msgid "Previous month" + msgstr "Mois précédent" + +-#: ../js/ui/calendar.js:463 ++#: ../js/ui/calendar.js:472 + msgid "Next month" + msgstr "Mois suivant" + +-#. Translators: Text to show if there are no events */ +-#: ../js/ui/calendar.js:781 ++#. Translators: Text to show if there are no events ++#: ../js/ui/calendar.js:811 + msgid "Nothing Scheduled" + msgstr "Rien de prévu" + +-#. Translators: Shown on calendar heading when selected day occurs on current year */ +-#: ../js/ui/calendar.js:799 ++#. Translators: Shown on calendar heading when selected day occurs on current year ++#: ../js/ui/calendar.js:827 + 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:802 ++#. Translators: Shown on calendar heading when selected day occurs on different year ++#: ../js/ui/calendar.js:830 + msgctxt "calendar heading" + msgid "%A, %B %d, %Y" + msgstr "%A %d %B, %Y" + +-#: ../js/ui/calendar.js:813 ++#: ../js/ui/calendar.js:840 + msgid "Today" + msgstr "Aujourd'hui" + +-#: ../js/ui/calendar.js:817 ++#: ../js/ui/calendar.js:844 + msgid "Tomorrow" + msgstr "Demain" + +-#: ../js/ui/calendar.js:828 ++#: ../js/ui/calendar.js:855 + msgid "This week" + msgstr "Cette semaine" + +-#: ../js/ui/calendar.js:836 ++#: ../js/ui/calendar.js:863 + msgid "Next week" + msgstr "La semaine prochaine" + +@@ -639,7 +660,7 @@ + msgstr "Périphériques amovibles" + + #: ../js/ui/components/autorunManager.js:596 +-#, javascript-format ++#, c-format + msgid "Open with %s" + msgstr "Ouvrir avec %s" + +@@ -660,6 +681,7 @@ + msgid "Connect" + msgstr "Se connecter" + ++#. Cisco LEAP + #: ../js/ui/components/networkAgent.js:231 + #: ../js/ui/components/networkAgent.js:243 + #: ../js/ui/components/networkAgent.js:271 +@@ -668,6 +690,7 @@ + msgid "Password: " + msgstr "Mot de passe : " + ++#. static WEP + #: ../js/ui/components/networkAgent.js:236 + msgid "Key: " + msgstr "Clé : " +@@ -689,7 +712,7 @@ + msgstr "L'authentification est requise par le réseau sans fil" + + #: ../js/ui/components/networkAgent.js:319 +-#, javascript-format ++#, c-format + msgid "" + "Passwords or encryption keys are required to access the wireless network " + "“%s”." +@@ -726,7 +749,7 @@ + msgstr "Mot de passe du téléphone mobile à large bande" + + #: ../js/ui/components/networkAgent.js:346 +-#, javascript-format ++#, c-format + msgid "A password is required to connect to “%s”." + msgstr "Un mot de passe est requis pour se connecter à « %s »." + +@@ -745,19 +768,23 @@ + #. Translators: "that didn't work" refers to the fact that the + #. * requested authentication was not gained; this can happen + #. * because of an authentication error (like invalid password), +-#. * for instance. */ ++#. * for instance. + #: ../js/ui/components/polkitAgent.js:271 ../js/ui/shellMountOperation.js:383 + msgid "Sorry, that didn't work. Please try again." + msgstr "Échec de l'authentification. Essayez à nouveau." + ++#. FIXME: We don't have a 'chat room' icon (bgo #653737) use ++#. system-users for now as Empathy does. + #: ../js/ui/components/telepathyClient.js:240 + msgid "Invitation" + msgstr "Invitation" + ++#. We got the TpContact + #: ../js/ui/components/telepathyClient.js:300 + msgid "Call" + msgstr "Appel" + ++#. We got the TpContact + #: ../js/ui/components/telepathyClient.js:316 + msgid "File Transfer" + msgstr "Transfert de fichiers" +@@ -774,87 +801,95 @@ + msgid "Mute" + msgstr "Muet" + +-#. Translators: Time in 24h format */ ++#. Translators: Time in 24h format + #: ../js/ui/components/telepathyClient.js:953 +-msgid "%H∶%M" +-msgstr "%H∶%M" ++msgid "%H\\u2236%M" ++msgstr "%H\\u2236%M" + + #. Translators: this is the word "Yesterday" followed by a +-#. time string in 24h format. i.e. "Yesterday, 14:30" */ ++#. time string in 24h format. i.e. "Yesterday, 14:30" + #: ../js/ui/components/telepathyClient.js:960 +-msgid "Yesterday, %H∶%M" +-msgstr "Hier, %H∶%M" ++#, no-c-format ++msgid "Yesterday, %H\\u2236%M" ++msgstr "Hier, %H\\u2236%M" + + #. Translators: this is the week day name followed by a time +-#. string in 24h format. i.e. "Monday, 14:30" */ ++#. string in 24h format. i.e. "Monday, 14:30" + #: ../js/ui/components/telepathyClient.js:967 +-msgid "%A, %H∶%M" +-msgstr "%A, %H∶%M" ++#, no-c-format ++msgid "%A, %H\\u2236%M" ++msgstr "%A, %H\\u2236%M" + + #. Translators: this is the month name and day number + #. followed by a time string in 24h format. +-#. i.e. "May 25, 14:30" */ ++#. i.e. "May 25, 14:30" + #: ../js/ui/components/telepathyClient.js:974 +-msgid "%B %d, %H∶%M" +-msgstr "%d %B, %H∶%M" ++#, no-c-format ++msgid "%B %d, %H\\u2236%M" ++msgstr "%B %d, %H\\u2236%M" + + #. Translators: this is the month name, day number, year + #. number followed by a time string in 24h format. +-#. i.e. "May 25 2012, 14:30" */ ++#. i.e. "May 25 2012, 14:30" + #: ../js/ui/components/telepathyClient.js:980 +-msgid "%B %d %Y, %H∶%M" +-msgstr "%d %B %Y, %H∶%M" ++#, no-c-format ++msgid "%B %d %Y, %H\\u2236%M" ++msgstr "%B %d %Y, %H\\u2236%M" + +-#. Translators: Time in 24h format */ ++#. Translators: Time in 24h format + #: ../js/ui/components/telepathyClient.js:986 +-msgid "%l∶%M %p" +-msgstr "%l∶%M %p" ++msgid "%l\\u2236%M %p" ++msgstr "%l\\u2236%M %p" + + #. Translators: this is the word "Yesterday" followed by a +-#. time string in 12h format. i.e. "Yesterday, 2:30 pm" */ ++#. time string in 12h format. i.e. "Yesterday, 2:30 pm" + #: ../js/ui/components/telepathyClient.js:993 +-msgid "Yesterday, %l∶%M %p" +-msgstr "Hier, %l∶%M %p" ++#, no-c-format ++msgid "Yesterday, %l\\u2236%M %p" ++msgstr "Hier, %l\\u2236%M %p" + + #. Translators: this is the week day name followed by a time +-#. string in 12h format. i.e. "Monday, 2:30 pm" */ ++#. string in 12h format. i.e. "Monday, 2:30 pm" + #: ../js/ui/components/telepathyClient.js:1000 +-msgid "%A, %l∶%M %p" +-msgstr "%A, %l∶%M %p" ++#, no-c-format ++msgid "%A, %l\\u2236%M %p" ++msgstr "%A, %l\\u2236%M %p" + + #. Translators: this is the month name and day number + #. followed by a time string in 12h format. +-#. i.e. "May 25, 2:30 pm" */ ++#. i.e. "May 25, 2:30 pm" + #: ../js/ui/components/telepathyClient.js:1007 +-msgid "%B %d, %l∶%M %p" +-msgstr "%d %B, %l∶%M %p" ++#, no-c-format ++msgid "%B %d, %l\\u2236%M %p" ++msgstr "%B %d, %l\\u2236%M %p" + + #. Translators: this is the month name, day number, year + #. number followed by a time string in 12h format. +-#. i.e. "May 25 2012, 2:30 pm"*/ ++#. i.e. "May 25 2012, 2:30 pm" + #: ../js/ui/components/telepathyClient.js:1013 +-msgid "%B %d %Y, %l∶%M %p" +-msgstr "%d %B %Y, %l∶%M %p" ++#, no-c-format ++msgid "%B %d %Y, %l\\u2236%M %p" ++msgstr "%B %d %Y, %l\\u2236%M %p" + + #. Translators: this is the other person changing their old IM name to their new +-#. IM name. */ ++#. IM name. + #: ../js/ui/components/telepathyClient.js:1045 +-#, javascript-format ++#, c-format + msgid "%s is now known as %s" + msgstr "%s est maintenant connu sous le nom de %s" + + #. translators: argument is a room name like +-#. * room@jabber.org for example. */ ++#. * room@jabber.org for example. + #: ../js/ui/components/telepathyClient.js:1149 +-#, javascript-format ++#, c-format + msgid "Invitation to %s" + msgstr "Invitation vers %s" + + #. translators: first argument is the name of a contact and the second + #. * one the name of a room. "Alice is inviting you to join room@jabber.org +-#. * for example. */ ++#. * for example. + #: ../js/ui/components/telepathyClient.js:1157 +-#, javascript-format ++#, c-format + msgid "%s is inviting you to join %s" + msgstr "%s vous invite à rejoindre %s" + +@@ -871,19 +906,19 @@ + msgid "Accept" + msgstr "Accepter" + +-#. translators: argument is a contact name like Alice for example. */ ++#. translators: argument is a contact name like Alice for example. + #: ../js/ui/components/telepathyClient.js:1184 +-#, javascript-format ++#, c-format + msgid "Video call from %s" + msgstr "Appel vidéo de %s" + +-#. translators: argument is a contact name like Alice for example. */ ++#. translators: argument is a contact name like Alice for example. + #: ../js/ui/components/telepathyClient.js:1187 +-#, javascript-format ++#, c-format + msgid "Call from %s" + msgstr "Appel provenant de %s" + +-#. translators: this is a button label (verb), not a noun */ ++#. translators: this is a button label (verb), not a noun + #: ../js/ui/components/telepathyClient.js:1201 + msgid "Answer" + msgstr "Répondre" +@@ -892,15 +927,15 @@ + #. * the contact's alias and the second one is the + #. * file name. The string will be something + #. * like: "Alice is sending you test.ogg" +-#. */ ++#. + #: ../js/ui/components/telepathyClient.js:1222 +-#, javascript-format ++#, c-format + msgid "%s is sending you %s" + msgstr "%s vous envoie %s" + +-#. To translators: The parameter is the contact's alias */ ++#. To translators: The parameter is the contact's alias + #: ../js/ui/components/telepathyClient.js:1251 +-#, javascript-format ++#, c-format + msgid "%s would like permission to see when you are online" + msgstr "%s aimerait être autorisé à savoir lorsque vous êtes en ligne" + +@@ -1011,9 +1046,9 @@ + msgstr "Erreur interne" + + #. translators: argument is the account name, like +-#. * name@jabber.org for example. */ ++#. * name@jabber.org for example. + #: ../js/ui/components/telepathyClient.js:1393 +-#, javascript-format ++#, c-format + msgid "Unable to connect to %s" + msgstr "Impossible de se connecter à %s" + +@@ -1025,7 +1060,7 @@ + msgid "Unknown reason" + msgstr "Raison inconnue" + +-#: ../js/ui/ctrlAltTab.js:29 ../js/ui/viewSelector.js:154 ++#: ../js/ui/ctrlAltTab.js:29 ../js/ui/viewSelector.js:155 + msgid "Windows" + msgstr "Fenêtres" + +@@ -1033,37 +1068,39 @@ + msgid "Show Applications" + msgstr "Afficher les applications" + ++#. Translators: this is the name of the dock/favorites area on ++#. the left of the overview + #: ../js/ui/dash.js:445 + msgid "Dash" + msgstr "Dash" + +-#: ../js/ui/dateMenu.js:96 ++#: ../js/ui/dateMenu.js:97 + msgid "Open Calendar" + msgstr "Ouvrir l'agenda" + +-#: ../js/ui/dateMenu.js:100 ++#: ../js/ui/dateMenu.js:101 + msgid "Open Clocks" + msgstr "Ouvrir Horloges" + +-#: ../js/ui/dateMenu.js:107 ++#: ../js/ui/dateMenu.js:108 + msgid "Date & Time Settings" + msgstr "Paramètres de date et heure" + + # luc: FIXME: how to have a capitalized weekday (start of sentence)? + # %a (abbreviated) %A (full weekday) %^A (full weekday all uppercase) + # https://bugzilla.gnome.org/show_bug.cgi?id=658686 +-# ++# + # luc: TODO: to test, this possibly explodes on dimanche 25 septembre 2011 + # L M M J V S D + #. 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:204 ++#. ++#: ../js/ui/dateMenu.js:132 + msgid "%A %B %e, %Y" + msgstr "%A %e %B %Y" + + #: ../js/ui/endSessionDialog.js:64 +-#, javascript-format ++#, c-format + msgctxt "title" + msgid "Log Out %s" + msgstr "Fermer la session de %s" +@@ -1074,14 +1111,14 @@ + msgstr "Fermer la session" + + #: ../js/ui/endSessionDialog.js:67 +-#, javascript-format ++#, c-format + msgid "%s will be logged out automatically in %d second." + msgid_plural "%s will be logged out automatically in %d seconds." + msgstr[0] "%s sera déconnecté automatiquement dans %d seconde." + msgstr[1] "%s sera déconnecté automatiquement dans %d secondes." + + #: ../js/ui/endSessionDialog.js:72 +-#, javascript-format ++#, c-format + msgid "You will be logged out automatically in %d second." + msgid_plural "You will be logged out automatically in %d seconds." + msgstr[0] "Vous allez être déconnecté automatiquement dans %d seconde." +@@ -1103,7 +1140,7 @@ + msgstr "Installer les mises à jour et éteindre" + + #: ../js/ui/endSessionDialog.js:87 +-#, javascript-format ++#, c-format + msgid "The system will power off automatically in %d second." + msgid_plural "The system will power off automatically in %d seconds." + msgstr[0] "Cet ordinateur s'éteindra automatiquement dans %d seconde." +@@ -1130,7 +1167,7 @@ + msgstr "Redémarrer" + + #: ../js/ui/endSessionDialog.js:105 +-#, javascript-format ++#, c-format + msgid "The system will restart automatically in %d second." + msgid_plural "The system will restart automatically in %d seconds." + msgstr[0] "Cet ordinateur redémarrera automatiquement dans %d seconde." +@@ -1142,8 +1179,9 @@ + msgstr "Redémarrer et installer les mises à jour" + + #: ../js/ui/endSessionDialog.js:121 +-#, javascript-format +-msgid "The system will automatically restart and install updates in %d second." ++#, c-format ++msgid "" ++"The system will automatically restart and install updates in %d second." + msgid_plural "" + "The system will automatically restart and install updates in %d seconds." + msgstr[0] "Le système redémarrera automatiquement dans %d seconde." +@@ -1179,15 +1217,15 @@ + msgid "Other users are logged in." + msgstr "D'autres utilisateurs sont connectés." + +-#. Translators: Remote here refers to a remote session, like a ssh login */ ++#. Translators: Remote here refers to a remote session, like a ssh login + #: ../js/ui/endSessionDialog.js:640 +-#, javascript-format ++#, c-format + msgid "%s (remote)" + msgstr "%s (distant)" + +-#. Translators: Console here refers to a tty like a VT console */ ++#. Translators: Console here refers to a tty like a VT console + #: ../js/ui/endSessionDialog.js:643 +-#, javascript-format ++#, c-format + msgid "%s (console)" + msgstr "%s (console)" + +@@ -1196,99 +1234,119 @@ + msgstr "Installer" + + #: ../js/ui/extensionDownloader.js:204 +-#, javascript-format ++#, c-format + msgid "Download and install “%s” from extensions.gnome.org?" + msgstr "Télécharger et installer « %s » à partir de extensions.gnome.org ?" + +-#: ../js/ui/keyboard.js:692 ../js/ui/status/keyboard.js:523 ++#: ../js/ui/extensionSystem.js:314 ++#, c-format ++msgid "%d extension is out of date" ++msgid_plural "%d extensions are out of date" ++msgstr[0] "%d extension n'est pas à jour" ++msgstr[1] "%d extensions ne sont pas à jour" ++ ++#: ../js/ui/extensionSystem.js:317 ++msgid "You can visit http://extensions.gnome.org for updates" ++msgstr "" ++"Vous pouvez consulter http://extensions.gnome.org pour des mises à jour" ++ ++#: ../js/ui/keyboard.js:700 ../js/ui/status/keyboard.js:535 + msgid "Keyboard" + msgstr "Clavier" + +-#: ../js/ui/lookingGlass.js:643 ++#: ../js/ui/lookingGlass.js:645 + msgid "No extensions installed" + msgstr "Aucune extension installée" + +-#. Translators: argument is an extension UUID. */ +-#: ../js/ui/lookingGlass.js:697 +-#, javascript-format ++#. Translators: argument is an extension UUID. ++#: ../js/ui/lookingGlass.js:699 ++#, c-format + msgid "%s has not emitted any errors." + msgstr "%s n'a émis aucune erreur." + +-#: ../js/ui/lookingGlass.js:703 ++#: ../js/ui/lookingGlass.js:705 + msgid "Hide Errors" + msgstr "Masquer les erreurs" + +-#: ../js/ui/lookingGlass.js:707 ../js/ui/lookingGlass.js:767 ++#: ../js/ui/lookingGlass.js:709 ../js/ui/lookingGlass.js:769 + msgid "Show Errors" + msgstr "Afficher les erreurs" + +-#: ../js/ui/lookingGlass.js:716 ../js/ui/status/location.js:71 ++#: ../js/ui/lookingGlass.js:718 ../js/ui/status/location.js:71 + #: ../js/ui/status/location.js:176 + msgid "Enabled" + msgstr "Activé" + + #. Translators: this is for a network device that cannot be activated +-#. because it's disabled by rfkill (airplane mode) */ ++#. because it's disabled by rfkill (airplane mode) + #. translators: + #. * The device has been disabled +-#: ../js/ui/lookingGlass.js:719 ../js/ui/status/location.js:179 ++#: ../js/ui/lookingGlass.js:721 ../js/ui/status/location.js:179 + #: ../js/ui/status/network.js:592 ../src/gvc/gvc-mixer-control.c:1830 + msgid "Disabled" + msgstr "Désactivé" + +-#: ../js/ui/lookingGlass.js:721 ++#: ../js/ui/lookingGlass.js:723 + msgid "Error" + msgstr "Erreur" + +-#: ../js/ui/lookingGlass.js:723 ++#: ../js/ui/lookingGlass.js:725 + msgid "Out of date" + msgstr "Périmé" + +-#: ../js/ui/lookingGlass.js:725 ++#: ../js/ui/lookingGlass.js:727 + msgid "Downloading" + msgstr "Téléchargement" + +-#: ../js/ui/lookingGlass.js:749 ++#: ../js/ui/lookingGlass.js:751 + msgid "View Source" + msgstr "Afficher la source" + +-#: ../js/ui/lookingGlass.js:758 ++#: ../js/ui/lookingGlass.js:760 + msgid "Web Page" + msgstr "Page Web" + +-#: ../js/ui/messageTray.js:1326 ++#: ../js/ui/messageTray.js:1334 + msgid "Open" + msgstr "Ouvrir" + +-#: ../js/ui/messageTray.js:1333 ++#: ../js/ui/messageTray.js:1341 + msgid "Remove" + msgstr "Enlever" + +-#: ../js/ui/messageTray.js:1630 ++#: ../js/ui/messageTray.js:1638 + msgid "Notifications" + msgstr "Notifications" + +-#: ../js/ui/messageTray.js:1637 ++#: ../js/ui/messageTray.js:1645 + msgid "Clear Messages" + msgstr "Effacer les messages" + +-#: ../js/ui/messageTray.js:1656 ++#: ../js/ui/messageTray.js:1664 + msgid "Notification Settings" + msgstr "Paramètres de notifications" + +-#: ../js/ui/messageTray.js:1709 ++#: ../js/ui/messageTray.js:1717 + msgid "Tray Menu" + msgstr "Menu du tiroir de messagerie" + +-#: ../js/ui/messageTray.js:1926 ++#: ../js/ui/messageTray.js:1941 + msgid "No Messages" + msgstr "Aucun message" + +-#: ../js/ui/messageTray.js:1968 ++#: ../js/ui/messageTray.js:1988 + msgid "Message Tray" + msgstr "Tiroir de messagerie" + +-#: ../js/ui/messageTray.js:2971 ++#: ../js/ui/messageTray.js:2447 ../js/ui/overviewControls.js:483 ++#: ../js/ui/screenShield.js:151 ++#, c-format ++msgid "%d new message" ++msgid_plural "%d new messages" ++msgstr[0] "%d nouveau message" ++msgstr[1] "%d nouveaux messages" ++ ++#: ../js/ui/messageTray.js:3017 + msgid "System Information" + msgstr "Informations du système" + +@@ -1297,13 +1355,6 @@ + msgid "Unknown" + msgstr "Inconnu" + +-#: ../js/ui/overviewControls.js:482 ../js/ui/screenShield.js:151 +-#, javascript-format +-msgid "%d new message" +-msgid_plural "%d new messages" +-msgstr[0] "%d nouveau message" +-msgstr[1] "%d nouveaux messages" +- + #: ../js/ui/overview.js:84 + msgid "Undo" + msgstr "Annuler" +@@ -1315,7 +1366,7 @@ + #. Translators: this is the text displayed + #. in the search entry when no search is + #. active; it should not exceed ~30 +-#. characters. */ ++#. characters. + #: ../js/ui/overview.js:246 + msgid "Type to search…" + msgstr "Rechercher…" +@@ -1325,15 +1376,20 @@ + msgstr "Quitter" + + #. Translators: If there is no suitable word for "Activities" +-#. in your language, you can use the word for "Overview". */ +-#: ../js/ui/panel.js:567 ++#. in your language, you can use the word for "Overview". ++#: ../js/ui/panel.js:574 + msgid "Activities" + msgstr "Activités" + +-#: ../js/ui/panel.js:918 ++#: ../js/ui/panel.js:925 + msgid "Top Bar" + msgstr "Barre supérieure" + ++#. 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:269 + msgid "toggle-switch-us" + msgstr "toggle-switch-intl" +@@ -1351,39 +1407,46 @@ + msgstr "Redémarrage en cours…" + + #. Translators: This is a time format for a date in +-#. long format */ ++#. long format + #: ../js/ui/screenShield.js:88 + msgid "%A, %B %d" + msgstr "%A %d %B" + + #: ../js/ui/screenShield.js:153 +-#, javascript-format ++#, c-format + msgid "%d new notification" + msgid_plural "%d new notifications" + msgstr[0] "%d nouvelle notification" + msgstr[1] "%d nouvelles notifications" + +-#: ../js/ui/screenShield.js:472 ../js/ui/status/system.js:345 ++#: ../js/ui/screenShield.js:473 ../js/ui/status/system.js:345 + msgid "Lock" + msgstr "Verrouiller" + +-#: ../js/ui/screenShield.js:706 ++#: ../js/ui/screenShield.js:709 + msgid "GNOME needs to lock the screen" + msgstr "GNOME a besoin de verrouiller l'écran" + +-#: ../js/ui/screenShield.js:833 ../js/ui/screenShield.js:1304 ++#. We could not become modal, so we can't activate the ++#. screenshield. The user is probably very upset at this ++#. point, but any application using global grabs is broken ++#. Just tell him to stop using this app ++#. ++#. XXX: another option is to kick the user into the gdm login ++#. screen, where we're not affected by grabs ++#: ../js/ui/screenShield.js:836 ../js/ui/screenShield.js:1312 + msgid "Unable to lock" + msgstr "Impossible de verrouiller" + +-#: ../js/ui/screenShield.js:834 ../js/ui/screenShield.js:1305 ++#: ../js/ui/screenShield.js:837 ../js/ui/screenShield.js:1313 + msgid "Lock was blocked by an application" + msgstr "Le verrouillage a été bloqué par une application" + +-#: ../js/ui/search.js:594 ++#: ../js/ui/search.js:611 + msgid "Searching…" + msgstr "Recherche en cours…" + +-#: ../js/ui/search.js:596 ++#: ../js/ui/search.js:613 + msgid "No results." + msgstr "Aucun résultat." + +@@ -1455,6 +1518,8 @@ + msgid "Large Text" + msgstr "Grand texte" + ++#. The Bluetooth menu only appears when Bluetooth is in use, ++#. so just statically build it with a "Turn Off" menu item. + #: ../js/ui/status/bluetooth.js:49 + msgid "Bluetooth" + msgstr "Bluetooth" +@@ -1471,7 +1536,7 @@ + msgstr "Paramètres Bluetooth" + + #: ../js/ui/status/bluetooth.js:104 +-#, javascript-format ++#, c-format + msgid "%d Connected Device" + msgid_plural "%d Connected Devices" + msgstr[0] "%d périphérique connecté" +@@ -1485,7 +1550,7 @@ + msgid "Brightness" + msgstr "Luminosité" + +-#: ../js/ui/status/keyboard.js:547 ++#: ../js/ui/status/keyboard.js:559 + msgid "Show Keyboard Layout" + msgstr "Afficher la disposition du clavier" + +@@ -1523,7 +1588,7 @@ + msgstr "Connecté" + + #. Translators: this is for network devices that are physically present but are not +-#. under NetworkManager's control (and thus cannot be used in the menu) */ ++#. under NetworkManager's control (and thus cannot be used in the menu) + #: ../js/ui/status/network.js:463 + msgid "Unmanaged" + msgstr "Non géré" +@@ -1536,19 +1601,19 @@ + msgid "Connecting" + msgstr "Connexion en cours" + +-#. Translators: this is for network connections that require some kind of key or password */ ++#. Translators: this is for network connections that require some kind of key or password + #: ../js/ui/status/network.js:474 + msgid "Authentication required" + msgstr "Authentification nécessaire" + + #. Translators: this is for devices that require some kind of firmware or kernel +-#. module, which is missing */ ++#. module, which is missing + #: ../js/ui/status/network.js:482 + msgid "Firmware missing" + msgstr "Micrologiciel manquant" + + #. Translators: this is for a network device that cannot be activated (for example it +-#. is disabled by rfkill, or it has no coverage */ ++#. is disabled by rfkill, or it has no coverage + #: ../js/ui/status/network.js:486 + msgid "Unavailable" + msgstr "Non disponible" +@@ -1633,7 +1698,7 @@ + msgid "connecting..." + msgstr "connexion..." + +-#. Translators: this is for network connections that require some kind of key or password */ ++#. Translators: this is for network connections that require some kind of key or password + #: ../js/ui/status/network.js:1412 + msgid "authentication required" + msgstr "authentification nécessaire" +@@ -1670,19 +1735,23 @@ + msgid "Fully Charged" + msgstr "Charge complète" + ++#. 0 is reported when UPower does not have enough data ++#. to estimate battery life + #: ../js/ui/status/power.js:72 ../js/ui/status/power.js:78 + msgid "Estimating…" + msgstr "Estimation en cours…" + ++#. Translators: this is : Remaining () + #: ../js/ui/status/power.js:86 +-#, javascript-format +-msgid "%d∶%02d Remaining (%d%%)" +-msgstr "%d∶%02d restant (%d%%)" ++#, c-format ++msgid "%d\\u2236%02d Remaining (%d%%)" ++msgstr "%d\\u2236%02d restant (%d%%)" + ++#. Translators: this is : Until Full () + #: ../js/ui/status/power.js:91 +-#, javascript-format +-msgid "%d∶%02d Until Full (%d%%)" +-msgstr "%d∶%02d avant chargement complet (%d%%)" ++#, c-format ++msgid "%d\\u2236%02d Until Full (%d%%)" ++msgstr "%d\\u2236%02d avant chargement complet (%d%%)" + + #: ../js/ui/status/power.js:119 + msgid "UPS" +@@ -1692,6 +1761,9 @@ + msgid "Battery" + msgstr "Batterie" + ++#. The menu only appears when airplane mode is on, so just ++#. statically build it as if it was on, rather than dynamically ++#. changing the menu contents. + #: ../js/ui/status/rfkill.js:83 + msgid "Airplane Mode" + msgstr "Mode avion" +@@ -1740,16 +1812,16 @@ + msgid "Unlock Window" + msgstr "Fenêtre de déverrouillage" + +-#: ../js/ui/viewSelector.js:158 ++#: ../js/ui/viewSelector.js:159 + msgid "Applications" + msgstr "Applications" + +-#: ../js/ui/viewSelector.js:162 ++#: ../js/ui/viewSelector.js:163 + msgid "Search" + msgstr "Recherche" + + #: ../js/ui/windowAttentionHandler.js:19 +-#, javascript-format ++#, c-format + msgid "“%s” is ready" + msgstr "« %s » est prêt" + +@@ -1759,7 +1831,7 @@ + + #. Translators: this and the following message should be limited in lenght, + #. to avoid ellipsizing the labels. +-#. */ ++#. + #: ../js/ui/windowManager.js:84 + msgid "Revert Settings" + msgstr "Restaurer les paramètres" +@@ -1769,7 +1841,7 @@ + msgstr "Conserver les modifications" + + #: ../js/ui/windowManager.js:107 +-#, javascript-format ++#, c-format + msgid "Settings changes will revert in %d second" + msgid_plural "Settings changes will revert in %d seconds" + msgstr[0] "Les paramètres seront restaurés dans %d seconde" +@@ -1841,20 +1913,20 @@ + msgid "System Sounds" + msgstr "Sons système" + +-#: ../src/main.c:373 ++#: ../src/main.c:381 + msgid "Print version" + msgstr "Affiche la version" + +-#: ../src/main.c:379 ++#: ../src/main.c:387 + msgid "Mode used by GDM for login screen" + msgstr "Mode utilisé par GDM pour l'écran de connexion" + +-#: ../src/main.c:385 ++#: ../src/main.c:393 + msgid "Use a specific mode, e.g. \"gdm\" for login screen" + msgstr "" + "Utiliser un mode particulier, par ex. « gdm » pour l'écran de connexion" + +-#: ../src/main.c:391 ++#: ../src/main.c:399 + msgid "List possible modes" + msgstr "Lister les modes possibles" + +@@ -1874,502 +1946,3 @@ + #: ../src/shell-polkit-authentication-agent.c:346 + msgid "Authentication dialog was dismissed by the user" + msgstr "La fenêtre d'authentification a été écartée par l'utilisateur" +- +-#~ msgid "The maximum accuracy level of location." +-#~ msgstr "Le niveau de précision de localisation maximal" +- +-#~ msgid "" +-#~ "Configures the maximum level of location accuracy applications are " +-#~ "allowed to see. Valid options are 'off' (disable location tracking), " +-#~ "'country', 'city', 'neighborhood', 'street', and 'exact' (typically " +-#~ "requires GPS receiver). Please keep in mind that this only controls what " +-#~ "GeoClue will allow applications to see and they can find user's location " +-#~ "on their own using network resources (albeit with street-level accuracy " +-#~ "at best)." +-#~ msgstr "" +-#~ "Configure le niveau maximal de précision de localisation que les " +-#~ "applications sont autorisées à voir. Les options valides sont " +-#~ "« off » (désactiver le suivi de l'emplacement), « country » (pays), " +-#~ "« city » (ville), « neighborhood » (quartier), « rue » (rue) et " +-#~ "« exact » (emplacement exact, nécessite généralement un récepteur GPS). " +-#~ "Veuillez garder en tête que ce paramètre contrôle uniquement ce que " +-#~ "GeoClue autorisera les applications à voir mais qu'elles restent " +-#~ "néanmoins capables de déterminer l'emplacement de l'utilisateur d'elle-" +-#~ "même en utilisant les ressources réseau (avec au mieux un niveau de " +-#~ "précision limité à la rue)." +- +-#~ msgid "Arrangement of buttons on the titlebar" +-#~ msgstr "La disposition des boutons dans la barre de titre" +- +-#~ msgid "" +-#~ "This key overrides the key in org.gnome.desktop.wm.preferences when " +-#~ "running GNOME Shell." +-#~ msgstr "" +-#~ "Cette clé prend le pas sur la clé dans org.gnome.desktop.wm.preferences " +-#~ "lorsque GNOME Shell est lancé." +- +-#~ msgid "Extension" +-#~ msgstr "Extension" +- +-#~ msgid "Select an extension to configure using the combobox above." +-#~ msgstr "" +-#~ "Sélectionnez une extension à configurer en utilisant la boîte combinée ci-" +-#~ "dessus." +- +-#~ msgid "calendar:MY" +-#~ msgstr "calendar:MY" +- +-#~ msgid "unavailable" +-#~ msgstr "non disponible" +- +-#~ msgid "List of categories that should be displayed as folders" +-#~ msgstr "" +-#~ "Liste des catégories qui devraient être affichées comme des dossiers" +- +-#~ msgid "" +-#~ "Each category name in this list will be represented as folder in the " +-#~ "application view, rather than being displayed inline in the main view." +-#~ msgstr "" +-#~ "Chaque nom de catégorie dans cette liste sera représentée comme un " +-#~ "dossier dans la vue des applications, plutôt qu'alignée dans la vue " +-#~ "principale." +- +-#~ msgctxt "event list time" +-#~ msgid "%H\\u2236%M" +-#~ msgstr "%H\\u2236%M" +- +-#~ msgctxt "event list time" +-#~ msgid "%l\\u2236%M\\u2009%p" +-#~ msgstr "%l\\u2236%M\\u2009%p" +- +-#~ msgid "%A, %H:%M" +-#~ msgstr "%A, %H:%M" +- +-#~ msgid "%B %d, %H:%M" +-#~ msgstr "%d %B, %H:%M" +- +-#~ msgid "%B %d %Y, %H:%M " +-#~ msgstr "%d %B %Y, %H:%M " +- +-#~ msgid "Authorization request from %s" +-#~ msgstr "Demande d'autorisation de « %s »" +- +-#~ msgid "Device %s wants to pair with this computer" +-#~ msgstr "Le périphérique « %s » souhaite se connecter à cet ordinateur" +- +-#~ msgid "Allow" +-#~ msgstr "Autoriser" +- +-#~ msgid "Deny" +-#~ msgstr "Refuser" +- +-#~ msgid "Device %s wants access to the service '%s'" +-#~ msgstr "Le périphérique %s souhaite accéder au service « %s »" +- +-#~ msgid "Always grant access" +-#~ msgstr "Toujours accorder l'accès" +- +-#~ msgid "Grant this time only" +-#~ msgstr "Accorder l'accès cette fois uniquement" +- +-#~ msgid "Reject" +-#~ msgstr "Refuser" +- +-#~ msgid "Pairing confirmation for %s" +-#~ msgstr "Confirmation de la demande de liaison pour « %s »" +- +-#~ msgid "" +-#~ "Please confirm whether the Passkey '%06d' matches the one on the device." +-#~ msgstr "" +-#~ "Veuillez confirmer que la clé de passe (Passkey) « %06d » correspond à " +-#~ "celle du périphérique." +- +-#~ msgid "Matches" +-#~ msgstr "Correspond" +- +-#~ msgid "Does not match" +-#~ msgstr "Ne correspond pas" +- +-#~ msgid "Pairing request for %s" +-#~ msgstr "Demande de liaison pour « %s »" +- +-#~ 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." +- +-#~ msgid "OK" +-#~ msgstr "Valider" +- +-#~ msgid "" +-#~ "Sorry, no wisdom for you today:\n" +-#~ "%s" +-#~ msgstr "" +-#~ "Désolé, aucune sagesse pour vous aujourd'hui :\n" +-#~ "%s" +- +-#~ msgid "%s the Oracle says" +-#~ msgstr "L'Oracle %s déclare" +- +-#~ msgid "Settings Menu" +-#~ msgstr "Menu des paramètres" +- +-#~ msgid "Screenshots" +-#~ msgstr "Captures d'écran" +- +-#~ msgid "Record a screencast" +-#~ msgstr "Enregistrer une vidéo d'écran" +- +-#~ msgid "Whether to collect stats about applications usage" +-#~ msgstr "Collecter des statistiques sur l'utilisation des applications" +- +-#~ 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 "" +-#~ "Normalement GNOME Shell surveille les applications actives afin de " +-#~ "déterminer les plus utilisées (par ex. pour les lanceurs). Bien que ces " +-#~ "données soient gardées secrètes, des motifs de confidentialité peuvent " +-#~ "vous pousser à désactiver cette fonctionnalité. Remarquez que cette " +-#~ "désactivation ne supprime pas d'éventuelles données déjà enregistrées." +- +-#~ msgid "" +-#~ "Internally used to store the last IM presence explicitly set by the user. " +-#~ "The value here is from the TpConnectionPresenceType enumeration." +-#~ msgstr "" +-#~ "Utilisé en interne pour enregistrer la dernière présence de messagerie " +-#~ "instantanée IM explicitement définie par l'utilisateur. Ici la valeur est " +-#~ "tirée de l'énumération TpConnectionPresenceType." +- +-#~ msgid "" +-#~ "Internally used to store the last session presence status for the user. " +-#~ "The value here is from the GsmPresenceStatus enumeration." +-#~ msgstr "" +-#~ "Utilisé en interne pour enregistrer le dernier statut de présence de la " +-#~ "session pour l'utilisateur. Ici la valeur est tirée de l'énumération " +-#~ "GsmPresenceStatus." +- +-#~ msgid "Keybinding to toggle the screen recorder" +-#~ msgstr "Combinaison de touches pour basculer l'enregistreur d'écran" +- +-#~ msgid "Keybinding to start/stop the builtin screen recorder." +-#~ msgstr "" +-#~ "Combinaison de touches pour démarrer/arrêter l'enregistreur d'écran " +-#~ "intégré." +- +-#~ msgid "Framerate used for recording screencasts." +-#~ msgstr "" +-#~ "Nombre d'images par seconde pour l'enregistrement des animations d'écran." +- +-#~ msgid "" +-#~ "The framerate of the resulting screencast recordered by GNOME Shell's " +-#~ "screencast recorder in frames-per-second." +-#~ msgstr "" +-#~ "Le nombre d'images par seconde des animations d'écran enregistrées par " +-#~ "l'outil idoine de GNOME Shell." +- +-#~ msgid "The gstreamer pipeline used to encode the screencast" +-#~ msgstr "Le pipeline GStreamer utilisé pour coder l'animation d'écran" +- +-#~ msgid "" +-#~ "Sets the GStreamer pipeline used to encode recordings. It follows the " +-#~ "syntax used for gst-launch. The pipeline should have an unconnected sink " +-#~ "pad where the recorded video is recorded. It will normally have a " +-#~ "unconnected source pad; output from that pad will be written into the " +-#~ "output file. However the pipeline can also take care of its own output - " +-#~ "this might be used to send the output to an icecast server via shout2send " +-#~ "or similar. When unset or set to an empty value, the default pipeline " +-#~ "will be used. This is currently 'vp8enc min_quantizer=13 max_quantizer=13 " +-#~ "cpu-used=5 deadline=1000000 threads=%T ! queue ! webmmux' and records to " +-#~ "WEBM using the VP8 codec. %T is used as a placeholder for a guess at the " +-#~ "optimal thread count on the system." +-#~ msgstr "" +-#~ "Définition du pipeline GStreamer utilisé pour coder les enregistrements " +-#~ "vidéo. La syntaxe est identique à celle de gst-launch. Le connecteur " +-#~ "d'entrée (sink pad) du pipeline devrait être non connecté là où la vidéo " +-#~ "est enregistrée. Le connecteur source devrait normalement être non " +-#~ "connecté ; la sortie de ce connecteur est écrite dans le fichier de " +-#~ "sortie. Cependant, le 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 « vp8enc " +-#~ "min_quantizer=13 max_quantizer=13 cpu-used=5 deadline=1000000 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." +- +-#~ msgid "File extension used for storing the screencast" +-#~ msgstr "" +-#~ "Extension de fichier à utiliser pour enregistrer l'animation d'écran" +- +-#~ 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 "" +-#~ "Le nom de fichier des animations d'écran est unique, se base sur la date, " +-#~ "et utilise cette extension. Elle devrait être modifiée si le format du " +-#~ "conteneur utilisé pour l'enregistrement est différent." +- +-#~ msgid "Session…" +-#~ msgstr "Session…" +- +-#~ msgid "Power" +-#~ msgstr "Énergie" +- +-#~ msgid "Restart" +-#~ msgstr "Redémarrer" +- +-#~ msgid "Screencast from %d %t" +-#~ msgstr "Vidéo d'écran %d %t" +- +-#~ 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." +- +-#~ msgid "Logging out of the system." +-#~ msgstr "Déconnexion du système." +- +-#~ 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." +- +-#~ msgid "Powering off the system." +-#~ msgstr "Extinction du système." +- +-#~ 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." +- +-#~ msgid "Restarting the system." +-#~ msgstr "Redémarrage du système." +- +-#~ msgid "Universal Access Settings" +-#~ msgstr "Paramètres de l'accès universel" +- +-#~ msgid "Visibility" +-#~ msgstr "Visibilité" +- +-#~ msgid "Send Files to Device…" +-#~ msgstr "Envoyer les fichiers au périphérique…" +- +-#~ msgid "Set Up a New Device…" +-#~ msgstr "Configurer un nouveau périphérique…" +- +-#~ msgid "Send Files…" +-#~ msgstr "Envoyer des fichiers…" +- +-#~ msgid "Keyboard Settings" +-#~ msgstr "Paramètres du clavier" +- +-#~ msgid "Mouse Settings" +-#~ msgstr "Paramètres de la souris" +- +-#~ msgid "Sound Settings" +-#~ msgstr "Paramètres du son" +- +-#~ msgid "Region & Language Settings" +-#~ msgstr "Paramètres de région et de langue" +- +-#~ msgid "Volume, network, battery" +-#~ msgstr "Volume, réseau, batterie" +- +-#~ msgid "disabled" +-#~ msgstr "désactivé" +- +-#~ msgid "cable unplugged" +-#~ msgstr "câble débranché" +- +-#~ msgid "More…" +-#~ msgstr "Plus…" +- +-#~ msgid "Wired" +-#~ msgstr "Filaire" +- +-#~ msgid "Auto Ethernet" +-#~ msgstr "Ethernet automatique" +- +-#~ msgid "Auto broadband" +-#~ msgstr "Connexion large bande automatique" +- +-#~ msgid "Auto dial-up" +-#~ msgstr "Connexion par téléphone automatique" +- +-#~ msgid "Auto %s" +-#~ msgstr "Auto %s" +- +-#~ msgid "Auto bluetooth" +-#~ msgstr "Bluetooth automatique" +- +-#~ msgid "Auto wireless" +-#~ msgstr "Sans fil automatique" +- +-#~ msgid "Wi-Fi" +-#~ msgstr "Wi-Fi" +- +-#~ msgid "Networking is disabled" +-#~ msgstr "Le réseau est désactivé" +- +-#~ msgid "%d hour remaining" +-#~ msgid_plural "%d hours remaining" +-#~ msgstr[0] "%d heure restante" +-#~ msgstr[1] "%d heures restantes" +- +-#~ msgid "%d %s %d %s remaining" +-#~ msgstr "%d %s %d %s restantes" +- +-#~ msgid "hour" +-#~ msgid_plural "hours" +-#~ msgstr[0] "heure" +-#~ msgstr[1] "heures" +- +-#~ msgid "minute" +-#~ msgid_plural "minutes" +-#~ msgstr[0] "minute" +-#~ msgstr[1] "minutes" +- +-#~ msgid "%d minute remaining" +-#~ msgid_plural "%d minutes remaining" +-#~ msgstr[0] "%d minute restante" +-#~ msgstr[1] "%d minutes restantes" +- +-#~ msgctxt "percent of battery remaining" +-#~ msgid "%d%%" +-#~ msgstr "%d %%" +- +-#~ msgid "AC Adapter" +-#~ msgstr "Adaptateur secteur" +- +-#~ msgid "Laptop Battery" +-#~ msgstr "Batterie de l'ordinateur" +- +-#~ msgid "Monitor" +-#~ msgstr "Écran" +- +-#~ msgid "Mouse" +-#~ msgstr "Souris" +- +-#~ msgid "PDA" +-#~ msgstr "Assistant personnel" +- +-#~ msgid "Cell Phone" +-#~ msgstr "Téléphone portable" +- +-#~ msgid "Media Player" +-#~ msgstr "Lecteur multimédia" +- +-#~ msgid "Tablet" +-#~ msgstr "Tablette" +- +-#~ msgid "Computer" +-#~ msgstr "Ordinateur" +- +-#~ msgctxt "device" +-#~ msgid "Unknown" +-#~ msgstr "Inconnu" +- +-#~ msgid "Available" +-#~ msgstr "Disponible" +- +-#~ msgid "Busy" +-#~ msgstr "Occupé" +- +-#~ msgid "Invisible" +-#~ msgstr "Invisible" +- +-#~ msgid "Away" +-#~ msgstr "Absent" +- +-#~ msgid "Idle" +-#~ msgstr "Inactif" +- +-#~ msgid "Your chat status will be set to busy" +-#~ msgstr "Votre statut pour les discussions sera défini à occupé" +- +-#~ msgid "" +-#~ "Notifications are now disabled, including chat messages. Your online " +-#~ "status has been adjusted to let others know that you might not see their " +-#~ "messages." +-#~ msgstr "" +-#~ "Les notifications sont maintenant désactivées, y compris les messages de " +-#~ "discussion. Votre statut en ligne a été modifié afin que les autres " +-#~ "sachent qu'il se peut que vous ne voyez pas leurs messages." +- +-#~ msgid "Shutting down might cause them to lose unsaved work." +-#~ msgstr "" +-#~ "L'extinction pourrait leur faire perdre leur travaux non enregistrés." +- +-#~ msgctxt "title" +-#~ msgid "Sign In" +-#~ msgstr "Connexion" +- +-#~ msgid "APPLICATIONS" +-#~ msgstr "APPLICATIONS" +- +-#~ msgid "SETTINGS" +-#~ msgstr "PARAMÈTRES" +- +-# +-# luc: https://bugzilla.gnome.org/show_bug.cgi?id=658675 +-#~ msgctxt "event list time" +-#~ msgid "%H:%M" +-#~ msgstr "%H:%M" +- +-#~ msgid "Subscription request" +-#~ msgstr "Demande d'abonnement" +- +-#~ msgid "Connection error" +-#~ msgstr "Erreur de connexion" +- +-# +-# luc: TODO: double check with source code. %A is weekday « Envoyé lundi à 8:23» +-#~ msgid "Sent at %X on %A" +-#~ msgstr "Envoyé %A à %X" +- +-#~ msgid "Sent on %A, %B %d, %Y" +-#~ msgstr "Envoyé le %A %-d %B %Y" +- +-#~ msgid "Connection to %s failed" +-#~ msgstr "La connexion à %s a échoué" +- +-#~ msgid "Reconnect" +-#~ msgstr "Se reconnecter" +- +-#~ msgid "tray" +-#~ msgstr "tiroir de messagerie" +- +-#~ msgid "Browse Files..." +-#~ msgstr "Parcourir les fichiers..." +- +-#~ msgid "Error browsing device" +-#~ msgstr "Erreur en parcourant le périphérique" +- +-#~ 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 »" +- +-#~ msgid "More..." +-#~ msgstr "Plus..." +- +-#~ msgid "Wireless" +-#~ msgstr "Sans fil" +- +-#~ msgid "VPN Connections" +-#~ msgstr "Connexions par VPN" +- +-#~ msgid "System Settings" +-#~ msgstr "Paramètres système" +- +-#~ msgid "Your favorite Easter Egg" +-#~ msgstr "Votre œuf de Pâques favori" +- +-#~ msgid "United Kingdom" +-#~ msgstr "Royaume-Uni" +- +-#~ msgid "Default" +-#~ msgstr "Défaut" +diff -urN gnome-shell-3.14.4/po/it.po gnome-shell-3.14.4_localized/po/it.po +--- gnome-shell-3.14.4/po/it.po 2015-03-23 23:39:15.000000000 +0530 ++++ gnome-shell-3.14.4_localized/po/it.po 2016-03-11 22:07:50.589000000 +0530 +@@ -2,26 +2,25 @@ + # Copyright (C) 2009, 2010, the gnome-shell copyright holder + # Copyright (C) 2011, 2012, 2013, 2014 the Free Software Foundation + # This file is distributed under the same license as the gnome-shell package. +-# ++# + # Milo Casagrande , 2009, 2010, 2012, 2013, 2014. + # Luca Ferretti , 2010, 2011, 2012, 2013, 2014. +-# ++# pnemade , 2016. #zanata + msgid "" + msgstr "" + "Project-Id-Version: gnome-shell\n" +-"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug.cgi?product=gnome-" +-"shell&keywords=I18N+L10N&component=general\n" +-"POT-Creation-Date: 2014-10-09 07:37+0000\n" +-"PO-Revision-Date: 2014-10-10 10:01+0100\n" +-"Last-Translator: Milo Casagrande \n" +-"Language-Team: Italiano \n" +-"Language: it\n" ++"Report-Msgid-Bugs-To: \n" ++"POT-Creation-Date: 2016-02-10 14:02+0530\n" + "MIME-Version: 1.0\n" + "Content-Type: text/plain; charset=UTF-8\n" + "Content-Transfer-Encoding: 8bit\n" ++"PO-Revision-Date: 2014-10-10 09:01+0000\n" ++"Last-Translator: Milo Casagrande \n" ++"Language-Team: Italiano \n" ++"Language: it\n" + "Plural-Forms: nplurals=2; plural=(n != 1);\n" + "X-DamnedLies-Scope: partial\n" +-"X-Generator: Poedit 1.6.9\n" ++"X-Generator: Zanata 3.8.2\n" + + #: ../data/50-gnome-shell-system.xml.in.h:1 + msgid "System" +@@ -196,6 +195,7 @@ + #: ../data/org.gnome.shell.gschema.xml.in.in.h:22 + msgid "" + "Keybinding to open the \"Show Applications\" view of the Activities Overview." ++"" + msgstr "" + "Associazione tasti per aprire la vista \"Mosta applicazioni\" della " + "panoramica Attività." +@@ -226,7 +226,8 @@ + + #: ../data/org.gnome.shell.gschema.xml.in.in.h:29 + msgid "" +-"Keybinding that pauses and resumes all running tweens, for debugging purposes" ++"Keybinding that pauses and resumes all running tweens, for debugging " ++"purposes" + msgstr "" + "Associazione di tasti per mettere in pausa e ripristinare tutti i tween in " + "esecuzione, a scopo di debug" +@@ -259,8 +260,8 @@ + #: ../data/org.gnome.shell.gschema.xml.in.in.h:35 + msgid "" + "Configures how the windows are shown in the switcher. Valid possibilities " +-"are 'thumbnail-only' (shows a thumbnail of the window), 'app-icon-" +-"only' (shows only the application icon) or 'both'." ++"are 'thumbnail-only' (shows a thumbnail of the window), 'app-icon-only' " ++"(shows only the application icon) or 'both'." + msgstr "" + "Configura come le finestre vengono mostrate nel selettore. Valori consentiti " + "sono: \"thumbnail-only\" (mostra una miniatura della finestra), \"app-icon-" +@@ -311,7 +312,7 @@ + msgstr "Portale di accesso" + + #: ../js/extensionPrefs/main.js:123 +-#, javascript-format ++#, c-format + msgid "There was an error loading the preferences dialog for %s:" + msgstr "" + "Si è verificato un errore durante il caricamento della finestra delle " +@@ -321,54 +322,68 @@ + msgid "GNOME Shell Extensions" + msgstr "Estensioni di GNOME Shell" + +-#: ../js/gdm/authPrompt.js:147 ../js/ui/components/networkAgent.js:143 ++#: ../js/gdm/authPrompt.js:159 ../js/ui/components/networkAgent.js:143 + #: ../js/ui/components/polkitAgent.js:166 ../js/ui/endSessionDialog.js:452 + #: ../js/ui/extensionDownloader.js:195 ../js/ui/shellMountOperation.js:399 + #: ../js/ui/status/network.js:915 + msgid "Cancel" + msgstr "Annulla" + +-#: ../js/gdm/authPrompt.js:169 ../js/gdm/authPrompt.js:217 ++#: ../js/gdm/authPrompt.js:181 ../js/gdm/authPrompt.js:228 ++#: ../js/gdm/authPrompt.js:466 + msgid "Next" + msgstr "Avanti" + +-#: ../js/gdm/authPrompt.js:213 ../js/ui/shellMountOperation.js:403 ++#: ../js/gdm/authPrompt.js:224 ../js/ui/shellMountOperation.js:403 + #: ../js/ui/unlockDialog.js:59 + msgid "Unlock" + msgstr "Sblocca" + +-#: ../js/gdm/authPrompt.js:215 ++#: ../js/gdm/authPrompt.js:226 + msgctxt "button" + msgid "Sign In" + msgstr "Accedi" + +-#: ../js/gdm/loginDialog.js:269 ++#: ../js/gdm/loginDialog.js:297 + msgid "Choose Session" + msgstr "Scegli sessione" + +-#: ../js/gdm/loginDialog.js:429 ++#. translators: this message is shown below the user list on the ++#. login screen. It can be activated to reveal an entry for ++#. manually entering the username. ++#: ../js/gdm/loginDialog.js:458 + msgid "Not listed?" + msgstr "Non elencato?" + +-#: ../js/gdm/loginDialog.js:614 +-#, javascript-format ++#. Translators: this message is shown below the username entry field ++#. to clue the user in on how to login to the local network realm ++#: ../js/gdm/loginDialog.js:859 ++#, c-format + msgid "(e.g., user or %s)" + msgstr "(p.e. utente o %s)" + +-#: ../js/gdm/loginDialog.js:619 ../js/ui/components/networkAgent.js:269 ++#. TTLS and PEAP are actually much more complicated, but this complication ++#. is not visible here since we only care about phase2 authentication ++#. (and don't even care of which one) ++#: ../js/gdm/loginDialog.js:864 ../js/ui/components/networkAgent.js:269 + #: ../js/ui/components/networkAgent.js:287 + msgid "Username: " + msgstr "Nome utente: " + +-#: ../js/gdm/loginDialog.js:922 ++#: ../js/gdm/loginDialog.js:1193 + msgid "Login Window" + msgstr "Finestra di accesso" + +-#: ../js/gdm/util.js:323 ++#: ../js/gdm/util.js:344 + msgid "Authentication error" + msgstr "Errore di autenticazione" + +-#: ../js/gdm/util.js:453 ++#. We don't show fingerprint messages directly since it's ++#. not the main auth service. Instead we use the messages ++#. as a cue to display our own message. ++#. Translators: this message is shown below the password entry field ++#. to indicate the user can swipe their finger instead ++#: ../js/gdm/util.js:483 + msgid "(or swipe finger)" + msgstr "(o passare il dito)" + +@@ -376,60 +391,64 @@ + msgid "Command not found" + msgstr "Comando non trovato" + ++#. Replace "Error invoking GLib.shell_parse_argv: " with ++#. something nicer + #: ../js/misc/util.js:148 + msgid "Could not parse command:" + msgstr "Impossibile analizzare il comando:" + + #: ../js/misc/util.js:156 +-#, javascript-format ++#, c-format + msgid "Execution of “%s” failed:" + msgstr "Esecuzione di «%s» non riuscita:" + ++#. TRANSLATORS: this is the title of the wifi captive portal login ++#. window, until we know the title of the actual login page + #: ../js/portalHelper/main.js:85 + msgid "Web Authentication Redirect" + msgstr "Redirezione autenticazione web" + +-#: ../js/ui/appDisplay.js:772 ++#: ../js/ui/appDisplay.js:773 + msgid "Frequently used applications will appear here" + msgstr "Qui saranno mostrate le applicazioni usate frequentemente" + +-#: ../js/ui/appDisplay.js:883 ++#: ../js/ui/appDisplay.js:884 + msgid "Frequent" + msgstr "Frequenti" + +-#: ../js/ui/appDisplay.js:890 ++#: ../js/ui/appDisplay.js:891 + msgid "All" + msgstr "Tutte" + +-#: ../js/ui/appDisplay.js:1790 ++#: ../js/ui/appDisplay.js:1795 + msgid "New Window" + msgstr "Nuova finestra" + +-#: ../js/ui/appDisplay.js:1816 ../js/ui/dash.js:285 ++#: ../js/ui/appDisplay.js:1821 ../js/ui/dash.js:285 + msgid "Remove from Favorites" + msgstr "Rimuovi dai preferiti" + +-#: ../js/ui/appDisplay.js:1822 ++#: ../js/ui/appDisplay.js:1827 + msgid "Add to Favorites" + msgstr "Aggiungi ai preferiti" + +-#: ../js/ui/appDisplay.js:1831 ++#: ../js/ui/appDisplay.js:1836 + msgid "Show Details" + msgstr "Mostra dettagli" + + # (ndt) e usare: + # L'elemento %s è stato rimosso... ? +-#: ../js/ui/appFavorites.js:132 +-#, javascript-format ++#: ../js/ui/appFavorites.js:133 ++#, c-format + msgid "%s has been added to your favorites." + msgstr "%s è stato aggiunto ai preferiti." + +-#: ../js/ui/appFavorites.js:166 +-#, javascript-format ++#: ../js/ui/appFavorites.js:167 ++#, c-format + msgid "%s has been removed from your favorites." + msgstr "%s è stato rimosso dai preferiti." + +-#: ../js/ui/backgroundMenu.js:19 ../js/ui/panel.js:813 ++#: ../js/ui/backgroundMenu.js:19 ../js/ui/panel.js:820 + #: ../js/ui/status/system.js:337 + msgid "Settings" + msgstr "Impostazioni" +@@ -440,69 +459,69 @@ + + #. 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:67 ++#. ++#: ../js/ui/calendar.js:70 + msgctxt "event list time" + msgid "All Day" + msgstr "Giornata" + + #. Translators: Shown in calendar event list, if 24h format, +-#. \u2236 is a ratio character, similar to : */ +-#: ../js/ui/calendar.js:73 ++#. \u2236 is a ratio character, similar to : ++#: ../js/ui/calendar.js:77 + msgctxt "event list time" +-msgid "%H∶%M" +-msgstr "%k.%M" ++msgid "%H\\u2236%M" ++msgstr "%-H\\u002E%M" + + #. Translators: Shown in calendar event list, if 12h format, + #. \u2236 is a ratio character, similar to : and \u2009 is +-#. a thin space */ +-#: ../js/ui/calendar.js:82 ++#. a thin space ++#: ../js/ui/calendar.js:86 + msgctxt "event list time" +-msgid "%l∶%M %p" +-msgstr "%l.%M %p" ++msgid "%l\\u2236%M\\u2009%p" ++msgstr "%l\\u002E%M\\u2009%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:113 ++#. ++#: ../js/ui/calendar.js:100 + msgctxt "grid sunday" + msgid "S" + msgstr "D" + +-#. Translators: Calendar grid abbreviation for Monday */ +-#: ../js/ui/calendar.js:115 ++#. Translators: Calendar grid abbreviation for Monday ++#: ../js/ui/calendar.js:102 + msgctxt "grid monday" + msgid "M" + msgstr "L" + +-#. Translators: Calendar grid abbreviation for Tuesday */ +-#: ../js/ui/calendar.js:117 ++#. Translators: Calendar grid abbreviation for Tuesday ++#: ../js/ui/calendar.js:104 + msgctxt "grid tuesday" + msgid "T" + msgstr "M" + +-#. Translators: Calendar grid abbreviation for Wednesday */ +-#: ../js/ui/calendar.js:119 ++#. Translators: Calendar grid abbreviation for Wednesday ++#: ../js/ui/calendar.js:106 + msgctxt "grid wednesday" + msgid "W" + msgstr "M" + +-#. Translators: Calendar grid abbreviation for Thursday */ +-#: ../js/ui/calendar.js:121 ++#. Translators: Calendar grid abbreviation for Thursday ++#: ../js/ui/calendar.js:108 + msgctxt "grid thursday" + msgid "T" + msgstr "G" + +-#. Translators: Calendar grid abbreviation for Friday */ +-#: ../js/ui/calendar.js:123 ++#. Translators: Calendar grid abbreviation for Friday ++#: ../js/ui/calendar.js:110 + msgctxt "grid friday" + msgid "F" + msgstr "V" + +-#. Translators: Calendar grid abbreviation for Saturday */ +-#: ../js/ui/calendar.js:125 ++#. Translators: Calendar grid abbreviation for Saturday ++#: ../js/ui/calendar.js:112 + msgctxt "grid saturday" + msgid "S" + msgstr "S" +@@ -512,86 +531,86 @@ + #. * 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:138 ++#. ++#: ../js/ui/calendar.js:125 + msgctxt "list sunday" + msgid "Su" + msgstr "Do" + +-#. Translators: Event list abbreviation for Monday */ +-#: ../js/ui/calendar.js:140 ++#. Translators: Event list abbreviation for Monday ++#: ../js/ui/calendar.js:127 + msgctxt "list monday" + msgid "M" + msgstr "Lu" + +-#. Translators: Event list abbreviation for Tuesday */ +-#: ../js/ui/calendar.js:142 ++#. Translators: Event list abbreviation for Tuesday ++#: ../js/ui/calendar.js:129 + msgctxt "list tuesday" + msgid "T" + msgstr "Ma" + +-#. Translators: Event list abbreviation for Wednesday */ +-#: ../js/ui/calendar.js:144 ++#. Translators: Event list abbreviation for Wednesday ++#: ../js/ui/calendar.js:131 + msgctxt "list wednesday" + msgid "W" + msgstr "Me" + +-#. Translators: Event list abbreviation for Thursday */ +-#: ../js/ui/calendar.js:146 ++#. Translators: Event list abbreviation for Thursday ++#: ../js/ui/calendar.js:133 + msgctxt "list thursday" + msgid "Th" + msgstr "Gi" + +-#. Translators: Event list abbreviation for Friday */ +-#: ../js/ui/calendar.js:148 ++#. Translators: Event list abbreviation for Friday ++#: ../js/ui/calendar.js:135 + msgctxt "list friday" + msgid "F" + msgstr "Ve" + +-#. Translators: Event list abbreviation for Saturday */ +-#: ../js/ui/calendar.js:150 ++#. Translators: Event list abbreviation for Saturday ++#: ../js/ui/calendar.js:137 + msgctxt "list saturday" + msgid "S" + msgstr "Sa" + +-#: ../js/ui/calendar.js:453 ++#: ../js/ui/calendar.js:462 + msgid "Previous month" + msgstr "Mese precedente" + +-#: ../js/ui/calendar.js:463 ++#: ../js/ui/calendar.js:472 + msgid "Next month" + msgstr "Mese successivo" + +-#. Translators: Text to show if there are no events */ +-#: ../js/ui/calendar.js:781 ++#. Translators: Text to show if there are no events ++#: ../js/ui/calendar.js:811 + msgid "Nothing Scheduled" + msgstr "Nessun evento" + +-#. Translators: Shown on calendar heading when selected day occurs on current year */ +-#: ../js/ui/calendar.js:799 ++#. Translators: Shown on calendar heading when selected day occurs on current year ++#: ../js/ui/calendar.js:827 + msgctxt "calendar heading" + msgid "%A, %B %d" + msgstr "%A, %e %B" + +-#. Translators: Shown on calendar heading when selected day occurs on different year */ +-#: ../js/ui/calendar.js:802 ++#. Translators: Shown on calendar heading when selected day occurs on different year ++#: ../js/ui/calendar.js:830 + msgctxt "calendar heading" + msgid "%A, %B %d, %Y" + msgstr "%A, %e %B %Y" + +-#: ../js/ui/calendar.js:813 ++#: ../js/ui/calendar.js:840 + msgid "Today" + msgstr "Oggi" + +-#: ../js/ui/calendar.js:817 ++#: ../js/ui/calendar.js:844 + msgid "Tomorrow" + msgstr "Domani" + +-#: ../js/ui/calendar.js:828 ++#: ../js/ui/calendar.js:855 + msgid "This week" + msgstr "Questa settimana" + +-#: ../js/ui/calendar.js:836 ++#: ../js/ui/calendar.js:863 + msgid "Next week" + msgstr "Prossima settimana" + +@@ -608,7 +627,7 @@ + msgstr "Dispositivi rimovibili" + + #: ../js/ui/components/autorunManager.js:596 +-#, javascript-format ++#, c-format + msgid "Open with %s" + msgstr "Apri con %s" + +@@ -629,6 +648,7 @@ + msgid "Connect" + msgstr "Connetti" + ++#. Cisco LEAP + #: ../js/ui/components/networkAgent.js:231 + #: ../js/ui/components/networkAgent.js:243 + #: ../js/ui/components/networkAgent.js:271 +@@ -637,6 +657,7 @@ + msgid "Password: " + msgstr "Password: " + ++#. static WEP + #: ../js/ui/components/networkAgent.js:236 + msgid "Key: " + msgstr "Chiave: " +@@ -658,7 +679,7 @@ + msgstr "Richiesta autenticazione dalla rete wireless" + + #: ../js/ui/components/networkAgent.js:319 +-#, javascript-format ++#, c-format + msgid "" + "Passwords or encryption keys are required to access the wireless network " + "“%s”." +@@ -695,7 +716,7 @@ + msgstr "Password rete mobile" + + #: ../js/ui/components/networkAgent.js:346 +-#, javascript-format ++#, c-format + msgid "A password is required to connect to “%s”." + msgstr "È richiesta una password per connettersi a «%s»." + +@@ -714,20 +735,24 @@ + #. Translators: "that didn't work" refers to the fact that the + #. * requested authentication was not gained; this can happen + #. * because of an authentication error (like invalid password), +-#. * for instance. */ ++#. * for instance. + #: ../js/ui/components/polkitAgent.js:271 ../js/ui/shellMountOperation.js:383 + msgid "Sorry, that didn't work. Please try again." + msgstr "Errore nell'autenticazione. Provare di nuovo." + ++#. FIXME: We don't have a 'chat room' icon (bgo #653737) use ++#. system-users for now as Empathy does. + #: ../js/ui/components/telepathyClient.js:240 + msgid "Invitation" + msgstr "Invito" + + # A memora del test che ho fatto è "chiamata"... da verificare meglio ++#. We got the TpContact + #: ../js/ui/components/telepathyClient.js:300 + msgid "Call" + msgstr "Chiamata" + ++#. We got the TpContact + #: ../js/ui/components/telepathyClient.js:316 + msgid "File Transfer" + msgstr "Trasferimento file" +@@ -745,87 +770,97 @@ + msgid "Mute" + msgstr "Disattiva notifiche" + +-#. Translators: Time in 24h format */ ++#. Translators: Time in 24h format + #: ../js/ui/components/telepathyClient.js:953 +-msgid "%H∶%M" +-msgstr "%k.%M" ++#, fuzzy ++msgid "%H\\u2236%M" ++msgstr "%-H\\u002E%M" + + #. Translators: this is the word "Yesterday" followed by a +-#. time string in 24h format. i.e. "Yesterday, 14:30" */ ++#. time string in 24h format. i.e. "Yesterday, 14:30" + #: ../js/ui/components/telepathyClient.js:960 +-msgid "Yesterday, %H∶%M" ++#, fuzzy, no-c-format ++msgid "Yesterday, %H\\u2236%M" + msgstr "Ieri, %k.%M" + + #. Translators: this is the week day name followed by a time +-#. string in 24h format. i.e. "Monday, 14:30" */ ++#. string in 24h format. i.e. "Monday, 14:30" + #: ../js/ui/components/telepathyClient.js:967 +-msgid "%A, %H∶%M" +-msgstr "%A, %k.%M" ++#, fuzzy, no-c-format ++msgid "%A, %H\\u2236%M" ++msgstr "%-H\\u002E%M" + + #. Translators: this is the month name and day number + #. followed by a time string in 24h format. +-#. i.e. "May 25, 14:30" */ ++#. i.e. "May 25, 14:30" + #: ../js/ui/components/telepathyClient.js:974 +-msgid "%B %d, %H∶%M" +-msgstr "%e %B, %k.%M" ++#, fuzzy, no-c-format ++msgid "%B %d, %H\\u2236%M" ++msgstr "%-H\\u002E%M" + + #. Translators: this is the month name, day number, year + #. number followed by a time string in 24h format. +-#. i.e. "May 25 2012, 14:30" */ ++#. i.e. "May 25 2012, 14:30" + #: ../js/ui/components/telepathyClient.js:980 +-msgid "%B %d %Y, %H∶%M" ++#, fuzzy, no-c-format ++msgid "%B %d %Y, %H\\u2236%M" + msgstr "%e %B %Y, %k.%M" + +-#. Translators: Time in 24h format */ ++#. Translators: Time in 24h format + #: ../js/ui/components/telepathyClient.js:986 +-msgid "%l∶%M %p" +-msgstr "%l.%M %p" ++#, fuzzy ++msgid "%l\\u2236%M %p" ++msgstr "%-H\\u002E%M" + + #. Translators: this is the word "Yesterday" followed by a +-#. time string in 12h format. i.e. "Yesterday, 2:30 pm" */ ++#. time string in 12h format. i.e. "Yesterday, 2:30 pm" + #: ../js/ui/components/telepathyClient.js:993 +-msgid "Yesterday, %l∶%M %p" ++#, fuzzy, no-c-format ++msgid "Yesterday, %l\\u2236%M %p" + msgstr "Ieri, %l.%M %p" + + #. Translators: this is the week day name followed by a time +-#. string in 12h format. i.e. "Monday, 2:30 pm" */ ++#. string in 12h format. i.e. "Monday, 2:30 pm" + #: ../js/ui/components/telepathyClient.js:1000 +-msgid "%A, %l∶%M %p" ++#, fuzzy, no-c-format ++msgid "%A, %l\\u2236%M %p" + msgstr "%A, %l.%M %p" + + #. Translators: this is the month name and day number + #. followed by a time string in 12h format. +-#. i.e. "May 25, 2:30 pm" */ ++#. i.e. "May 25, 2:30 pm" + #: ../js/ui/components/telepathyClient.js:1007 +-msgid "%B %d, %l∶%M %p" ++#, fuzzy, no-c-format ++msgid "%B %d, %l\\u2236%M %p" + msgstr "%d %B, %l.%M %p" + + #. Translators: this is the month name, day number, year + #. number followed by a time string in 12h format. +-#. i.e. "May 25 2012, 2:30 pm"*/ ++#. i.e. "May 25 2012, 2:30 pm" + #: ../js/ui/components/telepathyClient.js:1013 +-msgid "%B %d %Y, %l∶%M %p" ++#, fuzzy, no-c-format ++msgid "%B %d %Y, %l\\u2236%M %p" + msgstr "%d %B %Y, %l.%M %p" + + #. Translators: this is the other person changing their old IM name to their new +-#. IM name. */ ++#. IM name. + #: ../js/ui/components/telepathyClient.js:1045 +-#, javascript-format ++#, c-format + msgid "%s is now known as %s" + msgstr "%s ha cambiato nome in %s" + + #. translators: argument is a room name like +-#. * room@jabber.org for example. */ ++#. * room@jabber.org for example. + #: ../js/ui/components/telepathyClient.js:1149 +-#, javascript-format ++#, c-format + msgid "Invitation to %s" + msgstr "Invito su %s" + + #. translators: first argument is the name of a contact and the second + #. * one the name of a room. "Alice is inviting you to join room@jabber.org +-#. * for example. */ ++#. * for example. + #: ../js/ui/components/telepathyClient.js:1157 +-#, javascript-format ++#, c-format + msgid "%s is inviting you to join %s" + msgstr "%s ti sta invitando su %s" + +@@ -842,19 +877,19 @@ + msgid "Accept" + msgstr "Accetta" + +-#. translators: argument is a contact name like Alice for example. */ ++#. translators: argument is a contact name like Alice for example. + #: ../js/ui/components/telepathyClient.js:1184 +-#, javascript-format ++#, c-format + msgid "Video call from %s" + msgstr "Videochiamata da %s" + +-#. translators: argument is a contact name like Alice for example. */ ++#. translators: argument is a contact name like Alice for example. + #: ../js/ui/components/telepathyClient.js:1187 +-#, javascript-format ++#, c-format + msgid "Call from %s" + msgstr "Chiamata da %s" + +-#. translators: this is a button label (verb), not a noun */ ++#. translators: this is a button label (verb), not a noun + #: ../js/ui/components/telepathyClient.js:1201 + msgid "Answer" + msgstr "Rispondi" +@@ -863,15 +898,15 @@ + #. * the contact's alias and the second one is the + #. * file name. The string will be something + #. * like: "Alice is sending you test.ogg" +-#. */ ++#. + #: ../js/ui/components/telepathyClient.js:1222 +-#, javascript-format ++#, c-format + msgid "%s is sending you %s" + msgstr "%s ti sta inviando %s" + +-#. To translators: The parameter is the contact's alias */ ++#. To translators: The parameter is the contact's alias + #: ../js/ui/components/telepathyClient.js:1251 +-#, javascript-format ++#, c-format + msgid "%s would like permission to see when you are online" + msgstr "%s chiede il permesso di vedere quando sei online" + +@@ -985,9 +1020,9 @@ + msgstr "Errore interno" + + #. translators: argument is the account name, like +-#. * name@jabber.org for example. */ ++#. * name@jabber.org for example. + #: ../js/ui/components/telepathyClient.js:1393 +-#, javascript-format ++#, c-format + msgid "Unable to connect to %s" + msgstr "Impossibile connettersi a %s" + +@@ -999,7 +1034,7 @@ + msgid "Unknown reason" + msgstr "Motivo sconosciuto" + +-#: ../js/ui/ctrlAltTab.js:29 ../js/ui/viewSelector.js:154 ++#: ../js/ui/ctrlAltTab.js:29 ../js/ui/viewSelector.js:155 + msgid "Windows" + msgstr "Finestre" + +@@ -1008,6 +1043,8 @@ + msgstr "Mostra applicazioni" + + # cruscotto?!?!?!?!?!?!? ++#. Translators: this is the name of the dock/favorites area on ++#. the left of the overview + #: ../js/ui/dash.js:445 + msgid "Dash" + msgstr "Dash" +@@ -1026,13 +1063,13 @@ + + #. 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:132 + msgid "%A %B %e, %Y" + msgstr "%a %e %B %Y" + + #: ../js/ui/endSessionDialog.js:64 +-#, javascript-format ++#, c-format + msgctxt "title" + msgid "Log Out %s" + msgstr "Termina sessione di %s" +@@ -1043,14 +1080,14 @@ + msgstr "Termina sessione" + + #: ../js/ui/endSessionDialog.js:67 +-#, javascript-format ++#, c-format + msgid "%s will be logged out automatically in %d second." + msgid_plural "%s will be logged out automatically in %d seconds." + msgstr[0] "La sessione di %s verrà terminata automaticamente tra %d secondo." + msgstr[1] "La sessione di %s verrà terminata automaticamente tra %d secondi." + + #: ../js/ui/endSessionDialog.js:72 +-#, javascript-format ++#, c-format + msgid "You will be logged out automatically in %d second." + msgid_plural "You will be logged out automatically in %d seconds." + msgstr[0] "La sessione verrà terminata automaticamente tra %d secondo." +@@ -1072,7 +1109,7 @@ + msgstr "Installa aggiornamenti e spegni" + + #: ../js/ui/endSessionDialog.js:87 +-#, javascript-format ++#, c-format + msgid "The system will power off automatically in %d second." + msgid_plural "The system will power off automatically in %d seconds." + msgstr[0] "Il sistema verrà spento automaticamente tra %d secondo." +@@ -1099,7 +1136,7 @@ + msgstr "Riavvia" + + #: ../js/ui/endSessionDialog.js:105 +-#, javascript-format ++#, c-format + msgid "The system will restart automatically in %d second." + msgid_plural "The system will restart automatically in %d seconds." + msgstr[0] "Il sistema verrà riavviato automaticamente tra %d secondo." +@@ -1111,8 +1148,9 @@ + msgstr "Riavvia e installa aggiornamenti" + + #: ../js/ui/endSessionDialog.js:121 +-#, javascript-format +-msgid "The system will automatically restart and install updates in %d second." ++#, c-format ++msgid "" ++"The system will automatically restart and install updates in %d second." + msgid_plural "" + "The system will automatically restart and install updates in %d seconds." + msgstr[0] "" +@@ -1151,15 +1189,15 @@ + msgid "Other users are logged in." + msgstr "Sono connessi altri utenti." + +-#. Translators: Remote here refers to a remote session, like a ssh login */ ++#. Translators: Remote here refers to a remote session, like a ssh login + #: ../js/ui/endSessionDialog.js:640 +-#, javascript-format ++#, c-format + msgid "%s (remote)" + msgstr "%s (remoto)" + +-#. Translators: Console here refers to a tty like a VT console */ ++#. Translators: Console here refers to a tty like a VT console + #: ../js/ui/endSessionDialog.js:643 +-#, javascript-format ++#, c-format + msgid "%s (console)" + msgstr "%s (console)" + +@@ -1168,101 +1206,120 @@ + msgstr "Installa" + + #: ../js/ui/extensionDownloader.js:204 +-#, javascript-format ++#, c-format + msgid "Download and install “%s” from extensions.gnome.org?" + msgstr "Scaricare e installare «%s» da extensions.gnome.org?" + +-#: ../js/ui/keyboard.js:700 ../js/ui/status/keyboard.js:523 ++#: ../js/ui/extensionSystem.js:314 ++#, fuzzy, c-format ++msgid "%d extension is out of date" ++msgid_plural "%d extensions are out of date" ++msgstr[0] "Nessuna estensione installata" ++msgstr[1] "Nessuna estensione installata" ++ ++#: ../js/ui/extensionSystem.js:317 ++msgid "You can visit http://extensions.gnome.org for updates" ++msgstr "" ++ ++#: ../js/ui/keyboard.js:700 ../js/ui/status/keyboard.js:535 + msgid "Keyboard" + msgstr "Tastiera" + +-#: ../js/ui/lookingGlass.js:643 ++#: ../js/ui/lookingGlass.js:645 + msgid "No extensions installed" + msgstr "Nessuna estensione installata" + +-#. Translators: argument is an extension UUID. */ +-#: ../js/ui/lookingGlass.js:697 +-#, javascript-format ++#. Translators: argument is an extension UUID. ++#: ../js/ui/lookingGlass.js:699 ++#, c-format + msgid "%s has not emitted any errors." + msgstr "%s non ha emesso alcun errore." + +-#: ../js/ui/lookingGlass.js:703 ++#: ../js/ui/lookingGlass.js:705 + msgid "Hide Errors" + msgstr "Nascondi errori" + +-#: ../js/ui/lookingGlass.js:707 ../js/ui/lookingGlass.js:767 ++#: ../js/ui/lookingGlass.js:709 ../js/ui/lookingGlass.js:769 + msgid "Show Errors" + msgstr "Mostra errori" + + # (ndt) o abilitata? +-#: ../js/ui/lookingGlass.js:716 ../js/ui/status/location.js:71 ++#: ../js/ui/lookingGlass.js:718 ../js/ui/status/location.js:71 + #: ../js/ui/status/location.js:176 + msgid "Enabled" + msgstr "Abilitato" + + # (ndt) o disabilitata? + #. Translators: this is for a network device that cannot be activated +-#. because it's disabled by rfkill (airplane mode) */ ++#. because it's disabled by rfkill (airplane mode) + #. translators: + #. * The device has been disabled +-#: ../js/ui/lookingGlass.js:719 ../js/ui/status/location.js:179 ++#: ../js/ui/lookingGlass.js:721 ../js/ui/status/location.js:179 + #: ../js/ui/status/network.js:592 ../src/gvc/gvc-mixer-control.c:1830 + msgid "Disabled" + msgstr "Disabilitato" + +-#: ../js/ui/lookingGlass.js:721 ++#: ../js/ui/lookingGlass.js:723 + msgid "Error" + msgstr "Errore" + +-#: ../js/ui/lookingGlass.js:723 ++#: ../js/ui/lookingGlass.js:725 + msgid "Out of date" + msgstr "Non aggiornato" + +-#: ../js/ui/lookingGlass.js:725 ++#: ../js/ui/lookingGlass.js:727 + msgid "Downloading" + msgstr "Scaricamento" + +-#: ../js/ui/lookingGlass.js:749 ++#: ../js/ui/lookingGlass.js:751 + msgid "View Source" + msgstr "Visualizza sorgente" + +-#: ../js/ui/lookingGlass.js:758 ++#: ../js/ui/lookingGlass.js:760 + msgid "Web Page" + msgstr "Pagina web" + +-#: ../js/ui/messageTray.js:1327 ++#: ../js/ui/messageTray.js:1334 + msgid "Open" + msgstr "Apri" + +-#: ../js/ui/messageTray.js:1334 ++#: ../js/ui/messageTray.js:1341 + msgid "Remove" + msgstr "Rimuovi" + +-#: ../js/ui/messageTray.js:1631 ++#: ../js/ui/messageTray.js:1638 + msgid "Notifications" + msgstr "Notifiche" + +-#: ../js/ui/messageTray.js:1638 ++#: ../js/ui/messageTray.js:1645 + msgid "Clear Messages" + msgstr "Pulisci messaggi" + +-#: ../js/ui/messageTray.js:1657 ++#: ../js/ui/messageTray.js:1664 + msgid "Notification Settings" + msgstr "Impostazioni notifiche" + +-#: ../js/ui/messageTray.js:1710 ++#: ../js/ui/messageTray.js:1717 + msgid "Tray Menu" + msgstr "Menu tray" + +-#: ../js/ui/messageTray.js:1934 ++#: ../js/ui/messageTray.js:1941 + msgid "No Messages" + msgstr "Nessun messaggio" + +-#: ../js/ui/messageTray.js:1979 ++#: ../js/ui/messageTray.js:1988 + msgid "Message Tray" + msgstr "Cassetto messaggi" + +-#: ../js/ui/messageTray.js:2992 ++#: ../js/ui/messageTray.js:2447 ../js/ui/overviewControls.js:483 ++#: ../js/ui/screenShield.js:151 ++#, c-format ++msgid "%d new message" ++msgid_plural "%d new messages" ++msgstr[0] "%d nuovo messaggio" ++msgstr[1] "%d nuovi messaggi" ++ ++#: ../js/ui/messageTray.js:3017 + msgid "System Information" + msgstr "Informazione di sistema" + +@@ -1271,13 +1328,6 @@ + msgid "Unknown" + msgstr "Sconosciuto" + +-#: ../js/ui/overviewControls.js:482 ../js/ui/screenShield.js:151 +-#, javascript-format +-msgid "%d new message" +-msgid_plural "%d new messages" +-msgstr[0] "%d nuovo messaggio" +-msgstr[1] "%d nuovi messaggi" +- + #: ../js/ui/overview.js:84 + msgid "Undo" + msgstr "Annulla" +@@ -1289,7 +1339,7 @@ + #. Translators: this is the text displayed + #. in the search entry when no search is + #. active; it should not exceed ~30 +-#. characters. */ ++#. characters. + #: ../js/ui/overview.js:246 + msgid "Type to search…" + msgstr "Digita per cercare…" +@@ -1299,15 +1349,20 @@ + msgstr "Esci" + + #. Translators: If there is no suitable word for "Activities" +-#. in your language, you can use the word for "Overview". */ +-#: ../js/ui/panel.js:567 ++#. in your language, you can use the word for "Overview". ++#: ../js/ui/panel.js:574 + msgid "Activities" + msgstr "Attività" + +-#: ../js/ui/panel.js:918 ++#: ../js/ui/panel.js:925 + msgid "Top Bar" + msgstr "Barra superiore" + ++#. 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:269 + msgid "toggle-switch-us" + msgstr "toggle-switch-us" +@@ -1325,31 +1380,38 @@ + msgstr "Riavvio…" + + #. Translators: This is a time format for a date in +-#. long format */ ++#. long format + #: ../js/ui/screenShield.js:88 + msgid "%A, %B %d" + msgstr "%A, %d %B" + + #: ../js/ui/screenShield.js:153 +-#, javascript-format ++#, c-format + msgid "%d new notification" + msgid_plural "%d new notifications" + msgstr[0] "%d nuova notifica" + msgstr[1] "%d nuove notifiche" + +-#: ../js/ui/screenShield.js:472 ../js/ui/status/system.js:345 ++#: ../js/ui/screenShield.js:473 ../js/ui/status/system.js:345 + msgid "Lock" + msgstr "Blocca" + +-#: ../js/ui/screenShield.js:706 ++#: ../js/ui/screenShield.js:709 + msgid "GNOME needs to lock the screen" + msgstr "GNOME deve bloccare lo schermo" + +-#: ../js/ui/screenShield.js:833 ../js/ui/screenShield.js:1309 ++#. We could not become modal, so we can't activate the ++#. screenshield. The user is probably very upset at this ++#. point, but any application using global grabs is broken ++#. Just tell him to stop using this app ++#. ++#. XXX: another option is to kick the user into the gdm login ++#. screen, where we're not affected by grabs ++#: ../js/ui/screenShield.js:836 ../js/ui/screenShield.js:1312 + msgid "Unable to lock" + msgstr "Impossibile bloccare" + +-#: ../js/ui/screenShield.js:834 ../js/ui/screenShield.js:1310 ++#: ../js/ui/screenShield.js:837 ../js/ui/screenShield.js:1313 + msgid "Lock was blocked by an application" + msgstr "Il blocco è stato impedito da un'applicazione." + +@@ -1430,6 +1492,8 @@ + msgid "Large Text" + msgstr "Caratteri grandi" + ++#. The Bluetooth menu only appears when Bluetooth is in use, ++#. so just statically build it with a "Turn Off" menu item. + #: ../js/ui/status/bluetooth.js:49 + msgid "Bluetooth" + msgstr "Bluetooth" +@@ -1446,7 +1510,7 @@ + msgstr "Impostazioni Bluetooth" + + #: ../js/ui/status/bluetooth.js:104 +-#, javascript-format ++#, c-format + msgid "%d Connected Device" + msgid_plural "%d Connected Devices" + msgstr[0] "%d dispositivo connesso" +@@ -1460,7 +1524,7 @@ + msgid "Brightness" + msgstr "Luminosità" + +-#: ../js/ui/status/keyboard.js:547 ++#: ../js/ui/status/keyboard.js:559 + msgid "Show Keyboard Layout" + msgstr "Mostra disposizione tastiera" + +@@ -1501,7 +1565,7 @@ + + # FIXME o femminile? boh + #. Translators: this is for network devices that are physically present but are not +-#. under NetworkManager's control (and thus cannot be used in the menu) */ ++#. under NetworkManager's control (and thus cannot be used in the menu) + #: ../js/ui/status/network.js:463 + msgid "Unmanaged" + msgstr "Non gestito" +@@ -1514,19 +1578,19 @@ + msgid "Connecting" + msgstr "Connessione" + +-#. Translators: this is for network connections that require some kind of key or password */ ++#. Translators: this is for network connections that require some kind of key or password + #: ../js/ui/status/network.js:474 + msgid "Authentication required" + msgstr "Richiesta autenticazione" + + #. Translators: this is for devices that require some kind of firmware or kernel +-#. module, which is missing */ ++#. module, which is missing + #: ../js/ui/status/network.js:482 + msgid "Firmware missing" + msgstr "Firmware mancante" + + #. Translators: this is for a network device that cannot be activated (for example it +-#. is disabled by rfkill, or it has no coverage */ ++#. is disabled by rfkill, or it has no coverage + #: ../js/ui/status/network.js:486 + msgid "Unavailable" + msgstr "Non disponibile" +@@ -1612,7 +1676,7 @@ + msgid "connecting..." + msgstr "connessione..." + +-#. Translators: this is for network connections that require some kind of key or password */ ++#. Translators: this is for network connections that require some kind of key or password + #: ../js/ui/status/network.js:1412 + msgid "authentication required" + msgstr "richiesta autenticazione" +@@ -1649,19 +1713,23 @@ + msgid "Fully Charged" + msgstr "Carica" + ++#. 0 is reported when UPower does not have enough data ++#. to estimate battery life + #: ../js/ui/status/power.js:72 ../js/ui/status/power.js:78 + msgid "Estimating…" + msgstr "In stima…" + ++#. Translators: this is : Remaining () + #: ../js/ui/status/power.js:86 +-#, javascript-format +-msgid "%d∶%02d Remaining (%d%%)" ++#, fuzzy, c-format ++msgid "%d\\u2236%02d Remaining (%d%%)" + msgstr "%d.%02d rimanente (%d%%)" + + # in stile MacOS sarebbe "al pieno" :P ++#. Translators: this is : Until Full () + #: ../js/ui/status/power.js:91 +-#, javascript-format +-msgid "%d∶%02d Until Full (%d%%)" ++#, fuzzy, c-format ++msgid "%d\\u2236%02d Until Full (%d%%)" + msgstr "%d.%02d alla carica (%d%%)" + + #: ../js/ui/status/power.js:119 +@@ -1672,6 +1740,9 @@ + msgid "Battery" + msgstr "Batteria" + ++#. The menu only appears when airplane mode is on, so just ++#. statically build it as if it was on, rather than dynamically ++#. changing the menu contents. + #: ../js/ui/status/rfkill.js:83 + msgid "Airplane Mode" + msgstr "Modalità aereo" +@@ -1720,17 +1791,17 @@ + msgid "Unlock Window" + msgstr "Sblocca finestra" + +-#: ../js/ui/viewSelector.js:158 ++#: ../js/ui/viewSelector.js:159 + msgid "Applications" + msgstr "Applicazioni" + +-#: ../js/ui/viewSelector.js:162 ++#: ../js/ui/viewSelector.js:163 + msgid "Search" + msgstr "Cerca" + + # (ndt) dovrebbe essere il nome dell'applicazione + #: ../js/ui/windowAttentionHandler.js:19 +-#, javascript-format ++#, c-format + msgid "“%s” is ready" + msgstr "«%s» è pronto" + +@@ -1740,7 +1811,7 @@ + + #. Translators: this and the following message should be limited in lenght, + #. to avoid ellipsizing the labels. +-#. */ ++#. + #: ../js/ui/windowManager.js:84 + msgid "Revert Settings" + msgstr "Ripristina impostazioni" +@@ -1750,7 +1821,7 @@ + msgstr "Mantieni modifiche" + + #: ../js/ui/windowManager.js:107 +-#, javascript-format ++#, c-format + msgid "Settings changes will revert in %d second" + msgid_plural "Settings changes will revert in %d seconds" + msgstr[0] "Le modifiche alle impostazioni saranno ripristinate tra %d secondo" +@@ -1822,19 +1893,19 @@ + msgid "System Sounds" + msgstr "Audio di sistema" + +-#: ../src/main.c:373 ++#: ../src/main.c:381 + msgid "Print version" + msgstr "Stampa la versione" + +-#: ../src/main.c:379 ++#: ../src/main.c:387 + msgid "Mode used by GDM for login screen" + msgstr "Modalità usata da GDM per la schermata d'accesso" + +-#: ../src/main.c:385 ++#: ../src/main.c:393 + msgid "Use a specific mode, e.g. \"gdm\" for login screen" + msgstr "Usa una modalità specifica, p.e. \"gdm\" per la schermata di accesso" + +-#: ../src/main.c:391 ++#: ../src/main.c:399 + msgid "List possible modes" + msgstr "Elenca le modalità possibili" + +@@ -1854,73 +1925,3 @@ + #: ../src/shell-polkit-authentication-agent.c:346 + msgid "Authentication dialog was dismissed by the user" + msgstr "Il dialogo di autenticazione è stato annullato dall'utente" +- +-#~ msgid "The maximum accuracy level of location." +-#~ msgstr "Il livello massimo di accuratezza della posizione." +- +-#~ msgid "" +-#~ "Configures the maximum level of location accuracy applications are " +-#~ "allowed to see. Valid options are 'off' (disable location tracking), " +-#~ "'country', 'city', 'neighborhood', 'street', and 'exact' (typically " +-#~ "requires GPS receiver). Please keep in mind that this only controls what " +-#~ "GeoClue will allow applications to see and they can find user's location " +-#~ "on their own using network resources (albeit with street-level accuracy " +-#~ "at best)." +-#~ msgstr "" +-#~ "Configura il livello massimo di accuratezza della posizione che è " +-#~ "concesso di vedere alle applicazioni. Opzioni ammesse sono \"off" +-#~ "\" (disabilita il tracciamento della posizione), \"country\", \"city\", " +-#~ "\"neighborhood\", \"street\" ed \"exact\" (tipicamente richiede un " +-#~ "ricevitore GPS). Notare che questa opzione controlla solo ciò che è " +-#~ "permesso alle applicazioni vedere per mezzo di GeoClue, ma che le " +-#~ "applicazioni possono rilevare autonomamente la posizione usando le " +-#~ "risorse di rete (sebbene al massimo con accuratezza a livello \"street\")." +- +-#~ msgid "Arrangement of buttons on the titlebar" +-#~ msgstr "Disposizione dei pulsanti nella barra del titolo" +- +-#~ msgid "" +-#~ "This key overrides the key in org.gnome.desktop.wm.preferences when " +-#~ "running GNOME Shell." +-#~ msgstr "" +-#~ "Questa chiave scavalca la chiave in org.gnome.desktop.wm.preferences " +-#~ "quando si esegue GNOME Shell." +- +-#~ msgid "Extension" +-#~ msgstr "Estensione" +- +-#~ msgid "Select an extension to configure using the combobox above." +-#~ msgstr "" +-#~ "Selezionare una estensione da configurare usando la casella combinata qui " +-#~ "sopra." +- +-#~ msgid "calendar:MY" +-#~ msgstr "calendar:MY" +- +-#~ msgid "List of categories that should be displayed as folders" +-#~ msgstr "Elenco di categorie che dovrebbero essere mostrare come cartelle" +- +-#~ msgid "" +-#~ "Each category name in this list will be represented as folder in the " +-#~ "application view, rather than being displayed inline in the main view." +-#~ msgstr "" +-#~ "Ciascun nome di categoria in questa lista sarà rappresentata come una " +-#~ "cartella nella vista applicazioni, invece che essere mostrata nella vista " +-#~ "principale" +- +-#~ msgctxt "event list time" +-#~ msgid "%H\\u2236%M" +-#~ msgstr "%-H\\u002E%M" +- +-#~ msgctxt "event list time" +-#~ msgid "%l\\u2236%M\\u2009%p" +-#~ msgstr "%l\\u002E%M\\u2009%p" +- +-#~ msgid "%A, %H:%M" +-#~ msgstr "%A, %-H.%M" +- +-#~ msgid "%B %d, %H:%M" +-#~ msgstr "%d %B, %-H.%M" +- +-#~ msgid "%B %d %Y, %H:%M " +-#~ msgstr "%d %B %Y, %-H.%M" +diff -urN gnome-shell-3.14.4/po/ja.po gnome-shell-3.14.4_localized/po/ja.po +--- gnome-shell-3.14.4/po/ja.po 2015-03-23 23:39:15.000000000 +0530 ++++ gnome-shell-3.14.4_localized/po/ja.po 2016-03-11 22:07:50.617000000 +0530 +@@ -9,20 +9,22 @@ + # Takanori MATSUURA , 2012. + # Yoji TOYODA , 2013. + # Ikuya Awashiro , 2014. +-# ++# kmoriguc , 2016. #zanata ++# pnemade , 2016. #zanata + 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: 2014-09-15 22:05+0000\n" +-"PO-Revision-Date: 2014-09-16 22:12+0900\n" +-"Last-Translator: Jiro Matsuzawa \n" +-"Language-Team: Japanese \n" +-"Language: ja\n" ++"Report-Msgid-Bugs-To: \n" ++"POT-Creation-Date: 2016-02-10 14:02+0530\n" + "MIME-Version: 1.0\n" + "Content-Type: text/plain; charset=UTF-8\n" + "Content-Transfer-Encoding: 8bit\n" ++"PO-Revision-Date: 2016-03-11 01:13+0000\n" ++"Last-Translator: kmoriguc \n" ++"Language-Team: Japanese \n" ++"Language: ja\n" + "Plural-Forms: nplurals=1; plural=0;\n" ++"X-Generator: Zanata 3.8.2\n" + + #: ../data/50-gnome-shell-system.xml.in.h:1 + msgid "System" +@@ -74,7 +76,9 @@ + msgstr "Alt-F2 から開発・テスト用の内部ツールを利用可能にする" + + #: ../data/org.gnome.shell.gschema.xml.in.in.h:2 +-msgid "Allows access to internal debugging and monitoring tools using the Alt-F2 dialog." ++msgid "" ++"Allows access to internal debugging and monitoring tools using the Alt-F2 " ++"dialog." + msgstr "Alt-F2 ダイアログを利用した内部のデバッグツールとモニターツールへのアクセスを許可します。" + + #: ../data/org.gnome.shell.gschema.xml.in.in.h:3 +@@ -82,23 +86,37 @@ + msgstr "有効にする拡張機能の UUID" + + #: ../data/org.gnome.shell.gschema.xml.in.in.h:4 +-msgid "GNOME Shell extensions have a UUID property; this key lists extensions which should be loaded. Any extension that wants to be loaded needs to be in this list. You can also manipulate this list with the EnableExtension and DisableExtension D-Bus methods on org.gnome.Shell." +-msgstr "GNOME Shell の拡張機能には UUID プロパティがあり、このキーは、ロードしたい拡張機能の UUID のリストです。ロードしたい拡張機能はこのリストに含めなければなりません。このリストは org.gnome.Shell の EnableExtensions や DisableExtensions といった DBus メソッドでも操作できます。" ++msgid "" ++"GNOME Shell extensions have a UUID property; this key lists extensions which " ++"should be loaded. Any extension that wants to be loaded needs to be in this " ++"list. You can also manipulate this list with the EnableExtension and " ++"DisableExtension D-Bus methods on org.gnome.Shell." ++msgstr "" ++"GNOME Shell の拡張機能には UUID プロパティがあり、このキーは、ロードしたい拡張機能の UUID " ++"のリストです。ロードしたい拡張機能はこのリストに含めなければなりません。このリストは org.gnome.Shell の " ++"EnableExtensions や DisableExtensions といった DBus メソッドでも操作できます。" + + #: ../data/org.gnome.shell.gschema.xml.in.in.h:5 + msgid "Disables the validation of extension version compatibility" + msgstr "拡張機能のバージョン互換の検証を無効にする" + + #: ../data/org.gnome.shell.gschema.xml.in.in.h:6 +-msgid "GNOME Shell will only load extensions that claim to support the current running version. Enabling this option will disable this check and try to load all extensions regardless of the versions they claim to support." +-msgstr "通常では、現在起動中の GNOME Shell のバージョンをサポートする拡張機能だけがロードされます。この設定を true にした場合、バージョンチェック機能が無効になり、拡張機能のサポートバージョンに関係なくすべての拡張機能をロードします。" ++msgid "" ++"GNOME Shell will only load extensions that claim to support the current " ++"running version. Enabling this option will disable this check and try to " ++"load all extensions regardless of the versions they claim to support." ++msgstr "" ++"通常では、現在起動中の GNOME Shell のバージョンをサポートする拡張機能だけがロードされます。この設定を true " ++"にした場合、バージョンチェック機能が無効になり、拡張機能のサポートバージョンに関係なくすべての拡張機能をロードします。" + + #: ../data/org.gnome.shell.gschema.xml.in.in.h:7 + msgid "List of desktop file IDs for favorite applications" + msgstr "お気に入りのアプリケーションの .desktop ファイル ID の一覧" + + #: ../data/org.gnome.shell.gschema.xml.in.in.h:8 +-msgid "The applications corresponding to these identifiers will be displayed in the favorites area." ++msgid "" ++"The applications corresponding to these identifiers will be displayed in the " ++"favorites area." + msgstr "これらの ID で示されるアプリケーションは「お気に入り」に表示されます。" + + #: ../data/org.gnome.shell.gschema.xml.in.in.h:9 +@@ -122,16 +140,25 @@ + msgstr "ユーザーメニューに「ログアウト」を常に表示する" + + #: ../data/org.gnome.shell.gschema.xml.in.in.h:14 +-msgid "This key overrides the automatic hiding of the 'Log out' menu item in single-user, single-session situations." ++msgid "" ++"This key overrides the automatic hiding of the 'Log out' menu item in single-" ++"user, single-session situations." + msgstr "このキーは、単一ユーザー、単一セッション状況で「ログアウト」メニューアイテムを自動的に非表示にする機能よりも優先します。" + + #: ../data/org.gnome.shell.gschema.xml.in.in.h:15 +-msgid "Whether to remember password for mounting encrypted or remote filesystems" ++msgid "" ++"Whether to remember password for mounting encrypted or remote filesystems" + msgstr "マウント対象の暗号化されたファイルシステムやリモートファイルシステムのパスワードを記憶する" + + #: ../data/org.gnome.shell.gschema.xml.in.in.h:16 +-msgid "The shell will request a password when an encrypted device or a remote filesystem is mounted. If the password can be saved for future use a 'Remember Password' checkbox will be present. This key sets the default state of the checkbox." +-msgstr "GNOME Shell は、暗号化されたデバイスやリモートファイルシステムのマウント時にパスワードを要求します。パスワードを保存できる場合は、「パスワードを保存」チェックボックスが表示されます。このキーは、チェックボックスのデフォルト値となります。" ++msgid "" ++"The shell will request a password when an encrypted device or a remote " ++"filesystem is mounted. If the password can be saved for future use a " ++"'Remember Password' checkbox will be present. This key sets the default " ++"state of the checkbox." ++msgstr "" ++"GNOME Shell " ++"は、暗号化されたデバイスやリモートファイルシステムのマウント時にパスワードを要求します。パスワードを保存できる場合は、「パスワードを保存」チェックボックスが表示されます。このキーは、チェックボックスのデフォルト値となります。" + + #: ../data/org.gnome.shell.gschema.xml.in.in.h:17 + msgid "Show the week date in the calendar" +@@ -154,7 +181,9 @@ + msgstr "アプリケーション一覧を開くキーバインド" + + #: ../data/org.gnome.shell.gschema.xml.in.in.h:22 +-msgid "Keybinding to open the \"Show Applications\" view of the Activities Overview." ++msgid "" ++"Keybinding to open the \"Show Applications\" view of the Activities Overview." ++"" + msgstr "アプリケーション一覧を開くキーバインドです。" + + #: ../data/org.gnome.shell.gschema.xml.in.in.h:23 +@@ -182,7 +211,9 @@ + msgstr "アクティブな通知にフォーカスを当てるキーバインドです。" + + #: ../data/org.gnome.shell.gschema.xml.in.in.h:29 +-msgid "Keybinding that pauses and resumes all running tweens, for debugging purposes" ++msgid "" ++"Keybinding that pauses and resumes all running tweens, for debugging " ++"purposes" + msgstr "Tween の一時停止および再開を行うキーバインドです。デバッグ用途で使用します。" + + #: ../data/org.gnome.shell.gschema.xml.in.in.h:30 +@@ -198,27 +229,41 @@ + msgstr "スイッチャーを現在のワークスペース内に制限する" + + #: ../data/org.gnome.shell.gschema.xml.in.in.h:33 +-msgid "If true, only applications that have windows on the current workspace are shown in the switcher. Otherwise, all applications are included." +-msgstr "true に設定した場合、現在のワークスペースにウィンドウのあるアプリケーションだけをスイッチャーに表示します。false に設定した場合はすべてのアプリケーションを表示します。" ++msgid "" ++"If true, only applications that have windows on the current workspace are " ++"shown in the switcher. Otherwise, all applications are included." ++msgstr "" ++"true に設定した場合、現在のワークスペースにウィンドウのあるアプリケーションだけをスイッチャーに表示します。false " ++"に設定した場合はすべてのアプリケーションを表示します。" + + #: ../data/org.gnome.shell.gschema.xml.in.in.h:34 + msgid "The application icon mode." + msgstr "アプリケーションアイコンモード" + + #: ../data/org.gnome.shell.gschema.xml.in.in.h:35 +-msgid "Configures how the windows are shown in the switcher. Valid possibilities are 'thumbnail-only' (shows a thumbnail of the window), 'app-icon-only' (shows only the application icon) or 'both'." +-msgstr "ウィンドウスイッチャーでのウィンドウの表示方法を設定します。指定可能な値は、'thumbnail-only' (ウィンドウのサムネイルを表示します)、'app-icon-only' (アプリケーションアイコンを表示します)、あるいは 'both' です。" ++msgid "" ++"Configures how the windows are shown in the switcher. Valid possibilities " ++"are 'thumbnail-only' (shows a thumbnail of the window), 'app-icon-only' " ++"(shows only the application icon) or 'both'." ++msgstr "" ++"ウィンドウスイッチャーでのウィンドウの表示方法を設定します。指定可能な値は、'thumbnail-only' " ++"(ウィンドウのサムネイルを表示します)、'app-icon-only' (アプリケーションアイコンを表示します)、あるいは 'both' です。" + + #: ../data/org.gnome.shell.gschema.xml.in.in.h:36 +-msgid "If true, only windows from the current workspace are shown in the switcher. Otherwise, all windows are included." +-msgstr "true に設定した場合、現在のワークスペースのウィンドウだけをスイッチャーに表示します。false に設定した場合はすべてのアプリケーションを表示します。" ++msgid "" ++"If true, only windows from the current workspace are shown in the switcher. " ++"Otherwise, all windows are included." ++msgstr "" ++"true に設定した場合、現在のワークスペースのウィンドウだけをスイッチャーに表示します。false " ++"に設定した場合はすべてのアプリケーションを表示します。" + + #: ../data/org.gnome.shell.gschema.xml.in.in.h:37 + msgid "Attach modal dialog to the parent window" + msgstr "モーダルダイアログを親ウィンドウに結び付ける" + + #: ../data/org.gnome.shell.gschema.xml.in.in.h:38 +-msgid "This key overrides the key in org.gnome.mutter when running GNOME Shell." ++msgid "" ++"This key overrides the key in org.gnome.mutter when running GNOME Shell." + msgstr "GNOME Shell 使用時は、 このキーが、org.gnome.mutter の同じキーよりも優先します。" + + #: ../data/org.gnome.shell.gschema.xml.in.in.h:39 +@@ -242,7 +287,7 @@ + msgstr "キャプティブポータル" + + #: ../js/extensionPrefs/main.js:123 +-#, javascript-format ++#, c-format + msgid "There was an error loading the preferences dialog for %s:" + msgstr "%s の設定ダイアログのロード中にエラーが発生しました。" + +@@ -250,54 +295,68 @@ + msgid "GNOME Shell Extensions" + msgstr "GNOME Shell 拡張機能" + +-#: ../js/gdm/authPrompt.js:147 ../js/ui/components/networkAgent.js:143 ++#: ../js/gdm/authPrompt.js:159 ../js/ui/components/networkAgent.js:143 + #: ../js/ui/components/polkitAgent.js:166 ../js/ui/endSessionDialog.js:452 + #: ../js/ui/extensionDownloader.js:195 ../js/ui/shellMountOperation.js:399 + #: ../js/ui/status/network.js:915 + msgid "Cancel" + msgstr "キャンセル" + +-#: ../js/gdm/authPrompt.js:169 ../js/gdm/authPrompt.js:217 ++#: ../js/gdm/authPrompt.js:181 ../js/gdm/authPrompt.js:228 ++#: ../js/gdm/authPrompt.js:466 + msgid "Next" + msgstr "次へ" + +-#: ../js/gdm/authPrompt.js:213 ../js/ui/shellMountOperation.js:403 ++#: ../js/gdm/authPrompt.js:224 ../js/ui/shellMountOperation.js:403 + #: ../js/ui/unlockDialog.js:59 + msgid "Unlock" + msgstr "ロック解除" + +-#: ../js/gdm/authPrompt.js:215 ++#: ../js/gdm/authPrompt.js:226 + msgctxt "button" + msgid "Sign In" + msgstr "サインイン" + +-#: ../js/gdm/loginDialog.js:269 ++#: ../js/gdm/loginDialog.js:297 + msgid "Choose Session" + msgstr "セッションを選択する" + +-#: ../js/gdm/loginDialog.js:429 ++#. translators: this message is shown below the user list on the ++#. login screen. It can be activated to reveal an entry for ++#. manually entering the username. ++#: ../js/gdm/loginDialog.js:458 + msgid "Not listed?" + msgstr "アカウントが見つかりませんか?" + +-#: ../js/gdm/loginDialog.js:614 +-#, javascript-format ++#. Translators: this message is shown below the username entry field ++#. to clue the user in on how to login to the local network realm ++#: ../js/gdm/loginDialog.js:859 ++#, c-format + msgid "(e.g., user or %s)" + msgstr "(たとえば、user あるいは %s)" + +-#: ../js/gdm/loginDialog.js:619 ../js/ui/components/networkAgent.js:269 ++#. TTLS and PEAP are actually much more complicated, but this complication ++#. is not visible here since we only care about phase2 authentication ++#. (and don't even care of which one) ++#: ../js/gdm/loginDialog.js:864 ../js/ui/components/networkAgent.js:269 + #: ../js/ui/components/networkAgent.js:287 + msgid "Username: " + msgstr "ユーザー名: " + +-#: ../js/gdm/loginDialog.js:922 ++#: ../js/gdm/loginDialog.js:1193 + msgid "Login Window" + msgstr "ログインウィンドウ" + +-#: ../js/gdm/util.js:323 ++#: ../js/gdm/util.js:344 + msgid "Authentication error" + msgstr "認証エラー" + +-#: ../js/gdm/util.js:453 ++#. We don't show fingerprint messages directly since it's ++#. not the main auth service. Instead we use the messages ++#. as a cue to display our own message. ++#. Translators: this message is shown below the password entry field ++#. to indicate the user can swipe their finger instead ++#: ../js/gdm/util.js:483 + msgid "(or swipe finger)" + msgstr "(あるいは指でスワイプする)" + +@@ -305,58 +364,62 @@ + msgid "Command not found" + msgstr "コマンドが見つかりません" + ++#. Replace "Error invoking GLib.shell_parse_argv: " with ++#. something nicer + #: ../js/misc/util.js:148 + msgid "Could not parse command:" + msgstr "次のコマンドは解析できません:" + + #: ../js/misc/util.js:156 +-#, javascript-format ++#, c-format + msgid "Execution of “%s” failed:" + msgstr "”%s”の実行に失敗しました:" + ++#. TRANSLATORS: this is the title of the wifi captive portal login ++#. window, until we know the title of the actual login page + #: ../js/portalHelper/main.js:85 + msgid "Web Authentication Redirect" + msgstr "Web 認証リダイレクト" + +-#: ../js/ui/appDisplay.js:772 ++#: ../js/ui/appDisplay.js:773 + msgid "Frequently used applications will appear here" + msgstr "よく使うアプリケーションがここに表示されます" + +-#: ../js/ui/appDisplay.js:883 ++#: ../js/ui/appDisplay.js:884 + msgid "Frequent" + msgstr "常用" + +-#: ../js/ui/appDisplay.js:890 ++#: ../js/ui/appDisplay.js:891 + msgid "All" + msgstr "すべて" + +-#: ../js/ui/appDisplay.js:1789 ++#: ../js/ui/appDisplay.js:1795 + msgid "New Window" + msgstr "新しいウィンドウで開く" + +-#: ../js/ui/appDisplay.js:1815 ../js/ui/dash.js:285 ++#: ../js/ui/appDisplay.js:1821 ../js/ui/dash.js:285 + msgid "Remove from Favorites" + msgstr "お気に入りから削除" + +-#: ../js/ui/appDisplay.js:1821 ++#: ../js/ui/appDisplay.js:1827 + msgid "Add to Favorites" + msgstr "お気に入りに追加" + +-#: ../js/ui/appDisplay.js:1830 ++#: ../js/ui/appDisplay.js:1836 + msgid "Show Details" + msgstr "詳細を表示する" + +-#: ../js/ui/appFavorites.js:131 +-#, javascript-format ++#: ../js/ui/appFavorites.js:133 ++#, c-format + msgid "%s has been added to your favorites." + msgstr "%s をお気に入りに追加しました。" + +-#: ../js/ui/appFavorites.js:165 +-#, javascript-format ++#: ../js/ui/appFavorites.js:167 ++#, c-format + msgid "%s has been removed from your favorites." + msgstr "%s をお気に入りから削除しました。" + +-#: ../js/ui/backgroundMenu.js:19 ../js/ui/panel.js:813 ++#: ../js/ui/backgroundMenu.js:19 ../js/ui/panel.js:820 + #: ../js/ui/status/system.js:337 + msgid "Settings" + msgstr "設定" +@@ -367,69 +430,69 @@ + + #. 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:67 ++#. ++#: ../js/ui/calendar.js:70 + msgctxt "event list time" + msgid "All Day" + msgstr "終日" + + #. Translators: Shown in calendar event list, if 24h format, +-#. \u2236 is a ratio character, similar to : */ +-#: ../js/ui/calendar.js:73 ++#. \u2236 is a ratio character, similar to : ++#: ../js/ui/calendar.js:77 + msgctxt "event list time" +-msgid "%H∶%M" +-msgstr "%H∶%M" ++msgid "%H\\u2236%M" ++msgstr "%H\\u2236%M" + + #. Translators: Shown in calendar event list, if 12h format, + #. \u2236 is a ratio character, similar to : and \u2009 is +-#. a thin space */ +-#: ../js/ui/calendar.js:82 ++#. a thin space ++#: ../js/ui/calendar.js:86 + msgctxt "event list time" +-msgid "%l∶%M %p" +-msgstr "%l∶%M %p" ++msgid "%l\\u2236%M\\u2009%p" ++msgstr "%p%l\\u2236%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:113 ++#. ++#: ../js/ui/calendar.js:100 + msgctxt "grid sunday" + msgid "S" + msgstr "日" + +-#. Translators: Calendar grid abbreviation for Monday */ +-#: ../js/ui/calendar.js:115 ++#. Translators: Calendar grid abbreviation for Monday ++#: ../js/ui/calendar.js:102 + msgctxt "grid monday" + msgid "M" + msgstr "月" + +-#. Translators: Calendar grid abbreviation for Tuesday */ +-#: ../js/ui/calendar.js:117 ++#. Translators: Calendar grid abbreviation for Tuesday ++#: ../js/ui/calendar.js:104 + msgctxt "grid tuesday" + msgid "T" + msgstr "火" + +-#. Translators: Calendar grid abbreviation for Wednesday */ +-#: ../js/ui/calendar.js:119 ++#. Translators: Calendar grid abbreviation for Wednesday ++#: ../js/ui/calendar.js:106 + msgctxt "grid wednesday" + msgid "W" + msgstr "水" + +-#. Translators: Calendar grid abbreviation for Thursday */ +-#: ../js/ui/calendar.js:121 ++#. Translators: Calendar grid abbreviation for Thursday ++#: ../js/ui/calendar.js:108 + msgctxt "grid thursday" + msgid "T" + msgstr "木" + +-#. Translators: Calendar grid abbreviation for Friday */ +-#: ../js/ui/calendar.js:123 ++#. Translators: Calendar grid abbreviation for Friday ++#: ../js/ui/calendar.js:110 + msgctxt "grid friday" + msgid "F" + msgstr "金" + +-#. Translators: Calendar grid abbreviation for Saturday */ +-#: ../js/ui/calendar.js:125 ++#. Translators: Calendar grid abbreviation for Saturday ++#: ../js/ui/calendar.js:112 + msgctxt "grid saturday" + msgid "S" + msgstr "土" +@@ -439,86 +502,86 @@ + #. * 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:138 ++#. ++#: ../js/ui/calendar.js:125 + msgctxt "list sunday" + msgid "Su" + msgstr "日" + +-#. Translators: Event list abbreviation for Monday */ +-#: ../js/ui/calendar.js:140 ++#. Translators: Event list abbreviation for Monday ++#: ../js/ui/calendar.js:127 + msgctxt "list monday" + msgid "M" + msgstr "月" + +-#. Translators: Event list abbreviation for Tuesday */ +-#: ../js/ui/calendar.js:142 ++#. Translators: Event list abbreviation for Tuesday ++#: ../js/ui/calendar.js:129 + msgctxt "list tuesday" + msgid "T" + msgstr "火" + +-#. Translators: Event list abbreviation for Wednesday */ +-#: ../js/ui/calendar.js:144 ++#. Translators: Event list abbreviation for Wednesday ++#: ../js/ui/calendar.js:131 + msgctxt "list wednesday" + msgid "W" + msgstr "水" + +-#. Translators: Event list abbreviation for Thursday */ +-#: ../js/ui/calendar.js:146 ++#. Translators: Event list abbreviation for Thursday ++#: ../js/ui/calendar.js:133 + msgctxt "list thursday" + msgid "Th" + msgstr "木" + +-#. Translators: Event list abbreviation for Friday */ +-#: ../js/ui/calendar.js:148 ++#. Translators: Event list abbreviation for Friday ++#: ../js/ui/calendar.js:135 + msgctxt "list friday" + msgid "F" + msgstr "金" + +-#. Translators: Event list abbreviation for Saturday */ +-#: ../js/ui/calendar.js:150 ++#. Translators: Event list abbreviation for Saturday ++#: ../js/ui/calendar.js:137 + msgctxt "list saturday" + msgid "S" + msgstr "土" + +-#: ../js/ui/calendar.js:453 ++#: ../js/ui/calendar.js:462 + msgid "Previous month" + msgstr "先月" + +-#: ../js/ui/calendar.js:463 ++#: ../js/ui/calendar.js:472 + msgid "Next month" + msgstr "来月" + +-#. Translators: Text to show if there are no events */ +-#: ../js/ui/calendar.js:781 ++#. Translators: Text to show if there are no events ++#: ../js/ui/calendar.js:811 + msgid "Nothing Scheduled" + msgstr "予定がありません" + +-#. Translators: Shown on calendar heading when selected day occurs on current year */ +-#: ../js/ui/calendar.js:799 ++#. Translators: Shown on calendar heading when selected day occurs on current year ++#: ../js/ui/calendar.js:827 + msgctxt "calendar heading" + msgid "%A, %B %d" + msgstr "%B%-e日 (%a)" + +-#. Translators: Shown on calendar heading when selected day occurs on different year */ +-#: ../js/ui/calendar.js:802 ++#. Translators: Shown on calendar heading when selected day occurs on different year ++#: ../js/ui/calendar.js:830 + msgctxt "calendar heading" + msgid "%A, %B %d, %Y" + msgstr "%Y年%B%-e日 (%a)" + +-#: ../js/ui/calendar.js:813 ++#: ../js/ui/calendar.js:840 + msgid "Today" + msgstr "今日" + +-#: ../js/ui/calendar.js:817 ++#: ../js/ui/calendar.js:844 + msgid "Tomorrow" + msgstr "明日" + +-#: ../js/ui/calendar.js:828 ++#: ../js/ui/calendar.js:855 + msgid "This week" + msgstr "今週" + +-#: ../js/ui/calendar.js:836 ++#: ../js/ui/calendar.js:863 + msgid "Next week" + msgstr "来週" + +@@ -535,7 +598,7 @@ + msgstr "リムーバブルデバイス" + + #: ../js/ui/components/autorunManager.js:596 +-#, javascript-format ++#, c-format + msgid "Open with %s" + msgstr "%s で開く" + +@@ -556,6 +619,7 @@ + msgid "Connect" + msgstr "接続" + ++#. Cisco LEAP + #: ../js/ui/components/networkAgent.js:231 + #: ../js/ui/components/networkAgent.js:243 + #: ../js/ui/components/networkAgent.js:271 +@@ -564,6 +628,7 @@ + msgid "Password: " + msgstr "パスワード: " + ++#. static WEP + #: ../js/ui/components/networkAgent.js:236 + msgid "Key: " + msgstr "キー: " +@@ -585,8 +650,10 @@ + msgstr "無線ネットワークでは認証が要求されます" + + #: ../js/ui/components/networkAgent.js:319 +-#, javascript-format +-msgid "Passwords or encryption keys are required to access the wireless network “%s”." ++#, c-format ++msgid "" ++"Passwords or encryption keys are required to access the wireless network " ++"“%s”." + msgstr "無線ネットワーク ”%s” にアクセスするにはパスワードか、または暗号化キーが必要です。" + + #: ../js/ui/components/networkAgent.js:323 +@@ -618,7 +685,7 @@ + msgstr "モバイルブロードバンドネットワークのパスワード" + + #: ../js/ui/components/networkAgent.js:346 +-#, javascript-format ++#, c-format + msgid "A password is required to connect to “%s”." + msgstr "”%s” への接続にはパスワードが必要です。" + +@@ -637,19 +704,23 @@ + #. Translators: "that didn't work" refers to the fact that the + #. * requested authentication was not gained; this can happen + #. * because of an authentication error (like invalid password), +-#. * for instance. */ ++#. * for instance. + #: ../js/ui/components/polkitAgent.js:271 ../js/ui/shellMountOperation.js:383 + msgid "Sorry, that didn't work. Please try again." + msgstr "申し訳ありません、認証できませんでした。再試行してください。" + ++#. FIXME: We don't have a 'chat room' icon (bgo #653737) use ++#. system-users for now as Empathy does. + #: ../js/ui/components/telepathyClient.js:240 + msgid "Invitation" + msgstr "招待" + ++#. We got the TpContact + #: ../js/ui/components/telepathyClient.js:300 + msgid "Call" + msgstr "会話" + ++#. We got the TpContact + #: ../js/ui/components/telepathyClient.js:316 + msgid "File Transfer" + msgstr "ファイル転送" +@@ -666,87 +737,95 @@ + msgid "Mute" + msgstr "ミュート" + +-#. Translators: Time in 24h format */ ++#. Translators: Time in 24h format + #: ../js/ui/components/telepathyClient.js:953 +-msgid "%H∶%M" +-msgstr "%H∶%M" ++msgid "%H\\u2236%M" ++msgstr "%H\\u2236%M" + + #. Translators: this is the word "Yesterday" followed by a +-#. time string in 24h format. i.e. "Yesterday, 14:30" */ ++#. time string in 24h format. i.e. "Yesterday, 14:30" + #: ../js/ui/components/telepathyClient.js:960 +-msgid "Yesterday, %H∶%M" +-msgstr "昨日 %H:%M" ++#, no-c-format ++msgid "Yesterday, %H\\u2236%M" ++msgstr "昨日 %H\\u2236%M" + + #. Translators: this is the week day name followed by a time +-#. string in 24h format. i.e. "Monday, 14:30" */ ++#. string in 24h format. i.e. "Monday, 14:30" + #: ../js/ui/components/telepathyClient.js:967 +-msgid "%A, %H∶%M" +-msgstr "%A %H∶%M" ++#, no-c-format ++msgid "%A, %H\\u2236%M" ++msgstr "%A %H\\u2236%M" + + #. Translators: this is the month name and day number + #. followed by a time string in 24h format. +-#. i.e. "May 25, 14:30" */ ++#. i.e. "May 25, 14:30" + #: ../js/ui/components/telepathyClient.js:974 +-msgid "%B %d, %H∶%M" +-msgstr "%B%-e日 %H∶%M" ++#, no-c-format ++msgid "%B %d, %H\\u2236%M" ++msgstr "%B %d日 %H\\u2236%M" + + #. Translators: this is the month name, day number, year + #. number followed by a time string in 24h format. +-#. i.e. "May 25 2012, 14:30" */ ++#. i.e. "May 25 2012, 14:30" + #: ../js/ui/components/telepathyClient.js:980 +-msgid "%B %d %Y, %H∶%M" +-msgstr "%Y年%B%-e日 %H∶%M" ++#, no-c-format ++msgid "%B %d %Y, %H\\u2236%M" ++msgstr "%B %d日 %Y年 %H\\u2236%M" + +-#. Translators: Time in 24h format */ ++#. Translators: Time in 24h format + #: ../js/ui/components/telepathyClient.js:986 +-msgid "%l∶%M %p" +-msgstr "%p%l∶%M" ++msgid "%l\\u2236%M %p" ++msgstr "%l\\u2236%M %p" + + #. Translators: this is the word "Yesterday" followed by a +-#. time string in 12h format. i.e. "Yesterday, 2:30 pm" */ ++#. time string in 12h format. i.e. "Yesterday, 2:30 pm" + #: ../js/ui/components/telepathyClient.js:993 +-msgid "Yesterday, %l∶%M %p" +-msgstr "昨日 %p%l∶%M" ++#, no-c-format ++msgid "Yesterday, %l\\u2236%M %p" ++msgstr "昨日 %l\\u2236%M %p" + + #. Translators: this is the week day name followed by a time +-#. string in 12h format. i.e. "Monday, 2:30 pm" */ ++#. string in 12h format. i.e. "Monday, 2:30 pm" + #: ../js/ui/components/telepathyClient.js:1000 +-msgid "%A, %l∶%M %p" +-msgstr "%A %p%l∶%M" ++#, no-c-format ++msgid "%A, %l\\u2236%M %p" ++msgstr "%A %l\\u2236%M %p" + + #. Translators: this is the month name and day number + #. followed by a time string in 12h format. +-#. i.e. "May 25, 2:30 pm" */ ++#. i.e. "May 25, 2:30 pm" + #: ../js/ui/components/telepathyClient.js:1007 +-msgid "%B %d, %l∶%M %p" +-msgstr "%B%-e日 %p%l∶%M" ++#, no-c-format ++msgid "%B %d, %l\\u2236%M %p" ++msgstr "%B %d日 %l\\u2236%M %p" + + #. Translators: this is the month name, day number, year + #. number followed by a time string in 12h format. +-#. i.e. "May 25 2012, 2:30 pm"*/ ++#. i.e. "May 25 2012, 2:30 pm" + #: ../js/ui/components/telepathyClient.js:1013 +-msgid "%B %d %Y, %l∶%M %p" +-msgstr "%Y年%B%-e日 %p%l∶%M" ++#, no-c-format ++msgid "%B %d %Y, %l\\u2236%M %p" ++msgstr "%B %d日 %Y年 %l\\u2236%M %p" + + #. Translators: this is the other person changing their old IM name to their new +-#. IM name. */ ++#. IM name. + #: ../js/ui/components/telepathyClient.js:1045 +-#, javascript-format ++#, c-format + msgid "%s is now known as %s" + msgstr "%s は %s になりました" + + #. translators: argument is a room name like +-#. * room@jabber.org for example. */ ++#. * room@jabber.org for example. + #: ../js/ui/components/telepathyClient.js:1149 +-#, javascript-format ++#, c-format + msgid "Invitation to %s" + msgstr "%s への招待" + + #. translators: first argument is the name of a contact and the second + #. * one the name of a room. "Alice is inviting you to join room@jabber.org +-#. * for example. */ ++#. * for example. + #: ../js/ui/components/telepathyClient.js:1157 +-#, javascript-format ++#, c-format + msgid "%s is inviting you to join %s" + msgstr "%s さんがあなたを %s に招待しています" + +@@ -763,19 +842,19 @@ + msgid "Accept" + msgstr "受け入れる" + +-#. translators: argument is a contact name like Alice for example. */ ++#. translators: argument is a contact name like Alice for example. + #: ../js/ui/components/telepathyClient.js:1184 +-#, javascript-format ++#, c-format + msgid "Video call from %s" + msgstr "%s さんからビデオでの呼び出し" + +-#. translators: argument is a contact name like Alice for example. */ ++#. translators: argument is a contact name like Alice for example. + #: ../js/ui/components/telepathyClient.js:1187 +-#, javascript-format ++#, c-format + msgid "Call from %s" + msgstr "%s さんからの呼び出し" + +-#. translators: this is a button label (verb), not a noun */ ++#. translators: this is a button label (verb), not a noun + #: ../js/ui/components/telepathyClient.js:1201 + msgid "Answer" + msgstr "応答" +@@ -784,15 +863,15 @@ + #. * the contact's alias and the second one is the + #. * file name. The string will be something + #. * like: "Alice is sending you test.ogg" +-#. */ ++#. + #: ../js/ui/components/telepathyClient.js:1222 +-#, javascript-format ++#, c-format + msgid "%s is sending you %s" + msgstr "%s さんがあなたに %s を送信しようとしています" + +-#. To translators: The parameter is the contact's alias */ ++#. To translators: The parameter is the contact's alias + #: ../js/ui/components/telepathyClient.js:1251 +-#, javascript-format ++#, c-format + msgid "%s would like permission to see when you are online" + msgstr "%s さんが、あなたがオンライン状態になったことを知る許可を欲しいと思っています" + +@@ -865,7 +944,8 @@ + msgstr "このアカウントはすでにサーバーに接続済みです" + + #: ../js/ui/components/telepathyClient.js:1371 +-msgid "Connection has been replaced by a new connection using the same resource" ++msgid "" ++"Connection has been replaced by a new connection using the same resource" + msgstr "接続は同じリソースを使って新しい接続で置き換わりました" + + #: ../js/ui/components/telepathyClient.js:1373 +@@ -881,11 +961,14 @@ + msgstr "証明書が無効化されました" + + #: ../js/ui/components/telepathyClient.js:1379 +-msgid "Certificate uses an insecure cipher algorithm or is cryptographically weak" ++msgid "" ++"Certificate uses an insecure cipher algorithm or is cryptographically weak" + msgstr "証明書が安全でない暗号のアルゴリズムを使っているか、暗号的に弱いです" + + #: ../js/ui/components/telepathyClient.js:1381 +-msgid "The length of the server certificate, or the depth of the server certificate chain, exceed the limits imposed by the cryptography library" ++msgid "" ++"The length of the server certificate, or the depth of the server certificate " ++"chain, exceed the limits imposed by the cryptography library" + msgstr "サーバー証明書の長さや、サーバー証明書のチェーンの深さが暗号ライブラリで規定されている長さを越えています" + + #: ../js/ui/components/telepathyClient.js:1383 +@@ -893,9 +976,9 @@ + msgstr "内部エラー" + + #. translators: argument is the account name, like +-#. * name@jabber.org for example. */ ++#. * name@jabber.org for example. + #: ../js/ui/components/telepathyClient.js:1393 +-#, javascript-format ++#, c-format + msgid "Unable to connect to %s" + msgstr "%s に接続できません" + +@@ -907,7 +990,7 @@ + msgid "Unknown reason" + msgstr "原因不明" + +-#: ../js/ui/ctrlAltTab.js:29 ../js/ui/viewSelector.js:154 ++#: ../js/ui/ctrlAltTab.js:29 ../js/ui/viewSelector.js:155 + msgid "Windows" + msgstr "ウィンドウ" + +@@ -915,31 +998,33 @@ + msgid "Show Applications" + msgstr "アプリケーションを表示する" + ++#. Translators: this is the name of the dock/favorites area on ++#. the left of the overview + #: ../js/ui/dash.js:445 + msgid "Dash" + msgstr "ダッシュボード" + +-#: ../js/ui/dateMenu.js:96 ++#: ../js/ui/dateMenu.js:97 + msgid "Open Calendar" + msgstr "カレンダーを開く" + +-#: ../js/ui/dateMenu.js:100 ++#: ../js/ui/dateMenu.js:101 + msgid "Open Clocks" + msgstr "時計を開く" + +-#: ../js/ui/dateMenu.js:107 ++#: ../js/ui/dateMenu.js:108 + msgid "Date & Time Settings" + 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:204 ++#. ++#: ../js/ui/dateMenu.js:132 + msgid "%A %B %e, %Y" + msgstr "%Y年%B%-e日 (%a)" + + #: ../js/ui/endSessionDialog.js:64 +-#, javascript-format ++#, c-format + msgctxt "title" + msgid "Log Out %s" + msgstr "%s のログアウト" +@@ -950,13 +1035,13 @@ + msgstr "ログアウト" + + #: ../js/ui/endSessionDialog.js:67 +-#, javascript-format ++#, c-format + msgid "%s will be logged out automatically in %d second." + msgid_plural "%s will be logged out automatically in %d seconds." + msgstr[0] "%s は %d 秒後に自動的にログアウトします。" + + #: ../js/ui/endSessionDialog.js:72 +-#, javascript-format ++#, c-format + msgid "You will be logged out automatically in %d second." + msgid_plural "You will be logged out automatically in %d seconds." + msgstr[0] "%d 秒後に自動的にログアウトします。" +@@ -977,7 +1062,7 @@ + msgstr "更新をインストールして電源オフ" + + #: ../js/ui/endSessionDialog.js:87 +-#, javascript-format ++#, c-format + msgid "The system will power off automatically in %d second." + msgid_plural "The system will power off automatically in %d seconds." + msgstr[0] "%d 秒後に自動的にシステムの電源を切ります。" +@@ -1003,7 +1088,7 @@ + msgstr "再起動" + + #: ../js/ui/endSessionDialog.js:105 +-#, javascript-format ++#, c-format + msgid "The system will restart automatically in %d second." + msgid_plural "The system will restart automatically in %d seconds." + msgstr[0] "%d 秒後にシステムを再起動します。" +@@ -1014,9 +1099,11 @@ + msgstr "再起動して更新をインストールする" + + #: ../js/ui/endSessionDialog.js:121 +-#, javascript-format +-msgid "The system will automatically restart and install updates in %d second." +-msgid_plural "The system will automatically restart and install updates in %d seconds." ++#, c-format ++msgid "" ++"The system will automatically restart and install updates in %d second." ++msgid_plural "" ++"The system will automatically restart and install updates in %d seconds." + msgstr[0] "%d 秒後にシステムを再起動して更新をインストールします。" + + #: ../js/ui/endSessionDialog.js:127 +@@ -1046,15 +1133,15 @@ + msgid "Other users are logged in." + msgstr "他のユーザーがログインしています。" + +-#. Translators: Remote here refers to a remote session, like a ssh login */ ++#. Translators: Remote here refers to a remote session, like a ssh login + #: ../js/ui/endSessionDialog.js:640 +-#, javascript-format ++#, c-format + msgid "%s (remote)" + msgstr "%s (リモート)" + +-#. Translators: Console here refers to a tty like a VT console */ ++#. Translators: Console here refers to a tty like a VT console + #: ../js/ui/endSessionDialog.js:643 +-#, javascript-format ++#, c-format + msgid "%s (console)" + msgstr "%s (コンソール)" + +@@ -1063,99 +1150,116 @@ + msgstr "インストール" + + #: ../js/ui/extensionDownloader.js:204 +-#, javascript-format ++#, c-format + msgid "Download and install “%s” from extensions.gnome.org?" + msgstr "extensions.gnome.org から ”%s” をダウンロードしてインストールしますか?" + +-#: ../js/ui/keyboard.js:692 ../js/ui/status/keyboard.js:523 ++#: ../js/ui/extensionSystem.js:314 ++#, c-format ++msgid "%d extension is out of date" ++msgid_plural "%d extensions are out of date" ++msgstr[0] "%d extension は最新ではありません" ++ ++#: ../js/ui/extensionSystem.js:317 ++msgid "You can visit http://extensions.gnome.org for updates" ++msgstr "http://extensions.gnome.org で更新ができます" ++ ++#: ../js/ui/keyboard.js:700 ../js/ui/status/keyboard.js:535 + msgid "Keyboard" + msgstr "キーボード" + +-#: ../js/ui/lookingGlass.js:643 ++#: ../js/ui/lookingGlass.js:645 + msgid "No extensions installed" + msgstr "機能拡張はインストールされていません" + +-#. Translators: argument is an extension UUID. */ +-#: ../js/ui/lookingGlass.js:697 +-#, javascript-format ++#. Translators: argument is an extension UUID. ++#: ../js/ui/lookingGlass.js:699 ++#, c-format + msgid "%s has not emitted any errors." + msgstr "%s は何もエラーを出力していません。" + +-#: ../js/ui/lookingGlass.js:703 ++#: ../js/ui/lookingGlass.js:705 + msgid "Hide Errors" + msgstr "エラーを非表示" + +-#: ../js/ui/lookingGlass.js:707 ../js/ui/lookingGlass.js:767 ++#: ../js/ui/lookingGlass.js:709 ../js/ui/lookingGlass.js:769 + msgid "Show Errors" + msgstr "エラーを表示" + +-#: ../js/ui/lookingGlass.js:716 ../js/ui/status/location.js:71 ++#: ../js/ui/lookingGlass.js:718 ../js/ui/status/location.js:71 + #: ../js/ui/status/location.js:176 + msgid "Enabled" + msgstr "有効" + + #. Translators: this is for a network device that cannot be activated +-#. because it's disabled by rfkill (airplane mode) */ ++#. because it's disabled by rfkill (airplane mode) + #. translators: + #. * The device has been disabled +-#: ../js/ui/lookingGlass.js:719 ../js/ui/status/location.js:179 ++#: ../js/ui/lookingGlass.js:721 ../js/ui/status/location.js:179 + #: ../js/ui/status/network.js:592 ../src/gvc/gvc-mixer-control.c:1830 + msgid "Disabled" + msgstr "無効" + +-#: ../js/ui/lookingGlass.js:721 ++#: ../js/ui/lookingGlass.js:723 + msgid "Error" + msgstr "エラー" + +-#: ../js/ui/lookingGlass.js:723 ++#: ../js/ui/lookingGlass.js:725 + msgid "Out of date" + msgstr "最新ではありません" + +-#: ../js/ui/lookingGlass.js:725 ++#: ../js/ui/lookingGlass.js:727 + msgid "Downloading" + msgstr "ダウンロード中" + +-#: ../js/ui/lookingGlass.js:749 ++#: ../js/ui/lookingGlass.js:751 + msgid "View Source" + msgstr "ソースの表示" + +-#: ../js/ui/lookingGlass.js:758 ++#: ../js/ui/lookingGlass.js:760 + msgid "Web Page" + msgstr "ウェブページ" + +-#: ../js/ui/messageTray.js:1326 ++#: ../js/ui/messageTray.js:1334 + msgid "Open" + msgstr "開く" + +-#: ../js/ui/messageTray.js:1333 ++#: ../js/ui/messageTray.js:1341 + msgid "Remove" + msgstr "削除" + +-#: ../js/ui/messageTray.js:1630 ++#: ../js/ui/messageTray.js:1638 + msgid "Notifications" + msgstr "通知" + +-#: ../js/ui/messageTray.js:1637 ++#: ../js/ui/messageTray.js:1645 + msgid "Clear Messages" + msgstr "メッセージをクリア" + +-#: ../js/ui/messageTray.js:1656 ++#: ../js/ui/messageTray.js:1664 + msgid "Notification Settings" + msgstr "通知設定" + +-#: ../js/ui/messageTray.js:1709 ++#: ../js/ui/messageTray.js:1717 + msgid "Tray Menu" + msgstr "トレイメニュー" + +-#: ../js/ui/messageTray.js:1926 ++#: ../js/ui/messageTray.js:1941 + msgid "No Messages" + msgstr "メッセージなし" + +-#: ../js/ui/messageTray.js:1968 ++#: ../js/ui/messageTray.js:1988 + msgid "Message Tray" + msgstr "メッセージトレイ" + +-#: ../js/ui/messageTray.js:2971 ++#: ../js/ui/messageTray.js:2447 ../js/ui/overviewControls.js:483 ++#: ../js/ui/screenShield.js:151 ++#, c-format ++msgid "%d new message" ++msgid_plural "%d new messages" ++msgstr[0] "%d 件の新しいメッセージ" ++ ++#: ../js/ui/messageTray.js:3017 + msgid "System Information" + msgstr "システム情報" + +@@ -1164,12 +1268,6 @@ + msgid "Unknown" + msgstr "不明なプログラム" + +-#: ../js/ui/overviewControls.js:482 ../js/ui/screenShield.js:151 +-#, javascript-format +-msgid "%d new message" +-msgid_plural "%d new messages" +-msgstr[0] "%d 件の新しいメッセージ" +- + #: ../js/ui/overview.js:84 + msgid "Undo" + msgstr "元に戻す" +@@ -1181,7 +1279,7 @@ + #. Translators: this is the text displayed + #. in the search entry when no search is + #. active; it should not exceed ~30 +-#. characters. */ ++#. characters. + #: ../js/ui/overview.js:246 + msgid "Type to search…" + msgstr "検索ワードを入力…" +@@ -1191,15 +1289,20 @@ + msgstr "終了" + + #. Translators: If there is no suitable word for "Activities" +-#. in your language, you can use the word for "Overview". */ +-#: ../js/ui/panel.js:567 ++#. in your language, you can use the word for "Overview". ++#: ../js/ui/panel.js:574 + msgid "Activities" + msgstr "アクティビティ" + +-#: ../js/ui/panel.js:918 ++#: ../js/ui/panel.js:925 + msgid "Top Bar" + 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:269 + msgid "toggle-switch-us" + msgstr "toggle-switch-us" +@@ -1217,38 +1320,45 @@ + msgstr "再起動中…" + + #. Translators: This is a time format for a date in +-#. long format */ ++#. long format + #: ../js/ui/screenShield.js:88 + msgid "%A, %B %d" + msgstr "%B%-e日 (%a)" + + #: ../js/ui/screenShield.js:153 +-#, javascript-format ++#, c-format + msgid "%d new notification" + msgid_plural "%d new notifications" + msgstr[0] "%d 件の新しい通知" + +-#: ../js/ui/screenShield.js:472 ../js/ui/status/system.js:345 ++#: ../js/ui/screenShield.js:473 ../js/ui/status/system.js:345 + msgid "Lock" + msgstr "ロック" + +-#: ../js/ui/screenShield.js:706 ++#: ../js/ui/screenShield.js:709 + msgid "GNOME needs to lock the screen" + msgstr "画面をロックする必要があります" + +-#: ../js/ui/screenShield.js:833 ../js/ui/screenShield.js:1304 ++#. We could not become modal, so we can't activate the ++#. screenshield. The user is probably very upset at this ++#. point, but any application using global grabs is broken ++#. Just tell him to stop using this app ++#. ++#. XXX: another option is to kick the user into the gdm login ++#. screen, where we're not affected by grabs ++#: ../js/ui/screenShield.js:836 ../js/ui/screenShield.js:1312 + msgid "Unable to lock" + msgstr "ロックできません" + +-#: ../js/ui/screenShield.js:834 ../js/ui/screenShield.js:1305 ++#: ../js/ui/screenShield.js:837 ../js/ui/screenShield.js:1313 + msgid "Lock was blocked by an application" + msgstr "アプリケーションによってロックがブロックされました" + +-#: ../js/ui/search.js:594 ++#: ../js/ui/search.js:611 + msgid "Searching…" + msgstr "検索しています…" + +-#: ../js/ui/search.js:596 ++#: ../js/ui/search.js:613 + msgid "No results." + msgstr "一致するものがありません。" + +@@ -1320,6 +1430,8 @@ + msgid "Large Text" + msgstr "大きな文字" + ++#. The Bluetooth menu only appears when Bluetooth is in use, ++#. so just statically build it with a "Turn Off" menu item. + #: ../js/ui/status/bluetooth.js:49 + msgid "Bluetooth" + msgstr "Bluetooth" +@@ -1336,7 +1448,7 @@ + msgstr "Bluetooth の設定" + + #: ../js/ui/status/bluetooth.js:104 +-#, javascript-format ++#, c-format + msgid "%d Connected Device" + msgid_plural "%d Connected Devices" + msgstr[0] "接続デバイス: %d台" +@@ -1349,7 +1461,7 @@ + msgid "Brightness" + msgstr "明るさ" + +-#: ../js/ui/status/keyboard.js:547 ++#: ../js/ui/status/keyboard.js:559 + msgid "Show Keyboard Layout" + msgstr "キーボードレイアウトの表示" + +@@ -1387,7 +1499,7 @@ + msgstr "接続済み" + + #. Translators: this is for network devices that are physically present but are not +-#. under NetworkManager's control (and thus cannot be used in the menu) */ ++#. under NetworkManager's control (and thus cannot be used in the menu) + #: ../js/ui/status/network.js:463 + msgid "Unmanaged" + msgstr "管理対象外" +@@ -1400,19 +1512,19 @@ + msgid "Connecting" + msgstr "接続中" + +-#. Translators: this is for network connections that require some kind of key or password */ ++#. Translators: this is for network connections that require some kind of key or password + #: ../js/ui/status/network.js:474 + msgid "Authentication required" + msgstr "認証の要求" + + #. Translators: this is for devices that require some kind of firmware or kernel +-#. module, which is missing */ ++#. module, which is missing + #: ../js/ui/status/network.js:482 + msgid "Firmware missing" + msgstr "ファームウェア未検出" + + #. Translators: this is for a network device that cannot be activated (for example it +-#. is disabled by rfkill, or it has no coverage */ ++#. is disabled by rfkill, or it has no coverage + #: ../js/ui/status/network.js:486 + msgid "Unavailable" + msgstr "利用不可" +@@ -1497,7 +1609,7 @@ + msgid "connecting..." + msgstr "接続中..." + +-#. Translators: this is for network connections that require some kind of key or password */ ++#. Translators: this is for network connections that require some kind of key or password + #: ../js/ui/status/network.js:1412 + msgid "authentication required" + msgstr "認証の要求" +@@ -1534,19 +1646,23 @@ + msgid "Fully Charged" + msgstr "充電完了" + ++#. 0 is reported when UPower does not have enough data ++#. to estimate battery life + #: ../js/ui/status/power.js:72 ../js/ui/status/power.js:78 + msgid "Estimating…" + msgstr "残量推計中…" + ++#. Translators: this is : Remaining () + #: ../js/ui/status/power.js:86 +-#, javascript-format +-msgid "%d∶%02d Remaining (%d%%)" +-msgstr "残り %d∶%02d (%d%%)" ++#, c-format ++msgid "%d\\u2236%02d Remaining (%d%%)" ++msgstr "残り時間 %d\\u2236%02d (%d%%)" + ++#. Translators: this is : Until Full () + #: ../js/ui/status/power.js:91 +-#, javascript-format +-msgid "%d∶%02d Until Full (%d%%)" +-msgstr "充電完了まで %d∶%02d (%d%%)" ++#, c-format ++msgid "%d\\u2236%02d Until Full (%d%%)" ++msgstr "充電完了まで %d\\u2236%02d (%d%%)" + + #: ../js/ui/status/power.js:119 + msgid "UPS" +@@ -1556,6 +1672,9 @@ + msgid "Battery" + msgstr "バッテリー" + ++#. The menu only appears when airplane mode is on, so just ++#. statically build it as if it was on, rather than dynamically ++#. changing the menu contents. + #: ../js/ui/status/rfkill.js:83 + msgid "Airplane Mode" + msgstr "機内モード" +@@ -1604,16 +1723,16 @@ + msgid "Unlock Window" + msgstr "ロック解除" + +-#: ../js/ui/viewSelector.js:158 ++#: ../js/ui/viewSelector.js:159 + msgid "Applications" + msgstr "アプリケーション" + +-#: ../js/ui/viewSelector.js:162 ++#: ../js/ui/viewSelector.js:163 + msgid "Search" + msgstr "検索" + + #: ../js/ui/windowAttentionHandler.js:19 +-#, javascript-format ++#, c-format + msgid "“%s” is ready" + msgstr "”%s” は準備完了です" + +@@ -1623,7 +1742,7 @@ + + #. Translators: this and the following message should be limited in lenght, + #. to avoid ellipsizing the labels. +-#. */ ++#. + #: ../js/ui/windowManager.js:84 + msgid "Revert Settings" + msgstr "設定を元に戻す" +@@ -1633,7 +1752,7 @@ + msgstr "変更を保存" + + #: ../js/ui/windowManager.js:107 +-#, javascript-format ++#, c-format + msgid "Settings changes will revert in %d second" + msgid_plural "Settings changes will revert in %d seconds" + msgstr[0] "%d 秒後に元の設定に戻ります" +@@ -1702,19 +1821,19 @@ + msgid "System Sounds" + msgstr "システムのサウンド" + +-#: ../src/main.c:373 ++#: ../src/main.c:381 + msgid "Print version" + msgstr "バージョンを表示" + +-#: ../src/main.c:379 ++#: ../src/main.c:387 + msgid "Mode used by GDM for login screen" + msgstr "ログイン画面で GDM が使用するモード" + +-#: ../src/main.c:385 ++#: ../src/main.c:393 + msgid "Use a specific mode, e.g. \"gdm\" for login screen" + msgstr "指定したモードを使用する (例: ログイン画面用の \"gdm\")" + +-#: ../src/main.c:391 ++#: ../src/main.c:399 + msgid "List possible modes" + msgstr "使用可能なモードを一覧表示する" + +@@ -1734,318 +1853,3 @@ + #: ../src/shell-polkit-authentication-agent.c:346 + msgid "Authentication dialog was dismissed by the user" + msgstr "認証ダイアログはユーザーに拒否されました" +- +-#~ msgid "The maximum accuracy level of location." +-#~ msgstr "場所の最大精度レベルです。" +- +-#~ msgid "Arrangement of buttons on the titlebar" +-#~ msgstr "タイトルバーのボタン配置方法" +- +-#~ msgid "This key overrides the key in org.gnome.desktop.wm.preferences when running GNOME Shell." +-#~ msgstr "GNOME Shell 使用時は、 このキーが、org.gnome.desktop.wm.preferences の同じキーよりも優先します。" +- +-#~ msgid "Extension" +-#~ msgstr "拡張機能" +- +-#~ msgid "Select an extension to configure using the combobox above." +-#~ msgstr "設定する拡張機能を上部のコンボボックスから選択してください。" +- +-#~ msgid "calendar:MY" +-#~ msgstr "calendar:YM" +- +-#~ msgid "List of categories that should be displayed as folders" +-#~ msgstr "フォルダー形式で表示するカテゴリ名のリスト" +- +-#~ msgid "Each category name in this list will be represented as folder in the application view, rather than being displayed inline in the main view." +-#~ msgstr "このリストに指定したカテゴリは、アプリケーションビューにおいてフォルダー形式で表示されます。メインビューのカテゴリ列には表示されません。" +- +-#~ msgid "%A, %H:%M" +-#~ msgstr "%A %H:%M" +- +-#~ msgid "%B %d, %H:%M" +-#~ msgstr "%b%-e日 %H:%M" +- +-#~ msgid "%B %d %Y, %H:%M " +-#~ msgstr "%Y年%b%-e日%H:%M" +- +-#~ msgid "Authorization request from %s" +-#~ msgstr "%s からアクセス許可の要求" +- +-#~ msgid "Device %s wants to pair with this computer" +-#~ msgstr "デバイス %s がこのコンピューターとのペアリングを要求しています" +- +-#~ msgid "Allow" +-#~ msgstr "許可" +- +-#~ msgid "Deny" +-#~ msgstr "拒否" +- +-#~ msgid "Device %s wants access to the service '%s'" +-#~ msgstr "デバイス '%s' が サービス '%s' へのアクセスを要求しています" +- +-#~ msgid "Always grant access" +-#~ msgstr "許可" +- +-#~ msgid "Grant this time only" +-#~ msgstr "今回のみ許可" +- +-#~ msgid "Reject" +-#~ msgstr "拒否" +- +-#~ msgid "Pairing confirmation for %s" +-#~ msgstr "%s からペアリングの確認" +- +-#~ msgid "Please confirm whether the Passkey '%06d' matches the one on the device." +-#~ msgstr "'%06d' がデバイスのパスキーと一致しているか確認してください。" +- +-#~ msgid "Matches" +-#~ msgstr "一致" +- +-#~ msgid "Does not match" +-#~ msgstr "不一致" +- +-#~ msgid "Pairing request for %s" +-#~ msgstr "%s からペアリングの要求" +- +-#~ msgid "Please enter the PIN mentioned on the device." +-#~ msgstr "デバイスの PIN コードを入力してください。" +- +-#~ msgid "OK" +-#~ msgstr "OK" +- +-#~ msgid "" +-#~ "Sorry, no wisdom for you today:\n" +-#~ "%s" +-#~ msgstr "" +-#~ "すまない、今日は賢言がないのだ:\n" +-#~ "%s" +- +-#~ msgid "%s the Oracle says" +-#~ msgstr "預言者 %s 曰く" +- +-#~ msgctxt "event list time" +-#~ msgid "%H\\u2236%M" +-#~ msgstr "%H\\u2236%M" +- +-#~ msgctxt "event list time" +-#~ msgid "%l\\u2236%M\\u2009%p" +-#~ msgstr "%p%l\\u2236%M" +- +-#~ msgid "Settings Menu" +-#~ msgstr "設定メニュー" +- +-#~ msgid "Internally used to store the last IM presence explicitly set by the user. The value here is from the TpConnectionPresenceType enumeration." +-#~ msgstr "ユーザーにより明示的に設定された最新の IM プレゼンスを保存するのに内部的に使用されます。ここは TpConnectionPresenceType 列挙型の値になります。" +- +-#~ msgid "Internally used to store the last session presence status for the user. The value here is from the GsmPresenceStatus enumeration." +-#~ msgstr "ユーザーの最新のセッションプレゼンスの状態を保存するのに内部的に使用されます。ここは GsmPresenceStatus 列挙型の値になります。" +- +-#~ msgid "Session" +-#~ msgstr "セッション" +- +-#~ msgid "Click Log Out to quit these applications and log out of the system." +-#~ msgstr "ログアウトをクリックすると、起動中のアプリケーションを終了しシステムからログアウトします。" +- +-#~ msgid "Logging out of the system." +-#~ msgstr "システムからログアウトします。" +- +-#~ msgid "Click Power Off to quit these applications and power off the system." +-#~ msgstr "電源オフをクリックすると、起動中のアプリケーションを終了しシステムの電源を切ります。" +- +-#~ msgid "Powering off the system." +-#~ msgstr "システムの電源を切ります。" +- +-#~ msgid "Click Restart to quit these applications and restart the system." +-#~ msgstr "再起動をクリックすると、起動中のアプリケーションを終了しシステムを再起動します。" +- +-#~ msgid "Restarting the system." +-#~ msgstr "システムを再起動します。" +- +-#~ msgid "Shutting down might cause them to lose unsaved work." +-#~ msgstr "シャットダウンすると、他のユーザーによる未保存の作業が失われる可能性があります。" +- +-#~ msgid "Screenshots" +-#~ msgstr "スクリーンショット" +- +-#~ msgid "Record a screencast" +-#~ msgstr "スクリーンキャストを撮る" +- +-#~ msgid "Keybinding to toggle the screen recorder" +-#~ msgstr "スクリーンレコーダー切り替えのキーバインド" +- +-#~ msgid "Keybinding to start/stop the builtin screen recorder." +-#~ msgstr "内蔵のスクリーンレコーダーを起動したり止めたりするキーバインドです。" +- +-#~ msgid "Framerate used for recording screencasts." +-#~ msgstr "スクリーンキャスト録画のフレームレート" +- +-#~ msgid "The framerate of the resulting screencast recordered by GNOME Shell's screencast recorder in frames-per-second." +-#~ msgstr "GNOME Shell のスクリーンキャストレコーダーで録画するスクリーンキャストの 1秒あたりのフレーム数です。" +- +-#~ msgid "The gstreamer pipeline used to encode the screencast" +-#~ msgstr "スクリーンキャストのエンコードに使用する Gstreamer パイプライン" +- +-#~ msgid "Sets the GStreamer pipeline used to encode recordings. It follows the syntax used for gst-launch. The pipeline should have an unconnected sink pad where the recorded video is recorded. It will normally have a unconnected source pad; output from that pad will be written into the output file. However the pipeline can also take care of its own output - this might be used to send the output to an icecast server via shout2send or similar. When unset or set to an empty value, the default pipeline will be used. This is currently 'vp8enc min_quantizer=13 max_quantizer=13 cpu-used=5 deadline=1000000 threads=%T ! queue ! webmmux' and records to WEBM using the VP8 codec. %T is used as a placeholder for a guess at the optimal thread count on the system." +-#~ msgstr "録画したものをエンコードするための Gstreamer パイプラインを設定します。構文は gst-launch のものに準拠します。パイプラインは未接続の録画用 sink pad を持つようにしてください。パイプラインは通常未接続の source pad を持ち、ファイルへ出力データを書き込みますが、出力方法については独自に定義することもできます。shout2send プラグインやその類似プラグインを経由して icecast サーバーへ出力データを送信するときは、この方法をとります。値が設定されていないか、空の場合は、既定のパイプライン 'vp8enc min_quantizer=13 max_quantizer=13 cpu-used=5 deadline=1000000 threads=%T ! queue ! webmmux' が使用され、VP8 コーデックを使用した WebM 形式で録画します。 '%T' はシステムの最適スレッド数の推量値を示すプレースホルダーです。" +- +-#~ msgid "File extension used for storing the screencast" +-#~ msgstr "ファイルに保存するスクリーンキャストのファイル拡張子" +- +-#~ msgid "The filename for recorded screencasts will be a unique filename based on the current date, and use this extension. It should be changed when recording to a different container format." +-#~ msgstr "録画したスクリーンキャストをファイルに保存する際は、日付を基にした固有の名前とこの拡張子をファイル名として使用します。異なる形式で録画するときは拡張子を変更する必要があります。" +- +-#~ msgid "Power" +-#~ msgstr "電源" +- +-#~ msgid "Restart" +-#~ msgstr "再起動" +- +-#~ msgid "Screencast from %d %t" +-#~ msgstr "Screencast from %d %t" +- +-#~ msgid "Universal Access Settings" +-#~ msgstr "ユニバーサルアクセスの設定" +- +-#~ msgid "Visibility" +-#~ msgstr "検出可能にする" +- +-#~ msgid "Send Files to Device…" +-#~ msgstr "デバイスにファイルを送る…" +- +-#~ msgid "Set Up a New Device…" +-#~ msgstr "新しいデバイスを設定…" +- +-#~ msgid "Send Files…" +-#~ msgstr "ファイルを送信…" +- +-#~ msgid "Keyboard Settings" +-#~ msgstr "キーボードの設定" +- +-#~ msgid "Mouse Settings" +-#~ msgstr "マウスの設定" +- +-#~ msgid "Sound Settings" +-#~ msgstr "サウンドの設定" +- +-#~ msgid "Region & Language Settings" +-#~ msgstr "地域と言語の設定" +- +-#~ msgid "Volume, network, battery" +-#~ msgstr "音量, ネットワーク, バッテリー" +- +-#~ msgid "Wi-Fi" +-#~ msgstr "Wi-Fi" +- +-#~ msgid "disabled" +-#~ msgstr "利用不可" +- +-#~ msgid "More…" +-#~ msgstr "その他…" +- +-#~ msgid "Wired" +-#~ msgstr "有線接続" +- +-#~ msgid "Networking is disabled" +-#~ msgstr "ネットワークを利用できません" +- +-#~ msgid "%d hour remaining" +-#~ msgid_plural "%d hours remaining" +-#~ msgstr[0] "残り %d時間" +- +-#~ msgid "%d %s %d %s remaining" +-#~ msgstr "残り %d%s %d%s" +- +-#~ msgid "hour" +-#~ msgid_plural "hours" +-#~ msgstr[0] "時間" +- +-#~ msgid "minute" +-#~ msgid_plural "minutes" +-#~ msgstr[0] "分" +- +-#~ msgid "%d minute remaining" +-#~ msgid_plural "%d minutes remaining" +-#~ msgstr[0] "残り %d分" +- +-#~ msgctxt "percent of battery remaining" +-#~ msgid "%d%%" +-#~ msgstr "%d%%" +- +-#~ msgid "AC Adapter" +-#~ msgstr "AC アダプター" +- +-#~ msgid "Laptop Battery" +-#~ msgstr "バッテリー" +- +-#~ msgid "Monitor" +-#~ msgstr "モニター" +- +-#~ msgid "Mouse" +-#~ msgstr "マウス" +- +-#~ msgid "PDA" +-#~ msgstr "PDA" +- +-#~ msgid "Cell Phone" +-#~ msgstr "携帯電話" +- +-#~ msgid "Media Player" +-#~ msgstr "メディアプレイヤー" +- +-#~ msgid "Tablet" +-#~ msgstr "タブレット端末" +- +-#~ msgid "Computer" +-#~ msgstr "コンピューター" +- +-#~ msgctxt "device" +-#~ msgid "Unknown" +-#~ msgstr "不明なデバイス" +- +-#~ msgid "Available" +-#~ msgstr "在席中" +- +-#~ msgid "Busy" +-#~ msgstr "取り込み中" +- +-#~ msgid "Invisible" +-#~ msgstr "非表示" +- +-#~ msgid "Away" +-#~ msgstr "離席中" +- +-#~ msgid "Idle" +-#~ msgstr "待機中" +- +-#~ msgid "Your chat status will be set to busy" +-#~ msgstr "取り込み中に設定されます" +- +-#~ msgid "Notifications are now disabled, including chat messages. Your online status has been adjusted to let others know that you might not see their messages." +-#~ msgstr "チャットなどの通知メッセージが表示されなくなります。オンライン状態が変更され、あなたがメッセージに目を通せない状態にあることを、他の人が知ることができます。" +- +-#~ msgid "Whether to collect stats about applications usage" +-#~ msgstr "アプリケーション使用状況の 有効/無効" +- +-#~ msgid "The shell normally monitors active applications in order to present the most used ones (e.g. in launchers). While this data will be kept private, you may want to disable this for privacy reasons. Please note that doing so won't remove already saved data." +-#~ msgstr "通常、「お気に入り」を把握するためにアプリケーションの使用状況が監視されています。この情報が外部へ送信されることはありませんが、不安を感じるならば監視を無効にすることができます。なおすでに収集された情報は消去できません。" +- +-#~ msgid "cable unplugged" +-#~ msgstr "ケーブル抜け" +- +-#~ msgid "Auto Ethernet" +-#~ msgstr "自動イーサネット接続" +- +-#~ msgid "Auto broadband" +-#~ msgstr "自動ブロードバンド接続" +- +-#~ msgid "Auto dial-up" +-#~ msgstr "自動ダイヤルアップ" +- +-#~ msgid "Auto %s" +-#~ msgstr "自動 %s" +- +-#~ msgid "Auto bluetooth" +-#~ msgstr "自動 Bluetooth 接続" +- +-#~ msgid "Auto wireless" +-#~ msgstr "自動無線接続" +diff -urN gnome-shell-3.14.4/po/ko.po gnome-shell-3.14.4_localized/po/ko.po +--- gnome-shell-3.14.4/po/ko.po 2015-03-23 23:39:15.000000000 +0530 ++++ gnome-shell-3.14.4_localized/po/ko.po 2016-03-11 22:07:50.644000000 +0530 +@@ -2,8 +2,8 @@ + # Young-Ho Cha , 2009. + # Seong-ho Cho , 2012. + # Changwoo Ryu , 2011-2014. +-# +-# ++# ++# + # 주의 사항: + # - 이 프로그램의 이름인 shell은 "셸"이라고 쓰고, "쉘"이라고 하지 않음. + # - 용어: +@@ -12,21 +12,21 @@ + # - VPN: 가상사설망 + # - pairing (bluetooth 관련): 페어링 + # - Wayland: 웨일랜드로 음역 +-# ++# pnemade , 2016. #zanata + msgid "" + msgstr "" + "Project-Id-Version: gnome-shell\n" +-"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug.cgi?product=gnome-" +-"shell&keywords=I18N+L10N&component=general\n" +-"POT-Creation-Date: 2014-09-13 07:37+0000\n" +-"PO-Revision-Date: 2014-09-18 01:41+0900\n" +-"Last-Translator: Changwoo Ryu \n" +-"Language-Team: GNOME Korea \n" +-"Language: Korean\n" ++"Report-Msgid-Bugs-To: \n" ++"POT-Creation-Date: 2016-02-10 14:02+0530\n" + "MIME-Version: 1.0\n" + "Content-Type: text/plain; charset=UTF-8\n" + "Content-Transfer-Encoding: 8bit\n" ++"PO-Revision-Date: 2014-09-17 04:41+0000\n" ++"Last-Translator: Changwoo Ryu \n" ++"Language-Team: GNOME Korea \n" ++"Language: ko\n" + "Plural-Forms: nplurals=1; plural=0;\n" ++"X-Generator: Zanata 3.8.2\n" + + #: ../data/50-gnome-shell-system.xml.in.h:1 + msgid "System" +@@ -94,9 +94,8 @@ + "list. You can also manipulate this list with the EnableExtension and " + "DisableExtension D-Bus methods on org.gnome.Shell." + msgstr "" +-"그놈 셸 확장에는 UUID 속성이 있습니다. 이 키는 읽어들일 확장의 UUID를 나열합" +-"니다. 읽어들이려는 확장은 모두 이 목록에 들어 있어야 합니다. EnableExtension " +-"및 DisableExtension D-버스 메소드를 이용해 이 목록을 조작할 수도 있습니다." ++"그놈 셸 확장에는 UUID 속성이 있습니다. 이 키는 읽어들일 확장의 UUID를 나열합니다. 읽어들이려는 확장은 모두 이 목록에 들어 " ++"있어야 합니다. EnableExtension 및 DisableExtension D-버스 메소드를 이용해 이 목록을 조작할 수도 있습니다." + + #: ../data/org.gnome.shell.gschema.xml.in.in.h:5 + msgid "Disables the validation of extension version compatibility" +@@ -108,9 +107,8 @@ + "running version. Enabling this option will disable this check and try to " + "load all extensions regardless of the versions they claim to support." + msgstr "" +-"그놈 셸에서 현재 실행 중인 버전을 지원하는 확장 기능만 읽어들입니다. 이 옵션" +-"을 사용하면 이 버전 검사를 하지 않고, 지원한다고 지정된 버전에 관계없이 모든 " +-"확장 기능을 읽어들입니다." ++"그놈 셸에서 현재 실행 중인 버전을 지원하는 확장 기능만 읽어들입니다. 이 옵션을 사용하면 이 버전 검사를 하지 않고, 지원한다고 지정된 " ++"버전에 관계없이 모든 확장 기능을 읽어들입니다." + + #: ../data/org.gnome.shell.gschema.xml.in.in.h:7 + msgid "List of desktop file IDs for favorite applications" +@@ -146,16 +144,12 @@ + msgid "" + "This key overrides the automatic hiding of the 'Log out' menu item in single-" + "user, single-session situations." +-msgstr "" +-"이 키를 설정하면, 단일 사용자 및 단일 세션에서 '로그아웃' 메뉴 항목 자동 감추" +-"기 기능을 사용하지 않습니다." ++msgstr "이 키를 설정하면, 단일 사용자 및 단일 세션에서 '로그아웃' 메뉴 항목 자동 감추기 기능을 사용하지 않습니다." + + #: ../data/org.gnome.shell.gschema.xml.in.in.h:15 + msgid "" + "Whether to remember password for mounting encrypted or remote filesystems" +-msgstr "" +-"암호화 볼륨을 마운트하거나 원격 파일 시스템을 마운트할 때 암호를 저장할지 여" +-"부" ++msgstr "암호화 볼륨을 마운트하거나 원격 파일 시스템을 마운트할 때 암호를 저장할지 여부" + + #: ../data/org.gnome.shell.gschema.xml.in.in.h:16 + msgid "" +@@ -164,9 +158,8 @@ + "'Remember Password' checkbox will be present. This key sets the default " + "state of the checkbox." + msgstr "" +-"암호화된 저장 장치나 원격 파일 시스템을 마운트하는 경우 암호를 입력해야 합니" +-"다. 암호를 저장할 수 있으면 '암호 저장' 확인란이 나타납니다. 이 키에서는 이 " +-"확인란의 기본 상태를 지정합니다." ++"암호화된 저장 장치나 원격 파일 시스템을 마운트하는 경우 암호를 입력해야 합니다. 암호를 저장할 수 있으면 '암호 저장' 확인란이 " ++"나타납니다. 이 키에서는 이 확인란의 기본 상태를 지정합니다." + + #: ../data/org.gnome.shell.gschema.xml.in.in.h:17 + msgid "Show the week date in the calendar" +@@ -191,6 +184,7 @@ + #: ../data/org.gnome.shell.gschema.xml.in.in.h:22 + msgid "" + "Keybinding to open the \"Show Applications\" view of the Activities Overview." ++"" + msgstr "현재 활동 요약의 \"프로그램 보기\" 뷰를 여는 키 바인딩." + + #: ../data/org.gnome.shell.gschema.xml.in.in.h:23 +@@ -219,9 +213,9 @@ + + #: ../data/org.gnome.shell.gschema.xml.in.in.h:29 + msgid "" +-"Keybinding that pauses and resumes all running tweens, for debugging purposes" +-msgstr "" +-"실행 중인 모든 하위 프로세스를 일시 중지하고 계속 하는 키 바인딩, 디버깅 목적" ++"Keybinding that pauses and resumes all running tweens, for debugging " ++"purposes" ++msgstr "실행 중인 모든 하위 프로세스를 일시 중지하고 계속 하는 키 바인딩, 디버깅 목적" + + #: ../data/org.gnome.shell.gschema.xml.in.in.h:30 + msgid "Which keyboard to use" +@@ -239,9 +233,7 @@ + msgid "" + "If true, only applications that have windows on the current workspace are " + "shown in the switcher. Otherwise, all applications are included." +-msgstr "" +-"참이면, 현재 작업 공간에 창이 있는 프로그램만 프로그램 전환 창에 표시합니다. " +-"참이 아니면 모든 프로그램을 표시합니다." ++msgstr "참이면, 현재 작업 공간에 창이 있는 프로그램만 프로그램 전환 창에 표시합니다. 참이 아니면 모든 프로그램을 표시합니다." + + #: ../data/org.gnome.shell.gschema.xml.in.in.h:34 + msgid "The application icon mode." +@@ -250,19 +242,17 @@ + #: ../data/org.gnome.shell.gschema.xml.in.in.h:35 + msgid "" + "Configures how the windows are shown in the switcher. Valid possibilities " +-"are 'thumbnail-only' (shows a thumbnail of the window), 'app-icon-" +-"only' (shows only the application icon) or 'both'." ++"are 'thumbnail-only' (shows a thumbnail of the window), 'app-icon-only' " ++"(shows only the application icon) or 'both'." + msgstr "" +-"창 전환에서 창이 어떻게 표시될지 설정합니다. 가능한 값은: 'thumbnail-only'(창" +-"의 섬네일만 표시), 'app-icon-only'(프로그램 아이콘만 표시), 'both'(모두)." ++"창 전환에서 창이 어떻게 표시될지 설정합니다. 가능한 값은: 'thumbnail-only'(창의 섬네일만 표시), 'app-icon-" ++"only'(프로그램 아이콘만 표시), 'both'(모두)." + + #: ../data/org.gnome.shell.gschema.xml.in.in.h:36 + msgid "" + "If true, only windows from the current workspace are shown in the switcher. " + "Otherwise, all windows are included." +-msgstr "" +-"참이면, 현재 작업 공간에 창이 있는 창만 창 전환 창에 표시합니다. 거짓이면 모" +-"든 창을 표시합니다." ++msgstr "참이면, 현재 작업 공간에 창이 있는 창만 창 전환 창에 표시합니다. 거짓이면 모든 창을 표시합니다." + + #: ../data/org.gnome.shell.gschema.xml.in.in.h:37 + msgid "Attach modal dialog to the parent window" +@@ -295,7 +285,7 @@ + msgstr "종속 포털" + + #: ../js/extensionPrefs/main.js:123 +-#, javascript-format ++#, c-format + msgid "There was an error loading the preferences dialog for %s:" + msgstr "%s에 대한 기본 설정 대화상자를 불러오는데 오류가 발생했습니다:" + +@@ -303,54 +293,68 @@ + msgid "GNOME Shell Extensions" + msgstr "그놈 셸 확장" + +-#: ../js/gdm/authPrompt.js:147 ../js/ui/components/networkAgent.js:143 ++#: ../js/gdm/authPrompt.js:159 ../js/ui/components/networkAgent.js:143 + #: ../js/ui/components/polkitAgent.js:166 ../js/ui/endSessionDialog.js:452 + #: ../js/ui/extensionDownloader.js:195 ../js/ui/shellMountOperation.js:399 + #: ../js/ui/status/network.js:915 + msgid "Cancel" + msgstr "취소" + +-#: ../js/gdm/authPrompt.js:169 ../js/gdm/authPrompt.js:217 ++#: ../js/gdm/authPrompt.js:181 ../js/gdm/authPrompt.js:228 ++#: ../js/gdm/authPrompt.js:466 + msgid "Next" + msgstr "다음" + +-#: ../js/gdm/authPrompt.js:213 ../js/ui/shellMountOperation.js:403 ++#: ../js/gdm/authPrompt.js:224 ../js/ui/shellMountOperation.js:403 + #: ../js/ui/unlockDialog.js:59 + msgid "Unlock" + msgstr "잠금 풀기" + +-#: ../js/gdm/authPrompt.js:215 ++#: ../js/gdm/authPrompt.js:226 + msgctxt "button" + msgid "Sign In" + msgstr "로그인" + +-#: ../js/gdm/loginDialog.js:269 ++#: ../js/gdm/loginDialog.js:297 + msgid "Choose Session" + msgstr "세션 선택" + +-#: ../js/gdm/loginDialog.js:429 ++#. translators: this message is shown below the user list on the ++#. login screen. It can be activated to reveal an entry for ++#. manually entering the username. ++#: ../js/gdm/loginDialog.js:458 + msgid "Not listed?" + msgstr "목록에 없습니까?" + +-#: ../js/gdm/loginDialog.js:614 +-#, javascript-format ++#. Translators: this message is shown below the username entry field ++#. to clue the user in on how to login to the local network realm ++#: ../js/gdm/loginDialog.js:859 ++#, c-format + msgid "(e.g., user or %s)" + msgstr "(예를 들어, 사용자 또는 %s)" + +-#: ../js/gdm/loginDialog.js:619 ../js/ui/components/networkAgent.js:269 ++#. TTLS and PEAP are actually much more complicated, but this complication ++#. is not visible here since we only care about phase2 authentication ++#. (and don't even care of which one) ++#: ../js/gdm/loginDialog.js:864 ../js/ui/components/networkAgent.js:269 + #: ../js/ui/components/networkAgent.js:287 + msgid "Username: " + msgstr "사용자 이름: " + +-#: ../js/gdm/loginDialog.js:922 ++#: ../js/gdm/loginDialog.js:1193 + msgid "Login Window" + msgstr "로그인 창" + +-#: ../js/gdm/util.js:323 ++#: ../js/gdm/util.js:344 + msgid "Authentication error" + msgstr "인증 오류" + +-#: ../js/gdm/util.js:453 ++#. We don't show fingerprint messages directly since it's ++#. not the main auth service. Instead we use the messages ++#. as a cue to display our own message. ++#. Translators: this message is shown below the password entry field ++#. to indicate the user can swipe their finger instead ++#: ../js/gdm/util.js:483 + msgid "(or swipe finger)" + msgstr "(또는 지문을 문지르십시오)" + +@@ -358,59 +362,63 @@ + msgid "Command not found" + msgstr "명령이 없습니다" + ++#. Replace "Error invoking GLib.shell_parse_argv: " with ++#. something nicer + #: ../js/misc/util.js:148 + msgid "Could not parse command:" + msgstr "명령어를 파싱할 수 없습니다:" + + #: ../js/misc/util.js:156 +-#, javascript-format ++#, c-format + msgid "Execution of “%s” failed:" + msgstr "“%s” 실행이 실패했습니다:" + ++#. TRANSLATORS: this is the title of the wifi captive portal login ++#. window, until we know the title of the actual login page + #: ../js/portalHelper/main.js:85 + msgid "Web Authentication Redirect" + msgstr "웹 인증 리다이렉트" + +-#: ../js/ui/appDisplay.js:772 ++#: ../js/ui/appDisplay.js:773 + msgid "Frequently used applications will appear here" + msgstr "자주 사용하는 프로그램이 여기 나타납니다" + +-#: ../js/ui/appDisplay.js:883 ++#: ../js/ui/appDisplay.js:884 + msgid "Frequent" + msgstr "자주" + +-#: ../js/ui/appDisplay.js:890 ++#: ../js/ui/appDisplay.js:891 + msgid "All" + msgstr "모두" + +-#: ../js/ui/appDisplay.js:1789 ++#: ../js/ui/appDisplay.js:1795 + msgid "New Window" + msgstr "새 창" + +-#: ../js/ui/appDisplay.js:1815 ../js/ui/dash.js:285 ++#: ../js/ui/appDisplay.js:1821 ../js/ui/dash.js:285 + msgid "Remove from Favorites" + msgstr "즐겨찾기에서 제거" + +-#: ../js/ui/appDisplay.js:1821 ++#: ../js/ui/appDisplay.js:1827 + msgid "Add to Favorites" + msgstr "즐겨찾기에 추가" + + # 주의: "Show ..." 형태지만 보이기로 번역하지 않는다 +-#: ../js/ui/appDisplay.js:1830 ++#: ../js/ui/appDisplay.js:1836 + msgid "Show Details" + msgstr "자세히 보기" + +-#: ../js/ui/appFavorites.js:124 +-#, javascript-format ++#: ../js/ui/appFavorites.js:133 ++#, c-format + msgid "%s has been added to your favorites." + msgstr "%s 프로그램을 즐겨찾기에 추가했습니다." + +-#: ../js/ui/appFavorites.js:158 +-#, javascript-format ++#: ../js/ui/appFavorites.js:167 ++#, c-format + msgid "%s has been removed from your favorites." + msgstr "%s 프로그램을 즐겨찾기에서 제거했습니다." + +-#: ../js/ui/backgroundMenu.js:19 ../js/ui/panel.js:813 ++#: ../js/ui/backgroundMenu.js:19 ../js/ui/panel.js:820 + #: ../js/ui/status/system.js:337 + msgid "Settings" + msgstr "설정" +@@ -421,69 +429,69 @@ + + #. 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:67 ++#. ++#: ../js/ui/calendar.js:70 + msgctxt "event list time" + msgid "All Day" + msgstr "종일" + + #. Translators: Shown in calendar event list, if 24h format, +-#. \u2236 is a ratio character, similar to : */ +-#: ../js/ui/calendar.js:73 ++#. \u2236 is a ratio character, similar to : ++#: ../js/ui/calendar.js:77 + msgctxt "event list time" +-msgid "%H∶%M" +-msgstr "%H∶%M" ++msgid "%H\\u2236%M" ++msgstr "" + + #. Translators: Shown in calendar event list, if 12h format, + #. \u2236 is a ratio character, similar to : and \u2009 is +-#. a thin space */ +-#: ../js/ui/calendar.js:82 ++#. a thin space ++#: ../js/ui/calendar.js:86 + msgctxt "event list time" +-msgid "%l∶%M %p" +-msgstr "%p %l∶%M" ++msgid "%l\\u2236%M\\u2009%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:113 ++#. ++#: ../js/ui/calendar.js:100 + msgctxt "grid sunday" + msgid "S" + msgstr "일" + +-#. Translators: Calendar grid abbreviation for Monday */ +-#: ../js/ui/calendar.js:115 ++#. Translators: Calendar grid abbreviation for Monday ++#: ../js/ui/calendar.js:102 + msgctxt "grid monday" + msgid "M" + msgstr "월" + +-#. Translators: Calendar grid abbreviation for Tuesday */ +-#: ../js/ui/calendar.js:117 ++#. Translators: Calendar grid abbreviation for Tuesday ++#: ../js/ui/calendar.js:104 + msgctxt "grid tuesday" + msgid "T" + msgstr "화" + +-#. Translators: Calendar grid abbreviation for Wednesday */ +-#: ../js/ui/calendar.js:119 ++#. Translators: Calendar grid abbreviation for Wednesday ++#: ../js/ui/calendar.js:106 + msgctxt "grid wednesday" + msgid "W" + msgstr "수" + +-#. Translators: Calendar grid abbreviation for Thursday */ +-#: ../js/ui/calendar.js:121 ++#. Translators: Calendar grid abbreviation for Thursday ++#: ../js/ui/calendar.js:108 + msgctxt "grid thursday" + msgid "T" + msgstr "목" + +-#. Translators: Calendar grid abbreviation for Friday */ +-#: ../js/ui/calendar.js:123 ++#. Translators: Calendar grid abbreviation for Friday ++#: ../js/ui/calendar.js:110 + msgctxt "grid friday" + msgid "F" + msgstr "금" + +-#. Translators: Calendar grid abbreviation for Saturday */ +-#: ../js/ui/calendar.js:125 ++#. Translators: Calendar grid abbreviation for Saturday ++#: ../js/ui/calendar.js:112 + msgctxt "grid saturday" + msgid "S" + msgstr "토" +@@ -493,86 +501,86 @@ + #. * 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:138 ++#. ++#: ../js/ui/calendar.js:125 + msgctxt "list sunday" + msgid "Su" + msgstr "일" + +-#. Translators: Event list abbreviation for Monday */ +-#: ../js/ui/calendar.js:140 ++#. Translators: Event list abbreviation for Monday ++#: ../js/ui/calendar.js:127 + msgctxt "list monday" + msgid "M" + msgstr "월" + +-#. Translators: Event list abbreviation for Tuesday */ +-#: ../js/ui/calendar.js:142 ++#. Translators: Event list abbreviation for Tuesday ++#: ../js/ui/calendar.js:129 + msgctxt "list tuesday" + msgid "T" + msgstr "화" + +-#. Translators: Event list abbreviation for Wednesday */ +-#: ../js/ui/calendar.js:144 ++#. Translators: Event list abbreviation for Wednesday ++#: ../js/ui/calendar.js:131 + msgctxt "list wednesday" + msgid "W" + msgstr "수" + +-#. Translators: Event list abbreviation for Thursday */ +-#: ../js/ui/calendar.js:146 ++#. Translators: Event list abbreviation for Thursday ++#: ../js/ui/calendar.js:133 + msgctxt "list thursday" + msgid "Th" + msgstr "목" + +-#. Translators: Event list abbreviation for Friday */ +-#: ../js/ui/calendar.js:148 ++#. Translators: Event list abbreviation for Friday ++#: ../js/ui/calendar.js:135 + msgctxt "list friday" + msgid "F" + msgstr "금" + +-#. Translators: Event list abbreviation for Saturday */ +-#: ../js/ui/calendar.js:150 ++#. Translators: Event list abbreviation for Saturday ++#: ../js/ui/calendar.js:137 + msgctxt "list saturday" + msgid "S" + msgstr "토" + +-#: ../js/ui/calendar.js:453 ++#: ../js/ui/calendar.js:462 + msgid "Previous month" + msgstr "이전 달" + +-#: ../js/ui/calendar.js:463 ++#: ../js/ui/calendar.js:472 + msgid "Next month" + msgstr "다음 달" + +-#. Translators: Text to show if there are no events */ +-#: ../js/ui/calendar.js:781 ++#. Translators: Text to show if there are no events ++#: ../js/ui/calendar.js:811 + msgid "Nothing Scheduled" + msgstr "일정이 없습니다" + +-#. Translators: Shown on calendar heading when selected day occurs on current year */ +-#: ../js/ui/calendar.js:799 ++#. Translators: Shown on calendar heading when selected day occurs on current year ++#: ../js/ui/calendar.js:827 + msgctxt "calendar heading" + msgid "%A, %B %d" + msgstr "%B %d일 %A" + +-#. Translators: Shown on calendar heading when selected day occurs on different year */ +-#: ../js/ui/calendar.js:802 ++#. Translators: Shown on calendar heading when selected day occurs on different year ++#: ../js/ui/calendar.js:830 + msgctxt "calendar heading" + msgid "%A, %B %d, %Y" + msgstr "%Y년 %B %d일 %A" + +-#: ../js/ui/calendar.js:813 ++#: ../js/ui/calendar.js:840 + msgid "Today" + msgstr "오늘" + +-#: ../js/ui/calendar.js:817 ++#: ../js/ui/calendar.js:844 + msgid "Tomorrow" + msgstr "내일" + +-#: ../js/ui/calendar.js:828 ++#: ../js/ui/calendar.js:855 + msgid "This week" + msgstr "이번주" + +-#: ../js/ui/calendar.js:836 ++#: ../js/ui/calendar.js:863 + msgid "Next week" + msgstr "다음주" + +@@ -589,7 +597,7 @@ + msgstr "이동식 장치" + + #: ../js/ui/components/autorunManager.js:596 +-#, javascript-format ++#, c-format + msgid "Open with %s" + msgstr "%s 프로그램으로 열기" + +@@ -610,6 +618,7 @@ + msgid "Connect" + msgstr "연결" + ++#. Cisco LEAP + #: ../js/ui/components/networkAgent.js:231 + #: ../js/ui/components/networkAgent.js:243 + #: ../js/ui/components/networkAgent.js:271 +@@ -618,6 +627,7 @@ + msgid "Password: " + msgstr "암호: " + ++#. static WEP + #: ../js/ui/components/networkAgent.js:236 + msgid "Key: " + msgstr "키: " +@@ -639,7 +649,7 @@ + msgstr "무선 네트워크에서 인증이 필요합니다" + + #: ../js/ui/components/networkAgent.js:319 +-#, javascript-format ++#, c-format + msgid "" + "Passwords or encryption keys are required to access the wireless network " + "“%s”." +@@ -674,7 +684,7 @@ + msgstr "휴대전화 네트워크 암호" + + #: ../js/ui/components/networkAgent.js:346 +-#, javascript-format ++#, c-format + msgid "A password is required to connect to “%s”." + msgstr "“%s”에 연결하려면 암호가 필요합니다." + +@@ -693,19 +703,23 @@ + #. Translators: "that didn't work" refers to the fact that the + #. * requested authentication was not gained; this can happen + #. * because of an authentication error (like invalid password), +-#. * for instance. */ ++#. * for instance. + #: ../js/ui/components/polkitAgent.js:271 ../js/ui/shellMountOperation.js:383 + msgid "Sorry, that didn't work. Please try again." + msgstr "죄송합니다. 동작하지 않았습니다. 다시 시도하십시오." + ++#. FIXME: We don't have a 'chat room' icon (bgo #653737) use ++#. system-users for now as Empathy does. + #: ../js/ui/components/telepathyClient.js:240 + msgid "Invitation" + msgstr "초대" + ++#. We got the TpContact + #: ../js/ui/components/telepathyClient.js:300 + msgid "Call" + msgstr "호출" + ++#. We got the TpContact + #: ../js/ui/components/telepathyClient.js:316 + msgid "File Transfer" + msgstr "파일 전송" +@@ -722,87 +736,96 @@ + msgid "Mute" + msgstr "음소거" + +-#. Translators: Time in 24h format */ ++#. Translators: Time in 24h format + #: ../js/ui/components/telepathyClient.js:953 +-msgid "%H∶%M" +-msgstr "%H∶%M" ++msgid "%H\\u2236%M" ++msgstr "" + + #. Translators: this is the word "Yesterday" followed by a +-#. time string in 24h format. i.e. "Yesterday, 14:30" */ ++#. time string in 24h format. i.e. "Yesterday, 14:30" + #: ../js/ui/components/telepathyClient.js:960 +-msgid "Yesterday, %H∶%M" ++#, fuzzy, no-c-format ++msgid "Yesterday, %H\\u2236%M" + msgstr "어제, %H:%M" + + #. Translators: this is the week day name followed by a time +-#. string in 24h format. i.e. "Monday, 14:30" */ ++#. string in 24h format. i.e. "Monday, 14:30" + #: ../js/ui/components/telepathyClient.js:967 +-msgid "%A, %H∶%M" ++#, fuzzy, no-c-format ++msgid "%A, %H\\u2236%M" + msgstr "%A, %H:%M" + + #. Translators: this is the month name and day number + #. followed by a time string in 24h format. +-#. i.e. "May 25, 14:30" */ ++#. i.e. "May 25, 14:30" + #: ../js/ui/components/telepathyClient.js:974 +-msgid "%B %d, %H∶%M" ++#, fuzzy, no-c-format ++msgid "%B %d, %H\\u2236%M" + msgstr "%B %d일, %H∶%M" + + #. Translators: this is the month name, day number, year + #. number followed by a time string in 24h format. +-#. i.e. "May 25 2012, 14:30" */ ++#. i.e. "May 25 2012, 14:30" + #: ../js/ui/components/telepathyClient.js:980 +-msgid "%B %d %Y, %H∶%M" ++#, fuzzy, no-c-format ++msgid "%B %d %Y, %H\\u2236%M" + msgstr "%Y년 %B %d일, %H∶%M" + +-#. Translators: Time in 24h format */ ++#. Translators: Time in 24h format + #: ../js/ui/components/telepathyClient.js:986 +-msgid "%l∶%M %p" ++#, fuzzy ++msgid "%l\\u2236%M %p" + msgstr "%p %l∶%M" + + #. Translators: this is the word "Yesterday" followed by a +-#. time string in 12h format. i.e. "Yesterday, 2:30 pm" */ ++#. time string in 12h format. i.e. "Yesterday, 2:30 pm" + #: ../js/ui/components/telepathyClient.js:993 +-msgid "Yesterday, %l∶%M %p" ++#, fuzzy, no-c-format ++msgid "Yesterday, %l\\u2236%M %p" + msgstr "어제, %p %l∶%M" + + #. Translators: this is the week day name followed by a time +-#. string in 12h format. i.e. "Monday, 2:30 pm" */ ++#. string in 12h format. i.e. "Monday, 2:30 pm" + #: ../js/ui/components/telepathyClient.js:1000 +-msgid "%A, %l∶%M %p" ++#, fuzzy, no-c-format ++msgid "%A, %l\\u2236%M %p" + msgstr "%A, %p %l∶%M" + + #. Translators: this is the month name and day number + #. followed by a time string in 12h format. +-#. i.e. "May 25, 2:30 pm" */ ++#. i.e. "May 25, 2:30 pm" + #: ../js/ui/components/telepathyClient.js:1007 +-msgid "%B %d, %l∶%M %p" ++#, fuzzy, no-c-format ++msgid "%B %d, %l\\u2236%M %p" + msgstr "%B %d일, %p %l∶%M" + + #. Translators: this is the month name, day number, year + #. number followed by a time string in 12h format. +-#. i.e. "May 25 2012, 2:30 pm"*/ ++#. i.e. "May 25 2012, 2:30 pm" + #: ../js/ui/components/telepathyClient.js:1013 +-msgid "%B %d %Y, %l∶%M %p" ++#, fuzzy, no-c-format ++msgid "%B %d %Y, %l\\u2236%M %p" + msgstr "%Y년 %B %d일, %p %l∶%M" + + #. Translators: this is the other person changing their old IM name to their new +-#. IM name. */ ++#. IM name. + #: ../js/ui/components/telepathyClient.js:1045 +-#, javascript-format ++#, c-format + msgid "%s is now known as %s" + msgstr "%s의 대화명이 이제 %s입니다" + + #. translators: argument is a room name like +-#. * room@jabber.org for example. */ ++#. * room@jabber.org for example. + #: ../js/ui/components/telepathyClient.js:1149 +-#, javascript-format ++#, c-format + msgid "Invitation to %s" + msgstr "%s에 초대" + + #. translators: first argument is the name of a contact and the second + #. * one the name of a room. "Alice is inviting you to join room@jabber.org +-#. * for example. */ ++#. * for example. + #: ../js/ui/components/telepathyClient.js:1157 +-#, javascript-format ++#, c-format + msgid "%s is inviting you to join %s" + msgstr "%s 님이 %s에 입장하도록 초대합니다" + +@@ -819,19 +842,19 @@ + msgid "Accept" + msgstr "허용" + +-#. translators: argument is a contact name like Alice for example. */ ++#. translators: argument is a contact name like Alice for example. + #: ../js/ui/components/telepathyClient.js:1184 +-#, javascript-format ++#, c-format + msgid "Video call from %s" + msgstr "%s에서 영상 호출" + +-#. translators: argument is a contact name like Alice for example. */ ++#. translators: argument is a contact name like Alice for example. + #: ../js/ui/components/telepathyClient.js:1187 +-#, javascript-format ++#, c-format + msgid "Call from %s" + msgstr "%s에서 호출" + +-#. translators: this is a button label (verb), not a noun */ ++#. translators: this is a button label (verb), not a noun + #: ../js/ui/components/telepathyClient.js:1201 + msgid "Answer" + msgstr "응답" +@@ -840,15 +863,15 @@ + #. * the contact's alias and the second one is the + #. * file name. The string will be something + #. * like: "Alice is sending you test.ogg" +-#. */ ++#. + #: ../js/ui/components/telepathyClient.js:1222 +-#, javascript-format ++#, c-format + msgid "%s is sending you %s" + msgstr "%s님이 %s 파일을 보냅니다" + +-#. To translators: The parameter is the contact's alias */ ++#. To translators: The parameter is the contact's alias + #: ../js/ui/components/telepathyClient.js:1251 +-#, javascript-format ++#, c-format + msgid "%s would like permission to see when you are online" + msgstr "연결 상태인지 알 수 있는 권한을 %s님이 요청합니다" + +@@ -946,18 +969,16 @@ + msgid "" + "The length of the server certificate, or the depth of the server certificate " + "chain, exceed the limits imposed by the cryptography library" +-msgstr "" +-"서버 인증서의 길이, 또는 서버 인증서 체인의 단계가 암호화 라이브러리의 제한" +-"을 넘어갑니다." ++msgstr "서버 인증서의 길이, 또는 서버 인증서 체인의 단계가 암호화 라이브러리의 제한을 넘어갑니다." + + #: ../js/ui/components/telepathyClient.js:1383 + msgid "Internal error" + msgstr "내부 오류" + + #. translators: argument is the account name, like +-#. * name@jabber.org for example. */ ++#. * name@jabber.org for example. + #: ../js/ui/components/telepathyClient.js:1393 +-#, javascript-format ++#, c-format + msgid "Unable to connect to %s" + msgstr "%s에 연결할 수 없습니다" + +@@ -969,7 +990,7 @@ + msgid "Unknown reason" + msgstr "알 수 없는 이유" + +-#: ../js/ui/ctrlAltTab.js:29 ../js/ui/viewSelector.js:154 ++#: ../js/ui/ctrlAltTab.js:29 ../js/ui/viewSelector.js:155 + msgid "Windows" + msgstr "창" + +@@ -977,31 +998,33 @@ + msgid "Show Applications" + msgstr "프로그램 표시" + ++#. Translators: this is the name of the dock/favorites area on ++#. the left of the overview + #: ../js/ui/dash.js:445 + msgid "Dash" + msgstr "대시보드" + +-#: ../js/ui/dateMenu.js:96 ++#: ../js/ui/dateMenu.js:97 + msgid "Open Calendar" + msgstr "달력 열기" + +-#: ../js/ui/dateMenu.js:100 ++#: ../js/ui/dateMenu.js:101 + msgid "Open Clocks" + msgstr "시계 열기" + +-#: ../js/ui/dateMenu.js:107 ++#: ../js/ui/dateMenu.js:108 + msgid "Date & Time Settings" + 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:204 ++#. ++#: ../js/ui/dateMenu.js:132 + msgid "%A %B %e, %Y" + msgstr "%Y년 %B %e일 %A" + + #: ../js/ui/endSessionDialog.js:64 +-#, javascript-format ++#, c-format + msgctxt "title" + msgid "Log Out %s" + msgstr "%s 로그아웃" +@@ -1012,13 +1035,13 @@ + msgstr "로그아웃" + + #: ../js/ui/endSessionDialog.js:67 +-#, javascript-format ++#, c-format + msgid "%s will be logged out automatically in %d second." + msgid_plural "%s will be logged out automatically in %d seconds." + msgstr[0] "%s 사용자가 %d초 뒤에 자동으로 로그아웃합니다." + + #: ../js/ui/endSessionDialog.js:72 +-#, javascript-format ++#, c-format + msgid "You will be logged out automatically in %d second." + msgid_plural "You will be logged out automatically in %d seconds." + msgstr[0] "%d초 뒤에 자동으로 로그아웃합니다." +@@ -1039,7 +1062,7 @@ + msgstr "업데이트 설치 및 컴퓨터 끄기" + + #: ../js/ui/endSessionDialog.js:87 +-#, javascript-format ++#, c-format + msgid "The system will power off automatically in %d second." + msgid_plural "The system will power off automatically in %d seconds." + msgstr[0] "시스템이 %d초 뒤에 자동으로 꺼집니다." +@@ -1065,7 +1088,7 @@ + msgstr "다시 시작" + + #: ../js/ui/endSessionDialog.js:105 +-#, javascript-format ++#, c-format + msgid "The system will restart automatically in %d second." + msgid_plural "The system will restart automatically in %d seconds." + msgstr[0] "시스템이 %d초 뒤에 자동으로 다시 시작합니다." +@@ -1076,8 +1099,9 @@ + msgstr "다시 시작 및 업데이트 설치" + + #: ../js/ui/endSessionDialog.js:121 +-#, javascript-format +-msgid "The system will automatically restart and install updates in %d second." ++#, c-format ++msgid "" ++"The system will automatically restart and install updates in %d second." + msgid_plural "" + "The system will automatically restart and install updates in %d seconds." + msgstr[0] "시스템이 %d초 뒤에 자동으로 다시 시작하고 업데이트를 설치합니다." +@@ -1109,15 +1133,15 @@ + msgid "Other users are logged in." + msgstr "다른 사용자가 로그인 중입니다." + +-#. Translators: Remote here refers to a remote session, like a ssh login */ ++#. Translators: Remote here refers to a remote session, like a ssh login + #: ../js/ui/endSessionDialog.js:640 +-#, javascript-format ++#, c-format + msgid "%s (remote)" + msgstr "%s (원격)" + +-#. Translators: Console here refers to a tty like a VT console */ ++#. Translators: Console here refers to a tty like a VT console + #: ../js/ui/endSessionDialog.js:643 +-#, javascript-format ++#, c-format + msgid "%s (console)" + msgstr "%s (콘솔)" + +@@ -1126,100 +1150,116 @@ + msgstr "설치" + + #: ../js/ui/extensionDownloader.js:204 +-#, javascript-format ++#, c-format + msgid "Download and install “%s” from extensions.gnome.org?" ++msgstr "extensions.gnome.org 사이트에서 “%s” 확장을 다운로드해 설치하시겠습니까?" ++ ++#: ../js/ui/extensionSystem.js:314 ++#, fuzzy, c-format ++msgid "%d extension is out of date" ++msgid_plural "%d extensions are out of date" ++msgstr[0] "확장을 설치하지 않았습니다" ++ ++#: ../js/ui/extensionSystem.js:317 ++msgid "You can visit http://extensions.gnome.org for updates" + msgstr "" +-"extensions.gnome.org 사이트에서 “%s” 확장을 다운로드해 설치하시겠습니까?" + +-#: ../js/ui/keyboard.js:692 ../js/ui/status/keyboard.js:523 ++#: ../js/ui/keyboard.js:700 ../js/ui/status/keyboard.js:535 + msgid "Keyboard" + msgstr "키보드" + +-#: ../js/ui/lookingGlass.js:643 ++#: ../js/ui/lookingGlass.js:645 + msgid "No extensions installed" + msgstr "확장을 설치하지 않았습니다" + +-#. Translators: argument is an extension UUID. */ +-#: ../js/ui/lookingGlass.js:697 +-#, javascript-format ++#. Translators: argument is an extension UUID. ++#: ../js/ui/lookingGlass.js:699 ++#, c-format + msgid "%s has not emitted any errors." + msgstr "%s에서 발생한 에러가 없습니다." + +-#: ../js/ui/lookingGlass.js:703 ++#: ../js/ui/lookingGlass.js:705 + msgid "Hide Errors" + msgstr "오류 숨기기" + +-#: ../js/ui/lookingGlass.js:707 ../js/ui/lookingGlass.js:767 ++#: ../js/ui/lookingGlass.js:709 ../js/ui/lookingGlass.js:769 + msgid "Show Errors" + msgstr "오류 보이기" + +-#: ../js/ui/lookingGlass.js:716 ../js/ui/status/location.js:71 ++#: ../js/ui/lookingGlass.js:718 ../js/ui/status/location.js:71 + #: ../js/ui/status/location.js:176 + msgid "Enabled" + msgstr "사용" + + #. Translators: this is for a network device that cannot be activated +-#. because it's disabled by rfkill (airplane mode) */ ++#. because it's disabled by rfkill (airplane mode) + #. translators: + #. * The device has been disabled +-#: ../js/ui/lookingGlass.js:719 ../js/ui/status/location.js:179 ++#: ../js/ui/lookingGlass.js:721 ../js/ui/status/location.js:179 + #: ../js/ui/status/network.js:592 ../src/gvc/gvc-mixer-control.c:1830 + msgid "Disabled" + msgstr "사용 않음" + +-#: ../js/ui/lookingGlass.js:721 ++#: ../js/ui/lookingGlass.js:723 + msgid "Error" + msgstr "오류" + +-#: ../js/ui/lookingGlass.js:723 ++#: ../js/ui/lookingGlass.js:725 + msgid "Out of date" + msgstr "오래 된 버전" + +-#: ../js/ui/lookingGlass.js:725 ++#: ../js/ui/lookingGlass.js:727 + msgid "Downloading" + msgstr "다운로드 중" + +-#: ../js/ui/lookingGlass.js:749 ++#: ../js/ui/lookingGlass.js:751 + msgid "View Source" + msgstr "소스 보기" + +-#: ../js/ui/lookingGlass.js:758 ++#: ../js/ui/lookingGlass.js:760 + msgid "Web Page" + msgstr "웹페이지" + +-#: ../js/ui/messageTray.js:1326 ++#: ../js/ui/messageTray.js:1334 + msgid "Open" + msgstr "열기" + +-#: ../js/ui/messageTray.js:1333 ++#: ../js/ui/messageTray.js:1341 + msgid "Remove" + msgstr "제거" + +-#: ../js/ui/messageTray.js:1630 ++#: ../js/ui/messageTray.js:1638 + msgid "Notifications" + msgstr "알림" + +-#: ../js/ui/messageTray.js:1637 ++#: ../js/ui/messageTray.js:1645 + msgid "Clear Messages" + msgstr "메시지 지우기" + +-#: ../js/ui/messageTray.js:1656 ++#: ../js/ui/messageTray.js:1664 + msgid "Notification Settings" + msgstr "알림 설정" + +-#: ../js/ui/messageTray.js:1709 ++#: ../js/ui/messageTray.js:1717 + msgid "Tray Menu" + msgstr "트레이 메뉴" + +-#: ../js/ui/messageTray.js:1926 ++#: ../js/ui/messageTray.js:1941 + msgid "No Messages" + msgstr "메시지 없음" + +-#: ../js/ui/messageTray.js:1968 ++#: ../js/ui/messageTray.js:1988 + msgid "Message Tray" + msgstr "메시지 트레이" + +-#: ../js/ui/messageTray.js:2971 ++#: ../js/ui/messageTray.js:2447 ../js/ui/overviewControls.js:483 ++#: ../js/ui/screenShield.js:151 ++#, c-format ++msgid "%d new message" ++msgid_plural "%d new messages" ++msgstr[0] "새 메시지 %d개" ++ ++#: ../js/ui/messageTray.js:3017 + msgid "System Information" + msgstr "시스템 정보" + +@@ -1228,12 +1268,6 @@ + msgid "Unknown" + msgstr "알 수 없음" + +-#: ../js/ui/overviewControls.js:482 ../js/ui/screenShield.js:151 +-#, javascript-format +-msgid "%d new message" +-msgid_plural "%d new messages" +-msgstr[0] "새 메시지 %d개" +- + #: ../js/ui/overview.js:84 + msgid "Undo" + msgstr "실행 취소" +@@ -1245,7 +1279,7 @@ + #. Translators: this is the text displayed + #. in the search entry when no search is + #. active; it should not exceed ~30 +-#. characters. */ ++#. characters. + #: ../js/ui/overview.js:246 + msgid "Type to search…" + msgstr "검색하려면 입력하십시오…" +@@ -1255,15 +1289,20 @@ + msgstr "끝내기" + + #. Translators: If there is no suitable word for "Activities" +-#. in your language, you can use the word for "Overview". */ +-#: ../js/ui/panel.js:567 ++#. in your language, you can use the word for "Overview". ++#: ../js/ui/panel.js:574 + msgid "Activities" + msgstr "현재 활동" + +-#: ../js/ui/panel.js:918 ++#: ../js/ui/panel.js:925 + msgid "Top Bar" + 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:269 + msgid "toggle-switch-us" + msgstr "toggle-switch-intl" +@@ -1281,38 +1320,45 @@ + msgstr "다시 시작하는 중…" + + #. Translators: This is a time format for a date in +-#. long format */ ++#. long format + #: ../js/ui/screenShield.js:88 + msgid "%A, %B %d" + msgstr "%B %d일 %A" + + #: ../js/ui/screenShield.js:153 +-#, javascript-format ++#, c-format + msgid "%d new notification" + msgid_plural "%d new notifications" + msgstr[0] "새 알림 %d개" + +-#: ../js/ui/screenShield.js:472 ../js/ui/status/system.js:345 ++#: ../js/ui/screenShield.js:473 ../js/ui/status/system.js:345 + msgid "Lock" + msgstr "잠그기" + +-#: ../js/ui/screenShield.js:706 ++#: ../js/ui/screenShield.js:709 + msgid "GNOME needs to lock the screen" + msgstr "그놈에서 화면을 잠궈야 합니다" + +-#: ../js/ui/screenShield.js:833 ../js/ui/screenShield.js:1304 ++#. We could not become modal, so we can't activate the ++#. screenshield. The user is probably very upset at this ++#. point, but any application using global grabs is broken ++#. Just tell him to stop using this app ++#. ++#. XXX: another option is to kick the user into the gdm login ++#. screen, where we're not affected by grabs ++#: ../js/ui/screenShield.js:836 ../js/ui/screenShield.js:1312 + msgid "Unable to lock" + msgstr "잠글 수 없습니다" + +-#: ../js/ui/screenShield.js:834 ../js/ui/screenShield.js:1305 ++#: ../js/ui/screenShield.js:837 ../js/ui/screenShield.js:1313 + msgid "Lock was blocked by an application" + msgstr "프로그램이 잠금을 막았습니다" + +-#: ../js/ui/search.js:594 ++#: ../js/ui/search.js:611 + msgid "Searching…" + msgstr "검색하는 중…" + +-#: ../js/ui/search.js:596 ++#: ../js/ui/search.js:613 + msgid "No results." + msgstr "결과가 없습니다." + +@@ -1384,6 +1430,8 @@ + msgid "Large Text" + msgstr "큰 글자" + ++#. The Bluetooth menu only appears when Bluetooth is in use, ++#. so just statically build it with a "Turn Off" menu item. + #: ../js/ui/status/bluetooth.js:49 + msgid "Bluetooth" + msgstr "블루투스" +@@ -1400,7 +1448,7 @@ + msgstr "블루투스 설정" + + #: ../js/ui/status/bluetooth.js:104 +-#, javascript-format ++#, c-format + msgid "%d Connected Device" + msgid_plural "%d Connected Devices" + msgstr[0] "연결된 장치 %d개" +@@ -1413,7 +1461,7 @@ + msgid "Brightness" + msgstr "밝기" + +-#: ../js/ui/status/keyboard.js:547 ++#: ../js/ui/status/keyboard.js:559 + msgid "Show Keyboard Layout" + msgstr "키보드 배치 표시" + +@@ -1451,7 +1499,7 @@ + msgstr "연결됨" + + #. Translators: this is for network devices that are physically present but are not +-#. under NetworkManager's control (and thus cannot be used in the menu) */ ++#. under NetworkManager's control (and thus cannot be used in the menu) + #: ../js/ui/status/network.js:463 + msgid "Unmanaged" + msgstr "관리되지 않음" +@@ -1464,19 +1512,19 @@ + msgid "Connecting" + msgstr "연결하는 중" + +-#. Translators: this is for network connections that require some kind of key or password */ ++#. Translators: this is for network connections that require some kind of key or password + #: ../js/ui/status/network.js:474 + msgid "Authentication required" + msgstr "인증 필요" + + #. Translators: this is for devices that require some kind of firmware or kernel +-#. module, which is missing */ ++#. module, which is missing + #: ../js/ui/status/network.js:482 + msgid "Firmware missing" + msgstr "펌웨어 없음" + + #. Translators: this is for a network device that cannot be activated (for example it +-#. is disabled by rfkill, or it has no coverage */ ++#. is disabled by rfkill, or it has no coverage + #: ../js/ui/status/network.js:486 + msgid "Unavailable" + msgstr "사용 불가" +@@ -1561,7 +1609,7 @@ + msgid "connecting..." + msgstr "연결하는 중..." + +-#. Translators: this is for network connections that require some kind of key or password */ ++#. Translators: this is for network connections that require some kind of key or password + #: ../js/ui/status/network.js:1412 + msgid "authentication required" + msgstr "인증 필요" +@@ -1598,18 +1646,22 @@ + msgid "Fully Charged" + msgstr "완전 충전" + ++#. 0 is reported when UPower does not have enough data ++#. to estimate battery life + #: ../js/ui/status/power.js:72 ../js/ui/status/power.js:78 + msgid "Estimating…" + msgstr "예상치 계산 중…" + ++#. Translators: this is : Remaining () + #: ../js/ui/status/power.js:86 +-#, javascript-format +-msgid "%d∶%02d Remaining (%d%%)" ++#, fuzzy, c-format ++msgid "%d\\u2236%02d Remaining (%d%%)" + msgstr "%d∶%02d 남음(%d%%)" + ++#. Translators: this is : Until Full () + #: ../js/ui/status/power.js:91 +-#, javascript-format +-msgid "%d∶%02d Until Full (%d%%)" ++#, fuzzy, c-format ++msgid "%d\\u2236%02d Until Full (%d%%)" + msgstr "충전까지 %d:%02d(%d%%)" + + #: ../js/ui/status/power.js:119 +@@ -1620,6 +1672,9 @@ + msgid "Battery" + msgstr "배터리" + ++#. The menu only appears when airplane mode is on, so just ++#. statically build it as if it was on, rather than dynamically ++#. changing the menu contents. + #: ../js/ui/status/rfkill.js:83 + msgid "Airplane Mode" + msgstr "비행기 모드" +@@ -1670,16 +1725,16 @@ + msgid "Unlock Window" + msgstr "창 잠금 풀기" + +-#: ../js/ui/viewSelector.js:158 ++#: ../js/ui/viewSelector.js:159 + msgid "Applications" + msgstr "프로그램" + +-#: ../js/ui/viewSelector.js:162 ++#: ../js/ui/viewSelector.js:163 + msgid "Search" + msgstr "검색" + + #: ../js/ui/windowAttentionHandler.js:19 +-#, javascript-format ++#, c-format + msgid "“%s” is ready" + msgstr "“%s” 프로그램이 준비되었습니다" + +@@ -1689,7 +1744,7 @@ + + #. Translators: this and the following message should be limited in lenght, + #. to avoid ellipsizing the labels. +-#. */ ++#. + #: ../js/ui/windowManager.js:84 + msgid "Revert Settings" + msgstr "설정 되돌리기" +@@ -1699,7 +1754,7 @@ + msgstr "바뀐 사항 유지" + + #: ../js/ui/windowManager.js:107 +-#, javascript-format ++#, c-format + msgid "Settings changes will revert in %d second" + msgid_plural "Settings changes will revert in %d seconds" + msgstr[0] "바뀐 설정을 %d초 후에 되돌립니다" +@@ -1769,19 +1824,19 @@ + msgstr "시스템 소리" + + # 커맨드라인 옵션 설명 +-#: ../src/main.c:373 ++#: ../src/main.c:381 + msgid "Print version" + msgstr "버전을 표시합니다" + +-#: ../src/main.c:379 ++#: ../src/main.c:387 + msgid "Mode used by GDM for login screen" + msgstr "GDM에서 로그인 화면에 사용할 모드" + +-#: ../src/main.c:385 ++#: ../src/main.c:393 + msgid "Use a specific mode, e.g. \"gdm\" for login screen" + msgstr "특정 모드 사용. 예를 들어 로그인 화면에 대해 \"gdm\"" + +-#: ../src/main.c:391 ++#: ../src/main.c:399 + msgid "List possible modes" + msgstr "가능한 모드 목록 표시" + +@@ -1801,42 +1856,3 @@ + #: ../src/shell-polkit-authentication-agent.c:346 + msgid "Authentication dialog was dismissed by the user" + msgstr "인증 대화 창을 사용자가 닫았습니다" +- +-#~ msgid "The maximum accuracy level of location." +-#~ msgstr "위치의 정확도 단계." +- +-#~ msgid "" +-#~ "Configures the maximum level of location accuracy applications are " +-#~ "allowed to see. Valid options are 'off' (disable location tracking), " +-#~ "'country', 'city', 'neighborhood', 'street', and 'exact' (typically " +-#~ "requires GPS receiver). Please keep in mind that this only controls what " +-#~ "GeoClue will allow applications to see and they can find user's location " +-#~ "on their own using network resources (albeit with street-level accuracy " +-#~ "at best)." +-#~ msgstr "" +-#~ "프로그램에서 확인할 수 있는 위치의 정확도 최대 단계를 설정합니다. 쓸 수 있" +-#~ "는 값은 'off'(위치 추적 기능 사용하지 않음), 'country'(국가), 'city'(도" +-#~ "시), 'neighborhood'(이웃), 'street'(길), 'exact'(정확한 위치, 보통 GPS 리" +-#~ "시버 필요)입니다. 단 이 옵션은 GeoClue를 사용하는 프로그램이 쓸 수 있는 위" +-#~ "치 정보만 설정합니다. 그래서 응용 프로그램이 자체적으로 네트워크를 사용해 " +-#~ "사용자 위치를 알아낼 수는 있습니다(이 경우 보통 길 위치 정도만 알아낼 수 " +-#~ "있지만)." +- +-#~ msgid "Arrangement of buttons on the titlebar" +-#~ msgstr "제목 표시줄의 단추 순서" +- +-#~ msgid "" +-#~ "This key overrides the key in org.gnome.desktop.wm.preferences when " +-#~ "running GNOME Shell." +-#~ msgstr "" +-#~ "그놈 셸을 실행할 때 org.gnome.desktop.wm.preferences의 키 대신 사용됩니다." +- +-#~ msgid "Extension" +-#~ msgstr "확장" +- +-#~ msgid "Select an extension to configure using the combobox above." +-#~ msgstr "위의 콤보상자를 사용해 설정할 확장을 선택하십시오." +- +-# FIXME: 그냥 직접 포맷을 번역하지 왜 이렇게? +-#~ msgid "calendar:MY" +-#~ msgstr "calendar:YM" +diff -urN gnome-shell-3.14.4/po/pt_BR.po gnome-shell-3.14.4_localized/po/pt_BR.po +--- gnome-shell-3.14.4/po/pt_BR.po 2015-03-23 23:39:15.000000000 +0530 ++++ gnome-shell-3.14.4_localized/po/pt_BR.po 2016-03-11 22:07:50.677000000 +0530 +@@ -15,22 +15,22 @@ + # Rafael Ferreira , 2013, 2014. + # Georges Basile Stavracas Neto , 2014. + # Enrico Nicoletto , 2013, 2014. +-# ++# msuppesd , 2016. #zanata ++# pnemade , 2016. #zanata + msgid "" + msgstr "" + "Project-Id-Version: gnome-shell\n" +-"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug.cgi?product=gnome-" +-"shell&keywords=I18N+L10N&component=general\n" +-"POT-Creation-Date: 2014-09-12 19:36+0000\n" +-"PO-Revision-Date: 2014-09-12 22:49-0300\n" +-"Last-Translator: Enrico Nicoletto \n" +-"Language-Team: Brazilian Portuguese \n" +-"Language: pt_BR\n" ++"Report-Msgid-Bugs-To: \n" ++"POT-Creation-Date: 2016-02-10 14:02+0530\n" + "MIME-Version: 1.0\n" + "Content-Type: text/plain; charset=UTF-8\n" + "Content-Transfer-Encoding: 8bit\n" ++"PO-Revision-Date: 2016-03-09 08:26+0000\n" ++"Last-Translator: msuppesd \n" ++"Language-Team: Brazilian Portuguese \n" ++"Language: pt-BR\n" + "Plural-Forms: nplurals=2; plural=(n > 1);\n" +-"X-Generator: Poedit 1.6.3\n" ++"X-Generator: Zanata 3.8.2\n" + "X-Project-Style: gnome\n" + + #: ../data/50-gnome-shell-system.xml.in.h:1 +@@ -210,6 +210,7 @@ + #: ../data/org.gnome.shell.gschema.xml.in.in.h:22 + msgid "" + "Keybinding to open the \"Show Applications\" view of the Activities Overview." ++"" + msgstr "" + "Atalho de teclado para abrir a visualização \"Mostrar aplicativos\" do " + "panorama de atividades." +@@ -228,7 +229,8 @@ + + #: ../data/org.gnome.shell.gschema.xml.in.in.h:26 + msgid "Keybinding to toggle the visibility of the message tray." +-msgstr "Atalho de teclado para alternar a visibilidade da área de notificação." ++msgstr "" ++"Atalho de teclado para alternar a visibilidade da área de notificação." + + #: ../data/org.gnome.shell.gschema.xml.in.in.h:27 + msgid "Keybinding to focus the active notification" +@@ -241,7 +243,8 @@ + # Tween pode significar uma contração de Between ou se referir a um termo "in-between" usado em animação gráfica. -- Enrico + #: ../data/org.gnome.shell.gschema.xml.in.in.h:29 + msgid "" +-"Keybinding that pauses and resumes all running tweens, for debugging purposes" ++"Keybinding that pauses and resumes all running tweens, for debugging " ++"purposes" + msgstr "" + "Atalho de teclado que pausa e continua todos os intermediários em execução, " + "a fim de depuração" +@@ -274,8 +277,8 @@ + #: ../data/org.gnome.shell.gschema.xml.in.in.h:35 + msgid "" + "Configures how the windows are shown in the switcher. Valid possibilities " +-"are 'thumbnail-only' (shows a thumbnail of the window), 'app-icon-" +-"only' (shows only the application icon) or 'both'." ++"are 'thumbnail-only' (shows a thumbnail of the window), 'app-icon-only' " ++"(shows only the application icon) or 'both'." + msgstr "" + "Configura como as janelas são mostradas no alternador. As possibilidades " + "válidas são 'thumbnail-only' (mostra uma miniatura da janela), 'app-icon-" +@@ -322,7 +325,7 @@ + msgstr "Portal cativo" + + #: ../js/extensionPrefs/main.js:123 +-#, javascript-format ++#, c-format + msgid "There was an error loading the preferences dialog for %s:" + msgstr "Ocorreu um erro ao carregar o dialogo de preferências para %s:" + +@@ -330,54 +333,68 @@ + msgid "GNOME Shell Extensions" + msgstr "Extensões do Shell do GNOME" + +-#: ../js/gdm/authPrompt.js:147 ../js/ui/components/networkAgent.js:143 ++#: ../js/gdm/authPrompt.js:159 ../js/ui/components/networkAgent.js:143 + #: ../js/ui/components/polkitAgent.js:166 ../js/ui/endSessionDialog.js:452 + #: ../js/ui/extensionDownloader.js:195 ../js/ui/shellMountOperation.js:399 + #: ../js/ui/status/network.js:915 + msgid "Cancel" + msgstr "Cancelar" + +-#: ../js/gdm/authPrompt.js:169 ../js/gdm/authPrompt.js:217 ++#: ../js/gdm/authPrompt.js:181 ../js/gdm/authPrompt.js:228 ++#: ../js/gdm/authPrompt.js:466 + msgid "Next" + msgstr "Próximo" + +-#: ../js/gdm/authPrompt.js:213 ../js/ui/shellMountOperation.js:403 ++#: ../js/gdm/authPrompt.js:224 ../js/ui/shellMountOperation.js:403 + #: ../js/ui/unlockDialog.js:59 + msgid "Unlock" + msgstr "Desbloquear" + +-#: ../js/gdm/authPrompt.js:215 ++#: ../js/gdm/authPrompt.js:226 + msgctxt "button" + msgid "Sign In" + msgstr "Entrar" + +-#: ../js/gdm/loginDialog.js:269 ++#: ../js/gdm/loginDialog.js:297 + msgid "Choose Session" + msgstr "Escolher sessão" + +-#: ../js/gdm/loginDialog.js:429 ++#. translators: this message is shown below the user list on the ++#. login screen. It can be activated to reveal an entry for ++#. manually entering the username. ++#: ../js/gdm/loginDialog.js:458 + msgid "Not listed?" + msgstr "Não está listado?" + +-#: ../js/gdm/loginDialog.js:614 +-#, javascript-format ++#. Translators: this message is shown below the username entry field ++#. to clue the user in on how to login to the local network realm ++#: ../js/gdm/loginDialog.js:859 ++#, c-format + msgid "(e.g., user or %s)" + msgstr "(ex.: usuário ou %s)" + +-#: ../js/gdm/loginDialog.js:619 ../js/ui/components/networkAgent.js:269 ++#. TTLS and PEAP are actually much more complicated, but this complication ++#. is not visible here since we only care about phase2 authentication ++#. (and don't even care of which one) ++#: ../js/gdm/loginDialog.js:864 ../js/ui/components/networkAgent.js:269 + #: ../js/ui/components/networkAgent.js:287 + msgid "Username: " + msgstr "Nome de usuário: " + +-#: ../js/gdm/loginDialog.js:922 ++#: ../js/gdm/loginDialog.js:1193 + msgid "Login Window" + msgstr "Janela de sessão" + +-#: ../js/gdm/util.js:323 ++#: ../js/gdm/util.js:344 + msgid "Authentication error" + msgstr "Erro de autenticação" + +-#: ../js/gdm/util.js:453 ++#. We don't show fingerprint messages directly since it's ++#. not the main auth service. Instead we use the messages ++#. as a cue to display our own message. ++#. Translators: this message is shown below the password entry field ++#. to indicate the user can swipe their finger instead ++#: ../js/gdm/util.js:483 + msgid "(or swipe finger)" + msgstr "(ou deslize o dedo)" + +@@ -385,58 +402,62 @@ + msgid "Command not found" + msgstr "Comando não encontrado" + ++#. Replace "Error invoking GLib.shell_parse_argv: " with ++#. something nicer + #: ../js/misc/util.js:148 + msgid "Could not parse command:" + msgstr "Não foi possível analisar comando:" + + #: ../js/misc/util.js:156 +-#, javascript-format ++#, c-format + msgid "Execution of “%s” failed:" + msgstr "A execução de \"%s\" falhou:" + ++#. TRANSLATORS: this is the title of the wifi captive portal login ++#. window, until we know the title of the actual login page + #: ../js/portalHelper/main.js:85 + msgid "Web Authentication Redirect" + msgstr "Redirecionamento para autenticação web" + +-#: ../js/ui/appDisplay.js:772 ++#: ../js/ui/appDisplay.js:773 + msgid "Frequently used applications will appear here" + msgstr "Aplicativos usados frequentemente vão aparecer aqui" + +-#: ../js/ui/appDisplay.js:883 ++#: ../js/ui/appDisplay.js:884 + msgid "Frequent" + msgstr "Frequente" + +-#: ../js/ui/appDisplay.js:890 ++#: ../js/ui/appDisplay.js:891 + msgid "All" + msgstr "Todos" + +-#: ../js/ui/appDisplay.js:1789 ++#: ../js/ui/appDisplay.js:1795 + msgid "New Window" + msgstr "Nova janela" + +-#: ../js/ui/appDisplay.js:1815 ../js/ui/dash.js:285 ++#: ../js/ui/appDisplay.js:1821 ../js/ui/dash.js:285 + msgid "Remove from Favorites" + msgstr "Remover dos favoritos" + +-#: ../js/ui/appDisplay.js:1821 ++#: ../js/ui/appDisplay.js:1827 + msgid "Add to Favorites" + msgstr "Adicionar aos favoritos" + +-#: ../js/ui/appDisplay.js:1830 ++#: ../js/ui/appDisplay.js:1836 + msgid "Show Details" + msgstr "Mostrar detalhes" + +-#: ../js/ui/appFavorites.js:124 +-#, javascript-format ++#: ../js/ui/appFavorites.js:133 ++#, c-format + msgid "%s has been added to your favorites." + msgstr "%s foi adicionado aos seus favoritos." + +-#: ../js/ui/appFavorites.js:158 +-#, javascript-format ++#: ../js/ui/appFavorites.js:167 ++#, c-format + msgid "%s has been removed from your favorites." + msgstr "%s foi removido dos seus favoritos." + +-#: ../js/ui/backgroundMenu.js:19 ../js/ui/panel.js:813 ++#: ../js/ui/backgroundMenu.js:19 ../js/ui/panel.js:820 + #: ../js/ui/status/system.js:337 + msgid "Settings" + msgstr "Configurações" +@@ -447,69 +468,69 @@ + + #. 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:67 ++#. ++#: ../js/ui/calendar.js:70 + msgctxt "event list time" + msgid "All Day" + msgstr "Dia todo" + + #. Translators: Shown in calendar event list, if 24h format, +-#. \u2236 is a ratio character, similar to : */ +-#: ../js/ui/calendar.js:73 ++#. \u2236 is a ratio character, similar to : ++#: ../js/ui/calendar.js:77 + msgctxt "event list time" +-msgid "%H∶%M" +-msgstr "%H∶%M" ++msgid "%H\\u2236%M" ++msgstr "%H\\u2236%M" + + #. Translators: Shown in calendar event list, if 12h format, + #. \u2236 is a ratio character, similar to : and \u2009 is +-#. a thin space */ +-#: ../js/ui/calendar.js:82 ++#. a thin space ++#: ../js/ui/calendar.js:86 + msgctxt "event list time" +-msgid "%l∶%M %p" +-msgstr "%l∶%M %p" ++msgid "%l\\u2236%M\\u2009%p" ++msgstr "%l\\u2236%M\\u2009%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:113 ++#. ++#: ../js/ui/calendar.js:100 + msgctxt "grid sunday" + msgid "S" + msgstr "D" + +-#. Translators: Calendar grid abbreviation for Monday */ +-#: ../js/ui/calendar.js:115 ++#. Translators: Calendar grid abbreviation for Monday ++#: ../js/ui/calendar.js:102 + msgctxt "grid monday" + msgid "M" + msgstr "S" + +-#. Translators: Calendar grid abbreviation for Tuesday */ +-#: ../js/ui/calendar.js:117 ++#. Translators: Calendar grid abbreviation for Tuesday ++#: ../js/ui/calendar.js:104 + msgctxt "grid tuesday" + msgid "T" + msgstr "T" + +-#. Translators: Calendar grid abbreviation for Wednesday */ +-#: ../js/ui/calendar.js:119 ++#. Translators: Calendar grid abbreviation for Wednesday ++#: ../js/ui/calendar.js:106 + msgctxt "grid wednesday" + msgid "W" + msgstr "Q" + +-#. Translators: Calendar grid abbreviation for Thursday */ +-#: ../js/ui/calendar.js:121 ++#. Translators: Calendar grid abbreviation for Thursday ++#: ../js/ui/calendar.js:108 + msgctxt "grid thursday" + msgid "T" + msgstr "Q" + +-#. Translators: Calendar grid abbreviation for Friday */ +-#: ../js/ui/calendar.js:123 ++#. Translators: Calendar grid abbreviation for Friday ++#: ../js/ui/calendar.js:110 + msgctxt "grid friday" + msgid "F" + msgstr "S" + +-#. Translators: Calendar grid abbreviation for Saturday */ +-#: ../js/ui/calendar.js:125 ++#. Translators: Calendar grid abbreviation for Saturday ++#: ../js/ui/calendar.js:112 + msgctxt "grid saturday" + msgid "S" + msgstr "S" +@@ -519,86 +540,86 @@ + #. * 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:138 ++#. ++#: ../js/ui/calendar.js:125 + msgctxt "list sunday" + msgid "Su" + msgstr "Dom" + +-#. Translators: Event list abbreviation for Monday */ +-#: ../js/ui/calendar.js:140 ++#. Translators: Event list abbreviation for Monday ++#: ../js/ui/calendar.js:127 + msgctxt "list monday" + msgid "M" + msgstr "Seg" + +-#. Translators: Event list abbreviation for Tuesday */ +-#: ../js/ui/calendar.js:142 ++#. Translators: Event list abbreviation for Tuesday ++#: ../js/ui/calendar.js:129 + msgctxt "list tuesday" + msgid "T" + msgstr "Ter" + +-#. Translators: Event list abbreviation for Wednesday */ +-#: ../js/ui/calendar.js:144 ++#. Translators: Event list abbreviation for Wednesday ++#: ../js/ui/calendar.js:131 + msgctxt "list wednesday" + msgid "W" + msgstr "Qua" + +-#. Translators: Event list abbreviation for Thursday */ +-#: ../js/ui/calendar.js:146 ++#. Translators: Event list abbreviation for Thursday ++#: ../js/ui/calendar.js:133 + msgctxt "list thursday" + msgid "Th" + msgstr "Qui" + +-#. Translators: Event list abbreviation for Friday */ +-#: ../js/ui/calendar.js:148 ++#. Translators: Event list abbreviation for Friday ++#: ../js/ui/calendar.js:135 + msgctxt "list friday" + msgid "F" + msgstr "Sex" + +-#. Translators: Event list abbreviation for Saturday */ +-#: ../js/ui/calendar.js:150 ++#. Translators: Event list abbreviation for Saturday ++#: ../js/ui/calendar.js:137 + msgctxt "list saturday" + msgid "S" + msgstr "Sab" + +-#: ../js/ui/calendar.js:453 ++#: ../js/ui/calendar.js:462 + msgid "Previous month" + msgstr "Mês anterior" + +-#: ../js/ui/calendar.js:463 ++#: ../js/ui/calendar.js:472 + msgid "Next month" + msgstr "Próximo mês" + +-#. Translators: Text to show if there are no events */ +-#: ../js/ui/calendar.js:781 ++#. Translators: Text to show if there are no events ++#: ../js/ui/calendar.js:811 + msgid "Nothing Scheduled" + msgstr "Nada agendado" + +-#. Translators: Shown on calendar heading when selected day occurs on current year */ +-#: ../js/ui/calendar.js:799 ++#. Translators: Shown on calendar heading when selected day occurs on current year ++#: ../js/ui/calendar.js:827 + 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:802 ++#. Translators: Shown on calendar heading when selected day occurs on different year ++#: ../js/ui/calendar.js:830 + msgctxt "calendar heading" + msgid "%A, %B %d, %Y" + msgstr "%A, %d de %B de %Y" + +-#: ../js/ui/calendar.js:813 ++#: ../js/ui/calendar.js:840 + msgid "Today" + msgstr "Hoje" + +-#: ../js/ui/calendar.js:817 ++#: ../js/ui/calendar.js:844 + msgid "Tomorrow" + msgstr "Amanhã" + +-#: ../js/ui/calendar.js:828 ++#: ../js/ui/calendar.js:855 + msgid "This week" + msgstr "Esta semana" + +-#: ../js/ui/calendar.js:836 ++#: ../js/ui/calendar.js:863 + msgid "Next week" + msgstr "Próxima semana" + +@@ -615,7 +636,7 @@ + msgstr "Dispositivos removíveis" + + #: ../js/ui/components/autorunManager.js:596 +-#, javascript-format ++#, c-format + msgid "Open with %s" + msgstr "Abrir com %s" + +@@ -636,6 +657,7 @@ + msgid "Connect" + msgstr "Conectar" + ++#. Cisco LEAP + #: ../js/ui/components/networkAgent.js:231 + #: ../js/ui/components/networkAgent.js:243 + #: ../js/ui/components/networkAgent.js:271 +@@ -644,6 +666,7 @@ + msgid "Password: " + msgstr "Senha: " + ++#. static WEP + #: ../js/ui/components/networkAgent.js:236 + msgid "Key: " + msgstr "Chave: " +@@ -665,7 +688,7 @@ + msgstr "Autenticação requisitada pela rede sem fio" + + #: ../js/ui/components/networkAgent.js:319 +-#, javascript-format ++#, c-format + msgid "" + "Passwords or encryption keys are required to access the wireless network " + "“%s”." +@@ -702,7 +725,7 @@ + msgstr "Senha da rede de banda larga móvel" + + #: ../js/ui/components/networkAgent.js:346 +-#, javascript-format ++#, c-format + msgid "A password is required to connect to “%s”." + msgstr "Uma senha é necessária para se conectar a \"%s\"" + +@@ -721,19 +744,23 @@ + #. Translators: "that didn't work" refers to the fact that the + #. * requested authentication was not gained; this can happen + #. * because of an authentication error (like invalid password), +-#. * for instance. */ ++#. * for instance. + #: ../js/ui/components/polkitAgent.js:271 ../js/ui/shellMountOperation.js:383 + msgid "Sorry, that didn't work. Please try again." + msgstr "Desculpe, isto não funcionou. Por favor, tente novamente." + ++#. FIXME: We don't have a 'chat room' icon (bgo #653737) use ++#. system-users for now as Empathy does. + #: ../js/ui/components/telepathyClient.js:240 + msgid "Invitation" + msgstr "Convite" + ++#. We got the TpContact + #: ../js/ui/components/telepathyClient.js:300 + msgid "Call" + msgstr "Chamada" + ++#. We got the TpContact + #: ../js/ui/components/telepathyClient.js:316 + msgid "File Transfer" + msgstr "Transferência de arquivo" +@@ -750,87 +777,95 @@ + msgid "Mute" + msgstr "Sem áudio" + +-#. Translators: Time in 24h format */ ++#. Translators: Time in 24h format + #: ../js/ui/components/telepathyClient.js:953 +-msgid "%H∶%M" +-msgstr "%H∶%M" ++msgid "%H\\u2236%M" ++msgstr "%H\\u2236%M" + + #. Translators: this is the word "Yesterday" followed by a +-#. time string in 24h format. i.e. "Yesterday, 14:30" */ ++#. time string in 24h format. i.e. "Yesterday, 14:30" + #: ../js/ui/components/telepathyClient.js:960 +-msgid "Yesterday, %H∶%M" +-msgstr "Ontem, %H∶%M" ++#, no-c-format ++msgid "Yesterday, %H\\u2236%M" ++msgstr "Ontem, %H\\u2236%M" + + #. Translators: this is the week day name followed by a time +-#. string in 24h format. i.e. "Monday, 14:30" */ ++#. string in 24h format. i.e. "Monday, 14:30" + #: ../js/ui/components/telepathyClient.js:967 +-msgid "%A, %H∶%M" +-msgstr "%A, %H∶%M" ++#, no-c-format ++msgid "%A, %H\\u2236%M" ++msgstr "%A, %H\\u2236%M" + + #. Translators: this is the month name and day number + #. followed by a time string in 24h format. +-#. i.e. "May 25, 14:30" */ ++#. i.e. "May 25, 14:30" + #: ../js/ui/components/telepathyClient.js:974 +-msgid "%B %d, %H∶%M" +-msgstr "%d de %B, %H∶%M" ++#, no-c-format ++msgid "%B %d, %H\\u2236%M" ++msgstr "%d %B, %H\\u2236%M" + + #. Translators: this is the month name, day number, year + #. number followed by a time string in 24h format. +-#. i.e. "May 25 2012, 14:30" */ ++#. i.e. "May 25 2012, 14:30" + #: ../js/ui/components/telepathyClient.js:980 +-msgid "%B %d %Y, %H∶%M" +-msgstr "%d de %B de %Y, %H∶%M" ++#, no-c-format ++msgid "%B %d %Y, %H\\u2236%M" ++msgstr "%d %B %Y, %H\\u2236%M" + +-#. Translators: Time in 24h format */ ++#. Translators: Time in 24h format + #: ../js/ui/components/telepathyClient.js:986 +-msgid "%l∶%M %p" +-msgstr "%l∶%M %p" ++msgid "%l\\u2236%M %p" ++msgstr "%l\\u2236%M %p" + + #. Translators: this is the word "Yesterday" followed by a +-#. time string in 12h format. i.e. "Yesterday, 2:30 pm" */ ++#. time string in 12h format. i.e. "Yesterday, 2:30 pm" + #: ../js/ui/components/telepathyClient.js:993 +-msgid "Yesterday, %l∶%M %p" +-msgstr "Ontem, %l∶%M %p" ++#, no-c-format ++msgid "Yesterday, %l\\u2236%M %p" ++msgstr "Ontem, %l\\u2236%M %p" + + #. Translators: this is the week day name followed by a time +-#. string in 12h format. i.e. "Monday, 2:30 pm" */ ++#. string in 12h format. i.e. "Monday, 2:30 pm" + #: ../js/ui/components/telepathyClient.js:1000 +-msgid "%A, %l∶%M %p" +-msgstr "%A, %l∶%M %p" ++#, no-c-format ++msgid "%A, %l\\u2236%M %p" ++msgstr "%A, %l\\u2236%M %p" + + #. Translators: this is the month name and day number + #. followed by a time string in 12h format. +-#. i.e. "May 25, 2:30 pm" */ ++#. i.e. "May 25, 2:30 pm" + #: ../js/ui/components/telepathyClient.js:1007 +-msgid "%B %d, %l∶%M %p" +-msgstr "%d de %B, %l∶%M %p" ++#, no-c-format ++msgid "%B %d, %l\\u2236%M %p" ++msgstr " %d %B, %l\\u2236%M %p" + + #. Translators: this is the month name, day number, year + #. number followed by a time string in 12h format. +-#. i.e. "May 25 2012, 2:30 pm"*/ ++#. i.e. "May 25 2012, 2:30 pm" + #: ../js/ui/components/telepathyClient.js:1013 +-msgid "%B %d %Y, %l∶%M %p" +-msgstr "%d de %B de %Y, %l∶%M %p" ++#, no-c-format ++msgid "%B %d %Y, %l\\u2236%M %p" ++msgstr "%d %B %Y, %l\\u2236%M %p" + + #. Translators: this is the other person changing their old IM name to their new +-#. IM name. */ ++#. IM name. + #: ../js/ui/components/telepathyClient.js:1045 +-#, javascript-format ++#, c-format + msgid "%s is now known as %s" + msgstr "%s agora é conhecido como %s" + + #. translators: argument is a room name like +-#. * room@jabber.org for example. */ ++#. * room@jabber.org for example. + #: ../js/ui/components/telepathyClient.js:1149 +-#, javascript-format ++#, c-format + msgid "Invitation to %s" + msgstr "Convite para %s" + + #. translators: first argument is the name of a contact and the second + #. * one the name of a room. "Alice is inviting you to join room@jabber.org +-#. * for example. */ ++#. * for example. + #: ../js/ui/components/telepathyClient.js:1157 +-#, javascript-format ++#, c-format + msgid "%s is inviting you to join %s" + msgstr "%s está convidando você para participar de %s" + +@@ -847,19 +882,19 @@ + msgid "Accept" + msgstr "Aceitar" + +-#. translators: argument is a contact name like Alice for example. */ ++#. translators: argument is a contact name like Alice for example. + #: ../js/ui/components/telepathyClient.js:1184 +-#, javascript-format ++#, c-format + msgid "Video call from %s" + msgstr "Chamada de vídeo para %s" + +-#. translators: argument is a contact name like Alice for example. */ ++#. translators: argument is a contact name like Alice for example. + #: ../js/ui/components/telepathyClient.js:1187 +-#, javascript-format ++#, c-format + msgid "Call from %s" + msgstr "Chamada de %s" + +-#. translators: this is a button label (verb), not a noun */ ++#. translators: this is a button label (verb), not a noun + #: ../js/ui/components/telepathyClient.js:1201 + msgid "Answer" + msgstr "Atender" +@@ -868,15 +903,15 @@ + #. * the contact's alias and the second one is the + #. * file name. The string will be something + #. * like: "Alice is sending you test.ogg" +-#. */ ++#. + #: ../js/ui/components/telepathyClient.js:1222 +-#, javascript-format ++#, c-format + msgid "%s is sending you %s" + msgstr "%s está enviando %s" + +-#. To translators: The parameter is the contact's alias */ ++#. To translators: The parameter is the contact's alias + #: ../js/ui/components/telepathyClient.js:1251 +-#, javascript-format ++#, c-format + msgid "%s would like permission to see when you are online" + msgstr "%s quer permissão para vê-lo quando conectado" + +@@ -985,9 +1020,9 @@ + msgstr "Erro interno" + + #. translators: argument is the account name, like +-#. * name@jabber.org for example. */ ++#. * name@jabber.org for example. + #: ../js/ui/components/telepathyClient.js:1393 +-#, javascript-format ++#, c-format + msgid "Unable to connect to %s" + msgstr "Não foi possível conectar-se a %s" + +@@ -999,7 +1034,7 @@ + msgid "Unknown reason" + msgstr "Razão desconhecida" + +-#: ../js/ui/ctrlAltTab.js:29 ../js/ui/viewSelector.js:154 ++#: ../js/ui/ctrlAltTab.js:29 ../js/ui/viewSelector.js:155 + msgid "Windows" + msgstr "Janelas" + +@@ -1007,32 +1042,34 @@ + msgid "Show Applications" + msgstr "Mostrar aplicativos" + ++#. Translators: this is the name of the dock/favorites area on ++#. the left of the overview + #: ../js/ui/dash.js:445 + msgid "Dash" + msgstr "Dash" + +-#: ../js/ui/dateMenu.js:96 ++#: ../js/ui/dateMenu.js:97 + msgid "Open Calendar" + msgstr "Abrir agenda" + +-#: ../js/ui/dateMenu.js:100 ++#: ../js/ui/dateMenu.js:101 + msgid "Open Clocks" + msgstr "Abrir relógios" + + # O "&" foi inserido como "e" para versão 3.8.0 no gnome-control-center +-#: ../js/ui/dateMenu.js:107 ++#: ../js/ui/dateMenu.js:108 + msgid "Date & Time Settings" + msgstr "Configurações de data & hora" + + #. 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:204 ++#. ++#: ../js/ui/dateMenu.js:132 + msgid "%A %B %e, %Y" + msgstr "%A, %e de %B de %Y" + + #: ../js/ui/endSessionDialog.js:64 +-#, javascript-format ++#, c-format + msgctxt "title" + msgid "Log Out %s" + msgstr "Encerrar sessão de %s" +@@ -1043,14 +1080,14 @@ + msgstr "Encerrar sessão" + + #: ../js/ui/endSessionDialog.js:67 +-#, javascript-format ++#, c-format + msgid "%s will be logged out automatically in %d second." + msgid_plural "%s will be logged out automatically in %d seconds." + msgstr[0] "%s encerrará a sessão automaticamente em %d segundo." + msgstr[1] "%s encerrará a sessão automaticamente em %d segundos." + + #: ../js/ui/endSessionDialog.js:72 +-#, javascript-format ++#, c-format + msgid "You will be logged out automatically in %d second." + msgid_plural "You will be logged out automatically in %d seconds." + msgstr[0] "Sua sessão será encerrada automaticamente em %d segundo." +@@ -1072,7 +1109,7 @@ + msgstr "Instalar atualizações & desligar" + + #: ../js/ui/endSessionDialog.js:87 +-#, javascript-format ++#, c-format + msgid "The system will power off automatically in %d second." + msgid_plural "The system will power off automatically in %d seconds." + msgstr[0] "O sistema será desligado automaticamente em %d segundo." +@@ -1099,7 +1136,7 @@ + msgstr "Reiniciar" + + #: ../js/ui/endSessionDialog.js:105 +-#, javascript-format ++#, c-format + msgid "The system will restart automatically in %d second." + msgid_plural "The system will restart automatically in %d seconds." + msgstr[0] "O sistema irá reiniciar automaticamente em %d segundo." +@@ -1111,8 +1148,9 @@ + msgstr "Reiniciar & instalar atualizações" + + #: ../js/ui/endSessionDialog.js:121 +-#, javascript-format +-msgid "The system will automatically restart and install updates in %d second." ++#, c-format ++msgid "" ++"The system will automatically restart and install updates in %d second." + msgid_plural "" + "The system will automatically restart and install updates in %d seconds." + msgstr[0] "" +@@ -1151,15 +1189,15 @@ + msgid "Other users are logged in." + msgstr "Outros usuários estão com sessão aberta." + +-#. Translators: Remote here refers to a remote session, like a ssh login */ ++#. Translators: Remote here refers to a remote session, like a ssh login + #: ../js/ui/endSessionDialog.js:640 +-#, javascript-format ++#, c-format + msgid "%s (remote)" + msgstr "%s (remoto)" + +-#. Translators: Console here refers to a tty like a VT console */ ++#. Translators: Console here refers to a tty like a VT console + #: ../js/ui/endSessionDialog.js:643 +-#, javascript-format ++#, c-format + msgid "%s (console)" + msgstr "%s (console)" + +@@ -1168,99 +1206,118 @@ + msgstr "Instalar" + + #: ../js/ui/extensionDownloader.js:204 +-#, javascript-format ++#, c-format + msgid "Download and install “%s” from extensions.gnome.org?" + msgstr "Baixar e instalar \"%s\" de extensions.gnome.org?" + +-#: ../js/ui/keyboard.js:692 ../js/ui/status/keyboard.js:523 ++#: ../js/ui/extensionSystem.js:314 ++#, c-format ++msgid "%d extension is out of date" ++msgid_plural "%d extensions are out of date" ++msgstr[0] "A extensão %d está desatualizada " ++msgstr[1] "As extensões %d estão desatualizadas " ++ ++#: ../js/ui/extensionSystem.js:317 ++msgid "You can visit http://extensions.gnome.org for updates" ++msgstr "Visite http://extensions.gnome.org para atualizações" ++ ++#: ../js/ui/keyboard.js:700 ../js/ui/status/keyboard.js:535 + msgid "Keyboard" + msgstr "Teclado" + +-#: ../js/ui/lookingGlass.js:643 ++#: ../js/ui/lookingGlass.js:645 + msgid "No extensions installed" + msgstr "Nenhuma extensão instalada" + +-#. Translators: argument is an extension UUID. */ +-#: ../js/ui/lookingGlass.js:697 +-#, javascript-format ++#. Translators: argument is an extension UUID. ++#: ../js/ui/lookingGlass.js:699 ++#, c-format + msgid "%s has not emitted any errors." + msgstr "%s não emitiu erros." + +-#: ../js/ui/lookingGlass.js:703 ++#: ../js/ui/lookingGlass.js:705 + msgid "Hide Errors" + msgstr "Ocultar erros" + +-#: ../js/ui/lookingGlass.js:707 ../js/ui/lookingGlass.js:767 ++#: ../js/ui/lookingGlass.js:709 ../js/ui/lookingGlass.js:769 + msgid "Show Errors" + msgstr "Exibir erros" + +-#: ../js/ui/lookingGlass.js:716 ../js/ui/status/location.js:71 ++#: ../js/ui/lookingGlass.js:718 ../js/ui/status/location.js:71 + #: ../js/ui/status/location.js:176 + msgid "Enabled" + msgstr "Habilitado" + + #. Translators: this is for a network device that cannot be activated +-#. because it's disabled by rfkill (airplane mode) */ ++#. because it's disabled by rfkill (airplane mode) + #. translators: + #. * The device has been disabled +-#: ../js/ui/lookingGlass.js:719 ../js/ui/status/location.js:179 ++#: ../js/ui/lookingGlass.js:721 ../js/ui/status/location.js:179 + #: ../js/ui/status/network.js:592 ../src/gvc/gvc-mixer-control.c:1830 + msgid "Disabled" + msgstr "Desabilitado" + +-#: ../js/ui/lookingGlass.js:721 ++#: ../js/ui/lookingGlass.js:723 + msgid "Error" + msgstr "Erro" + +-#: ../js/ui/lookingGlass.js:723 ++#: ../js/ui/lookingGlass.js:725 + msgid "Out of date" + msgstr "Expirado" + +-#: ../js/ui/lookingGlass.js:725 ++#: ../js/ui/lookingGlass.js:727 + msgid "Downloading" + msgstr "Baixando" + +-#: ../js/ui/lookingGlass.js:749 ++#: ../js/ui/lookingGlass.js:751 + msgid "View Source" + msgstr "Ver fonte" + +-#: ../js/ui/lookingGlass.js:758 ++#: ../js/ui/lookingGlass.js:760 + msgid "Web Page" + msgstr "Página web" + +-#: ../js/ui/messageTray.js:1326 ++#: ../js/ui/messageTray.js:1334 + msgid "Open" + msgstr "Abrir" + +-#: ../js/ui/messageTray.js:1333 ++#: ../js/ui/messageTray.js:1341 + msgid "Remove" + msgstr "Remover" + +-#: ../js/ui/messageTray.js:1630 ++#: ../js/ui/messageTray.js:1638 + msgid "Notifications" + msgstr "Notificações" + +-#: ../js/ui/messageTray.js:1637 ++#: ../js/ui/messageTray.js:1645 + msgid "Clear Messages" + msgstr "Sem mensagens" + +-#: ../js/ui/messageTray.js:1656 ++#: ../js/ui/messageTray.js:1664 + msgid "Notification Settings" + msgstr "Configurações de notificação" + +-#: ../js/ui/messageTray.js:1709 ++#: ../js/ui/messageTray.js:1717 + msgid "Tray Menu" + msgstr "Menu de notificação" + +-#: ../js/ui/messageTray.js:1926 ++#: ../js/ui/messageTray.js:1941 + msgid "No Messages" + msgstr "Sem mensagens" + +-#: ../js/ui/messageTray.js:1968 ++#: ../js/ui/messageTray.js:1988 + msgid "Message Tray" + msgstr "Área de notificação" + +-#: ../js/ui/messageTray.js:2971 ++#: ../js/ui/messageTray.js:2447 ../js/ui/overviewControls.js:483 ++#: ../js/ui/screenShield.js:151 ++#, c-format ++msgid "%d new message" ++msgid_plural "%d new messages" ++msgstr[0] "%d nova mensagem" ++msgstr[1] "%d novas mensagens" ++ ++#: ../js/ui/messageTray.js:3017 + msgid "System Information" + msgstr "Informações do sistema" + +@@ -1269,13 +1326,6 @@ + msgid "Unknown" + msgstr "Desconhecido" + +-#: ../js/ui/overviewControls.js:482 ../js/ui/screenShield.js:151 +-#, javascript-format +-msgid "%d new message" +-msgid_plural "%d new messages" +-msgstr[0] "%d nova mensagem" +-msgstr[1] "%d novas mensagens" +- + #: ../js/ui/overview.js:84 + msgid "Undo" + msgstr "Desfazer" +@@ -1287,7 +1337,7 @@ + #. Translators: this is the text displayed + #. in the search entry when no search is + #. active; it should not exceed ~30 +-#. characters. */ ++#. characters. + #: ../js/ui/overview.js:246 + msgid "Type to search…" + msgstr "Digite para pesquisar…" +@@ -1297,15 +1347,20 @@ + msgstr "Sair" + + #. Translators: If there is no suitable word for "Activities" +-#. in your language, you can use the word for "Overview". */ +-#: ../js/ui/panel.js:567 ++#. in your language, you can use the word for "Overview". ++#: ../js/ui/panel.js:574 + msgid "Activities" + msgstr "Atividades" + +-#: ../js/ui/panel.js:918 ++#: ../js/ui/panel.js:925 + msgid "Top Bar" + msgstr "Barra superior" + ++#. 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:269 + msgid "toggle-switch-us" + msgstr "toggle-switch-intl" +@@ -1323,39 +1378,46 @@ + msgstr "Reiniciando…" + + #. Translators: This is a time format for a date in +-#. long format */ ++#. long format + #: ../js/ui/screenShield.js:88 + msgid "%A, %B %d" + msgstr "%A, %d de %B" + + #: ../js/ui/screenShield.js:153 +-#, javascript-format ++#, c-format + msgid "%d new notification" + msgid_plural "%d new notifications" + msgstr[0] "%d nova notificação" + msgstr[1] "%d novas notificações" + +-#: ../js/ui/screenShield.js:472 ../js/ui/status/system.js:345 ++#: ../js/ui/screenShield.js:473 ../js/ui/status/system.js:345 + msgid "Lock" + msgstr "Bloquear" + +-#: ../js/ui/screenShield.js:706 ++#: ../js/ui/screenShield.js:709 + msgid "GNOME needs to lock the screen" + msgstr "GNOME precisa bloquear a tela" + +-#: ../js/ui/screenShield.js:833 ../js/ui/screenShield.js:1304 ++#. We could not become modal, so we can't activate the ++#. screenshield. The user is probably very upset at this ++#. point, but any application using global grabs is broken ++#. Just tell him to stop using this app ++#. ++#. XXX: another option is to kick the user into the gdm login ++#. screen, where we're not affected by grabs ++#: ../js/ui/screenShield.js:836 ../js/ui/screenShield.js:1312 + msgid "Unable to lock" + msgstr "Não foi possível bloquear" + +-#: ../js/ui/screenShield.js:834 ../js/ui/screenShield.js:1305 ++#: ../js/ui/screenShield.js:837 ../js/ui/screenShield.js:1313 + msgid "Lock was blocked by an application" + msgstr "O bloqueio foi impedido por um aplicativo" + +-#: ../js/ui/search.js:594 ++#: ../js/ui/search.js:611 + msgid "Searching…" + msgstr "Pesquisando…" + +-#: ../js/ui/search.js:596 ++#: ../js/ui/search.js:613 + msgid "No results." + msgstr "Nenhum resultado." + +@@ -1427,6 +1489,8 @@ + msgid "Large Text" + msgstr "Texto grande" + ++#. The Bluetooth menu only appears when Bluetooth is in use, ++#. so just statically build it with a "Turn Off" menu item. + #: ../js/ui/status/bluetooth.js:49 + msgid "Bluetooth" + msgstr "Bluetooth" +@@ -1443,7 +1507,7 @@ + msgstr "Configurações de Bluetooth" + + #: ../js/ui/status/bluetooth.js:104 +-#, javascript-format ++#, c-format + msgid "%d Connected Device" + msgid_plural "%d Connected Devices" + msgstr[0] "%d dispositivo conectado" +@@ -1457,7 +1521,7 @@ + msgid "Brightness" + msgstr "Brilho" + +-#: ../js/ui/status/keyboard.js:547 ++#: ../js/ui/status/keyboard.js:559 + msgid "Show Keyboard Layout" + msgstr "Exibir disposição de teclado" + +@@ -1470,7 +1534,6 @@ + msgstr "Desabilitar" + + #: ../js/ui/status/location.js:73 +-#| msgid "Power Settings" + msgid "Privacy Settings" + msgstr "Configurações de privacidade" + +@@ -1497,7 +1560,7 @@ + + # Não gerenciável para transmitir a idéia que o Networkmanager não consegue gerenciar o dispositivo --Enrico + #. Translators: this is for network devices that are physically present but are not +-#. under NetworkManager's control (and thus cannot be used in the menu) */ ++#. under NetworkManager's control (and thus cannot be used in the menu) + #: ../js/ui/status/network.js:463 + msgid "Unmanaged" + msgstr "Não gerenciável" +@@ -1510,19 +1573,19 @@ + msgid "Connecting" + msgstr "Conectando" + +-#. Translators: this is for network connections that require some kind of key or password */ ++#. Translators: this is for network connections that require some kind of key or password + #: ../js/ui/status/network.js:474 + msgid "Authentication required" + msgstr "Autenticação necessária" + + #. Translators: this is for devices that require some kind of firmware or kernel +-#. module, which is missing */ ++#. module, which is missing + #: ../js/ui/status/network.js:482 + msgid "Firmware missing" + msgstr "Firmware em falta" + + #. Translators: this is for a network device that cannot be activated (for example it +-#. is disabled by rfkill, or it has no coverage */ ++#. is disabled by rfkill, or it has no coverage + #: ../js/ui/status/network.js:486 + msgid "Unavailable" + msgstr "Indisponível" +@@ -1607,7 +1670,7 @@ + msgid "connecting..." + msgstr "conectando..." + +-#. Translators: this is for network connections that require some kind of key or password */ ++#. Translators: this is for network connections that require some kind of key or password + #: ../js/ui/status/network.js:1412 + msgid "authentication required" + msgstr "autenticação necessária" +@@ -1644,19 +1707,23 @@ + msgid "Fully Charged" + msgstr "Completamente carregada" + ++#. 0 is reported when UPower does not have enough data ++#. to estimate battery life + #: ../js/ui/status/power.js:72 ../js/ui/status/power.js:78 + msgid "Estimating…" + msgstr "Estimando…" + ++#. Translators: this is : Remaining () + #: ../js/ui/status/power.js:86 +-#, javascript-format +-msgid "%d∶%02d Remaining (%d%%)" +-msgstr "%d:%02d restante(s) (%d%%)" ++#, c-format ++msgid "%d\\u2236%02d Remaining (%d%%)" ++msgstr "%d\\u2236%02d Restante(s) (%d%%) " + ++#. Translators: this is : Until Full () + #: ../js/ui/status/power.js:91 +-#, javascript-format +-msgid "%d∶%02d Until Full (%d%%)" +-msgstr "%d:%02d até completamente carregada (%d%%)" ++#, c-format ++msgid "%d\\u2236%02d Until Full (%d%%)" ++msgstr "%d:%02d até estar cheio (%d%%)" + + # UPS significa uninterruptible power supply, mas no Brasil vejo usando mais + # "No-break", que é a mesma coisa, então optei pela segunda. -- Rafael Ferreira +@@ -1668,6 +1735,9 @@ + msgid "Battery" + msgstr "Bateria" + ++#. The menu only appears when airplane mode is on, so just ++#. statically build it as if it was on, rather than dynamically ++#. changing the menu contents. + #: ../js/ui/status/rfkill.js:83 + msgid "Airplane Mode" + msgstr "Modo avião" +@@ -1716,16 +1786,16 @@ + msgid "Unlock Window" + msgstr "Desbloquear janela" + +-#: ../js/ui/viewSelector.js:158 ++#: ../js/ui/viewSelector.js:159 + msgid "Applications" + msgstr "Aplicativos" + +-#: ../js/ui/viewSelector.js:162 ++#: ../js/ui/viewSelector.js:163 + msgid "Search" + msgstr "Pesquisar" + + #: ../js/ui/windowAttentionHandler.js:19 +-#, javascript-format ++#, c-format + msgid "“%s” is ready" + msgstr "\"%s\" está pronto" + +@@ -1735,7 +1805,7 @@ + + #. Translators: this and the following message should be limited in lenght, + #. to avoid ellipsizing the labels. +-#. */ ++#. + #: ../js/ui/windowManager.js:84 + msgid "Revert Settings" + msgstr "Reverter configurações" +@@ -1745,7 +1815,7 @@ + msgstr "Manter alterações" + + #: ../js/ui/windowManager.js:107 +-#, javascript-format ++#, c-format + msgid "Settings changes will revert in %d second" + msgid_plural "Settings changes will revert in %d seconds" + msgstr[0] "Alterações nas configurações serão revertidas em %d segundo" +@@ -1817,19 +1887,19 @@ + msgid "System Sounds" + msgstr "Sons do sistema" + +-#: ../src/main.c:373 ++#: ../src/main.c:381 + msgid "Print version" + msgstr "Versão de impressão" + +-#: ../src/main.c:379 ++#: ../src/main.c:387 + msgid "Mode used by GDM for login screen" + msgstr "Modo usado pelo GDM para a tela de início de sessão" + +-#: ../src/main.c:385 ++#: ../src/main.c:393 + msgid "Use a specific mode, e.g. \"gdm\" for login screen" + msgstr "Utilizar um modo específico, ex.: \"gdm\" para a tela de login" + +-#: ../src/main.c:391 ++#: ../src/main.c:399 + msgid "List possible modes" + msgstr "Listar modos possíveis" + +@@ -1849,72 +1919,3 @@ + #: ../src/shell-polkit-authentication-agent.c:346 + msgid "Authentication dialog was dismissed by the user" + msgstr "O diálogo de autenticação foi descartado pelo usuário" +- +-#~ msgid "The maximum accuracy level of location." +-#~ msgstr "O nível máximo de precisão de local." +- +-#~ msgid "" +-#~ "Configures the maximum level of location accuracy applications are " +-#~ "allowed to see. Valid options are 'off' (disable location tracking), " +-#~ "'country', 'city', 'neighborhood', 'street', and 'exact' (typically " +-#~ "requires GPS receiver). Please keep in mind that this only controls what " +-#~ "GeoClue will allow applications to see and they can find user's location " +-#~ "on their own using network resources (albeit with street-level accuracy " +-#~ "at best)." +-#~ msgstr "" +-#~ "Configura o nível máximo de precisão de local a que os aplicativos com " +-#~ "permissão podem ver. Opções válidas são \"off\" (desabilita o " +-#~ "rastreamento de local), \"country\", \"city\", \"neighborhood\", \"street" +-#~ "\" e \"exact\" (geralmente necessita de receptor de GPS). Por gentileza, " +-#~ "tenha em mente que estes são os únicos controles que o GeoClue permitirá " +-#~ "aos aplicativos observarem e eles podem localizar o local do usuário por " +-#~ "si só, usando recursos de rede (apesar de na melhor hipótese usarem " +-#~ "precisão à nível de rua)." +- +-#~ msgid "Arrangement of buttons on the titlebar" +-#~ msgstr "Organização dos botões na barra de título" +- +-#~ msgid "" +-#~ "This key overrides the key in org.gnome.desktop.wm.preferences when " +-#~ "running GNOME Shell." +-#~ msgstr "" +-#~ "Esta chave sobrescreve a chave em org.gnome.desktop.wm.preferences ao " +-#~ "executar o Shell do GNOME." +- +-#~ msgid "Extension" +-#~ msgstr "Extensão" +- +-#~ msgid "Select an extension to configure using the combobox above." +-#~ msgstr "" +-#~ "Selecione uma extensão para configurar usando a caixa de seleção abaixo." +- +-#~ msgid "calendar:MY" +-#~ msgstr "calendar:MY" +- +-#~ msgid "%A, %H:%M" +-#~ msgstr "%A, %H:%M" +- +-#~ msgid "%B %d, %H:%M" +-#~ msgstr "%d de %B, às %H:%M" +- +-#~ msgid "%B %d %Y, %H:%M " +-#~ msgstr "%d de %B de %Y, às %H:%M " +- +-#~ msgid "List of categories that should be displayed as folders" +-#~ msgstr "Lista de categorias que devem ser exibidas como pastas" +- +-#~ msgid "" +-#~ "Each category name in this list will be represented as folder in the " +-#~ "application view, rather than being displayed inline in the main view." +-#~ msgstr "" +-#~ "Cada nome de categoria nesta lista será representado como uma pasta na " +-#~ "visão do aplicativo, ao invés de ser exibido incorporado à visão " +-#~ "principal." +- +-#~ msgctxt "event list time" +-#~ msgid "%H\\u2236%M" +-#~ msgstr "%H\\u2236%M" +- +-#~ msgctxt "event list time" +-#~ msgid "%l\\u2236%M\\u2009%p" +-#~ msgstr "%l\\u2236%M\\u2009%p" +diff -urN gnome-shell-3.14.4/po/ru.po gnome-shell-3.14.4_localized/po/ru.po +--- gnome-shell-3.14.4/po/ru.po 2015-03-23 23:39:15.000000000 +0530 ++++ gnome-shell-3.14.4_localized/po/ru.po 2016-03-11 22:07:50.703000000 +0530 +@@ -1,8 +1,8 @@ + # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER + # This file is distributed under the same license as the PACKAGE package. +-# +-# +-# ++# ++# ++# + # Andrey Korzinev , 2009. + # Sergey V. Kovylov , 2009. + # Marina Zhurakhinskaya , 2009, 2010. +@@ -12,23 +12,23 @@ + # Valery Kirichenko , 2014. + # Stas Solovey , 2011, 2013, 2014. + # Yuri Myasoedov , 2012, 2013, 2014. +-# ++# pnemade , 2016. #zanata ++# ypoyarko , 2016. #zanata + msgid "" + msgstr "" + "Project-Id-Version: gnome-shell\n" +-"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug.cgi?product=gnome-" +-"shell&keywords=I18N+L10N&component=general\n" +-"POT-Creation-Date: 2014-09-17 07:35+0000\n" +-"PO-Revision-Date: 2014-09-17 20:45+0400\n" +-"Last-Translator: Yuri Myasoedov \n" +-"Language-Team: русский \n" +-"Language: ru\n" ++"Report-Msgid-Bugs-To: \n" ++"POT-Creation-Date: 2016-02-10 14:02+0530\n" + "MIME-Version: 1.0\n" + "Content-Type: text/plain; charset=UTF-8\n" + "Content-Transfer-Encoding: 8bit\n" +-"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n" +-"%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" +-"X-Generator: Poedit 1.6.9\n" ++"PO-Revision-Date: 2016-03-07 01:30+0000\n" ++"Last-Translator: ypoyarko \n" ++"Language-Team: русский \n" ++"Language: ru\n" ++"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && " ++"n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" ++"X-Generator: Zanata 3.8.2\n" + + #: ../data/50-gnome-shell-system.xml.in.h:1 + msgid "System" +@@ -77,7 +77,8 @@ + + #: ../data/org.gnome.shell.gschema.xml.in.in.h:1 + msgid "Enable internal tools useful for developers and testers from Alt-F2" +-msgstr "Включить внутренние инструменты из Alt-F2 для разработчиков и тестеров" ++msgstr "" ++"Включить внутренние инструменты из Alt-F2 для разработчиков и тестеров" + + #: ../data/org.gnome.shell.gschema.xml.in.in.h:2 + msgid "" +@@ -101,6 +102,7 @@ + "У расширений GNOME Shell есть свойство UUID; в этом ключе перечислены " + "расширения, которые должны быть загружены. Этим список также можно управлять " + "через методы DBus EnableExtension и DisableExtension сервиса org.gnome.Shell." ++"" + + #: ../data/org.gnome.shell.gschema.xml.in.in.h:5 + msgid "Disables the validation of extension version compatibility" +@@ -200,6 +202,7 @@ + #: ../data/org.gnome.shell.gschema.xml.in.in.h:22 + msgid "" + "Keybinding to open the \"Show Applications\" view of the Activities Overview." ++"" + msgstr "Комбинация клавиш для перехода в режим просмотра приложений." + + #: ../data/org.gnome.shell.gschema.xml.in.in.h:23 +@@ -229,7 +232,8 @@ + # tweens — что-то типа анимации + #: ../data/org.gnome.shell.gschema.xml.in.in.h:29 + msgid "" +-"Keybinding that pauses and resumes all running tweens, for debugging purposes" ++"Keybinding that pauses and resumes all running tweens, for debugging " ++"purposes" + msgstr "" + "Комбинация клавиш, которая приостанавливает и возобновляет все запущенные " + "анимации (для отладки)" +@@ -262,8 +266,8 @@ + #: ../data/org.gnome.shell.gschema.xml.in.in.h:35 + msgid "" + "Configures how the windows are shown in the switcher. Valid possibilities " +-"are 'thumbnail-only' (shows a thumbnail of the window), 'app-icon-" +-"only' (shows only the application icon) or 'both'." ++"are 'thumbnail-only' (shows a thumbnail of the window), 'app-icon-only' " ++"(shows only the application icon) or 'both'." + msgstr "" + "Управляет способом отображения окон в переключателе. Доступные значения: " + "«thumbnail-only» (показывать миниатюру окна), «app-icon-only» (показывать " +@@ -310,7 +314,7 @@ + msgstr "Captive-портал" + + #: ../js/extensionPrefs/main.js:123 +-#, javascript-format ++#, c-format + msgid "There was an error loading the preferences dialog for %s:" + msgstr "Возникла ошибка загрузки диалогового окна параметров для %s:" + +@@ -318,54 +322,68 @@ + msgid "GNOME Shell Extensions" + msgstr "Расширения GNOME Shell" + +-#: ../js/gdm/authPrompt.js:147 ../js/ui/components/networkAgent.js:143 ++#: ../js/gdm/authPrompt.js:159 ../js/ui/components/networkAgent.js:143 + #: ../js/ui/components/polkitAgent.js:166 ../js/ui/endSessionDialog.js:452 + #: ../js/ui/extensionDownloader.js:195 ../js/ui/shellMountOperation.js:399 + #: ../js/ui/status/network.js:915 + msgid "Cancel" + msgstr "Отмена" + +-#: ../js/gdm/authPrompt.js:169 ../js/gdm/authPrompt.js:217 ++#: ../js/gdm/authPrompt.js:181 ../js/gdm/authPrompt.js:228 ++#: ../js/gdm/authPrompt.js:466 + msgid "Next" + msgstr "Далее" + +-#: ../js/gdm/authPrompt.js:213 ../js/ui/shellMountOperation.js:403 ++#: ../js/gdm/authPrompt.js:224 ../js/ui/shellMountOperation.js:403 + #: ../js/ui/unlockDialog.js:59 + msgid "Unlock" + msgstr "Разблокировать" + +-#: ../js/gdm/authPrompt.js:215 ++#: ../js/gdm/authPrompt.js:226 + msgctxt "button" + msgid "Sign In" + msgstr "Войти" + +-#: ../js/gdm/loginDialog.js:269 ++#: ../js/gdm/loginDialog.js:297 + msgid "Choose Session" + msgstr "Выбрать сеанс" + +-#: ../js/gdm/loginDialog.js:429 ++#. translators: this message is shown below the user list on the ++#. login screen. It can be activated to reveal an entry for ++#. manually entering the username. ++#: ../js/gdm/loginDialog.js:458 + msgid "Not listed?" + msgstr "Нет в списке?" + +-#: ../js/gdm/loginDialog.js:614 +-#, javascript-format ++#. Translators: this message is shown below the username entry field ++#. to clue the user in on how to login to the local network realm ++#: ../js/gdm/loginDialog.js:859 ++#, c-format + msgid "(e.g., user or %s)" + msgstr "(например, пользователь или %s)" + +-#: ../js/gdm/loginDialog.js:619 ../js/ui/components/networkAgent.js:269 ++#. TTLS and PEAP are actually much more complicated, but this complication ++#. is not visible here since we only care about phase2 authentication ++#. (and don't even care of which one) ++#: ../js/gdm/loginDialog.js:864 ../js/ui/components/networkAgent.js:269 + #: ../js/ui/components/networkAgent.js:287 + msgid "Username: " + msgstr "Имя пользователя: " + +-#: ../js/gdm/loginDialog.js:922 ++#: ../js/gdm/loginDialog.js:1193 + msgid "Login Window" + msgstr "Окно входа в систему" + +-#: ../js/gdm/util.js:323 ++#: ../js/gdm/util.js:344 + msgid "Authentication error" + msgstr "Ошибка проверки подлинности" + +-#: ../js/gdm/util.js:453 ++#. We don't show fingerprint messages directly since it's ++#. not the main auth service. Instead we use the messages ++#. as a cue to display our own message. ++#. Translators: this message is shown below the password entry field ++#. to indicate the user can swipe their finger instead ++#: ../js/gdm/util.js:483 + msgid "(or swipe finger)" + msgstr "(или проведите пальцем по считывающему устройству)" + +@@ -373,58 +391,62 @@ + msgid "Command not found" + msgstr "Команда не найдена" + ++#. Replace "Error invoking GLib.shell_parse_argv: " with ++#. something nicer + #: ../js/misc/util.js:148 + msgid "Could not parse command:" + msgstr "Не удалось разобрать команду:" + + #: ../js/misc/util.js:156 +-#, javascript-format ++#, c-format + msgid "Execution of “%s” failed:" + msgstr "Не удалось выполнить «%s»:" + ++#. TRANSLATORS: this is the title of the wifi captive portal login ++#. window, until we know the title of the actual login page + #: ../js/portalHelper/main.js:85 + msgid "Web Authentication Redirect" + msgstr "Перенаправление для проверки подлинности" + +-#: ../js/ui/appDisplay.js:772 ++#: ../js/ui/appDisplay.js:773 + msgid "Frequently used applications will appear here" + msgstr "Здесь появляются часто используемые приложения" + +-#: ../js/ui/appDisplay.js:883 ++#: ../js/ui/appDisplay.js:884 + msgid "Frequent" + msgstr "Популярные" + +-#: ../js/ui/appDisplay.js:890 ++#: ../js/ui/appDisplay.js:891 + msgid "All" + msgstr "Все" + +-#: ../js/ui/appDisplay.js:1789 ++#: ../js/ui/appDisplay.js:1795 + msgid "New Window" + msgstr "Новое окно" + +-#: ../js/ui/appDisplay.js:1815 ../js/ui/dash.js:285 ++#: ../js/ui/appDisplay.js:1821 ../js/ui/dash.js:285 + msgid "Remove from Favorites" + msgstr "Удалить из избранного" + +-#: ../js/ui/appDisplay.js:1821 ++#: ../js/ui/appDisplay.js:1827 + msgid "Add to Favorites" + msgstr "Добавить в избранное" + +-#: ../js/ui/appDisplay.js:1830 ++#: ../js/ui/appDisplay.js:1836 + msgid "Show Details" + msgstr "Показать подробности" + +-#: ../js/ui/appFavorites.js:132 +-#, javascript-format ++#: ../js/ui/appFavorites.js:133 ++#, c-format + msgid "%s has been added to your favorites." + msgstr "Приложение %s добавлено в избранное." + +-#: ../js/ui/appFavorites.js:166 +-#, javascript-format ++#: ../js/ui/appFavorites.js:167 ++#, c-format + msgid "%s has been removed from your favorites." + msgstr "Приложение %s удалено из избранного." + +-#: ../js/ui/backgroundMenu.js:19 ../js/ui/panel.js:813 ++#: ../js/ui/backgroundMenu.js:19 ../js/ui/panel.js:820 + #: ../js/ui/status/system.js:337 + msgid "Settings" + msgstr "Параметры" +@@ -435,69 +457,69 @@ + + #. 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:67 ++#. ++#: ../js/ui/calendar.js:70 + msgctxt "event list time" + msgid "All Day" + msgstr "Весь день" + + #. Translators: Shown in calendar event list, if 24h format, +-#. \u2236 is a ratio character, similar to : */ +-#: ../js/ui/calendar.js:73 ++#. \u2236 is a ratio character, similar to : ++#: ../js/ui/calendar.js:77 + msgctxt "event list time" +-msgid "%H∶%M" +-msgstr "%H∶%M" ++msgid "%H\\u2236%M" ++msgstr "%H\\u2236%M" + + #. Translators: Shown in calendar event list, if 12h format, + #. \u2236 is a ratio character, similar to : and \u2009 is +-#. a thin space */ +-#: ../js/ui/calendar.js:82 ++#. a thin space ++#: ../js/ui/calendar.js:86 + msgctxt "event list time" +-msgid "%l∶%M %p" +-msgstr "%l∶%M %p" ++msgid "%l\\u2236%M\\u2009%p" ++msgstr "%l\\u2236%M\\u2009%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:113 ++#. ++#: ../js/ui/calendar.js:100 + msgctxt "grid sunday" + msgid "S" + msgstr "Вс" + +-#. Translators: Calendar grid abbreviation for Monday */ +-#: ../js/ui/calendar.js:115 ++#. Translators: Calendar grid abbreviation for Monday ++#: ../js/ui/calendar.js:102 + msgctxt "grid monday" + msgid "M" + msgstr "Пн" + +-#. Translators: Calendar grid abbreviation for Tuesday */ +-#: ../js/ui/calendar.js:117 ++#. Translators: Calendar grid abbreviation for Tuesday ++#: ../js/ui/calendar.js:104 + msgctxt "grid tuesday" + msgid "T" + msgstr "Вт" + +-#. Translators: Calendar grid abbreviation for Wednesday */ +-#: ../js/ui/calendar.js:119 ++#. Translators: Calendar grid abbreviation for Wednesday ++#: ../js/ui/calendar.js:106 + msgctxt "grid wednesday" + msgid "W" + msgstr "Ср" + +-#. Translators: Calendar grid abbreviation for Thursday */ +-#: ../js/ui/calendar.js:121 ++#. Translators: Calendar grid abbreviation for Thursday ++#: ../js/ui/calendar.js:108 + msgctxt "grid thursday" + msgid "T" + msgstr "Чт" + +-#. Translators: Calendar grid abbreviation for Friday */ +-#: ../js/ui/calendar.js:123 ++#. Translators: Calendar grid abbreviation for Friday ++#: ../js/ui/calendar.js:110 + msgctxt "grid friday" + msgid "F" + msgstr "Пт" + +-#. Translators: Calendar grid abbreviation for Saturday */ +-#: ../js/ui/calendar.js:125 ++#. Translators: Calendar grid abbreviation for Saturday ++#: ../js/ui/calendar.js:112 + msgctxt "grid saturday" + msgid "S" + msgstr "Сб" +@@ -507,88 +529,88 @@ + #. * 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:138 ++#. ++#: ../js/ui/calendar.js:125 + msgctxt "list sunday" + msgid "Su" + msgstr "Вс" + +-#. Translators: Event list abbreviation for Monday */ +-#: ../js/ui/calendar.js:140 ++#. Translators: Event list abbreviation for Monday ++#: ../js/ui/calendar.js:127 + msgctxt "list monday" + msgid "M" + msgstr "Пн" + +-#. Translators: Event list abbreviation for Tuesday */ +-#: ../js/ui/calendar.js:142 ++#. Translators: Event list abbreviation for Tuesday ++#: ../js/ui/calendar.js:129 + msgctxt "list tuesday" + msgid "T" + msgstr "Вт" + +-#. Translators: Event list abbreviation for Wednesday */ +-#: ../js/ui/calendar.js:144 ++#. Translators: Event list abbreviation for Wednesday ++#: ../js/ui/calendar.js:131 + msgctxt "list wednesday" + msgid "W" + msgstr "Ср" + +-#. Translators: Event list abbreviation for Thursday */ +-#: ../js/ui/calendar.js:146 ++#. Translators: Event list abbreviation for Thursday ++#: ../js/ui/calendar.js:133 + msgctxt "list thursday" + msgid "Th" + msgstr "Чт" + +-#. Translators: Event list abbreviation for Friday */ +-#: ../js/ui/calendar.js:148 ++#. Translators: Event list abbreviation for Friday ++#: ../js/ui/calendar.js:135 + msgctxt "list friday" + msgid "F" + msgstr "Пт" + +-#. Translators: Event list abbreviation for Saturday */ +-#: ../js/ui/calendar.js:150 ++#. Translators: Event list abbreviation for Saturday ++#: ../js/ui/calendar.js:137 + msgctxt "list saturday" + msgid "S" + msgstr "Сб" + +-#: ../js/ui/calendar.js:453 ++#: ../js/ui/calendar.js:462 + msgid "Previous month" + msgstr "Предыдущий месяц" + +-#: ../js/ui/calendar.js:463 ++#: ../js/ui/calendar.js:472 + msgid "Next month" + msgstr "Следующий месяц" + +-#. Translators: Text to show if there are no events */ +-#: ../js/ui/calendar.js:781 ++#. Translators: Text to show if there are no events ++#: ../js/ui/calendar.js:811 + msgid "Nothing Scheduled" + msgstr "Нет событий" + + # fix для даты в календаре и на экране блокировки, за разъяснением обращаться к Stas Solovey +-#. Translators: Shown on calendar heading when selected day occurs on current year */ +-#: ../js/ui/calendar.js:799 ++#. Translators: Shown on calendar heading when selected day occurs on current year ++#: ../js/ui/calendar.js:827 + msgctxt "calendar heading" + msgid "%A, %B %d" + msgstr "%A, %d %b., %Y" + + # fix для даты в календаре и на экране блокировки +-#. Translators: Shown on calendar heading when selected day occurs on different year */ +-#: ../js/ui/calendar.js:802 ++#. Translators: Shown on calendar heading when selected day occurs on different year ++#: ../js/ui/calendar.js:830 + msgctxt "calendar heading" + msgid "%A, %B %d, %Y" + msgstr "%A, %d %b., %Y" + +-#: ../js/ui/calendar.js:813 ++#: ../js/ui/calendar.js:840 + msgid "Today" + msgstr "Сегодня" + +-#: ../js/ui/calendar.js:817 ++#: ../js/ui/calendar.js:844 + msgid "Tomorrow" + msgstr "Завтра" + +-#: ../js/ui/calendar.js:828 ++#: ../js/ui/calendar.js:855 + msgid "This week" + msgstr "Эта неделя" + +-#: ../js/ui/calendar.js:836 ++#: ../js/ui/calendar.js:863 + msgid "Next week" + msgstr "Следующая неделя" + +@@ -605,7 +627,7 @@ + msgstr "Съёмные устройства" + + #: ../js/ui/components/autorunManager.js:596 +-#, javascript-format ++#, c-format + msgid "Open with %s" + msgstr "Открыть с помощью %s" + +@@ -626,6 +648,7 @@ + msgid "Connect" + msgstr "Соединиться" + ++#. Cisco LEAP + #: ../js/ui/components/networkAgent.js:231 + #: ../js/ui/components/networkAgent.js:243 + #: ../js/ui/components/networkAgent.js:271 +@@ -634,6 +657,7 @@ + msgid "Password: " + msgstr "Пароль: " + ++#. static WEP + #: ../js/ui/components/networkAgent.js:236 + msgid "Key: " + msgstr "Ключ: " +@@ -655,7 +679,7 @@ + msgstr "Беспроводная сеть требует подтверждения подлинности" + + #: ../js/ui/components/networkAgent.js:319 +-#, javascript-format ++#, c-format + msgid "" + "Passwords or encryption keys are required to access the wireless network " + "“%s”." +@@ -691,7 +715,7 @@ + msgstr "Пароль для мобильной широкополосной сети" + + #: ../js/ui/components/networkAgent.js:346 +-#, javascript-format ++#, c-format + msgid "A password is required to connect to “%s”." + msgstr "Для подключения к «%s» требуется пароль." + +@@ -710,19 +734,23 @@ + #. Translators: "that didn't work" refers to the fact that the + #. * requested authentication was not gained; this can happen + #. * because of an authentication error (like invalid password), +-#. * for instance. */ ++#. * for instance. + #: ../js/ui/components/polkitAgent.js:271 ../js/ui/shellMountOperation.js:383 + msgid "Sorry, that didn't work. Please try again." + msgstr "Не удалось подтвердить подлинность. Попробуйте снова." + ++#. FIXME: We don't have a 'chat room' icon (bgo #653737) use ++#. system-users for now as Empathy does. + #: ../js/ui/components/telepathyClient.js:240 + msgid "Invitation" + msgstr "Приглашение" + ++#. We got the TpContact + #: ../js/ui/components/telepathyClient.js:300 + msgid "Call" + msgstr "Вызов" + ++#. We got the TpContact + #: ../js/ui/components/telepathyClient.js:316 + msgid "File Transfer" + msgstr "Передача файлов" +@@ -739,92 +767,100 @@ + msgid "Mute" + msgstr "Приглушить звук" + +-#. Translators: Time in 24h format */ ++#. Translators: Time in 24h format + #: ../js/ui/components/telepathyClient.js:953 +-msgid "%H∶%M" +-msgstr "%H∶%M" ++msgid "%H\\u2236%M" ++msgstr "%H\\u2236%M" + + #. Translators: this is the word "Yesterday" followed by a +-#. time string in 24h format. i.e. "Yesterday, 14:30" */ ++#. time string in 24h format. i.e. "Yesterday, 14:30" + #: ../js/ui/components/telepathyClient.js:960 +-msgid "Yesterday, %H∶%M" +-msgstr "Вчера, %H∶%M" ++#, no-c-format ++msgid "Yesterday, %H\\u2236%M" ++msgstr "Вчера, %H\\u2236%M" + + #. Translators: this is the week day name followed by a time +-#. string in 24h format. i.e. "Monday, 14:30" */ ++#. string in 24h format. i.e. "Monday, 14:30" + #: ../js/ui/components/telepathyClient.js:967 +-msgid "%A, %H∶%M" +-msgstr "%A, %H∶%M" ++#, no-c-format ++msgid "%A, %H\\u2236%M" ++msgstr "%A, %H\\u2236%M" + + # fix даты "11 мар., 20:35" + #. Translators: this is the month name and day number + #. followed by a time string in 24h format. +-#. i.e. "May 25, 14:30" */ ++#. i.e. "May 25, 14:30" + #: ../js/ui/components/telepathyClient.js:974 +-msgid "%B %d, %H∶%M" +-msgstr "%d %b., %H∶%M" ++#, no-c-format ++msgid "%B %d, %H\\u2236%M" ++msgstr "%d %B., %H\\u2236%M" + + # fix даты + #. Translators: this is the month name, day number, year + #. number followed by a time string in 24h format. +-#. i.e. "May 25 2012, 14:30" */ ++#. i.e. "May 25 2012, 14:30" + #: ../js/ui/components/telepathyClient.js:980 +-msgid "%B %d %Y, %H∶%M" +-msgstr "%d %b., %Y, %H∶%M" ++#, no-c-format ++msgid "%B %d %Y, %H\\u2236%M" ++msgstr "%d %B. %Y, %H\\u2236%M" + + # по всей видимости разрабы коммент перепутали c "Translators: Time in 12h format" +-#. Translators: Time in 24h format */ ++#. Translators: Time in 24h format + #: ../js/ui/components/telepathyClient.js:986 +-msgid "%l∶%M %p" +-msgstr "%l∶%M %p" ++msgid "%l\\u2236%M %p" ++msgstr "%l\\u2236%M %p" + + #. Translators: this is the word "Yesterday" followed by a +-#. time string in 12h format. i.e. "Yesterday, 2:30 pm" */ ++#. time string in 12h format. i.e. "Yesterday, 2:30 pm" + #: ../js/ui/components/telepathyClient.js:993 +-msgid "Yesterday, %l∶%M %p" +-msgstr "Вчера, %l∶%M %p" ++#, no-c-format ++msgid "Yesterday, %l\\u2236%M %p" ++msgstr "Вчера, %l\\u2236%M %p" + + #. Translators: this is the week day name followed by a time +-#. string in 12h format. i.e. "Monday, 2:30 pm" */ ++#. string in 12h format. i.e. "Monday, 2:30 pm" + #: ../js/ui/components/telepathyClient.js:1000 +-msgid "%A, %l∶%M %p" +-msgstr "%A, %l∶%M %p" ++#, no-c-format ++msgid "%A, %l\\u2236%M %p" ++msgstr "%A, %l\\u2236%M %p" + + # fix даты + #. Translators: this is the month name and day number + #. followed by a time string in 12h format. +-#. i.e. "May 25, 2:30 pm" */ ++#. i.e. "May 25, 2:30 pm" + #: ../js/ui/components/telepathyClient.js:1007 +-msgid "%B %d, %l∶%M %p" +-msgstr "%d %b., %l∶%M %p" ++#, no-c-format ++msgid "%B %d, %l\\u2236%M %p" ++msgstr "%d %B, %l\\u2236%M %p" + + # fix даты + #. Translators: this is the month name, day number, year + #. number followed by a time string in 12h format. +-#. i.e. "May 25 2012, 2:30 pm"*/ ++#. i.e. "May 25 2012, 2:30 pm" + #: ../js/ui/components/telepathyClient.js:1013 +-msgid "%B %d %Y, %l∶%M %p" +-msgstr "%d %b., %Y, %l∶%M %p" ++#, no-c-format ++msgid "%B %d %Y, %l\\u2236%M %p" ++msgstr "%d %B. %Y, %l\\u2236%M %p" + + #. Translators: this is the other person changing their old IM name to their new +-#. IM name. */ ++#. IM name. + #: ../js/ui/components/telepathyClient.js:1045 +-#, javascript-format ++#, c-format + msgid "%s is now known as %s" + msgstr "Контакт %s теперь известен как %s" + + #. translators: argument is a room name like +-#. * room@jabber.org for example. */ ++#. * room@jabber.org for example. + #: ../js/ui/components/telepathyClient.js:1149 +-#, javascript-format ++#, c-format + msgid "Invitation to %s" + msgstr "Приглашение в %s" + + #. translators: first argument is the name of a contact and the second + #. * one the name of a room. "Alice is inviting you to join room@jabber.org +-#. * for example. */ ++#. * for example. + #: ../js/ui/components/telepathyClient.js:1157 +-#, javascript-format ++#, c-format + msgid "%s is inviting you to join %s" + msgstr "%s приглашает вас присоединиться к %s" + +@@ -841,19 +877,19 @@ + msgid "Accept" + msgstr "Принять" + +-#. translators: argument is a contact name like Alice for example. */ ++#. translators: argument is a contact name like Alice for example. + #: ../js/ui/components/telepathyClient.js:1184 +-#, javascript-format ++#, c-format + msgid "Video call from %s" + msgstr "Видеозвонок от %s" + +-#. translators: argument is a contact name like Alice for example. */ ++#. translators: argument is a contact name like Alice for example. + #: ../js/ui/components/telepathyClient.js:1187 +-#, javascript-format ++#, c-format + msgid "Call from %s" + msgstr "Вас вызывает %s" + +-#. translators: this is a button label (verb), not a noun */ ++#. translators: this is a button label (verb), not a noun + #: ../js/ui/components/telepathyClient.js:1201 + msgid "Answer" + msgstr "Ответить" +@@ -862,15 +898,15 @@ + #. * the contact's alias and the second one is the + #. * file name. The string will be something + #. * like: "Alice is sending you test.ogg" +-#. */ ++#. + #: ../js/ui/components/telepathyClient.js:1222 +-#, javascript-format ++#, c-format + msgid "%s is sending you %s" + msgstr "%s отправляет вам %s" + +-#. To translators: The parameter is the contact's alias */ ++#. To translators: The parameter is the contact's alias + #: ../js/ui/components/telepathyClient.js:1251 +-#, javascript-format ++#, c-format + msgid "%s would like permission to see when you are online" + msgstr "%s хочет видеть, когда вы доступны в сети" + +@@ -980,9 +1016,9 @@ + msgstr "Внутренняя ошибка" + + #. translators: argument is the account name, like +-#. * name@jabber.org for example. */ ++#. * name@jabber.org for example. + #: ../js/ui/components/telepathyClient.js:1393 +-#, javascript-format ++#, c-format + msgid "Unable to connect to %s" + msgstr "Не удалось подключиться к %s" + +@@ -994,7 +1030,7 @@ + msgid "Unknown reason" + msgstr "Неизвестная причина" + +-#: ../js/ui/ctrlAltTab.js:29 ../js/ui/viewSelector.js:154 ++#: ../js/ui/ctrlAltTab.js:29 ../js/ui/viewSelector.js:155 + msgid "Windows" + msgstr "Окна" + +@@ -1002,32 +1038,34 @@ + msgid "Show Applications" + msgstr "Показать приложения" + ++#. Translators: this is the name of the dock/favorites area on ++#. the left of the overview + #: ../js/ui/dash.js:445 + msgid "Dash" + msgstr "Панель приложений" + +-#: ../js/ui/dateMenu.js:96 ++#: ../js/ui/dateMenu.js:97 + msgid "Open Calendar" + msgstr "Открыть календарь" + +-#: ../js/ui/dateMenu.js:100 ++#: ../js/ui/dateMenu.js:101 + msgid "Open Clocks" + msgstr "Открыть часы" + +-#: ../js/ui/dateMenu.js:107 ++#: ../js/ui/dateMenu.js:108 + msgid "Date & Time Settings" + msgstr "Настроить дату и время" + + # fix для даты в календаре и на экране блокировки + #. 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:204 ++#. ++#: ../js/ui/dateMenu.js:132 + msgid "%A %B %e, %Y" + msgstr "%A, %e %b., %Y" + + #: ../js/ui/endSessionDialog.js:64 +-#, javascript-format ++#, c-format + msgctxt "title" + msgid "Log Out %s" + msgstr "Завершение сеанса пользователя %s" +@@ -1038,17 +1076,18 @@ + msgstr "Завершение сеанса" + + #: ../js/ui/endSessionDialog.js:67 +-#, javascript-format ++#, c-format + msgid "%s will be logged out automatically in %d second." + msgid_plural "%s will be logged out automatically in %d seconds." + msgstr[0] "" + "Сеанс пользователя %s будет автоматически завершён через %d секунду." + msgstr[1] "" + "Сеанс пользователя %s будет автоматически завершён через %d секунды." +-msgstr[2] "Сеанс пользователя %s будет автоматически завершён через %d секунд." ++msgstr[2] "" ++"Сеанс пользователя %s будет автоматически завершён через %d секунд." + + #: ../js/ui/endSessionDialog.js:72 +-#, javascript-format ++#, c-format + msgid "You will be logged out automatically in %d second." + msgid_plural "You will be logged out automatically in %d seconds." + msgstr[0] "Сеанс будет автоматически завершён через %d секунду." +@@ -1071,7 +1110,7 @@ + msgstr "Установить обновления и выключить" + + #: ../js/ui/endSessionDialog.js:87 +-#, javascript-format ++#, c-format + msgid "The system will power off automatically in %d second." + msgid_plural "The system will power off automatically in %d seconds." + msgstr[0] "Система будет автоматически выключена через %d секунду." +@@ -1099,7 +1138,7 @@ + msgstr "Перезапуск" + + #: ../js/ui/endSessionDialog.js:105 +-#, javascript-format ++#, c-format + msgid "The system will restart automatically in %d second." + msgid_plural "The system will restart automatically in %d seconds." + msgstr[0] "Система будет автоматически перезапущена через %d секунду." +@@ -1112,14 +1151,17 @@ + msgstr "Перезапуск и установка обновлений" + + #: ../js/ui/endSessionDialog.js:121 +-#, javascript-format +-msgid "The system will automatically restart and install updates in %d second." ++#, c-format ++msgid "" ++"The system will automatically restart and install updates in %d second." + msgid_plural "" + "The system will automatically restart and install updates in %d seconds." + msgstr[0] "" + "Система автоматически перезапустится и установит обновления через %d секунду." ++"" + msgstr[1] "" + "Система автоматически перезапустится и установит обновления через %d секунды." ++"" + msgstr[2] "" + "Система автоматически перезапустится и установит обновления через %d секунд." + +@@ -1152,15 +1194,15 @@ + msgid "Other users are logged in." + msgstr "В системе имеются открытые сеансы других пользователей." + +-#. Translators: Remote here refers to a remote session, like a ssh login */ ++#. Translators: Remote here refers to a remote session, like a ssh login + #: ../js/ui/endSessionDialog.js:640 +-#, javascript-format ++#, c-format + msgid "%s (remote)" + msgstr "%s (удалённый)" + +-#. Translators: Console here refers to a tty like a VT console */ ++#. Translators: Console here refers to a tty like a VT console + #: ../js/ui/endSessionDialog.js:643 +-#, javascript-format ++#, c-format + msgid "%s (console)" + msgstr "%s (консоль)" + +@@ -1169,99 +1211,120 @@ + msgstr "Установить" + + #: ../js/ui/extensionDownloader.js:204 +-#, javascript-format ++#, c-format + msgid "Download and install “%s” from extensions.gnome.org?" + msgstr "Загрузить и установить расширение «%s» из extensions.gnome.org?" + +-#: ../js/ui/keyboard.js:692 ../js/ui/status/keyboard.js:523 ++#: ../js/ui/extensionSystem.js:314 ++#, c-format ++msgid "%d extension is out of date" ++msgid_plural "%d extensions are out of date" ++msgstr[0] "%d расширение устарело" ++msgstr[1] "%d расширения устарело" ++msgstr[2] "%d расширений устарело" ++ ++#: ../js/ui/extensionSystem.js:317 ++msgid "You can visit http://extensions.gnome.org for updates" ++msgstr "Чтобы установить обновления, перейдите на http://extensions.gnome.org" ++ ++#: ../js/ui/keyboard.js:700 ../js/ui/status/keyboard.js:535 + msgid "Keyboard" + msgstr "Клавиатура" + +-#: ../js/ui/lookingGlass.js:643 ++#: ../js/ui/lookingGlass.js:645 + msgid "No extensions installed" + msgstr "Расширения не установлены" + +-#. Translators: argument is an extension UUID. */ +-#: ../js/ui/lookingGlass.js:697 +-#, javascript-format ++#. Translators: argument is an extension UUID. ++#: ../js/ui/lookingGlass.js:699 ++#, c-format + msgid "%s has not emitted any errors." + msgstr "%s не сообщал о каких-либо ошибках." + +-#: ../js/ui/lookingGlass.js:703 ++#: ../js/ui/lookingGlass.js:705 + msgid "Hide Errors" + msgstr "Скрыть ошибки" + +-#: ../js/ui/lookingGlass.js:707 ../js/ui/lookingGlass.js:767 ++#: ../js/ui/lookingGlass.js:709 ../js/ui/lookingGlass.js:769 + msgid "Show Errors" + msgstr "Показать ошибки" + +-#: ../js/ui/lookingGlass.js:716 ../js/ui/status/location.js:71 ++#: ../js/ui/lookingGlass.js:718 ../js/ui/status/location.js:71 + #: ../js/ui/status/location.js:176 + msgid "Enabled" + msgstr "Включено" + + #. Translators: this is for a network device that cannot be activated +-#. because it's disabled by rfkill (airplane mode) */ ++#. because it's disabled by rfkill (airplane mode) + #. translators: + #. * The device has been disabled +-#: ../js/ui/lookingGlass.js:719 ../js/ui/status/location.js:179 ++#: ../js/ui/lookingGlass.js:721 ../js/ui/status/location.js:179 + #: ../js/ui/status/network.js:592 ../src/gvc/gvc-mixer-control.c:1830 + msgid "Disabled" + msgstr "Выключено" + +-#: ../js/ui/lookingGlass.js:721 ++#: ../js/ui/lookingGlass.js:723 + msgid "Error" + msgstr "Ошибка" + +-#: ../js/ui/lookingGlass.js:723 ++#: ../js/ui/lookingGlass.js:725 + msgid "Out of date" + msgstr "Устарело" + +-#: ../js/ui/lookingGlass.js:725 ++#: ../js/ui/lookingGlass.js:727 + msgid "Downloading" + msgstr "Загрузка" + +-#: ../js/ui/lookingGlass.js:749 ++#: ../js/ui/lookingGlass.js:751 + msgid "View Source" + msgstr "Показать код" + +-#: ../js/ui/lookingGlass.js:758 ++#: ../js/ui/lookingGlass.js:760 + msgid "Web Page" + msgstr "Веб-страница" + +-#: ../js/ui/messageTray.js:1327 ++#: ../js/ui/messageTray.js:1334 + msgid "Open" + msgstr "Открыть" + +-#: ../js/ui/messageTray.js:1334 ++#: ../js/ui/messageTray.js:1341 + msgid "Remove" + msgstr "Удалить" + +-#: ../js/ui/messageTray.js:1631 ++#: ../js/ui/messageTray.js:1638 + msgid "Notifications" + msgstr "Уведомления" + +-#: ../js/ui/messageTray.js:1638 ++#: ../js/ui/messageTray.js:1645 + msgid "Clear Messages" + msgstr "Очистить список сообщений" + +-#: ../js/ui/messageTray.js:1657 ++#: ../js/ui/messageTray.js:1664 + msgid "Notification Settings" + msgstr "Параметры уведомлений" + +-#: ../js/ui/messageTray.js:1710 ++#: ../js/ui/messageTray.js:1717 + msgid "Tray Menu" + msgstr "Меню панели" + +-#: ../js/ui/messageTray.js:1934 ++#: ../js/ui/messageTray.js:1941 + msgid "No Messages" + msgstr "Сообщений нет" + +-#: ../js/ui/messageTray.js:1979 ++#: ../js/ui/messageTray.js:1988 + msgid "Message Tray" + msgstr "Панель сообщений" + +-#: ../js/ui/messageTray.js:2992 ++#: ../js/ui/messageTray.js:2447 ../js/ui/overviewControls.js:483 ++#: ../js/ui/screenShield.js:151 ++#, c-format ++msgid "%d new message" ++msgid_plural "%d new messages" ++msgstr[0] "%d новое сообщение" ++msgstr[1] "%d новых сообщения" ++msgstr[2] "%d новых сообщений" ++ ++#: ../js/ui/messageTray.js:3017 + msgid "System Information" + msgstr "Системная информация" + +@@ -1270,14 +1333,6 @@ + msgid "Unknown" + msgstr "Неизвестное приложение" + +-#: ../js/ui/overviewControls.js:482 ../js/ui/screenShield.js:151 +-#, javascript-format +-msgid "%d new message" +-msgid_plural "%d new messages" +-msgstr[0] "%d новое сообщение" +-msgstr[1] "%d новых сообщения" +-msgstr[2] "%d новых сообщений" +- + #: ../js/ui/overview.js:84 + msgid "Undo" + msgstr "Отменить" +@@ -1289,7 +1344,7 @@ + #. Translators: this is the text displayed + #. in the search entry when no search is + #. active; it should not exceed ~30 +-#. characters. */ ++#. characters. + #: ../js/ui/overview.js:246 + msgid "Type to search…" + msgstr "Найти…" +@@ -1299,15 +1354,20 @@ + msgstr "Закрыть" + + #. Translators: If there is no suitable word for "Activities" +-#. in your language, you can use the word for "Overview". */ +-#: ../js/ui/panel.js:567 ++#. in your language, you can use the word for "Overview". ++#: ../js/ui/panel.js:574 + msgid "Activities" + msgstr "Обзор" + +-#: ../js/ui/panel.js:918 ++#: ../js/ui/panel.js:925 + msgid "Top Bar" + 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:269 + msgid "toggle-switch-us" + msgstr "toggle-switch-intl" +@@ -1326,40 +1386,47 @@ + + # fix для даты в календаре и на экране блокировки + #. Translators: This is a time format for a date in +-#. long format */ ++#. long format + #: ../js/ui/screenShield.js:88 + msgid "%A, %B %d" + msgstr "%A, %d %b., %Y" + + #: ../js/ui/screenShield.js:153 +-#, javascript-format ++#, c-format + msgid "%d new notification" + msgid_plural "%d new notifications" + msgstr[0] "%d новое уведомление" + msgstr[1] "%d новых уведомления" + msgstr[2] "%d новых уведомлений" + +-#: ../js/ui/screenShield.js:472 ../js/ui/status/system.js:345 ++#: ../js/ui/screenShield.js:473 ../js/ui/status/system.js:345 + msgid "Lock" + msgstr "Заблокировать" + +-#: ../js/ui/screenShield.js:706 ++#: ../js/ui/screenShield.js:709 + msgid "GNOME needs to lock the screen" + msgstr "GNOME необходимо заблокировать экран" + +-#: ../js/ui/screenShield.js:833 ../js/ui/screenShield.js:1304 ++#. We could not become modal, so we can't activate the ++#. screenshield. The user is probably very upset at this ++#. point, but any application using global grabs is broken ++#. Just tell him to stop using this app ++#. ++#. XXX: another option is to kick the user into the gdm login ++#. screen, where we're not affected by grabs ++#: ../js/ui/screenShield.js:836 ../js/ui/screenShield.js:1312 + msgid "Unable to lock" + msgstr "Не удалось заблокировать" + +-#: ../js/ui/screenShield.js:834 ../js/ui/screenShield.js:1305 ++#: ../js/ui/screenShield.js:837 ../js/ui/screenShield.js:1313 + msgid "Lock was blocked by an application" + msgstr "Блокировке помешало приложение" + +-#: ../js/ui/search.js:594 ++#: ../js/ui/search.js:611 + msgid "Searching…" + msgstr "Поиск…" + +-#: ../js/ui/search.js:596 ++#: ../js/ui/search.js:613 + msgid "No results." + msgstr "Ничего не найдено." + +@@ -1431,6 +1498,8 @@ + msgid "Large Text" + msgstr "Крупный текст" + ++#. The Bluetooth menu only appears when Bluetooth is in use, ++#. so just statically build it with a "Turn Off" menu item. + #: ../js/ui/status/bluetooth.js:49 + msgid "Bluetooth" + msgstr "Bluetooth" +@@ -1447,7 +1516,7 @@ + msgstr "Настроить Bluetooth" + + #: ../js/ui/status/bluetooth.js:104 +-#, javascript-format ++#, c-format + msgid "%d Connected Device" + msgid_plural "%d Connected Devices" + msgstr[0] "Подключено %d устройство" +@@ -1462,7 +1531,7 @@ + msgid "Brightness" + msgstr "Яркость" + +-#: ../js/ui/status/keyboard.js:547 ++#: ../js/ui/status/keyboard.js:559 + msgid "Show Keyboard Layout" + msgstr "Показать раскладку клавиатуры" + +@@ -1500,7 +1569,7 @@ + msgstr "Подключено" + + #. Translators: this is for network devices that are physically present but are not +-#. under NetworkManager's control (and thus cannot be used in the menu) */ ++#. under NetworkManager's control (and thus cannot be used in the menu) + #: ../js/ui/status/network.js:463 + msgid "Unmanaged" + msgstr "Не управляется" +@@ -1513,19 +1582,19 @@ + msgid "Connecting" + msgstr "Подключение" + +-#. Translators: this is for network connections that require some kind of key or password */ ++#. Translators: this is for network connections that require some kind of key or password + #: ../js/ui/status/network.js:474 + msgid "Authentication required" + msgstr "Требуется подтверждение подлинности" + + #. Translators: this is for devices that require some kind of firmware or kernel +-#. module, which is missing */ ++#. module, which is missing + #: ../js/ui/status/network.js:482 + msgid "Firmware missing" + msgstr "Отсутствует прошивка" + + #. Translators: this is for a network device that cannot be activated (for example it +-#. is disabled by rfkill, or it has no coverage */ ++#. is disabled by rfkill, or it has no coverage + #: ../js/ui/status/network.js:486 + msgid "Unavailable" + msgstr "Недоступно" +@@ -1610,7 +1679,7 @@ + msgid "connecting..." + msgstr "подключение…" + +-#. Translators: this is for network connections that require some kind of key or password */ ++#. Translators: this is for network connections that require some kind of key or password + #: ../js/ui/status/network.js:1412 + msgid "authentication required" + msgstr "требуется подтверждение подлинности" +@@ -1647,19 +1716,25 @@ + msgid "Fully Charged" + msgstr "Полностью заряжена" + ++#. 0 is reported when UPower does not have enough data ++#. to estimate battery life + #: ../js/ui/status/power.js:72 ../js/ui/status/power.js:78 + msgid "Estimating…" + msgstr "Выполняется подсчёт…" + ++#. Translators: this is : Remaining () + #: ../js/ui/status/power.js:86 +-#, javascript-format +-msgid "%d∶%02d Remaining (%d%%)" +-msgstr "Осталось %d∶%02d (%d%%)" ++#, c-format ++msgid "%d\\u2236%02d Remaining (%d%%)" ++msgstr "Осталось %d ч. %02d мин.\n" ++"Заряд (%d %%)" + ++#. Translators: this is : Until Full () + #: ../js/ui/status/power.js:91 +-#, javascript-format +-msgid "%d∶%02d Until Full (%d%%)" +-msgstr "До полного заряда %d∶%02d (%d%%)" ++#, c-format ++msgid "%d\\u2236%02d Until Full (%d%%)" ++msgstr "До полной %d ч. %02d мин.\\n\"\n" ++"Заряжается (%d%%)" + + # Источник Бесперебойного Питания + #: ../js/ui/status/power.js:119 +@@ -1670,6 +1745,9 @@ + msgid "Battery" + msgstr "Батарея" + ++#. The menu only appears when airplane mode is on, so just ++#. statically build it as if it was on, rather than dynamically ++#. changing the menu contents. + #: ../js/ui/status/rfkill.js:83 + msgid "Airplane Mode" + msgstr "Режим авиаперелёта" +@@ -1718,16 +1796,16 @@ + msgid "Unlock Window" + msgstr "Разблокировать окно" + +-#: ../js/ui/viewSelector.js:158 ++#: ../js/ui/viewSelector.js:159 + msgid "Applications" + msgstr "Приложения" + +-#: ../js/ui/viewSelector.js:162 ++#: ../js/ui/viewSelector.js:163 + msgid "Search" + msgstr "Поиск" + + #: ../js/ui/windowAttentionHandler.js:19 +-#, javascript-format ++#, c-format + msgid "“%s” is ready" + msgstr "Окно «%s» ожидает" + +@@ -1737,7 +1815,7 @@ + + #. Translators: this and the following message should be limited in lenght, + #. to avoid ellipsizing the labels. +-#. */ ++#. + #: ../js/ui/windowManager.js:84 + msgid "Revert Settings" + msgstr "Вернуть параметры" +@@ -1747,7 +1825,7 @@ + msgstr "Сохранить изменения" + + #: ../js/ui/windowManager.js:107 +-#, javascript-format ++#, c-format + msgid "Settings changes will revert in %d second" + msgid_plural "Settings changes will revert in %d seconds" + msgstr[0] "Изменения параметров будут отменены через %d секунду" +@@ -1822,20 +1900,20 @@ + msgid "System Sounds" + msgstr "Системные звуки" + +-#: ../src/main.c:373 ++#: ../src/main.c:381 + msgid "Print version" + msgstr "Показать номер версии" + +-#: ../src/main.c:379 ++#: ../src/main.c:387 + msgid "Mode used by GDM for login screen" + msgstr "Режим, используемый GDM для окна входа в систему" + +-#: ../src/main.c:385 ++#: ../src/main.c:393 + msgid "Use a specific mode, e.g. \"gdm\" for login screen" + msgstr "" + "Использовать для экрана входа в систему определённый режим, например «gdm»" + +-#: ../src/main.c:391 ++#: ../src/main.c:399 + msgid "List possible modes" + msgstr "Список возможных режимов" + +diff -urN gnome-shell-3.14.4/po/zh_CN.po gnome-shell-3.14.4_localized/po/zh_CN.po +--- gnome-shell-3.14.4/po/zh_CN.po 2015-03-23 23:39:15.000000000 +0530 ++++ gnome-shell-3.14.4_localized/po/zh_CN.po 2016-03-11 22:07:50.732000000 +0530 +@@ -15,22 +15,22 @@ + # Tong Hui , 2013, 2014. + # hui , 2013, 2014. + # mosquito , 2014. +-# ++# Leah Liu , 2016. #zanata ++# pnemade , 2016. #zanata + 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: 2014-09-19 13:13+0000\n" +-"PO-Revision-Date: 2014-09-23 19:42+0800\n" +-"Last-Translator: Yunqiang Su \n" +-"Language-Team: Chinese (simplified) \n" +-"Language: zh_CN\n" ++"Report-Msgid-Bugs-To: \n" ++"POT-Creation-Date: 2016-02-10 14:02+0530\n" + "MIME-Version: 1.0\n" + "Content-Type: text/plain; charset=UTF-8\n" + "Content-Transfer-Encoding: 8bit\n" ++"PO-Revision-Date: 2016-03-04 05:29+0000\n" ++"Last-Translator: Leah Liu \n" ++"Language-Team: Chinese (simplified) \n" ++"Language: zh-CN\n" + "Plural-Forms: nplurals=1; plural=0;\n" +-"X-Generator: Poedit 1.6.9\n" ++"X-Generator: Zanata 3.8.2\n" + + #: ../data/50-gnome-shell-system.xml.in.h:1 + msgid "System" +@@ -98,9 +98,8 @@ + "list. You can also manipulate this list with the EnableExtension and " + "DisableExtension D-Bus methods on org.gnome.Shell." + msgstr "" +-"GNOME Shell 扩展有一个 UUID 属性,此键列出了应该加载的扩展。任何需要加载的扩" +-"展都需出现在此列表中。您还可以通过 DBus 的方式对 org.gnome.Shell 里的 " +-"EnableExtension 和 DisableExtension 的值进行修改,以修改此列表。" ++"GNOME Shell 扩展有一个 UUID 属性,此键列出了应该加载的扩展。任何需要加载的扩展都需出现在此列表中。您还可以通过 DBus 的方式对 " ++"org.gnome.Shell 里的 EnableExtension 和 DisableExtension 的值进行修改,以修改此列表。" + + #: ../data/org.gnome.shell.gschema.xml.in.in.h:5 + msgid "Disables the validation of extension version compatibility" +@@ -111,9 +110,7 @@ + "GNOME Shell will only load extensions that claim to support the current " + "running version. Enabling this option will disable this check and try to " + "load all extensions regardless of the versions they claim to support." +-msgstr "" +-"GNOME 只会加载声明支持当前运行版本的扩展。启用该选项会禁止此检查,并尝试加载" +-"所有扩展,无视它们声明支持的版本。" ++msgstr "GNOME 只会加载声明支持当前运行版本的扩展。启用该选项会禁止此检查,并尝试加载所有扩展,无视它们声明支持的版本。" + + #: ../data/org.gnome.shell.gschema.xml.in.in.h:7 + msgid "List of desktop file IDs for favorite applications" +@@ -150,8 +147,7 @@ + msgid "" + "This key overrides the automatic hiding of the 'Log out' menu item in single-" + "user, single-session situations." +-msgstr "" +-"单用户、单会话情形下,“注销”菜单项默认隐藏,使用这个按键会覆盖这种行为。" ++msgstr "单用户、单会话情形下,“注销”菜单项默认隐藏,使用这个按键会覆盖这种行为。" + + #: ../data/org.gnome.shell.gschema.xml.in.in.h:15 + msgid "" +@@ -165,8 +161,8 @@ + "'Remember Password' checkbox will be present. This key sets the default " + "state of the checkbox." + msgstr "" +-"挂载加密设备或远程文件系统时 Gnome Shell 将要求输入密码。如果该密码可以记住并" +-"在今后使用,则会有“记住密码”复选框出现。这个键设置了该复选框的默认状态。" ++"挂载加密设备或远程文件系统时 Gnome Shell " ++"将要求输入密码。如果该密码可以记住并在今后使用,则会有“记住密码”复选框出现。这个键设置了该复选框的默认状态。" + + #: ../data/org.gnome.shell.gschema.xml.in.in.h:17 + msgid "Show the week date in the calendar" +@@ -191,6 +187,7 @@ + #: ../data/org.gnome.shell.gschema.xml.in.in.h:22 + msgid "" + "Keybinding to open the \"Show Applications\" view of the Activities Overview." ++"" + msgstr "用于在活动视图中打开“显示应用程序”视图的按键组合。" + + #: ../data/org.gnome.shell.gschema.xml.in.in.h:23 +@@ -219,7 +216,8 @@ + + #: ../data/org.gnome.shell.gschema.xml.in.in.h:29 + msgid "" +-"Keybinding that pauses and resumes all running tweens, for debugging purposes" ++"Keybinding that pauses and resumes all running tweens, for debugging " ++"purposes" + msgstr "暂停和恢复所有执行中动画的组合键,用于调试" + + #: ../data/org.gnome.shell.gschema.xml.in.in.h:30 +@@ -247,11 +245,9 @@ + #: ../data/org.gnome.shell.gschema.xml.in.in.h:35 + msgid "" + "Configures how the windows are shown in the switcher. Valid possibilities " +-"are 'thumbnail-only' (shows a thumbnail of the window), 'app-icon-" +-"only' (shows only the application icon) or 'both'." +-msgstr "" +-"配置窗口如何显示于切换器中。有效的值有“thumbnail-only”“app-icon-" +-"only”和“both”。" ++"are 'thumbnail-only' (shows a thumbnail of the window), 'app-icon-only' " ++"(shows only the application icon) or 'both'." ++msgstr "配置窗口如何显示于切换器中。有效的值有“thumbnail-only”“app-icon-only”和“both”。" + + #: ../data/org.gnome.shell.gschema.xml.in.in.h:36 + msgid "" +@@ -289,7 +285,7 @@ + msgstr "网页认证" + + #: ../js/extensionPrefs/main.js:123 +-#, javascript-format ++#, c-format + msgid "There was an error loading the preferences dialog for %s:" + msgstr "载入 %s 的首选想对话框出错:" + +@@ -297,54 +293,68 @@ + msgid "GNOME Shell Extensions" + msgstr "配置 GNOME Shell 扩展" + +-#: ../js/gdm/authPrompt.js:147 ../js/ui/components/networkAgent.js:143 ++#: ../js/gdm/authPrompt.js:159 ../js/ui/components/networkAgent.js:143 + #: ../js/ui/components/polkitAgent.js:166 ../js/ui/endSessionDialog.js:452 + #: ../js/ui/extensionDownloader.js:195 ../js/ui/shellMountOperation.js:399 + #: ../js/ui/status/network.js:915 + msgid "Cancel" + msgstr "取消" + +-#: ../js/gdm/authPrompt.js:169 ../js/gdm/authPrompt.js:217 ++#: ../js/gdm/authPrompt.js:181 ../js/gdm/authPrompt.js:228 ++#: ../js/gdm/authPrompt.js:466 + msgid "Next" + msgstr "下一步" + +-#: ../js/gdm/authPrompt.js:213 ../js/ui/shellMountOperation.js:403 ++#: ../js/gdm/authPrompt.js:224 ../js/ui/shellMountOperation.js:403 + #: ../js/ui/unlockDialog.js:59 + msgid "Unlock" + msgstr "解锁" + +-#: ../js/gdm/authPrompt.js:215 ++#: ../js/gdm/authPrompt.js:226 + msgctxt "button" + msgid "Sign In" + msgstr "登录" + +-#: ../js/gdm/loginDialog.js:269 ++#: ../js/gdm/loginDialog.js:297 + msgid "Choose Session" + msgstr "选择会话" + +-#: ../js/gdm/loginDialog.js:429 ++#. translators: this message is shown below the user list on the ++#. login screen. It can be activated to reveal an entry for ++#. manually entering the username. ++#: ../js/gdm/loginDialog.js:458 + msgid "Not listed?" + msgstr "未列出?" + +-#: ../js/gdm/loginDialog.js:614 +-#, javascript-format ++#. Translators: this message is shown below the username entry field ++#. to clue the user in on how to login to the local network realm ++#: ../js/gdm/loginDialog.js:859 ++#, c-format + msgid "(e.g., user or %s)" + msgstr "(如 user 或 %s)" + +-#: ../js/gdm/loginDialog.js:619 ../js/ui/components/networkAgent.js:269 ++#. TTLS and PEAP are actually much more complicated, but this complication ++#. is not visible here since we only care about phase2 authentication ++#. (and don't even care of which one) ++#: ../js/gdm/loginDialog.js:864 ../js/ui/components/networkAgent.js:269 + #: ../js/ui/components/networkAgent.js:287 + msgid "Username: " + msgstr "用户名:" + +-#: ../js/gdm/loginDialog.js:922 ++#: ../js/gdm/loginDialog.js:1193 + msgid "Login Window" + msgstr "登录窗口" + +-#: ../js/gdm/util.js:323 ++#: ../js/gdm/util.js:344 + msgid "Authentication error" + msgstr "认证出错" + +-#: ../js/gdm/util.js:453 ++#. We don't show fingerprint messages directly since it's ++#. not the main auth service. Instead we use the messages ++#. as a cue to display our own message. ++#. Translators: this message is shown below the password entry field ++#. to indicate the user can swipe their finger instead ++#: ../js/gdm/util.js:483 + msgid "(or swipe finger)" + msgstr "(或滑动手指)" + +@@ -352,58 +362,62 @@ + msgid "Command not found" + msgstr "命令未找到" + ++#. Replace "Error invoking GLib.shell_parse_argv: " with ++#. something nicer + #: ../js/misc/util.js:148 + msgid "Could not parse command:" + msgstr "不能解析命令:" + + #: ../js/misc/util.js:156 +-#, javascript-format ++#, c-format + msgid "Execution of “%s” failed:" + msgstr "运行“%s”失败:" + ++#. TRANSLATORS: this is the title of the wifi captive portal login ++#. window, until we know the title of the actual login page + #: ../js/portalHelper/main.js:85 + msgid "Web Authentication Redirect" + msgstr "网页认证重定向" + +-#: ../js/ui/appDisplay.js:772 ++#: ../js/ui/appDisplay.js:773 + msgid "Frequently used applications will appear here" + msgstr "常用的应用程序会出现在这里" + +-#: ../js/ui/appDisplay.js:883 ++#: ../js/ui/appDisplay.js:884 + msgid "Frequent" + msgstr "常用" + +-#: ../js/ui/appDisplay.js:890 ++#: ../js/ui/appDisplay.js:891 + msgid "All" + msgstr "全部" + +-#: ../js/ui/appDisplay.js:1790 ++#: ../js/ui/appDisplay.js:1795 + msgid "New Window" + msgstr "新窗口" + +-#: ../js/ui/appDisplay.js:1816 ../js/ui/dash.js:285 ++#: ../js/ui/appDisplay.js:1821 ../js/ui/dash.js:285 + msgid "Remove from Favorites" + msgstr "从收藏夹中移除" + +-#: ../js/ui/appDisplay.js:1822 ++#: ../js/ui/appDisplay.js:1827 + msgid "Add to Favorites" + msgstr "添加到收藏夹" + +-#: ../js/ui/appDisplay.js:1831 ++#: ../js/ui/appDisplay.js:1836 + msgid "Show Details" + msgstr "显示细节" + +-#: ../js/ui/appFavorites.js:132 +-#, javascript-format ++#: ../js/ui/appFavorites.js:133 ++#, c-format + msgid "%s has been added to your favorites." + msgstr "%s 已经添加到了您的收藏夹。" + +-#: ../js/ui/appFavorites.js:166 +-#, javascript-format ++#: ../js/ui/appFavorites.js:167 ++#, c-format + msgid "%s has been removed from your favorites." + msgstr "%s 已经从您的收藏夹移除。" + +-#: ../js/ui/backgroundMenu.js:19 ../js/ui/panel.js:813 ++#: ../js/ui/backgroundMenu.js:19 ../js/ui/panel.js:820 + #: ../js/ui/status/system.js:337 + msgid "Settings" + msgstr "设置" +@@ -414,69 +428,69 @@ + + #. 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:67 ++#. ++#: ../js/ui/calendar.js:70 + msgctxt "event list time" + msgid "All Day" + msgstr "全天" + + #. Translators: Shown in calendar event list, if 24h format, +-#. \u2236 is a ratio character, similar to : */ +-#: ../js/ui/calendar.js:73 ++#. \u2236 is a ratio character, similar to : ++#: ../js/ui/calendar.js:77 + msgctxt "event list time" +-msgid "%H∶%M" +-msgstr "%H∶%M" ++msgid "%H\\u2236%M" ++msgstr "%H\\u2236%M" + + #. Translators: Shown in calendar event list, if 12h format, + #. \u2236 is a ratio character, similar to : and \u2009 is +-#. a thin space */ +-#: ../js/ui/calendar.js:82 ++#. a thin space ++#: ../js/ui/calendar.js:86 + msgctxt "event list time" +-msgid "%l∶%M %p" +-msgstr "%p %-l:%M" ++msgid "%l\\u2236%M\\u2009%p" ++msgstr "%l\\u2236%M\\u2009%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:113 ++#. ++#: ../js/ui/calendar.js:100 + msgctxt "grid sunday" + msgid "S" + msgstr "日" + +-#. Translators: Calendar grid abbreviation for Monday */ +-#: ../js/ui/calendar.js:115 ++#. Translators: Calendar grid abbreviation for Monday ++#: ../js/ui/calendar.js:102 + msgctxt "grid monday" + msgid "M" + msgstr "一" + +-#. Translators: Calendar grid abbreviation for Tuesday */ +-#: ../js/ui/calendar.js:117 ++#. Translators: Calendar grid abbreviation for Tuesday ++#: ../js/ui/calendar.js:104 + msgctxt "grid tuesday" + msgid "T" + msgstr "二" + +-#. Translators: Calendar grid abbreviation for Wednesday */ +-#: ../js/ui/calendar.js:119 ++#. Translators: Calendar grid abbreviation for Wednesday ++#: ../js/ui/calendar.js:106 + msgctxt "grid wednesday" + msgid "W" + msgstr "三" + +-#. Translators: Calendar grid abbreviation for Thursday */ +-#: ../js/ui/calendar.js:121 ++#. Translators: Calendar grid abbreviation for Thursday ++#: ../js/ui/calendar.js:108 + msgctxt "grid thursday" + msgid "T" + msgstr "四" + +-#. Translators: Calendar grid abbreviation for Friday */ +-#: ../js/ui/calendar.js:123 ++#. Translators: Calendar grid abbreviation for Friday ++#: ../js/ui/calendar.js:110 + msgctxt "grid friday" + msgid "F" + msgstr "五" + +-#. Translators: Calendar grid abbreviation for Saturday */ +-#: ../js/ui/calendar.js:125 ++#. Translators: Calendar grid abbreviation for Saturday ++#: ../js/ui/calendar.js:112 + msgctxt "grid saturday" + msgid "S" + msgstr "六" +@@ -486,86 +500,86 @@ + #. * 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:138 ++#. ++#: ../js/ui/calendar.js:125 + msgctxt "list sunday" + msgid "Su" + msgstr "周日" + +-#. Translators: Event list abbreviation for Monday */ +-#: ../js/ui/calendar.js:140 ++#. Translators: Event list abbreviation for Monday ++#: ../js/ui/calendar.js:127 + msgctxt "list monday" + msgid "M" + msgstr "周一" + +-#. Translators: Event list abbreviation for Tuesday */ +-#: ../js/ui/calendar.js:142 ++#. Translators: Event list abbreviation for Tuesday ++#: ../js/ui/calendar.js:129 + msgctxt "list tuesday" + msgid "T" + msgstr "周二" + +-#. Translators: Event list abbreviation for Wednesday */ +-#: ../js/ui/calendar.js:144 ++#. Translators: Event list abbreviation for Wednesday ++#: ../js/ui/calendar.js:131 + msgctxt "list wednesday" + msgid "W" + msgstr "周三" + +-#. Translators: Event list abbreviation for Thursday */ +-#: ../js/ui/calendar.js:146 ++#. Translators: Event list abbreviation for Thursday ++#: ../js/ui/calendar.js:133 + msgctxt "list thursday" + msgid "Th" + msgstr "周四" + +-#. Translators: Event list abbreviation for Friday */ +-#: ../js/ui/calendar.js:148 ++#. Translators: Event list abbreviation for Friday ++#: ../js/ui/calendar.js:135 + msgctxt "list friday" + msgid "F" + msgstr "周五" + +-#. Translators: Event list abbreviation for Saturday */ +-#: ../js/ui/calendar.js:150 ++#. Translators: Event list abbreviation for Saturday ++#: ../js/ui/calendar.js:137 + msgctxt "list saturday" + msgid "S" + msgstr "周六" + +-#: ../js/ui/calendar.js:453 ++#: ../js/ui/calendar.js:462 + msgid "Previous month" + msgstr "上个月" + +-#: ../js/ui/calendar.js:463 ++#: ../js/ui/calendar.js:472 + msgid "Next month" + msgstr "下个月" + +-#. Translators: Text to show if there are no events */ +-#: ../js/ui/calendar.js:781 ++#. Translators: Text to show if there are no events ++#: ../js/ui/calendar.js:811 + msgid "Nothing Scheduled" + msgstr "无计划" + +-#. Translators: Shown on calendar heading when selected day occurs on current year */ +-#: ../js/ui/calendar.js:799 ++#. Translators: Shown on calendar heading when selected day occurs on current year ++#: ../js/ui/calendar.js:827 + msgctxt "calendar heading" + msgid "%A, %B %d" + msgstr "%m月%d日 %A" + +-#. Translators: Shown on calendar heading when selected day occurs on different year */ +-#: ../js/ui/calendar.js:802 ++#. Translators: Shown on calendar heading when selected day occurs on different year ++#: ../js/ui/calendar.js:830 + msgctxt "calendar heading" + msgid "%A, %B %d, %Y" + msgstr "%Y年%m月%d日 %A" + +-#: ../js/ui/calendar.js:813 ++#: ../js/ui/calendar.js:840 + msgid "Today" + msgstr "今天" + +-#: ../js/ui/calendar.js:817 ++#: ../js/ui/calendar.js:844 + msgid "Tomorrow" + msgstr "明天" + +-#: ../js/ui/calendar.js:828 ++#: ../js/ui/calendar.js:855 + msgid "This week" + msgstr "本周" + +-#: ../js/ui/calendar.js:836 ++#: ../js/ui/calendar.js:863 + msgid "Next week" + msgstr "下周" + +@@ -582,7 +596,7 @@ + msgstr "可移动设备" + + #: ../js/ui/components/autorunManager.js:596 +-#, javascript-format ++#, c-format + msgid "Open with %s" + msgstr "使用 %s 打开" + +@@ -603,6 +617,7 @@ + msgid "Connect" + msgstr "连接" + ++#. Cisco LEAP + #: ../js/ui/components/networkAgent.js:231 + #: ../js/ui/components/networkAgent.js:243 + #: ../js/ui/components/networkAgent.js:271 +@@ -611,6 +626,7 @@ + msgid "Password: " + msgstr "密码:" + ++#. static WEP + #: ../js/ui/components/networkAgent.js:236 + msgid "Key: " + msgstr "密钥:" +@@ -632,7 +648,7 @@ + msgstr "无线网络要求身份认证" + + #: ../js/ui/components/networkAgent.js:319 +-#, javascript-format ++#, c-format + msgid "" + "Passwords or encryption keys are required to access the wireless network " + "“%s”." +@@ -667,7 +683,7 @@ + msgstr "移动宽带网络密码" + + #: ../js/ui/components/networkAgent.js:346 +-#, javascript-format ++#, c-format + msgid "A password is required to connect to “%s”." + msgstr "连接到“%s”需要密码。" + +@@ -686,19 +702,23 @@ + #. Translators: "that didn't work" refers to the fact that the + #. * requested authentication was not gained; this can happen + #. * because of an authentication error (like invalid password), +-#. * for instance. */ ++#. * for instance. + #: ../js/ui/components/polkitAgent.js:271 ../js/ui/shellMountOperation.js:383 + msgid "Sorry, that didn't work. Please try again." + msgstr "抱歉,您的输入有误。请重试。" + ++#. FIXME: We don't have a 'chat room' icon (bgo #653737) use ++#. system-users for now as Empathy does. + #: ../js/ui/components/telepathyClient.js:240 + msgid "Invitation" + msgstr "邀请" + ++#. We got the TpContact + #: ../js/ui/components/telepathyClient.js:300 + msgid "Call" + msgstr "呼叫" + ++#. We got the TpContact + #: ../js/ui/components/telepathyClient.js:316 + msgid "File Transfer" + msgstr "文件传送" +@@ -715,87 +735,95 @@ + msgid "Mute" + msgstr "静音" + +-#. Translators: Time in 24h format */ ++#. Translators: Time in 24h format + #: ../js/ui/components/telepathyClient.js:953 +-msgid "%H∶%M" +-msgstr "%H∶%M" ++msgid "%H\\u2236%M" ++msgstr "%H\\u2236%M" + + #. Translators: this is the word "Yesterday" followed by a +-#. time string in 24h format. i.e. "Yesterday, 14:30" */ ++#. time string in 24h format. i.e. "Yesterday, 14:30" + #: ../js/ui/components/telepathyClient.js:960 +-msgid "Yesterday, %H∶%M" +-msgstr "昨天 %H:%M" ++#, no-c-format ++msgid "Yesterday, %H\\u2236%M" ++msgstr "昨天,%H\\u2236%M" + + #. Translators: this is the week day name followed by a time +-#. string in 24h format. i.e. "Monday, 14:30" */ ++#. string in 24h format. i.e. "Monday, 14:30" + #: ../js/ui/components/telepathyClient.js:967 +-msgid "%A, %H∶%M" +-msgstr "%A %H:%M" ++#, no-c-format ++msgid "%A, %H\\u2236%M" ++msgstr "%A, %H\\u2236%M" + + #. Translators: this is the month name and day number + #. followed by a time string in 24h format. +-#. i.e. "May 25, 14:30" */ ++#. i.e. "May 25, 14:30" + #: ../js/ui/components/telepathyClient.js:974 +-msgid "%B %d, %H∶%M" +-msgstr "%m月%d日, %H:%M" ++#, no-c-format ++msgid "%B %d, %H\\u2236%M" ++msgstr "%B %d, %H\\u2236%M" + + #. Translators: this is the month name, day number, year + #. number followed by a time string in 24h format. +-#. i.e. "May 25 2012, 14:30" */ ++#. i.e. "May 25 2012, 14:30" + #: ../js/ui/components/telepathyClient.js:980 +-msgid "%B %d %Y, %H∶%M" +-msgstr "%Y年%m月%d日, %H:%M" ++#, no-c-format ++msgid "%B %d %Y, %H\\u2236%M" ++msgstr "%B %d %Y, %H\\u2236%M" + +-#. Translators: Time in 24h format */ ++#. Translators: Time in 24h format + #: ../js/ui/components/telepathyClient.js:986 +-msgid "%l∶%M %p" +-msgstr "%p %-l:%M" ++msgid "%l\\u2236%M %p" ++msgstr "%l\\u2236%M %p" + + #. Translators: this is the word "Yesterday" followed by a +-#. time string in 12h format. i.e. "Yesterday, 2:30 pm" */ ++#. time string in 12h format. i.e. "Yesterday, 2:30 pm" + #: ../js/ui/components/telepathyClient.js:993 +-msgid "Yesterday, %l∶%M %p" +-msgstr "昨天%p %-l:%M" ++#, no-c-format ++msgid "Yesterday, %l\\u2236%M %p" ++msgstr "昨天,%l\\u2236%M %p" + + #. Translators: this is the week day name followed by a time +-#. string in 12h format. i.e. "Monday, 2:30 pm" */ ++#. string in 12h format. i.e. "Monday, 2:30 pm" + #: ../js/ui/components/telepathyClient.js:1000 +-msgid "%A, %l∶%M %p" +-msgstr "%A%p %-l:%M" ++#, no-c-format ++msgid "%A, %l\\u2236%M %p" ++msgstr "%A, %l\\u2236%M %p" + + #. Translators: this is the month name and day number + #. followed by a time string in 12h format. +-#. i.e. "May 25, 2:30 pm" */ ++#. i.e. "May 25, 2:30 pm" + #: ../js/ui/components/telepathyClient.js:1007 +-msgid "%B %d, %l∶%M %p" +-msgstr "%m月%d日%p %-l:%M" ++#, no-c-format ++msgid "%B %d, %l\\u2236%M %p" ++msgstr "%B %d, %l\\u2236%M %p" + + #. Translators: this is the month name, day number, year + #. number followed by a time string in 12h format. +-#. i.e. "May 25 2012, 2:30 pm"*/ ++#. i.e. "May 25 2012, 2:30 pm" + #: ../js/ui/components/telepathyClient.js:1013 +-msgid "%B %d %Y, %l∶%M %p" +-msgstr "%Y年%m月%d日,%p %-l:%M" ++#, no-c-format ++msgid "%B %d %Y, %l\\u2236%M %p" ++msgstr "%B %d %Y, %l\\u2236%M %p" + + #. Translators: this is the other person changing their old IM name to their new +-#. IM name. */ ++#. IM name. + #: ../js/ui/components/telepathyClient.js:1045 +-#, javascript-format ++#, c-format + msgid "%s is now known as %s" + msgstr "%s 现在叫做 %s" + + #. translators: argument is a room name like +-#. * room@jabber.org for example. */ ++#. * room@jabber.org for example. + #: ../js/ui/components/telepathyClient.js:1149 +-#, javascript-format ++#, c-format + msgid "Invitation to %s" + msgstr "邀请 %s" + + #. translators: first argument is the name of a contact and the second + #. * one the name of a room. "Alice is inviting you to join room@jabber.org +-#. * for example. */ ++#. * for example. + #: ../js/ui/components/telepathyClient.js:1157 +-#, javascript-format ++#, c-format + msgid "%s is inviting you to join %s" + msgstr "%s 要请您加入 %s" + +@@ -812,19 +840,19 @@ + msgid "Accept" + msgstr "接受" + +-#. translators: argument is a contact name like Alice for example. */ ++#. translators: argument is a contact name like Alice for example. + #: ../js/ui/components/telepathyClient.js:1184 +-#, javascript-format ++#, c-format + msgid "Video call from %s" + msgstr "来自 %s 的视频呼叫" + +-#. translators: argument is a contact name like Alice for example. */ ++#. translators: argument is a contact name like Alice for example. + #: ../js/ui/components/telepathyClient.js:1187 +-#, javascript-format ++#, c-format + msgid "Call from %s" + msgstr "来自 %s 的呼叫" + +-#. translators: this is a button label (verb), not a noun */ ++#. translators: this is a button label (verb), not a noun + #: ../js/ui/components/telepathyClient.js:1201 + msgid "Answer" + msgstr "接听" +@@ -833,15 +861,15 @@ + #. * the contact's alias and the second one is the + #. * file name. The string will be something + #. * like: "Alice is sending you test.ogg" +-#. */ ++#. + #: ../js/ui/components/telepathyClient.js:1222 +-#, javascript-format ++#, c-format + msgid "%s is sending you %s" + msgstr "%s 正在向您发送 %s" + +-#. To translators: The parameter is the contact's alias */ ++#. To translators: The parameter is the contact's alias + #: ../js/ui/components/telepathyClient.js:1251 +-#, javascript-format ++#, c-format + msgid "%s would like permission to see when you are online" + msgstr "%s 想得到授权来查看您的在线状态" + +@@ -946,9 +974,9 @@ + msgstr "内部错误" + + #. translators: argument is the account name, like +-#. * name@jabber.org for example. */ ++#. * name@jabber.org for example. + #: ../js/ui/components/telepathyClient.js:1393 +-#, javascript-format ++#, c-format + msgid "Unable to connect to %s" + msgstr "无法连接到 %s" + +@@ -960,7 +988,7 @@ + msgid "Unknown reason" + msgstr "未知原因" + +-#: ../js/ui/ctrlAltTab.js:29 ../js/ui/viewSelector.js:154 ++#: ../js/ui/ctrlAltTab.js:29 ../js/ui/viewSelector.js:155 + msgid "Windows" + msgstr "窗口" + +@@ -968,31 +996,33 @@ + msgid "Show Applications" + msgstr "显示应用程序" + ++#. Translators: this is the name of the dock/favorites area on ++#. the left of the overview + #: ../js/ui/dash.js:445 + msgid "Dash" + msgstr "Dash" + +-#: ../js/ui/dateMenu.js:96 ++#: ../js/ui/dateMenu.js:97 + msgid "Open Calendar" + msgstr "打开日历" + +-#: ../js/ui/dateMenu.js:100 ++#: ../js/ui/dateMenu.js:101 + msgid "Open Clocks" + msgstr "打开时钟" + +-#: ../js/ui/dateMenu.js:107 ++#: ../js/ui/dateMenu.js:108 + msgid "Date & Time Settings" + 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:204 ++#. ++#: ../js/ui/dateMenu.js:132 + msgid "%A %B %e, %Y" + msgstr "%Y年%m月%d日%A" + + #: ../js/ui/endSessionDialog.js:64 +-#, javascript-format ++#, c-format + msgctxt "title" + msgid "Log Out %s" + msgstr "注销 %s" +@@ -1003,13 +1033,13 @@ + msgstr "注销" + + #: ../js/ui/endSessionDialog.js:67 +-#, javascript-format ++#, c-format + msgid "%s will be logged out automatically in %d second." + msgid_plural "%s will be logged out automatically in %d seconds." + msgstr[0] "%s 将在 %d 秒后自动注销。" + + #: ../js/ui/endSessionDialog.js:72 +-#, javascript-format ++#, c-format + msgid "You will be logged out automatically in %d second." + msgid_plural "You will be logged out automatically in %d seconds." + msgstr[0] "您将在 %d 秒后自动注销。" +@@ -1030,7 +1060,7 @@ + msgstr "安装更新并关机" + + #: ../js/ui/endSessionDialog.js:87 +-#, javascript-format ++#, c-format + msgid "The system will power off automatically in %d second." + msgid_plural "The system will power off automatically in %d seconds." + msgstr[0] "系统将在 %d 秒后自动关机。" +@@ -1056,7 +1086,7 @@ + msgstr "重启" + + #: ../js/ui/endSessionDialog.js:105 +-#, javascript-format ++#, c-format + msgid "The system will restart automatically in %d second." + msgid_plural "The system will restart automatically in %d seconds." + msgstr[0] "系统将在 %d 秒后自动重启。" +@@ -1067,8 +1097,9 @@ + msgstr "重启并安装更新" + + #: ../js/ui/endSessionDialog.js:121 +-#, javascript-format +-msgid "The system will automatically restart and install updates in %d second." ++#, c-format ++msgid "" ++"The system will automatically restart and install updates in %d second." + msgid_plural "" + "The system will automatically restart and install updates in %d seconds." + msgstr[0] "系统将在 %d 秒后自动重启并安装更新。" +@@ -1100,15 +1131,15 @@ + msgid "Other users are logged in." + msgstr "有其他用户登录。" + +-#. Translators: Remote here refers to a remote session, like a ssh login */ ++#. Translators: Remote here refers to a remote session, like a ssh login + #: ../js/ui/endSessionDialog.js:640 +-#, javascript-format ++#, c-format + msgid "%s (remote)" + msgstr "%s (远程)" + +-#. Translators: Console here refers to a tty like a VT console */ ++#. Translators: Console here refers to a tty like a VT console + #: ../js/ui/endSessionDialog.js:643 +-#, javascript-format ++#, c-format + msgid "%s (console)" + msgstr "%s (控制台)" + +@@ -1117,99 +1148,116 @@ + msgstr "安装" + + #: ../js/ui/extensionDownloader.js:204 +-#, javascript-format ++#, c-format + msgid "Download and install “%s” from extensions.gnome.org?" + msgstr "从 extensions.gnome.org 下载并安装“%s”?" + +-#: ../js/ui/keyboard.js:692 ../js/ui/status/keyboard.js:523 ++#: ../js/ui/extensionSystem.js:314 ++#, c-format ++msgid "%d extension is out of date" ++msgid_plural "%d extensions are out of date" ++msgstr[0] "%d 扩展已过期" ++ ++#: ../js/ui/extensionSystem.js:317 ++msgid "You can visit http://extensions.gnome.org for updates" ++msgstr "您可以访问 http://extensions.gnome.org 查看更新" ++ ++#: ../js/ui/keyboard.js:700 ../js/ui/status/keyboard.js:535 + msgid "Keyboard" + msgstr "键盘" + +-#: ../js/ui/lookingGlass.js:643 ++#: ../js/ui/lookingGlass.js:645 + msgid "No extensions installed" + msgstr "未安装扩展" + +-#. Translators: argument is an extension UUID. */ +-#: ../js/ui/lookingGlass.js:697 +-#, javascript-format ++#. Translators: argument is an extension UUID. ++#: ../js/ui/lookingGlass.js:699 ++#, c-format + msgid "%s has not emitted any errors." + msgstr "%s 没有传出任何错误信息。" + +-#: ../js/ui/lookingGlass.js:703 ++#: ../js/ui/lookingGlass.js:705 + msgid "Hide Errors" + msgstr "隐藏错误" + +-#: ../js/ui/lookingGlass.js:707 ../js/ui/lookingGlass.js:767 ++#: ../js/ui/lookingGlass.js:709 ../js/ui/lookingGlass.js:769 + msgid "Show Errors" + msgstr "显示错误" + +-#: ../js/ui/lookingGlass.js:716 ../js/ui/status/location.js:71 ++#: ../js/ui/lookingGlass.js:718 ../js/ui/status/location.js:71 + #: ../js/ui/status/location.js:176 + msgid "Enabled" + msgstr "已启用" + + #. Translators: this is for a network device that cannot be activated +-#. because it's disabled by rfkill (airplane mode) */ ++#. because it's disabled by rfkill (airplane mode) + #. translators: + #. * The device has been disabled +-#: ../js/ui/lookingGlass.js:719 ../js/ui/status/location.js:179 ++#: ../js/ui/lookingGlass.js:721 ../js/ui/status/location.js:179 + #: ../js/ui/status/network.js:592 ../src/gvc/gvc-mixer-control.c:1830 + msgid "Disabled" + msgstr "已禁用" + +-#: ../js/ui/lookingGlass.js:721 ++#: ../js/ui/lookingGlass.js:723 + msgid "Error" + msgstr "错误" + +-#: ../js/ui/lookingGlass.js:723 ++#: ../js/ui/lookingGlass.js:725 + msgid "Out of date" + msgstr "过时" + +-#: ../js/ui/lookingGlass.js:725 ++#: ../js/ui/lookingGlass.js:727 + msgid "Downloading" + msgstr "正在下载" + +-#: ../js/ui/lookingGlass.js:749 ++#: ../js/ui/lookingGlass.js:751 + msgid "View Source" + msgstr "查看源" + +-#: ../js/ui/lookingGlass.js:758 ++#: ../js/ui/lookingGlass.js:760 + msgid "Web Page" + msgstr "网页" + +-#: ../js/ui/messageTray.js:1327 ++#: ../js/ui/messageTray.js:1334 + msgid "Open" + msgstr "打开" + +-#: ../js/ui/messageTray.js:1334 ++#: ../js/ui/messageTray.js:1341 + msgid "Remove" + msgstr "移除" + +-#: ../js/ui/messageTray.js:1631 ++#: ../js/ui/messageTray.js:1638 + msgid "Notifications" + msgstr "提示" + +-#: ../js/ui/messageTray.js:1638 ++#: ../js/ui/messageTray.js:1645 + msgid "Clear Messages" + msgstr "清空消息" + +-#: ../js/ui/messageTray.js:1657 ++#: ../js/ui/messageTray.js:1664 + msgid "Notification Settings" + msgstr "通知设置" + +-#: ../js/ui/messageTray.js:1710 ++#: ../js/ui/messageTray.js:1717 + msgid "Tray Menu" + msgstr "托盘菜单" + +-#: ../js/ui/messageTray.js:1934 ++#: ../js/ui/messageTray.js:1941 + msgid "No Messages" + msgstr "无消息" + +-#: ../js/ui/messageTray.js:1979 ++#: ../js/ui/messageTray.js:1988 + msgid "Message Tray" + msgstr "消息托盘" + +-#: ../js/ui/messageTray.js:2992 ++#: ../js/ui/messageTray.js:2447 ../js/ui/overviewControls.js:483 ++#: ../js/ui/screenShield.js:151 ++#, c-format ++msgid "%d new message" ++msgid_plural "%d new messages" ++msgstr[0] "%d 条新消息" ++ ++#: ../js/ui/messageTray.js:3017 + msgid "System Information" + msgstr "系统信息" + +@@ -1218,12 +1266,6 @@ + msgid "Unknown" + msgstr "未知" + +-#: ../js/ui/overviewControls.js:482 ../js/ui/screenShield.js:151 +-#, javascript-format +-msgid "%d new message" +-msgid_plural "%d new messages" +-msgstr[0] "%d 条新消息" +- + #: ../js/ui/overview.js:84 + msgid "Undo" + msgstr "撤销" +@@ -1235,7 +1277,7 @@ + #. Translators: this is the text displayed + #. in the search entry when no search is + #. active; it should not exceed ~30 +-#. characters. */ ++#. characters. + #: ../js/ui/overview.js:246 + msgid "Type to search…" + msgstr "输入以搜索..." +@@ -1245,15 +1287,20 @@ + msgstr "退出" + + #. Translators: If there is no suitable word for "Activities" +-#. in your language, you can use the word for "Overview". */ +-#: ../js/ui/panel.js:567 ++#. in your language, you can use the word for "Overview". ++#: ../js/ui/panel.js:574 + msgid "Activities" + msgstr "活动" + +-#: ../js/ui/panel.js:918 ++#: ../js/ui/panel.js:925 + msgid "Top Bar" + 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:269 + msgid "toggle-switch-us" + msgstr "toggle-switch-us" +@@ -1271,38 +1318,45 @@ + msgstr "正在重新启动..." + + #. Translators: This is a time format for a date in +-#. long format */ ++#. long format + #: ../js/ui/screenShield.js:88 + msgid "%A, %B %d" + msgstr "%m月%d日 %A" + + #: ../js/ui/screenShield.js:153 +-#, javascript-format ++#, c-format + msgid "%d new notification" + msgid_plural "%d new notifications" + msgstr[0] "%d 条新通知" + +-#: ../js/ui/screenShield.js:472 ../js/ui/status/system.js:345 ++#: ../js/ui/screenShield.js:473 ../js/ui/status/system.js:345 + msgid "Lock" + msgstr "锁定" + +-#: ../js/ui/screenShield.js:706 ++#: ../js/ui/screenShield.js:709 + msgid "GNOME needs to lock the screen" + msgstr "GNOME 需要锁定屏幕" + +-#: ../js/ui/screenShield.js:833 ../js/ui/screenShield.js:1304 ++#. We could not become modal, so we can't activate the ++#. screenshield. The user is probably very upset at this ++#. point, but any application using global grabs is broken ++#. Just tell him to stop using this app ++#. ++#. XXX: another option is to kick the user into the gdm login ++#. screen, where we're not affected by grabs ++#: ../js/ui/screenShield.js:836 ../js/ui/screenShield.js:1312 + msgid "Unable to lock" + msgstr "无法锁定" + +-#: ../js/ui/screenShield.js:834 ../js/ui/screenShield.js:1305 ++#: ../js/ui/screenShield.js:837 ../js/ui/screenShield.js:1313 + msgid "Lock was blocked by an application" + msgstr "一个应用程序阻止了锁定" + +-#: ../js/ui/search.js:594 ++#: ../js/ui/search.js:611 + msgid "Searching…" + msgstr "正在搜索..." + +-#: ../js/ui/search.js:596 ++#: ../js/ui/search.js:613 + msgid "No results." + msgstr "无结果。" + +@@ -1374,6 +1428,8 @@ + msgid "Large Text" + msgstr "大号文本" + ++#. The Bluetooth menu only appears when Bluetooth is in use, ++#. so just statically build it with a "Turn Off" menu item. + #: ../js/ui/status/bluetooth.js:49 + msgid "Bluetooth" + msgstr "蓝牙" +@@ -1390,7 +1446,7 @@ + msgstr "蓝牙设置" + + #: ../js/ui/status/bluetooth.js:104 +-#, javascript-format ++#, c-format + msgid "%d Connected Device" + msgid_plural "%d Connected Devices" + msgstr[0] "已连接 %d 台设备" +@@ -1403,7 +1459,7 @@ + msgid "Brightness" + msgstr "亮度" + +-#: ../js/ui/status/keyboard.js:547 ++#: ../js/ui/status/keyboard.js:559 + msgid "Show Keyboard Layout" + msgstr "显示键盘布局" + +@@ -1441,7 +1497,7 @@ + msgstr "已连接" + + #. Translators: this is for network devices that are physically present but are not +-#. under NetworkManager's control (and thus cannot be used in the menu) */ ++#. under NetworkManager's control (and thus cannot be used in the menu) + #: ../js/ui/status/network.js:463 + msgid "Unmanaged" + msgstr "未托管" +@@ -1454,19 +1510,19 @@ + msgid "Connecting" + msgstr "正在连接" + +-#. Translators: this is for network connections that require some kind of key or password */ ++#. Translators: this is for network connections that require some kind of key or password + #: ../js/ui/status/network.js:474 + msgid "Authentication required" + msgstr "需要认证" + + #. Translators: this is for devices that require some kind of firmware or kernel +-#. module, which is missing */ ++#. module, which is missing + #: ../js/ui/status/network.js:482 + msgid "Firmware missing" + msgstr "固件缺失" + + #. Translators: this is for a network device that cannot be activated (for example it +-#. is disabled by rfkill, or it has no coverage */ ++#. is disabled by rfkill, or it has no coverage + #: ../js/ui/status/network.js:486 + msgid "Unavailable" + msgstr "不可用" +@@ -1551,7 +1607,7 @@ + msgid "connecting..." + msgstr "正在连接..." + +-#. Translators: this is for network connections that require some kind of key or password */ ++#. Translators: this is for network connections that require some kind of key or password + #: ../js/ui/status/network.js:1412 + msgid "authentication required" + msgstr "需要认证" +@@ -1588,19 +1644,23 @@ + msgid "Fully Charged" + msgstr "已充满电" + ++#. 0 is reported when UPower does not have enough data ++#. to estimate battery life + #: ../js/ui/status/power.js:72 ../js/ui/status/power.js:78 + msgid "Estimating…" + msgstr "正在估计..." + ++#. Translators: this is : Remaining () + #: ../js/ui/status/power.js:86 +-#, javascript-format +-msgid "%d∶%02d Remaining (%d%%)" +-msgstr "剩余 %d:%02d (%d%%)" ++#, c-format ++msgid "%d\\u2236%02d Remaining (%d%%)" ++msgstr "%d\\u2236%02d 剩余 (%d%%)" + ++#. Translators: this is : Until Full () + #: ../js/ui/status/power.js:91 +-#, javascript-format +-msgid "%d∶%02d Until Full (%d%%)" +-msgstr "距充满还剩 %d:%02d (%d%%)" ++#, c-format ++msgid "%d\\u2236%02d Until Full (%d%%)" ++msgstr "%d\\u2236%02d 直至全满 (%d%%)" + + #: ../js/ui/status/power.js:119 + msgid "UPS" +@@ -1610,6 +1670,9 @@ + msgid "Battery" + msgstr "电池" + ++#. The menu only appears when airplane mode is on, so just ++#. statically build it as if it was on, rather than dynamically ++#. changing the menu contents. + #: ../js/ui/status/rfkill.js:83 + msgid "Airplane Mode" + msgstr "乘机模式" +@@ -1658,16 +1721,16 @@ + msgid "Unlock Window" + msgstr "解锁窗口" + +-#: ../js/ui/viewSelector.js:158 ++#: ../js/ui/viewSelector.js:159 + msgid "Applications" + msgstr "应用程序" + +-#: ../js/ui/viewSelector.js:162 ++#: ../js/ui/viewSelector.js:163 + msgid "Search" + msgstr "搜索" + + #: ../js/ui/windowAttentionHandler.js:19 +-#, javascript-format ++#, c-format + msgid "“%s” is ready" + msgstr "“%s”已就绪" + +@@ -1677,7 +1740,7 @@ + + #. Translators: this and the following message should be limited in lenght, + #. to avoid ellipsizing the labels. +-#. */ ++#. + #: ../js/ui/windowManager.js:84 + msgid "Revert Settings" + msgstr "还原设置" +@@ -1687,7 +1750,7 @@ + msgstr "保留更改" + + #: ../js/ui/windowManager.js:107 +-#, javascript-format ++#, c-format + msgid "Settings changes will revert in %d second" + msgid_plural "Settings changes will revert in %d seconds" + msgstr[0] "设置更改将在 %d 后还原" +@@ -1756,19 +1819,19 @@ + msgid "System Sounds" + msgstr "系统声音" + +-#: ../src/main.c:373 ++#: ../src/main.c:381 + msgid "Print version" + msgstr "打印版本" + +-#: ../src/main.c:379 ++#: ../src/main.c:387 + msgid "Mode used by GDM for login screen" + msgstr "GDM 用于登录屏幕的模式" + +-#: ../src/main.c:385 ++#: ../src/main.c:393 + msgid "Use a specific mode, e.g. \"gdm\" for login screen" + msgstr "使用指定模式,如 “gdm”用于登录屏幕的模式" + +-#: ../src/main.c:391 ++#: ../src/main.c:399 + msgid "List possible modes" + msgstr "列出可用的模式" + +@@ -1788,396 +1851,3 @@ + #: ../src/shell-polkit-authentication-agent.c:346 + msgid "Authentication dialog was dismissed by the user" + msgstr "认证对话框被用户驳回" +- +-#~ msgctxt "event list time" +-#~ msgid "%H:%M" +-#~ msgstr "%H:%M" +- +-#~ msgid "%H:%M" +-#~ msgstr "%H:%M" +- +-#~ msgid "The maximum accuracy level of location." +-#~ msgstr "最大位置精度。" +- +-#~ msgid "" +-#~ "Configures the maximum level of location accuracy applications are " +-#~ "allowed to see. Valid options are 'off' (disable location tracking), " +-#~ "'country', 'city', 'neighborhood', 'street', and 'exact' (typically " +-#~ "requires GPS receiver). Please keep in mind that this only controls what " +-#~ "GeoClue will allow applications to see and they can find user's location " +-#~ "on their own using network resources (albeit with street-level accuracy " +-#~ "at best)." +-#~ msgstr "" +-#~ "配置应用程序可见的最大位置精度级别。有效选项有“off”(禁止追踪位" +-#~ "置)、“country”(国家)、“city”(城市)、“neighborhood”(邻近)、“street”(街道)、" +-#~ "和“exact”(精确,通常需要 GPS 传感器)。注意,这一选项只控制 Geoclue 让应用" +-#~ "程序知道多少,但程序自己可以自行通过网络资源找到用户的位置(即使最多精确到" +-#~ "街道)。" +- +-#~ msgid "Arrangement of buttons on the titlebar" +-#~ msgstr "标题栏上的按钮排列" +- +-#~ msgid "" +-#~ "This key overrides the key in org.gnome.desktop.wm.preferences when " +-#~ "running GNOME Shell." +-#~ msgstr "" +-#~ "当 GNOME Shell 运行时,此键会覆盖 org.gnome.desktop.wm.preferences 键。" +- +-#~ msgid "Extension" +-#~ msgstr "扩展" +- +-#~ msgid "Select an extension to configure using the combobox above." +-#~ msgstr "使用上面的下拉框选择一个要配置的扩展。" +- +-#~ msgid "calendar:MY" +-#~ msgstr "日历:我" +- +-#~ msgid "%A, %H:%M" +-#~ msgstr "%A %H:%M" +- +-#~ msgid "%B %d, %H:%M" +-#~ msgstr "%B %H:%M" +- +-#~ msgid "%B %d %Y, %H:%M " +-#~ msgstr "%Y年%B%d日 %H:%M " +- +-#~ msgid "List of categories that should be displayed as folders" +-#~ msgstr "应显示为文件夹的类别列表" +- +-#~ msgid "" +-#~ "Each category name in this list will be represented as folder in the " +-#~ "application view, rather than being displayed inline in the main view." +-#~ msgstr "" +-#~ "在应用程序视图中,这个列表中的每个类别的名称都会显示为文件夹,而不是在主视" +-#~ "图中内嵌显示。" +- +-#~ msgctxt "event list time" +-#~ msgid "%H\\u2236%M" +-#~ msgstr "%H\\u2236%M" +- +-#~ msgctxt "event list time" +-#~ msgid "%l\\u2236%M\\u2009%p" +-#~ msgstr "%l\\u2236%M\\u2009%p" +- +-#~ msgid "Authorization request from %s" +-#~ msgstr "来自 %s 的认证请求" +- +-#~ msgid "Device %s wants to pair with this computer" +-#~ msgstr "设备 %s 希望与此电脑配对" +- +-#~ msgid "Allow" +-#~ msgstr "允许" +- +-#~ msgid "Deny" +-#~ msgstr "拒绝" +- +-#~ msgid "Device %s wants access to the service '%s'" +-#~ msgstr "设备 %s 希望访问 %s 服务" +- +-#~ msgid "Always grant access" +-#~ msgstr "始终允许" +- +-#~ msgid "Grant this time only" +-#~ msgstr "允许一次" +- +-#~ msgid "Reject" +-#~ msgstr "拒绝" +- +-#~ msgid "Pairing confirmation for %s" +-#~ msgstr "%s 的配对确认" +- +-#~ msgid "" +-#~ "Please confirm whether the Passkey '%06d' matches the one on the device." +-#~ msgstr "请确认密钥“%06d”是否与设备上的相符。" +- +-#~ msgid "Matches" +-#~ msgstr "相同" +- +-#~ msgid "Does not match" +-#~ msgstr "不同" +- +-#~ msgid "Pairing request for %s" +-#~ msgstr "%s 的配对请求" +- +-#~ msgid "Please enter the PIN mentioned on the device." +-#~ msgstr "请输入设备上的 PIN 码。" +- +-#~ msgid "OK" +-#~ msgstr "确定" +- +-#~ msgid "" +-#~ "Sorry, no wisdom for you today:\n" +-#~ "%s" +-#~ msgstr "" +-#~ "抱歉,今天没有学问给你:\n" +-#~ "%s" +- +-#~ msgid "%s the Oracle says" +-#~ msgstr "预言家 %s 说" +- +-#~ msgid "" +-#~ "Internally used to store the last IM presence explicitly set by the user. " +-#~ "The value here is from the TpConnectionPresenceType enumeration." +-#~ msgstr "" +-#~ "用于内部保存用户自主设置的即时通信程序上次的在线状态。这里的值取自 " +-#~ "TpConnectionPresenceType 枚举变量。" +- +-#~ msgid "" +-#~ "Internally used to store the last session presence status for the user. " +-#~ "The value here is from the GsmPresenceStatus enumeration." +-#~ msgstr "" +-#~ "用于内部保存上次会话用户的在线状态。这里的值取自 GsmPresenceStatus 枚举变" +-#~ "量。" +- +-#~ msgid "Session" +-#~ msgstr "会话" +- +-#~ msgid "Click Log Out to quit these applications and log out of the system." +-#~ msgstr "点“注销“来退出这些应用程序及系统" +- +-#~ msgid "Logging out of the system." +-#~ msgstr "从系统注销" +- +-#~ msgid "Click Power Off to quit these applications and power off the system." +-#~ msgstr "点击关机以退出应用程序并关闭系统。" +- +-#~ msgid "Powering off the system." +-#~ msgstr "关闭系统。" +- +-#~ msgid "Click Restart to quit these applications and restart the system." +-#~ msgstr "点“重启”来退出这些应用程序并重启系统。" +- +-#~ msgid "Restarting the system." +-#~ msgstr "正在重启系统。" +- +-#, fuzzy +-#~| msgid "Settings" +-#~ msgid "Settings Menu" +-#~ msgstr "设置" +- +-#~ msgid "Shutting down might cause them to lose unsaved work." +-#~ msgstr "关机可能导致他们丢失尚未保存的工作内容。" +- +-#~ msgid "Screenshots" +-#~ msgstr "屏幕截图" +- +-#~ msgid "Record a screencast" +-#~ msgstr "屏幕录像" +- +-#~ msgid "Keybinding to toggle the screen recorder" +-#~ msgstr "用来开关屏幕录像程序的快捷键" +- +-#~ msgid "Keybinding to start/stop the builtin screen recorder." +-#~ msgstr "用来启用/停止内嵌屏幕录像程序的快捷键。" +- +-#~ msgid "Framerate used for recording screencasts." +-#~ msgstr "屏幕录像的帧率。" +- +-#~ msgid "" +-#~ "The framerate of the resulting screencast recordered by GNOME Shell's " +-#~ "screencast recorder in frames-per-second." +-#~ msgstr "GNOME Shell 的屏幕录像程序录制的屏幕录像的帧率,以 帧/秒 为格式。" +- +-#~ msgid "The gstreamer pipeline used to encode the screencast" +-#~ msgstr "用于编码屏幕录像的 GStreamer 管道" +- +-#~ msgid "" +-#~ "Sets the GStreamer pipeline used to encode recordings. It follows the " +-#~ "syntax used for gst-launch. The pipeline should have an unconnected sink " +-#~ "pad where the recorded video is recorded. It will normally have a " +-#~ "unconnected source pad; output from that pad will be written into the " +-#~ "output file. However the pipeline can also take care of its own output - " +-#~ "this might be used to send the output to an icecast server via shout2send " +-#~ "or similar. When unset or set to an empty value, the default pipeline " +-#~ "will be used. This is currently 'vp8enc min_quantizer=13 max_quantizer=13 " +-#~ "cpu-used=5 deadline=1000000 threads=%T ! queue ! webmmux' and records to " +-#~ "WEBM using the VP8 codec. %T is used as a placeholder for a guess at the " +-#~ "optimal thread count on the system." +-#~ msgstr "" +-#~ "设置用来编码录像的 GStreamer 管道。它遵循 gst-launch 的语法。该管道应当有" +-#~ "一个未连接的 sink 衬垫(pad),录制的视频就是在此录制的。该管道一般还会有一" +-#~ "个未连接的 source 衬垫(pad);这个衬垫的输出将被写入输出文件中。但是管道还" +-#~ "能够处理自己的输出 - 这将用来通过 shout2send 或者类似方法把输出发送到一个 " +-#~ "icecast 服务器。当管道未被设置或者设置为空值时,将使用默认的管道。其值当前" +-#~ "为“vp8enc min_quantizer=13 max_quantizer=13 cpu-used=5 deadline=1000000 " +-#~ "threads=%T ! queue ! webmmux”并输出为 VP8 编码的 WebM 格式。这里的 %T 是一" +-#~ "个占位符,其实际值是根据您系统的情况估计的线程数。" +- +-#~ msgid "File extension used for storing the screencast" +-#~ msgstr "存储屏幕录像的文件扩展名" +- +-#~ msgid "" +-#~ "The filename for recorded screencasts will be a unique filename based on " +-#~ "the current date, and use this extension. It should be changed when " +-#~ "recording to a different container format." +-#~ msgstr "" +-#~ "录制的屏幕录像的文件名将是根据当前时间得到的独特值,并使用这个扩展名。录制" +-#~ "另外一个不同容器格式的录像时,它应该被更改。" +- +-#~ msgid "Power" +-#~ msgstr "电源" +- +-#~ msgid "Restart" +-#~ msgstr "重启" +- +-#~ msgid "Screencast from %d %t" +-#~ msgstr "%d %t 的屏幕录像" +- +-#~ msgid "Volume, network, battery" +-#~ msgstr "Volume, network, battery, 卷, 网络, 电源" +- +-#~ msgid "Universal Access Settings" +-#~ msgstr "通用访问设置" +- +-#~ msgid "Visibility" +-#~ msgstr "可见性" +- +-#~ msgid "Send Files to Device…" +-#~ msgstr "发送文件到设备..." +- +-#~ msgid "Set Up a New Device…" +-#~ msgstr "安装新设备..." +- +-#~ msgid "Send Files…" +-#~ msgstr "发送文件..." +- +-#~ msgid "Keyboard Settings" +-#~ msgstr "键盘设置" +- +-#~ msgid "Mouse Settings" +-#~ msgstr "鼠标设置" +- +-#~ msgid "Sound Settings" +-#~ msgstr "声音设置" +- +-#~ msgid "Region & Language Settings" +-#~ msgstr "区域和语言设置" +- +-#~ msgid "Wi-Fi" +-#~ msgstr "Wi-Fi" +- +-#~ msgid "disabled" +-#~ msgstr "已禁用" +- +-#~ msgid "More…" +-#~ msgstr "更多..." +- +-#~ msgid "Wired" +-#~ msgstr "有线" +- +-#~ msgid "Networking is disabled" +-#~ msgstr "联网已禁用" +- +-#~ msgid "%d hour remaining" +-#~ msgid_plural "%d hours remaining" +-#~ msgstr[0] "剩余 %d 小时" +- +-#~ msgid "%d %s %d %s remaining" +-#~ msgstr "剩余 %d %s %d %s" +- +-#~ msgid "hour" +-#~ msgid_plural "hours" +-#~ msgstr[0] "小时" +- +-#~ msgid "minute" +-#~ msgid_plural "minutes" +-#~ msgstr[0] "分钟" +- +-#~ msgid "%d minute remaining" +-#~ msgid_plural "%d minutes remaining" +-#~ msgstr[0] "剩余 %d 分钟" +- +-#~ msgctxt "percent of battery remaining" +-#~ msgid "%d%%" +-#~ msgstr "%d%%" +- +-#~ msgid "AC Adapter" +-#~ msgstr "AC 适配器" +- +-#~ msgid "Laptop Battery" +-#~ msgstr "笔记本电池" +- +-#~ msgid "Monitor" +-#~ msgstr "显示器" +- +-#~ msgid "Mouse" +-#~ msgstr "鼠标" +- +-#~ msgid "PDA" +-#~ msgstr "PDA" +- +-#~ msgid "Cell Phone" +-#~ msgstr "手机" +- +-#~ msgid "Media Player" +-#~ msgstr "媒体播放器" +- +-#~ msgid "Tablet" +-#~ msgstr "触摸板" +- +-#~ msgid "Computer" +-#~ msgstr "计算机" +- +-#~ msgctxt "device" +-#~ msgid "Unknown" +-#~ msgstr "未知" +- +-#~ msgid "Available" +-#~ msgstr "可用" +- +-#~ msgid "Busy" +-#~ msgstr "忙碌" +- +-#~ msgid "Invisible" +-#~ msgstr "隐身" +- +-#~ msgid "Away" +-#~ msgstr "离开" +- +-#~ msgid "Idle" +-#~ msgstr "空闲" +- +-#~ msgid "Your chat status will be set to busy" +-#~ msgstr "您的聊天状态将被设置为忙碌" +- +-#~ msgid "" +-#~ "Notifications are now disabled, including chat messages. Your online " +-#~ "status has been adjusted to let others know that you might not see their " +-#~ "messages." +-#~ msgstr "" +-#~ "提示现已禁用,聊天消息也同时被禁用。您的在线状态已被自动调整,以便他人知道" +-#~ "您可能无法看到消息。" +- +-#~ msgid "cable unplugged" +-#~ msgstr "线缆被拔出" +- +-#~ msgid "Whether to collect stats about applications usage" +-#~ msgstr "是否收集应用程序的使用情况" +- +-#~ msgid "" +-#~ "The shell normally monitors active applications in order to present the " +-#~ "most used ones (e.g. in launchers). While this data will be kept private, " +-#~ "you may want to disable this for privacy reasons. Please note that doing " +-#~ "so won't remove already saved data." +-#~ msgstr "" +-#~ "Gnome Shell 一般将监视活动应用程序,以便呈现最常用的(例如,在启动器中)。同" +-#~ "时,此数据将保持私密,您可能因为隐私原因想要禁用此项。请注意,这么做,并不" +-#~ "会移除已经保存的数据。" +- +-#~ msgid "Auto Ethernet" +-#~ msgstr "自动以太网" +- +-#~ msgid "Auto broadband" +-#~ msgstr "自动移动宽带" +- +-#~ msgid "Auto dial-up" +-#~ msgstr "自动拨号" +- +-#~ msgid "Auto %s" +-#~ msgstr "自动 %s" +- +-#~ msgid "Auto bluetooth" +-#~ msgstr "自动蓝牙" +- +-#~ msgid "Auto wireless" +-#~ msgstr "自动无线" +diff -urN gnome-shell-3.14.4/po/zh_TW.po gnome-shell-3.14.4_localized/po/zh_TW.po +--- gnome-shell-3.14.4/po/zh_TW.po 2015-03-23 23:39:15.000000000 +0530 ++++ gnome-shell-3.14.4_localized/po/zh_TW.po 2016-03-11 22:07:50.749000000 +0530 +@@ -3,22 +3,22 @@ + # This file is distributed under the same license as the gnome-shell package. + # Chao-Hsiung Liao , 2010. + # Wei-Lun Chao , 2010. +-# ++# ccheng , 2016. #zanata ++# pnemade , 2016. #zanata + msgid "" + msgstr "" + "Project-Id-Version: gnome-shell 3.3.90\n" +-"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug.cgi?product=gnome-" +-"shell&keywords=I18N+L10N&component=general\n" +-"POT-Creation-Date: 2014-10-02 07:43+0000\n" +-"PO-Revision-Date: 2014-10-02 20:02+0800\n" +-"Last-Translator: Cheng-Chia Tseng \n" +-"Language-Team: Chinese (Taiwan) \n" +-"Language: zh_TW\n" ++"Report-Msgid-Bugs-To: \n" ++"POT-Creation-Date: 2016-02-10 14:02+0530\n" + "MIME-Version: 1.0\n" + "Content-Type: text/plain; charset=UTF-8\n" + "Content-Transfer-Encoding: 8bit\n" ++"PO-Revision-Date: 2016-03-04 04:32+0000\n" ++"Last-Translator: ccheng \n" ++"Language-Team: Chinese (Taiwan) \n" ++"Language: zh-TW\n" + "Plural-Forms: nplurals=1; plural=0;\n" +-"X-Generator: Poedit 1.5.4\n" ++"X-Generator: Zanata 3.8.2\n" + + #: ../data/50-gnome-shell-system.xml.in.h:1 + msgid "System" +@@ -86,9 +86,8 @@ + "list. You can also manipulate this list with the EnableExtension and " + "DisableExtension D-Bus methods on org.gnome.Shell." + msgstr "" +-"GNOME Shell 擴充功能有 UUID 屬性;這個設定鍵列出了應載入的擴充功能。任何要載" +-"入的擴充功能都要出現在這個清單中。您也可以用 org.gnome.Shell 中的 " +-"EnableExtension 和 DisableExtension D-Bus 方法來操作這個清單。" ++"GNOME Shell 擴充功能有 UUID 屬性;這個設定鍵列出了應載入的擴充功能。任何要載入的擴充功能都要出現在這個清單中。您也可以用 org." ++"gnome.Shell 中的 EnableExtension 和 DisableExtension D-Bus 方法來操作這個清單。" + + #: ../data/org.gnome.shell.gschema.xml.in.in.h:5 + msgid "Disables the validation of extension version compatibility" +@@ -100,8 +99,7 @@ + "running version. Enabling this option will disable this check and try to " + "load all extensions regardless of the versions they claim to support." + msgstr "" +-"GNOME Shell 只會載入宣稱支援目前運行中版本的擴充功能。啟用此選項會停用這項檢" +-"查,並嘗試載入所有的擴充功能,而不去管它們所宣稱支援的版本為何。" ++"GNOME Shell 只會載入宣稱支援目前運行中版本的擴充功能。啟用此選項會停用這項檢查,並嘗試載入所有的擴充功能,而不去管它們所宣稱支援的版本為何。" + + #: ../data/org.gnome.shell.gschema.xml.in.in.h:7 + msgid "List of desktop file IDs for favorite applications" +@@ -137,8 +135,7 @@ + msgid "" + "This key overrides the automatic hiding of the 'Log out' menu item in single-" + "user, single-session situations." +-msgstr "" +-"這個設定鍵會覆蓋在單一使用者、單一作業階段情況下對「登出」選單項目的隱藏。" ++msgstr "這個設定鍵會覆蓋在單一使用者、單一作業階段情況下對「登出」選單項目的隱藏。" + + #: ../data/org.gnome.shell.gschema.xml.in.in.h:15 + msgid "" +@@ -151,9 +148,7 @@ + "filesystem is mounted. If the password can be saved for future use a " + "'Remember Password' checkbox will be present. This key sets the default " + "state of the checkbox." +-msgstr "" +-"當掛載加密裝置或遠端檔案系統時會要求密碼。如果密碼可以被儲存以供未來使用時會" +-"顯示「記住密碼」。這個設定鍵設定了核取方塊的預設狀態。" ++msgstr "當掛載加密裝置或遠端檔案系統時會要求密碼。如果密碼可以被儲存以供未來使用時會顯示「記住密碼」。這個設定鍵設定了核取方塊的預設狀態。" + + #: ../data/org.gnome.shell.gschema.xml.in.in.h:17 + msgid "Show the week date in the calendar" +@@ -178,6 +173,7 @@ + #: ../data/org.gnome.shell.gschema.xml.in.in.h:22 + msgid "" + "Keybinding to open the \"Show Applications\" view of the Activities Overview." ++"" + msgstr "開啟活動概覽「顯示應用程式」檢視的組合鍵" + + #: ../data/org.gnome.shell.gschema.xml.in.in.h:23 +@@ -206,7 +202,8 @@ + + #: ../data/org.gnome.shell.gschema.xml.in.in.h:29 + msgid "" +-"Keybinding that pauses and resumes all running tweens, for debugging purposes" ++"Keybinding that pauses and resumes all running tweens, for debugging " ++"purposes" + msgstr "暫停與恢復執行中重複項的組合鍵,用於除錯用途" + + #: ../data/org.gnome.shell.gschema.xml.in.in.h:30 +@@ -225,9 +222,7 @@ + msgid "" + "If true, only applications that have windows on the current workspace are " + "shown in the switcher. Otherwise, all applications are included." +-msgstr "" +-"如果設定為「true」,切換器將僅顯示目前工作區中的應用程式視窗。否則,所有的應" +-"用程式都會包含在內。" ++msgstr "如果設定為「true」,切換器將僅顯示目前工作區中的應用程式視窗。否則,所有的應用程式都會包含在內。" + + #: ../data/org.gnome.shell.gschema.xml.in.in.h:34 + msgid "The application icon mode." +@@ -236,19 +231,17 @@ + #: ../data/org.gnome.shell.gschema.xml.in.in.h:35 + msgid "" + "Configures how the windows are shown in the switcher. Valid possibilities " +-"are 'thumbnail-only' (shows a thumbnail of the window), 'app-icon-" +-"only' (shows only the application icon) or 'both'." ++"are 'thumbnail-only' (shows a thumbnail of the window), 'app-icon-only' " ++"(shows only the application icon) or 'both'." + msgstr "" +-"設定視窗在切換器中如何顯示。有效的數值為「thumbnail-only」(顯示視窗縮圖)、" +-"「app-icon-only」(只顯示應用程式圖示) 或「both」。" ++"設定視窗在切換器中如何顯示。有效的數值為「thumbnail-only」(顯示視窗縮圖)、「app-icon-only」(只顯示應用程式圖示) " ++"或「both」。" + + #: ../data/org.gnome.shell.gschema.xml.in.in.h:36 + msgid "" + "If true, only windows from the current workspace are shown in the switcher. " + "Otherwise, all windows are included." +-msgstr "" +-"如果設定為「true」,切換器將僅顯示目前工作區中的視窗。否則,所有的視窗都會包" +-"含在內。" ++msgstr "如果設定為「true」,切換器將僅顯示目前工作區中的視窗。否則,所有的視窗都會包含在內。" + + #: ../data/org.gnome.shell.gschema.xml.in.in.h:37 + msgid "Attach modal dialog to the parent window" +@@ -280,7 +273,7 @@ + msgstr "網頁入口管制" + + #: ../js/extensionPrefs/main.js:123 +-#, javascript-format ++#, c-format + msgid "There was an error loading the preferences dialog for %s:" + msgstr "載入 %s 的偏好設定對話盒時發生錯誤:" + +@@ -288,54 +281,68 @@ + msgid "GNOME Shell Extensions" + msgstr "GNOME Shell 擴充功能" + +-#: ../js/gdm/authPrompt.js:147 ../js/ui/components/networkAgent.js:143 ++#: ../js/gdm/authPrompt.js:159 ../js/ui/components/networkAgent.js:143 + #: ../js/ui/components/polkitAgent.js:166 ../js/ui/endSessionDialog.js:452 + #: ../js/ui/extensionDownloader.js:195 ../js/ui/shellMountOperation.js:399 + #: ../js/ui/status/network.js:915 + msgid "Cancel" + msgstr "取消" + +-#: ../js/gdm/authPrompt.js:169 ../js/gdm/authPrompt.js:217 ++#: ../js/gdm/authPrompt.js:181 ../js/gdm/authPrompt.js:228 ++#: ../js/gdm/authPrompt.js:466 + msgid "Next" + msgstr "下一個" + +-#: ../js/gdm/authPrompt.js:213 ../js/ui/shellMountOperation.js:403 ++#: ../js/gdm/authPrompt.js:224 ../js/ui/shellMountOperation.js:403 + #: ../js/ui/unlockDialog.js:59 + msgid "Unlock" + msgstr "解鎖" + +-#: ../js/gdm/authPrompt.js:215 ++#: ../js/gdm/authPrompt.js:226 + msgctxt "button" + msgid "Sign In" + msgstr "登入" + +-#: ../js/gdm/loginDialog.js:269 ++#: ../js/gdm/loginDialog.js:297 + msgid "Choose Session" + msgstr "選擇作業階段" + +-#: ../js/gdm/loginDialog.js:429 ++#. translators: this message is shown below the user list on the ++#. login screen. It can be activated to reveal an entry for ++#. manually entering the username. ++#: ../js/gdm/loginDialog.js:458 + msgid "Not listed?" + msgstr "沒有列出來?" + +-#: ../js/gdm/loginDialog.js:614 +-#, javascript-format ++#. Translators: this message is shown below the username entry field ++#. to clue the user in on how to login to the local network realm ++#: ../js/gdm/loginDialog.js:859 ++#, c-format + msgid "(e.g., user or %s)" + msgstr "(例如: user 或 %s)" + +-#: ../js/gdm/loginDialog.js:619 ../js/ui/components/networkAgent.js:269 ++#. TTLS and PEAP are actually much more complicated, but this complication ++#. is not visible here since we only care about phase2 authentication ++#. (and don't even care of which one) ++#: ../js/gdm/loginDialog.js:864 ../js/ui/components/networkAgent.js:269 + #: ../js/ui/components/networkAgent.js:287 + msgid "Username: " + msgstr "使用者名稱:" + +-#: ../js/gdm/loginDialog.js:922 ++#: ../js/gdm/loginDialog.js:1193 + msgid "Login Window" + msgstr "登入視窗" + +-#: ../js/gdm/util.js:323 ++#: ../js/gdm/util.js:344 + msgid "Authentication error" + msgstr "核對錯誤" + +-#: ../js/gdm/util.js:453 ++#. We don't show fingerprint messages directly since it's ++#. not the main auth service. Instead we use the messages ++#. as a cue to display our own message. ++#. Translators: this message is shown below the password entry field ++#. to indicate the user can swipe their finger instead ++#: ../js/gdm/util.js:483 + msgid "(or swipe finger)" + msgstr "(或是滑過手指)" + +@@ -343,58 +350,62 @@ + msgid "Command not found" + msgstr "找不到指令" + ++#. Replace "Error invoking GLib.shell_parse_argv: " with ++#. something nicer + #: ../js/misc/util.js:148 + msgid "Could not parse command:" + msgstr "無法分析指令:" + + #: ../js/misc/util.js:156 +-#, javascript-format ++#, c-format + msgid "Execution of “%s” failed:" + msgstr "執行「%s」失敗:" + ++#. TRANSLATORS: this is the title of the wifi captive portal login ++#. window, until we know the title of the actual login page + #: ../js/portalHelper/main.js:85 + msgid "Web Authentication Redirect" + msgstr "網頁核對重新導向" + +-#: ../js/ui/appDisplay.js:772 ++#: ../js/ui/appDisplay.js:773 + msgid "Frequently used applications will appear here" + msgstr "經常使用的應用程式會出現在這裡" + +-#: ../js/ui/appDisplay.js:883 ++#: ../js/ui/appDisplay.js:884 + msgid "Frequent" + msgstr "常用" + +-#: ../js/ui/appDisplay.js:890 ++#: ../js/ui/appDisplay.js:891 + msgid "All" + msgstr "全部" + +-#: ../js/ui/appDisplay.js:1790 ++#: ../js/ui/appDisplay.js:1795 + msgid "New Window" + msgstr "新視窗" + +-#: ../js/ui/appDisplay.js:1816 ../js/ui/dash.js:285 ++#: ../js/ui/appDisplay.js:1821 ../js/ui/dash.js:285 + msgid "Remove from Favorites" + msgstr "自喜好中移除" + +-#: ../js/ui/appDisplay.js:1822 ++#: ../js/ui/appDisplay.js:1827 + msgid "Add to Favorites" + msgstr "加入喜好" + +-#: ../js/ui/appDisplay.js:1831 ++#: ../js/ui/appDisplay.js:1836 + msgid "Show Details" + msgstr "顯示詳細資訊" + +-#: ../js/ui/appFavorites.js:132 +-#, javascript-format ++#: ../js/ui/appFavorites.js:133 ++#, c-format + msgid "%s has been added to your favorites." + msgstr "%s 已加入您的喜好中。" + +-#: ../js/ui/appFavorites.js:166 +-#, javascript-format ++#: ../js/ui/appFavorites.js:167 ++#, c-format + msgid "%s has been removed from your favorites." + msgstr "%s 已經從您的喜好中移除。" + +-#: ../js/ui/backgroundMenu.js:19 ../js/ui/panel.js:813 ++#: ../js/ui/backgroundMenu.js:19 ../js/ui/panel.js:820 + #: ../js/ui/status/system.js:337 + msgid "Settings" + msgstr "設定值" +@@ -405,69 +416,69 @@ + + #. 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:67 ++#. ++#: ../js/ui/calendar.js:70 + msgctxt "event list time" + msgid "All Day" + msgstr "整天" + + #. Translators: Shown in calendar event list, if 24h format, +-#. \u2236 is a ratio character, similar to : */ +-#: ../js/ui/calendar.js:73 ++#. \u2236 is a ratio character, similar to : ++#: ../js/ui/calendar.js:77 + msgctxt "event list time" +-msgid "%H∶%M" +-msgstr "%H∶%M" ++msgid "%H\\u2236%M" ++msgstr "%H\\u2236%M" + + #. Translators: Shown in calendar event list, if 12h format, + #. \u2236 is a ratio character, similar to : and \u2009 is +-#. a thin space */ +-#: ../js/ui/calendar.js:82 ++#. a thin space ++#: ../js/ui/calendar.js:86 + msgctxt "event list time" +-msgid "%l∶%M %p" +-msgstr "%p %l∶%M" ++msgid "%l\\u2236%M\\u2009%p" ++msgstr "%l\\u2236%M\\u2009%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:113 ++#. ++#: ../js/ui/calendar.js:100 + msgctxt "grid sunday" + msgid "S" + msgstr "日" + +-#. Translators: Calendar grid abbreviation for Monday */ +-#: ../js/ui/calendar.js:115 ++#. Translators: Calendar grid abbreviation for Monday ++#: ../js/ui/calendar.js:102 + msgctxt "grid monday" + msgid "M" + msgstr "一" + +-#. Translators: Calendar grid abbreviation for Tuesday */ +-#: ../js/ui/calendar.js:117 ++#. Translators: Calendar grid abbreviation for Tuesday ++#: ../js/ui/calendar.js:104 + msgctxt "grid tuesday" + msgid "T" + msgstr "二" + +-#. Translators: Calendar grid abbreviation for Wednesday */ +-#: ../js/ui/calendar.js:119 ++#. Translators: Calendar grid abbreviation for Wednesday ++#: ../js/ui/calendar.js:106 + msgctxt "grid wednesday" + msgid "W" + msgstr "三" + +-#. Translators: Calendar grid abbreviation for Thursday */ +-#: ../js/ui/calendar.js:121 ++#. Translators: Calendar grid abbreviation for Thursday ++#: ../js/ui/calendar.js:108 + msgctxt "grid thursday" + msgid "T" + msgstr "四" + +-#. Translators: Calendar grid abbreviation for Friday */ +-#: ../js/ui/calendar.js:123 ++#. Translators: Calendar grid abbreviation for Friday ++#: ../js/ui/calendar.js:110 + msgctxt "grid friday" + msgid "F" + msgstr "五" + +-#. Translators: Calendar grid abbreviation for Saturday */ +-#: ../js/ui/calendar.js:125 ++#. Translators: Calendar grid abbreviation for Saturday ++#: ../js/ui/calendar.js:112 + msgctxt "grid saturday" + msgid "S" + msgstr "六" +@@ -477,86 +488,86 @@ + #. * 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:138 ++#. ++#: ../js/ui/calendar.js:125 + msgctxt "list sunday" + msgid "Su" + msgstr "日" + +-#. Translators: Event list abbreviation for Monday */ +-#: ../js/ui/calendar.js:140 ++#. Translators: Event list abbreviation for Monday ++#: ../js/ui/calendar.js:127 + msgctxt "list monday" + msgid "M" + msgstr "一" + +-#. Translators: Event list abbreviation for Tuesday */ +-#: ../js/ui/calendar.js:142 ++#. Translators: Event list abbreviation for Tuesday ++#: ../js/ui/calendar.js:129 + msgctxt "list tuesday" + msgid "T" + msgstr "二" + +-#. Translators: Event list abbreviation for Wednesday */ +-#: ../js/ui/calendar.js:144 ++#. Translators: Event list abbreviation for Wednesday ++#: ../js/ui/calendar.js:131 + msgctxt "list wednesday" + msgid "W" + msgstr "三" + +-#. Translators: Event list abbreviation for Thursday */ +-#: ../js/ui/calendar.js:146 ++#. Translators: Event list abbreviation for Thursday ++#: ../js/ui/calendar.js:133 + msgctxt "list thursday" + msgid "Th" + msgstr "四" + +-#. Translators: Event list abbreviation for Friday */ +-#: ../js/ui/calendar.js:148 ++#. Translators: Event list abbreviation for Friday ++#: ../js/ui/calendar.js:135 + msgctxt "list friday" + msgid "F" + msgstr "五" + +-#. Translators: Event list abbreviation for Saturday */ +-#: ../js/ui/calendar.js:150 ++#. Translators: Event list abbreviation for Saturday ++#: ../js/ui/calendar.js:137 + msgctxt "list saturday" + msgid "S" + msgstr "六" + +-#: ../js/ui/calendar.js:453 ++#: ../js/ui/calendar.js:462 + msgid "Previous month" + msgstr "上個月" + +-#: ../js/ui/calendar.js:463 ++#: ../js/ui/calendar.js:472 + msgid "Next month" + msgstr "下個月" + +-#. Translators: Text to show if there are no events */ +-#: ../js/ui/calendar.js:781 ++#. Translators: Text to show if there are no events ++#: ../js/ui/calendar.js:811 + msgid "Nothing Scheduled" + msgstr "沒有預訂行程" + +-#. Translators: Shown on calendar heading when selected day occurs on current year */ +-#: ../js/ui/calendar.js:799 ++#. Translators: Shown on calendar heading when selected day occurs on current year ++#: ../js/ui/calendar.js:827 + msgctxt "calendar heading" + msgid "%A, %B %d" + msgstr "%m月%d日%A" + +-#. Translators: Shown on calendar heading when selected day occurs on different year */ +-#: ../js/ui/calendar.js:802 ++#. Translators: Shown on calendar heading when selected day occurs on different year ++#: ../js/ui/calendar.js:830 + msgctxt "calendar heading" + msgid "%A, %B %d, %Y" + msgstr "%Y年%m月%d日%A" + +-#: ../js/ui/calendar.js:813 ++#: ../js/ui/calendar.js:840 + msgid "Today" + msgstr "今天" + +-#: ../js/ui/calendar.js:817 ++#: ../js/ui/calendar.js:844 + msgid "Tomorrow" + msgstr "明天" + +-#: ../js/ui/calendar.js:828 ++#: ../js/ui/calendar.js:855 + msgid "This week" + msgstr "本週" + +-#: ../js/ui/calendar.js:836 ++#: ../js/ui/calendar.js:863 + msgid "Next week" + msgstr "下週" + +@@ -573,7 +584,7 @@ + msgstr "可移除式裝置" + + #: ../js/ui/components/autorunManager.js:596 +-#, javascript-format ++#, c-format + msgid "Open with %s" + msgstr "用 %s 開啟" + +@@ -594,6 +605,7 @@ + msgid "Connect" + msgstr "連線" + ++#. Cisco LEAP + #: ../js/ui/components/networkAgent.js:231 + #: ../js/ui/components/networkAgent.js:243 + #: ../js/ui/components/networkAgent.js:271 +@@ -602,6 +614,7 @@ + msgid "Password: " + msgstr "密碼: " + ++#. static WEP + #: ../js/ui/components/networkAgent.js:236 + msgid "Key: " + msgstr "金鑰:" +@@ -623,7 +636,7 @@ + msgstr "無線網路所需要的核對" + + #: ../js/ui/components/networkAgent.js:319 +-#, javascript-format ++#, c-format + msgid "" + "Passwords or encryption keys are required to access the wireless network " + "“%s”." +@@ -658,7 +671,7 @@ + msgstr "行動寬頻網路密碼" + + #: ../js/ui/components/networkAgent.js:346 +-#, javascript-format ++#, c-format + msgid "A password is required to connect to “%s”." + msgstr "連線至「%s」需要密碼。" + +@@ -677,19 +690,23 @@ + #. Translators: "that didn't work" refers to the fact that the + #. * requested authentication was not gained; this can happen + #. * because of an authentication error (like invalid password), +-#. * for instance. */ ++#. * for instance. + #: ../js/ui/components/polkitAgent.js:271 ../js/ui/shellMountOperation.js:383 + msgid "Sorry, that didn't work. Please try again." + msgstr "抱歉,那樣沒有作用。請再試一次。" + ++#. FIXME: We don't have a 'chat room' icon (bgo #653737) use ++#. system-users for now as Empathy does. + #: ../js/ui/components/telepathyClient.js:240 + msgid "Invitation" + msgstr "邀請" + ++#. We got the TpContact + #: ../js/ui/components/telepathyClient.js:300 + msgid "Call" + msgstr "通話" + ++#. We got the TpContact + #: ../js/ui/components/telepathyClient.js:316 + msgid "File Transfer" + msgstr "檔案傳輸程式" +@@ -706,87 +723,95 @@ + msgid "Mute" + msgstr "靜音" + +-#. Translators: Time in 24h format */ ++#. Translators: Time in 24h format + #: ../js/ui/components/telepathyClient.js:953 +-msgid "%H∶%M" +-msgstr "%H∶%M" ++msgid "%H\\u2236%M" ++msgstr "%H\\u2236%M" + + #. Translators: this is the word "Yesterday" followed by a +-#. time string in 24h format. i.e. "Yesterday, 14:30" */ ++#. time string in 24h format. i.e. "Yesterday, 14:30" + #: ../js/ui/components/telepathyClient.js:960 +-msgid "Yesterday, %H∶%M" +-msgstr "昨天 %H:%M" ++#, no-c-format ++msgid "Yesterday, %H\\u2236%M" ++msgstr "昨天,%H\\u2236%M" + + #. Translators: this is the week day name followed by a time +-#. string in 24h format. i.e. "Monday, 14:30" */ ++#. string in 24h format. i.e. "Monday, 14:30" + #: ../js/ui/components/telepathyClient.js:967 +-msgid "%A, %H∶%M" +-msgstr "%A %H∶%M" ++#, no-c-format ++msgid "%A, %H\\u2236%M" ++msgstr "%A, %H\\u2236%M" + + #. Translators: this is the month name and day number + #. followed by a time string in 24h format. +-#. i.e. "May 25, 14:30" */ ++#. i.e. "May 25, 14:30" + #: ../js/ui/components/telepathyClient.js:974 +-msgid "%B %d, %H∶%M" +-msgstr "%m月%d日 %H∶%M" ++#, no-c-format ++msgid "%B %d, %H\\u2236%M" ++msgstr "%B %d, %H\\u2236%M" + + #. Translators: this is the month name, day number, year + #. number followed by a time string in 24h format. +-#. i.e. "May 25 2012, 14:30" */ ++#. i.e. "May 25 2012, 14:30" + #: ../js/ui/components/telepathyClient.js:980 +-msgid "%B %d %Y, %H∶%M" +-msgstr "%Y年%m月%d日 %H:%M" ++#, no-c-format ++msgid "%B %d %Y, %H\\u2236%M" ++msgstr "%B %d %Y, %H\\u2236%M" + +-#. Translators: Time in 24h format */ ++#. Translators: Time in 24h format + #: ../js/ui/components/telepathyClient.js:986 +-msgid "%l∶%M %p" +-msgstr "%p %l∶%M" ++msgid "%l\\u2236%M %p" ++msgstr "%l\\u2236%M %p" + + #. Translators: this is the word "Yesterday" followed by a +-#. time string in 12h format. i.e. "Yesterday, 2:30 pm" */ ++#. time string in 12h format. i.e. "Yesterday, 2:30 pm" + #: ../js/ui/components/telepathyClient.js:993 +-msgid "Yesterday, %l∶%M %p" +-msgstr "昨天 %p %l∶%M" ++#, no-c-format ++msgid "Yesterday, %l\\u2236%M %p" ++msgstr "昨天,%l\\u2236%M %p" + + #. Translators: this is the week day name followed by a time +-#. string in 12h format. i.e. "Monday, 2:30 pm" */ ++#. string in 12h format. i.e. "Monday, 2:30 pm" + #: ../js/ui/components/telepathyClient.js:1000 +-msgid "%A, %l∶%M %p" +-msgstr "%A%p %l∶%M" ++#, no-c-format ++msgid "%A, %l\\u2236%M %p" ++msgstr "%A, %l\\u2236%M %p" + + #. Translators: this is the month name and day number + #. followed by a time string in 12h format. +-#. i.e. "May 25, 2:30 pm" */ ++#. i.e. "May 25, 2:30 pm" + #: ../js/ui/components/telepathyClient.js:1007 +-msgid "%B %d, %l∶%M %p" +-msgstr "%m月%d日%p %l∶%M" ++#, no-c-format ++msgid "%B %d, %l\\u2236%M %p" ++msgstr "%B %d, %l\\u2236%M %p" + + #. Translators: this is the month name, day number, year + #. number followed by a time string in 12h format. +-#. i.e. "May 25 2012, 2:30 pm"*/ ++#. i.e. "May 25 2012, 2:30 pm" + #: ../js/ui/components/telepathyClient.js:1013 +-msgid "%B %d %Y, %l∶%M %p" +-msgstr "%Y年%m月%d日%p %l∶%M" ++#, no-c-format ++msgid "%B %d %Y, %l\\u2236%M %p" ++msgstr "%B %d %Y, %l\\u2236%M %p" + + #. Translators: this is the other person changing their old IM name to their new +-#. IM name. */ ++#. IM name. + #: ../js/ui/components/telepathyClient.js:1045 +-#, javascript-format ++#, c-format + msgid "%s is now known as %s" + msgstr "%s 現在被稱為 %s" + + #. translators: argument is a room name like +-#. * room@jabber.org for example. */ ++#. * room@jabber.org for example. + #: ../js/ui/components/telepathyClient.js:1149 +-#, javascript-format ++#, c-format + msgid "Invitation to %s" + msgstr "邀請加入 %s" + + #. translators: first argument is the name of a contact and the second + #. * one the name of a room. "Alice is inviting you to join room@jabber.org +-#. * for example. */ ++#. * for example. + #: ../js/ui/components/telepathyClient.js:1157 +-#, javascript-format ++#, c-format + msgid "%s is inviting you to join %s" + msgstr "%s 正在邀請您加入 %s" + +@@ -803,19 +828,19 @@ + msgid "Accept" + msgstr "接受" + +-#. translators: argument is a contact name like Alice for example. */ ++#. translators: argument is a contact name like Alice for example. + #: ../js/ui/components/telepathyClient.js:1184 +-#, javascript-format ++#, c-format + msgid "Video call from %s" + msgstr "來自 %s 的視訊電話" + +-#. translators: argument is a contact name like Alice for example. */ ++#. translators: argument is a contact name like Alice for example. + #: ../js/ui/components/telepathyClient.js:1187 +-#, javascript-format ++#, c-format + msgid "Call from %s" + msgstr "%s 來電" + +-#. translators: this is a button label (verb), not a noun */ ++#. translators: this is a button label (verb), not a noun + #: ../js/ui/components/telepathyClient.js:1201 + msgid "Answer" + msgstr "接聽" +@@ -824,15 +849,15 @@ + #. * the contact's alias and the second one is the + #. * file name. The string will be something + #. * like: "Alice is sending you test.ogg" +-#. */ ++#. + #: ../js/ui/components/telepathyClient.js:1222 +-#, javascript-format ++#, c-format + msgid "%s is sending you %s" + msgstr "%s 正傳送給您 %s" + +-#. To translators: The parameter is the contact's alias */ ++#. To translators: The parameter is the contact's alias + #: ../js/ui/components/telepathyClient.js:1251 +-#, javascript-format ++#, c-format + msgid "%s would like permission to see when you are online" + msgstr "%s 想要得到查看您上線狀態的許可" + +@@ -937,9 +962,9 @@ + msgstr "內部的錯誤" + + #. translators: argument is the account name, like +-#. * name@jabber.org for example. */ ++#. * name@jabber.org for example. + #: ../js/ui/components/telepathyClient.js:1393 +-#, javascript-format ++#, c-format + msgid "Unable to connect to %s" + msgstr "無法連線到 %s" + +@@ -951,7 +976,7 @@ + msgid "Unknown reason" + msgstr "不明原因" + +-#: ../js/ui/ctrlAltTab.js:29 ../js/ui/viewSelector.js:154 ++#: ../js/ui/ctrlAltTab.js:29 ../js/ui/viewSelector.js:155 + msgid "Windows" + msgstr "視窗" + +@@ -959,6 +984,8 @@ + msgid "Show Applications" + msgstr "顯示應用程式" + ++#. Translators: this is the name of the dock/favorites area on ++#. the left of the overview + #: ../js/ui/dash.js:445 + msgid "Dash" + msgstr "Dash" +@@ -977,13 +1004,13 @@ + + #. 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:132 + msgid "%A %B %e, %Y" + msgstr "%Y年%m月%e日%A" + + #: ../js/ui/endSessionDialog.js:64 +-#, javascript-format ++#, c-format + msgctxt "title" + msgid "Log Out %s" + msgstr "登出 %s" +@@ -994,13 +1021,13 @@ + msgstr "登出" + + #: ../js/ui/endSessionDialog.js:67 +-#, javascript-format ++#, c-format + msgid "%s will be logged out automatically in %d second." + msgid_plural "%s will be logged out automatically in %d seconds." + msgstr[0] "%s 會在 %d 秒後自動登出。" + + #: ../js/ui/endSessionDialog.js:72 +-#, javascript-format ++#, c-format + msgid "You will be logged out automatically in %d second." + msgid_plural "You will be logged out automatically in %d seconds." + msgstr[0] "您會在 %d 秒後自動登出。" +@@ -1021,7 +1048,7 @@ + msgstr "安裝更新並關機" + + #: ../js/ui/endSessionDialog.js:87 +-#, javascript-format ++#, c-format + msgid "The system will power off automatically in %d second." + msgid_plural "The system will power off automatically in %d seconds." + msgstr[0] "系統會在 %d 秒後關閉電源。" +@@ -1047,7 +1074,7 @@ + msgstr "重新啟動" + + #: ../js/ui/endSessionDialog.js:105 +-#, javascript-format ++#, c-format + msgid "The system will restart automatically in %d second." + msgid_plural "The system will restart automatically in %d seconds." + msgstr[0] "系統會在 %d 秒後自動重新啟動。" +@@ -1058,8 +1085,9 @@ + msgstr "重新啟動並安裝更新" + + #: ../js/ui/endSessionDialog.js:121 +-#, javascript-format +-msgid "The system will automatically restart and install updates in %d second." ++#, c-format ++msgid "" ++"The system will automatically restart and install updates in %d second." + msgid_plural "" + "The system will automatically restart and install updates in %d seconds." + msgstr[0] "系統會在 %d 秒後自動重新啟動。" +@@ -1091,15 +1119,15 @@ + msgid "Other users are logged in." + msgstr "其他使用者已登入。" + +-#. Translators: Remote here refers to a remote session, like a ssh login */ ++#. Translators: Remote here refers to a remote session, like a ssh login + #: ../js/ui/endSessionDialog.js:640 +-#, javascript-format ++#, c-format + msgid "%s (remote)" + msgstr "%s (遠端)" + +-#. Translators: Console here refers to a tty like a VT console */ ++#. Translators: Console here refers to a tty like a VT console + #: ../js/ui/endSessionDialog.js:643 +-#, javascript-format ++#, c-format + msgid "%s (console)" + msgstr "%s (主控臺)" + +@@ -1108,99 +1136,116 @@ + msgstr "安裝" + + #: ../js/ui/extensionDownloader.js:204 +-#, javascript-format ++#, c-format + msgid "Download and install “%s” from extensions.gnome.org?" + msgstr "是否從 extensions.gnome.org 下載並安裝「%s」?" + +-#: ../js/ui/keyboard.js:700 ../js/ui/status/keyboard.js:523 ++#: ../js/ui/extensionSystem.js:314 ++#, c-format ++msgid "%d extension is out of date" ++msgid_plural "%d extensions are out of date" ++msgstr[0] "%d 延伸已過期" ++ ++#: ../js/ui/extensionSystem.js:317 ++msgid "You can visit http://extensions.gnome.org for updates" ++msgstr "您可透過 http://extensions.gnome.org 更新" ++ ++#: ../js/ui/keyboard.js:700 ../js/ui/status/keyboard.js:535 + msgid "Keyboard" + msgstr "鍵盤" + +-#: ../js/ui/lookingGlass.js:643 ++#: ../js/ui/lookingGlass.js:645 + msgid "No extensions installed" + msgstr "沒有安裝擴充功能" + +-#. Translators: argument is an extension UUID. */ +-#: ../js/ui/lookingGlass.js:697 +-#, javascript-format ++#. Translators: argument is an extension UUID. ++#: ../js/ui/lookingGlass.js:699 ++#, c-format + msgid "%s has not emitted any errors." + msgstr "%s 沒有發出任何錯誤。" + +-#: ../js/ui/lookingGlass.js:703 ++#: ../js/ui/lookingGlass.js:705 + msgid "Hide Errors" + msgstr "隱藏錯誤" + +-#: ../js/ui/lookingGlass.js:707 ../js/ui/lookingGlass.js:767 ++#: ../js/ui/lookingGlass.js:709 ../js/ui/lookingGlass.js:769 + msgid "Show Errors" + msgstr "顯示錯誤" + +-#: ../js/ui/lookingGlass.js:716 ../js/ui/status/location.js:71 ++#: ../js/ui/lookingGlass.js:718 ../js/ui/status/location.js:71 + #: ../js/ui/status/location.js:176 + msgid "Enabled" + msgstr "已啟用" + + #. Translators: this is for a network device that cannot be activated +-#. because it's disabled by rfkill (airplane mode) */ ++#. because it's disabled by rfkill (airplane mode) + #. translators: + #. * The device has been disabled +-#: ../js/ui/lookingGlass.js:719 ../js/ui/status/location.js:179 ++#: ../js/ui/lookingGlass.js:721 ../js/ui/status/location.js:179 + #: ../js/ui/status/network.js:592 ../src/gvc/gvc-mixer-control.c:1830 + msgid "Disabled" + msgstr "已停用" + +-#: ../js/ui/lookingGlass.js:721 ++#: ../js/ui/lookingGlass.js:723 + msgid "Error" + msgstr "錯誤" + +-#: ../js/ui/lookingGlass.js:723 ++#: ../js/ui/lookingGlass.js:725 + msgid "Out of date" + msgstr "過期" + +-#: ../js/ui/lookingGlass.js:725 ++#: ../js/ui/lookingGlass.js:727 + msgid "Downloading" + msgstr "下載中" + +-#: ../js/ui/lookingGlass.js:749 ++#: ../js/ui/lookingGlass.js:751 + msgid "View Source" + msgstr "檢示來源" + +-#: ../js/ui/lookingGlass.js:758 ++#: ../js/ui/lookingGlass.js:760 + msgid "Web Page" + msgstr "網頁" + +-#: ../js/ui/messageTray.js:1327 ++#: ../js/ui/messageTray.js:1334 + msgid "Open" + msgstr "開啟" + +-#: ../js/ui/messageTray.js:1334 ++#: ../js/ui/messageTray.js:1341 + msgid "Remove" + msgstr "移除" + +-#: ../js/ui/messageTray.js:1631 ++#: ../js/ui/messageTray.js:1638 + msgid "Notifications" + msgstr "通知" + +-#: ../js/ui/messageTray.js:1638 ++#: ../js/ui/messageTray.js:1645 + msgid "Clear Messages" + msgstr "清除訊息" + +-#: ../js/ui/messageTray.js:1657 ++#: ../js/ui/messageTray.js:1664 + msgid "Notification Settings" + msgstr "通知設定值" + +-#: ../js/ui/messageTray.js:1710 ++#: ../js/ui/messageTray.js:1717 + msgid "Tray Menu" + msgstr "系統匣選單" + +-#: ../js/ui/messageTray.js:1934 ++#: ../js/ui/messageTray.js:1941 + msgid "No Messages" + msgstr "沒有訊息" + +-#: ../js/ui/messageTray.js:1979 ++#: ../js/ui/messageTray.js:1988 + msgid "Message Tray" + msgstr "訊息匣" + +-#: ../js/ui/messageTray.js:2992 ++#: ../js/ui/messageTray.js:2447 ../js/ui/overviewControls.js:483 ++#: ../js/ui/screenShield.js:151 ++#, c-format ++msgid "%d new message" ++msgid_plural "%d new messages" ++msgstr[0] "%d 個新訊息" ++ ++#: ../js/ui/messageTray.js:3017 + msgid "System Information" + msgstr "系統資訊" + +@@ -1209,12 +1254,6 @@ + msgid "Unknown" + msgstr "不明" + +-#: ../js/ui/overviewControls.js:482 ../js/ui/screenShield.js:151 +-#, javascript-format +-msgid "%d new message" +-msgid_plural "%d new messages" +-msgstr[0] "%d 個新訊息" +- + #: ../js/ui/overview.js:84 + msgid "Undo" + msgstr "復原" +@@ -1226,7 +1265,7 @@ + #. Translators: this is the text displayed + #. in the search entry when no search is + #. active; it should not exceed ~30 +-#. characters. */ ++#. characters. + #: ../js/ui/overview.js:246 + msgid "Type to search…" + msgstr "輸入以搜尋…" +@@ -1236,15 +1275,20 @@ + msgstr "結束" + + #. Translators: If there is no suitable word for "Activities" +-#. in your language, you can use the word for "Overview". */ +-#: ../js/ui/panel.js:567 ++#. in your language, you can use the word for "Overview". ++#: ../js/ui/panel.js:574 + msgid "Activities" + msgstr "概覽 " + +-#: ../js/ui/panel.js:918 ++#: ../js/ui/panel.js:925 + msgid "Top Bar" + 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:269 + msgid "toggle-switch-us" + msgstr "toggle-switch-us" +@@ -1262,30 +1306,37 @@ + msgstr "重新啟動…" + + #. Translators: This is a time format for a date in +-#. long format */ ++#. long format + #: ../js/ui/screenShield.js:88 + msgid "%A, %B %d" + msgstr "%m月%d日%A" + + #: ../js/ui/screenShield.js:153 +-#, javascript-format ++#, c-format + msgid "%d new notification" + msgid_plural "%d new notifications" + msgstr[0] "%d 個新通知" + +-#: ../js/ui/screenShield.js:472 ../js/ui/status/system.js:345 ++#: ../js/ui/screenShield.js:473 ../js/ui/status/system.js:345 + msgid "Lock" + msgstr "鎖定" + +-#: ../js/ui/screenShield.js:706 ++#: ../js/ui/screenShield.js:709 + msgid "GNOME needs to lock the screen" + msgstr "GNOME 需要鎖定螢幕" + +-#: ../js/ui/screenShield.js:833 ../js/ui/screenShield.js:1304 ++#. We could not become modal, so we can't activate the ++#. screenshield. The user is probably very upset at this ++#. point, but any application using global grabs is broken ++#. Just tell him to stop using this app ++#. ++#. XXX: another option is to kick the user into the gdm login ++#. screen, where we're not affected by grabs ++#: ../js/ui/screenShield.js:836 ../js/ui/screenShield.js:1312 + msgid "Unable to lock" + msgstr "無法鎖定" + +-#: ../js/ui/screenShield.js:834 ../js/ui/screenShield.js:1305 ++#: ../js/ui/screenShield.js:837 ../js/ui/screenShield.js:1313 + msgid "Lock was blocked by an application" + msgstr "鎖定被應用程式阻擋" + +@@ -1365,6 +1416,8 @@ + msgid "Large Text" + msgstr "大型文字" + ++#. The Bluetooth menu only appears when Bluetooth is in use, ++#. so just statically build it with a "Turn Off" menu item. + #: ../js/ui/status/bluetooth.js:49 + msgid "Bluetooth" + msgstr "藍牙" +@@ -1381,7 +1434,7 @@ + msgstr "藍牙設定值" + + #: ../js/ui/status/bluetooth.js:104 +-#, javascript-format ++#, c-format + msgid "%d Connected Device" + msgid_plural "%d Connected Devices" + msgstr[0] "%d 已連線的裝置" +@@ -1394,7 +1447,7 @@ + msgid "Brightness" + msgstr "亮度" + +-#: ../js/ui/status/keyboard.js:547 ++#: ../js/ui/status/keyboard.js:559 + msgid "Show Keyboard Layout" + msgstr "顯示鍵盤配置" + +@@ -1407,7 +1460,6 @@ + msgstr "停用" + + #: ../js/ui/status/location.js:73 +-#| msgid "Power Settings" + msgid "Privacy Settings" + msgstr "隱私設定值" + +@@ -1433,7 +1485,7 @@ + msgstr "已連線" + + #. Translators: this is for network devices that are physically present but are not +-#. under NetworkManager's control (and thus cannot be used in the menu) */ ++#. under NetworkManager's control (and thus cannot be used in the menu) + #: ../js/ui/status/network.js:463 + msgid "Unmanaged" + msgstr "未管理" +@@ -1446,19 +1498,19 @@ + msgid "Connecting" + msgstr "連線中" + +-#. Translators: this is for network connections that require some kind of key or password */ ++#. Translators: this is for network connections that require some kind of key or password + #: ../js/ui/status/network.js:474 + msgid "Authentication required" + msgstr "要求核對" + + #. Translators: this is for devices that require some kind of firmware or kernel +-#. module, which is missing */ ++#. module, which is missing + #: ../js/ui/status/network.js:482 + msgid "Firmware missing" + msgstr "缺少韌體" + + #. Translators: this is for a network device that cannot be activated (for example it +-#. is disabled by rfkill, or it has no coverage */ ++#. is disabled by rfkill, or it has no coverage + #: ../js/ui/status/network.js:486 + msgid "Unavailable" + msgstr "無法使用" +@@ -1543,7 +1595,7 @@ + msgid "connecting..." + msgstr "連線中…" + +-#. Translators: this is for network connections that require some kind of key or password */ ++#. Translators: this is for network connections that require some kind of key or password + #: ../js/ui/status/network.js:1412 + msgid "authentication required" + msgstr "要求核對" +@@ -1580,19 +1632,23 @@ + msgid "Fully Charged" + msgstr "已完全充飽" + ++#. 0 is reported when UPower does not have enough data ++#. to estimate battery life + #: ../js/ui/status/power.js:72 ../js/ui/status/power.js:78 + msgid "Estimating…" + msgstr "評估中…" + ++#. Translators: this is : Remaining () + #: ../js/ui/status/power.js:86 +-#, javascript-format +-msgid "%d∶%02d Remaining (%d%%)" +-msgstr "剩餘時間 %d∶%02d (%d%%)" ++#, c-format ++msgid "%d\\u2236%02d Remaining (%d%%)" ++msgstr "%d\\u2236%02d 剩餘 (%d%%)" + ++#. Translators: this is : Until Full () + #: ../js/ui/status/power.js:91 +-#, javascript-format +-msgid "%d∶%02d Until Full (%d%%)" +-msgstr "直到充滿還需 %d∶%02d (%d%%)" ++#, c-format ++msgid "%d\\u2236%02d Until Full (%d%%)" ++msgstr "%d\\u2236%02d 直到充滿還需 (%d%%)" + + #: ../js/ui/status/power.js:119 + msgid "UPS" +@@ -1602,6 +1658,9 @@ + msgid "Battery" + msgstr "電池" + ++#. The menu only appears when airplane mode is on, so just ++#. statically build it as if it was on, rather than dynamically ++#. changing the menu contents. + #: ../js/ui/status/rfkill.js:83 + msgid "Airplane Mode" + msgstr "飛安模式" +@@ -1650,16 +1709,16 @@ + msgid "Unlock Window" + msgstr "解鎖視窗" + +-#: ../js/ui/viewSelector.js:158 ++#: ../js/ui/viewSelector.js:159 + msgid "Applications" + msgstr "應用程式" + +-#: ../js/ui/viewSelector.js:162 ++#: ../js/ui/viewSelector.js:163 + msgid "Search" + msgstr "搜尋" + + #: ../js/ui/windowAttentionHandler.js:19 +-#, javascript-format ++#, c-format + msgid "“%s” is ready" + msgstr "「%s」已就緒" + +@@ -1669,7 +1728,7 @@ + + #. Translators: this and the following message should be limited in lenght, + #. to avoid ellipsizing the labels. +-#. */ ++#. + #: ../js/ui/windowManager.js:84 + msgid "Revert Settings" + msgstr "還原設定值" +@@ -1679,7 +1738,7 @@ + msgstr "保留變更" + + #: ../js/ui/windowManager.js:107 +-#, javascript-format ++#, c-format + msgid "Settings changes will revert in %d second" + msgid_plural "Settings changes will revert in %d seconds" + msgstr[0] "設定值的變更會在 %d 秒內還原" +@@ -1748,19 +1807,19 @@ + msgid "System Sounds" + msgstr "系統音效" + +-#: ../src/main.c:373 ++#: ../src/main.c:381 + msgid "Print version" + msgstr "顯示版本" + +-#: ../src/main.c:379 ++#: ../src/main.c:387 + msgid "Mode used by GDM for login screen" + msgstr "GDM 在登入畫面使用的模式" + +-#: ../src/main.c:385 ++#: ../src/main.c:393 + msgid "Use a specific mode, e.g. \"gdm\" for login screen" + msgstr "使用指定的模式,例如「gdm」為登入畫面" + +-#: ../src/main.c:391 ++#: ../src/main.c:399 + msgid "List possible modes" + msgstr "列出可能的模式" + +@@ -1780,123 +1839,3 @@ + #: ../src/shell-polkit-authentication-agent.c:346 + msgid "Authentication dialog was dismissed by the user" + msgstr "核對對話盒被使用者取消了" +- +-#~ msgid "The maximum accuracy level of location." +-#~ msgstr "地理位置的最高精確等級。" +- +-#~ msgid "" +-#~ "Configures the maximum level of location accuracy applications are " +-#~ "allowed to see. Valid options are 'off' (disable location tracking), " +-#~ "'country', 'city', 'neighborhood', 'street', and 'exact' (typically " +-#~ "requires GPS receiver). Please keep in mind that this only controls what " +-#~ "GeoClue will allow applications to see and they can find user's location " +-#~ "on their own using network resources (albeit with street-level accuracy " +-#~ "at best)." +-#~ msgstr "" +-#~ "設定應用程式可查看的地理位置最高精確等級。有效的選項為「off」(停用地理位置" +-#~ "追蹤)、「country」(國家)、「city」(縣市)、「neiborhood」(鄰里)、「street」" +-#~ "(街路)、「exact」(一般需要 GPS 接收器)。請務必記住這只能控制 GeoClue 所允" +-#~ "許應用程式查看的等級,而程式可自行使用本身的網路資源尋找使用者的所在位置 " +-#~ "(雖然精確度最高只能到達街路等級)。" +- +-#~ msgid "Arrangement of buttons on the titlebar" +-#~ msgstr "標題列上的按鈕排列" +- +-#~ msgid "" +-#~ "This key overrides the key in org.gnome.desktop.wm.preferences when " +-#~ "running GNOME Shell." +-#~ msgstr "" +-#~ "這個設定鍵會在執行 GNOME Shell 時覆蓋 org.gnome.desktop.wm.preferences 中" +-#~ "的設定鍵。" +- +-#~ msgid "Extension" +-#~ msgstr "擴充功能" +- +-#~ msgid "Select an extension to configure using the combobox above." +-#~ msgstr "使用上面的組合方塊選擇要設定的擴充功能。" +- +-#~ msgid "calendar:MY" +-#~ msgstr "calendar:MY" +- +-#~ msgid "%A, %H:%M" +-#~ msgstr "%A%H:%M" +- +-#~ msgid "%B %d, %H:%M" +-#~ msgstr "%m月%d日%H:%M" +- +-#~ msgid "%B %d %Y, %H:%M " +-#~ msgstr "%Y年%m月%d日%H:%M " +- +-#~ msgid "List of categories that should be displayed as folders" +-#~ msgstr "要顯示為資料夾的分類清單" +- +-#~ msgid "" +-#~ "Each category name in this list will be represented as folder in the " +-#~ "application view, rather than being displayed inline in the main view." +-#~ msgstr "" +-#~ "這個清單中的每個分類名稱都會在應用程式檢視中以資料夾表示,而不是在主要檢視" +-#~ "中直接顯示。" +- +-#~ msgid "Authorization request from %s" +-#~ msgstr "來自「%s」的核對要求" +- +-#~ msgid "Device %s wants to pair with this computer" +-#~ msgstr "裝置 %s 想要和這個電腦配對" +- +-#~ msgid "Allow" +-#~ msgstr "允許" +- +-#~ msgid "Deny" +-#~ msgstr "禁止" +- +-#~ msgid "Device %s wants access to the service '%s'" +-#~ msgstr "裝置 %s 想要存取服務「%s」" +- +-#~ msgid "Always grant access" +-#~ msgstr "永遠准許存取" +- +-#~ msgid "Grant this time only" +-#~ msgstr "只有這次准許" +- +-#~ msgid "Reject" +-#~ msgstr "拒絕" +- +-#~ msgid "Pairing confirmation for %s" +-#~ msgstr "%s 的配對確認" +- +-#~ msgid "" +-#~ "Please confirm whether the Passkey '%06d' matches the one on the device." +-#~ msgstr "請確認通行碼「%06d」是否和裝置上的相符。" +- +-#~ msgid "Matches" +-#~ msgstr "相符" +- +-#~ msgid "Does not match" +-#~ msgstr "不相符" +- +-#~ msgid "Pairing request for %s" +-#~ msgstr "%s 的配對請求" +- +-#~ msgid "Please enter the PIN mentioned on the device." +-#~ msgstr "請輸入裝置所提及的 PIN。" +- +-#~ msgid "OK" +-#~ msgstr "確定" +- +-#~ msgid "" +-#~ "Sorry, no wisdom for you today:\n" +-#~ "%s" +-#~ msgstr "" +-#~ "抱歉,今天可能有些問題:\n" +-#~ "%s" +- +-#~ msgid "%s the Oracle says" +-#~ msgstr "%s Oracle 說:" +- +-#~ msgctxt "event list time" +-#~ msgid "%H\\u2236%M" +-#~ msgstr "%H\\u2236%M" +- +-#~ msgctxt "event list time" +-#~ msgid "%l\\u2236%M\\u2009%p" +-#~ msgstr "%l\\u2236%M\\u2009%p" +diff -urN gnome-shell-3.14.4/po/it.po gnome-shell-3.14.4_localized/po/it.po +--- gnome-shell-3.14.4/po/it.po 2016-06-19 11:34:52.159323415 +0530 ++++ gnome-shell-3.14.4_localized/po/it.po 2016-06-19 11:35:04.860322404 +0530 +@@ -6,6 +6,7 @@ + # Milo Casagrande , 2009, 2010, 2012, 2013, 2014. + # Luca Ferretti , 2010, 2011, 2012, 2013, 2014. + # pnemade , 2016. #zanata ++# tchuang , 2016. #zanata + msgid "" + msgstr "" + "Project-Id-Version: gnome-shell\n" +@@ -14,7 +15,7 @@ + "MIME-Version: 1.0\n" + "Content-Type: text/plain; charset=UTF-8\n" + "Content-Transfer-Encoding: 8bit\n" +-"PO-Revision-Date: 2014-10-10 09:01+0000\n" ++"PO-Revision-Date: 2016-06-13 01:46+0000\n" + "Last-Translator: Milo Casagrande \n" + "Language-Team: Italiano \n" + "Language: it\n" +@@ -772,75 +773,73 @@ + + #. Translators: Time in 24h format + #: ../js/ui/components/telepathyClient.js:953 +-#, fuzzy + msgid "%H\\u2236%M" +-msgstr "%-H\\u002E%M" ++msgstr "%H\\u2236%M" + + #. Translators: this is the word "Yesterday" followed by a + #. time string in 24h format. i.e. "Yesterday, 14:30" + #: ../js/ui/components/telepathyClient.js:960 +-#, fuzzy, no-c-format ++#, no-c-format + msgid "Yesterday, %H\\u2236%M" +-msgstr "Ieri, %k.%M" ++msgstr "Ieri, %H\\u2236%M" + + #. Translators: this is the week day name followed by a time + #. string in 24h format. i.e. "Monday, 14:30" + #: ../js/ui/components/telepathyClient.js:967 +-#, fuzzy, no-c-format ++#, no-c-format + msgid "%A, %H\\u2236%M" +-msgstr "%-H\\u002E%M" ++msgstr "%A, %H\\u2236%M" + + #. Translators: this is the month name and day number + #. followed by a time string in 24h format. + #. i.e. "May 25, 14:30" + #: ../js/ui/components/telepathyClient.js:974 +-#, fuzzy, no-c-format ++#, no-c-format + msgid "%B %d, %H\\u2236%M" +-msgstr "%-H\\u002E%M" ++msgstr "%B %d, %H\\u2236%M" + + #. Translators: this is the month name, day number, year + #. number followed by a time string in 24h format. + #. i.e. "May 25 2012, 14:30" + #: ../js/ui/components/telepathyClient.js:980 +-#, fuzzy, no-c-format ++#, no-c-format + msgid "%B %d %Y, %H\\u2236%M" +-msgstr "%e %B %Y, %k.%M" ++msgstr "%B %d %Y, %H\\u2236%M" + + #. Translators: Time in 24h format + #: ../js/ui/components/telepathyClient.js:986 +-#, fuzzy + msgid "%l\\u2236%M %p" +-msgstr "%-H\\u002E%M" ++msgstr "%l\\u2236%M %p" + + #. Translators: this is the word "Yesterday" followed by a + #. time string in 12h format. i.e. "Yesterday, 2:30 pm" + #: ../js/ui/components/telepathyClient.js:993 +-#, fuzzy, no-c-format ++#, no-c-format + msgid "Yesterday, %l\\u2236%M %p" +-msgstr "Ieri, %l.%M %p" ++msgstr "Ieri, %l\\u2236%M %p" + + #. Translators: this is the week day name followed by a time + #. string in 12h format. i.e. "Monday, 2:30 pm" + #: ../js/ui/components/telepathyClient.js:1000 +-#, fuzzy, no-c-format ++#, no-c-format + msgid "%A, %l\\u2236%M %p" +-msgstr "%A, %l.%M %p" ++msgstr "%A, %l\\u2236%M %p" + + #. Translators: this is the month name and day number + #. followed by a time string in 12h format. + #. i.e. "May 25, 2:30 pm" + #: ../js/ui/components/telepathyClient.js:1007 +-#, fuzzy, no-c-format ++#, no-c-format + msgid "%B %d, %l\\u2236%M %p" +-msgstr "%d %B, %l.%M %p" ++msgstr "%B %d, %l\\u2236%M %p" + + #. Translators: this is the month name, day number, year + #. number followed by a time string in 12h format. + #. i.e. "May 25 2012, 2:30 pm" + #: ../js/ui/components/telepathyClient.js:1013 +-#, fuzzy, no-c-format ++#, no-c-format + msgid "%B %d %Y, %l\\u2236%M %p" +-msgstr "%d %B %Y, %l.%M %p" ++msgstr "%B %d %Y, %l\\u2236%M %p" + + #. Translators: this is the other person changing their old IM name to their new + #. IM name. +@@ -1211,15 +1210,15 @@ + msgstr "Scaricare e installare «%s» da extensions.gnome.org?" + + #: ../js/ui/extensionSystem.js:314 +-#, fuzzy, c-format ++#, c-format + msgid "%d extension is out of date" + msgid_plural "%d extensions are out of date" +-msgstr[0] "Nessuna estensione installata" +-msgstr[1] "Nessuna estensione installata" ++msgstr[0] "l'estensione %d non è aggiornata" ++msgstr[1] "Le estensioni %d non sono aggiornate" + + #: ../js/ui/extensionSystem.js:317 + msgid "You can visit http://extensions.gnome.org for updates" +-msgstr "" ++msgstr "Per aggiornamenti, visitare http://extensions.gnome.org" + + #: ../js/ui/keyboard.js:700 ../js/ui/status/keyboard.js:535 + msgid "Keyboard" +@@ -1721,16 +1720,16 @@ + + #. Translators: this is : Remaining () + #: ../js/ui/status/power.js:86 +-#, fuzzy, c-format ++#, c-format + msgid "%d\\u2236%02d Remaining (%d%%)" +-msgstr "%d.%02d rimanente (%d%%)" ++msgstr "%d\\u2236%02d rimanente (%d%%)" + + # in stile MacOS sarebbe "al pieno" :P + #. Translators: this is : Until Full () + #: ../js/ui/status/power.js:91 +-#, fuzzy, c-format ++#, c-format + msgid "%d\\u2236%02d Until Full (%d%%)" +-msgstr "%d.%02d alla carica (%d%%)" ++msgstr "%d\\u2236%02d alla carica (%d%%)" + + #: ../js/ui/status/power.js:119 + msgid "UPS" +diff -urN gnome-shell-3.14.4/po/ko.po gnome-shell-3.14.4_localized/po/ko.po +--- gnome-shell-3.14.4/po/ko.po 2016-06-19 11:34:52.161323415 +0530 ++++ gnome-shell-3.14.4_localized/po/ko.po 2016-06-19 11:35:04.865322404 +0530 +@@ -12,6 +12,7 @@ + # - VPN: 가상사설망 + # - pairing (bluetooth 관련): 페어링 + # - Wayland: 웨일랜드로 음역 ++# eukim , 2016. #zanata + # pnemade , 2016. #zanata + msgid "" + msgstr "" +@@ -21,8 +22,8 @@ + "MIME-Version: 1.0\n" + "Content-Type: text/plain; charset=UTF-8\n" + "Content-Transfer-Encoding: 8bit\n" +-"PO-Revision-Date: 2014-09-17 04:41+0000\n" +-"Last-Translator: Changwoo Ryu \n" ++"PO-Revision-Date: 2016-05-24 05:39+0000\n" ++"Last-Translator: eukim \n" + "Language-Team: GNOME Korea \n" + "Language: ko\n" + "Plural-Forms: nplurals=1; plural=0;\n" +@@ -440,7 +441,7 @@ + #: ../js/ui/calendar.js:77 + msgctxt "event list time" + msgid "%H\\u2236%M" +-msgstr "" ++msgstr "%H\\u2236%M" + + #. Translators: Shown in calendar event list, if 12h format, + #. \u2236 is a ratio character, similar to : and \u2009 is +@@ -448,7 +449,7 @@ + #: ../js/ui/calendar.js:86 + msgctxt "event list time" + msgid "%l\\u2236%M\\u2009%p" +-msgstr "" ++msgstr "%l\\u2236%M\\u2009%p" + + #. Translators: Calendar grid abbreviation for Sunday. + #. * +@@ -739,73 +740,72 @@ + #. Translators: Time in 24h format + #: ../js/ui/components/telepathyClient.js:953 + msgid "%H\\u2236%M" +-msgstr "" ++msgstr "%H\\u2236%M" + + #. Translators: this is the word "Yesterday" followed by a + #. time string in 24h format. i.e. "Yesterday, 14:30" + #: ../js/ui/components/telepathyClient.js:960 +-#, fuzzy, no-c-format ++#, no-c-format + msgid "Yesterday, %H\\u2236%M" +-msgstr "어제, %H:%M" ++msgstr "어제, %H\\u2236%M" + + #. Translators: this is the week day name followed by a time + #. string in 24h format. i.e. "Monday, 14:30" + #: ../js/ui/components/telepathyClient.js:967 +-#, fuzzy, no-c-format ++#, no-c-format + msgid "%A, %H\\u2236%M" +-msgstr "%A, %H:%M" ++msgstr "%A, %H\\u2236%M" + + #. Translators: this is the month name and day number + #. followed by a time string in 24h format. + #. i.e. "May 25, 14:30" + #: ../js/ui/components/telepathyClient.js:974 +-#, fuzzy, no-c-format ++#, no-c-format + msgid "%B %d, %H\\u2236%M" +-msgstr "%B %d일, %H∶%M" ++msgstr "%B %d, %H\\u2236%M" + + #. Translators: this is the month name, day number, year + #. number followed by a time string in 24h format. + #. i.e. "May 25 2012, 14:30" + #: ../js/ui/components/telepathyClient.js:980 +-#, fuzzy, no-c-format ++#, no-c-format + msgid "%B %d %Y, %H\\u2236%M" +-msgstr "%Y년 %B %d일, %H∶%M" ++msgstr "%B %d %Y, %H\\u2236%M" + + #. Translators: Time in 24h format + #: ../js/ui/components/telepathyClient.js:986 +-#, fuzzy + msgid "%l\\u2236%M %p" +-msgstr "%p %l∶%M" ++msgstr "%l\\u2236%M %p" + + #. Translators: this is the word "Yesterday" followed by a + #. time string in 12h format. i.e. "Yesterday, 2:30 pm" + #: ../js/ui/components/telepathyClient.js:993 +-#, fuzzy, no-c-format ++#, no-c-format + msgid "Yesterday, %l\\u2236%M %p" +-msgstr "어제, %p %l∶%M" ++msgstr "어제, %l\\u2236%M %p" + + #. Translators: this is the week day name followed by a time + #. string in 12h format. i.e. "Monday, 2:30 pm" + #: ../js/ui/components/telepathyClient.js:1000 +-#, fuzzy, no-c-format ++#, no-c-format + msgid "%A, %l\\u2236%M %p" +-msgstr "%A, %p %l∶%M" ++msgstr "%A, %l\\u2236%M %p" + + #. Translators: this is the month name and day number + #. followed by a time string in 12h format. + #. i.e. "May 25, 2:30 pm" + #: ../js/ui/components/telepathyClient.js:1007 +-#, fuzzy, no-c-format ++#, no-c-format + msgid "%B %d, %l\\u2236%M %p" +-msgstr "%B %d일, %p %l∶%M" ++msgstr "%B %d일, %l\\u2236%M %p" + + #. Translators: this is the month name, day number, year + #. number followed by a time string in 12h format. + #. i.e. "May 25 2012, 2:30 pm" + #: ../js/ui/components/telepathyClient.js:1013 +-#, fuzzy, no-c-format ++#, no-c-format + msgid "%B %d %Y, %l\\u2236%M %p" +-msgstr "%Y년 %B %d일, %p %l∶%M" ++msgstr "%Y년 %B %d일, %l\\u2236%M %p" + + #. Translators: this is the other person changing their old IM name to their new + #. IM name. +@@ -1155,14 +1155,14 @@ + msgstr "extensions.gnome.org 사이트에서 “%s” 확장을 다운로드해 설치하시겠습니까?" + + #: ../js/ui/extensionSystem.js:314 +-#, fuzzy, c-format ++#, c-format + msgid "%d extension is out of date" + msgid_plural "%d extensions are out of date" +-msgstr[0] "확장을 설치하지 않았습니다" ++msgstr[0] "%d 확장이 업데이트되지 않았습니다" + + #: ../js/ui/extensionSystem.js:317 + msgid "You can visit http://extensions.gnome.org for updates" +-msgstr "" ++msgstr "http://extensions.gnome.org에서 업데이트할 수 있습니다" + + #: ../js/ui/keyboard.js:700 ../js/ui/status/keyboard.js:535 + msgid "Keyboard" +@@ -1654,15 +1654,15 @@ + + #. Translators: this is : Remaining () + #: ../js/ui/status/power.js:86 +-#, fuzzy, c-format ++#, c-format + msgid "%d\\u2236%02d Remaining (%d%%)" +-msgstr "%d∶%02d 남음(%d%%)" ++msgstr "%d\\u2236%02d 남음 (%d%%)" + + #. Translators: this is : Until Full () + #: ../js/ui/status/power.js:91 +-#, fuzzy, c-format ++#, c-format + msgid "%d\\u2236%02d Until Full (%d%%)" +-msgstr "충전까지 %d:%02d(%d%%)" ++msgstr "충전까지 %d\\u2236%02d (%d%%)" + + #: ../js/ui/status/power.js:119 + msgid "UPS" diff --git a/SOURCES/video-memory-purge.patch b/SOURCES/video-memory-purge.patch new file mode 100644 index 0000000..0ce020c --- /dev/null +++ b/SOURCES/video-memory-purge.patch @@ -0,0 +1,90 @@ +From 9c0338bf22b1267059b26b3ad17033a22139c462 Mon Sep 17 00:00:00 2001 +From: Rui Matos +Date: Fri, 3 Jun 2016 15:20:20 +0200 +Subject: [PATCH 1/3] main: Reload theme on loss of graphics context + +The theme machinery uses FBOs in some cases (mainly for shadows) which +need to be reloaded if we get a GL context lost error. + +https://bugzilla.gnome.org/show_bug.cgi?id=739178 +--- + js/ui/main.js | 2 ++ + 1 file changed, 2 insertions(+) + +diff --git a/js/ui/main.js b/js/ui/main.js +index ad95ce0..789dd69 100644 +--- a/js/ui/main.js ++++ b/js/ui/main.js +@@ -191,6 +191,8 @@ function _initializeUI() { + return true; + }); + ++ global.display.connect('gl-video-memory-purged', loadTheme); ++ + // Provide the bus object for gnome-session to + // initiate logouts. + EndSessionDialog.init(); +-- +2.7.4 + + +From fea1b97af6db2e8a237b011aa720da4c4a8b4622 Mon Sep 17 00:00:00 2001 +From: Rui Matos +Date: Sun, 29 May 2016 19:42:25 +0200 +Subject: [PATCH 2/3] screenShield: Stop using an offscreen buffer for the + arrow actor + +This isn't a performance critical actor and the NVIDIA driver discards +offscreen buffers in some cases which would require us to go through +extra hoops to handle here which isn't worth it. + +https://bugzilla.gnome.org/show_bug.cgi?id=739178 +--- + js/ui/screenShield.js | 1 - + 1 file changed, 1 deletion(-) + +diff --git a/js/ui/screenShield.js b/js/ui/screenShield.js +index 18f5124..cbde55c 100644 +--- a/js/ui/screenShield.js ++++ b/js/ui/screenShield.js +@@ -349,7 +349,6 @@ const Arrow = new Lang.Class({ + _init: function(params) { + this.parent(params); + this.x_fill = this.y_fill = true; +- this.set_offscreen_redirect(Clutter.OffscreenRedirect.ALWAYS); + + this._drawingArea = new St.DrawingArea(); + this._drawingArea.connect('repaint', Lang.bind(this, this._drawArrow)); +-- +2.7.4 + + +From d4350a7c16f61f7efac59f3b0501668b510c12bb Mon Sep 17 00:00:00 2001 +From: Rui Matos +Date: Tue, 14 Jun 2016 17:55:35 +0200 +Subject: [PATCH 3/3] screenShield: Chain up Arrow's style_changed vfunc + +This makes style changes propagate to our child widget as they +should. + +https://bugzilla.gnome.org/show_bug.cgi?id=739178 +--- + js/ui/screenShield.js | 2 ++ + 1 file changed, 2 insertions(+) + +diff --git a/js/ui/screenShield.js b/js/ui/screenShield.js +index cbde55c..e4c3429 100644 +--- a/js/ui/screenShield.js ++++ b/js/ui/screenShield.js +@@ -383,6 +383,8 @@ const Arrow = new Lang.Class({ + this._shadowHelper = St.ShadowHelper.new(this._shadow); + else + this._shadowHelper = null; ++ ++ this.parent(); + }, + + vfunc_paint: function() { +-- +2.7.4 + diff --git a/SPECS/gnome-shell.spec b/SPECS/gnome-shell.spec index e68e087..0c20277 100644 --- a/SPECS/gnome-shell.spec +++ b/SPECS/gnome-shell.spec @@ -1,6 +1,6 @@ Name: gnome-shell Version: 3.14.4 -Release: 37%{?dist} +Release: 53%{?dist} Summary: Window management and application launching for GNOME Group: User Interface/Desktops @@ -18,6 +18,12 @@ Patch3: gnome-shell-favourite-apps-terminal.patch Patch10: support-headless-mode.patch Patch11: fix-menu-ornament-oddities.patch +Patch12: 0001-st-button-Don-t-rely-on-hover-to-accept-clicks.patch +Patch13: 0001-theme-Use-font-relative-sizes-for-menu-widths.patch +Patch14: 0001-altTab-Don-t-error-out-if-we-don-t-have-windows-for-.patch +Patch15: fix-cycle-keybindings.patch + +Patch20: gnome-shell-3.14.4-EL7.3_translations.patch Patch50: fix-background-leaks.patch @@ -28,10 +34,15 @@ Patch80: 0001-shellDBus-Add-a-DBus-method-to-load-a-single-extensi.patch Patch81: 0002-extensions-Add-a-SESSION_MODE-extension-type.patch Patch82: 0001-magnifier-don-t-spew-to-console-when-focus-moves-aro.patch Patch83: 0001-extensionSystem-Notify-about-extension-issues-on-upd.patch +Patch84: 0001-ScreenShield-set-LockedHint-property-from-systemd.patch Patch90: 0001-panel-add-an-icon-to-the-ActivitiesButton.patch Patch91: 0001-app-Fall-back-to-window-title-instead-of-WM_CLASS.patch Patch92: 0001-gdm-honor-timed-login-delay-even-if-animations-disab.patch +Patch93: 0001-network-Summarize-sections-with-too-many-devices.patch +Patch94: 0001-network-Always-show-primary-icon-when-connected.patch +Patch95: 0001-app-Add-a-construct-only-app-info-property.patch +Patch96: 0001-Don-t-crash-on-accesses-to-stale-window-backed-apps.patch Patch99: login-screen-backport.patch Patch100: 0001-screenShield-unblank-when-inserting-smartcard.patch @@ -41,12 +52,18 @@ Patch102: disable-unlock-entry-until-question.patch Patch110: 0001-shell_dbus_acquire_name-Don-t-leak-error.patch Patch111: 0002-shell_dbus_acquire_name-Don-t-leak-the-result.patch Patch112: 0003-Check-error-of-g_dbus_proxy_new_sync-call.patch +Patch113: allow-timed-login-with-no-user-list.patch + +Patch114: video-memory-purge.patch + +# https://bugzilla.gnome.org/show_bug.cgi?id=761566 +Patch120: fix-maximized-windows-flickering-to-the-wrong-struts.patch %define clutter_version 1.15.90 %define gnome_bluetooth_version 1:3.9.0 %define gobject_introspection_version 1.41.0 %define gjs_version 1.39.0 -%define mutter_version 3.14.1 +%define mutter_version 3.14.4-31 %define eds_version 3.5.3 %define gnome_desktop_version 3.7.90 %define json_glib_version 0.13.2 @@ -54,6 +71,7 @@ Patch112: 0003-Check-error-of-g_dbus_proxy_new_sync-call.patch %define caribou_version 0.4.8 %define libcroco_version 0.6.8 %define telepathy_logger_version 0.2.6 +%define gstreamer_version 1.4.5 ## Needed when we re-autogen BuildRequires: autoconf >= 2.53 @@ -79,7 +97,7 @@ BuildRequires: startup-notification-devel BuildRequires: telepathy-glib-devel BuildRequires: telepathy-logger-devel >= %{telepathy_logger_version} # for screencast recorder functionality -BuildRequires: gstreamer1-devel +BuildRequires: gstreamer1-devel >= %{gstreamer_version} BuildRequires: gtk3-devel BuildRequires: intltool BuildRequires: libcanberra-devel @@ -118,6 +136,7 @@ Requires: gnome-desktop3%{?_isa} >= %{gnome_desktop_version} Requires: gsettings-desktop-schemas%{?_isa} >= %{gsettings_desktop_schemas_version} Requires: libcroco%{?_isa} >= %{libcroco_version} Requires: telepathy-logger%{?_isa} >= %{telepathy_logger_version} +Requires: gstreamer1%{?_isa} >= %{gstreamer_version} # needed for schemas Requires: at-spi2-atk%{?_isa} # needed for on-screen keyboard @@ -155,6 +174,12 @@ be used only by extensions.gnome.org. %patch10 -p1 -b .support-headless-start %patch11 -p1 -b .fix-menu-ornament-oddities +%patch12 -p1 -b .fix-st-button-clicks +%patch13 -p1 -b .use-font-relative-menu-widths +%patch14 -p1 -b .fix-windowless-apps-in-switcher +%patch15 -p1 -b .fix-cycle-keybindings + +%patch20 -p1 -b .update-translations %patch50 -p1 -b .fix-background-leaks @@ -166,10 +191,15 @@ be used only by extensions.gnome.org. %patch81 -p1 %patch82 -p1 -b .fix-magnifier-spew %patch83 -p1 -b .extension-update-notification +%patch84 -p1 -b .set-locked-hint %patch90 -p1 -b .panel-add-an-icon-to-the-ActivitiesButton %patch91 -p1 -b .change-fallback-app-name %patch92 -p1 -b .honor-timed-login-delay-even-if-animations-disabled +%patch93 -p1 -b .summarize-network-device-sections +%patch94 -p1 -b .always-show-network-icon-when-connected +%patch95 -p1 -b .allow-contructing-app-from-info +%patch96 -p1 -b .dont-crash-on-accesses-to-stale-window-backed-apps %patch99 -p1 -b .login-screen-backport %patch100 -p1 -b .unblank-when-inserting-smartcard @@ -179,6 +209,11 @@ be used only by extensions.gnome.org. %patch110 -p1 -b .dont-leak %patch111 -p1 -b .dont-leak-more %patch112 -p1 -b .clean-exit +%patch113 -p1 -b .allow-timed-login-with-no-user-list + +%patch114 -p1 -b .video-memory-purge + +%patch120 -p1 -b .wrong-struts %build (if ! test -x configure; then NOCONFIGURE=1 ./autogen.sh; fi; @@ -244,6 +279,80 @@ glib-compile-schemas --allow-any-name %{_datadir}/glib-2.0/schemas &> /dev/null %{_libdir}/mozilla/plugins/*.so %changelog +* Fri Sep 09 2016 Florian Müllner - 3.14.4-53 +- Improve cycle keybindings + Resolves: #1306670 + +* Mon Jul 18 2016 Rui Matos - 3.14.4-52 +- Require a mutter version that provides all the new APIs + Related: rhbz#1330488 + +* Tue Jul 12 2016 Ray Strode - 3.14.4-51 +- Backport patch to fix crash at start up + Resolves: #1354560 + Related: #1353249 + +* Fri Jul 08 2016 Florian Müllner - 3.14.4-50 +- Allow constructing ShellApp from AppInfo + Related: #1353249 + +* Thu Jun 30 2016 Owen Taylor - 3.14.4-49 +- Fix bug where maximized windows would flicker to the wrong size when + restarting the shell (on stereo enable or otherwise) + Resolves: #1306802 + +* Wed Jun 29 2016 Rui Matos - 3.14.4-48 +- Handle video memory purge errors + Resolves: #1330488 + +* Fri Jun 24 2016 Florian Müllner - 3.14.4-47 +- Update translations + Resolves: #1272377 + +* Tue May 31 2016 Florian Müllner - 3.14.4-46 +- Fix cycle keybindings + Resolves: #1306670 + +* Fri May 27 2016 Florian Müllner - 3.14.4-45 +- Set logind's LockedHint when locked + Resolves: #1329803 + +* Thu May 19 2016 Florian Müllner - 3.14.4-44 +- Always show network icon when connected + Resolves: #1100812 + +* Fri May 13 2016 Florian Müllner - 3.14.4-43 +- Fix visibility issue in last patch + Resolves: #1186954 + +* Fri May 13 2016 Florian Müllner - 3.14.4-42 +- Summarize network device sections with too many devices + Resolves: #1186954 + +* Fri May 13 2016 Florian Müllner - 3.14.4-41 +- Fix windowless apps in switcher + Resolves: #1329306 + +* Tue Apr 19 2016 Ray Strode - 3.14.4-40 +- Allow timed login with no user list + Resolves: #1301263 + +* Thu Mar 31 2016 Florian Müllner - 3.14.4-39 +- Include translation updates + Related: #1272377 + +* Fri Mar 04 2016 Florian Müllner - 3.14.4-38 +- Use font-relative menu widths + Related: #1257146 + +* Fri Mar 04 2016 Florian Müllner - 3.14.4-37 +- Fix clicks on window-list items after dismissing context menu + Related: #1268689 + +* Fri Mar 04 2016 Florian Müllner - 3.14.4-37 +- Request minimum gstreamer1 version + Related: #1290446 + * Tue Oct 13 2015 Ray Strode 3.14.4-37 - Fix Username: entry when disable-user-list is on Related: #1262999