From 42366e4be46bcd9c7ff084a745ef9b2212bebbd2 Mon Sep 17 00:00:00 2001 From: Dan Winship Date: Tue, 30 Nov 2010 10:31:36 -0500 Subject: [PATCH 01/45] overview: Use a symbolic icon for notifications Notifications from the system should use symbolic icons. Also fix up the summary area CSS so the icon gets the right colors. https://bugzilla.gnome.org/show_bug.cgi?id=636137 --- data/theme/gnome-shell.css | 2 +- js/ui/overview.js | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/data/theme/gnome-shell.css b/data/theme/gnome-shell.css index 77ee7f871..13317aa9b 100644 --- a/data/theme/gnome-shell.css +++ b/data/theme/gnome-shell.css @@ -935,6 +935,7 @@ StTooltip StLabel { } .summary-source { + color: white; } .summary-source-button { @@ -949,7 +950,6 @@ StTooltip StLabel { .source-title { font: 12px sans-serif; font-weight: bold; - color: white; padding-left: 4px; } diff --git a/js/ui/overview.js b/js/ui/overview.js index 7bdb8e664..5599cd7c5 100644 --- a/js/ui/overview.js +++ b/js/ui/overview.js @@ -44,8 +44,8 @@ Source.prototype = { }, createNotificationIcon: function() { - return new St.Icon({ icon_name: 'info', - icon_type: St.IconType.FULLCOLOR, + return new St.Icon({ icon_name: 'dialog-information', + icon_type: St.IconType.SYMBOLIC, icon_size: this.ICON_SIZE }); }, From 7c980f42c9884d04d09edc26a3c8f5ad76cc42bd Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Florian=20M=C3=BCllner?= Date: Tue, 30 Nov 2010 17:20:27 +0100 Subject: [PATCH 02/45] message-tray: Fix typo At one place, we set State.SHOWNING instead of State.SHOWING. Thanks to Jasper St. Pierre for spotting this. --- js/ui/messageTray.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/js/ui/messageTray.js b/js/ui/messageTray.js index e2a4c182d..d2c10e66b 100644 --- a/js/ui/messageTray.js +++ b/js/ui/messageTray.js @@ -1659,7 +1659,7 @@ MessageTray.prototype = { this._summaryNotificationBoxPointer.actor.show(); this._adjustNotificationBoxPointerPosition(); - this._summaryNotificationState = State.SHOWNING; + this._summaryNotificationState = State.SHOWING; this._summaryNotificationBoxPointer.animateAppear(Lang.bind(this, function() { this._summaryNotificationState = State.SHOWN; })); From 08b84b144948c01eb3073d7241adf0c8baeaeb11 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Florian=20M=C3=BCllner?= Date: Mon, 29 Nov 2010 22:07:10 +0100 Subject: [PATCH 03/45] app-display: Popup menus to the left in RTL locales The popup menus of application icons in both the dash and the app view are positioned on the right of the icon. In the case of the dash this results in the menu being displayed off-screen in RTL locales, so move it to the opposite side instead. https://bugzilla.gnome.org/show_bug.cgi?id=635645 --- js/ui/appDisplay.js | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/js/ui/appDisplay.js b/js/ui/appDisplay.js index a314098e8..0cdb5dda6 100644 --- a/js/ui/appDisplay.js +++ b/js/ui/appDisplay.js @@ -491,7 +491,11 @@ AppIconMenu.prototype = { __proto__: PopupMenu.PopupMenu.prototype, _init: function(source) { - PopupMenu.PopupMenu.prototype._init.call(this, source.actor, St.Align.MIDDLE, St.Side.LEFT, 0); + let side = St.Side.LEFT; + if (St.Widget.get_default_direction() == St.TextDirection.RTL) + side = St.Side.RIGHT; + + PopupMenu.PopupMenu.prototype._init.call(this, source.actor, St.Align.MIDDLE, side, 0); this._source = source; From e99eefbb007341342bc0579dd3e0ca09ac238256 Mon Sep 17 00:00:00 2001 From: A S Alam Date: Wed, 1 Dec 2010 08:24:25 +0530 Subject: [PATCH 04/45] update for Punjabi by A S Alam --- po/pa.po | 233 ++++++++++++++++++++++++++++--------------------------- 1 file changed, 117 insertions(+), 116 deletions(-) diff --git a/po/pa.po b/po/pa.po index bec9a27f5..187856782 100644 --- a/po/pa.po +++ b/po/pa.po @@ -1,22 +1,22 @@ # Punjabi translation for gnome-shell. # Copyright (C) 2009 gnome-shell's COPYRIGHT HOLDER # This file is distributed under the same license as the gnome-shell package. -# # A S Alam , 2009, 2010. msgid "" msgstr "" "Project-Id-Version: gnome-shell master\n" -"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug." -"cgi?product=gnome-shell&component=general\n" -"POT-Creation-Date: 2010-10-27 23:15+0000\n" -"PO-Revision-Date: 2010-10-29 08:13+0530\n" +"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug.cgi?product=gnome-" +"shell&component=general\n" +"POT-Creation-Date: 2010-11-29 15:38+0000\n" +"PO-Revision-Date: 2010-12-01 08:23+0530\n" "Last-Translator: A S Alam \n" -"Language-Team: Punjabi/Panjabi \n" +"Language-Team: punjabi-users@lists.sf.net\n" +"Language: pa\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -"X-Generator: Lokalize 1.1\n" +"X-Generator: Virtaal 0.6.1\n" #: ../data/gnome-shell.desktop.in.in.h:1 msgid "GNOME Shell" @@ -92,10 +92,6 @@ msgid "List of desktop file IDs for favorite applications" msgstr "ਪਸੰਦੀਦਾ ਐਪਲੀਕੇਸ਼ਨ ਲਈ ਡੈਸਕਟਾਪ ਫਾਇਲ ID ਦੀ ਲਿਸਟ ਹੈ" #: ../data/org.gnome.shell.gschema.xml.in.h:13 -msgid "Overview workspace view mode" -msgstr "ਵਰਕਸਪੇਸ ਝਲਕ ਮੋਡ ਦੀ ਝਲਕ" - -#: ../data/org.gnome.shell.gschema.xml.in.h:14 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 " @@ -107,32 +103,32 @@ msgid "" "'videorate ! theoraenc ! oggmux' and records to Ogg Theora." msgstr "" -#: ../data/org.gnome.shell.gschema.xml.in.h:15 +#: ../data/org.gnome.shell.gschema.xml.in.h:14 msgid "Show date in clock" msgstr "ਘੜੀ ਵਿੱਚ ਮਿਤੀ ਵੇਖੋ" -#: ../data/org.gnome.shell.gschema.xml.in.h:16 +#: ../data/org.gnome.shell.gschema.xml.in.h:15 msgid "Show the week date in the calendar" msgstr "ਕੈਲੰਡਰ ਵਿੱਚ ਹਫ਼ਤਾ ਮਿਤੀ ਵੇਖੋ" -#: ../data/org.gnome.shell.gschema.xml.in.h:17 +#: ../data/org.gnome.shell.gschema.xml.in.h:16 msgid "Show time with seconds" msgstr "ਸਮਾਂ ਵਿੱਚ ਸਕਿੰਟ ਵੇਖੋ" -#: ../data/org.gnome.shell.gschema.xml.in.h:18 +#: ../data/org.gnome.shell.gschema.xml.in.h:17 msgid "" "The applications corresponding to these identifiers will be displayed in the " "favorites area." msgstr "ਇਹਨਾਂ ਐਂਡਟਟੀਫਾਇਰ ਨਾਲ ਸਬੰਧਿਤ ਐਪਲੀਕੇਸ਼ਨ ਨੂੰ ਪਸੰਦੀਦਾ ਖੇਤਰ 'ਚ ਵੇਖਾਇਆ ਜਾਵੇਗਾ।" -#: ../data/org.gnome.shell.gschema.xml.in.h:19 +#: ../data/org.gnome.shell.gschema.xml.in.h:18 msgid "" "The filename for recorded screencasts will be a unique filename based on the " "current date, and use this extension. It should be changed when recording to " "a different container format." msgstr "" -#: ../data/org.gnome.shell.gschema.xml.in.h:20 +#: ../data/org.gnome.shell.gschema.xml.in.h:19 msgid "" "The framerate of the resulting screencast recordered by GNOME Shell's " "screencast recorder in frames-per-second." @@ -140,18 +136,11 @@ msgstr "" "ਗਨੋਮ ਸ਼ੈੱਲ ਦੇ ਸਕਰੀਨਕਾਸਟ ਰਿਕਾਰਡਰ ਵਲੋਂ ਰਿਕਾਰਡ ਕਰਕੇ ਬਣਾਈ ਗਈ ਸਕਰੀਨਕਾਸਟ ਦਾ ਫਰੇਮਰੇਟ ਫਰੇਮ ਪ੍ਰਤੀ " "ਸਕਿੰਟ 'ਚ ਹੈ।" -#: ../data/org.gnome.shell.gschema.xml.in.h:21 +#: ../data/org.gnome.shell.gschema.xml.in.h:20 msgid "The gstreamer pipeline used to encode the screencast" msgstr "ਸਕਰੀਨਕਾਸਟ ਇੰਕੋਡ ਕਰਨ ਲਈ ਵਰਤਣ ਵਾਸਤੇ ਜੀਸਟਰੀਮਰ ਪਾਇਪਲਾਇਨ" -#: ../data/org.gnome.shell.gschema.xml.in.h:22 -msgid "" -"The selected workspace view mode in the overview. Supported values are " -"\"single\" and \"grid\"." -msgstr "" -"ਸੰਖੇਪ ਵਿੱਚ ਚੁਣੇ ਵਰਕਸਪੇਸ ਝਲਕ ਮੋਡ ਹੈ। ਸਹਾਇਕ ਮੁੱਲ ਹਨ \"single\"(ਇੱਕਲਾ) ਜਾਂ \"grid\" (ਗਰਿੱਡ)।" - -#: ../data/org.gnome.shell.gschema.xml.in.h:23 +#: ../data/org.gnome.shell.gschema.xml.in.h:21 msgid "" "The shell normally monitors active applications in order to present the most " "used ones (e.g. in launchers). While this data will be kept private, you may " @@ -159,7 +148,7 @@ msgid "" "remove already saved data." msgstr "" -#: ../data/org.gnome.shell.gschema.xml.in.h:24 +#: ../data/org.gnome.shell.gschema.xml.in.h:22 msgid "" "This key specifies the format used by the panel clock when the format key is " "set to \"custom\". You can use conversion specifiers understood by strftime" @@ -170,7 +159,7 @@ msgstr "" "ਹੋਵੇ। ਤੁਸੀਂ ਖਾਸ ਫਾਰਮੈਟ ਦੇਣ ਲਈ ਹਦਾਇਤਾਂ ਵਾਸਤੇ strftime () ਨੂੰ ਵਰਤ ਸਕਦੇ ਹੋ। ਹੋਰ ਜਾਣਕਾਰੀ ਲਈ " "strftime () ਦਸਤਾਵੇਜ਼ ਵੇਖੋ।" -#: ../data/org.gnome.shell.gschema.xml.in.h:25 +#: ../data/org.gnome.shell.gschema.xml.in.h:23 msgid "" "This key specifies the hour format used by the panel clock. Possible values " "are \"12-hour\", \"24-hour\", \"unix\" and \"custom\". If set to \"unix\", " @@ -186,11 +175,11 @@ msgstr "" "ਮੁਤਾਬਕ ਵੇਖਾਇਆ ਜਾਵੇਗਾ। ਯਾਦ ਰੱਖੋ ਕਿ ਜੇ \"ਯੂਨੈਕਸ\" ਜਾਂ \"ਪਸੰਦੀਦਾ\" ਸੈੱਟ ਕੀਤਾ ਤਾਂ ਅੱਪਗਰੇਡ ਮਿਤੀ " "ਵੇਖਾਓ ਤੇ ਸਕਿੰਟ ਵੇਖਾਓ ਨੂੰ ਅਣਡਿੱਠਾ ਕੀਤਾ ਜਾਵੇਗਾ।" -#: ../data/org.gnome.shell.gschema.xml.in.h:26 +#: ../data/org.gnome.shell.gschema.xml.in.h:24 msgid "Uuids of extensions to disable" msgstr "ਇਕਟੈਨਸ਼ਨ ਦੀ Uuids ਬੰਦ ਹੈ" -#: ../data/org.gnome.shell.gschema.xml.in.h:27 +#: ../data/org.gnome.shell.gschema.xml.in.h:25 msgid "Whether to collect stats about applications usage" msgstr "ਐਪਲੀਕੇਸ਼ਨ ਵਰਤੋਂ ਬਾਰੇ ਅੰਕੜੇ ਇੱਕਠੇ ਕਰਨੇ ਹਨ" @@ -206,7 +195,7 @@ msgstr "ਕਰਾਂਸਹੇਅਰ ਦਾ ਰੰਗ" msgid "" "Determines the length of the vertical and horizontal lines that make up the " "crosshairs." -msgstr "" +msgstr "ਵਰਟੀਕਲ ਤੇ ਹਰੀਜੱਟਲ ਲਾਈਨਾਂ ਦੀ ਲੰਬਾਈ ਦੱਸੋ, ਜੋ ਕਿ ਕਰਾਂਸਹੇਅਰ ਬਣਾਉਂਦੀਆਂ ਹਨ।" #: ../data/org.gnome.accessibility.magnifier.gschema.xml.in.h:4 msgid "" @@ -225,7 +214,7 @@ msgstr "" msgid "" "Determines the transparency of the crosshairs, from fully opaque to fully " "transparent." -msgstr "" +msgstr "ਕਰਾਂਸਹੇਅਰ ਦੀ ਟਰਾਂਸਪਰੇਸੀ ਤਹਿ ਕਰੋ, ਪੂਰੀ ਤਰ੍ਹਾਂ ਧੁੰਦਲੇ ਤੋਂ ਪਾਰਦਰਸ਼ੀ ਹੀ।" #: ../data/org.gnome.accessibility.magnifier.gschema.xml.in.h:6 msgid "" @@ -235,7 +224,6 @@ msgid "" msgstr "" #: ../data/org.gnome.accessibility.magnifier.gschema.xml.in.h:7 -#| msgid "Enabled" msgid "Enable lens mode" msgstr "ਲੈਨਜ਼ ਮੋਡ ਚਾਲੂ" @@ -348,62 +336,41 @@ msgstr "_੧੨ ਘੰਟੇ ਫਾਰਮੈਟ" msgid "_24 hour format" msgstr "_੨੪ ਘੰਟੇ ਫਾਰਮੈਟ" -#. **** Applications **** -#: ../js/ui/appDisplay.js:316 ../js/ui/dash.js:778 +#: ../js/ui/appDisplay.js:215 msgid "APPLICATIONS" msgstr "ਐਪਲੀਕੇਸ਼ਨ" -#: ../js/ui/appDisplay.js:348 +#: ../js/ui/appDisplay.js:245 msgid "PREFERENCES" msgstr "ਪਸੰਦ" -#: ../js/ui/appDisplay.js:648 +#: ../js/ui/appDisplay.js:538 msgid "New Window" msgstr "ਨਵੀਂ ਵਿੰਡੋ" -#: ../js/ui/appDisplay.js:652 +#: ../js/ui/appDisplay.js:542 msgid "Remove from Favorites" msgstr "ਪਸੰਦ ਵਿੱਚੋਂ ਹਟਾਓ" -#: ../js/ui/appDisplay.js:653 +#: ../js/ui/appDisplay.js:543 msgid "Add to Favorites" msgstr "ਪਸੰਦ 'ਚ ਸ਼ਾਮਲ ਕਰੋ" -#: ../js/ui/appDisplay.js:830 -msgid "Drag here to add favorites" -msgstr "ਪਸੰਦ ਵਿੱਚ ਜੋੜਨ ਲਈ ਇੱਥੇ ਸੁੱਟੋ" - -#: ../js/ui/appFavorites.js:88 +#: ../js/ui/appFavorites.js:91 #, c-format msgid "%s has been added to your favorites." msgstr "%s ਨੂੰ ਤੁਹਾਡੀ ਪਸੰਦ ਵਿੱਚ ਸ਼ਾਮਲ ਕੀਤਾ ਗਿਆ।" -#: ../js/ui/appFavorites.js:107 +#: ../js/ui/appFavorites.js:122 #, c-format msgid "%s has been removed from your favorites." msgstr "%s ਨੂੰ ਤੁਹਾਡੀ ਪਸੰਦ ਤੋਂ ਹਟਾਇਆ ਜਾ ਚੁੱਕਿਆ ਹੈ।" -#: ../js/ui/dash.js:142 -msgid "Find" -msgstr "ਖੋਜ" +#: ../js/ui/dash.js:27 +msgid "Remove" +msgstr "ਹਟਾਓ" -#: ../js/ui/dash.js:473 -msgid "Searching..." -msgstr "ਖੋਜ ਜਾਰੀ ਹੈ..." - -#: ../js/ui/dash.js:487 -msgid "No matching results." -msgstr "ਕੋਈ ਨਤੀਜਾ ਨਹੀਂ ਲੱਭਿਆ।" - -#. **** Places **** -#. Translators: This is in the sense of locations for documents, -#. network locations, etc. -#: ../js/ui/dash.js:797 ../js/ui/placeDisplay.js:554 -msgid "PLACES & DEVICES" -msgstr "ਥਾਵਾਂ ਤੇ ਜੰਤਰ" - -#. **** Documents **** -#: ../js/ui/dash.js:804 ../js/ui/docDisplay.js:494 +#: ../js/ui/docDisplay.js:494 msgid "RECENT ITEMS" msgstr "ਤਾਜ਼ਾ ਆਈਟਮਾਂ" @@ -437,63 +404,63 @@ msgstr "ਸਰੋਤ ਵੇਖੋ" msgid "Web Page" msgstr "ਵੈੱਬ ਪੇਜ਼" -#: ../js/ui/overview.js:160 +#: ../js/ui/overview.js:112 msgid "Undo" msgstr "ਵਾਪਸ" #. TODO - _quit() doesn't really work on apps in state STARTING yet -#: ../js/ui/panel.js:469 +#: ../js/ui/panel.js:470 #, c-format msgid "Quit %s" msgstr "%s ਬੰਦ ਕਰੋ" -#: ../js/ui/panel.js:494 +#: ../js/ui/panel.js:495 msgid "Preferences" msgstr "ਮੇਰੀ ਪਸੰਦ" #. Translators: This is the time format with date used #. in 24-hour mode. -#: ../js/ui/panel.js:580 +#: ../js/ui/panel.js:581 msgid "%a %b %e, %R:%S" msgstr "%a, %e %b %R:%S" -#: ../js/ui/panel.js:581 +#: ../js/ui/panel.js:582 msgid "%a %b %e, %R" msgstr "%a %e %b, %R" #. Translators: This is the time format without date used #. in 24-hour mode. -#: ../js/ui/panel.js:585 +#: ../js/ui/panel.js:586 msgid "%a %R:%S" msgstr "%a %R:%S" -#: ../js/ui/panel.js:586 +#: ../js/ui/panel.js:587 msgid "%a %R" msgstr "%a %R" #. Translators: This is a time format with date used #. for AM/PM. -#: ../js/ui/panel.js:593 +#: ../js/ui/panel.js:594 msgid "%a %b %e, %l:%M:%S %p" msgstr "%a %e %b, %l:%M:%S %p" -#: ../js/ui/panel.js:594 +#: ../js/ui/panel.js:595 msgid "%a %b %e, %l:%M %p" msgstr "%a %e %b, %l:%M %p" #. Translators: This is a time format without date used #. for AM/PM. -#: ../js/ui/panel.js:598 +#: ../js/ui/panel.js:599 msgid "%a %l:%M:%S %p" msgstr "%a %l:%M:%S %p" -#: ../js/ui/panel.js:599 +#: ../js/ui/panel.js:600 msgid "%a %l:%M %p" msgstr "%a %l:%M %p" #. Button on the left side of the panel. #. Translators: If there is no suitable word for "Activities" in your language, you can use the word for "Overview". -#: ../js/ui/panel.js:744 +#: ../js/ui/panel.js:745 msgid "Activities" msgstr "ਸਰਗਰਮੀਆਂ" @@ -510,6 +477,10 @@ msgstr "ਮੁੜ-ਕੋਸ਼ਿਸ਼" msgid "Connect to..." msgstr "...ਨਾਲ ਕੁਨੈਕਟ ਕਰੋ" +#: ../js/ui/placeDisplay.js:558 +msgid "PLACES & DEVICES" +msgstr "ਥਾਵਾਂ ਤੇ ਜੰਤਰ" + #. Translators: this MUST be either "toggle-switch-us" #. (for toggle switches containing the English words #. "ON" and "OFF") or "toggle-switch-intl" (for toggle @@ -536,40 +507,34 @@ msgstr "ਉਪਲੱਬਧ" msgid "Busy" msgstr "ਰੁਝਿਆ" -#: ../js/ui/statusMenu.js:111 -msgid "Invisible" -msgstr "ਅਦਿੱਖ" +#: ../js/ui/statusMenu.js:114 +#| msgid "My Account..." +msgid "My Account" +msgstr "ਮੇਰਾ ਅਕਾਊਂਟ" -#: ../js/ui/statusMenu.js:119 -msgid "My Account..." -msgstr "...ਮੇਰਾ ਅਕਾਊਂਟ" +#: ../js/ui/statusMenu.js:118 +#| msgid "System Sounds" +msgid "System Settings" +msgstr "ਸਿਸਟਮ ਸੈਟਿੰਗ" -#: ../js/ui/statusMenu.js:123 -#| msgid "Preferences" -msgid "System Preferences..." -msgstr "ਸਿਸਟਮ ਪਸੰਦ..." - -#: ../js/ui/statusMenu.js:130 +#: ../js/ui/statusMenu.js:125 msgid "Lock Screen" msgstr "ਸਕਰੀਨ ਲਾਕ ਕਰੋ" -#: ../js/ui/statusMenu.js:134 +#: ../js/ui/statusMenu.js:129 msgid "Switch User" msgstr "ਯੂਜ਼ਰ ਬਦਲੋ" -#: ../js/ui/statusMenu.js:139 +#: ../js/ui/statusMenu.js:134 msgid "Log Out..." msgstr "ਲਾਗਆਉਟ..." -#: ../js/ui/statusMenu.js:146 -msgid "Suspend" -msgstr "ਸਸਪੈਂਡ" +#: ../js/ui/statusMenu.js:141 +#| msgid "Suspend" +msgid "Suspend..." +msgstr "ਸਸਪੈਂਡ..." -#: ../js/ui/statusMenu.js:150 -msgid "Restart..." -msgstr "...ਮੁੜ-ਚਾਲੂ" - -#: ../js/ui/statusMenu.js:154 +#: ../js/ui/statusMenu.js:145 msgid "Shut Down..." msgstr "ਬੰਦ ਕਰੋ..." @@ -609,14 +574,18 @@ msgstr "ਯੂਨੀਵਰਸਲ ਅਸੈੱਸ ਸੈਟਿੰਗ" msgid "High Contrast" msgstr "ਵੱਧ ਕਨਟਰਾਸਟ" -#: ../js/ui/status/accessibility.js:202 +#: ../js/ui/status/accessibility.js:205 msgid "Large Text" msgstr "ਵੱਡੇ ਅੱਖਰ" -#: ../js/ui/status/accessibility.js:223 +#: ../js/ui/status/accessibility.js:224 msgid "Zoom" msgstr "ਜ਼ੂਮ" +#: ../js/ui/viewSelector.js:26 +msgid "Search your computer" +msgstr "ਆਪਣੇ ਕੰਪਿਊਟਰ ਉੱਤੇ ਲੱਭੋ" + #: ../js/ui/windowAttentionHandler.js:43 #, c-format msgid "%s has finished starting" @@ -627,11 +596,11 @@ msgstr "%s ਸ਼ੁਰੂ ਹੋਣਾ ਖਤਮ ਹੋਇਆ" msgid "'%s' is ready" msgstr "'%s' ਤਿਆਰ ਹੈ" -#: ../js/ui/workspacesView.js:229 +#: ../js/ui/workspacesView.js:244 msgid "Can't add a new workspace because maximum workspaces limit has been reached." msgstr "ਨਵਾਂ ਵਰਕਸਪੇਸ ਜੋੜਿਆ ਨਹੀਂ ਜਾ ਸਕਦਾ, ਕਿਉਂਕਿ ਵਰਕਸਪੇਸਾਂ ਦੀ ਵੱਧੋ-ਵੱਧ ਗਿਣਤੀ ਪੂਰੀ ਹੋ ਚੁੱਕੀ ਹੈ।" -#: ../js/ui/workspacesView.js:246 +#: ../js/ui/workspacesView.js:260 msgid "Can't remove the first workspace." msgstr "ਪਹਿਲਾਂ ਵਰਕਸਪੇਸ ਨਹੀਂ ਹਟਾਇਆ ਜਾ ਸਕਦਾ।" @@ -654,53 +623,56 @@ msgstr[0] "%u ਇੰਪੁੱਟ" msgstr[1] "%u ਇੰਪੁੱਟ" #: ../src/gvc/gvc-mixer-control.c:1402 -#| msgid "System Settings..." msgid "System Sounds" msgstr "ਸਿਸਟਮ ਸਾਊਂਡ" -#: ../src/shell-global.c:1204 +#: ../src/shell-app-system.c:1012 +msgid "Unknown" +msgstr "ਅਣਜਾਣ" + +#: ../src/shell-global.c:1163 msgid "Less than a minute ago" msgstr "ਇੱਕ ਮਿੰਟ ਤੋਂ ਘੱਟ ਚਿਰ ਪਹਿਲਾਂ" -#: ../src/shell-global.c:1208 +#: ../src/shell-global.c:1167 #, c-format msgid "%d minute ago" msgid_plural "%d minutes ago" msgstr[0] "%d ਮਿੰਟ ਪਹਿਲਾਂ" msgstr[1] "%d ਮਿੰਟ ਪਹਿਲਾਂ" -#: ../src/shell-global.c:1213 +#: ../src/shell-global.c:1172 #, c-format msgid "%d hour ago" msgid_plural "%d hours ago" msgstr[0] "%d ਘੰਟਾ ਪਹਿਲਾਂ" msgstr[1] "%d ਘੰਟੇ ਪਹਿਲਾਂ" -#: ../src/shell-global.c:1218 +#: ../src/shell-global.c:1177 #, c-format msgid "%d day ago" msgid_plural "%d days ago" msgstr[0] "%d ਦਿਨ ਪਹਿਲਾਂ" msgstr[1] "%d ਦਿਨ ਪਹਿਲਾਂ" -#: ../src/shell-global.c:1223 +#: ../src/shell-global.c:1182 #, c-format msgid "%d week ago" msgid_plural "%d weeks ago" msgstr[0] "%d ਹਫ਼ਤਾ ਪਹਿਲਾਂ" msgstr[1] "%d ਹਫ਼ਤੇ ਪਹਿਲਾਂ" -#: ../src/shell-uri-util.c:89 +#: ../src/shell-util.c:89 msgid "Home Folder" msgstr "ਘਰ ਫੋਲਡਰ" #. Translators: this is the same string as the one found in #. * nautilus -#: ../src/shell-uri-util.c:104 +#: ../src/shell-util.c:104 msgid "File System" msgstr "ਫਾਇਲ ਸਿਸਟਮ" -#: ../src/shell-uri-util.c:250 +#: ../src/shell-util.c:250 msgid "Search" msgstr "ਖੋਜ" @@ -709,11 +681,43 @@ msgstr "ਖੋਜ" #. * example, "Trash: some-directory". It means that the #. * directory called "some-directory" is in the trash. #. -#: ../src/shell-uri-util.c:300 +#: ../src/shell-util.c:300 #, c-format msgid "%1$s: %2$s" msgstr "%1$s: %2$s" +#~ msgid "Overview workspace view mode" +#~ msgstr "ਵਰਕਸਪੇਸ ਝਲਕ ਮੋਡ ਦੀ ਝਲਕ" + +#~ msgid "" +#~ "The selected workspace view mode in the overview. Supported values are " +#~ "\"single\" and \"grid\"." +#~ msgstr "" +#~ "ਸੰਖੇਪ ਵਿੱਚ ਚੁਣੇ ਵਰਕਸਪੇਸ ਝਲਕ ਮੋਡ ਹੈ। ਸਹਾਇਕ ਮੁੱਲ ਹਨ \"single\"(ਇੱਕਲਾ) ਜਾਂ \"grid" +#~ "\" (ਗਰਿੱਡ)।" + +#~ msgid "Drag here to add favorites" +#~ msgstr "ਪਸੰਦ ਵਿੱਚ ਜੋੜਨ ਲਈ ਇੱਥੇ ਸੁੱਟੋ" + +#~ msgid "Find" +#~ msgstr "ਖੋਜ" + +#~ msgid "Searching..." +#~ msgstr "ਖੋਜ ਜਾਰੀ ਹੈ..." + +#~ msgid "No matching results." +#~ msgstr "ਕੋਈ ਨਤੀਜਾ ਨਹੀਂ ਲੱਭਿਆ।" + +#~ msgid "Invisible" +#~ msgstr "ਅਦਿੱਖ" + +#~| msgid "Preferences" +#~ msgid "System Preferences..." +#~ msgstr "ਸਿਸਟਮ ਪਸੰਦ..." + +#~ msgid "Restart..." +#~ msgstr "...ਮੁੜ-ਚਾਲੂ" + #~ msgid "Account Information..." #~ msgstr "ਅਕਾਊਂਟ ਜਾਣਕਾਰੀ..." @@ -744,9 +748,6 @@ msgstr "%1$s: %2$s" #~ msgid "SEARCH RESULTS" #~ msgstr "ਖੋਜ ਨਤੀਜੇ" -#~ msgid "Unknown" -#~ msgstr "ਅਣਜਾਣ" - #~ msgid "Can't lock screen: %s" #~ msgstr "ਸਕਰੀਨ ਲਾਕ ਨਹੀਂ ਹੋ ਸਕਦੀ: %s" From 24669e3ba7195dd30922e2853333d8dea4f598a5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Florian=20M=C3=BCllner?= Date: Tue, 30 Nov 2010 18:32:06 +0100 Subject: [PATCH 05/45] a11y-status: Use GSettings to access the magnifier The magnifier should be enabled/disabled via the appropriate GSettings key - otherwise the setting gets out of sync with the actual state of the magnifier. https://bugzilla.gnome.org/show_bug.cgi?id=636151 --- js/ui/status/accessibility.js | 16 ++-------------- 1 file changed, 2 insertions(+), 14 deletions(-) diff --git a/js/ui/status/accessibility.js b/js/ui/status/accessibility.js index a1e9ee431..9fd87c35d 100644 --- a/js/ui/status/accessibility.js +++ b/js/ui/status/accessibility.js @@ -10,7 +10,6 @@ const Shell = imports.gi.Shell; const Signals = imports.signals; const St = imports.gi.St; -const Main = imports.ui.main; const PanelMenu = imports.ui.panelMenu; const PopupMenu = imports.ui.popupMenu; @@ -23,6 +22,7 @@ const KEY_BOUNCE_KEYS_ENABLED = "bouncekeys-enable"; const KEY_SLOW_KEYS_ENABLED = "slowkeys-enable"; const KEY_MOUSE_KEYS_ENABLED = "mousekeys-enable"; +const MAGNIFIER_SCHEMA = 'org.gnome.accessibility.magnifier'; const AT_SCREEN_KEYBOARD_SCHEMA = "org.gnome.desktop.default-applications.at.mobility"; const AT_SCREEN_READER_SCHEMA = "org.gnome.desktop.default-applications.at.visual"; @@ -79,7 +79,7 @@ ATIndicator.prototype = { let highContrast = this._buildHCItem(); this.menu.addMenuItem(highContrast); - let magnifier = this._buildMagItem(); + let magnifier = this._buildItem(_("Zoom"), MAGNIFIER_SCHEMA, 'show-magnifier'); this.menu.addMenuItem(magnifier); let textZoom = this._buildFontItem(); @@ -219,18 +219,6 @@ ATIndicator.prototype = { return widget; }, - _buildMagItem: function() { - let mag = Main.magnifier; - let widget = this._buildItemExtended(_("Zoom"), - mag.isActive(), - true, - Lang.bind(mag, mag.setActive)); - mag.connect('active-changed', function(magnifier, active) { - widget.setToggleState(active); - }); - return widget; - }, - _keyChanged: function() { this.emit('gconf-changed'); } From aef005f451ef7cc0a2f677b9940ffe645e298248 Mon Sep 17 00:00:00 2001 From: Giovanni Campagna Date: Fri, 26 Nov 2010 22:22:07 +0100 Subject: [PATCH 06/45] PowerStatus: show separate hour and minutes for primary device Show "%d hours %d minutes" instead of "%d minutes", for better readability. https://bugzilla.gnome.org/show_bug.cgi?id=635728 --- js/ui/status/power.js | 22 ++++++++++++++++++---- po/POTFILES.in | 2 ++ 2 files changed, 20 insertions(+), 4 deletions(-) diff --git a/js/ui/status/power.js b/js/ui/status/power.js index e8d94be99..42face4f3 100644 --- a/js/ui/status/power.js +++ b/js/ui/status/power.js @@ -105,12 +105,26 @@ Indicator.prototype = { this._deviceSep.actor.hide(); return; } - let [device_id, device_type, icon, percentage, state, time] = device; + let [device_id, device_type, icon, percentage, state, seconds] = device; if (device_type == UPDeviceType.BATTERY) { this._hasPrimary = true; - let minutes = Math.floor(time / 60); - this._batteryItem.label.text = Gettext.ngettext("%d minute remaining", "%d minutes remaining", minutes).format(minutes); - this._primaryPercentage.text = '%d%%'.format(Math.round(percentage)); + let time = Math.round(seconds / 60); + let minutes = time % 60; + let hours = Math.floor(time / 60); + let timestring; + if (time > 60) { + if (minutes == 0) { + timestring = Gettext.ngettext("%d hour remaining", "%d hours remaining", hours).format(hours); + } else { + /* TRANSLATORS: this is a time string, as in "%d hours %d minutes remaining" */ + let template = _("%d %s %d %s remaining"); + + timestring = template.format (hours, Gettext.ngettext("hour", "hours", hours), minutes, Gettext.ngettext("minute", "minutes", minutes)); + } + } else + timestring = Gettext.ngettext("%d minute remaining", "%d minutes remaining", minutes); + this._batteryItem.label.text = timestring; + this._primaryPercentage.text = Math.round(percentage) + '%'; this._batteryItem.actor.show(); if (this._deviceItems.length > 0) this._deviceSep.actor.show(); diff --git a/po/POTFILES.in b/po/POTFILES.in index fda5f6a7f..984f6d73a 100644 --- a/po/POTFILES.in +++ b/po/POTFILES.in @@ -15,6 +15,8 @@ js/ui/popupMenu.js js/ui/runDialog.js js/ui/statusMenu.js js/ui/status/accessibility.js +js/ui/status/power.js +js/ui/status/volume.js js/ui/viewSelector.js js/ui/windowAttentionHandler.js js/ui/workspacesView.js From b9eca84d34967c1b00e72793fd909c10f4dcef88 Mon Sep 17 00:00:00 2001 From: "Jasper St. Pierre" Date: Sun, 28 Nov 2010 10:14:34 -0500 Subject: [PATCH 07/45] telepathyClient: Implement Sent signals. This will allow us to update our notifications when someone uses a different Telepathy client to send messages. https://bugzilla.gnome.org/show_bug.cgi?id=635991 --- js/misc/telepathy.js | 4 ++- js/ui/telepathyClient.js | 58 ++++++++++++++++++++++++---------------- 2 files changed, 38 insertions(+), 24 deletions(-) diff --git a/js/misc/telepathy.js b/js/misc/telepathy.js index 3a8d7e809..6de80c0ad 100644 --- a/js/misc/telepathy.js +++ b/js/misc/telepathy.js @@ -272,7 +272,9 @@ const ChannelTextIface = { ], signals: [ { name: 'Received', - inSignature: 'uuuuus' } + inSignature: 'uuuuus' }, + { name: 'Sent', + inSignature: 'uus' } ] }; let ChannelText = DBus.makeProxyClass(ChannelTextIface); diff --git a/js/ui/telepathyClient.js b/js/ui/telepathyClient.js index c11d0ba58..57cb78f05 100644 --- a/js/ui/telepathyClient.js +++ b/js/ui/telepathyClient.js @@ -44,6 +44,10 @@ subscribedContactsChannel[Telepathy.CHANNEL_NAME + '.ChannelType'] = Telepathy.C subscribedContactsChannel[Telepathy.CHANNEL_NAME + '.TargetHandleType'] = Telepathy.HandleType.LIST; subscribedContactsChannel[Telepathy.CHANNEL_NAME + '.TargetID'] = 'subscribe'; +const NotificationDirection = { + SENT: 'chat-sent', + RECEIVED: 'chat-received' +}; // This is GNOME Shell's implementation of the Telepathy 'Client' // interface. Specifically, the shell is a Telepathy 'Observer', which @@ -471,11 +475,14 @@ Source.prototype = { })); } + this._notification = new Notification(this); + // Since we only create sources when receiving a message, this // is a plausible default this._presence = Telepathy.ConnectionPresenceType.AVAILABLE; this._channelText = new Telepathy.ChannelText(DBus.session, connName, channelPath); + this._sentId = this._channelText.connect('Sent', Lang.bind(this, this._messageSent)); this._receivedId = this._channelText.connect('Received', Lang.bind(this, this._messageReceived)); this._channelText.ListPendingMessagesRemote(false, Lang.bind(this, this._gotPendingMessages)); @@ -519,22 +526,27 @@ Source.prototype = { _channelClosed: function() { this._channel.disconnect(this._closedId); this._channelText.disconnect(this._receivedId); + this._channelText.disconnect(this._sentId); this.destroy(); }, - _ensureNotification: function() { - if (!Main.messageTray.contains(this)) - Main.messageTray.add(this); - - if (!this._notification) - this._notification = new Notification(this); - }, - _messageReceived: function(channel, id, timestamp, sender, type, flags, text) { - this._ensureNotification(); - this._notification.appendMessage(text, timestamp); - this.notify(this._notification); + this._notification.appendMessage(text, timestamp, NotificationDirection.RECEIVED); + this.notify(); + }, + + // This is called for both messages we send from + // our client and other clients as well. + _messageSent: function(channel, timestamp, type, text) { + this._notification.appendMessage(text, timestamp, NotificationDirection.SENT); + }, + + notify: function() { + if (!Main.messageTray.contains(this)) + Main.messageTray.add(this); + + MessageTray.Source.prototype.notify.call(this, this._notification); }, respond: function(text) { @@ -542,22 +554,22 @@ Source.prototype = { }, setPresence: function(presence, message) { - let msg, notify; + let msg, shouldNotify; if (presence == Telepathy.ConnectionPresenceType.AVAILABLE) { msg = _("%s is online.").format(this.title); - notify = (this._presence == Telepathy.ConnectionPresenceType.OFFLINE); + shouldNotify = (this._presence == Telepathy.ConnectionPresenceType.OFFLINE); } else if (presence == Telepathy.ConnectionPresenceType.OFFLINE || presence == Telepathy.ConnectionPresenceType.EXTENDED_AWAY) { presence = Telepathy.ConnectionPresenceType.OFFLINE; msg = _("%s is offline.").format(this.title); - notify = (this._presence != Telepathy.ConnectionPresenceType.OFFLINE); + shouldNotify = (this._presence != Telepathy.ConnectionPresenceType.OFFLINE); } else if (presence == Telepathy.ConnectionPresenceType.AWAY) { msg = _("%s is away.").format(this.title); - notify = false; + shouldNotify = false; } else if (presence == Telepathy.ConnectionPresenceType.BUSY) { msg = _("%s is busy.").format(this.title); - notify = false; + shouldNotify = false; } else return; @@ -566,10 +578,9 @@ Source.prototype = { if (message) msg += ' (' + GLib.markup_escape_text(message, -1) + ')'; - this._ensureNotification(); - this._notification.appendPresence(msg, notify); - if (notify) - this.notify(this._notification); + this._notification.appendPresence(msg, shouldNotify); + if (shouldNotify) + this.notify(); } }; @@ -591,9 +602,9 @@ Notification.prototype = { this._timestampTimeoutId = 0; }, - appendMessage: function(text, timestamp) { + appendMessage: function(text, timestamp, direction) { this.update(this.source.title, text, { customContent: true }); - this._append(text, 'chat-received', timestamp); + this._append(text, direction, timestamp); }, _append: function(text, style, timestamp) { @@ -679,8 +690,9 @@ Notification.prototype = { if (text == '') return; + // Telepathy sends out the Sent signal for us. + // see Source._messageSent this._responseEntry.set_text(''); - this._append(text, 'chat-sent'); this.source.respond(text); } }; From 43d479c786719b5284563177eb6ea530619c541a Mon Sep 17 00:00:00 2001 From: Milan Bouchet-Valat Date: Mon, 22 Nov 2010 22:18:30 +0100 Subject: [PATCH 08/45] Don't pass an (out) argument to meta_window_get_outer_rect() Mutter now has the needed (out) annotation, so we have to use the return value instead of passing a reference to a rectangle. --- js/ui/workspace.js | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/js/ui/workspace.js b/js/ui/workspace.js index 4194897ea..b7837e853 100644 --- a/js/ui/workspace.js +++ b/js/ui/workspace.js @@ -881,8 +881,7 @@ Workspace.prototype = { xCenter = xCenter * global.screen_width; - let rect = new Meta.Rectangle(); - metaWindow.get_outer_rect(rect); + let rect = metaWindow.get_outer_rect(); let buttonOuterHeight, captionHeight; let buttonOuterWidth = 0; From 7b73df78c64162f925c71e043ae75e8b7cce2bd0 Mon Sep 17 00:00:00 2001 From: Matt Novenstern Date: Wed, 1 Dec 2010 18:12:03 -0500 Subject: [PATCH 09/45] Fix display of remaining time When there is less than an hour remaining, there was a format() call missing which made the power status menu display "%d minutes remaining". https://bugzilla.gnome.org/show_bug.cgi?id=635728 --- js/ui/status/power.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/js/ui/status/power.js b/js/ui/status/power.js index 42face4f3..4d66302f2 100644 --- a/js/ui/status/power.js +++ b/js/ui/status/power.js @@ -122,7 +122,7 @@ Indicator.prototype = { timestring = template.format (hours, Gettext.ngettext("hour", "hours", hours), minutes, Gettext.ngettext("minute", "minutes", minutes)); } } else - timestring = Gettext.ngettext("%d minute remaining", "%d minutes remaining", minutes); + timestring = Gettext.ngettext("%d minute remaining", "%d minutes remaining", minutes).format(minutes); this._batteryItem.label.text = timestring; this._primaryPercentage.text = Math.round(percentage) + '%'; this._batteryItem.actor.show(); From 5ba9bb7a67887f8cc86bf30168547fedc4ebe8af Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jorge=20Gonz=C3=A1lez?= Date: Thu, 2 Dec 2010 19:09:57 +0100 Subject: [PATCH 10/45] Updated Spanish translation --- po/es.po | 214 +++++++++++++++++++++++++++---------------------------- 1 file changed, 106 insertions(+), 108 deletions(-) diff --git a/po/es.po b/po/es.po index 2dba065c7..babc83b77 100644 --- a/po/es.po +++ b/po/es.po @@ -8,8 +8,8 @@ msgstr "" "Project-Id-Version: gnome-shell.master\n" "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug.cgi?product=gnome-" "shell&component=general\n" -"POT-Creation-Date: 2010-10-30 17:51+0000\n" -"PO-Revision-Date: 2010-10-31 21:36+0100\n" +"POT-Creation-Date: 2010-11-29 15:38+0000\n" +"PO-Revision-Date: 2010-12-02 19:06+0100\n" "Last-Translator: Jorge González \n" "Language-Team: Español \n" "MIME-Version: 1.0\n" @@ -100,10 +100,6 @@ msgid "List of desktop file IDs for favorite applications" msgstr "Lista de ID de archivos de escritorio para las aplicaciones favoritas" #: ../data/org.gnome.shell.gschema.xml.in.h:13 -msgid "Overview workspace view mode" -msgstr "Modo de visualización de la vista previa del área de trabajo" - -#: ../data/org.gnome.shell.gschema.xml.in.h:14 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 " @@ -125,19 +121,19 @@ msgstr "" "predeterminada. Actualmente es «videorate ! theoraenc ! oggmux» y greba en " "Ogg Theora." -#: ../data/org.gnome.shell.gschema.xml.in.h:15 +#: ../data/org.gnome.shell.gschema.xml.in.h:14 msgid "Show date in clock" msgstr "Mostrar la fecha en el reloj" -#: ../data/org.gnome.shell.gschema.xml.in.h:16 +#: ../data/org.gnome.shell.gschema.xml.in.h:15 msgid "Show the week date in the calendar" msgstr "Mostrar la fecha de la semana en el calendario" -#: ../data/org.gnome.shell.gschema.xml.in.h:17 +#: ../data/org.gnome.shell.gschema.xml.in.h:16 msgid "Show time with seconds" msgstr "Mostrar la hora con segundos" -#: ../data/org.gnome.shell.gschema.xml.in.h:18 +#: ../data/org.gnome.shell.gschema.xml.in.h:17 msgid "" "The applications corresponding to these identifiers will be displayed in the " "favorites area." @@ -145,7 +141,7 @@ msgstr "" "Las aplicaciones correspondientes con esos identificadores se mostrarán en " "el área de favoritos." -#: ../data/org.gnome.shell.gschema.xml.in.h:19 +#: ../data/org.gnome.shell.gschema.xml.in.h:18 msgid "" "The filename for recorded screencasts will be a unique filename based on the " "current date, and use this extension. It should be changed when recording to " @@ -155,7 +151,7 @@ msgstr "" "basado en la fecha actual y usará esta extensión. Se debería cambiar al " "grabar en otro formato contenedor diferente." -#: ../data/org.gnome.shell.gschema.xml.in.h:20 +#: ../data/org.gnome.shell.gschema.xml.in.h:19 msgid "" "The framerate of the resulting screencast recordered by GNOME Shell's " "screencast recorder in frames-per-second." @@ -163,19 +159,11 @@ msgstr "" "La tasa de fotogramas de la grabación resultante grabada por el grabador de " "«screencast» de GNOME Shell, en fotogramas por segundo." -#: ../data/org.gnome.shell.gschema.xml.in.h:21 +#: ../data/org.gnome.shell.gschema.xml.in.h:20 msgid "The gstreamer pipeline used to encode the screencast" msgstr "La tubería de gstreamer usada para codificar el «screencast»" -#: ../data/org.gnome.shell.gschema.xml.in.h:22 -msgid "" -"The selected workspace view mode in the overview. Supported values are " -"\"single\" and \"grid\"." -msgstr "" -"El modo de vista del área de trabajo seleccionada en la vista general. Los " -"valores soportados son «single» (sencillo) y «grid» (rejilla)." - -#: ../data/org.gnome.shell.gschema.xml.in.h:23 +#: ../data/org.gnome.shell.gschema.xml.in.h:21 msgid "" "The shell normally monitors active applications in order to present the most " "used ones (e.g. in launchers). While this data will be kept private, you may " @@ -187,7 +175,7 @@ msgstr "" "mantienen de forma privada, puede querer desactivarlo por razones de " "privacidad. Note que haciéndolo no eliminará los datos ya guardados." -#: ../data/org.gnome.shell.gschema.xml.in.h:24 +#: ../data/org.gnome.shell.gschema.xml.in.h:22 msgid "" "This key specifies the format used by the panel clock when the format key is " "set to \"custom\". You can use conversion specifiers understood by strftime" @@ -200,7 +188,7 @@ msgstr "" "formato específico. Consulte el manual de strftime() para obtener más " "información." -#: ../data/org.gnome.shell.gschema.xml.in.h:25 +#: ../data/org.gnome.shell.gschema.xml.in.h:23 msgid "" "This key specifies the hour format used by the panel clock. Possible values " "are \"12-hour\", \"24-hour\", \"unix\" and \"custom\". If set to \"unix\", " @@ -217,11 +205,11 @@ msgstr "" "«custom_format». Note que si se establece a «unix» o «custom» se ignoran las " "claves «show_date» y «show_seconds»." -#: ../data/org.gnome.shell.gschema.xml.in.h:26 +#: ../data/org.gnome.shell.gschema.xml.in.h:24 msgid "Uuids of extensions to disable" msgstr "Uuid de las extensiones que desactivar" -#: ../data/org.gnome.shell.gschema.xml.in.h:27 +#: ../data/org.gnome.shell.gschema.xml.in.h:25 msgid "Whether to collect stats about applications usage" msgstr "" "Indica si se deben recolectar estadísticas acerca del uso de las aplicaciones" @@ -411,62 +399,41 @@ msgstr "Formato _12 horas" msgid "_24 hour format" msgstr "Formato _24 horas" -#. **** Applications **** -#: ../js/ui/appDisplay.js:316 ../js/ui/dash.js:778 +#: ../js/ui/appDisplay.js:215 msgid "APPLICATIONS" msgstr "APLICACIONES" -#: ../js/ui/appDisplay.js:348 +#: ../js/ui/appDisplay.js:245 msgid "PREFERENCES" msgstr "PREFERENCIAS" -#: ../js/ui/appDisplay.js:647 +#: ../js/ui/appDisplay.js:538 msgid "New Window" msgstr "Ventana nueva" -#: ../js/ui/appDisplay.js:651 +#: ../js/ui/appDisplay.js:542 msgid "Remove from Favorites" msgstr "Quitar de los favoritos" -#: ../js/ui/appDisplay.js:652 +#: ../js/ui/appDisplay.js:543 msgid "Add to Favorites" msgstr "Añadir a los favoritos" -#: ../js/ui/appDisplay.js:829 -msgid "Drag here to add favorites" -msgstr "Arrastrar aquí para añadir a los favoritos" - -#: ../js/ui/appFavorites.js:88 +#: ../js/ui/appFavorites.js:91 #, c-format msgid "%s has been added to your favorites." msgstr "Se ha añadido %s a sus favoritos." -#: ../js/ui/appFavorites.js:107 +#: ../js/ui/appFavorites.js:122 #, c-format msgid "%s has been removed from your favorites." msgstr "Se ha quitado %s de sus favoritos." -#: ../js/ui/dash.js:142 -msgid "Find" -msgstr "Buscar" +#: ../js/ui/dash.js:27 +msgid "Remove" +msgstr "Quitar" -#: ../js/ui/dash.js:473 -msgid "Searching..." -msgstr "Buscando…" - -#: ../js/ui/dash.js:487 -msgid "No matching results." -msgstr "No se encontró ningún resultado coincidente." - -#. **** Places **** -#. Translators: This is in the sense of locations for documents, -#. network locations, etc. -#: ../js/ui/dash.js:797 ../js/ui/placeDisplay.js:554 -msgid "PLACES & DEVICES" -msgstr "LUGARES Y DISPOSITIVOS" - -#. **** Documents **** -#: ../js/ui/dash.js:804 ../js/ui/docDisplay.js:494 +#: ../js/ui/docDisplay.js:494 msgid "RECENT ITEMS" msgstr "ELEMENTOS RECIENTES" @@ -500,63 +467,63 @@ msgstr "Ver fuente" msgid "Web Page" msgstr "Página web" -#: ../js/ui/overview.js:160 +#: ../js/ui/overview.js:112 msgid "Undo" msgstr "Deshacer" #. TODO - _quit() doesn't really work on apps in state STARTING yet -#: ../js/ui/panel.js:469 +#: ../js/ui/panel.js:470 #, c-format msgid "Quit %s" msgstr "Salir de %s" -#: ../js/ui/panel.js:494 +#: ../js/ui/panel.js:495 msgid "Preferences" msgstr "Preferencias" #. Translators: This is the time format with date used #. in 24-hour mode. -#: ../js/ui/panel.js:580 +#: ../js/ui/panel.js:581 msgid "%a %b %e, %R:%S" msgstr "%a %e de %b, %R:%S" -#: ../js/ui/panel.js:581 +#: ../js/ui/panel.js:582 msgid "%a %b %e, %R" msgstr "%a %e de %b, %R" #. Translators: This is the time format without date used #. in 24-hour mode. -#: ../js/ui/panel.js:585 +#: ../js/ui/panel.js:586 msgid "%a %R:%S" msgstr "%a %R:%S" -#: ../js/ui/panel.js:586 +#: ../js/ui/panel.js:587 msgid "%a %R" msgstr "%a %R" #. Translators: This is a time format with date used #. for AM/PM. -#: ../js/ui/panel.js:593 +#: ../js/ui/panel.js:594 msgid "%a %b %e, %l:%M:%S %p" msgstr "%a %e de %b, %H:%M:%S" -#: ../js/ui/panel.js:594 +#: ../js/ui/panel.js:595 msgid "%a %b %e, %l:%M %p" msgstr "%a %e de %b, %H:%M" #. Translators: This is a time format without date used #. for AM/PM. -#: ../js/ui/panel.js:598 +#: ../js/ui/panel.js:599 msgid "%a %l:%M:%S %p" msgstr "%a %H:%M:%S" -#: ../js/ui/panel.js:599 +#: ../js/ui/panel.js:600 msgid "%a %l:%M %p" msgstr "%a %H:%M" #. Button on the left side of the panel. #. Translators: If there is no suitable word for "Activities" in your language, you can use the word for "Overview". -#: ../js/ui/panel.js:744 +#: ../js/ui/panel.js:745 msgid "Activities" msgstr "Actividades" @@ -573,6 +540,10 @@ msgstr "Reintentar" msgid "Connect to..." msgstr "Conectar a…" +#: ../js/ui/placeDisplay.js:558 +msgid "PLACES & DEVICES" +msgstr "LUGARES Y DISPOSITIVOS" + #. Translators: this MUST be either "toggle-switch-us" #. (for toggle switches containing the English words #. "ON" and "OFF") or "toggle-switch-intl" (for toggle @@ -599,40 +570,34 @@ msgstr "Disponible" msgid "Busy" msgstr "Ocupado" -#: ../js/ui/statusMenu.js:111 -msgid "Invisible" -msgstr "Invisible" +#: ../js/ui/statusMenu.js:114 +#| msgid "My Account..." +msgid "My Account" +msgstr "Mi cuenta" -#: ../js/ui/statusMenu.js:119 -msgid "My Account..." -msgstr "Mi cuenta…" +#: ../js/ui/statusMenu.js:118 +#| msgid "System Settings..." +msgid "System Settings" +msgstr "Configuración del sistema" -#: ../js/ui/statusMenu.js:123 -#| msgid "System Preferences..." -msgid "System Settings..." -msgstr "Ajustes del sistema…" - -#: ../js/ui/statusMenu.js:130 +#: ../js/ui/statusMenu.js:125 msgid "Lock Screen" msgstr "Bloquear la pantalla" -#: ../js/ui/statusMenu.js:134 +#: ../js/ui/statusMenu.js:129 msgid "Switch User" msgstr "Cambiar de usuario" -#: ../js/ui/statusMenu.js:139 +#: ../js/ui/statusMenu.js:134 msgid "Log Out..." msgstr "Salir…" -#: ../js/ui/statusMenu.js:146 -msgid "Suspend" -msgstr "Suspender" +#: ../js/ui/statusMenu.js:141 +#| msgid "Suspend" +msgid "Suspend..." +msgstr "Suspender…" -#: ../js/ui/statusMenu.js:150 -msgid "Restart..." -msgstr "Reiniciar…" - -#: ../js/ui/statusMenu.js:154 +#: ../js/ui/statusMenu.js:145 msgid "Shut Down..." msgstr "Apagar…" @@ -672,14 +637,18 @@ msgstr "Preferencias del acceso universal" msgid "High Contrast" msgstr "Contraste alto" -#: ../js/ui/status/accessibility.js:202 +#: ../js/ui/status/accessibility.js:205 msgid "Large Text" msgstr "Texto:" -#: ../js/ui/status/accessibility.js:223 +#: ../js/ui/status/accessibility.js:224 msgid "Zoom" msgstr "Ampliación" +#: ../js/ui/viewSelector.js:26 +msgid "Search your computer" +msgstr "Buscar en su equipo" + #: ../js/ui/windowAttentionHandler.js:43 #, c-format msgid "%s has finished starting" @@ -690,14 +659,14 @@ msgstr "%s finalizó su lanzamiento" msgid "'%s' is ready" msgstr "«%s» está preparado" -#: ../js/ui/workspacesView.js:229 +#: ../js/ui/workspacesView.js:244 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." -#: ../js/ui/workspacesView.js:246 +#: ../js/ui/workspacesView.js:260 msgid "Can't remove the first workspace." msgstr "No se puede quitar el primer área de trabajo." @@ -723,49 +692,53 @@ msgstr[1] "%u entradas" msgid "System Sounds" msgstr "Sonidos del sistema" -#: ../src/shell-global.c:1219 +#: ../src/shell-app-system.c:1012 +msgid "Unknown" +msgstr "Desconocido" + +#: ../src/shell-global.c:1163 msgid "Less than a minute ago" msgstr "Hace menos de un minuto" -#: ../src/shell-global.c:1223 +#: ../src/shell-global.c:1167 #, c-format msgid "%d minute ago" msgid_plural "%d minutes ago" msgstr[0] "Hace %d minuto" msgstr[1] "Hace %d minutos" -#: ../src/shell-global.c:1228 +#: ../src/shell-global.c:1172 #, c-format msgid "%d hour ago" msgid_plural "%d hours ago" msgstr[0] "Hace %d hora" msgstr[1] "Hace %d horas" -#: ../src/shell-global.c:1233 +#: ../src/shell-global.c:1177 #, c-format msgid "%d day ago" msgid_plural "%d days ago" msgstr[0] "Hace %d día" msgstr[1] "Hace %d días" -#: ../src/shell-global.c:1238 +#: ../src/shell-global.c:1182 #, c-format msgid "%d week ago" msgid_plural "%d weeks ago" msgstr[0] "Hace %d semana" msgstr[1] "Hace %d semanas" -#: ../src/shell-uri-util.c:89 +#: ../src/shell-util.c:89 msgid "Home Folder" msgstr "Carpeta personal" #. Translators: this is the same string as the one found in #. * nautilus -#: ../src/shell-uri-util.c:104 +#: ../src/shell-util.c:104 msgid "File System" msgstr "Sistema de archivos" -#: ../src/shell-uri-util.c:250 +#: ../src/shell-util.c:250 msgid "Search" msgstr "Buscar" @@ -774,11 +747,39 @@ msgstr "Buscar" #. * example, "Trash: some-directory". It means that the #. * directory called "some-directory" is in the trash. #. -#: ../src/shell-uri-util.c:300 +#: ../src/shell-util.c:300 #, c-format msgid "%1$s: %2$s" msgstr "%1$s: %2$s" +#~ msgid "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 "Searching..." +#~ msgstr "Buscando…" + +#~ msgid "No matching results." +#~ msgstr "No se encontró ningún resultado coincidente." + +#~ msgid "Invisible" +#~ msgstr "Invisible" + +#~ msgid "Restart..." +#~ msgstr "Reiniciar…" + #~ msgid "Account Information..." #~ msgstr "Información de la cuenta…" @@ -815,9 +816,6 @@ msgstr "%1$s: %2$s" #~ msgid "SEARCH RESULTS" #~ msgstr "RESULTADOS DE LA BÚSQUEDA" -#~ msgid "Unknown" -#~ msgstr "Desconocido" - #~ msgid "Can't lock screen: %s" #~ msgstr "No se puede bloquear la pantalla: %s" From 0c8941715d9bde621a2291f92677ebdf08a90432 Mon Sep 17 00:00:00 2001 From: Ray Strode Date: Fri, 24 Sep 2010 15:22:33 -0400 Subject: [PATCH 11/45] Rename side-by-side tiling key It's now called edge_tiling since it can do more than just side-by-side tiling. https://bugzilla.gnome.org/show_bug.cgi?id=630548 --- data/gnome-shell.schemas | 13 +++++++------ src/gnome-shell-plugin.c | 4 ++-- 2 files changed, 9 insertions(+), 8 deletions(-) diff --git a/data/gnome-shell.schemas b/data/gnome-shell.schemas index 1a887118a..80b36d1f0 100644 --- a/data/gnome-shell.schemas +++ b/data/gnome-shell.schemas @@ -44,19 +44,20 @@ - /schemas/desktop/gnome/shell/windows/side_by_side_tiling - /desktop/gnome/shell/windows/side_by_side_tiling + /schemas/desktop/gnome/shell/windows/edge_tiling + /desktop/gnome/shell/windows/edge_tiling gnome-shell bool true - enable side-by-side tiling when dropping windows on screen edges + enable edge tiling when dropping windows on screen edges - If enabled, dropping windows on screen edges maximizes them + If enabled, dropping windows on vertical screen edges maximizes them vertically and resizes them horizontally to cover half of the - available area. + available area. Dropping windows on the top screen edge maximizes them + completely. - This key overrides /apps/metacity/general/side_by_side_tiling when + This key overrides /apps/metacity/general/edge_tiling when running GNOME Shell. diff --git a/src/gnome-shell-plugin.c b/src/gnome-shell-plugin.c index 0a3959df4..9d96303c0 100644 --- a/src/gnome-shell-plugin.c +++ b/src/gnome-shell-plugin.c @@ -159,8 +159,8 @@ gnome_shell_plugin_init (GnomeShellPlugin *shell_plugin) "/desktop/gnome/shell/windows/attach_modal_dialogs"); meta_prefs_override_preference_location ("/apps/metacity/general/button_layout", "/desktop/gnome/shell/windows/button_layout"); - meta_prefs_override_preference_location ("/apps/metacity/general/side_by_side_tiling", - "/desktop/gnome/shell/windows/side_by_side_tiling"); + meta_prefs_override_preference_location ("/apps/metacity/general/edge_tiling", + "/desktop/gnome/shell/windows/edge_tiling"); meta_prefs_override_preference_location ("/apps/metacity/general/theme", "/desktop/gnome/shell/windows/theme"); } From 7ce65e421b0123d3a86fa26aca5f991c5987f45e Mon Sep 17 00:00:00 2001 From: "Jason D. Clinton" Date: Thu, 2 Dec 2010 16:07:34 -0600 Subject: [PATCH 12/45] Fix compilation against latest GTK+-3 changes GDK_WINDOW_XWINDOW has been removed. All calls should use gdk_x11_window_get_xid() instead. --- src/shell-embedded-window.c | 2 +- src/shell-gtk-embed.c | 2 +- src/tray/na-tray-child.c | 2 +- src/tray/na-tray-manager.c | 6 +++--- 4 files changed, 6 insertions(+), 6 deletions(-) diff --git a/src/shell-embedded-window.c b/src/shell-embedded-window.c index a3b9153ae..01a5a4d27 100644 --- a/src/shell-embedded-window.c +++ b/src/shell-embedded-window.c @@ -106,7 +106,7 @@ shell_embedded_window_realize (GtkWidget *widget) * modifying the GDK hierarchy. */ XReparentWindow (GDK_DISPLAY_XDISPLAY (gtk_widget_get_display (widget)), - GDK_WINDOW_XWINDOW (gtk_widget_get_window (widget)), + gdk_x11_window_get_xid (gtk_widget_get_window (widget)), window->priv->stage_xwindow, window->priv->position.x, window->priv->position.y); } diff --git a/src/shell-gtk-embed.c b/src/shell-gtk-embed.c index c13841882..a7c7bbe10 100644 --- a/src/shell-gtk-embed.c +++ b/src/shell-gtk-embed.c @@ -39,7 +39,7 @@ shell_gtk_embed_on_window_realize (GtkWidget *widget, * screen. */ clutter_x11_texture_pixmap_set_window (CLUTTER_X11_TEXTURE_PIXMAP (embed), - GDK_WINDOW_XWINDOW (gtk_widget_get_window (widget)), + gdk_x11_window_get_xid (gtk_widget_get_window (widget)), FALSE); } diff --git a/src/tray/na-tray-child.c b/src/tray/na-tray-child.c index e5cc2a688..37db2e0ed 100644 --- a/src/tray/na-tray-child.c +++ b/src/tray/na-tray-child.c @@ -420,7 +420,7 @@ na_tray_child_force_redraw (NaTrayChild *child) gtk_widget_get_allocation (widget, &allocation); xev.xexpose.type = Expose; - xev.xexpose.window = GDK_WINDOW_XWINDOW (plug_window); + xev.xexpose.window = gdk_x11_window_get_xid (plug_window); xev.xexpose.x = 0; xev.xexpose.y = 0; xev.xexpose.width = allocation.width; diff --git a/src/tray/na-tray-manager.c b/src/tray/na-tray-manager.c index bccda638e..64300bc82 100644 --- a/src/tray/na-tray-manager.c +++ b/src/tray/na-tray-manager.c @@ -601,7 +601,7 @@ na_tray_manager_set_orientation_property (NaTrayManager *manager) SYSTEM_TRAY_ORIENTATION_VERT; XChangeProperty (GDK_DISPLAY_XDISPLAY (display), - GDK_WINDOW_XWINDOW (window), + gdk_x11_window_get_xid (window), orientation_atom, XA_CARDINAL, 32, PropModeReplace, @@ -646,7 +646,7 @@ na_tray_manager_set_visual_property (NaTrayManager *manager) data[0] = XVisualIDFromVisual (xvisual); XChangeProperty (GDK_DISPLAY_XDISPLAY (display), - GDK_WINDOW_XWINDOW (window), + gdk_x11_window_get_xid (window), visual_atom, XA_VISUALID, 32, PropModeReplace, @@ -724,7 +724,7 @@ na_tray_manager_manage_screen_x11 (NaTrayManager *manager, xev.data.l[0] = timestamp; xev.data.l[1] = gdk_x11_atom_to_xatom_for_display (display, manager->selection_atom); - xev.data.l[2] = GDK_WINDOW_XWINDOW (window); + xev.data.l[2] = gdk_x11_window_get_xid (window); xev.data.l[3] = 0; /* manager specific data */ xev.data.l[4] = 0; /* manager specific data */ From d7cc82909af9d453b1b06a3f702c38ff412e130f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Florian=20M=C3=BCllner?= Date: Tue, 30 Nov 2010 18:58:05 +0100 Subject: [PATCH 13/45] a11y-status: Use single quotes for non-translatable strings Fix the usage of single vs double quotes according to our coding conventions. --- js/ui/status/accessibility.js | 30 +++++++++++++++--------------- 1 file changed, 15 insertions(+), 15 deletions(-) diff --git a/js/ui/status/accessibility.js b/js/ui/status/accessibility.js index 9fd87c35d..f96e193a8 100644 --- a/js/ui/status/accessibility.js +++ b/js/ui/status/accessibility.js @@ -16,18 +16,18 @@ const PopupMenu = imports.ui.popupMenu; const Gettext = imports.gettext.domain('gnome-shell'); const _ = Gettext.gettext; -const A11Y_SCHEMA = "org.gnome.desktop.a11y.keyboard"; -const KEY_STICKY_KEYS_ENABLED = "stickykeys-enable"; -const KEY_BOUNCE_KEYS_ENABLED = "bouncekeys-enable"; -const KEY_SLOW_KEYS_ENABLED = "slowkeys-enable"; -const KEY_MOUSE_KEYS_ENABLED = "mousekeys-enable"; +const A11Y_SCHEMA = 'org.gnome.desktop.a11y.keyboard'; +const KEY_STICKY_KEYS_ENABLED = 'stickykeys-enable'; +const KEY_BOUNCE_KEYS_ENABLED = 'bouncekeys-enable'; +const KEY_SLOW_KEYS_ENABLED = 'slowkeys-enable'; +const KEY_MOUSE_KEYS_ENABLED = 'mousekeys-enable'; const MAGNIFIER_SCHEMA = 'org.gnome.accessibility.magnifier'; -const AT_SCREEN_KEYBOARD_SCHEMA = "org.gnome.desktop.default-applications.at.mobility"; -const AT_SCREEN_READER_SCHEMA = "org.gnome.desktop.default-applications.at.visual"; +const AT_SCREEN_KEYBOARD_SCHEMA = 'org.gnome.desktop.default-applications.at.mobility'; +const AT_SCREEN_READER_SCHEMA = 'org.gnome.desktop.default-applications.at.visual'; -const XSETTINGS_SCHEMA = "org.gnome.settings-daemon.plugins.xsettings"; -const KEY_DPI = "dpi"; +const XSETTINGS_SCHEMA = 'org.gnome.settings-daemon.plugins.xsettings'; +const KEY_DPI = 'dpi'; const DPI_LOW_REASONABLE_VALUE = 50; const DPI_HIGH_REASONABLE_VALUE = 500; @@ -37,14 +37,14 @@ const DPI_FACTOR_LARGER = 1.5; const DPI_FACTOR_LARGEST = 2.0; const DPI_DEFAULT = 96; -const KEY_META_DIR = "/apps/metacity/general"; -const KEY_VISUAL_BELL = KEY_META_DIR + "/visual_bell"; +const KEY_META_DIR = '/apps/metacity/general'; +const KEY_VISUAL_BELL = KEY_META_DIR + '/visual_bell'; -const DESKTOP_INTERFACE_SCHEMA = "org.gnome.desktop.interface"; -const KEY_GTK_THEME = "gtk-theme"; -const KEY_ICON_THEME = "icon-theme"; +const DESKTOP_INTERFACE_SCHEMA = 'org.gnome.desktop.interface'; +const KEY_GTK_THEME = 'gtk-theme'; +const KEY_ICON_THEME = 'icon-theme'; -const HIGH_CONTRAST_THEME = "HighContrast"; +const HIGH_CONTRAST_THEME = 'HighContrast'; function getDPIFromX() { let screen = global.get_gdk_screen(); From 172f78daad34fc053dde4e0da4a4771fd6acbb4a Mon Sep 17 00:00:00 2001 From: Mahyar Moghimi Date: Fri, 3 Dec 2010 13:45:51 +0330 Subject: [PATCH 14/45] Updating Persian Translation --- po/fa.po | 730 +++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 730 insertions(+) create mode 100644 po/fa.po diff --git a/po/fa.po b/po/fa.po new file mode 100644 index 000000000..a80410361 --- /dev/null +++ b/po/fa.po @@ -0,0 +1,730 @@ +# Persian translation for gnome-shell. +# Copyright (C) 2010 Iranian Free Software Users Group (IFSUG.org)translation team. +# This file is distributed under the same license as the gnome-shell package. +# Arash Mousavi , 2010. +# Mahyar Moghimi , 2010. +# +msgid "" +msgstr "" +"Project-Id-Version: gnome-shell master\n" +"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug.cgi?product=gnome-shell&component=general\n" +"POT-Creation-Date: 2010-12-01 18:12+0000\n" +"PO-Revision-Date: 2010-12-03 13:24+0330\n" +"Last-Translator: Mahyar Moghimi \n" +"Language-Team: Persian \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=1; plural=0;\n" +"X-Poedit-Language: Persian\n" +"X-Poedit-Country: IRAN\n" +"X-Poedit-SourceCharset: utf-8\n" + +#: ../data/gnome-shell.desktop.in.in.h:1 +msgid "GNOME Shell" +msgstr "پوسته‌ی گنوم" + +#: ../data/gnome-shell.desktop.in.in.h:2 +msgid "Window management and application launching" +msgstr "مدیریت پنجره‌ها و اجرا کننده‌ی برنامه‌ها" + +#: ../data/gnome-shell-clock-preferences.desktop.in.in.h:1 +msgid "Clock" +msgstr "ساعت" + +#: ../data/gnome-shell-clock-preferences.desktop.in.in.h:2 +msgid "Customize the panel clock" +msgstr "سفارشی‌سازی ساعت تابلو" + +#: ../data/org.gnome.shell.gschema.xml.in.h:1 +msgid "Allows access to internal debugging and monitoring tools using the Alt-F2 dialog." +msgstr "اجازه دسترسی به ابزارهای اشکال‌زدا و پایشگر داخلی با استفاده از محاوره‌ی Alt-F2." + +#: ../data/org.gnome.shell.gschema.xml.in.h:2 +msgid "Custom format of the clock" +msgstr "قالب سفارشی برای ساعت" + +#: ../data/org.gnome.shell.gschema.xml.in.h:3 +msgid "Enable internal tools useful for developers and testers from Alt-F2" +msgstr "فعال کردن ابزارهای داخلی مفید برای توسعه دهندگان و آزمایش کنندگان از طریق Alt-F2" + +#: ../data/org.gnome.shell.gschema.xml.in.h:4 +msgid "File extension used for storing the screencast" +msgstr "پسوند پرونده‌ی قابل استفاده برای ذخیره تصویربرداری از صفحه‌نمایش" + +#: ../data/org.gnome.shell.gschema.xml.in.h:5 +msgid "Framerate used for recording screencasts." +msgstr "سرعت فریم استفاده شده در تصویربرداری از صفحه‌نمایش." + +#: ../data/org.gnome.shell.gschema.xml.in.h:6 +msgid "GNOME Shell extensions have a uuid property; this key lists extensions which should not be loaded." +msgstr "افزونه‌های پوسته‌ی گنوم مشخصه‌ی uuid دارند؛ این کلید افزونه‌هایی که نباید بار شوند را فهرست می‌کند." + +#: ../data/org.gnome.shell.gschema.xml.in.h:7 +msgid "History for command (Alt-F2) dialog" +msgstr "تاریخچه‌ی فرمان برای محاوره‌ی (Alt-F2)" + +#: ../data/org.gnome.shell.gschema.xml.in.h:8 +msgid "Hour format" +msgstr "قالب ساعت" + +#: ../data/org.gnome.shell.gschema.xml.in.h:9 +msgid "If true and format is either \"12-hour\" or \"24-hour\", display date in the clock, in addition to time." +msgstr "اگر روی «درست» تنظیم شود و قالب ساعت هر یک از حالت‌های «۱۲ ساعته» و یا «۲۴ ساعته» باشد، تاریخ را در کنار ساعت نشان می‌دهد." + +#: ../data/org.gnome.shell.gschema.xml.in.h:10 +msgid "If true and format is either \"12-hour\" or \"24-hour\", display seconds in time." +msgstr "اگر بر روی «درست» تنظیم شود و قالب ساعت هر یک از جالت‌های «۱۲ ساعته» و یا «۲۴ ساعته» باشد، ثانیه را در کنار ساعت نشان می‌دهد." + +#: ../data/org.gnome.shell.gschema.xml.in.h:11 +msgid "If true, display the ISO week date in the calendar." +msgstr "در صورت تنظیم بر روی «درست»، تاریخ هفتگی ایزو را در تقویم نشان می‌دهد." + +#: ../data/org.gnome.shell.gschema.xml.in.h:12 +msgid "List of desktop file IDs for favorite applications" +msgstr "فهرست شناسه‌های پرونده‌ی رومیزی برای برنامه‌های مورد پسند" + +#: ../data/org.gnome.shell.gschema.xml.in.h:13 +msgid "Sets the GStreamer pipeline used to encode recordings. It follows the syntax used for gst-launch. The pipeline should have an unconnected sink pad where the recorded video is recorded. It will normally have a unconnected source pad; output from that pad will be written into the output file. However the pipeline can also take care of its own output - this might be used to send the output to an icecast server via shout2send or similar. When unset or set to an empty value, the default pipeline will be used. This is currently 'videorate ! theoraenc ! oggmux' and records to Ogg Theora." +msgstr "" + +#: ../data/org.gnome.shell.gschema.xml.in.h:14 +msgid "Show date in clock" +msgstr "نمایش تاریخ در ساعت" + +#: ../data/org.gnome.shell.gschema.xml.in.h:15 +msgid "Show the week date in the calendar" +msgstr "نمایش هفته در تقویم" + +#: ../data/org.gnome.shell.gschema.xml.in.h:16 +msgid "Show time with seconds" +msgstr "نمایش ساعت همراه با ثانیه" + +#: ../data/org.gnome.shell.gschema.xml.in.h:17 +msgid "The applications corresponding to these identifiers will be displayed in the favorites area." +msgstr "برنامه‌های مشابه این شناسه‌ها در قسمت مورد پسندها نمایش داده می‌شود." + +#: ../data/org.gnome.shell.gschema.xml.in.h:18 +msgid "The filename for recorded screencasts will be a unique filename based on the current date, and use this extension. It should be changed when recording to a different container format." +msgstr "نام پرونده‌ی ضبط شده برای تصویربرداری از صفحه‌نمایش یکتا و براساس تاریخ جاری خواهد بود و از این افزونه استفاده خواهد کرد. اگر در زمان ضبط از قالب دیگری استفاده کنید باید تغییر کند." + +#: ../data/org.gnome.shell.gschema.xml.in.h:19 +msgid "The framerate of the resulting screencast recordered by GNOME Shell's screencast recorder in frames-per-second." +msgstr "سرعت فریم حاصل از تصویربرداری از صفحه نمایش با استفاده از ضبط کننده نمایشگر پوسته‌ی گنوم بر اساس فریم بر ثانیه" + +#: ../data/org.gnome.shell.gschema.xml.in.h:20 +msgid "The gstreamer pipeline used to encode the screencast" +msgstr "مجرای ارتباطی gstreamer برای کدگذاری تصویربرداری از صفحه نمایش" + +#: ../data/org.gnome.shell.gschema.xml.in.h:21 +msgid "The shell normally monitors active applications in order to present the most used ones (e.g. in launchers). While this data will be kept private, you may want to disable this for privacy reasons. Please note that doing so won't remove already saved data." +msgstr "پوسته گنوم در حالت عادی برنامه‌های فعال را جهت ارائه برنامه‌های بیشتر استفاده شده پایش می کند. (برای مثال در اجرا کننده‌ها). با اینکه که این اطلاعات به صورت خصوصی نگاه‌داری می‌شود، ممکن است شما بخواهید این امکان را به دلایل امنیتی غیرفعال کنید. لطفا توجه کنید این کار باعث پاک شدن اطلاعاتی که تاکنون ذخیره شده‌اند نمی‌شود." + +#: ../data/org.gnome.shell.gschema.xml.in.h:22 +msgid "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 "این کلید قالب ساعتِ قاب را هنگامی که بر روی «سفارشی» تنظیم شده باشد تعیین می‌کند. شما می‌توانید از مبدل‌های قابل فهم در تابع ()strftime برای اختصاص قالب مشخص استفاده کنید. برای اطلاعات بیشتر مستندات ()strftime را مشاهده کنید." + +#: ../data/org.gnome.shell.gschema.xml.in.h:23 +msgid "This key specifies the hour format used by the panel clock. Possible values are \"12-hour\", \"24-hour\", \"unix\" and \"custom\". If set to \"unix\", the clock will display time in seconds since Epoch, i.e. 1970-01-01. If set to \"custom\", the clock will display time according to the format specified in the custom_format key. Note that if set to either \"unix\" or \"custom\", the show_date and show_seconds keys are ignored." +msgstr "این کلید قالب ساعت را در تابلو مشخص می‌کند. مقادیر ممکن عبارتند از: «۱۲ ساعته»، «۲۴ ساعته»، «یونیکس» و «سفارشی». چنانچه بر روی «یونیکس» تنظیم گردد، ساعت زمان را به ثانیه از زمان مبدا تاریخ نشان می‌دهد، برای مثال ۰۱-۰۱-۱۹۷۰. اگر بر روی «سفارشی» تنظیم شود ساعت زمان را با توجه به قالب معرفی شده در کلید custom_format نمایش خواهد داد. توجه کنید که چنانچه بر روی یکی از حالت‌های «یونیکس» و یا «سفارشی» تنظیم شود، کلیدهای show_date و show_seconds نادیده گرفته خواهند شد." + +#: ../data/org.gnome.shell.gschema.xml.in.h:24 +msgid "Uuids of extensions to disable" +msgstr "شناسه‌های Uuid مربوط به افزونه‌ها که غیرفعال شود" + +#: ../data/org.gnome.shell.gschema.xml.in.h:25 +msgid "Whether to collect stats about applications usage" +msgstr "اینکه اطلاعات برنامه‌ها درباره‌ی میزان استفاده از منابع جمع‌آوری شود یا خیر" + +#: ../data/org.gnome.accessibility.magnifier.gschema.xml.in.h:1 +msgid "Clip the crosshairs at the center" +msgstr "" + +#: ../data/org.gnome.accessibility.magnifier.gschema.xml.in.h:2 +msgid "Color of the crosshairs" +msgstr "" + +#: ../data/org.gnome.accessibility.magnifier.gschema.xml.in.h:3 +msgid "Determines the length of the vertical and horizontal lines that make up the crosshairs." +msgstr "" + +#: ../data/org.gnome.accessibility.magnifier.gschema.xml.in.h:4 +msgid "Determines the position of the magnified mouse image within the magnified view and how it reacts to system mouse movement. The values are - none: no mouse tracking; - centered: the mouse image is displayed at the center of the zoom region (which also represents the point under the system mouse) and the magnified contents are scrolled as the system mouse moves; - proportional: the position of the magnified mouse in the zoom region is proportionally the same as the position of the system mouse on screen; - push: when the magnified mouse intersects a boundary of the zoom region, the contents are scrolled into view." +msgstr "" + +#: ../data/org.gnome.accessibility.magnifier.gschema.xml.in.h:5 +msgid "Determines the transparency of the crosshairs, from fully opaque to fully transparent." +msgstr "" + +#: ../data/org.gnome.accessibility.magnifier.gschema.xml.in.h:6 +msgid "Determines whether the crosshairs intersect the magnified mouse sprite, or are clipped such that the ends of the horizontal and vertical lines surround the mouse image." +msgstr "" + +#: ../data/org.gnome.accessibility.magnifier.gschema.xml.in.h:7 +#| msgid "Enabled" +msgid "Enable lens mode" +msgstr "به کار انداختن حالت لنز" + +#: ../data/org.gnome.accessibility.magnifier.gschema.xml.in.h:8 +msgid "Enables/disables display of crosshairs centered on the magnified mouse sprite." +msgstr "" + +#: ../data/org.gnome.accessibility.magnifier.gschema.xml.in.h:9 +msgid "For centered mouse tracking, when the system pointer is at or near the edge of the screen, the magnified contents continue to scroll such that the screen edge moves into the magnified view." +msgstr "" + +#: ../data/org.gnome.accessibility.magnifier.gschema.xml.in.h:10 +msgid "Length of the crosshairs" +msgstr "" + +#: ../data/org.gnome.accessibility.magnifier.gschema.xml.in.h:11 +msgid "Magnification factor" +msgstr "" + +#: ../data/org.gnome.accessibility.magnifier.gschema.xml.in.h:12 +msgid "Mouse Tracking Mode" +msgstr "" + +#: ../data/org.gnome.accessibility.magnifier.gschema.xml.in.h:13 +msgid "Opacity of the crosshairs" +msgstr "" + +#: ../data/org.gnome.accessibility.magnifier.gschema.xml.in.h:14 +msgid "Screen position" +msgstr "مکان روی صفحه نمایش" + +#: ../data/org.gnome.accessibility.magnifier.gschema.xml.in.h:15 +msgid "Scroll magnified contents beyond the edges of the desktop" +msgstr "" + +#: ../data/org.gnome.accessibility.magnifier.gschema.xml.in.h:16 +msgid "Show or hide crosshairs" +msgstr "" + +#: ../data/org.gnome.accessibility.magnifier.gschema.xml.in.h:17 +msgid "Show or hide the magnifier" +msgstr "" + +#: ../data/org.gnome.accessibility.magnifier.gschema.xml.in.h:18 +msgid "Show or hide the magnifier and all of its zoom regions." +msgstr "" + +#: ../data/org.gnome.accessibility.magnifier.gschema.xml.in.h:19 +msgid "The color of the the vertical and horizontal lines that make up the crosshairs." +msgstr "" + +#: ../data/org.gnome.accessibility.magnifier.gschema.xml.in.h:20 +msgid "The magnified view either fills the entire screen, or occupies the top-half, bottom-half, left-half, or right-half of the screen." +msgstr "" + +#: ../data/org.gnome.accessibility.magnifier.gschema.xml.in.h:21 +msgid "The power of the magnification. A value of 1.0 means no magnification. A value of 2.0 doubles the size." +msgstr "" + +#: ../data/org.gnome.accessibility.magnifier.gschema.xml.in.h:22 +msgid "Thickness of the crosshairs" +msgstr "" + +#: ../data/org.gnome.accessibility.magnifier.gschema.xml.in.h:23 +msgid "Whether the magnified view should be centered over the location of the system mouse and move with it." +msgstr "" + +#: ../data/org.gnome.accessibility.magnifier.gschema.xml.in.h:24 +msgid "Width of the vertical and horizontal lines that make up the crosshairs." +msgstr "" + +#: ../data/clock-preferences.ui.h:1 +msgid "Clock Format" +msgstr "قالب ساعت" + +#: ../data/clock-preferences.ui.h:2 +msgid "Clock Preferences" +msgstr "ترجیحات ساعت" + +#: ../data/clock-preferences.ui.h:3 +msgid "Panel Display" +msgstr "نمایش تابلو" + +#: ../data/clock-preferences.ui.h:4 +msgid "Show seco_nds" +msgstr "نمایش _ثانیه‌ها" + +#: ../data/clock-preferences.ui.h:5 +msgid "Show the _date" +msgstr "نمایش _تاریخ" + +#: ../data/clock-preferences.ui.h:6 +msgid "_12 hour format" +msgstr "فالب _۱۲ ساعته" + +#: ../data/clock-preferences.ui.h:7 +msgid "_24 hour format" +msgstr "قالب _۲۴ ساعته" + +#: ../js/ui/appDisplay.js:215 +msgid "APPLICATIONS" +msgstr "برنامه‌ها" + +#: ../js/ui/appDisplay.js:245 +msgid "PREFERENCES" +msgstr "ترجیحات" + +#: ../js/ui/appDisplay.js:542 +msgid "New Window" +msgstr "پنجره‌ی جدید" + +#: ../js/ui/appDisplay.js:546 +msgid "Remove from Favorites" +msgstr "حذف از مورد پسندها" + +#: ../js/ui/appDisplay.js:547 +msgid "Add to Favorites" +msgstr "اضافه کردن به مورد پسندها" + +#: ../js/ui/appFavorites.js:91 +#, c-format +msgid "%s has been added to your favorites." +msgstr "مورد %s به مورد پسندهای شما اضافه شد." + +#: ../js/ui/appFavorites.js:122 +#, c-format +msgid "%s has been removed from your favorites." +msgstr "مورد %s ازمورد پسندهای شما حذف شد." + +#: ../js/ui/dash.js:27 +msgid "Remove" +msgstr "حذف" + +#: ../js/ui/docDisplay.js:494 +msgid "RECENT ITEMS" +msgstr "موارد اخیر" + +#: ../js/ui/lookingGlass.js:552 +msgid "No extensions installed" +msgstr "هیچ افزونه‌ای نصب نشده است" + +#: ../js/ui/lookingGlass.js:589 +msgid "Enabled" +msgstr "به کار انداختن" + +#. translators: +#. * The device has been disabled +#: ../js/ui/lookingGlass.js:591 +#: ../src/gvc/gvc-mixer-control.c:1087 +msgid "Disabled" +msgstr "از کار انداختن" + +#: ../js/ui/lookingGlass.js:593 +msgid "Error" +msgstr "خطا" + +#: ../js/ui/lookingGlass.js:595 +msgid "Out of date" +msgstr "قدیمی" + +#: ../js/ui/lookingGlass.js:620 +msgid "View Source" +msgstr "نمایش کدمنبع" + +#: ../js/ui/lookingGlass.js:626 +msgid "Web Page" +msgstr "صفحه‌ی وب" + +#: ../js/ui/overview.js:112 +msgid "Undo" +msgstr "برگردان" + +#. TODO - _quit() doesn't really work on apps in state STARTING yet +#: ../js/ui/panel.js:470 +#, c-format +msgid "Quit %s" +msgstr "خروج از %s" + +#: ../js/ui/panel.js:495 +msgid "Preferences" +msgstr "ترجیحات" + +#. Translators: This is the time format with date used +#. in 24-hour mode. +#: ../js/ui/panel.js:581 +msgid "%a %b %e, %R:%S" +msgstr "%a %b %e, %R:%S" + +#: ../js/ui/panel.js:582 +msgid "%a %b %e, %R" +msgstr "%a %b %e, %R" + +#. Translators: This is the time format without date used +#. in 24-hour mode. +#: ../js/ui/panel.js:586 +msgid "%a %R:%S" +msgstr "%a %R:%S" + +#: ../js/ui/panel.js:587 +msgid "%a %R" +msgstr "%a %R" + +#. Translators: This is a time format with date used +#. for AM/PM. +#: ../js/ui/panel.js:594 +msgid "%a %b %e, %l:%M:%S %p" +msgstr "%a %b %e, %l:%M:%S %p" + +#: ../js/ui/panel.js:595 +msgid "%a %b %e, %l:%M %p" +msgstr "%a %b %e, %l:%M %p" + +#. Translators: This is a time format without date used +#. for AM/PM. +#: ../js/ui/panel.js:599 +msgid "%a %l:%M:%S %p" +msgstr "%a %l:%M:%S %p" + +#: ../js/ui/panel.js:600 +msgid "%a %l:%M %p" +msgstr "%a %l:%M %p" + +#. Button on the left side of the panel. +#. Translators: If there is no suitable word for "Activities" in your language, you can use the word for "Overview". +#: ../js/ui/panel.js:745 +msgid "Activities" +msgstr "فعالیت‌ها" + +#: ../js/ui/placeDisplay.js:111 +#, c-format +msgid "Failed to unmount '%s'" +msgstr "عدم توانایی در پیاده کردن «%s»" + +#: ../js/ui/placeDisplay.js:114 +msgid "Retry" +msgstr "سعی مجدد" + +#: ../js/ui/placeDisplay.js:159 +msgid "Connect to..." +msgstr "اتصال به..." + +#: ../js/ui/placeDisplay.js:558 +msgid "PLACES & DEVICES" +msgstr "محل‌ها و ابزارها" + +#. Translators: this MUST be either "toggle-switch-us" +#. (for toggle switches containing the English words +#. "ON" and "OFF") or "toggle-switch-intl" (for toggle +#. switches containing "◯" and "|"). Other values will +#. simply result in invisible toggle switches. +#: ../js/ui/popupMenu.js:33 +msgid "toggle-switch-us" +msgstr "toggle-switch-intl" + +#: ../js/ui/runDialog.js:233 +msgid "Please enter a command:" +msgstr "لطفا یک فرمان وارد کنید:" + +#: ../js/ui/runDialog.js:378 +#, c-format +msgid "Execution of '%s' failed:" +msgstr "اجرای «%s» شکست خورد:" + +#: ../js/ui/statusMenu.js:101 +msgid "Available" +msgstr "در دسترس" + +#: ../js/ui/statusMenu.js:106 +msgid "Busy" +msgstr "مشغول" + +#: ../js/ui/statusMenu.js:114 +msgid "My Account" +msgstr "حساب من" + +#: ../js/ui/statusMenu.js:118 +#| msgid "System Settings..." +msgid "System Settings" +msgstr "تنظیمات سیستم" + +#: ../js/ui/statusMenu.js:125 +msgid "Lock Screen" +msgstr "قفل کردن صفحه" + +#: ../js/ui/statusMenu.js:129 +msgid "Switch User" +msgstr "تعویض کاربر" + +#: ../js/ui/statusMenu.js:134 +msgid "Log Out..." +msgstr "خروج از سیستم..." + +#: ../js/ui/statusMenu.js:141 +msgid "Suspend..." +msgstr "معلق کردن..." + +#: ../js/ui/statusMenu.js:145 +msgid "Shut Down..." +msgstr "خاموش کردن..." + +#: ../js/ui/status/accessibility.js:82 +msgid "Zoom" +msgstr "بزرگنمایی" + +#: ../js/ui/status/accessibility.js:88 +msgid "Screen Reader" +msgstr "صفحه خوان" + +#: ../js/ui/status/accessibility.js:91 +msgid "Screen Keyboard" +msgstr "صفحه‌کلید مجازی" + +#: ../js/ui/status/accessibility.js:94 +msgid "Visual Alerts" +msgstr "" + +#: ../js/ui/status/accessibility.js:97 +msgid "Sticky Keys" +msgstr "" + +#: ../js/ui/status/accessibility.js:100 +msgid "Slow Keys" +msgstr "" + +#: ../js/ui/status/accessibility.js:103 +msgid "Bounce Keys" +msgstr "" + +#: ../js/ui/status/accessibility.js:106 +msgid "Mouse Keys" +msgstr "کلیدهای موشی" + +#: ../js/ui/status/accessibility.js:110 +msgid "Universal Access Settings" +msgstr "" + +#: ../js/ui/status/accessibility.js:163 +msgid "High Contrast" +msgstr "" + +#: ../js/ui/status/accessibility.js:205 +msgid "Large Text" +msgstr "متن درشت" + +#: ../js/ui/status/power.js:87 +msgid "What's using power..." +msgstr "" + +#: ../js/ui/status/power.js:90 +#| msgid "System Settings..." +msgid "Power Settings" +msgstr "تنظیمات برق" + +#: ../js/ui/status/power.js:117 +#, c-format +#| msgid "%d hour ago" +#| msgid_plural "%d hours ago" +msgid "%d hour remaining" +msgid_plural "%d hours remaining" +msgstr[0] "%Id ساعت مانده" + +#. TRANSLATORS: this is a time string, as in "%d hours %d minutes remaining" +#: ../js/ui/status/power.js:120 +#, c-format +msgid "%d %s %d %s remaining" +msgstr "%d %s %d %s مانده" + +#: ../js/ui/status/power.js:122 +msgid "hour" +msgid_plural "hours" +msgstr[0] "ساعت" + +#: ../js/ui/status/power.js:122 +#| msgid "%d minute ago" +#| msgid_plural "%d minutes ago" +msgid "minute" +msgid_plural "minutes" +msgstr[0] "%Id دقیقه‌" + +#: ../js/ui/status/power.js:125 +#, c-format +#| msgid "%d minute ago" +#| msgid_plural "%d minutes ago" +msgid "%d minute remaining" +msgid_plural "%d minutes remaining" +msgstr[0] "%Id دقیقه‌ی مانده" + +#: ../js/ui/status/power.js:244 +msgid "AC adapter" +msgstr "آداپتور برق مستقیم" + +#: ../js/ui/status/power.js:246 +msgid "Laptop battery" +msgstr "باتری لپتاپ" + +#: ../js/ui/status/power.js:248 +msgid "UPS" +msgstr "UPS" + +#: ../js/ui/status/power.js:250 +msgid "Monitor" +msgstr "صفحه نمایش" + +#: ../js/ui/status/power.js:252 +msgid "Mouse" +msgstr "موشی" + +#: ../js/ui/status/power.js:254 +msgid "Keyboard" +msgstr "صفحه‌کلید" + +#: ../js/ui/status/power.js:256 +msgid "PDA" +msgstr "دستیار دیجیتال شخصی" + +#: ../js/ui/status/power.js:258 +msgid "Cell phone" +msgstr "تلفن سلولی" + +#: ../js/ui/status/power.js:260 +msgid "Media player" +msgstr "پخش کننده‌ی رسانه" + +#: ../js/ui/status/power.js:262 +#| msgid "Enabled" +msgid "Tablet" +msgstr "لوح‌رایانه" + +#: ../js/ui/status/power.js:264 +msgid "Computer" +msgstr "رایانه" + +#: ../js/ui/status/power.js:266 +#: ../src/shell-app-system.c:1012 +msgid "Unknown" +msgstr "ناشناخته" + +#: ../js/ui/status/volume.js:41 +msgid "Volume" +msgstr "بلندی صدا" + +#: ../js/ui/status/volume.js:54 +msgid "Microphone" +msgstr "میکروفون" + +#: ../js/ui/status/volume.js:62 +#| msgid "System Settings..." +msgid "Sound Settings" +msgstr "تنظیمات صدا" + +#: ../js/ui/viewSelector.js:26 +msgid "Search your computer" +msgstr "جستجوی رایانه‌ی شما" + +#: ../js/ui/windowAttentionHandler.js:43 +#, c-format +msgid "%s has finished starting" +msgstr "راه‌اندازی %s پایان یافته است" + +#: ../js/ui/windowAttentionHandler.js:45 +#, c-format +msgid "'%s' is ready" +msgstr "«%s» آماده است" + +#: ../js/ui/workspacesView.js:244 +msgid "Can't add a new workspace because maximum workspaces limit has been reached." +msgstr "نمی‌توان میزکار جدیدی اضافه کرد زیرا به مرز بیشترین تعداد میزکار رسیده‌ایم." + +#: ../js/ui/workspacesView.js:260 +msgid "Can't remove the first workspace." +msgstr "نمی‌توان اولین میزکار را حذف کرد." + +#. translators: +#. * The number of sound outputs on a particular device +#: ../src/gvc/gvc-mixer-control.c:1094 +#, c-format +msgid "%u Output" +msgid_plural "%u Outputs" +msgstr[0] "%u خروجی" + +#. translators: +#. * The number of sound inputs on a particular device +#: ../src/gvc/gvc-mixer-control.c:1104 +#, c-format +msgid "%u Input" +msgid_plural "%u Inputs" +msgstr[0] "%u ورودی" + +#: ../src/gvc/gvc-mixer-control.c:1402 +#| msgid "System Settings..." +msgid "System Sounds" +msgstr "صداهای سیستم" + +#: ../src/shell-global.c:1163 +msgid "Less than a minute ago" +msgstr "کمتر از یک دقیقه قبل" + +#: ../src/shell-global.c:1167 +#, c-format +msgid "%d minute ago" +msgid_plural "%d minutes ago" +msgstr[0] "%Id دقیقه‌ی پیش" + +#: ../src/shell-global.c:1172 +#, c-format +msgid "%d hour ago" +msgid_plural "%d hours ago" +msgstr[0] "%Id ساعت پیش" + +#: ../src/shell-global.c:1177 +#, c-format +msgid "%d day ago" +msgid_plural "%d days ago" +msgstr[0] "%Id روز پیش" + +#: ../src/shell-global.c:1182 +#, c-format +msgid "%d week ago" +msgid_plural "%d weeks ago" +msgstr[0] "%Id هفته‌ی پیش" + +#: ../src/shell-util.c:89 +msgid "Home Folder" +msgstr "پوشه‌ی آغازه" + +#. Translators: this is the same string as the one found in +#. * nautilus +#: ../src/shell-util.c:104 +msgid "File System" +msgstr "سیستم پرونده‌ها" + +#: ../src/shell-util.c:250 +msgid "Search" +msgstr "جستجو" + +#. Translators: the first string is the name of a gvfs +#. * method, and the second string is a path. For +#. * example, "Trash: some-directory". It means that the +#. * directory called "some-directory" is in the trash. +#. +#: ../src/shell-util.c:300 +#, c-format +msgid "%1$s: %2$s" +msgstr "%1$s: %2$s" + +#~ msgid "Overview workspace view mode" +#~ msgstr "حالت بررسی اجمالی میزکار" +#~ msgid "" +#~ "The selected workspace view mode in the overview. Supported values are " +#~ "\"single\" and \"grid\"." +#~ msgstr "" +#~ "میزکار انتخاب شده در حال مشاهده اجمالی. مقادیر قابل پشتیبانی عبارتند از " +#~ "«تکی» و «شبکه‌ای»." +#~ msgid "Drag here to add favorites" +#~ msgstr "به اینجا بکشید تا به مجبوب‌ها اضافه شود" +#~ msgid "Find" +#~ msgstr "جستجو" +#~ msgid "Searching..." +#~ msgstr "درحال حستجو..." +#~ msgid "No matching results." +#~ msgstr "نتیجه‌ی منطبقی پیدا نشد." +#~ msgid "Invisible" +#~ msgstr "نامرئی" +#~ msgid "Account Information..." +#~ msgstr "اطلاعات جساب" + From d00933f044c98ea4f3019dacbad6c14e833358a4 Mon Sep 17 00:00:00 2001 From: Mahyar Moghimi Date: Fri, 3 Dec 2010 13:46:34 +0330 Subject: [PATCH 15/45] adding fa to LINGUAS --- po/LINGUAS | 1 + 1 file changed, 1 insertion(+) diff --git a/po/LINGUAS b/po/LINGUAS index f28ead6b0..c4073a65b 100644 --- a/po/LINGUAS +++ b/po/LINGUAS @@ -8,6 +8,7 @@ el en_GB es et +fa fi fr ga From c86da9afbd880ab462e43c62912e59eda45cedd8 Mon Sep 17 00:00:00 2001 From: "Dr.T.Vasudevan" Date: Fri, 3 Dec 2010 18:45:05 +0530 Subject: [PATCH 16/45] Updated Tamil translation --- po/ta.po | 544 ++++++++++++++++++++++++++++++++++++++----------------- 1 file changed, 375 insertions(+), 169 deletions(-) diff --git a/po/ta.po b/po/ta.po index cee15ea77..d865ab844 100644 --- a/po/ta.po +++ b/po/ta.po @@ -6,17 +6,17 @@ msgid "" msgstr "" "Project-Id-Version: gnome-shell master\n" -"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug." -"cgi?product=gnome-shell&component=general\n" -"POT-Creation-Date: 2010-08-04 19:41+0000\n" -"PO-Revision-Date: 2010-08-05 21:37+0530\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2010-11-30 14:13+0530\n" +"PO-Revision-Date: 2010-12-01 12:57+0530\n" "Last-Translator: Dr.T.Vasudevan \n" -"Language-Team: Tamil <>\n" +"Language-Team: Tamil \n" +"Language: ta\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -"X-Generator: Lokalize 1.0\n" +"X-Generator: Lokalize 1.1\n" #: ../data/gnome-shell.desktop.in.in.h:1 msgid "GNOME Shell" @@ -39,8 +39,8 @@ msgid "" "Allows access to internal debugging and monitoring tools using the Alt-F2 " "dialog." msgstr "" -"உள்ளமை வழி நீக்கம் மற்றும் Alt-F2 உரையாடல் மூலம் கருவிகள் கண்காணிப்பு " -"ஆகியவற்றை அணுக உதவும்." +"உள்ளமை வழி நீக்கம் மற்றும் Alt-F2 உரையாடல் மூலம் கருவிகள் கண்காணிப்பு ஆகியவற்றை அணுக " +"உதவும்." #: ../data/org.gnome.shell.gschema.xml.in.h:2 msgid "Custom format of the clock" @@ -49,8 +49,8 @@ msgstr "கடிகாரத்தின் தனிப்பயன் வட #: ../data/org.gnome.shell.gschema.xml.in.h:3 msgid "Enable internal tools useful for developers and testers from Alt-F2" msgstr "" -"உருவாக்குவோர் மற்றூம் சோதிப்போருக்கு பயன்படுமாறு Alt-F2 வழியாக உள்ளமை " -"கருவிகளை செயலாக்கு" +"உருவாக்குவோர் மற்றூம் சோதிப்போருக்கு பயன்படுமாறு Alt-F2 வழியாக உள்ளமை கருவிகளை " +"செயலாக்கு" #: ../data/org.gnome.shell.gschema.xml.in.h:4 msgid "File extension used for storing the screencast" @@ -65,8 +65,8 @@ msgid "" "GNOME Shell extensions have a uuid property; this key lists extensions which " "should not be loaded." msgstr "" -"க்னோம் ஷெல் நீட்சிகளுக்கு ஒரு யூயூஐடி பண்பு உண்டு. இந்த விசை எந்த நீட்சிகள் " -"ஏற்றப்பட வேண்டும் என பட்டியலிடுகிறது." +"க்னோம் ஷெல் நீட்சிகளுக்கு ஒரு யூயூஐடி பண்பு உண்டு. இந்த விசை எந்த நீட்சிகள் ஏற்றப்பட வேண்டும் " +"என பட்டியலிடுகிறது." #: ../data/org.gnome.shell.gschema.xml.in.h:7 msgid "History for command (Alt-F2) dialog" @@ -81,8 +81,8 @@ msgid "" "If true and format is either \"12-hour\" or \"24-hour\", display date in the " "clock, in addition to time." msgstr "" -"உண்மையெனில், அமைப்பு \"12 மணி\" அல்லது \"24 மணி\" என இருப்பின் நேரத்துடன் " -"நாளையும் காட்டு" +"உண்மையெனில், அமைப்பு \"12 மணி\" அல்லது \"24 மணி\" என இருப்பின் நேரத்துடன் நாளையும் " +"காட்டு" #: ../data/org.gnome.shell.gschema.xml.in.h:10 msgid "" @@ -101,10 +101,6 @@ msgid "List of desktop file IDs for favorite applications" msgstr "விருப்ப பயன்பாடுகளுக்கு மேல்மேசை கோப்பு அடையாளங்கள்." #: ../data/org.gnome.shell.gschema.xml.in.h:13 -msgid "Overview workspace view mode" -msgstr "பணி இட மேல்பார்வை காட்சிப் பாங்கு." - -#: ../data/org.gnome.shell.gschema.xml.in.h:14 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 " @@ -115,93 +111,76 @@ msgid "" "to an empty value, the default pipeline will be used. This is currently " "'videorate ! theoraenc ! oggmux' and records to Ogg Theora." msgstr "" -"பதிவுகளை குறியாக்க ஜிஸ்ட்ரீமர் குழாயை அமைக்கிறது. ஜிஎஸ்டி லான்ஸ் க்கு " -"பயன்படும் அதே இலக்கணத்தை பின் பற்றும். குழாய்க்கு இணைப்பில்லா பதிவுக்குழி " -"இருத்தல் வேண்டும். இதில் விடியோ பதிவாகும். சாதாரணமாக இதில் ஒரு மூல பதிவேடு " -"இருக்கும்; இதன் வெளியீடு வெளியீட்டு கோப்பாக பதிவாகும். எனினும் குழாய் தன் " -"வெளியீட்டை தானே கவனித்துக்கொள்ள இயலும். இது வெளியீட்டை ஐஸ்காஸ்ட் அல்லது " -"ஷௌட்2சென்ட் போன்றவற்றுக்கு நேரடியாக அனுப்ப இயலும். அமைப்பை அன்செட் " -"செய்தாலல்லது காலி மதிப்புக்கு அமைத்தாலும் முன்னிருப்பு குழாய் " -"பயன்படுத்தப்படும். நடப்பில் இது 'விடியோரேட்!தியோரேங்க்!ஆக்மக்ஸ்' ஆகும்; இது " -"ஆக் தியோராவுக்கு பதிவுசெய்யும்." +"பதிவுகளை குறியாக்க ஜிஸ்ட்ரீமர் குழாயை அமைக்கிறது. ஜிஎஸ்டி லான்ஸ் க்கு பயன்படும் அதே " +"இலக்கணத்தை பின் பற்றும். குழாய்க்கு இணைப்பில்லா பதிவுக்குழி இருத்தல் வேண்டும். இதில் விடியோ " +"பதிவாகும். சாதாரணமாக இதில் ஒரு மூல பதிவேடு இருக்கும்; இதன் வெளியீடு வெளியீட்டு " +"கோப்பாக பதிவாகும். எனினும் குழாய் தன் வெளியீட்டை தானே கவனித்துக்கொள்ள இயலும். இது " +"வெளியீட்டை ஐஸ்காஸ்ட் அல்லது ஷௌட்2சென்ட் போன்றவற்றுக்கு நேரடியாக அனுப்ப இயலும். அமைப்பை " +"அன்செட் செய்தாலல்லது காலி மதிப்புக்கு அமைத்தாலும் முன்னிருப்பு குழாய் பயன்படுத்தப்படும். " +"நடப்பில் இது 'விடியோரேட்!தியோரேங்க்!ஆக்மக்ஸ்' ஆகும்; இது ஆக் தியோராவுக்கு பதிவுசெய்யும்." -#: ../data/org.gnome.shell.gschema.xml.in.h:15 +#: ../data/org.gnome.shell.gschema.xml.in.h:14 msgid "Show date in clock" msgstr "தேதியை கடிகாரத்தில் காட்டுக" -#: ../data/org.gnome.shell.gschema.xml.in.h:16 +#: ../data/org.gnome.shell.gschema.xml.in.h:15 msgid "Show the week date in the calendar" msgstr "நாட்காட்டியில் வார நாளை காட்டவும்" -#: ../data/org.gnome.shell.gschema.xml.in.h:17 +#: ../data/org.gnome.shell.gschema.xml.in.h:16 msgid "Show time with seconds" msgstr "நொடிகளுடன் நேரம் காட்டுக" -#: ../data/org.gnome.shell.gschema.xml.in.h:18 +#: ../data/org.gnome.shell.gschema.xml.in.h:17 msgid "" "The applications corresponding to these identifiers will be displayed in the " "favorites area." -msgstr "" -"இந்த அடையாளங் காட்டிகளுக்கு பொருத்தமான பயன்பாடுகள் விருப்ப இடத்தில் " -"காட்டப்படும்." +msgstr "இந்த அடையாளங் காட்டிகளுக்கு பொருத்தமான பயன்பாடுகள் விருப்ப இடத்தில் காட்டப்படும்." -#: ../data/org.gnome.shell.gschema.xml.in.h:19 +#: ../data/org.gnome.shell.gschema.xml.in.h:18 msgid "" "The filename for recorded screencasts will be a unique filename based on the " "current date, and use this extension. It should be changed when recording to " "a different container format." msgstr "" -"ஸ்க்ரீன்காஸ்ட் இல் பதிவாவனக்கான கோப்புப்பெயர் தனித்தன்மை வாய்ந்தது. இது " -"நடப்பு தேதியை அடிப்படையாக கொண்டது; இந்த பின்னொட்டை பயன்படுத்தும். பதிவதை " -"வேறு கொள்கலத்தின் ஒழுங்கில் மாற்றுகையில் இதையும் மாற்ற வேண்டும்." +"ஸ்க்ரீன்காஸ்ட் இல் பதிவாவனக்கான கோப்புப்பெயர் தனித்தன்மை வாய்ந்தது. இது நடப்பு தேதியை " +"அடிப்படையாக கொண்டது; இந்த பின்னொட்டை பயன்படுத்தும். பதிவதை வேறு கொள்கலத்தின் ஒழுங்கில் " +"மாற்றுகையில் இதையும் மாற்ற வேண்டும்." -#: ../data/org.gnome.shell.gschema.xml.in.h:20 +#: ../data/org.gnome.shell.gschema.xml.in.h:19 msgid "" "The framerate of the resulting screencast recordered by GNOME Shell's " "screencast recorder in frames-per-second." msgstr "" -"க்னோம்ஷெல் இன் ஸ்க்ரீன்காஸ்ட் பதிவரில் ஸ்க்ரீன்காட் ஐ பதிகையில் வினாடிக்கு " -"சட்டங்களின் விகிதம்." +"க்னோம்ஷெல் இன் ஸ்க்ரீன்காஸ்ட் பதிவரில் ஸ்க்ரீன்காட் ஐ பதிகையில் வினாடிக்கு சட்டங்களின் விகிதம்." -#: ../data/org.gnome.shell.gschema.xml.in.h:21 +#: ../data/org.gnome.shell.gschema.xml.in.h:20 msgid "The gstreamer pipeline used to encode the screencast" msgstr "ஸ்க்ரீன்காஸ்டை குறியாக்க பயனாகும் ஜிஸ்ட்ரீமர் குழாய்." -#: ../data/org.gnome.shell.gschema.xml.in.h:22 -msgid "" -"The selected workspace view mode in the overview. Supported values are " -"\"single\" and \"grid\"." -msgstr "" -"மேல்பார்வையில் தேர்ந்தெடுத்த பணீட காட்சி பாங்கு. ஆதரவுள்ள மதிப்புகள் 'ஒன்று' " -"மற்றும் 'வலை'" - -#: ../data/org.gnome.shell.gschema.xml.in.h:23 +#: ../data/org.gnome.shell.gschema.xml.in.h:21 msgid "" "The shell normally monitors active applications in order to present the most " "used ones (e.g. in launchers). While this data will be kept private, you may " "want to disable this for privacy reasons. Please note that doing so won't " "remove already saved data." msgstr "" -"ஷெல் சாதாரணமாக செயலிலுள்ள நிரல்களை மேற்பார்வை இடுகிறது. அதனால் அடிக்கடி " -"பயனாகும் நிரல்கள் (எ-டு: துவக்கிகள்) முன் வைக்கப்படும். இந்த தரவு " -"அந்தரங்கமாக வைக்கப்பட்டாலும் நீங்கள் இதை நீக்க விரும்பலாம். அப்படிச் செய்வது " -"முன்னே சேகரித்த தரவை நீக்காஅது என் அறியவும்." +"ஷெல் சாதாரணமாக செயலிலுள்ள நிரல்களை மேற்பார்வை இடுகிறது. அதனால் அடிக்கடி பயனாகும் " +"நிரல்கள் (எ-டு: துவக்கிகள்) முன் வைக்கப்படும். இந்த தரவு அந்தரங்கமாக வைக்கப்பட்டாலும் நீங்கள் " +"இதை நீக்க விரும்பலாம். அப்படிச் செய்வது முன்னே சேகரித்த தரவை நீக்காஅது என் அறியவும்." -#: ../data/org.gnome.shell.gschema.xml.in.h:24 +#: ../data/org.gnome.shell.gschema.xml.in.h:22 msgid "" "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 "" -"வடிவமைப்பு விசை \"தனிப்பயன்\" என்று அமைக்கப்படும் போது பலக கடிகாரம் இந்த " -"விசையை " -"பயன்படுத்தும். குறிப்பிட்ட அமைப்பை பெற்றுக்கொள்ள strftime() ஆல் " -"புரிந்துகொள்ளக்கூடிய மாற்று " -"குறிப்புகளை தரவும். மேலும் அதிக விவரங்களுக்கு strftime() கையேட்டை " -"பார்க்கவும்." +"வடிவமைப்பு விசை \"தனிப்பயன்\" என்று அமைக்கப்படும் போது பலக கடிகாரம் இந்த விசையை " +"பயன்படுத்தும். குறிப்பிட்ட அமைப்பை பெற்றுக்கொள்ள strftime() ஆல் புரிந்துகொள்ளக்கூடிய " +"மாற்று குறிப்புகளை தரவும். மேலும் அதிக விவரங்களுக்கு strftime() கையேட்டை பார்க்கவும்." -#: ../data/org.gnome.shell.gschema.xml.in.h:25 +#: ../data/org.gnome.shell.gschema.xml.in.h:23 msgid "" "This key specifies the hour format used by the panel clock. Possible values " "are \"12-hour\", \"24-hour\", \"unix\" and \"custom\". If set to \"unix\", " @@ -211,21 +190,159 @@ msgid "" "the show_date and show_seconds keys are ignored." msgstr "" "இந்த விசை பலக கடிகாரம் பயன்படுத்த வேண்டிய மணி ஒழுங்கை குறிக்கிறது. தரக்கூடிய " -"மதிப்புகள் \"12-மணி\", \"24-மணி\", \"யூனிக்ஸ்\" மற்றும் \"தனிப்பயன்\". " -"\"யூனிக்ஸ்\" எனில் அது எபோக் அதாவது 1970-01-01 முதல் நடந்த காலத்தை " -"வினாடிகளில் காட்டும். \"தனிப்பயன்\" எனில் தனிப்பயன்_ஒழுங்கு இல் காட்டப்பட்ட " -"ஒழுங்கில் நேரத்தைக் காட்டும். \"யூனிக்ஸ்\" அல்லது \"தனிப்பயன்\" என " -"மைக்கும்போது தேதி_காட்டு, வினாடிகளை_காட்டு விசைகள் உதாசீனப்படுத்தப்படும் என " -"அறிக." +"மதிப்புகள் \"12-மணி\", \"24-மணி\", \"யூனிக்ஸ்\" மற்றும் \"தனிப்பயன்\". \"யூனிக்ஸ்\" " +"எனில் அது எபோக் அதாவது 1970-01-01 முதல் நடந்த காலத்தை வினாடிகளில் காட்டும். \"தனிப்பயன்" +"\" எனில் தனிப்பயன்_ஒழுங்கு இல் காட்டப்பட்ட ஒழுங்கில் நேரத்தைக் காட்டும். \"யூனிக்ஸ்\" அல்லது " +"\"தனிப்பயன்\" என மைக்கும்போது தேதி_காட்டு, வினாடிகளை_காட்டு விசைகள் " +"உதாசீனப்படுத்தப்படும் என அறிக." -#: ../data/org.gnome.shell.gschema.xml.in.h:26 +#: ../data/org.gnome.shell.gschema.xml.in.h:24 msgid "Uuids of extensions to disable" msgstr "செயல்நீக்க வேண்டிய நீட்சிகளின் யூயூஐடிக்கள்." -#: ../data/org.gnome.shell.gschema.xml.in.h:27 +#: ../data/org.gnome.shell.gschema.xml.in.h:25 msgid "Whether to collect stats about applications usage" msgstr "நிரல்களின் பயன்பாடு குறித்த புள்ளிவிவரம் சேகரிக்க வேண்டுமா" +#: ../data/org.gnome.accessibility.magnifier.gschema.xml.in.h:1 +msgid "Clip the crosshairs at the center" +msgstr "குறுக்கு இழைகளை மையத்தில் வெட்டிவிடுக" + +#: ../data/org.gnome.accessibility.magnifier.gschema.xml.in.h:2 +msgid "Color of the crosshairs" +msgstr "குறுக்கு இழைகளின் நிறம்" + +#: ../data/org.gnome.accessibility.magnifier.gschema.xml.in.h:3 +msgid "" +"Determines the length of the vertical and horizontal lines that make up the " +"crosshairs." +msgstr "குறுக்கு இழைகளை சொடுக்கியின் அடையாளத்தில் மையப்படுத்தி காட்டுகிறது/ மறைக்கிறது" + +#: ../data/org.gnome.accessibility.magnifier.gschema.xml.in.h:4 +msgid "" +"Determines the position of the magnified mouse image within the magnified " +"view and how it reacts to system mouse movement. The values are - none: no " +"mouse tracking; - centered: the mouse image is displayed at the center of " +"the zoom region (which also represents the point under the system mouse) and " +"the magnified contents are scrolled as the system mouse moves; - " +"proportional: the position of the magnified mouse in the zoom region is " +"proportionally the same as the position of the system mouse on screen; - " +"push: when the magnified mouse intersects a boundary of the zoom region, the " +"contents are scrolled into view." +msgstr "" +"பெரிதாக்கப்பட்ட காட்சியில் பெரிதாக்கப்பட்ட சொடுக்கியின் பிம்பம் எங்கு இருக்க வேண்டும், அது " +"கணினி சொடுக்கி நகர்தலுடன் எப்படி நகர வேண்டும் என நிர்ணயிக்கிறது. மதிப்புகள் - ஏதுமில்லை: " +"சொடுக்கி தடம் தொடரப்பட மாட்டாது; -மையம்: சொடுக்கி பிம்பம் பெரிதாக்கப்பட்ட இடத்தின் மையத்தில் " +"காட்டப்படும் (இது சொடுக்கியின் கீழ் காணப்படும் இடம்தான்) பெரிதாக்கப்பட்ட பிம்பம் சொடுக்கி " +"நகரும் திசையின் தானும் நகரும்; - விகிதாசாரம்: அணுகல் பரப்பில் உள்ள பெரிதாக்கபட்ட சொடுக்கியின் " +"இடம் திரையில் விகிதாசாரப்படி கணினி சொடுக்கி இருக்கும் அதே இடம்தான்; - தள்ளு: பெரிதாக்கப்பட்ட " +"சொடுக்கி அணுகல் பரப்பின் விளிம்புக்கு வருமானால் அடக்கங்கள் உருண்டு பார்வைக்கு வரும்." + +#: ../data/org.gnome.accessibility.magnifier.gschema.xml.in.h:5 +msgid "" +"Determines the transparency of the crosshairs, from fully opaque to fully " +"transparent." +msgstr "குறுக்கு இழைகளின் ஊடுருவும் தனமியை முழு மறைப்பிலிருந்து முழு ஊடுருவல் வரை நிர்ணயிக்கிறது" + +#: ../data/org.gnome.accessibility.magnifier.gschema.xml.in.h:6 +msgid "" +"Determines whether the crosshairs intersect the magnified mouse sprite, or " +"are clipped such that the ends of the horizontal and vertical lines surround " +"the mouse image." +msgstr "" +"குறுக்கு இழைகளை சொடுக்கியின் அடையாளத்தில் மையப்படுத்தி காட்டுவதா அல்லது செங்குத்து கிடை மட்ட " +"கோடுகளின் முனைகள் சொடுக்கி அடையாளத்தை சூழ்ந்து இருப்பதாக வெட்டுவதா என நிர்ணயிக்கிறது." + +#: ../data/org.gnome.accessibility.magnifier.gschema.xml.in.h:7 +msgid "Enable lens mode" +msgstr "பூத கண்ணாடி முறைமையை செயல்படுத்து" + +#: ../data/org.gnome.accessibility.magnifier.gschema.xml.in.h:8 +msgid "" +"Enables/disables display of crosshairs centered on the magnified mouse " +"sprite." +msgstr "குறுக்கு இழைகளை சொடுக்கியின் அடையாளத்தில் மையப்படுத்தி காட்டுகிறது/ மறைக்கிறது" + +#: ../data/org.gnome.accessibility.magnifier.gschema.xml.in.h:9 +msgid "" +"For centered mouse tracking, when the system pointer is at or near the edge " +"of the screen, the magnified contents continue to scroll such that the " +"screen edge moves into the magnified view." +msgstr "" +"மையப்படுத்திய சொடுக்கி தடம் தொடர்வதில், கணினியின் சுட்டி திரையின் விளிம்பில் அல்லது அதன் " +"அருகில் இர்ந்தால், பெரிதாக்கப்பட்ட உள்ளடக்கங்கள் உருண்டு திரையின் விளிம்பு பெரிதாக்கப்பட்ட " +"பார்வைக்கு வரும்." + +#: ../data/org.gnome.accessibility.magnifier.gschema.xml.in.h:10 +msgid "Length of the crosshairs" +msgstr "குறுக்கு இழைகளின் நீளம்" + +#: ../data/org.gnome.accessibility.magnifier.gschema.xml.in.h:11 +msgid "Magnification factor" +msgstr "உருபெருக்க விகிதம்" + +#: ../data/org.gnome.accessibility.magnifier.gschema.xml.in.h:12 +msgid "Mouse Tracking Mode" +msgstr "சொடுக்கி தொடர்வு பாங்கு" + +#: ../data/org.gnome.accessibility.magnifier.gschema.xml.in.h:13 +msgid "Opacity of the crosshairs" +msgstr "குறுக்கிழைகள் இன் ஒளிபுகாதன்மை" + +#: ../data/org.gnome.accessibility.magnifier.gschema.xml.in.h:14 +msgid "Screen position" +msgstr "திரை நிலை" + +#: ../data/org.gnome.accessibility.magnifier.gschema.xml.in.h:15 +msgid "Scroll magnified contents beyond the edges of the desktop" +msgstr "மேல்மேசையின் விளிம்புகளுக்கு வெளீயே இருக்கும் அடக்கத்தை உருளை மூலம் காட்டு" + +#: ../data/org.gnome.accessibility.magnifier.gschema.xml.in.h:16 +msgid "Show or hide crosshairs" +msgstr "குறுக்கிழைகள் காட்டு அல்லது மறை" + +#: ../data/org.gnome.accessibility.magnifier.gschema.xml.in.h:17 +msgid "Show or hide the magnifier" +msgstr "உருப்பெருக்கியை காட்டு அல்லது மறை" + +#: ../data/org.gnome.accessibility.magnifier.gschema.xml.in.h:18 +msgid "Show or hide the magnifier and all of its zoom regions." +msgstr "உருப்பெருக்கி மற்றும் அதன் அணுகல் வட்டாரங்களை காட்டு அல்லது மறை" + +#: ../data/org.gnome.accessibility.magnifier.gschema.xml.in.h:19 +msgid "" +"The color of the the vertical and horizontal lines that make up the " +"crosshairs." +msgstr "குறுக்கு இழைகளின் செங்குத்து , கிடைமட்ட கோடுகளின் நிறம்" + +#: ../data/org.gnome.accessibility.magnifier.gschema.xml.in.h:20 +msgid "" +"The magnified view either fills the entire screen, or occupies the top-half, " +"bottom-half, left-half, or right-half of the screen." +msgstr "" +"பெரிதாக்கப்பட்ட காட்சி முழுத்திரையயும் ஆக்ரமிக்கலாம் அல்லது மேல் பாதி, கீழ் பாதி, வலது பாதி, " +"இடது பாதி என இருக்கலாம்." + +#: ../data/org.gnome.accessibility.magnifier.gschema.xml.in.h:21 +msgid "" +"The power of the magnification. A value of 1.0 means no magnification. A " +"value of 2.0 doubles the size." +msgstr "பெரிதாக்கும் அளவு. 1.0 எனில் பெரிதாக்கம் இல்லை. மதிப்பு 2.0 எனில் இரண்டு மடங்கு." + +#: ../data/org.gnome.accessibility.magnifier.gschema.xml.in.h:22 +msgid "Thickness of the crosshairs" +msgstr "குறுக்கிழைகளின் தடிமன்" + +#: ../data/org.gnome.accessibility.magnifier.gschema.xml.in.h:23 +msgid "" +"Whether the magnified view should be centered over the location of the " +"system mouse and move with it." +msgstr "பெரிதாக்கிய காட்சியின் மையம் சொடுக்கியின் இடத்தில் இருந்து கொண்டு அதனுடன் நகர வேண்டுமா/" + +#: ../data/org.gnome.accessibility.magnifier.gschema.xml.in.h:24 +msgid "Width of the vertical and horizontal lines that make up the crosshairs." +msgstr "குறுக்கு இழைகளின் செங்குத்து , கிடைமட்ட கோடுகளின் அகலம்" + #: ../data/clock-preferences.ui.h:1 msgid "Clock Format" msgstr "கடிகார வடிவம்" @@ -254,177 +371,159 @@ msgstr "_12 மணி வடிவமைப்பு" msgid "_24 hour format" msgstr "_24 மணி வடிவமைப்பு" -#. **** Applications **** -#: ../js/ui/appDisplay.js:384 ../js/ui/dash.js:776 +#: ../js/ui/appDisplay.js:215 msgid "APPLICATIONS" msgstr "பயன்பாடுகள்" -#: ../js/ui/appDisplay.js:416 +#: ../js/ui/appDisplay.js:245 msgid "PREFERENCES" msgstr "விருப்பங்கள்" -#: ../js/ui/appDisplay.js:721 +#: ../js/ui/appDisplay.js:538 msgid "New Window" msgstr "புதிய சாளரம்" -#: ../js/ui/appDisplay.js:725 +#: ../js/ui/appDisplay.js:542 msgid "Remove from Favorites" msgstr "விருப்பத்தில் இருந்து நீக்கு" -#: ../js/ui/appDisplay.js:726 +#: ../js/ui/appDisplay.js:543 msgid "Add to Favorites" msgstr "விருப்பங்களுக்கு சேர்" -#: ../js/ui/appDisplay.js:1033 -msgid "Drag here to add favorites" -msgstr "விருப்பங்களுக்கு சேர்க்க இங்கு இழுத்துவிடு" - -#: ../js/ui/appFavorites.js:88 +#: ../js/ui/appFavorites.js:91 #, c-format msgid "%s has been added to your favorites." msgstr "%s உங்கள் விருப்பங்களில் சேர்க்கப்பட்டது" -#: ../js/ui/appFavorites.js:107 +#: ../js/ui/appFavorites.js:122 #, c-format msgid "%s has been removed from your favorites." msgstr "%s உங்கள் விருப்பங்களில் இருந்து நீக்கப்பட்டது" -#: ../js/ui/dash.js:142 -msgid "Find" -msgstr "தேடு" +#: ../js/ui/dash.js:27 +msgid "Remove" +msgstr "நீக்கு" -#: ../js/ui/dash.js:471 -msgid "Searching..." -msgstr "தேடுகிறது..." - -#: ../js/ui/dash.js:485 -msgid "No matching results." -msgstr "பொருத்தமான விடைகள் இல்லை" - -#. **** Places **** -#. Translators: This is in the sense of locations for documents, -#. network locations, etc. -#: ../js/ui/dash.js:795 ../js/ui/placeDisplay.js:550 -msgid "PLACES & DEVICES" -msgstr "PLACES & DEVICES" - -#. **** Documents **** -#: ../js/ui/dash.js:802 ../js/ui/docDisplay.js:494 +#: ../js/ui/docDisplay.js:494 msgid "RECENT ITEMS" msgstr "RECENT ITEMS" -#: ../js/ui/lookingGlass.js:471 +#: ../js/ui/lookingGlass.js:552 msgid "No extensions installed" msgstr "நீட்சிகள் ஏதும் நிறுவப்படவில்லை" -#: ../js/ui/lookingGlass.js:508 +#: ../js/ui/lookingGlass.js:589 msgid "Enabled" msgstr "செயலாக்கப்பட்டது" -#: ../js/ui/lookingGlass.js:510 +#. translators: +#. * The device has been disabled +#: ../js/ui/lookingGlass.js:591 ../src/gvc/gvc-mixer-control.c:1087 msgid "Disabled" msgstr "செயல்நீக்கப்பட்டது" -#: ../js/ui/lookingGlass.js:512 +#: ../js/ui/lookingGlass.js:593 msgid "Error" msgstr "பிழை" -#: ../js/ui/lookingGlass.js:514 +#: ../js/ui/lookingGlass.js:595 msgid "Out of date" msgstr "காலாவதியானது" -#: ../js/ui/lookingGlass.js:539 +#: ../js/ui/lookingGlass.js:620 msgid "View Source" msgstr "மூலத்தை பார்க்க" -#: ../js/ui/lookingGlass.js:545 +#: ../js/ui/lookingGlass.js:626 msgid "Web Page" msgstr "இணைய பக்கம்" -#: ../js/ui/overview.js:159 +#: ../js/ui/overview.js:112 msgid "Undo" msgstr "மறை" #. TODO - _quit() doesn't really work on apps in state STARTING yet -#: ../js/ui/panel.js:473 +#: ../js/ui/panel.js:470 #, c-format msgid "Quit %s" msgstr "%s லிருந்து வெளியேறு" -#: ../js/ui/panel.js:498 +#: ../js/ui/panel.js:495 msgid "Preferences" msgstr "விருப்பங்கள்" #. Translators: This is the time format with date used #. in 24-hour mode. -#: ../js/ui/panel.js:584 +#: ../js/ui/panel.js:581 msgid "%a %b %e, %R:%S" msgstr "%a %b %e, %R:%S" -#: ../js/ui/panel.js:585 +#: ../js/ui/panel.js:582 msgid "%a %b %e, %R" msgstr "%a %b %e, %R" #. Translators: This is the time format without date used #. in 24-hour mode. -#: ../js/ui/panel.js:589 +#: ../js/ui/panel.js:586 msgid "%a %R:%S" msgstr "%a %R:%S" -#: ../js/ui/panel.js:590 +#: ../js/ui/panel.js:587 msgid "%a %R" msgstr "%a %R" #. Translators: This is a time format with date used #. for AM/PM. -#: ../js/ui/panel.js:597 +#: ../js/ui/panel.js:594 msgid "%a %b %e, %l:%M:%S %p" msgstr "%a %b %e, %l:%M:%S %p" -#: ../js/ui/panel.js:598 +#: ../js/ui/panel.js:595 msgid "%a %b %e, %l:%M %p" msgstr "%a %b %e, %l:%M %p" #. Translators: This is a time format without date used #. for AM/PM. -#: ../js/ui/panel.js:602 +#: ../js/ui/panel.js:599 msgid "%a %l:%M:%S %p" msgstr "%a %l:%M:%S %p" -#: ../js/ui/panel.js:603 +#: ../js/ui/panel.js:600 msgid "%a %l:%M %p" msgstr "%a %l:%M %p" #. Button on the left side of the panel. #. Translators: If there is no suitable word for "Activities" in your language, you can use the word for "Overview". -#: ../js/ui/panel.js:741 +#: ../js/ui/panel.js:745 msgid "Activities" msgstr "செயல்பாடுகள்" -#: ../js/ui/placeDisplay.js:107 +#: ../js/ui/placeDisplay.js:111 #, c-format msgid "Failed to unmount '%s'" msgstr "'%s' ஐ இறக்க முடியவில்லை" -#: ../js/ui/placeDisplay.js:110 +#: ../js/ui/placeDisplay.js:114 msgid "Retry" msgstr "மறு முயற்சி" -#: ../js/ui/placeDisplay.js:155 +#: ../js/ui/placeDisplay.js:159 msgid "Connect to..." msgstr "இணைக்கவும்..." -#. Translators: the "ON" and "OFF" strings are used in the -#. toggle switches in the status area menus, and must be SHORT. -#. If you don't have suitable short words, consider initials, -#. "0"/"1", "⚪"/"⚫", etc. -#: ../js/ui/popupMenu.js:30 ../js/ui/popupMenu.js:40 -msgid "ON" -msgstr "இயக்கத்தில்" +#: ../js/ui/placeDisplay.js:558 +msgid "PLACES & DEVICES" +msgstr "PLACES & DEVICES" -#: ../js/ui/popupMenu.js:31 ../js/ui/popupMenu.js:45 -msgid "OFF" -msgstr "செயல் நீக்கு" +#. Translators: this MUST be either "toggle-switch-us" +#. (for toggle switches containing the English words +#. "ON" and "OFF") or "toggle-switch-intl" (for toggle +#. switches containing "◯" and "|"). Other values will +#. simply result in invisible toggle switches. +#: ../js/ui/popupMenu.js:33 +msgid "toggle-switch-us" +msgstr "முறைமை-மாற்றி-யூஎஸ்" #: ../js/ui/runDialog.js:233 msgid "Please enter a command:" @@ -435,106 +534,177 @@ msgstr "தயை செய்து ஒரு கட்டளையை உள msgid "Execution of '%s' failed:" msgstr "'%s' ஐ நிறைவேற்றுதல் தோல்வி அடைந்தது:" -#: ../js/ui/statusMenu.js:91 +#: ../js/ui/statusMenu.js:101 msgid "Available" msgstr "இருப்பவை" -#: ../js/ui/statusMenu.js:95 +#: ../js/ui/statusMenu.js:106 msgid "Busy" msgstr "வேலையில்" -#: ../js/ui/statusMenu.js:99 -msgid "Invisible" -msgstr "பார்க்கமுடியாதது" +#: ../js/ui/statusMenu.js:114 +msgid "My Account" +msgstr "என் கணக்கு" -#: ../js/ui/statusMenu.js:106 -msgid "Account Information..." -msgstr "கணக்கு தகவல்..." +#: ../js/ui/statusMenu.js:118 +msgid "System Settings" +msgstr "கணினி அமைப்புகள்" -#: ../js/ui/statusMenu.js:110 -msgid "System Preferences..." -msgstr "கணினி முன்னுரிமைகள்..." - -#: ../js/ui/statusMenu.js:117 +#: ../js/ui/statusMenu.js:125 msgid "Lock Screen" msgstr "திரையைப் பூட்டுக." -#: ../js/ui/statusMenu.js:121 +#: ../js/ui/statusMenu.js:129 msgid "Switch User" msgstr "பயனர் மாற்று" -#: ../js/ui/statusMenu.js:126 +#: ../js/ui/statusMenu.js:134 msgid "Log Out..." msgstr "வெளியேறு..." -#: ../js/ui/statusMenu.js:130 +#: ../js/ui/statusMenu.js:141 +msgid "Suspend..." +msgstr "இடைநிறுத்தம்..." + +#: ../js/ui/statusMenu.js:145 msgid "Shut Down..." msgstr "நிறுத்தவும்... " -#: ../js/ui/windowAttentionHandler.js:45 +#: ../js/ui/status/accessibility.js:88 +msgid "Screen Reader" +msgstr "திரைபடிப்பான்" + +#: ../js/ui/status/accessibility.js:91 +msgid "Screen Keyboard" +msgstr "திரை விசைப்பலகை" + +#: ../js/ui/status/accessibility.js:94 +msgid "Visual Alerts" +msgstr "காட்சி எச்சரிக்கைகள்" + +#: ../js/ui/status/accessibility.js:97 +msgid "Sticky Keys" +msgstr "ஒட்டு விசைகள்" + +#: ../js/ui/status/accessibility.js:100 +msgid "Slow Keys" +msgstr "மெது விசைகள்" + +#: ../js/ui/status/accessibility.js:103 +msgid "Bounce Keys" +msgstr "எதிரொலிப்பு விசைகள்" + +#: ../js/ui/status/accessibility.js:106 +msgid "Mouse Keys" +msgstr "சொடுக்கி விசைகள்" + +#: ../js/ui/status/accessibility.js:110 +msgid "Universal Access Settings" +msgstr "உலகளாவிய அணுகல் அமைப்பு" + +#: ../js/ui/status/accessibility.js:163 +msgid "High Contrast" +msgstr "அதிக முறண்" + +#: ../js/ui/status/accessibility.js:205 +msgid "Large Text" +msgstr "பெரிய உரை" + +#: ../js/ui/status/accessibility.js:224 +msgid "Zoom" +msgstr "பெரிதாக்கு" + +#: ../js/ui/viewSelector.js:26 +msgid "Search your computer" +msgstr "உங்கள் கணினியில் தேடுக" + +#: ../js/ui/windowAttentionHandler.js:43 #, c-format msgid "%s has finished starting" msgstr "%s இன் துவக்கம் முடிந்துவிட்டது" -#: ../js/ui/windowAttentionHandler.js:47 +#: ../js/ui/windowAttentionHandler.js:45 #, c-format msgid "'%s' is ready" msgstr "'%s' தயாராக உள்ளது" -#: ../js/ui/workspacesView.js:230 -msgid "" -"Can't add a new workspace because maximum workspaces limit has been reached." -msgstr "" -"பணிக்களத்தை சேர்க்க முடியாது; ஏனெனில் பணிக்களங்களின் உச்ச வரம்பு " -"எட்டப்பட்டுவிட்டது." +#: ../js/ui/workspacesView.js:244 +msgid "Can't add a new workspace because maximum workspaces limit has been reached." +msgstr "பணிக்களத்தை சேர்க்க முடியாது; ஏனெனில் பணிக்களங்களின் உச்ச வரம்பு எட்டப்பட்டுவிட்டது." -#: ../js/ui/workspacesView.js:247 +#: ../js/ui/workspacesView.js:260 msgid "Can't remove the first workspace." msgstr "முதல் பணிக்களத்தை நீக்க முடியாது" -#: ../src/shell-global.c:1105 +#. translators: +#. * The number of sound outputs on a particular device +#: ../src/gvc/gvc-mixer-control.c:1094 +#, c-format +msgid "%u Output" +msgid_plural "%u Outputs" +msgstr[0] "%u வெளிப்பாடு" +msgstr[1] "%u வெளிப்பாடுகள்" + +#. translators: +#. * The number of sound inputs on a particular device +#: ../src/gvc/gvc-mixer-control.c:1104 +#, c-format +msgid "%u Input" +msgid_plural "%u Inputs" +msgstr[0] "%u உள்ளீடு" +msgstr[1] "%u உள்ளீடுகள்" + +#: ../src/gvc/gvc-mixer-control.c:1402 +msgid "System Sounds" +msgstr "கணினி ஒலிகள்" + +#: ../src/shell-app-system.c:1012 +msgid "Unknown" +msgstr "தெரியாத" + +#: ../src/shell-global.c:1163 msgid "Less than a minute ago" msgstr "ஒரு நிமிடத்திற்கும் குறைவாக" -#: ../src/shell-global.c:1109 +#: ../src/shell-global.c:1167 #, c-format msgid "%d minute ago" msgid_plural "%d minutes ago" msgstr[0] "%d minutes ago" msgstr[1] "%d நிமிடங்களுக்கு முன்" -#: ../src/shell-global.c:1114 +#: ../src/shell-global.c:1172 #, c-format msgid "%d hour ago" msgid_plural "%d hours ago" msgstr[0] "%d மணிநேரத்துக்கு முன்" msgstr[1] "%d மணிகள் முன்" -#: ../src/shell-global.c:1119 +#: ../src/shell-global.c:1177 #, c-format msgid "%d day ago" msgid_plural "%d days ago" msgstr[0] "%d நாளைக்கு முன்" msgstr[1] "%d நாட்களுக்கு முன்" -#: ../src/shell-global.c:1124 +#: ../src/shell-global.c:1182 #, c-format msgid "%d week ago" msgid_plural "%d weeks ago" msgstr[0] "%d வாரம் முன்" msgstr[1] "%d வாரங்கள் முன்" -#: ../src/shell-uri-util.c:89 +#: ../src/shell-util.c:89 msgid "Home Folder" msgstr "இல்ல அடைவு" #. Translators: this is the same string as the one found in #. * nautilus -#: ../src/shell-uri-util.c:104 +#: ../src/shell-util.c:104 msgid "File System" msgstr "கோப்பு அமைப்பு" -#: ../src/shell-uri-util.c:250 +#: ../src/shell-util.c:250 msgid "Search" msgstr "தேடு" @@ -543,8 +713,44 @@ msgstr "தேடு" #. * example, "Trash: some-directory". It means that the #. * directory called "some-directory" is in the trash. #. -#: ../src/shell-uri-util.c:300 +#: ../src/shell-util.c:300 #, c-format msgid "%1$s: %2$s" msgstr "%1$s: %2$s" +#~ msgid "Overview workspace view mode" +#~ msgstr "பணி இட மேல்பார்வை காட்சிப் பாங்கு." + +#~ msgid "" +#~ "The selected workspace view mode in the overview. Supported values are " +#~ "\"single\" and \"grid\"." +#~ msgstr "" +#~ "மேல்பார்வையில் தேர்ந்தெடுத்த பணீட காட்சி பாங்கு. ஆதரவுள்ள மதிப்புகள் 'ஒன்று' மற்றும் " +#~ "'வலை'" + +#~ msgid "Drag here to add favorites" +#~ msgstr "விருப்பங்களுக்கு சேர்க்க இங்கு இழுத்துவிடு" + +#~ msgid "Find" +#~ msgstr "தேடு" + +#~ msgid "Searching..." +#~ msgstr "தேடுகிறது..." + +#~ msgid "No matching results." +#~ msgstr "பொருத்தமான விடைகள் இல்லை" + +#~ msgid "ON" +#~ msgstr "இயக்கத்தில்" + +#~ msgid "OFF" +#~ msgstr "செயல் நீக்கு" + +#~ msgid "Invisible" +#~ msgstr "பார்க்கமுடியாதது" + +#~ msgid "Account Information..." +#~ msgstr "கணக்கு தகவல்..." + +#~ msgid "System Preferences..." +#~ msgstr "கணினி முன்னுரிமைகள்..." From b40cc2c29447d452949a36de4bee1cedb85ac4b6 Mon Sep 17 00:00:00 2001 From: Bastien Nocera Date: Thu, 2 Dec 2010 19:19:22 +0000 Subject: [PATCH 17/45] statusMenu: Force the overview mode of the settings When launching gnome-control-center, request it to show the overview rather than just presenting the current window. https://bugzilla.gnome.org/show_bug.cgi?id=636317 --- js/ui/statusMenu.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/js/ui/statusMenu.js b/js/ui/statusMenu.js index 14d45d02f..e2d13c68d 100644 --- a/js/ui/statusMenu.js +++ b/js/ui/statusMenu.js @@ -158,7 +158,7 @@ StatusMenuButton.prototype = { _onPreferencesActivate: function() { Main.overview.hide(); - this._spawn(['gnome-control-center']); + this._spawn(['gnome-control-center', '-o']); }, _onLockScreenActivate: function() { From 46ba718ab23c2ccb75dca5a6a6c7834c54430b12 Mon Sep 17 00:00:00 2001 From: "Owen W. Taylor" Date: Tue, 30 Nov 2010 13:11:11 -0500 Subject: [PATCH 18/45] LookingGlass: Use GSettings for monospace-font-name Convert code to look up and watch the configured monospace font to use GSettings instead of GConf. https://bugzilla.gnome.org/show_bug.cgi?id=636155 --- js/ui/lookingGlass.js | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) diff --git a/js/ui/lookingGlass.js b/js/ui/lookingGlass.js index 8daa9ff1a..984255591 100644 --- a/js/ui/lookingGlass.js +++ b/js/ui/lookingGlass.js @@ -664,10 +664,10 @@ LookingGlass.prototype = { vertical: true, visible: false }); - let gconf = GConf.Client.get_default(); - gconf.add_dir('/desktop/gnome/interface', GConf.ClientPreloadType.PRELOAD_NONE); - gconf.notify_add('/desktop/gnome/interface/monospace_font_name', - Lang.bind(this, this._updateFont)); + + this._interfaceSettings = new Gio.Settings({ schema: 'org.gnome.desktop.interface' }); + this._interfaceSettings.connect('changed::monospace-font-name', + Lang.bind(this, this._updateFont)); this._updateFont(); Main.uiGroup.add_actor(this.actor); @@ -778,8 +778,7 @@ LookingGlass.prototype = { }, _updateFont: function() { - let gconf = GConf.Client.get_default(); - let fontName = gconf.get_string('/desktop/gnome/interface/monospace_font_name'); + let fontName = this._interfaceSettings.get_string('monospace-font-name'); // This is mishandled by the scanner - should by Pango.FontDescription_from_string(fontName); // https://bugzilla.gnome.org/show_bug.cgi?id=595889 let fontDesc = Pango.font_description_from_string(fontName); From 1a466cfce4ea1130e5ea2d10ecaafaf9db686566 Mon Sep 17 00:00:00 2001 From: "Owen W. Taylor" Date: Fri, 3 Dec 2010 11:11:16 -0500 Subject: [PATCH 19/45] gnome-shell.modules: add libcanberra as a dependency of Mutter libcanberra is an (optional) dependency of Mutter; since we have it in the moduleset we need to mark the dependency so things get built in the right order. --- tools/build/gnome-shell.modules | 1 + 1 file changed, 1 insertion(+) diff --git a/tools/build/gnome-shell.modules b/tools/build/gnome-shell.modules index 4438f0060..109cc6ac2 100644 --- a/tools/build/gnome-shell.modules +++ b/tools/build/gnome-shell.modules @@ -150,6 +150,7 @@ + From 1efb0213c5b746ac3286fc528999815d5479cd3c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Florian=20M=C3=BCllner?= Date: Fri, 12 Nov 2010 16:22:05 +0100 Subject: [PATCH 20/45] window-manager: Swap workspace order for RTL locales Workspaces should be aligned from right to left in RTL locales, so take the text direction into account when switching workspaces. https://bugzilla.gnome.org/show_bug.cgi?id=634691 --- js/ui/windowManager.js | 38 +++++++++++++++++++++------------ js/ui/workspaceSwitcherPopup.js | 6 ++++++ 2 files changed, 30 insertions(+), 14 deletions(-) diff --git a/js/ui/windowManager.js b/js/ui/windowManager.js index 0418912db..5bd14e499 100644 --- a/js/ui/windowManager.js +++ b/js/ui/windowManager.js @@ -543,24 +543,34 @@ WindowManager.prototype = { }, actionMoveWorkspaceLeft: function() { + let rtl = (St.Widget.get_default_direction() == St.TextDirection.RTL); let activeWorkspaceIndex = global.screen.get_active_workspace_index(); - if (activeWorkspaceIndex > 0) { - global.screen.get_workspace_by_index(activeWorkspaceIndex - 1).activate(global.get_current_time()); - if (!Main.overview.visible) - this._workspaceSwitcherPopup.display(WorkspaceSwitcherPopup.LEFT, activeWorkspaceIndex - 1); - } else if (!Main.overview.visible) { - this._workspaceSwitcherPopup.display(WorkspaceSwitcherPopup.LEFT, activeWorkspaceIndex); - } + let indexToActivate = activeWorkspaceIndex; + if (rtl && activeWorkspaceIndex < global.screen.n_workspaces - 1) + indexToActivate++; + else if (!rtl && activeWorkspaceIndex > 0) + indexToActivate--; + + if (indexToActivate != activeWorkspaceIndex) + global.screen.get_workspace_by_index(indexToActivate).activate(global.get_current_time()); + + if (!Main.overview.visible) + this._workspaceSwitcherPopup.display(WorkspaceSwitcherPopup.LEFT, indexToActivate); }, actionMoveWorkspaceRight: function() { + let rtl = (St.Widget.get_default_direction() == St.TextDirection.RTL); let activeWorkspaceIndex = global.screen.get_active_workspace_index(); - if (activeWorkspaceIndex < global.screen.n_workspaces - 1) { - global.screen.get_workspace_by_index(activeWorkspaceIndex + 1).activate(global.get_current_time()); - if (!Main.overview.visible) - this._workspaceSwitcherPopup.display(WorkspaceSwitcherPopup.RIGHT, activeWorkspaceIndex + 1); - } else if (!Main.overview.visible) { - this._workspaceSwitcherPopup.display(WorkspaceSwitcherPopup.RIGHT, activeWorkspaceIndex); - } + let indexToActivate = activeWorkspaceIndex; + if (rtl && activeWorkspaceIndex > 0) + indexToActivate--; + else if (!rtl && activeWorkspaceIndex < global.screen.n_workspaces - 1) + indexToActivate++; + + if (indexToActivate != activeWorkspaceIndex) + global.screen.get_workspace_by_index(indexToActivate).activate(global.get_current_time()); + + if (!Main.overview.visible) + this._workspaceSwitcherPopup.display(WorkspaceSwitcherPopup.RIGHT, indexToActivate); } }; diff --git a/js/ui/workspaceSwitcherPopup.js b/js/ui/workspaceSwitcherPopup.js index b474377c8..afa947790 100644 --- a/js/ui/workspaceSwitcherPopup.js +++ b/js/ui/workspaceSwitcherPopup.js @@ -89,6 +89,7 @@ WorkspaceSwitcherPopup.prototype = { let children = this._list.get_children(); let childBox = new Clutter.ActorBox(); + let rtl = (St.Widget.get_default_direction() == St.TextDirection.RTL); let x = box.x1; let prevChildBoxX2 = box.x1 - this._itemSpacing; for (let i = 0; i < children.length; i++) { @@ -98,6 +99,11 @@ WorkspaceSwitcherPopup.prototype = { childBox.y2 = box.y1 + this._childHeight; x += this._childWidth + this._itemSpacing; prevChildBoxX2 = childBox.x2; + if (rtl) { + let ltrChildBoxX1 = childBox.x1; + childBox.x1 = box.x2 - (childBox.x2 - box.x1); + childBox.x2 = box.x2 - (ltrChildBoxX1 - box.x1); + } children[i].allocate(childBox, flags); } }, From c5c66ceb986ac0e70f0db042df552da82eece01a Mon Sep 17 00:00:00 2001 From: "Owen W. Taylor" Date: Sat, 30 Oct 2010 16:31:30 -0400 Subject: [PATCH 21/45] Refactor Magnifier.ZoomRegion to avoid permanent Clutter.Clone This basic point of this change is to avoid always creating a hidden Clutter.Clone actor for the default present-but-not-active zoom region. The position of the viewport and region of interest are now stored in member variables, and the actors are only created and updated when the region is active. Other significant changes: * Unused public functions are removed or made private * The mouse tracking position is immediately updated when options like the zoom are changed, not just on the next mouse motion. * ZoomRegion.setROI() now updates the zoom, not just the position; a FIXME is added to the D-Bus interface for a place where the D-Bus interface contains duplicate possibly conflicting information * Lens-mode is now only effectively off when the magnifier is fullscreen, instead of actually modifying the member variable; this makes things work properly when changing out of full-screen mode. * When the clamping to screen edges is turned on, we now immediately clamp. * The handling of setting the position to fullscreen as compared to just setting the viewport to fullscreen is untangled. https://bugzilla.gnome.org/show_bug.cgi?id=633582 --- js/ui/magnifier.js | 678 ++++++++++++++++++++--------------------- js/ui/magnifierDBus.js | 5 + 2 files changed, 339 insertions(+), 344 deletions(-) diff --git a/js/ui/magnifier.js b/js/ui/magnifier.js index ac53a299d..86a3f294b 100644 --- a/js/ui/magnifier.js +++ b/js/ui/magnifier.js @@ -10,6 +10,7 @@ const Signals = imports.signals; const Main = imports.ui.main; const MagnifierDBus = imports.ui.magnifierDBus; +const Params = imports.misc.params; // Keep enums in sync with GSettings schemas const MouseTrackingMode = { @@ -212,9 +213,14 @@ Magnifier.prototype = { */ createZoomRegion: function(xMagFactor, yMagFactor, roi, viewPort) { let zoomRegion = new ZoomRegion(this, this._cursorRoot); - zoomRegion.setMagFactor(xMagFactor, yMagFactor); zoomRegion.setViewPort(viewPort); - zoomRegion.setROI(roi); + + // We ignore the redundant width/height on the ROI + let fixedROI = new Object(roi); + fixedROI.width = viewPort.width / xMagFactor; + fixedROI.height = viewPort.height / yMagFactor; + zoomRegion.setROI(fixedROI); + zoomRegion.addCrosshairs(this._crossHairs); return zoomRegion; }, @@ -247,22 +253,9 @@ Magnifier.prototype = { * Remove all the zoom regions from this Magnfier's ZoomRegion list. */ clearAllZoomRegions: function() { - // First ZoomRegion is special since its magnified mouse and crosshairs - // are the original -- all the others are Clutter.Clone's. Deal with - // all but first zoom region. - for (let i = 1; i < this._zoomRegions.length; i++) { + for (let i = 0; i < this._zoomRegions.length; i++) this._zoomRegions[i].setActive(false); - this._zoomRegions[i].removeFromStage(); - } - this._zoomRegions[0].setActive(false); - // Detach the (original) magnified mouse and cross hair for later reuse - // before removing ZoomRegion from the stage. - this._cursorRoot.get_parent().remove_actor(this._cursorRoot); - if (this._crossHairs) - this._crossHairs.removeFromParent(); - - this._zoomRegions[0].removeFromStage(); this._zoomRegions.length = 0; this.stopTrackingMouse(); this.showSystemCursor(); @@ -567,44 +560,35 @@ Magnifier.prototype = { }; Signals.addSignalMethods(Magnifier.prototype); -function ZoomRegion(magnifier, mouseRoot) { - this._init(magnifier, mouseRoot); +function ZoomRegion(magnifier, mouseSourceActor) { + this._init(magnifier, mouseSourceActor); } ZoomRegion.prototype = { - _init: function(magnifier, mouseRoot) { + _init: function(magnifier, mouseSourceActor) { this._magnifier = magnifier; - // The root actor for the zoom region - this._magView = new St.Bin({ style_class: 'magnifier-zoom-region', x_fill: true, y_fill: true }); - global.stage.add_actor(this._magView); - this._magView.hide(); + this._mouseTrackingMode = MouseTrackingMode.NONE; + this._clampScrollingAtEdges = false; + this._lensMode = false; + this._screenPosition = ScreenPosition.FULL_SCREEN; - // Append a Clutter.Group to clip the contents of the magnified view. - this._mainGroup = new Clutter.Group({ clip_to_allocation: true }); - this._magView.set_child(this._mainGroup); - - // Add a background for when the magnified uiGroup is scrolled - // out of view (don't want to see desktop showing through). - let background = new Clutter.Rectangle({ color: Main.DEFAULT_BACKGROUND_COLOR }); - this._mainGroup.add_actor(background); - - // Clone the group that contains all of UI on the screen. This is the - // chrome, the windows, etc. - this._uiGroupClone = new Clutter.Clone({ source: Main.uiGroup }); - this._mainGroup.add_actor(this._uiGroupClone); - Main.uiGroup.set_size(global.screen_width, global.screen_height); - background.set_size(global.screen_width, global.screen_height); - this._uiGroupClone.set_size(global.screen_width, global.screen_height); - - // Add either the given mouseRoot to the ZoomRegion, or a clone of - // it. - if (mouseRoot.get_parent() != null) - this._mouseRoot = new Clutter.Clone({ source: mouseRoot }); - else - this._mouseRoot = mouseRoot; - this._mainGroup.add_actor(this._mouseRoot); + this._magView = null; + this._uiGroupClone = null; + this._mouseSourceActor = mouseSourceActor; + this._mouseActor = null; this._crossHairs = null; + this._crossHairsActor = null; + + this._viewPortX = 0; + this._viewPortY = 0; + this._viewPortWidth = global.screen_width; + this._viewPortWidth = global.screen_height; + this._xCenter = this._viewPortWidth / 2; + this._yCenter = this._viewPortHeight / 2; + this._xMagFactor = 1; + this._yMagFactor = 1; + this._followingCursor = false; }, /** @@ -612,14 +596,16 @@ ZoomRegion.prototype = { * @activate: Boolean to show/hide the ZoomRegion. */ setActive: function(activate) { - if (activate) { - this._magView.show(); - if (this.isMouseOverRegion()) + if (activate && !this.isActive()) { + this._createActors(); + if (this._isMouseOverRegion()) this._magnifier.hideSystemCursor(); - this._updateMousePosition(false /* mouse didn't move */); + this._updateMagViewGeometry(); + this._updateCloneGeometry(); + this._updateMousePosition(); + } else if (!activate && this.isActive()) { + this._destroyActors(); } - else - this._magView.hide(); }, /** @@ -627,18 +613,7 @@ ZoomRegion.prototype = { * @return Whether this ZoomRegion is active (boolean). */ isActive: function() { - return this._magView.visible; - }, - - /** - * removeFromStage: - * Remove the magnified view from the stage. - */ - removeFromStage: function() { - global.stage.remove_actor(this._magView); - this._mouseRoot = null; - this._uiGroupClone = null; - this._magView = null; + return this._magView != null; }, /** @@ -650,19 +625,9 @@ ZoomRegion.prototype = { * of the magnified view. */ setMagFactor: function(xMagFactor, yMagFactor) { - if (xMagFactor > 0 && yMagFactor > 0) { - // Changing the mag factor moves the pixels along the axes of - // magnification. Set the view back to the point that was at the centre - // of the region of interest. - let [x, y, width, height] = this.getROI(); - let xCentre = x + width / 2; - let yCentre = y + height / 2; - this._uiGroupClone.set_scale(xMagFactor, yMagFactor); - this._mouseRoot.set_scale(xMagFactor, yMagFactor); - this._calcRightBottomStops(); - this._scrollToPosition(xCentre, yCentre); - this._updateMousePosition(false /* mouse didn't move */); - } + this._changeROI({ xMagFactor: xMagFactor, + yMagFactor: yMagFactor, + redoCursorTracking: this._followingCursor }); }, /** @@ -673,7 +638,7 @@ ZoomRegion.prototype = { * in size, and so on. */ getMagFactor: function() { - return this._uiGroupClone.get_scale(); + return [this._xMagFactor, this._yMagFactor]; }, /** @@ -696,29 +661,12 @@ ZoomRegion.prototype = { /** * setViewPort * Sets the position and size of the ZoomRegion on screen. - * @viewPort: Object defining the position and size of the view port. It - * has the form { x, y, width, height }. The values are in + * @viewPort: Object defining the position and size of the view port. + * It has members x, y, width, height. The values are in * stage coordinate space. */ setViewPort: function(viewPort) { - let [xRoi, yRoi, wRoi, hRoi] = this.getROI(); - - // Remove border if the view port is the entire screen. Otherwise, - // ensure that the border is there. - if (viewPort.x == 0 && viewPort.y == 0 && viewPort.width == global.screen_width && viewPort.height == global.screen_height) - this._magView.add_style_class_name('full-screen'); - else - this._magView.remove_style_class_name('full-screen'); - - this.setSize(viewPort.width, viewPort.height); - this.setPosition(viewPort.x, viewPort.y); - if (this._crossHairs) - this._crossHairs.reCenter(); - - this.scrollContentsTo(xRoi + wRoi / 2, yRoi + hRoi / 2); - if (this.isMouseOverRegion()) - this._magnifier.hideSystemCursor(); - + this._setViewPort(viewPort); this._screenPosition = ScreenPosition.NONE; }, @@ -726,88 +674,18 @@ ZoomRegion.prototype = { * setROI * Sets the "region of interest" that the ZoomRegion is magnifying. * @roi: Object that defines the region of the screen to magnify. It - * has the form { x, y, width, height }. The values are in + * has members x, y, width, height. The values are in * screen (unmagnified) coordinate space. */ setROI: function(roi) { - let xRoiCenter = roi.x + roi.width / 2; - let yRoiCenter = roi.y + roi.height / 2; - this.scrollContentsTo(xRoiCenter, yRoiCenter); - }, + if (roi.width <= 0 || roi.height <= 0) + return; - /** - * setSize: - * @width: The width to set the magnified view to. - * @height: The height to set the magnified view to. - */ - setSize: function(width, height) { - this._magView.set_size(width, height); - this._calcRightBottomStops(); - }, - - /** - * getSize: - * @return an array, [width, height], that specifies the size of the - * magnified view. - */ - getSize: function() { - return this._magView.get_size(); - }, - - /** - * setPosition: - * Position the magnified view at the given coordinates. - * @x: The x-coord of the new position. - * @y: The y-coord of the new position. - */ - setPosition: function(x, y) { - let [width, height] = this._magView.get_size(); - if (this._clampScrollingAtEdges) { - // Restrict positioning so view doesn't go beyond any edge of the - // screen. - if (x < 0) - x = 0; - if (x + width > global.screen_width) - x = global.screen_width - width; - if (y < 0) - y = 0; - if (y + height > global.screen_height) - y = global.screen_height - height; - } - this._magView.set_position(x, y); - }, - - /** - * getPosition: - * @return an array, [x, y], that gives the position of the - * magnified view on screen. - */ - getPosition: function() { - return this._magView.get_position(); - }, - - /** - * getCenter: - * @return an array, [x, y], that is half the width and height of the - * magnified view (the center of the magnified view). - */ - getCenter: function() { - let [width, height] = this._magView.get_size(); - return [width / 2, height / 2]; - }, - - /** - * isFullScreenMode: - * Does the magnified view occupy the whole screen? - */ - isFullScreenMode: function() { - let [x, y] = this._magView.get_position(); - if (x != 0 || y != 0) - return false; - [width, height] = this._magView.get_size(); - if (width != global.screen_width || height != global.screen_height) - return false; - return true; + this._followingCursor = false; + this._changeROI({ xMagFactor: this._viewPortWidth / roi.width, + yMagFactor: this._viewPortHeight / roi.height, + xCenter: roi.x + roi.width / 2, + yCenter: roi.y + roi.height / 2 }); }, /** @@ -819,24 +697,23 @@ ZoomRegion.prototype = { * rectangle of what is shown in the magnified view. */ getROI: function() { - let [xMagnified, yMagnified] = this._uiGroupClone.get_position(); - let [xMagFactor, yMagFactor] = this.getMagFactor(); - let [width, height] = this.getSize(); - let x = (0 - xMagnified) / xMagFactor; - let y = (0 - yMagnified) / yMagFactor; - return [x, y, width / xMagFactor, height / yMagFactor]; + let roiWidth = this._viewPortWidth / this._xMagFactor; + let roiHeight = this._viewPortHeight / this._yMagFactor; + + return [this._xCenter - roiWidth / 2, + this._yCenter - roiHeight / 2, + roiWidth, roiHeight]; }, /** * setLensMode: - * Turn lens mode on/off. In full screen mode, lens mode is alway off since + * Turn lens mode on/off. In full screen mode, lens mode does nothing since * a lens the size of the screen is pointless. * @lensMode: A boolean to set the sense of lens mode. */ setLensMode: function(lensMode) { - let fullScreen = this.isFullScreenMode(); - this._lensMode = (lensMode && !fullScreen); - if (!this._lensMode && !fullScreen) + this._lensMode = lensMode; + if (!this._lensMode) this.setScreenPosition (this._screenPosition); }, @@ -857,6 +734,8 @@ ZoomRegion.prototype = { */ setClampScrollingAtEdges: function(clamp) { this._clampScrollingAtEdges = clamp; + if (clamp) + this._changeROI(); }, /** @@ -869,7 +748,7 @@ ZoomRegion.prototype = { viewPort.y = 0; viewPort.width = global.screen_width; viewPort.height = global.screen_height/2; - this.setViewPort(viewPort); + this._setViewPort(viewPort); this._screenPosition = ScreenPosition.TOP_HALF; }, @@ -883,7 +762,7 @@ ZoomRegion.prototype = { viewPort.y = global.screen_height/2; viewPort.width = global.screen_width; viewPort.height = global.screen_height/2; - this.setViewPort(viewPort); + this._setViewPort(viewPort); this._screenPosition = ScreenPosition.BOTTOM_HALF; }, @@ -897,7 +776,7 @@ ZoomRegion.prototype = { viewPort.y = 0; viewPort.width = global.screen_width/2; viewPort.height = global.screen_height; - this.setViewPort(viewPort); + this._setViewPort(viewPort); this._screenPosition = ScreenPosition.LEFT_HALF; }, @@ -911,62 +790,24 @@ ZoomRegion.prototype = { viewPort.y = 0; viewPort.width = global.screen_width/2; viewPort.height = global.screen_height; - this.setViewPort(viewPort); + this._setViewPort(viewPort); this._screenPosition = ScreenPosition.RIGHT_HALF; }, - /** - * getScreenPosition: - * Tell the outside world what the current mode is -- magnifiying the - * top half, bottom half, etc. - * @return: the current mode. - */ - getScreenPosition: function() { - return this._screenPosition; - }, - - /** - * scrollToMousePos: - * Set the region of interest based on the position of the system pointer. - * @return: Whether the system mouse pointer is over the magnified view. - */ - scrollToMousePos: function() { - let [xMouse, yMouse, mask] = global.get_pointer(); - - if (this._mouseTrackingMode == MouseTrackingMode.PROPORTIONAL) { - this._setROIProportional(xMouse, yMouse); - } - else if (this._mouseTrackingMode == MouseTrackingMode.PUSH) { - this._setROIPush(xMouse, yMouse); - } - else if (this._mouseTrackingMode == MouseTrackingMode.CENTERED) { - this._setROICentered(xMouse, yMouse); - } - this._updateMousePosition(true); - - // Determine whether the system mouse pointer is over this zoom region. - return this.isMouseOverRegion(xMouse, yMouse); - }, - /** * setFullScreenMode: * Set the ZoomRegion to full-screen mode. * Note: disallows lens mode. */ setFullScreenMode: function() { - if (!this.isFullScreenMode()) { - let viewPort = {}; - viewPort.x = 0; - viewPort.y = 0; - viewPort.width = global.screen_width; - viewPort.height = global.screen_height; - this.setViewPort(viewPort); - this.setLensMode(false); - if (this.isActive()) - this._magnifier.hideSystemCursor(); + let viewPort = {}; + viewPort.x = 0; + viewPort.y = 0; + viewPort.width = global.screen_width; + viewPort.height = global.screen_height; + this.setViewPort(viewPort); - this._screenPosition = ScreenPosition.FULL_SCREEN; - } + this._screenPosition = ScreenPosition.FULL_SCREEN; }, /** @@ -997,111 +838,239 @@ ZoomRegion.prototype = { } }, + /** + * getScreenPosition: + * Tell the outside world what the current mode is -- magnifiying the + * top half, bottom half, etc. + * @return: the current mode. + */ + getScreenPosition: function() { + return this._screenPosition; + }, + + /** + * scrollToMousePos: + * Set the region of interest based on the position of the system pointer. + * @return: Whether the system mouse pointer is over the magnified view. + */ + scrollToMousePos: function() { + this._followingCursor = true; + if (this._mouseTrackingMode != MouseTrackingMode.NONE) + this._changeROI({ redoCursorTracking: true }); + else + this._updateMousePosition(); + + // Determine whether the system mouse pointer is over this zoom region. + return this._isMouseOverRegion(); + }, + /** * scrollContentsTo: * Shift the contents of the magnified view such it is centered on the given - * coordinate. Also, update the position of the magnified mouse image after - * the shift. + * coordinate. * @x: The x-coord of the point to center on. * @y: The y-coord of the point to center on. */ scrollContentsTo: function(x, y) { - this._scrollToPosition(x, y); - this._updateMousePosition(false /* mouse didn't move */); - }, - - /** - * isMouseOverRegion: - * Return whether the system mouse sprite is over this ZoomRegion. If the - * mouse's position is not given, then it is fetched. - * @xMouse: The system mouse's x-coord. Optional. - * @yMouse: The system mouse's y-coord. Optional. - * @return: Boolean: true if the mouse is over the zoom region; false - * otherwise. - */ - isMouseOverRegion: function(xMouse, yMouse) { - let mouseIsOver = false; - if (this.isActive()) { - if (!xMouse || !yMouse) { - let [x, y, mask] = global.get_pointer(); - xMouse = x; - yMouse = y; - } - let [x, y] = this.getPosition(); - let [width, height] = this.getSize(); - mouseIsOver = ( - xMouse >= x && xMouse < (x + width) && - yMouse >= y && yMouse < (y + height) - ); - } - return mouseIsOver; + this._followingCursor = false; + this._changeROI({ xCenter: x, + yCenter: y }); }, /** * addCrosshairs: * Add crosshairs centered on the magnified mouse. - * @crossHairs Clutter.Group that contains the actors for the crosshairs. + * @crossHairs: Crosshairs instance */ addCrosshairs: function(crossHairs) { + this._crossHairs = crossHairs; + // If the crossHairs is not already within a larger container, add it // to this zoom region. Otherwise, add a clone. - if (crossHairs) { - this._crosshairsActor = crossHairs.addToZoomRegion(this, this._mouseRoot); - this._crossHairs = crossHairs; + if (crossHairs && this.isActive()) { + this._crossHairsActor = crossHairs.addToZoomRegion(this, this._mouseActor); } }, //// Private methods //// - _scrollToPosition: function(x, y) { - // Given the point (x, y) in non-magnified coordinates, scroll the - // magnified contenst such that the point is at the centre of the - // magnified view. - let [xMagFactor, yMagFactor] = this.getMagFactor(); - let xMagnified = x * xMagFactor; - let yMagnified = y * yMagFactor; + _createActors: function() { + // The root actor for the zoom region + this._magView = new St.Bin({ style_class: 'magnifier-zoom-region', x_fill: true, y_fill: true }); + global.stage.add_actor(this._magView); - let [xCenterMagView, yCenterMagView] = this.getCenter(); - let newX = xCenterMagView - xMagnified; - let newY = yCenterMagView - yMagnified; + // Append a Clutter.Group to clip the contents of the magnified view. + let mainGroup = new Clutter.Group({ clip_to_allocation: true }); + this._magView.set_child(mainGroup); + + // Add a background for when the magnified uiGroup is scrolled + // out of view (don't want to see desktop showing through). + let background = new Clutter.Rectangle({ color: Main.DEFAULT_BACKGROUND_COLOR }); + mainGroup.add_actor(background); + + // Clone the group that contains all of UI on the screen. This is the + // chrome, the windows, etc. + this._uiGroupClone = new Clutter.Clone({ source: Main.uiGroup }); + mainGroup.add_actor(this._uiGroupClone); + Main.uiGroup.set_size(global.screen_width, global.screen_height); + background.set_size(global.screen_width, global.screen_height); + + // Add either the given mouseSourceActor to the ZoomRegion, or a clone of + // it. + if (this._mouseSourceActor.get_parent() != null) + this._mouseActor = new Clutter.Clone({ source: this._mouseSourceActor }); + else + this._mouseActor = this._mouseSourceActor; + mainGroup.add_actor(this._mouseActor); + + if (this._crossHairs) + this._crossHairsActor = this._crossHairs.addToZoomRegion(this, this._mouseActor); + else + this._crossHairsActor = null; + }, + + _destroyActors: function() { + if (this._mouseActor == this._mouseSourceActor) + this._mouseActor.get_parent().remove_actor (this._mouseActor); + if (this._crossHairs) + this._crossHairs.removeFromParent(this._crossHairsActor); + + this._magView.destroy(); + this._magView = null; + this._uiGroupClone = null; + this._mouseActor = null; + this._crossHairsActor = null; + }, + + _setViewPort: function(viewPort, fromROIUpdate) { + // Sets the position of the zoom region on the screen + + let width = Math.round(Math.min(viewPort.width, global.screen_width)); + let height = Math.round(Math.min(viewPort.height, global.screen_height)); + let x = Math.max(viewPort.x, 0); + let y = Math.max(viewPort.y, 0); + + x = Math.round(Math.min(x, global.screen_width - width)); + y = Math.round(Math.min(y, global.screen_height - height)); + + this._viewPortX = x; + this._viewPortY = y; + this._viewPortWidth = width; + this._viewPortHeight = height; + + this._updateMagViewGeometry(); + + if (!fromROIUpdate) + this._changeROI({ redoCursorTracking: this._followingCursor }); // will update mouse + + if (this.isActive() && this._isMouseOverRegion()) + this._magnifier.hideSystemCursor(); + }, + + _changeROI: function(params) { + // Updates the area we are viewing; the magnification factors + // and center can be set explicitly, or we can recompute + // the position based on the mouse cursor position + + params = Params.parse(params, { xMagFactor: this._xMagFactor, + yMagFactor: this._yMagFactor, + xCenter: this._xCenter, + yCenter: this._yCenter, + redoCursorTracking: false }); + + if (params.xMagFactor <= 0) + params.xMagFactor = this._xMagFactor; + if (params.yMagFactor <= 0) + params.yMagFactor = this._yMagFactor; + + this._xMagFactor = params.xMagFactor; + this._yMagFactor = params.yMagFactor; + + if (params.redoCursorTracking && + this._mouseTrackingMode != MouseTrackingMode.NONE) { + // This depends on this.xMagFactor/yMagFactor already being updated + [params.xCenter, params.yCenter] = this._centerFromMousePosition(); + } if (this._clampScrollingAtEdges) { - if (newX > 0) - newX = 0; - else if (newX < this._rightStop) - newX = this._rightStop; - if (newY > 0) - newY = 0; - else if (newY < this._bottomStop) - newY = this._bottomStop; - this._uiGroupClone.set_position(newX, newY); + let roiWidth = this._viewPortWidth / this._xMagFactor; + let roiHeight = this._viewPortHeight / this._yMagFactor; + + params.xCenter = Math.min(params.xCenter, global.screen_width - roiWidth / 2); + params.xCenter = Math.max(params.xCenter, roiWidth / 2); + params.yCenter = Math.min(params.yCenter, global.screen_height - roiHeight / 2); + params.yCenter = Math.max(params.yCenter, roiHeight / 2); } - else - this._uiGroupClone.set_position(newX, newY); + + this._xCenter = params.xCenter; + this._yCenter = params.yCenter; // If in lens mode, move the magnified view such that it is centered // over the actual mouse. However, in full screen mode, the "lens" is // the size of the screen -- pointless to move such a large lens around. - if (this._lensMode && !this.isFullScreenMode()) - this.setPosition(x - xCenterMagView, y - yCenterMagView); + if (this._lensMode && !this._isFullScreen()) + this._setViewPort({ x: this._xCenter - this._viewPortWidth / 2, + y: this._yCenter - this._viewPortHeight / 2, + width: this._viewPortWidth, + height: this._viewPortHeight }, true); + + this._updateCloneGeometry(); + this._updateMousePosition(); }, - _calcRightBottomStops: function() { - // Calculate the location of the top-left corner of _uiGroupClone - // when its right and bottom edges are coincident with the right and - // bottom edges of the _magView. - let [contentWidth, contentHeight] = this._uiGroupClone.get_size(); - let [viewWidth, viewHeight] = this.getSize(); - let [xMagFactor, yMagFactor] = this.getMagFactor(); - let rightStop = viewWidth - (contentWidth * xMagFactor); - let bottomStop = viewHeight - (contentHeight * yMagFactor); - this._rightStop = parseInt(rightStop.toFixed(1)); - this._bottomStop = parseInt(bottomStop.toFixed(1)); + _isMouseOverRegion: function(xMouse, yMouse) { + // Return whether the system mouse sprite is over this ZoomRegion. If the + // mouse's position is not given, then it is fetched. + let mouseIsOver = false; + if (this.isActive()) { + if (xMouse == null || yMouse == null) { + let [x, y, mask] = global.get_pointer(); + xMouse = x; + yMouse = y; + } + mouseIsOver = ( + xMouse >= this._viewPortX && xMouse < (this._viewPortX + this._viewPortWidth) && + yMouse >= this._viewPortY && yMouse < (this._viewPortY + this._viewPortHeight) + ); + } + return mouseIsOver; }, - _setROIPush: function(xMouse, yMouse) { + _isFullScreen: function() { + // Does the magnified view occupy the whole screen? Note that this + // doesn't necessarily imply + // this._screenPosition = ScreenPosition.FULL_SCREEN; + + if (this._viewPortX != 0 || this._viewPortY != 0) + return false; + if (this._viewPortWidth != global.screen_width || + this._viewPortHeight != global.screen_height) + return false; + return true; + }, + + _centerFromMousePosition: function() { + // Determines where the center should be given the current cursor + // position and mouse tracking mode + + let [xMouse, yMouse, mask] = global.get_pointer(); + + if (this._mouseTrackingMode == MouseTrackingMode.PROPORTIONAL) { + return this._centerFromMouseProportional(xMouse, yMouse); + } + else if (this._mouseTrackingMode == MouseTrackingMode.PUSH) { + return this._centerFromMousePush(xMouse, yMouse); + } + else if (this._mouseTrackingMode == MouseTrackingMode.CENTERED) { + return this._centerFromMouseCentered(xMouse, yMouse); + } + + return null; // Should never be hit + }, + + _centerFromMousePush: function(xMouse, yMouse) { let [xRoi, yRoi, widthRoi, heightRoi] = this.getROI(); - let [cursorWidth, cursorHeight] = this._mouseRoot.get_size(); + let [cursorWidth, cursorHeight] = this._mouseSourceActor.get_size(); let xPos = xRoi + widthRoi / 2; let yPos = yRoi + heightRoi / 2; let xRoiRight = xRoi + widthRoi - cursorWidth; @@ -1117,10 +1086,10 @@ ZoomRegion.prototype = { else if (yMouse > yRoiBottom) yPos += (yMouse - yRoiBottom); - this._scrollToPosition(xPos, yPos); + return [xPos, yPos]; }, - _setROIProportional: function(xMouse, yMouse) { + _centerFromMouseProportional: function(xMouse, yMouse) { let [xRoi, yRoi, widthRoi, heightRoi] = this.getROI(); let halfScreenWidth = global.screen_width / 2; let halfScreenHeight = global.screen_height / 2; @@ -1129,46 +1098,62 @@ ZoomRegion.prototype = { let xPos = xMouse + xProportion * widthRoi / 2; let yPos = yMouse + yProportion * heightRoi / 2; - this._scrollToPosition(xPos, yPos); + return [xPos, yPos]; }, - _setROICentered: function(xMouse, yMouse) { - this._scrollToPosition(xMouse, yMouse); + _centerFromMouseCentered: function(xMouse, yMouse) { + return [xMouse, yMouse]; }, - _updateMousePosition: function(mouseMoved) { - let [x, y] = this._uiGroupClone.get_position(); - x = parseInt(x.toFixed(1)); - y = parseInt(y.toFixed(1)); - let [xCenterMagView, yCenterMagView] = this.getCenter(); + _screenToViewPort: function(screenX, screenY) { + // Converts coordinates relative to the (unmagnified) screen to coordinates + // relative to the origin of this._magView + return [this._viewPortWidth / 2 + (screenX - this._xCenter) * this._xMagFactor, + this._viewPortHeight / 2 + (screenY - this._yCenter) * this._yMagFactor]; + }, + + _updateMagViewGeometry: function() { + if (!this.isActive()) + return; + + if (this._isFullScreen()) + this._magView.add_style_class_name('full-screen'); + else + this._magView.remove_style_class_name('full-screen'); + + this._magView.set_size(this._viewPortWidth, this._viewPortHeight); + this._magView.set_position(this._viewPortX, this._viewPortY); + }, + + _updateCloneGeometry: function() { + if (!this.isActive()) + return; + + this._uiGroupClone.set_scale(this._xMagFactor, this._yMagFactor); + this._mouseActor.set_scale(this._xMagFactor, this._yMagFactor); + + let [x, y] = this._screenToViewPort(0, 0); + this._uiGroupClone.set_position(x, y); + + this._updateMousePosition(); + }, + + _updateMousePosition: function() { + if (!this.isActive()) + return; + let [xMouse, yMouse, mask] = global.get_pointer(); - let [xMagFactor, yMagFactor] = this.getMagFactor(); + let [xMagMouse, yMagMouse] = this._screenToViewPort(xMouse, yMouse); - let xMagMouse = xMouse * xMagFactor + x; - let yMagMouse = yMouse * yMagFactor + y; - if (mouseMoved) { - if (x == 0) - xMagMouse = xMouse * xMagFactor; - else if (x == this._rightStop) - xMagMouse = (xMouse * xMagFactor) + this._rightStop; - else if (this._mouseTrackingMode == MouseTrackingMode.CENTERED) - xMagMouse = xCenterMagView; + xMagMouse = Math.round(xMagMouse); + yMagMouse = Math.round(yMagMouse); - if (y == 0) - yMagMouse = yMouse * yMagFactor; - else if (y == this._bottomStop) - yMagMouse = (yMouse * yMagFactor) + this._bottomStop; - else if (this._mouseTrackingMode == MouseTrackingMode.CENTERED) - yMagMouse = yCenterMagView; - } - this._mouseRoot.set_position(xMagMouse, yMagMouse); - this._updateCrosshairsPosition(xMagMouse, yMagMouse); - }, + this._mouseActor.set_position(xMagMouse, yMagMouse); - _updateCrosshairsPosition: function(x, y) { - if (this._crosshairsActor) { - let [groupWidth, groupHeight] = this._crosshairsActor.get_size(); - this._crosshairsActor.set_position(x - groupWidth / 2, y - groupHeight / 2); + if (this._crossHairsActor) { + let [groupWidth, groupHeight] = this._crossHairsActor.get_size(); + this._crossHairsActor.set_position(xMagMouse - groupWidth / 2, + yMagMouse - groupHeight / 2); } } }; @@ -1243,10 +1228,15 @@ Crosshairs.prototype = { /** * removeFromParent: - * Remove the crosshairs actor from its parent container. + * @childActor: the actor returned from addToZoomRegion + * Remove the crosshairs actor from its parent container, or destroy the + * child actor if it was just a clone of the crosshairs actor. */ - removeFromParent: function() { - this._actor.get_parent().remove_actor(this._actor); + removeFromParent: function(childActor) { + if (childActor == this._actor) + childActor.get_parent().remove_actor(childActor); + else + childActor.destroy(); }, /** diff --git a/js/ui/magnifierDBus.js b/js/ui/magnifierDBus.js index 9cab9a2d8..76cd6296d 100644 --- a/js/ui/magnifierDBus.js +++ b/js/ui/magnifierDBus.js @@ -112,6 +112,11 @@ ShellMagnifier.prototype = { * [left, top, right, bottom]. * @viewPort Array of integers, [left, top, right, bottom] that defines * the position of the ZoomRegion on screen. + * + * FIXME: The arguments here are redundant, since the width and height of + * the ROI are determined by the viewport and magnification factors. + * We ignore the passed in width and height. + * * @return The newly created ZoomRegion. */ createZoomRegion: function(xMagFactor, yMagFactor, roi, viewPort) { From 96fb6d8f164621a933354d64ccd661a660acc163 Mon Sep 17 00:00:00 2001 From: "Owen W. Taylor" Date: Sun, 14 Nov 2010 17:21:43 -0500 Subject: [PATCH 22/45] Improve the algorithm for proportional mouse tracking Change the proportional algorithm so stop moving the zoom region when cursor is in a "padding region" at the edge of the screen. (The padding region is a 10th of the screen at 2x zoom, and smaller for higher zooms.) Based on earlier versions from Jon McCann and Florian Muellner. https://bugzilla.gnome.org/show_bug.cgi?id=629950 --- js/ui/magnifier.js | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/js/ui/magnifier.js b/js/ui/magnifier.js index 86a3f294b..edc3d00c2 100644 --- a/js/ui/magnifier.js +++ b/js/ui/magnifier.js @@ -1093,10 +1093,15 @@ ZoomRegion.prototype = { let [xRoi, yRoi, widthRoi, heightRoi] = this.getROI(); let halfScreenWidth = global.screen_width / 2; let halfScreenHeight = global.screen_height / 2; - let xProportion = (halfScreenWidth - xMouse) / halfScreenWidth; - let yProportion = (halfScreenHeight - yMouse) / halfScreenHeight; - let xPos = xMouse + xProportion * widthRoi / 2; - let yPos = yMouse + yProportion * heightRoi / 2; + // We want to pad with a constant distance after zooming, so divide + // by the magnification factor. + let unscaledPadding = Math.min(this._viewPortWidth, this._viewPortHeight) / 5; + let xPadding = unscaledPadding / this._xMagFactor; + let yPadding = unscaledPadding / this._yMagFactor; + let xProportion = (xMouse - halfScreenWidth) / halfScreenWidth; // -1 ... 1 + let yProportion = (yMouse - halfScreenHeight) / halfScreenHeight; // -1 ... 1 + let xPos = xMouse - xProportion * (widthRoi / 2 - xPadding); + let yPos = yMouse - yProportion * (heightRoi /2 - yPadding); return [xPos, yPos]; }, From 978cf9d3ab0f0a3b8662984eae743479d6cc07eb Mon Sep 17 00:00:00 2001 From: "Owen W. Taylor" Date: Sat, 30 Oct 2010 17:01:41 -0400 Subject: [PATCH 23/45] Fix redundant calls to global.get_pointer() Since we are keeping a current pointer position anyways, we don't have to continually call global.get_pointer() which is a round trip to the magnifier; make ZoomRegion simply fetch a current position stored in the Magnifier object. https://bugzilla.gnome.org/show_bug.cgi?id=633553 --- js/ui/magnifier.js | 42 +++++++++++++++++++----------------------- 1 file changed, 19 insertions(+), 23 deletions(-) diff --git a/js/ui/magnifier.js b/js/ui/magnifier.js index edc3d00c2..472fdea59 100644 --- a/js/ui/magnifier.js +++ b/js/ui/magnifier.js @@ -66,11 +66,14 @@ Magnifier.prototype = { // Create the first ZoomRegion and initialize it according to the // magnification settings. - let [xMouse, yMouse, mask] = global.get_pointer(); + + let mask; + [this.xMouse, this.yMouse, mask] = global.get_pointer(); + let aZoomRegion = new ZoomRegion(this, this._cursorRoot); this._zoomRegions.push(aZoomRegion); let showAtLaunch = this._settingsInit(aZoomRegion); - aZoomRegion.scrollContentsTo(xMouse, yMouse); + aZoomRegion.scrollContentsTo(this.xMouse, this.yMouse); xfixesCursor.connect('cursor-change', Lang.bind(this, this._updateMouseSprite)); this._xfixesCursor = xfixesCursor; @@ -138,12 +141,10 @@ Magnifier.prototype = { * Turn on mouse tracking, if not already doing so. */ startTrackingMouse: function() { - // initialize previous mouse coord to undefined. - let prevCoord = { x: NaN, y: NaN }; if (!this._mouseTrackingId) this._mouseTrackingId = Mainloop.timeout_add( MOUSE_POLL_FREQUENCY, - Lang.bind(this, this.scrollToMousePos, prevCoord) + Lang.bind(this, this.scrollToMousePos) ); }, @@ -170,14 +171,15 @@ Magnifier.prototype = { * scrollToMousePos: * Position all zoom regions' ROI relative to the current location of the * system pointer. - * @prevCoord: The previous mouse coordinates. Used to stop scrolling if - * the new position is the same as the last one (optional). * @return true. */ - scrollToMousePos: function(prevCoord) { + scrollToMousePos: function() { let [xMouse, yMouse, mask] = global.get_pointer(); - if (!prevCoord || prevCoord.x != xMouse || prevCoord.y != yMouse) { + if (xMouse != this.xMouse || yMouse != this.yMouse) { + this.xMouse = xMouse; + this.yMouse = yMouse; + let sysMouseOverAny = false; this._zoomRegions.forEach(function(zoomRegion, index, array) { if (zoomRegion.scrollToMousePos()) @@ -187,11 +189,6 @@ Magnifier.prototype = { this.hideSystemCursor(); else this.showSystemCursor(); - - if (prevCoord) { - prevCoord.x = xMouse; - prevCoord.y = yMouse; - } } return true; }, @@ -1018,16 +1015,14 @@ ZoomRegion.prototype = { this._updateMousePosition(); }, - _isMouseOverRegion: function(xMouse, yMouse) { + _isMouseOverRegion: function() { // Return whether the system mouse sprite is over this ZoomRegion. If the // mouse's position is not given, then it is fetched. let mouseIsOver = false; if (this.isActive()) { - if (xMouse == null || yMouse == null) { - let [x, y, mask] = global.get_pointer(); - xMouse = x; - yMouse = y; - } + let xMouse = this._magnifier.xMouse; + let yMouse = this._magnifier.yMouse; + mouseIsOver = ( xMouse >= this._viewPortX && xMouse < (this._viewPortX + this._viewPortWidth) && yMouse >= this._viewPortY && yMouse < (this._viewPortY + this._viewPortHeight) @@ -1053,7 +1048,8 @@ ZoomRegion.prototype = { // Determines where the center should be given the current cursor // position and mouse tracking mode - let [xMouse, yMouse, mask] = global.get_pointer(); + let xMouse = this._magnifier.xMouse; + let yMouse = this._magnifier.yMouse; if (this._mouseTrackingMode == MouseTrackingMode.PROPORTIONAL) { return this._centerFromMouseProportional(xMouse, yMouse); @@ -1147,8 +1143,8 @@ ZoomRegion.prototype = { if (!this.isActive()) return; - let [xMouse, yMouse, mask] = global.get_pointer(); - let [xMagMouse, yMagMouse] = this._screenToViewPort(xMouse, yMouse); + let [xMagMouse, yMagMouse] = this._screenToViewPort(this._magnifier.xMouse, + this._magnifier.yMouse); xMagMouse = Math.round(xMagMouse); yMagMouse = Math.round(yMagMouse); From 35b5cb9860f78c69520f76bb42aa4a03e7896e49 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Florian=20M=C3=BCllner?= Date: Wed, 17 Nov 2010 11:08:24 +0100 Subject: [PATCH 24/45] magnifier: Fix DND when the magnifier is active Hide the zoom regions from pick so that they do not interfere with the picking done by DND in search for _delegate objects. https://bugzilla.gnome.org/show_bug.cgi?id=634560 --- js/ui/magnifier.js | 3 +++ 1 file changed, 3 insertions(+) diff --git a/js/ui/magnifier.js b/js/ui/magnifier.js index 472fdea59..91a0e773f 100644 --- a/js/ui/magnifier.js +++ b/js/ui/magnifier.js @@ -896,6 +896,9 @@ ZoomRegion.prototype = { this._magView = new St.Bin({ style_class: 'magnifier-zoom-region', x_fill: true, y_fill: true }); global.stage.add_actor(this._magView); + // hide the magnified region from CLUTTER_PICK_ALL + Shell.util_set_hidden_from_pick (this._magView, true); + // Append a Clutter.Group to clip the contents of the magnified view. let mainGroup = new Clutter.Group({ clip_to_allocation: true }); this._magView.set_child(mainGroup); From 670048e5556d61a69a0e0fa758cbb33d53d02e73 Mon Sep 17 00:00:00 2001 From: Adel Gadllah Date: Tue, 30 Nov 2010 21:57:31 +0100 Subject: [PATCH 25/45] StScrollView: Remove default shadow style Remove the default shadow style but still allow StScrollView users to use a shadow by explicitly setting it. https://bugzilla.gnome.org/show_bug.cgi?id=635647 --- data/theme/gnome-shell.css | 15 --------------- 1 file changed, 15 deletions(-) diff --git a/data/theme/gnome-shell.css b/data/theme/gnome-shell.css index 13317aa9b..1eaefbfdd 100644 --- a/data/theme/gnome-shell.css +++ b/data/theme/gnome-shell.css @@ -48,21 +48,6 @@ StScrollView StScrollBar min-height: 16px; } -StScrollView > .top-shadow -{ - background-gradient-direction: vertical; - background-gradient-start: #111111; - background-gradient-end: rgba(17, 17, 17, 0); - height: 30px; -} - -StScrollView > .bottom-shadow -{ - background-gradient-direction: vertical; - background-gradient-start: rgba(17, 17, 17, 0); - background-gradient-end: #111111; - height: 30px; -} StScrollBar StBin#trough { background-color: #080808; From ea65f5e795df067538d66706835c949bf491bd2f Mon Sep 17 00:00:00 2001 From: Yaron Shahrabani Date: Sun, 5 Dec 2010 01:42:58 +0200 Subject: [PATCH 26/45] Updated Hebrew translation. --- po/he.po | 392 ++++++++++++++++++++++++++++++++++--------------------- 1 file changed, 244 insertions(+), 148 deletions(-) diff --git a/po/he.po b/po/he.po index 0899a1fa1..93ec1e109 100644 --- a/po/he.po +++ b/po/he.po @@ -8,8 +8,8 @@ msgid "" msgstr "" "Project-Id-Version: gnome-shell master\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2010-11-01 07:47+0200\n" -"PO-Revision-Date: 2010-11-01 07:48+0200\n" +"POT-Creation-Date: 2010-12-05 01:39+0200\n" +"PO-Revision-Date: 2010-12-05 01:42+0200\n" "Last-Translator: Yaron Shahrabani \n" "Language-Team: Hebrew \n" "MIME-Version: 1.0\n" @@ -98,10 +98,6 @@ msgid "List of desktop file IDs for favorite applications" msgstr "List of desktop file IDs for favorite applications" #: ../data/org.gnome.shell.gschema.xml.in.h:13 -msgid "Overview workspace view mode" -msgstr "Overview workspace view mode" - -#: ../data/org.gnome.shell.gschema.xml.in.h:14 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 " @@ -121,19 +117,19 @@ msgstr "" "to an empty value, the default pipeline will be used. This is currently " "'videorate ! theoraenc ! oggmux' and records to Ogg Theora." -#: ../data/org.gnome.shell.gschema.xml.in.h:15 +#: ../data/org.gnome.shell.gschema.xml.in.h:14 msgid "Show date in clock" msgstr "Show date in clock" -#: ../data/org.gnome.shell.gschema.xml.in.h:16 +#: ../data/org.gnome.shell.gschema.xml.in.h:15 msgid "Show the week date in the calendar" msgstr "Show the week date in the calendar" -#: ../data/org.gnome.shell.gschema.xml.in.h:17 +#: ../data/org.gnome.shell.gschema.xml.in.h:16 msgid "Show time with seconds" msgstr "Show time with seconds" -#: ../data/org.gnome.shell.gschema.xml.in.h:18 +#: ../data/org.gnome.shell.gschema.xml.in.h:17 msgid "" "The applications corresponding to these identifiers will be displayed in the " "favorites area." @@ -141,81 +137,73 @@ msgstr "" "The applications corresponding to these identifiers will be displayed in the " "favorites area." +#: ../data/org.gnome.shell.gschema.xml.in.h:18 +msgid "" +"The filename for recorded screencasts will be a unique filename based on the " +"current date, and use this extension. It should be changed when recording to " +"a different container format." +msgstr "" +"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." + #: ../data/org.gnome.shell.gschema.xml.in.h:19 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." +"The framerate of the resulting screencast recordered by GNOME Shell's " +"screencast recorder in frames-per-second." msgstr "" -"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." +"The framerate of the resulting screencast recordered by GNOME Shell's " +"screencast recorder in frames-per-second." #: ../data/org.gnome.shell.gschema.xml.in.h:20 -msgid "" -"The framerate of the resulting screencast recordered by GNOME Shell's " -"screencast recorder in frames-per-second." -msgstr "" -"The framerate of the resulting screencast recordered by GNOME Shell's " -"screencast recorder in frames-per-second." - -#: ../data/org.gnome.shell.gschema.xml.in.h:21 msgid "The gstreamer pipeline used to encode the screencast" msgstr "The gstreamer pipeline used to encode the screencast" +#: ../data/org.gnome.shell.gschema.xml.in.h:21 +msgid "" +"The shell normally monitors active applications in order to present the most " +"used ones (e.g. in launchers). While this data will be kept private, you may " +"want to disable this for privacy reasons. Please note that doing so won't " +"remove already saved data." +msgstr "" +"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." + #: ../data/org.gnome.shell.gschema.xml.in.h:22 msgid "" -"The selected workspace view mode in the overview. Supported values are " -"\"single\" and \"grid\"." +"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 "" -"The selected workspace view mode in the overview. Supported values are " -"\"single\" and \"grid\"." +"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." #: ../data/org.gnome.shell.gschema.xml.in.h:23 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." +"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 "" -"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." +"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." #: ../data/org.gnome.shell.gschema.xml.in.h:24 -msgid "" -"This key specifies the format used by the panel clock when the format key is " -"set to \"custom\". You can use conversion specifiers understood by strftime" -"() to obtain a specific format. See the strftime() manual for more " -"information." -msgstr "" -"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." - -#: ../data/org.gnome.shell.gschema.xml.in.h:25 -msgid "" -"This key specifies the hour format used by the panel clock. Possible values " -"are \"12-hour\", \"24-hour\", \"unix\" and \"custom\". If set to \"unix\", " -"the clock will display time in seconds since Epoch, i.e. 1970-01-01. If set " -"to \"custom\", the clock will display time according to the format specified " -"in the custom_format key. Note that if set to either \"unix\" or \"custom\", " -"the show_date and show_seconds keys are ignored." -msgstr "" -"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." - -#: ../data/org.gnome.shell.gschema.xml.in.h:26 msgid "Uuids of extensions to disable" msgstr "Uuids of extensions to disable" -#: ../data/org.gnome.shell.gschema.xml.in.h:27 +#: ../data/org.gnome.shell.gschema.xml.in.h:25 msgid "Whether to collect stats about applications usage" msgstr "Whether to collect stats about applications usage" @@ -402,62 +390,41 @@ msgstr "מבנה _12 שעות" msgid "_24 hour format" msgstr "מבנה _24 שעות" -#. **** Applications **** -#: ../js/ui/appDisplay.js:316 ../js/ui/dash.js:778 +#: ../js/ui/appDisplay.js:215 msgid "APPLICATIONS" msgstr "יישומים" -#: ../js/ui/appDisplay.js:348 +#: ../js/ui/appDisplay.js:245 msgid "PREFERENCES" msgstr "העדפות" -#: ../js/ui/appDisplay.js:647 +#: ../js/ui/appDisplay.js:542 msgid "New Window" msgstr "חלון חדש" -#: ../js/ui/appDisplay.js:651 +#: ../js/ui/appDisplay.js:546 msgid "Remove from Favorites" msgstr "הסרה מהמועדפים" -#: ../js/ui/appDisplay.js:652 +#: ../js/ui/appDisplay.js:547 msgid "Add to Favorites" msgstr "הוספה למועדפים" -#: ../js/ui/appDisplay.js:829 -msgid "Drag here to add favorites" -msgstr "יש לגרור פריטים לכאן כדי להוסיף מועדפים" - -#: ../js/ui/appFavorites.js:88 +#: ../js/ui/appFavorites.js:91 #, c-format msgid "%s has been added to your favorites." msgstr "%s נוסף למועדפים שלך." -#: ../js/ui/appFavorites.js:107 +#: ../js/ui/appFavorites.js:122 #, c-format msgid "%s has been removed from your favorites." msgstr "%s הוסר מהמועדפים שלך." -#: ../js/ui/dash.js:142 -msgid "Find" -msgstr "חיפוש" +#: ../js/ui/dash.js:27 +msgid "Remove" +msgstr "הסרה" -#: ../js/ui/dash.js:473 -msgid "Searching..." -msgstr "בחיפוש..." - -#: ../js/ui/dash.js:487 -msgid "No matching results." -msgstr "אין תוצאות תואמות." - -#. **** Places **** -#. Translators: This is in the sense of locations for documents, -#. network locations, etc. -#: ../js/ui/dash.js:797 ../js/ui/placeDisplay.js:554 -msgid "PLACES & DEVICES" -msgstr "מקומות והתקנים" - -#. **** Documents **** -#: ../js/ui/dash.js:804 ../js/ui/docDisplay.js:494 +#: ../js/ui/docDisplay.js:494 msgid "RECENT ITEMS" msgstr "פריטים אחרונים" @@ -491,63 +458,63 @@ msgstr "צפייה במקור" msgid "Web Page" msgstr "דף אינטרנט" -#: ../js/ui/overview.js:160 +#: ../js/ui/overview.js:112 msgid "Undo" msgstr "ביטול" #. TODO - _quit() doesn't really work on apps in state STARTING yet -#: ../js/ui/panel.js:469 +#: ../js/ui/panel.js:470 #, c-format msgid "Quit %s" msgstr "יציאה מ־%s" -#: ../js/ui/panel.js:494 +#: ../js/ui/panel.js:495 msgid "Preferences" msgstr "העדפות" #. Translators: This is the time format with date used #. in 24-hour mode. -#: ../js/ui/panel.js:580 +#: ../js/ui/panel.js:581 msgid "%a %b %e, %R:%S" msgstr "%a %b %e, %R:%S" -#: ../js/ui/panel.js:581 +#: ../js/ui/panel.js:582 msgid "%a %b %e, %R" msgstr "%a %b %e, %R" #. Translators: This is the time format without date used #. in 24-hour mode. -#: ../js/ui/panel.js:585 +#: ../js/ui/panel.js:586 msgid "%a %R:%S" msgstr "%a %R:%S" -#: ../js/ui/panel.js:586 +#: ../js/ui/panel.js:587 msgid "%a %R" msgstr "%a %R" #. Translators: This is a time format with date used #. for AM/PM. -#: ../js/ui/panel.js:593 +#: ../js/ui/panel.js:594 msgid "%a %b %e, %l:%M:%S %p" msgstr "%a %b %e, %l:%M:%S %p" -#: ../js/ui/panel.js:594 +#: ../js/ui/panel.js:595 msgid "%a %b %e, %l:%M %p" msgstr "%a %b %e, %l:%M %p" #. Translators: This is a time format without date used #. for AM/PM. -#: ../js/ui/panel.js:598 +#: ../js/ui/panel.js:599 msgid "%a %l:%M:%S %p" msgstr "%a %l:%M:%S %p" -#: ../js/ui/panel.js:599 +#: ../js/ui/panel.js:600 msgid "%a %l:%M %p" msgstr "%a %l:%M %p" #. Button on the left side of the panel. #. Translators: If there is no suitable word for "Activities" in your language, you can use the word for "Overview". -#: ../js/ui/panel.js:744 +#: ../js/ui/panel.js:745 msgid "Activities" msgstr "פעילויות" @@ -564,6 +531,10 @@ msgstr "ניסיון חוזר" msgid "Connect to..." msgstr "התחברות אל..." +#: ../js/ui/placeDisplay.js:558 +msgid "PLACES & DEVICES" +msgstr "מקומות והתקנים" + #. Translators: this MUST be either "toggle-switch-us" #. (for toggle switches containing the English words #. "ON" and "OFF") or "toggle-switch-intl" (for toggle @@ -590,42 +561,38 @@ msgstr "זמין" msgid "Busy" msgstr "עסוק" -#: ../js/ui/statusMenu.js:111 -msgid "Invisible" -msgstr "בלתי נראה" +#: ../js/ui/statusMenu.js:114 +msgid "My Account" +msgstr "החשבון שלי" -#: ../js/ui/statusMenu.js:119 -msgid "My Account..." -msgstr "החשבון שלי..." +#: ../js/ui/statusMenu.js:118 +msgid "System Settings" +msgstr "הגדרות המערכת" -#: ../js/ui/statusMenu.js:123 -msgid "System Settings..." -msgstr "הגדרות המערכת..." - -#: ../js/ui/statusMenu.js:130 +#: ../js/ui/statusMenu.js:125 msgid "Lock Screen" msgstr "נעילת המסך" -#: ../js/ui/statusMenu.js:134 +#: ../js/ui/statusMenu.js:129 msgid "Switch User" msgstr "החלפת משתמש" -#: ../js/ui/statusMenu.js:139 +#: ../js/ui/statusMenu.js:134 msgid "Log Out..." msgstr "ניתוק..." -#: ../js/ui/statusMenu.js:146 -msgid "Suspend" -msgstr "השהיה" +#: ../js/ui/statusMenu.js:141 +msgid "Suspend..." +msgstr "השהיה..." -#: ../js/ui/statusMenu.js:150 -msgid "Restart..." -msgstr "הפעלה מחדש..." - -#: ../js/ui/statusMenu.js:154 +#: ../js/ui/statusMenu.js:145 msgid "Shut Down..." msgstr "כיבוי..." +#: ../js/ui/status/accessibility.js:82 +msgid "Zoom" +msgstr "תקריב" + #: ../js/ui/status/accessibility.js:88 msgid "Screen Reader" msgstr "מקריא מסך" @@ -662,13 +629,117 @@ msgstr "הגדרות גישה אוניברסלית" msgid "High Contrast" msgstr "ניגודיות גבוהה" -#: ../js/ui/status/accessibility.js:202 +#: ../js/ui/status/accessibility.js:205 msgid "Large Text" msgstr "טקסט גדול" -#: ../js/ui/status/accessibility.js:223 -msgid "Zoom" -msgstr "תקריב" +#: ../js/ui/status/power.js:87 +msgid "What's using power..." +msgstr "מה צורך חשמל..." + +#: ../js/ui/status/power.js:90 +msgid "Power Settings" +msgstr "הגדרות צריכת החשמל" + +#: ../js/ui/status/power.js:117 +#, c-format +msgid "%d hour remaining" +msgid_plural "%d hours remaining" +msgstr[0] "נותרה שעה" +msgstr[1] "נותרו %d שעות" +msgstr[2] "נותרו שעתיים" + +#. TRANSLATORS: this is a time string, as in "%d hours %d minutes remaining" +#: ../js/ui/status/power.js:120 +#, c-format +msgid "%d %s %d %s remaining" +msgstr "%d %s %d %s נותרו" + +#: ../js/ui/status/power.js:122 +msgid "hour" +msgid_plural "hours" +msgstr[0] "שעה" +msgstr[1] "שעות" +msgstr[2] "שעתיים" + +#: ../js/ui/status/power.js:122 +msgid "minute" +msgid_plural "minutes" +msgstr[0] "דקה" +msgstr[1] "דקות" +msgstr[2] "דקות" + +#: ../js/ui/status/power.js:125 +#, c-format +msgid "%d minute remaining" +msgid_plural "%d minutes remaining" +msgstr[0] "דקה אחת נותרה" +msgstr[1] "%d דקות נותרו" +msgstr[2] "שתי דקות נותרו" + +#: ../js/ui/status/power.js:244 +msgid "AC adapter" +msgstr "מתאם חשמל" + +#: ../js/ui/status/power.js:246 +msgid "Laptop battery" +msgstr "סוללת נייד" + +#: ../js/ui/status/power.js:248 +msgid "UPS" +msgstr "אל־פסק" + +#: ../js/ui/status/power.js:250 +msgid "Monitor" +msgstr "צג" + +#: ../js/ui/status/power.js:252 +msgid "Mouse" +msgstr "עכבר" + +#: ../js/ui/status/power.js:254 +msgid "Keyboard" +msgstr "מקלדת" + +#: ../js/ui/status/power.js:256 +msgid "PDA" +msgstr "מחשב כף יד" + +#: ../js/ui/status/power.js:258 +msgid "Cell phone" +msgstr "טלפון סלולרי" + +#: ../js/ui/status/power.js:260 +msgid "Media player" +msgstr "נגן מדיה" + +#: ../js/ui/status/power.js:262 +msgid "Tablet" +msgstr "טבלת שליטה" + +#: ../js/ui/status/power.js:264 +msgid "Computer" +msgstr "מחשב" + +#: ../js/ui/status/power.js:266 ../src/shell-app-system.c:1012 +msgid "Unknown" +msgstr "לא ידוע" + +#: ../js/ui/status/volume.js:41 +msgid "Volume" +msgstr "עצמה" + +#: ../js/ui/status/volume.js:54 +msgid "Microphone" +msgstr "מיקרופון" + +#: ../js/ui/status/volume.js:62 +msgid "Sound Settings" +msgstr "הגדרות שמע" + +#: ../js/ui/viewSelector.js:26 +msgid "Search your computer" +msgstr "חיפוש במחשב שלך" #: ../js/ui/windowAttentionHandler.js:43 #, c-format @@ -680,12 +751,12 @@ msgstr "%s סיים את תהליך ההתחלה" msgid "'%s' is ready" msgstr "'%s' מוכן" -#: ../js/ui/workspacesView.js:229 +#: ../js/ui/workspacesView.js:244 msgid "" "Can't add a new workspace because maximum workspaces limit has been reached." msgstr "לא ניתן להוסיף מרחבי עבודה כיוון שהם ממלאים את המכסה המרבית." -#: ../js/ui/workspacesView.js:246 +#: ../js/ui/workspacesView.js:260 msgid "Can't remove the first workspace." msgstr "לא ניתן להסיר את מרחב העבודה הראשון." @@ -713,11 +784,11 @@ msgstr[2] "2 קלטים" msgid "System Sounds" msgstr "צלילי מערכת" -#: ../src/shell-global.c:1219 +#: ../src/shell-global.c:1163 msgid "Less than a minute ago" msgstr "לפני פחות מדקה" -#: ../src/shell-global.c:1223 +#: ../src/shell-global.c:1167 #, c-format msgid "%d minute ago" msgid_plural "%d minutes ago" @@ -725,7 +796,7 @@ msgstr[0] "לפני דקה" msgstr[1] "לפני %d דקות" msgstr[2] "לפני 2 דקות" -#: ../src/shell-global.c:1228 +#: ../src/shell-global.c:1172 #, c-format msgid "%d hour ago" msgid_plural "%d hours ago" @@ -733,7 +804,7 @@ msgstr[0] "לפני שעה" msgstr[1] "לפני %d שעות" msgstr[2] "לפני שעתיים" -#: ../src/shell-global.c:1233 +#: ../src/shell-global.c:1177 #, c-format msgid "%d day ago" msgid_plural "%d days ago" @@ -741,7 +812,7 @@ msgstr[0] "לפני יום" msgstr[1] "לפני %d ימים" msgstr[2] "לפני יומיים" -#: ../src/shell-global.c:1238 +#: ../src/shell-global.c:1182 #, c-format msgid "%d week ago" msgid_plural "%d weeks ago" @@ -749,17 +820,17 @@ msgstr[0] "לפני שבוע" msgstr[1] "לפני %d שבועות" msgstr[2] "לפני שבועיים" -#: ../src/shell-uri-util.c:89 +#: ../src/shell-util.c:89 msgid "Home Folder" msgstr "תיקיית הבית" #. Translators: this is the same string as the one found in #. * nautilus -#: ../src/shell-uri-util.c:104 +#: ../src/shell-util.c:104 msgid "File System" msgstr "מערכת הקבצים" -#: ../src/shell-uri-util.c:250 +#: ../src/shell-util.c:250 msgid "Search" msgstr "חיפוש" @@ -768,11 +839,39 @@ msgstr "חיפוש" #. * example, "Trash: some-directory". It means that the #. * directory called "some-directory" is in the trash. #. -#: ../src/shell-uri-util.c:300 +#: ../src/shell-util.c:300 #, c-format msgid "%1$s: %2$s" msgstr "%1$s: %2$s" +#~ msgid "Overview workspace view mode" +#~ msgstr "Overview workspace view mode" + +#~ msgid "" +#~ "The selected workspace view mode in the overview. Supported values are " +#~ "\"single\" and \"grid\"." +#~ msgstr "" +#~ "The selected workspace view mode in the overview. Supported values are " +#~ "\"single\" and \"grid\"." + +#~ msgid "Drag here to add favorites" +#~ msgstr "יש לגרור פריטים לכאן כדי להוסיף מועדפים" + +#~ msgid "Find" +#~ msgstr "חיפוש" + +#~ msgid "Searching..." +#~ msgstr "בחיפוש..." + +#~ msgid "No matching results." +#~ msgstr "אין תוצאות תואמות." + +#~ msgid "Invisible" +#~ msgstr "בלתי נראה" + +#~ msgid "Restart..." +#~ msgstr "הפעלה מחדש..." + #~ msgid "Account Information..." #~ msgstr "פרטי המשתמש..." @@ -797,9 +896,6 @@ msgstr "%1$s: %2$s" #~ msgid "Recent Documents" #~ msgstr "מסמכים אחרונים" -#~ msgid "Unknown" -#~ msgstr "לא ידוע" - #~ msgid "Can't lock screen: %s" #~ msgstr "לא ניתן לנעול את המסך: %s" From 563951b7898d0140e9f65c0d8071d91f18d1901c Mon Sep 17 00:00:00 2001 From: Kjartan Maraas Date: Mon, 6 Dec 2010 19:06:24 +0100 Subject: [PATCH 27/45] =?UTF-8?q?Updated=20Norwegian=20bokm=C3=A5l=20trans?= =?UTF-8?q?lation?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- po/nb.po | 227 ++++++++++++++++++++++++++++++++++++------------------- 1 file changed, 150 insertions(+), 77 deletions(-) diff --git a/po/nb.po b/po/nb.po index 440cb6c92..a8afe8c23 100644 --- a/po/nb.po +++ b/po/nb.po @@ -7,8 +7,8 @@ msgid "" msgstr "" "Project-Id-Version: gnome-shell 2.91.x\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2010-11-20 14:39+0100\n" -"PO-Revision-Date: 2010-11-20 14:40+0100\n" +"POT-Creation-Date: 2010-12-06 19:04+0100\n" +"PO-Revision-Date: 2010-12-06 19:06+0100\n" "Last-Translator: Kjartan Maraas \n" "Language-Team: Norwegian bokmål \n" "Language: \n" @@ -92,10 +92,6 @@ msgid "List of desktop file IDs for favorite applications" msgstr "" #: ../data/org.gnome.shell.gschema.xml.in.h:13 -msgid "Overview workspace view mode" -msgstr "" - -#: ../data/org.gnome.shell.gschema.xml.in.h:14 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 " @@ -107,48 +103,42 @@ msgid "" "'videorate ! theoraenc ! oggmux' and records to Ogg Theora." msgstr "" -#: ../data/org.gnome.shell.gschema.xml.in.h:15 +#: ../data/org.gnome.shell.gschema.xml.in.h:14 msgid "Show date in clock" msgstr "Vis dato i klokken" -#: ../data/org.gnome.shell.gschema.xml.in.h:16 +#: ../data/org.gnome.shell.gschema.xml.in.h:15 msgid "Show the week date in the calendar" msgstr "Vis dato for uken i kalender" -#: ../data/org.gnome.shell.gschema.xml.in.h:17 +#: ../data/org.gnome.shell.gschema.xml.in.h:16 msgid "Show time with seconds" msgstr "Vis tid med sekunder" -#: ../data/org.gnome.shell.gschema.xml.in.h:18 +#: ../data/org.gnome.shell.gschema.xml.in.h:17 msgid "" "The applications corresponding to these identifiers will be displayed in the " "favorites area." msgstr "" -#: ../data/org.gnome.shell.gschema.xml.in.h:19 +#: ../data/org.gnome.shell.gschema.xml.in.h:18 msgid "" "The filename for recorded screencasts will be a unique filename based on the " "current date, and use this extension. It should be changed when recording to " "a different container format." msgstr "" -#: ../data/org.gnome.shell.gschema.xml.in.h:20 +#: ../data/org.gnome.shell.gschema.xml.in.h:19 msgid "" "The framerate of the resulting screencast recordered by GNOME Shell's " "screencast recorder in frames-per-second." msgstr "" -#: ../data/org.gnome.shell.gschema.xml.in.h:21 +#: ../data/org.gnome.shell.gschema.xml.in.h:20 msgid "The gstreamer pipeline used to encode the screencast" msgstr "" -#: ../data/org.gnome.shell.gschema.xml.in.h:22 -msgid "" -"The selected workspace view mode in the overview. Supported values are " -"\"single\" and \"grid\"." -msgstr "" - -#: ../data/org.gnome.shell.gschema.xml.in.h:23 +#: ../data/org.gnome.shell.gschema.xml.in.h:21 msgid "" "The shell normally monitors active applications in order to present the most " "used ones (e.g. in launchers). While this data will be kept private, you may " @@ -156,7 +146,7 @@ msgid "" "remove already saved data." msgstr "" -#: ../data/org.gnome.shell.gschema.xml.in.h:24 +#: ../data/org.gnome.shell.gschema.xml.in.h:22 msgid "" "This key specifies the format used by the panel clock when the format key is " "set to \"custom\". You can use conversion specifiers understood by strftime" @@ -164,7 +154,7 @@ msgid "" "information." msgstr "" -#: ../data/org.gnome.shell.gschema.xml.in.h:25 +#: ../data/org.gnome.shell.gschema.xml.in.h:23 msgid "" "This key specifies the hour format used by the panel clock. Possible values " "are \"12-hour\", \"24-hour\", \"unix\" and \"custom\". If set to \"unix\", " @@ -174,11 +164,11 @@ msgid "" "the show_date and show_seconds keys are ignored." msgstr "" -#: ../data/org.gnome.shell.gschema.xml.in.h:26 +#: ../data/org.gnome.shell.gschema.xml.in.h:24 msgid "Uuids of extensions to disable" msgstr "Uuider på utvidelser som skal slås av" -#: ../data/org.gnome.shell.gschema.xml.in.h:27 +#: ../data/org.gnome.shell.gschema.xml.in.h:25 msgid "Whether to collect stats about applications usage" msgstr "Om det skal samles statistikk om bruk av programmer" @@ -335,62 +325,41 @@ msgstr "_12-timers format" msgid "_24 hour format" msgstr "_24-timers format" -#. **** Applications **** -#: ../js/ui/appDisplay.js:316 ../js/ui/dash.js:778 +#: ../js/ui/appDisplay.js:215 msgid "APPLICATIONS" msgstr "PROGRAMMER" -#: ../js/ui/appDisplay.js:348 +#: ../js/ui/appDisplay.js:245 msgid "PREFERENCES" msgstr "BRUKERVALG" -#: ../js/ui/appDisplay.js:647 +#: ../js/ui/appDisplay.js:542 msgid "New Window" msgstr "Nytt vindu" -#: ../js/ui/appDisplay.js:651 +#: ../js/ui/appDisplay.js:546 msgid "Remove from Favorites" msgstr "Fjern fra favoritter" -#: ../js/ui/appDisplay.js:652 +#: ../js/ui/appDisplay.js:547 msgid "Add to Favorites" msgstr "Legg til i favoritter" -#: ../js/ui/appDisplay.js:829 -msgid "Drag here to add favorites" -msgstr "Dra hit for å legge til favoritter" - -#: ../js/ui/appFavorites.js:88 +#: ../js/ui/appFavorites.js:91 #, c-format msgid "%s has been added to your favorites." msgstr "%s ble lagt til i dine favoritter." -#: ../js/ui/appFavorites.js:107 +#: ../js/ui/appFavorites.js:122 #, c-format msgid "%s has been removed from your favorites." msgstr "%s ble fjernet fra dine favoritter." -#: ../js/ui/dash.js:142 -msgid "Find" -msgstr "Finn" +#: ../js/ui/dash.js:27 +msgid "Remove" +msgstr "Fjern" -#: ../js/ui/dash.js:473 -msgid "Searching..." -msgstr "Søker..." - -#: ../js/ui/dash.js:487 -msgid "No matching results." -msgstr "Ingen treff." - -#. **** Places **** -#. Translators: This is in the sense of locations for documents, -#. network locations, etc. -#: ../js/ui/dash.js:797 ../js/ui/placeDisplay.js:558 -msgid "PLACES & DEVICES" -msgstr "STEDER & ENHETER" - -#. **** Documents **** -#: ../js/ui/dash.js:804 ../js/ui/docDisplay.js:494 +#: ../js/ui/docDisplay.js:494 msgid "RECENT ITEMS" msgstr "SISTE OPPFØRINGER" @@ -424,7 +393,7 @@ msgstr "Vis kildekode" msgid "Web Page" msgstr "Nettside" -#: ../js/ui/overview.js:160 +#: ../js/ui/overview.js:112 msgid "Undo" msgstr "Angre" @@ -497,6 +466,10 @@ msgstr "Prøv igjen" msgid "Connect to..." msgstr "Koble til..." +#: ../js/ui/placeDisplay.js:558 +msgid "PLACES & DEVICES" +msgstr "STEDER & ENHETER" + #. Translators: this MUST be either "toggle-switch-us" #. (for toggle switches containing the English words #. "ON" and "OFF") or "toggle-switch-intl" (for toggle @@ -524,12 +497,12 @@ msgid "Busy" msgstr "Opptatt" #: ../js/ui/statusMenu.js:114 -msgid "My Account..." -msgstr "Min konto..." +msgid "My Account" +msgstr "Min konto" #: ../js/ui/statusMenu.js:118 -msgid "System Settings..." -msgstr "Systeminnstillinger..." +msgid "System Settings" +msgstr "Systeminnstillinger" #: ../js/ui/statusMenu.js:125 msgid "Lock Screen" @@ -544,13 +517,17 @@ msgid "Log Out..." msgstr "Logg ut..." #: ../js/ui/statusMenu.js:141 -msgid "Suspend" -msgstr "Hvilemodus" +msgid "Suspend..." +msgstr "Hvilemodus..." #: ../js/ui/statusMenu.js:145 msgid "Shut Down..." msgstr "Avslutt..." +#: ../js/ui/status/accessibility.js:82 +msgid "Zoom" +msgstr "Zoom" + #: ../js/ui/status/accessibility.js:88 msgid "Screen Reader" msgstr "Skjermleser" @@ -591,9 +568,109 @@ msgstr "Høy kontrast" msgid "Large Text" msgstr "Stor tekst" -#: ../js/ui/status/accessibility.js:224 -msgid "Zoom" -msgstr "Zoom" +#: ../js/ui/status/power.js:87 +msgid "What's using power..." +msgstr "Hva bruker strøm..." + +#: ../js/ui/status/power.js:90 +msgid "Power Settings" +msgstr "Innstillinger for strøm" + +#: ../js/ui/status/power.js:117 +#, c-format +msgid "%d hour remaining" +msgid_plural "%d hours remaining" +msgstr[0] "%d time gjenstår" +msgstr[1] "%d timer gjenstår" + +#. TRANSLATORS: this is a time string, as in "%d hours %d minutes remaining" +#: ../js/ui/status/power.js:120 +#, c-format +msgid "%d %s %d %s remaining" +msgstr "%d %s %d %s gjenstår" + +#: ../js/ui/status/power.js:122 +msgid "hour" +msgid_plural "hours" +msgstr[0] "time" +msgstr[1] "timer" + +#: ../js/ui/status/power.js:122 +msgid "minute" +msgid_plural "minutes" +msgstr[0] "minutt" +msgstr[1] "minutter" + +#: ../js/ui/status/power.js:125 +#, c-format +msgid "%d minute remaining" +msgid_plural "%d minutes remaining" +msgstr[0] "%d minutt gjenstår" +msgstr[1] "%d minutter gjenstår" + +#: ../js/ui/status/power.js:244 +msgid "AC adapter" +msgstr "Strømadapter" + +#: ../js/ui/status/power.js:246 +msgid "Laptop battery" +msgstr "Batteri på bærbar" + +#: ../js/ui/status/power.js:248 +msgid "UPS" +msgstr "UPS" + +#: ../js/ui/status/power.js:250 +msgid "Monitor" +msgstr "Skjerm" + +#: ../js/ui/status/power.js:252 +msgid "Mouse" +msgstr "Mus" + +#: ../js/ui/status/power.js:254 +msgid "Keyboard" +msgstr "Tastatur" + +#: ../js/ui/status/power.js:256 +msgid "PDA" +msgstr "PDA" + +#: ../js/ui/status/power.js:258 +msgid "Cell phone" +msgstr "Mobiltelefon" + +#: ../js/ui/status/power.js:260 +msgid "Media player" +msgstr "Medieavspiller" + +#: ../js/ui/status/power.js:262 +msgid "Tablet" +msgstr "Nettbrett" + +#: ../js/ui/status/power.js:264 +msgid "Computer" +msgstr "Datamaskin" + +#: ../js/ui/status/power.js:266 ../src/shell-app-system.c:1012 +msgid "Unknown" +msgstr "Ukjent" + +#: ../js/ui/status/volume.js:41 +msgid "Volume" +msgstr "Volum" + +#: ../js/ui/status/volume.js:54 +msgid "Microphone" +msgstr "Mikrofon" + +#: ../js/ui/status/volume.js:62 +msgid "Sound Settings" +msgstr "Innstillinger for lyd" + +#: ../js/ui/viewSelector.js:26 +msgid "Search your computer" +msgstr "Søk på din datamaskin" #: ../js/ui/windowAttentionHandler.js:43 #, c-format @@ -605,14 +682,14 @@ msgstr "%s er ferdig startet" msgid "'%s' is ready" msgstr "«%s» er klar" -#: ../js/ui/workspacesView.js:229 +#: ../js/ui/workspacesView.js:244 msgid "" "Can't add a new workspace because maximum workspaces limit has been reached." msgstr "" "Kan ikke legge til nytt arbeidsområde fordi grensen for maksimalt antall " "arbeidsområder er nådd." -#: ../js/ui/workspacesView.js:246 +#: ../js/ui/workspacesView.js:260 msgid "Can't remove the first workspace." msgstr "Kan ikke fjerne første arbeidsområde" @@ -638,36 +715,32 @@ msgstr[1] "%u innganger" msgid "System Sounds" msgstr "Systemlyder" -#: ../src/shell-app-system.c:1012 -msgid "Unknown" -msgstr "Ukjent" - -#: ../src/shell-global.c:1158 +#: ../src/shell-global.c:1163 msgid "Less than a minute ago" msgstr "Mindre enn ett minutt siden" -#: ../src/shell-global.c:1162 +#: ../src/shell-global.c:1167 #, c-format msgid "%d minute ago" msgid_plural "%d minutes ago" msgstr[0] "%d minutt siden" msgstr[1] "%d minutter siden" -#: ../src/shell-global.c:1167 +#: ../src/shell-global.c:1172 #, c-format msgid "%d hour ago" msgid_plural "%d hours ago" msgstr[0] "%d time siden" msgstr[1] "%d timer siden" -#: ../src/shell-global.c:1172 +#: ../src/shell-global.c:1177 #, c-format msgid "%d day ago" msgid_plural "%d days ago" msgstr[0] "%d dag siden" msgstr[1] "%d dager siden" -#: ../src/shell-global.c:1177 +#: ../src/shell-global.c:1182 #, c-format msgid "%d week ago" msgid_plural "%d weeks ago" From ff77994204c868df71fbf1d0e366dbf253819338 Mon Sep 17 00:00:00 2001 From: "Owen W. Taylor" Date: Mon, 6 Dec 2010 17:29:53 -0500 Subject: [PATCH 28/45] Add missing deps for st-enum-types.h st-enum-types.h needs to be regenerated when the St header files change. --- src/Makefile-st.am | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/Makefile-st.am b/src/Makefile-st.am index 40d27c56e..4d5d5476e 100644 --- a/src/Makefile-st.am +++ b/src/Makefile-st.am @@ -47,7 +47,7 @@ st-marshal.c: Makefile st/st-marshal.list st-enum-types.h: stamp-st-enum-types.h Makefile @true -stamp-st-enum-types.h: $(source_h) st/st-enum-types.h.in +stamp-st-enum-types.h: $(source_h) st/st-enum-types.h.in $(st_source_h) $(AM_V_GEN) ( cd $(srcdir) && \ $(GLIB_MKENUMS) \ --template st/st-enum-types.h.in \ From 0bbeb733a2df016f3fdf349a659d7b6964719d14 Mon Sep 17 00:00:00 2001 From: Jonh Wendell Date: Tue, 7 Dec 2010 09:01:21 -0200 Subject: [PATCH 29/45] Updated Brazilian Portuguese translation --- po/pt_BR.po | 356 ++++++++++++++++++++++++++++++++-------------------- 1 file changed, 222 insertions(+), 134 deletions(-) diff --git a/po/pt_BR.po b/po/pt_BR.po index e2eb91636..5a0da7cf5 100644 --- a/po/pt_BR.po +++ b/po/pt_BR.po @@ -5,16 +5,17 @@ # Rodrigo Flores , 2009. # Felipe Borges , 2010. # Henrique P. Machado , 2010. +# Jonh Wendell , 2010. # msgid "" msgstr "" "Project-Id-Version: \n" -"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug.cgi?product=gnome-" -"shell&component=general\n" -"POT-Creation-Date: 2010-10-30 17:51+0000\n" -"PO-Revision-Date: 2010-09-02 17:36-0300\n" -"Last-Translator: Henrique P. Machado \n" -"Language-Team: Brazilian Portuguese \n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2010-12-07 08:59-0200\n" +"PO-Revision-Date: 2010-12-06 16:03+0100\n" +"Last-Translator: Jonh Wendell \n" +"Language-Team: Brazilian Portuguese \n" +"Language: pt_BR\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" @@ -104,10 +105,6 @@ msgstr "" "Lista dos IDs de arquivo de área de trabalho para os aplicativos favoritos" #: ../data/org.gnome.shell.gschema.xml.in.h:13 -msgid "Overview workspace view mode" -msgstr "Resumo do modo de visão de áreas de trabalho" - -#: ../data/org.gnome.shell.gschema.xml.in.h:14 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 " @@ -128,19 +125,19 @@ msgstr "" "o fluxo de processamento padrão será usado. Atualmente é 'videorate ! " "theoraenc ! oggmux' e gravação no formato Ogg Theora." -#: ../data/org.gnome.shell.gschema.xml.in.h:15 +#: ../data/org.gnome.shell.gschema.xml.in.h:14 msgid "Show date in clock" msgstr "Mostrar data no relógio" -#: ../data/org.gnome.shell.gschema.xml.in.h:16 +#: ../data/org.gnome.shell.gschema.xml.in.h:15 msgid "Show the week date in the calendar" msgstr "Mostrar o número da semana no calendário" -#: ../data/org.gnome.shell.gschema.xml.in.h:17 +#: ../data/org.gnome.shell.gschema.xml.in.h:16 msgid "Show time with seconds" msgstr "Mostrar horário com segundos" -#: ../data/org.gnome.shell.gschema.xml.in.h:18 +#: ../data/org.gnome.shell.gschema.xml.in.h:17 msgid "" "The applications corresponding to these identifiers will be displayed in the " "favorites area." @@ -148,7 +145,7 @@ msgstr "" "Os aplicativos correspondentes a estes identificadores serão exibidos na " "área de favoritos." -#: ../data/org.gnome.shell.gschema.xml.in.h:19 +#: ../data/org.gnome.shell.gschema.xml.in.h:18 msgid "" "The filename for recorded screencasts will be a unique filename based on the " "current date, and use this extension. It should be changed when recording to " @@ -158,7 +155,7 @@ msgstr "" "baseado na data atual e usará esta extensão. Ele deve ser alterado ao gravar " "para um contêiner de formato diferente." -#: ../data/org.gnome.shell.gschema.xml.in.h:20 +#: ../data/org.gnome.shell.gschema.xml.in.h:19 msgid "" "The framerate of the resulting screencast recordered by GNOME Shell's " "screencast recorder in frames-per-second." @@ -166,19 +163,11 @@ msgstr "" "A taxa de quadros do screencast resultante gravado pelo gravador de " "screencastsdo GNOME Shell em quadros por segundo." -#: ../data/org.gnome.shell.gschema.xml.in.h:21 +#: ../data/org.gnome.shell.gschema.xml.in.h:20 msgid "The gstreamer pipeline used to encode the screencast" msgstr "A fila de processamento gstreamer usada para codificar o screencast" -#: ../data/org.gnome.shell.gschema.xml.in.h:22 -msgid "" -"The selected workspace view mode in the overview. Supported values are " -"\"single\" and \"grid\"." -msgstr "" -"O o modo de visão do espaço de trabalho na visão geral. Valores aceitos são: " -"\"single\" e \"grid\"." - -#: ../data/org.gnome.shell.gschema.xml.in.h:23 +#: ../data/org.gnome.shell.gschema.xml.in.h:21 msgid "" "The shell normally monitors active applications in order to present the most " "used ones (e.g. in launchers). While this data will be kept private, you may " @@ -190,7 +179,7 @@ msgstr "" "segurança, você pode querer desabilitá-los por razões de privacidade. Por " "favor, note que que ao fazer isso não removerá os dado já salvos." -#: ../data/org.gnome.shell.gschema.xml.in.h:24 +#: ../data/org.gnome.shell.gschema.xml.in.h:22 msgid "" "This key specifies the format used by the panel clock when the format key is " "set to \"custom\". You can use conversion specifiers understood by strftime" @@ -202,7 +191,7 @@ msgstr "" "especificadores de conversão entendidos pela função strftime() para obter um " "formato específico. Veja o manual da strftime() para maiores informações." -#: ../data/org.gnome.shell.gschema.xml.in.h:25 +#: ../data/org.gnome.shell.gschema.xml.in.h:23 msgid "" "This key specifies the hour format used by the panel clock. Possible values " "are \"12-hour\", \"24-hour\", \"unix\" and \"custom\". If set to \"unix\", " @@ -219,11 +208,11 @@ msgstr "" "custom_format. Note que se definida tanto como \"unix\" ou \"custom\", as " "chaves show_date e show_seconds serão igoradas." -#: ../data/org.gnome.shell.gschema.xml.in.h:26 +#: ../data/org.gnome.shell.gschema.xml.in.h:24 msgid "Uuids of extensions to disable" msgstr "Uuids das extensões a desabilitar" -#: ../data/org.gnome.shell.gschema.xml.in.h:27 +#: ../data/org.gnome.shell.gschema.xml.in.h:25 msgid "Whether to collect stats about applications usage" msgstr "Quando coletar dados sobre uso de aplicativos" @@ -269,7 +258,6 @@ msgstr "" #: ../data/org.gnome.accessibility.magnifier.gschema.xml.in.h:7 #, fuzzy -#| msgid "Enabled" msgid "Enable lens mode" msgstr "Habilitado" @@ -382,62 +370,41 @@ msgstr "Formato de _12 horas" msgid "_24 hour format" msgstr "Formato de _24 horas" -#. **** Applications **** -#: ../js/ui/appDisplay.js:316 ../js/ui/dash.js:778 +#: ../js/ui/appDisplay.js:215 msgid "APPLICATIONS" msgstr "APLICATIVOS" -#: ../js/ui/appDisplay.js:348 +#: ../js/ui/appDisplay.js:245 msgid "PREFERENCES" msgstr "PREFERÊNCIAS" -#: ../js/ui/appDisplay.js:647 +#: ../js/ui/appDisplay.js:542 msgid "New Window" msgstr "Nova janela" -#: ../js/ui/appDisplay.js:651 +#: ../js/ui/appDisplay.js:546 msgid "Remove from Favorites" -msgstr "Remover dos Favoritos" +msgstr "Remover dos favoritos" -#: ../js/ui/appDisplay.js:652 +#: ../js/ui/appDisplay.js:547 msgid "Add to Favorites" -msgstr "Adicionar aos Favoritos" +msgstr "Adicionar aos favoritos" -#: ../js/ui/appDisplay.js:829 -msgid "Drag here to add favorites" -msgstr "Arraste até aqui para adicionar aos favoritos" - -#: ../js/ui/appFavorites.js:88 +#: ../js/ui/appFavorites.js:91 #, c-format msgid "%s has been added to your favorites." msgstr "%s foi adicionado aos seus favoritos." -#: ../js/ui/appFavorites.js:107 +#: ../js/ui/appFavorites.js:122 #, c-format msgid "%s has been removed from your favorites." msgstr "%s foi removido dos seus favoritos." -#: ../js/ui/dash.js:142 -msgid "Find" -msgstr "Localizar" +#: ../js/ui/dash.js:27 +msgid "Remove" +msgstr "Remover" -#: ../js/ui/dash.js:473 -msgid "Searching..." -msgstr "Pesquisando..." - -#: ../js/ui/dash.js:487 -msgid "No matching results." -msgstr "Nenhum resultado encontrado." - -#. **** Places **** -#. Translators: This is in the sense of locations for documents, -#. network locations, etc. -#: ../js/ui/dash.js:797 ../js/ui/placeDisplay.js:554 -msgid "PLACES & DEVICES" -msgstr "LOCAIS & DISPOSITIVOS" - -#. **** Documents **** -#: ../js/ui/dash.js:804 ../js/ui/docDisplay.js:494 +#: ../js/ui/docDisplay.js:494 msgid "RECENT ITEMS" msgstr "DOCUMENTOS RECENTES" @@ -471,63 +438,63 @@ msgstr "Ver fonte" msgid "Web Page" msgstr "Página Web" -#: ../js/ui/overview.js:160 +#: ../js/ui/overview.js:112 msgid "Undo" msgstr "Desfazer" #. TODO - _quit() doesn't really work on apps in state STARTING yet -#: ../js/ui/panel.js:469 +#: ../js/ui/panel.js:470 #, c-format msgid "Quit %s" msgstr "Sair de %s" -#: ../js/ui/panel.js:494 +#: ../js/ui/panel.js:495 msgid "Preferences" msgstr "Preferências" #. Translators: This is the time format with date used #. in 24-hour mode. -#: ../js/ui/panel.js:580 +#: ../js/ui/panel.js:581 msgid "%a %b %e, %R:%S" msgstr "%a %b %e, %R:%S" -#: ../js/ui/panel.js:581 +#: ../js/ui/panel.js:582 msgid "%a %b %e, %R" msgstr "%a %b %e, %R" #. Translators: This is the time format without date used #. in 24-hour mode. -#: ../js/ui/panel.js:585 +#: ../js/ui/panel.js:586 msgid "%a %R:%S" msgstr "%a %R:%S" -#: ../js/ui/panel.js:586 +#: ../js/ui/panel.js:587 msgid "%a %R" msgstr "%a %R" #. Translators: This is a time format with date used #. for AM/PM. -#: ../js/ui/panel.js:593 +#: ../js/ui/panel.js:594 msgid "%a %b %e, %l:%M:%S %p" msgstr "%a %e de %b, %H:%M:%S" -#: ../js/ui/panel.js:594 +#: ../js/ui/panel.js:595 msgid "%a %b %e, %l:%M %p" msgstr "%a %e de %b, %H:%M" #. Translators: This is a time format without date used #. for AM/PM. -#: ../js/ui/panel.js:598 +#: ../js/ui/panel.js:599 msgid "%a %l:%M:%S %p" msgstr "%a %H:%M:%S" -#: ../js/ui/panel.js:599 +#: ../js/ui/panel.js:600 msgid "%a %l:%M %p" msgstr "%a %H:%M" #. Button on the left side of the panel. #. Translators: If there is no suitable word for "Activities" in your language, you can use the word for "Overview". -#: ../js/ui/panel.js:744 +#: ../js/ui/panel.js:745 msgid "Activities" msgstr "Atividades" @@ -544,6 +511,10 @@ msgstr "Tentar novamente" msgid "Connect to..." msgstr "Conectar ao..." +#: ../js/ui/placeDisplay.js:558 +msgid "PLACES & DEVICES" +msgstr "LOCAIS & DISPOSITIVOS" + #. Translators: this MUST be either "toggle-switch-us" #. (for toggle switches containing the English words #. "ON" and "OFF") or "toggle-switch-intl" (for toggle @@ -551,7 +522,7 @@ msgstr "Conectar ao..." #. simply result in invisible toggle switches. #: ../js/ui/popupMenu.js:33 msgid "toggle-switch-us" -msgstr "" +msgstr "toggle-switch-us" #: ../js/ui/runDialog.js:233 msgid "Please enter a command:" @@ -570,86 +541,181 @@ msgstr "Disponível" msgid "Busy" msgstr "Ocupado" -#: ../js/ui/statusMenu.js:111 -msgid "Invisible" -msgstr "Invisível" +#: ../js/ui/statusMenu.js:114 +msgid "My Account" +msgstr "Minha conta" -#: ../js/ui/statusMenu.js:119 -msgid "My Account..." -msgstr "" +#: ../js/ui/statusMenu.js:118 +msgid "System Settings" +msgstr "Configurações do sistema" -#: ../js/ui/statusMenu.js:123 -#| msgid "System Preferences..." -msgid "System Settings..." -msgstr "Configurações do sistema..." - -#: ../js/ui/statusMenu.js:130 +#: ../js/ui/statusMenu.js:125 msgid "Lock Screen" -msgstr "Travar a tela" +msgstr "Bloquear a tela" -#: ../js/ui/statusMenu.js:134 +#: ../js/ui/statusMenu.js:129 msgid "Switch User" msgstr "Alternar usuário" -#: ../js/ui/statusMenu.js:139 +#: ../js/ui/statusMenu.js:134 msgid "Log Out..." msgstr "Encerrar sessão..." -#: ../js/ui/statusMenu.js:146 -msgid "Suspend" -msgstr "" +#: ../js/ui/statusMenu.js:141 +msgid "Suspend..." +msgstr "Suspender..." -#: ../js/ui/statusMenu.js:150 -msgid "Restart..." -msgstr "" - -#: ../js/ui/statusMenu.js:154 +#: ../js/ui/statusMenu.js:145 msgid "Shut Down..." msgstr "Desligar..." +#: ../js/ui/status/accessibility.js:82 +msgid "Zoom" +msgstr "Ampliador" + #: ../js/ui/status/accessibility.js:88 msgid "Screen Reader" -msgstr "" +msgstr "Leitor de tela" #: ../js/ui/status/accessibility.js:91 msgid "Screen Keyboard" -msgstr "" +msgstr "Teclado na tela" #: ../js/ui/status/accessibility.js:94 msgid "Visual Alerts" -msgstr "" +msgstr "Alertas visuais" #: ../js/ui/status/accessibility.js:97 msgid "Sticky Keys" -msgstr "" +msgstr "Teclas de aderência" #: ../js/ui/status/accessibility.js:100 msgid "Slow Keys" -msgstr "" +msgstr "Teclas lentas" #: ../js/ui/status/accessibility.js:103 msgid "Bounce Keys" -msgstr "" +msgstr "Teclas de repercussão" #: ../js/ui/status/accessibility.js:106 msgid "Mouse Keys" -msgstr "" +msgstr "Teclas do mouse" #: ../js/ui/status/accessibility.js:110 msgid "Universal Access Settings" -msgstr "" +msgstr "Configurações de acesso universal" #: ../js/ui/status/accessibility.js:163 msgid "High Contrast" -msgstr "" +msgstr "Alto contraste" -#: ../js/ui/status/accessibility.js:202 +#: ../js/ui/status/accessibility.js:205 msgid "Large Text" -msgstr "" +msgstr "Texto grande" -#: ../js/ui/status/accessibility.js:223 -msgid "Zoom" -msgstr "" +#: ../js/ui/status/power.js:87 +msgid "What's using power..." +msgstr "Onde a energia está sendo gasta..." + +#: ../js/ui/status/power.js:90 +msgid "Power Settings" +msgstr "Gerenciamento de energia..." + +#: ../js/ui/status/power.js:117 +#, c-format +msgid "%d hour remaining" +msgid_plural "%d hours remaining" +msgstr[0] "%d hora restante" +msgstr[1] "%d horas restantes" + +#. TRANSLATORS: this is a time string, as in "%d hours %d minutes remaining" +#: ../js/ui/status/power.js:120 +#, c-format +msgid "%d %s %d %s remaining" +msgstr "%d %s e %d %s restantes" + +#: ../js/ui/status/power.js:122 +msgid "hour" +msgid_plural "hours" +msgstr[0] "hora" +msgstr[1] "horas" + +#: ../js/ui/status/power.js:122 +msgid "minute" +msgid_plural "minutes" +msgstr[0] "minuto" +msgstr[1] "minutos" + +#: ../js/ui/status/power.js:125 +#, c-format +msgid "%d minute remaining" +msgid_plural "%d minutes remaining" +msgstr[0] "%d minuto restante" +msgstr[1] "%d minutos restantes" + +#: ../js/ui/status/power.js:244 +msgid "AC adapter" +msgstr "Tomada" + +#: ../js/ui/status/power.js:246 +msgid "Laptop battery" +msgstr "Bateria do laptop" + +#: ../js/ui/status/power.js:248 +msgid "UPS" +msgstr "UPS" + +#: ../js/ui/status/power.js:250 +msgid "Monitor" +msgstr "Monitor" + +#: ../js/ui/status/power.js:252 +msgid "Mouse" +msgstr "Mouse" + +#: ../js/ui/status/power.js:254 +msgid "Keyboard" +msgstr "Teclado" + +#: ../js/ui/status/power.js:256 +msgid "PDA" +msgstr "PDA" + +#: ../js/ui/status/power.js:258 +msgid "Cell phone" +msgstr "Telefone celular" + +#: ../js/ui/status/power.js:260 +msgid "Media player" +msgstr "Reprodutor de música" + +#: ../js/ui/status/power.js:262 +msgid "Tablet" +msgstr "Tablet" + +#: ../js/ui/status/power.js:264 +msgid "Computer" +msgstr "Computador" + +#: ../js/ui/status/power.js:266 ../src/shell-app-system.c:1012 +msgid "Unknown" +msgstr "Desconhecido" + +#: ../js/ui/status/volume.js:41 +msgid "Volume" +msgstr "Volume" + +#: ../js/ui/status/volume.js:54 +msgid "Microphone" +msgstr "Microfone" + +#: ../js/ui/status/volume.js:62 +msgid "Sound Settings" +msgstr "Configurações de som" + +#: ../js/ui/viewSelector.js:26 +msgid "Search your computer" +msgstr "Pesquise no seu computador" #: ../js/ui/windowAttentionHandler.js:43 #, c-format @@ -661,14 +727,14 @@ msgstr "%s terminou sua inicialização" msgid "'%s' is ready" msgstr "\"%s\" está pronto" -#: ../js/ui/workspacesView.js:229 +#: ../js/ui/workspacesView.js:244 msgid "" "Can't add a new workspace because maximum workspaces limit has been reached." msgstr "" "Não é possível adicionar um novo espaço de trabalho porque foi atingido o " "limite." -#: ../js/ui/workspacesView.js:246 +#: ../js/ui/workspacesView.js:260 msgid "Can't remove the first workspace." msgstr "Não é possível remover o primeiro espaço de trabalho." @@ -678,8 +744,8 @@ msgstr "Não é possível remover o primeiro espaço de trabalho." #, c-format msgid "%u Output" msgid_plural "%u Outputs" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "%u saída" +msgstr[1] "%u saídas" #. translators: #. * The number of sound inputs on a particular device @@ -687,56 +753,56 @@ msgstr[1] "" #, c-format msgid "%u Input" msgid_plural "%u Inputs" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "%u entrada" +msgstr[1] "%u entradas" #: ../src/gvc/gvc-mixer-control.c:1402 msgid "System Sounds" -msgstr "" +msgstr "Sons do sistema" -#: ../src/shell-global.c:1219 +#: ../src/shell-global.c:1163 msgid "Less than a minute ago" msgstr "Há menos de um minuto" -#: ../src/shell-global.c:1223 +#: ../src/shell-global.c:1167 #, c-format msgid "%d minute ago" msgid_plural "%d minutes ago" msgstr[0] "Há %d minuto" msgstr[1] "Há %d minutos" -#: ../src/shell-global.c:1228 +#: ../src/shell-global.c:1172 #, c-format msgid "%d hour ago" msgid_plural "%d hours ago" msgstr[0] "Há %d hora" msgstr[1] "Há %d horas" -#: ../src/shell-global.c:1233 +#: ../src/shell-global.c:1177 #, c-format msgid "%d day ago" msgid_plural "%d days ago" msgstr[0] "Há %d dia" msgstr[1] "Há %d dias" -#: ../src/shell-global.c:1238 +#: ../src/shell-global.c:1182 #, c-format msgid "%d week ago" msgid_plural "%d weeks ago" msgstr[0] "Há %d semana" msgstr[1] "Há %d semanas" -#: ../src/shell-uri-util.c:89 +#: ../src/shell-util.c:89 msgid "Home Folder" msgstr "Pasta pessoal" #. Translators: this is the same string as the one found in #. * nautilus -#: ../src/shell-uri-util.c:104 +#: ../src/shell-util.c:104 msgid "File System" msgstr "Sistema de arquivos" -#: ../src/shell-uri-util.c:250 +#: ../src/shell-util.c:250 msgid "Search" msgstr "Pesquisar" @@ -745,11 +811,36 @@ msgstr "Pesquisar" #. * example, "Trash: some-directory". It means that the #. * directory called "some-directory" is in the trash. #. -#: ../src/shell-uri-util.c:300 +#: ../src/shell-util.c:300 #, c-format msgid "%1$s: %2$s" msgstr "%1$s: %2$s" +#~ msgid "Overview workspace view mode" +#~ msgstr "Resumo do modo de visão de áreas de trabalho" + +#~ msgid "" +#~ "The selected workspace view mode in the overview. Supported values are " +#~ "\"single\" and \"grid\"." +#~ msgstr "" +#~ "O o modo de visão do espaço de trabalho na visão geral. Valores aceitos " +#~ "são: \"single\" e \"grid\"." + +#~ msgid "Drag here to add favorites" +#~ msgstr "Arraste até aqui para adicionar aos favoritos" + +#~ msgid "Find" +#~ msgstr "Localizar" + +#~ msgid "Searching..." +#~ msgstr "Pesquisando..." + +#~ msgid "No matching results." +#~ msgstr "Nenhum resultado encontrado." + +#~ msgid "Invisible" +#~ msgstr "Invisível" + #~ msgid "ON" #~ msgstr "⚪" @@ -777,9 +868,6 @@ msgstr "%1$s: %2$s" #~ msgid "SEARCH RESULTS" #~ msgstr "RESULTADOS DA BUSCA" -#~ msgid "Unknown" -#~ msgstr "Desconhecido" - #~ msgid "Can't lock screen: %s" #~ msgstr "Não foi possível travar a tela: %s" From e425a183f7e36371379e9ada91e2632f0a840a52 Mon Sep 17 00:00:00 2001 From: Ray Strode Date: Thu, 18 Nov 2010 00:05:02 -0500 Subject: [PATCH 30/45] gdm: pull async fix from upstream This prevents a race at start up that could prevent the user from getting loaded properly. In the near future we need to drop the gdm user code entirely and switch to using the accountsservice library. --- src/gdmuser/gdm-user-manager.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/gdmuser/gdm-user-manager.c b/src/gdmuser/gdm-user-manager.c index b60e5a6d0..d3df15ac7 100644 --- a/src/gdmuser/gdm-user-manager.c +++ b/src/gdmuser/gdm-user-manager.c @@ -1199,6 +1199,8 @@ on_list_cached_users_finished (DBusGProxy *proxy, return; } + maybe_set_is_loaded (manager); + g_ptr_array_foreach (paths, (GFunc)add_new_user_for_object_path, manager); g_ptr_array_foreach (paths, (GFunc)g_free, NULL); From a70f1f449b2349b152f834b69f38071fb77dccda Mon Sep 17 00:00:00 2001 From: Giovanni Campagna Date: Tue, 30 Nov 2010 16:19:27 +0100 Subject: [PATCH 31/45] StIcon: don't show the icon until fully loaded When updating the texture, keep the old one until the new one is loaded. https://bugzilla.gnome.org/show_bug.cgi?id=634814 --- src/st/st-icon.c | 109 +++++++++++++++++++++++++++++++++++++---------- 1 file changed, 86 insertions(+), 23 deletions(-) diff --git a/src/st/st-icon.c b/src/st/st-icon.c index 4dc0864d9..8b2ae02f8 100644 --- a/src/st/st-icon.c +++ b/src/st/st-icon.c @@ -49,6 +49,8 @@ G_DEFINE_TYPE (StIcon, st_icon, ST_TYPE_WIDGET) struct _StIconPrivate { ClutterActor *icon_texture; + ClutterActor *pending_texture; + guint opacity_handler_id; GIcon *gicon; gchar *icon_name; @@ -143,6 +145,13 @@ st_icon_dispose (GObject *gobject) priv->icon_texture = NULL; } + if (priv->pending_texture) + { + clutter_actor_destroy (priv->pending_texture); + g_object_unref (priv->pending_texture); + priv->icon_texture = NULL; + } + if (priv->gicon) { g_object_unref (priv->gicon); @@ -401,20 +410,62 @@ on_pixbuf_changed (ClutterTexture *texture, } static void -st_icon_update (StIcon *icon) +st_icon_finish_update (StIcon *icon) { StIconPrivate *priv = icon->priv; - StThemeNode *theme_node; - StTextureCache *cache; - /* Get rid of the old one */ if (priv->icon_texture) { clutter_actor_destroy (priv->icon_texture); priv->icon_texture = NULL; } - /* Try to lookup the new one */ + if (priv->pending_texture) + { + priv->icon_texture = priv->pending_texture; + priv->pending_texture = NULL; + clutter_actor_set_parent (priv->icon_texture, CLUTTER_ACTOR (icon)); + + /* Remove the temporary ref we added */ + g_object_unref (priv->icon_texture); + + st_icon_update_shadow_material (icon); + + /* "pixbuf-change" is actually a misnomer for "texture-changed" */ + g_signal_connect (priv->icon_texture, "pixbuf-change", + G_CALLBACK (on_pixbuf_changed), icon); + } +} + +static void +opacity_changed_cb (GObject *object, + GParamSpec *pspec, + gpointer user_data) +{ + StIcon *icon = user_data; + StIconPrivate *priv = icon->priv; + + g_signal_handler_disconnect (priv->pending_texture, priv->opacity_handler_id); + priv->opacity_handler_id = 0; + + st_icon_finish_update (icon); +} + +static void +st_icon_update (StIcon *icon) +{ + StIconPrivate *priv = icon->priv; + StThemeNode *theme_node; + StTextureCache *cache; + + if (priv->pending_texture) + { + clutter_actor_destroy (priv->pending_texture); + g_object_unref (priv->pending_texture); + priv->pending_texture = NULL; + priv->opacity_handler_id = 0; + } + theme_node = st_widget_peek_theme_node (ST_WIDGET (icon)); if (theme_node == NULL) return; @@ -422,29 +473,41 @@ st_icon_update (StIcon *icon) cache = st_texture_cache_get_default (); if (priv->gicon) { - priv->icon_texture = st_texture_cache_load_gicon (cache, - (priv->icon_type != ST_ICON_APPLICATION && - priv->icon_type != ST_ICON_DOCUMENT) ? - theme_node : NULL, - priv->gicon, - priv->icon_size); + priv->pending_texture = st_texture_cache_load_gicon (cache, + (priv->icon_type != ST_ICON_APPLICATION && + priv->icon_type != ST_ICON_DOCUMENT) ? + theme_node : NULL, + priv->gicon, + priv->icon_size); } else if (priv->icon_name) { - priv->icon_texture = st_texture_cache_load_icon_name (cache, - theme_node, - priv->icon_name, - priv->icon_type, - priv->icon_size); + priv->pending_texture = st_texture_cache_load_icon_name (cache, + theme_node, + priv->icon_name, + priv->icon_type, + priv->icon_size); } - if (priv->icon_texture) - { - st_icon_update_shadow_material (icon); - clutter_actor_set_parent (priv->icon_texture, CLUTTER_ACTOR (icon)); - /* "pixbuf-change" is actually a misnomer for "texture-changed" */ - g_signal_connect (priv->icon_texture, "pixbuf-change", - G_CALLBACK (on_pixbuf_changed), icon); + if (priv->pending_texture) + { + g_object_ref_sink (priv->pending_texture); + + if (clutter_actor_get_opacity (priv->pending_texture) != 0 || priv->icon_texture == NULL) + { + /* This icon is ready for showing, or nothing else is already showing */ + st_icon_finish_update (icon); + } + else + { + /* Will be shown when fully loaded */ + priv->opacity_handler_id = g_signal_connect (priv->pending_texture, "notify::opacity", G_CALLBACK (opacity_changed_cb), icon); + } + } + else if (priv->icon_texture) + { + clutter_actor_destroy (priv->icon_texture); + priv->icon_texture = NULL; } } From 2332e2b0c56e9eb9b03a079bb5894dbb16775f48 Mon Sep 17 00:00:00 2001 From: Giovanni Campagna Date: Thu, 9 Dec 2010 17:59:58 +0100 Subject: [PATCH 32/45] StIcon: remove implementation of ::map and ::unmap They're not needed since Clutter 1.5.8, which internally keeps a list of children, used by the default implementations of ::map and ::unmap. https://bugzilla.gnome.org/show_bug.cgi?id=634814 --- src/st/st-icon.c | 24 ------------------------ 1 file changed, 24 deletions(-) diff --git a/src/st/st-icon.c b/src/st/st-icon.c index 8b2ae02f8..9cf2993a7 100644 --- a/src/st/st-icon.c +++ b/src/st/st-icon.c @@ -272,28 +272,6 @@ st_icon_paint (ClutterActor *actor) } } -static void -st_icon_map (ClutterActor *actor) -{ - StIconPrivate *priv = ST_ICON (actor)->priv; - - CLUTTER_ACTOR_CLASS (st_icon_parent_class)->map (actor); - - if (priv->icon_texture) - clutter_actor_map (priv->icon_texture); -} - -static void -st_icon_unmap (ClutterActor *actor) -{ - StIconPrivate *priv = ST_ICON (actor)->priv; - - CLUTTER_ACTOR_CLASS (st_icon_parent_class)->unmap (actor); - - if (priv->icon_texture) - clutter_actor_unmap (priv->icon_texture); -} - static void st_icon_style_changed (StWidget *widget) { @@ -325,8 +303,6 @@ st_icon_class_init (StIconClass *klass) actor_class->get_preferred_width = st_icon_get_preferred_width; actor_class->allocate = st_icon_allocate; actor_class->paint = st_icon_paint; - actor_class->map = st_icon_map; - actor_class->unmap = st_icon_unmap; widget_class->style_changed = st_icon_style_changed; From a2528a7a98ecb1bb5771ac9a4f594ad92f03cf71 Mon Sep 17 00:00:00 2001 From: Giovanni Campagna Date: Thu, 9 Dec 2010 18:01:27 +0100 Subject: [PATCH 33/45] StIcon: fill the structure corretly in _init GSlice already fills with zeros when allocating, but we need to set the shadow_material field appropriately. https://bugzilla.gnome.org/show_bug.cgi?id=634814 --- src/st/st-icon.c | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/src/st/st-icon.c b/src/st/st-icon.c index 9cf2993a7..7235dc1a8 100644 --- a/src/st/st-icon.c +++ b/src/st/st-icon.c @@ -340,12 +340,11 @@ st_icon_init (StIcon *self) { self->priv = ST_ICON_GET_PRIVATE (self); - self->priv->gicon = NULL; self->priv->icon_size = DEFAULT_ICON_SIZE; self->priv->prop_icon_size = -1; self->priv->icon_type = DEFAULT_ICON_TYPE; - self->priv->icon_texture = COGL_INVALID_HANDLE; + self->priv->shadow_material = COGL_INVALID_HANDLE; self->priv->shadow_width = -1; self->priv->shadow_height = -1; } From 8be28004861cb09fb8447667fa9e6f69e004a969 Mon Sep 17 00:00:00 2001 From: "Owen W. Taylor" Date: Thu, 9 Dec 2010 19:10:34 -0500 Subject: [PATCH 34/45] ShellGlobal: Remove root_pixmap left-over Still had a few references to the root_pixmap actor that was removed when we switched to using the root actor support in Mutter. --- src/shell-global.c | 8 -------- 1 file changed, 8 deletions(-) diff --git a/src/shell-global.c b/src/shell-global.c index 77e2d851a..71eb72895 100644 --- a/src/shell-global.c +++ b/src/shell-global.c @@ -60,8 +60,6 @@ struct _ShellGlobal { const char *userdatadir; StFocusManager *focus_manager; - /* Displays the root window; see shell_global_create_root_pixmap_actor() */ - ClutterActor *root_pixmap; GdkWindow *stage_window; gint last_change_screen_width, last_change_screen_height; @@ -220,7 +218,6 @@ shell_global_init (ShellGlobal *global) g_signal_connect (global->grab_notifier, "grab-notify", G_CALLBACK (grab_notify), global); global->gtk_grab_active = FALSE; - global->root_pixmap = NULL; global->stage_window = NULL; global->input_mode = SHELL_STAGE_INPUT_MODE_NORMAL; @@ -656,11 +653,6 @@ update_screen_size (gpointer data) global->last_change_screen_width = width; global->last_change_screen_height = height; - /* update size of background actor to fix tiled backgrounds */ - if (global->root_pixmap) - clutter_actor_set_size (CLUTTER_ACTOR (global->root_pixmap), - width, height); - return FALSE; } From 26a5197d33b374d41d6b9ebd2341c8c059dbe769 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Fran=20Di=C3=A9guez?= Date: Fri, 10 Dec 2010 23:30:32 +0100 Subject: [PATCH 35/45] Updated Galician translations --- po/gl.po | 132 +++++++++++++++++++++++++++++++++++++++++++++++-------- 1 file changed, 114 insertions(+), 18 deletions(-) diff --git a/po/gl.po b/po/gl.po index 1e7e309b7..fca041fbe 100644 --- a/po/gl.po +++ b/po/gl.po @@ -10,8 +10,8 @@ msgid "" msgstr "" "Project-Id-Version: gnome-shell master\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2010-11-29 17:32+0100\n" -"PO-Revision-Date: 2010-11-29 17:33+0100\n" +"POT-Creation-Date: 2010-12-10 23:25+0100\n" +"PO-Revision-Date: 2010-12-10 23:29+0100\n" "Last-Translator: Fran Diéguez \n" "Language-Team: Galician \n" "Language: gl\n" @@ -73,7 +73,7 @@ msgstr "" #: ../data/org.gnome.shell.gschema.xml.in.h:7 msgid "History for command (Alt-F2) dialog" -msgstr "Hitorial do diálogo de orde (Alt-F2)" +msgstr "Historial do diálogo de orde (Alt-F2)" #: ../data/org.gnome.shell.gschema.xml.in.h:8 msgid "Hour format" @@ -405,15 +405,15 @@ msgstr "APLICATIVOS" msgid "PREFERENCES" msgstr "PREFERENCIAS" -#: ../js/ui/appDisplay.js:538 +#: ../js/ui/appDisplay.js:542 msgid "New Window" msgstr "Xanela nova" -#: ../js/ui/appDisplay.js:542 +#: ../js/ui/appDisplay.js:546 msgid "Remove from Favorites" msgstr "Eliminar dos favoritos" -#: ../js/ui/appDisplay.js:543 +#: ../js/ui/appDisplay.js:547 msgid "Add to Favorites" msgstr "Engadir aos favoritos" @@ -596,6 +596,10 @@ msgstr "Suspender..." msgid "Shut Down..." msgstr "Apagar..." +#: ../js/ui/status/accessibility.js:82 +msgid "Zoom" +msgstr "Ampliación" + #: ../js/ui/status/accessibility.js:88 msgid "Screen Reader" msgstr "Lector de pantalla" @@ -636,9 +640,105 @@ msgstr "Alto contraste" msgid "Large Text" msgstr "Texto máis grande" -#: ../js/ui/status/accessibility.js:224 -msgid "Zoom" -msgstr "Ampliación" +#: ../js/ui/status/power.js:87 +msgid "What's using power..." +msgstr "Que está usando enerxía..." + +#: ../js/ui/status/power.js:90 +msgid "Power Settings" +msgstr "Configuracións de enerxía" + +#: ../js/ui/status/power.js:117 +#, c-format +msgid "%d hour remaining" +msgid_plural "%d hours remaining" +msgstr[0] "%d hora restante" +msgstr[1] "%d horas restante" + +#. TRANSLATORS: this is a time string, as in "%d hours %d minutes remaining" +#: ../js/ui/status/power.js:120 +#, c-format +msgid "%d %s %d %s remaining" +msgstr "%d %s %d %s retante" + +#: ../js/ui/status/power.js:122 +msgid "hour" +msgid_plural "hours" +msgstr[0] "hora" +msgstr[1] "horas" + +#: ../js/ui/status/power.js:122 +msgid "minute" +msgid_plural "minutes" +msgstr[0] "minuto" +msgstr[1] "minutos" + +#: ../js/ui/status/power.js:125 +#, c-format +msgid "%d minute remaining" +msgid_plural "%d minutes remaining" +msgstr[0] "%d minuto restante" +msgstr[1] "%d minutos restantes" + +#: ../js/ui/status/power.js:244 +msgid "AC adapter" +msgstr "Adaptador de corrente" + +#: ../js/ui/status/power.js:246 +msgid "Laptop battery" +msgstr "Batería do portátil" + +#: ../js/ui/status/power.js:248 +msgid "UPS" +msgstr "UPS" + +#: ../js/ui/status/power.js:250 +msgid "Monitor" +msgstr "Monitor" + +#: ../js/ui/status/power.js:252 +msgid "Mouse" +msgstr "Rato" + +#: ../js/ui/status/power.js:254 +msgid "Keyboard" +msgstr "Teclado" + +#: ../js/ui/status/power.js:256 +msgid "PDA" +msgstr "PDA" + +#: ../js/ui/status/power.js:258 +msgid "Cell phone" +msgstr "Teléfono móbil" + +#: ../js/ui/status/power.js:260 +msgid "Media player" +msgstr "Reprodutor multimedia" + +#: ../js/ui/status/power.js:262 +msgid "Tablet" +msgstr "Tablet" + +#: ../js/ui/status/power.js:264 +msgid "Computer" +msgstr "Computador" + +#: ../js/ui/status/power.js:266 ../src/shell-app-system.c:1012 +msgid "Unknown" +msgstr "Descoñecido" + +#: ../js/ui/status/volume.js:41 +msgid "Volume" +msgstr "Volume" + +#: ../js/ui/status/volume.js:54 +msgid "Microphone" +msgstr "Micrófono" + +#: ../js/ui/status/volume.js:62 +msgid "Sound Settings" +msgstr "Configuracións de son" #: ../js/ui/viewSelector.js:26 msgid "Search your computer" @@ -687,36 +787,32 @@ msgstr[1] "%u entradas" msgid "System Sounds" msgstr "Sons do sistema" -#: ../src/shell-app-system.c:1012 -msgid "Unknown" -msgstr "Descoñecido" - -#: ../src/shell-global.c:1163 +#: ../src/shell-global.c:1155 msgid "Less than a minute ago" msgstr "Hai menos dun minuto" -#: ../src/shell-global.c:1167 +#: ../src/shell-global.c:1159 #, c-format msgid "%d minute ago" msgid_plural "%d minutes ago" msgstr[0] "hai %d minuto" msgstr[1] "hai %d minutos" -#: ../src/shell-global.c:1172 +#: ../src/shell-global.c:1164 #, c-format msgid "%d hour ago" msgid_plural "%d hours ago" msgstr[0] "hai %d hora" msgstr[1] "hai %d horas" -#: ../src/shell-global.c:1177 +#: ../src/shell-global.c:1169 #, c-format msgid "%d day ago" msgid_plural "%d days ago" msgstr[0] "hai %d día" msgstr[1] "hai %d días" -#: ../src/shell-global.c:1182 +#: ../src/shell-global.c:1174 #, c-format msgid "%d week ago" msgid_plural "%d weeks ago" From a33aab07e67cc6e37760e3e7e1cda2cb7238b81d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jorge=20Gonz=C3=A1lez?= Date: Sat, 11 Dec 2010 16:45:05 +0100 Subject: [PATCH 36/45] Updated Spanish translation --- po/es.po | 134 ++++++++++++++++++++++++++++++++++++++++++++++++------- 1 file changed, 119 insertions(+), 15 deletions(-) diff --git a/po/es.po b/po/es.po index babc83b77..91362e889 100644 --- a/po/es.po +++ b/po/es.po @@ -8,8 +8,8 @@ msgstr "" "Project-Id-Version: gnome-shell.master\n" "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug.cgi?product=gnome-" "shell&component=general\n" -"POT-Creation-Date: 2010-11-29 15:38+0000\n" -"PO-Revision-Date: 2010-12-02 19:06+0100\n" +"POT-Creation-Date: 2010-12-02 18:10+0000\n" +"PO-Revision-Date: 2010-12-11 16:42+0100\n" "Last-Translator: Jorge González \n" "Language-Team: Español \n" "MIME-Version: 1.0\n" @@ -407,15 +407,15 @@ msgstr "APLICACIONES" msgid "PREFERENCES" msgstr "PREFERENCIAS" -#: ../js/ui/appDisplay.js:538 +#: ../js/ui/appDisplay.js:542 msgid "New Window" msgstr "Ventana nueva" -#: ../js/ui/appDisplay.js:542 +#: ../js/ui/appDisplay.js:546 msgid "Remove from Favorites" msgstr "Quitar de los favoritos" -#: ../js/ui/appDisplay.js:543 +#: ../js/ui/appDisplay.js:547 msgid "Add to Favorites" msgstr "Añadir a los favoritos" @@ -571,12 +571,10 @@ msgid "Busy" msgstr "Ocupado" #: ../js/ui/statusMenu.js:114 -#| msgid "My Account..." msgid "My Account" msgstr "Mi cuenta" #: ../js/ui/statusMenu.js:118 -#| msgid "System Settings..." msgid "System Settings" msgstr "Configuración del sistema" @@ -593,7 +591,6 @@ msgid "Log Out..." msgstr "Salir…" #: ../js/ui/statusMenu.js:141 -#| msgid "Suspend" msgid "Suspend..." msgstr "Suspender…" @@ -601,6 +598,10 @@ msgstr "Suspender…" msgid "Shut Down..." msgstr "Apagar…" +#: ../js/ui/status/accessibility.js:82 +msgid "Zoom" +msgstr "Ampliación" + #: ../js/ui/status/accessibility.js:88 msgid "Screen Reader" msgstr "Lector de pantalla" @@ -641,9 +642,116 @@ msgstr "Contraste alto" msgid "Large Text" msgstr "Texto:" -#: ../js/ui/status/accessibility.js:224 -msgid "Zoom" -msgstr "Ampliación" +#: ../js/ui/status/power.js:87 +msgid "What's using power..." +msgstr "Lo que está usando energía…" + +#: ../js/ui/status/power.js:90 +#| msgid "System Settings" +msgid "Power Settings" +msgstr "Configuración de energía" + +#: ../js/ui/status/power.js:117 +#, c-format +#| msgid "%d hour ago" +#| msgid_plural "%d hours ago" +msgid "%d hour remaining" +msgid_plural "%d hours remaining" +msgstr[0] "Queda %d hora" +msgstr[1] "Queda %d horas" + +#. TRANSLATORS: this is a time string, as in "%d hours %d minutes remaining" +#: ../js/ui/status/power.js:120 +#, c-format +msgid "%d %s %d %s remaining" +msgstr "Quedan %d %s %d %s" + +#: ../js/ui/status/power.js:122 +msgid "hour" +msgid_plural "hours" +msgstr[0] "hora" +msgstr[1] "horas" + +#: ../js/ui/status/power.js:122 +#| msgid "%d minute ago" +#| msgid_plural "%d minutes ago" +msgid "minute" +msgid_plural "minutes" +msgstr[0] "miuto" +msgstr[1] "minutos" + +#: ../js/ui/status/power.js:125 +#, c-format +#| msgid "%d minute ago" +#| msgid_plural "%d minutes ago" +msgid "%d minute remaining" +msgid_plural "%d minutes remaining" +msgstr[0] "Queda %d minuto" +msgstr[1] "Queda %d minutos" + +#: ../js/ui/status/power.js:244 +msgid "AC adapter" +msgstr "Adaptador de corriente" + +#: ../js/ui/status/power.js:246 +msgid "Laptop battery" +msgstr "Batería del portátil" + +#: ../js/ui/status/power.js:248 +msgid "UPS" +msgstr "SAI" + +#: ../js/ui/status/power.js:250 +msgid "Monitor" +msgstr "Monitor" + +#: ../js/ui/status/power.js:252 +#| msgid "Mouse Keys" +msgid "Mouse" +msgstr "Ratón" + +#: ../js/ui/status/power.js:254 +#| msgid "Screen Keyboard" +msgid "Keyboard" +msgstr "Teclado" + +#: ../js/ui/status/power.js:256 +msgid "PDA" +msgstr "PDA" + +#: ../js/ui/status/power.js:258 +msgid "Cell phone" +msgstr "Teléfono móvil" + +#: ../js/ui/status/power.js:260 +msgid "Media player" +msgstr "Reproductor multimedia" + +#: ../js/ui/status/power.js:262 +#| msgid "Enabled" +msgid "Tablet" +msgstr "Tableta" + +#: ../js/ui/status/power.js:264 +msgid "Computer" +msgstr "Equipo" + +#: ../js/ui/status/power.js:266 ../src/shell-app-system.c:1012 +msgid "Unknown" +msgstr "Desconocido" + +#: ../js/ui/status/volume.js:41 +msgid "Volume" +msgstr "Volumen" + +#: ../js/ui/status/volume.js:54 +msgid "Microphone" +msgstr "Micrófono" + +#: ../js/ui/status/volume.js:62 +#| msgid "System Settings" +msgid "Sound Settings" +msgstr "Configuración del sonido" #: ../js/ui/viewSelector.js:26 msgid "Search your computer" @@ -692,10 +800,6 @@ msgstr[1] "%u entradas" msgid "System Sounds" msgstr "Sonidos del sistema" -#: ../src/shell-app-system.c:1012 -msgid "Unknown" -msgstr "Desconocido" - #: ../src/shell-global.c:1163 msgid "Less than a minute ago" msgstr "Hace menos de un minuto" From cdaf8f3d193770342a822d82511fc483c1716314 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Matej=20Urban=C4=8Di=C4=8D?= Date: Sat, 11 Dec 2010 20:41:16 +0100 Subject: [PATCH 37/45] Updated Slovenian translation --- po/sl.po | 348 +++++++++++++++++++++++++++++++++++++------------------ 1 file changed, 236 insertions(+), 112 deletions(-) diff --git a/po/sl.po b/po/sl.po index cae2d06e9..970f40969 100644 --- a/po/sl.po +++ b/po/sl.po @@ -8,8 +8,8 @@ msgid "" msgstr "" "Project-Id-Version: gnome-shell master\n" "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug.cgi?product=gnome-shell&component=general\n" -"POT-Creation-Date: 2010-10-26 14:37+0000\n" -"PO-Revision-Date: 2010-10-26 19:29+0100\n" +"POT-Creation-Date: 2010-12-11 15:45+0000\n" +"PO-Revision-Date: 2010-12-11 20:40+0100\n" "Last-Translator: Matej Urbančič \n" "Language-Team: Slovenian GNOME Translation Team \n" "Language: Slovenian\n" @@ -86,62 +86,54 @@ msgid "List of desktop file IDs for favorite applications" msgstr "Seznam določil ID namiznih datotek priljubljenih programov" #: ../data/org.gnome.shell.gschema.xml.in.h:13 -msgid "Overview workspace view mode" -msgstr "Način pregleda predogleda delovnih površin" - -#: ../data/org.gnome.shell.gschema.xml.in.h:14 msgid "Sets the GStreamer pipeline used to encode recordings. It follows the syntax used for gst-launch. The pipeline should have an unconnected sink pad where the recorded video is recorded. It will normally have a unconnected source pad; output from that pad will be written into the output file. However the pipeline can also take care of its own output - this might be used to send the output to an icecast server via shout2send or similar. When unset or set to an empty value, the default pipeline will be used. This is currently 'videorate ! theoraenc ! oggmux' and records to Ogg Theora." msgstr "Določa cevovod programa GStreamer, ki se uporablja za kodiranje posnetkov. Ta sledi skladnji, ki je uporabljena za gst-launch. Cevovod mora imeti nepovezano korito, kamor se posnetek snema. Običajno je za to namenjen nepovezan izvorni pomnilnik, katerega odvod se zapiše v odvodno datoteko. Vendar pa lahko cevovod ta korak naredi v lastni odvod - možnost se lahko uporabi pri pošiljanju odvoda na strežnik icecast preko shout2send ali podobno. Nedoločena ali prazna možnost se odrazi kot privzeti cevovod. Trenutno je to 'videorate ! theoraenc ! oggmux' in omogoča snemanje v zapis Ogg Theora." -#: ../data/org.gnome.shell.gschema.xml.in.h:15 +#: ../data/org.gnome.shell.gschema.xml.in.h:14 msgid "Show date in clock" msgstr "Pokaži datum v uri" -#: ../data/org.gnome.shell.gschema.xml.in.h:16 +#: ../data/org.gnome.shell.gschema.xml.in.h:15 msgid "Show the week date in the calendar" msgstr "Pokaži tedenski datum v koledarju" -#: ../data/org.gnome.shell.gschema.xml.in.h:17 +#: ../data/org.gnome.shell.gschema.xml.in.h:16 msgid "Show time with seconds" msgstr "Pokaži čas s sekundami" -#: ../data/org.gnome.shell.gschema.xml.in.h:18 +#: ../data/org.gnome.shell.gschema.xml.in.h:17 msgid "The applications corresponding to these identifiers will be displayed in the favorites area." msgstr "Programi določeni s temi določili bodo prikazani v območju priljubljenih programov" -#: ../data/org.gnome.shell.gschema.xml.in.h:19 +#: ../data/org.gnome.shell.gschema.xml.in.h:18 msgid "The filename for recorded screencasts will be a unique filename based on the current date, and use this extension. It should be changed when recording to a different container format." msgstr "Ime datoteke zaslonskega posnetka bo enoznačno ime, kateremu bo dodan datum in določena pripona. Pripona mora ustrezati zapisu zabojnika." -#: ../data/org.gnome.shell.gschema.xml.in.h:20 +#: ../data/org.gnome.shell.gschema.xml.in.h:19 msgid "The framerate of the resulting screencast recordered by GNOME Shell's screencast recorder in frames-per-second." msgstr "Hitrost sličic shranjenega končnega zaslonskega posnetka v sličicah na sekundo." -#: ../data/org.gnome.shell.gschema.xml.in.h:21 +#: ../data/org.gnome.shell.gschema.xml.in.h:20 msgid "The gstreamer pipeline used to encode the screencast" msgstr "Uporabljen GStreamer cevovod za kodiranje zaslonskega posnetka." -#: ../data/org.gnome.shell.gschema.xml.in.h:22 -msgid "The selected workspace view mode in the overview. Supported values are \"single\" and \"grid\"." -msgstr "Izbrani pogled delovnih površin v predogledu. Podprte vrednosti sta \"enojno\" in \"mrežno\"." - -#: ../data/org.gnome.shell.gschema.xml.in.h:23 +#: ../data/org.gnome.shell.gschema.xml.in.h:21 msgid "The shell normally monitors active applications in order to present the most used ones (e.g. in launchers). While this data will be kept private, you may want to disable this for privacy reasons. Please note that doing so won't remove already saved data." msgstr "Lupina običajno nadzira dejavne programe zaradi možnosti prikazovanja najpogosteje uporabljenih v zaganjalniku. Čeprav so podatki krajevni, jih je dobro onemogočiti zaradi varovanja zasebnosti. Z onemogočenje ne bodo odstranjeni že shranjeni podatki." -#: ../data/org.gnome.shell.gschema.xml.in.h:24 +#: ../data/org.gnome.shell.gschema.xml.in.h:22 msgid "This key specifies the format used by the panel clock when the format key is set to \"custom\". You can use conversion specifiers understood by strftime() to obtain a specific format. See the strftime() manual for more information." msgstr "Ključ določa zapis, ki naj ga uporablja vstavek ure, kadar je ključ zapisa nastavljen kot \"prikrojen\". Za določitev zapisa lahko uporabite tudi oznake funkcije strftime(), ki so podrobneje zapisane v priročniku funkcije." -#: ../data/org.gnome.shell.gschema.xml.in.h:25 +#: ../data/org.gnome.shell.gschema.xml.in.h:23 msgid "This key specifies the hour format used by the panel clock. Possible values are \"12-hour\", \"24-hour\", \"unix\" and \"custom\". If set to \"unix\", the clock will display time in seconds since Epoch, i.e. 1970-01-01. If set to \"custom\", the clock will display time according to the format specified in the custom_format key. Note that if set to either \"unix\" or \"custom\", the show_date and show_seconds keys are ignored." msgstr "Ključ določa zapis ure. Mogoče vrednosti so \"12-urni\", \"24-urni\", \"unix\" in \"po meri\". Možnost \"unix\" prikazuje čas v sekundah od začetka ere, torej od 01.01.1970, možnost \"po meri\" pa omogoča prikrojen zapis. Pri izbiri zapisa \"unix\" ali \"po meri\" sta izbiri pokaži datum in pokaži sekunde, prezrti." -#: ../data/org.gnome.shell.gschema.xml.in.h:26 +#: ../data/org.gnome.shell.gschema.xml.in.h:24 msgid "Uuids of extensions to disable" msgstr "Določila UUID razširitev za onemogočenje" -#: ../data/org.gnome.shell.gschema.xml.in.h:27 +#: ../data/org.gnome.shell.gschema.xml.in.h:25 msgid "Whether to collect stats about applications usage" msgstr "Ali naj se beleži statistika uporabe programov" @@ -179,7 +171,7 @@ msgstr "" #: ../data/org.gnome.accessibility.magnifier.gschema.xml.in.h:9 msgid "For centered mouse tracking, when the system pointer is at or near the edge of the screen, the magnified contents continue to scroll such that the screen edge moves into the magnified view." -msgstr "" +msgstr "Pri usredinjenem sledenju miški, ko je sistemski kazalnik ob robu zaslona, približanje vsebine drsi naprej tako, da je rob zaslona v približanem pogledu." #: ../data/org.gnome.accessibility.magnifier.gschema.xml.in.h:10 msgid "Length of the crosshairs" @@ -223,11 +215,11 @@ msgstr "Barva navpične in vodoravne črte, ki določata merek." #: ../data/org.gnome.accessibility.magnifier.gschema.xml.in.h:20 msgid "The magnified view either fills the entire screen, or occupies the top-half, bottom-half, left-half, or right-half of the screen." -msgstr "" +msgstr "Približan pogled lahko zapolni celoten zaslon, lahko pa zasede zgornjo, spodnjo, levo ali pa desno polovico zaslona." #: ../data/org.gnome.accessibility.magnifier.gschema.xml.in.h:21 msgid "The power of the magnification. A value of 1.0 means no magnification. A value of 2.0 doubles the size." -msgstr "" +msgstr "Vrednost približanja. Vrednost 1.0 pomeni brez približanja, vrednost 2.0 pa podvoji učinek približanja." #: ../data/org.gnome.accessibility.magnifier.gschema.xml.in.h:22 msgid "Thickness of the crosshairs" @@ -235,7 +227,7 @@ msgstr "Debelina merka" #: ../data/org.gnome.accessibility.magnifier.gschema.xml.in.h:23 msgid "Whether the magnified view should be centered over the location of the system mouse and move with it." -msgstr "" +msgstr "Ali naj bo približan pogled usredinjen na mesto sistemske miške in se z njo premika." #: ../data/org.gnome.accessibility.magnifier.gschema.xml.in.h:24 msgid "Width of the vertical and horizontal lines that make up the crosshairs." @@ -269,64 +261,40 @@ msgstr "_12-urni zapis časa" msgid "_24 hour format" msgstr "_24-urni zapis časa" -#. **** Applications **** -#: ../js/ui/appDisplay.js:316 -#: ../js/ui/dash.js:778 +#: ../js/ui/appDisplay.js:215 msgid "APPLICATIONS" msgstr "Programi" -#: ../js/ui/appDisplay.js:348 +#: ../js/ui/appDisplay.js:245 msgid "PREFERENCES" msgstr "Možnosti" -#: ../js/ui/appDisplay.js:648 +#: ../js/ui/appDisplay.js:542 msgid "New Window" msgstr "Novo okno" -#: ../js/ui/appDisplay.js:652 +#: ../js/ui/appDisplay.js:546 msgid "Remove from Favorites" msgstr "Odstrani iz priljubljenih" -#: ../js/ui/appDisplay.js:653 +#: ../js/ui/appDisplay.js:547 msgid "Add to Favorites" msgstr "Dodaj med priljubljene" -#: ../js/ui/appDisplay.js:830 -msgid "Drag here to add favorites" -msgstr "S potegom na to mesto se izbor doda med priljubljene" - -#: ../js/ui/appFavorites.js:88 +#: ../js/ui/appFavorites.js:91 #, c-format msgid "%s has been added to your favorites." msgstr "Program \"%s\" je dodan med priljubljeno." -#: ../js/ui/appFavorites.js:107 +#: ../js/ui/appFavorites.js:122 #, c-format msgid "%s has been removed from your favorites." msgstr "Program \"%s\" je odstranjen iz priljubljenih." -#: ../js/ui/dash.js:142 -msgid "Find" -msgstr "Najdi" +#: ../js/ui/dash.js:27 +msgid "Remove" +msgstr "Odstrani" -#: ../js/ui/dash.js:473 -msgid "Searching..." -msgstr "Iskanje ..." - -#: ../js/ui/dash.js:487 -msgid "No matching results." -msgstr "Ni zadetkov iskanja" - -#. **** Places **** -#. Translators: This is in the sense of locations for documents, -#. network locations, etc. -#: ../js/ui/dash.js:797 -#: ../js/ui/placeDisplay.js:554 -msgid "PLACES & DEVICES" -msgstr "Mesta in naprave" - -#. **** Documents **** -#: ../js/ui/dash.js:804 #: ../js/ui/docDisplay.js:494 msgid "RECENT ITEMS" msgstr "Nedavni predmeti" @@ -339,7 +307,10 @@ msgstr "Ni nameščenih razširitev" msgid "Enabled" msgstr "Omogočeno" +#. translators: +#. * The device has been disabled #: ../js/ui/lookingGlass.js:591 +#: ../src/gvc/gvc-mixer-control.c:1087 msgid "Disabled" msgstr "Onemogočeno" @@ -359,63 +330,63 @@ msgstr "Poglej vir" msgid "Web Page" msgstr "Spletna stran" -#: ../js/ui/overview.js:160 +#: ../js/ui/overview.js:112 msgid "Undo" msgstr "Razveljavi" #. TODO - _quit() doesn't really work on apps in state STARTING yet -#: ../js/ui/panel.js:469 +#: ../js/ui/panel.js:470 #, c-format msgid "Quit %s" msgstr "Končaj %s" -#: ../js/ui/panel.js:494 +#: ../js/ui/panel.js:495 msgid "Preferences" msgstr "Možnosti" #. Translators: This is the time format with date used #. in 24-hour mode. -#: ../js/ui/panel.js:580 +#: ../js/ui/panel.js:581 msgid "%a %b %e, %R:%S" msgstr "%a. %e. %b., %R:%S" -#: ../js/ui/panel.js:581 +#: ../js/ui/panel.js:582 msgid "%a %b %e, %R" msgstr "%a, %e. %b., %R" #. Translators: This is the time format without date used #. in 24-hour mode. -#: ../js/ui/panel.js:585 +#: ../js/ui/panel.js:586 msgid "%a %R:%S" msgstr "%a. %R:%S" -#: ../js/ui/panel.js:586 +#: ../js/ui/panel.js:587 msgid "%a %R" msgstr "%a. %R" #. Translators: This is a time format with date used #. for AM/PM. -#: ../js/ui/panel.js:593 +#: ../js/ui/panel.js:594 msgid "%a %b %e, %l:%M:%S %p" msgstr "%a. %e. %b., %H:%M:%S" -#: ../js/ui/panel.js:594 +#: ../js/ui/panel.js:595 msgid "%a %b %e, %l:%M %p" msgstr "%a. %e. %b., %H:%M" #. Translators: This is a time format without date used #. for AM/PM. -#: ../js/ui/panel.js:598 +#: ../js/ui/panel.js:599 msgid "%a %l:%M:%S %p" msgstr "%a, %H:%M:%S" -#: ../js/ui/panel.js:599 +#: ../js/ui/panel.js:600 msgid "%a %l:%M %p" msgstr "%a, %H:%M" #. Button on the left side of the panel. #. Translators: If there is no suitable word for "Activities" in your language, you can use the word for "Overview". -#: ../js/ui/panel.js:744 +#: ../js/ui/panel.js:745 msgid "Activities" msgstr "Dejavnosti" @@ -432,6 +403,10 @@ msgstr "Poskusi znova" msgid "Connect to..." msgstr "Povezava z ..." +#: ../js/ui/placeDisplay.js:558 +msgid "PLACES & DEVICES" +msgstr "Mesta in naprave" + #. Translators: this MUST be either "toggle-switch-us" #. (for toggle switches containing the English words #. "ON" and "OFF") or "toggle-switch-intl" (for toggle @@ -458,42 +433,38 @@ msgstr "Na voljo" msgid "Busy" msgstr "Zaposleno" -#: ../js/ui/statusMenu.js:111 -msgid "Invisible" -msgstr "Nevidno" +#: ../js/ui/statusMenu.js:114 +msgid "My Account" +msgstr "Račun" -#: ../js/ui/statusMenu.js:119 -msgid "My Account..." -msgstr "Račun ..." +#: ../js/ui/statusMenu.js:118 +msgid "System Settings" +msgstr "Sistemske nastavitve" -#: ../js/ui/statusMenu.js:123 -msgid "System Preferences..." -msgstr "Sistemske možnosti ..." - -#: ../js/ui/statusMenu.js:130 +#: ../js/ui/statusMenu.js:125 msgid "Lock Screen" msgstr "Zakleni zaslon" -#: ../js/ui/statusMenu.js:134 +#: ../js/ui/statusMenu.js:129 msgid "Switch User" msgstr "Preklopi uporabnika" -#: ../js/ui/statusMenu.js:139 +#: ../js/ui/statusMenu.js:134 msgid "Log Out..." msgstr "Odjava ..." -#: ../js/ui/statusMenu.js:146 -msgid "Suspend" -msgstr "V mirovanje" +#: ../js/ui/statusMenu.js:141 +msgid "Suspend..." +msgstr "V pripravljenost" -#: ../js/ui/statusMenu.js:150 -msgid "Restart..." -msgstr "Ponoven zagon ..." - -#: ../js/ui/statusMenu.js:154 +#: ../js/ui/statusMenu.js:145 msgid "Shut Down..." msgstr "Izklopi ..." +#: ../js/ui/status/accessibility.js:82 +msgid "Zoom" +msgstr "Približanje" + #: ../js/ui/status/accessibility.js:88 msgid "Screen Reader" msgstr "Zaslonski bralnik" @@ -530,13 +501,122 @@ msgstr "Splošne nastavitve dostopa" msgid "High Contrast" msgstr "Visok kontrast" -#: ../js/ui/status/accessibility.js:202 +#: ../js/ui/status/accessibility.js:205 msgid "Large Text" msgstr "Veliko besedilo" -#: ../js/ui/status/accessibility.js:223 -msgid "Zoom" -msgstr "Približanje" +#: ../js/ui/status/power.js:87 +msgid "What's using power..." +msgstr "Kaj porablja napetost ..." + +#: ../js/ui/status/power.js:90 +msgid "Power Settings" +msgstr "Upravljanje napajanja" + +#: ../js/ui/status/power.js:117 +#, c-format +msgid "%d hour remaining" +msgid_plural "%d hours remaining" +msgstr[0] "preostaja še %d ur" +msgstr[1] "preostaja še %d ura" +msgstr[2] "preostajata še %d uri" +msgstr[3] "preostajajo še %d ure" + +#. TRANSLATORS: this is a time string, as in "%d hours %d minutes remaining" +#: ../js/ui/status/power.js:120 +#, c-format +msgid "%d %s %d %s remaining" +msgstr "Preostaja še %d %s %d %s" + +#: ../js/ui/status/power.js:122 +msgid "hour" +msgid_plural "hours" +msgstr[0] "ur" +msgstr[1] "ura" +msgstr[2] "uri" +msgstr[3] "ure" + +#: ../js/ui/status/power.js:122 +msgid "minute" +msgid_plural "minutes" +msgstr[0] "minut" +msgstr[1] "minuta" +msgstr[2] "minuti" +msgstr[3] "minute" + +#: ../js/ui/status/power.js:125 +#, c-format +msgid "%d minute remaining" +msgid_plural "%d minutes remaining" +msgstr[0] "preostaja še %d minut" +msgstr[1] "preostaja še %d minuta" +msgstr[2] "preostajata še %d minuti" +msgstr[3] "preostajajo še %d minute" + +#: ../js/ui/status/power.js:244 +msgid "AC adapter" +msgstr "Električni prilagodilnik" + +#: ../js/ui/status/power.js:246 +msgid "Laptop battery" +msgstr "Baterija prenosnika" + +#: ../js/ui/status/power.js:248 +msgid "UPS" +msgstr "UPS" + +#: ../js/ui/status/power.js:250 +msgid "Monitor" +msgstr "Zaslon" + +#: ../js/ui/status/power.js:252 +msgid "Mouse" +msgstr "Miška" + +#: ../js/ui/status/power.js:254 +msgid "Keyboard" +msgstr "Tipkovnica" + +#: ../js/ui/status/power.js:256 +msgid "PDA" +msgstr "Dlančnik" + +#: ../js/ui/status/power.js:258 +msgid "Cell phone" +msgstr "Mobilni telefon" + +#: ../js/ui/status/power.js:260 +msgid "Media player" +msgstr "Predstavni predvajalnik" + +#: ../js/ui/status/power.js:262 +msgid "Tablet" +msgstr "Tablični računalnik" + +#: ../js/ui/status/power.js:264 +msgid "Computer" +msgstr "Računalnik" + +#: ../js/ui/status/power.js:266 +#: ../src/shell-app-system.c:1012 +msgid "Unknown" +msgstr "Neznano" + +#: ../js/ui/status/volume.js:41 +msgid "Volume" +msgstr "Glasnost" + +#: ../js/ui/status/volume.js:54 +msgid "Microphone" +msgstr "Mikrofon" + +#: ../js/ui/status/volume.js:62 +msgid "Sound Settings" +msgstr "Nastavitve zvoka" + +#: ../js/ui/viewSelector.js:26 +msgid "Search your computer" +msgstr "Iskanje po računalniku" #: ../js/ui/windowAttentionHandler.js:43 #, c-format @@ -548,19 +628,45 @@ msgstr "%s je končal začenjanje" msgid "'%s' is ready" msgstr "'%s' storitev je pripravljena" -#: ../js/ui/workspacesView.js:229 +#: ../js/ui/workspacesView.js:244 msgid "Can't add a new workspace because maximum workspaces limit has been reached." msgstr "Ni mogoče dodati nove delovne površine, ker je doseženo njihovo največje dovoljeno število." -#: ../js/ui/workspacesView.js:246 +#: ../js/ui/workspacesView.js:260 msgid "Can't remove the first workspace." msgstr "Ni mogoče odstraniti prve delovne površine." -#: ../src/shell-global.c:1204 +#. translators: +#. * The number of sound outputs on a particular device +#: ../src/gvc/gvc-mixer-control.c:1094 +#, c-format +msgid "%u Output" +msgid_plural "%u Outputs" +msgstr[0] "%u odvodov naprave" +msgstr[1] "%u odvod naprave" +msgstr[2] "%u odvoda naprave" +msgstr[3] "%u odvodi naprave" + +#. translators: +#. * The number of sound inputs on a particular device +#: ../src/gvc/gvc-mixer-control.c:1104 +#, c-format +msgid "%u Input" +msgid_plural "%u Inputs" +msgstr[0] "%u dovodov naprave" +msgstr[1] "%u dovod naprave" +msgstr[2] "%u dovoda naprave" +msgstr[3] "%u dovodi naprave" + +#: ../src/gvc/gvc-mixer-control.c:1402 +msgid "System Sounds" +msgstr "Sistemski zvoki" + +#: ../src/shell-global.c:1155 msgid "Less than a minute ago" msgstr "Pred manj kot eno minuto" -#: ../src/shell-global.c:1208 +#: ../src/shell-global.c:1159 #, c-format msgid "%d minute ago" msgid_plural "%d minutes ago" @@ -569,7 +675,7 @@ msgstr[1] "Pred %d minuto" msgstr[2] "Pred %d minutama" msgstr[3] "Pred %d minutami" -#: ../src/shell-global.c:1213 +#: ../src/shell-global.c:1164 #, c-format msgid "%d hour ago" msgid_plural "%d hours ago" @@ -578,7 +684,7 @@ msgstr[1] "Pred %d uro" msgstr[2] "Pred %d urama" msgstr[3] "Pred %d urami" -#: ../src/shell-global.c:1218 +#: ../src/shell-global.c:1169 #, c-format msgid "%d day ago" msgid_plural "%d days ago" @@ -587,7 +693,7 @@ msgstr[1] "Pred %d dnevom" msgstr[2] "Pred %d dnevoma" msgstr[3] "Pred %d dnevi" -#: ../src/shell-global.c:1223 +#: ../src/shell-global.c:1174 #, c-format msgid "%d week ago" msgid_plural "%d weeks ago" @@ -596,17 +702,17 @@ msgstr[1] "Pred %d tednom" msgstr[2] "Pred %d tednoma" msgstr[3] "Pred %d tedni" -#: ../src/shell-uri-util.c:89 +#: ../src/shell-util.c:89 msgid "Home Folder" msgstr "Domača mapa" #. Translators: this is the same string as the one found in #. * nautilus -#: ../src/shell-uri-util.c:104 +#: ../src/shell-util.c:104 msgid "File System" msgstr "Datotečni sistem" -#: ../src/shell-uri-util.c:250 +#: ../src/shell-util.c:250 msgid "Search" msgstr "Poišči" @@ -615,15 +721,35 @@ msgstr "Poišči" #. * example, "Trash: some-directory". It means that the #. * directory called "some-directory" is in the trash. #. -#: ../src/shell-uri-util.c:300 +#: ../src/shell-util.c:300 #, c-format msgid "%1$s: %2$s" msgstr "%1$s: %2$s" +#~ msgid "Overview workspace view mode" +#~ msgstr "Način pregleda predogleda delovnih površin" +#~ msgid "" +#~ "The selected workspace view mode in the overview. Supported values are " +#~ "\"single\" and \"grid\"." +#~ msgstr "" +#~ "Izbrani pogled delovnih površin v predogledu. Podprte vrednosti sta " +#~ "\"enojno\" in \"mrežno\"." +#~ msgid "Drag here to add favorites" +#~ msgstr "S potegom na to mesto se izbor doda med priljubljene" +#~ msgid "Find" +#~ msgstr "Najdi" +#~ msgid "Searching..." +#~ msgstr "Iskanje ..." +#~ msgid "No matching results." +#~ msgstr "Ni zadetkov iskanja" +#~ msgid "Invisible" +#~ msgstr "Nevidno" +#~ msgid "System Preferences..." +#~ msgstr "Sistemske možnosti ..." +#~ msgid "Restart..." +#~ msgstr "Ponoven zagon ..." #~ msgid "Account Information..." #~ msgstr "Podrobnosti računa ..." -#~ msgid "System Settings..." -#~ msgstr "Sistemske nastavitve ..." #~ msgid "ON" #~ msgstr "⚪" #~ msgid "OFF" @@ -640,8 +766,6 @@ msgstr "%1$s: %2$s" #~ msgstr "Mesta" #~ msgid "SEARCH RESULTS" #~ msgstr "Rezultati iskanja" -#~ msgid "Unknown" -#~ msgstr "Neznano" #~ msgid "Can't lock screen: %s" #~ msgstr "Ni mogoče zakleniti zaslona: %s" #~ msgid "Can't temporarily set screensaver to blank screen: %s" From e562c863f709813402c8e1b7e70abf53e8fbff20 Mon Sep 17 00:00:00 2001 From: Aron Xu Date: Sun, 12 Dec 2010 15:45:36 +0800 Subject: [PATCH 38/45] Update Simplified Chinese translation. --- po/zh_CN.po | 318 +++++++++++++++++++++++++++++++++------------------- 1 file changed, 203 insertions(+), 115 deletions(-) diff --git a/po/zh_CN.po b/po/zh_CN.po index ee6533960..05c19dfd3 100644 --- a/po/zh_CN.po +++ b/po/zh_CN.po @@ -6,19 +6,21 @@ # Aron Xu , 2010. # Jessica Ban , 2010. # YunQiang Su , 2010. +# zhang ping , 2010. # msgid "" msgstr "" "Project-Id-Version: gnome-shell master\n" "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug.cgi?product=gnome-" "shell&component=general\n" -"POT-Creation-Date: 2010-10-30 17:51+0000\n" -"PO-Revision-Date: 2010-10-28 01:24+0800\n" -"Last-Translator: YunQiang Su \n" +"POT-Creation-Date: 2010-12-10 00:17+0000\n" +"PO-Revision-Date: 2010-12-12 15:45+0800\n" +"Last-Translator: Aron Xu \n" "Language-Team: Chinese (simplified) \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" +"Language: zh_CN\n" "Plural-Forms: nplurals=1; plural=0;\n" #: ../data/gnome-shell.desktop.in.in.h:1 @@ -94,10 +96,6 @@ msgid "List of desktop file IDs for favorite applications" msgstr "收藏夹中的应用程序的 desktop 文件 ID 的列表" #: ../data/org.gnome.shell.gschema.xml.in.h:13 -msgid "Overview workspace view mode" -msgstr "工作区视图模式的总览" - -#: ../data/org.gnome.shell.gschema.xml.in.h:14 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 " @@ -115,25 +113,25 @@ msgstr "" "器。当管道未被设置或者设置为空值时,默认的管道将被启用。其值当前" "为“videorate ! theoraenc ! oggmux”并记录为 Ogg Theora 格式。" -#: ../data/org.gnome.shell.gschema.xml.in.h:15 +#: ../data/org.gnome.shell.gschema.xml.in.h:14 msgid "Show date in clock" msgstr "显示日期" -#: ../data/org.gnome.shell.gschema.xml.in.h:16 +#: ../data/org.gnome.shell.gschema.xml.in.h:15 msgid "Show the week date in the calendar" msgstr "在日历中显示星期" -#: ../data/org.gnome.shell.gschema.xml.in.h:17 +#: ../data/org.gnome.shell.gschema.xml.in.h:16 msgid "Show time with seconds" msgstr "显示秒" -#: ../data/org.gnome.shell.gschema.xml.in.h:18 +#: ../data/org.gnome.shell.gschema.xml.in.h:17 msgid "" "The applications corresponding to these identifiers will be displayed in the " "favorites area." msgstr "符合这些标示的应用程序将显示在收藏区中。" -#: ../data/org.gnome.shell.gschema.xml.in.h:19 +#: ../data/org.gnome.shell.gschema.xml.in.h:18 msgid "" "The filename for recorded screencasts will be a unique filename based on the " "current date, and use this extension. It should be changed when recording to " @@ -142,25 +140,17 @@ msgstr "" "录制的屏幕录像的文件名将是根据当前时间得到的独特值,并使用这个扩展名。录制另" "外一个不同容器格式的录像时,它应该被更改。" -#: ../data/org.gnome.shell.gschema.xml.in.h:20 +#: ../data/org.gnome.shell.gschema.xml.in.h:19 msgid "" "The framerate of the resulting screencast recordered by GNOME Shell's " "screencast recorder in frames-per-second." msgstr "GNOME Shell 的屏幕录像程序录制的屏幕录像的帧率,以 帧/秒 为格式。" -#: ../data/org.gnome.shell.gschema.xml.in.h:21 +#: ../data/org.gnome.shell.gschema.xml.in.h:20 msgid "The gstreamer pipeline used to encode the screencast" msgstr "用于编码屏幕录像的 GStreamer 管线" -#: ../data/org.gnome.shell.gschema.xml.in.h:22 -msgid "" -"The selected workspace view mode in the overview. Supported values are " -"\"single\" and \"grid\"." -msgstr "" -"总览中,选中的工作区的试图模式。支持的值有 \"single\"(单独) 和 \"grid\"(网" -"格)。" - -#: ../data/org.gnome.shell.gschema.xml.in.h:23 +#: ../data/org.gnome.shell.gschema.xml.in.h:21 msgid "" "The shell normally monitors active applications in order to present the most " "used ones (e.g. in launchers). While this data will be kept private, you may " @@ -171,7 +161,7 @@ msgstr "" "时,此数据将保持私密,您可能因为隐私原因想要禁用此项。请注意,这么做,并不会" "移除已经保存的数据。" -#: ../data/org.gnome.shell.gschema.xml.in.h:24 +#: ../data/org.gnome.shell.gschema.xml.in.h:22 msgid "" "This key specifies the format used by the panel clock when the format key is " "set to \"custom\". You can use conversion specifiers understood by strftime" @@ -182,7 +172,7 @@ msgstr "" "以被 strftime() 理解的转义符获取特定的格式。请查看 strftime() 的文档获取更多" "信息。" -#: ../data/org.gnome.shell.gschema.xml.in.h:25 +#: ../data/org.gnome.shell.gschema.xml.in.h:23 msgid "" "This key specifies the hour format used by the panel clock. Possible values " "are \"12-hour\", \"24-hour\", \"unix\" and \"custom\". If set to \"unix\", " @@ -197,11 +187,11 @@ msgstr "" "示时间。注意,如果设置为 \"unix\" 或 \"custom\",show_date 和 show_seconds 键" "将被忽略。" -#: ../data/org.gnome.shell.gschema.xml.in.h:26 +#: ../data/org.gnome.shell.gschema.xml.in.h:24 msgid "Uuids of extensions to disable" msgstr "要禁用的扩展的 uuid" -#: ../data/org.gnome.shell.gschema.xml.in.h:27 +#: ../data/org.gnome.shell.gschema.xml.in.h:25 msgid "Whether to collect stats about applications usage" msgstr "是否收集应用程序的使用情况" @@ -366,62 +356,41 @@ msgstr "_12 时格式" msgid "_24 hour format" msgstr "_24 小时格式" -#. **** Applications **** -#: ../js/ui/appDisplay.js:316 ../js/ui/dash.js:778 +#: ../js/ui/appDisplay.js:215 msgid "APPLICATIONS" msgstr "应用程序" -#: ../js/ui/appDisplay.js:348 +#: ../js/ui/appDisplay.js:245 msgid "PREFERENCES" msgstr "首选项" -#: ../js/ui/appDisplay.js:647 +#: ../js/ui/appDisplay.js:542 msgid "New Window" msgstr "新窗口" -#: ../js/ui/appDisplay.js:651 +#: ../js/ui/appDisplay.js:546 msgid "Remove from Favorites" msgstr "从收藏夹中移除" -#: ../js/ui/appDisplay.js:652 +#: ../js/ui/appDisplay.js:547 msgid "Add to Favorites" msgstr "添加到收藏夹" -#: ../js/ui/appDisplay.js:829 -msgid "Drag here to add favorites" -msgstr "拖到这里加入收藏夹" - -#: ../js/ui/appFavorites.js:88 +#: ../js/ui/appFavorites.js:91 #, c-format msgid "%s has been added to your favorites." msgstr "%s 已经添加到了您的收藏夹。" -#: ../js/ui/appFavorites.js:107 +#: ../js/ui/appFavorites.js:122 #, c-format msgid "%s has been removed from your favorites." msgstr "%s 已经从您的收藏夹移除。" -#: ../js/ui/dash.js:142 -msgid "Find" -msgstr "查找" +#: ../js/ui/dash.js:27 +msgid "Remove" +msgstr "移除" -#: ../js/ui/dash.js:473 -msgid "Searching..." -msgstr "正在搜索..." - -#: ../js/ui/dash.js:487 -msgid "No matching results." -msgstr "无匹配结果。" - -#. **** Places **** -#. Translators: This is in the sense of locations for documents, -#. network locations, etc. -#: ../js/ui/dash.js:797 ../js/ui/placeDisplay.js:554 -msgid "PLACES & DEVICES" -msgstr "位置和设备" - -#. **** Documents **** -#: ../js/ui/dash.js:804 ../js/ui/docDisplay.js:494 +#: ../js/ui/docDisplay.js:494 msgid "RECENT ITEMS" msgstr "最近的项目" @@ -455,63 +424,63 @@ msgstr "查看源" msgid "Web Page" msgstr "网页" -#: ../js/ui/overview.js:160 +#: ../js/ui/overview.js:112 msgid "Undo" msgstr "撤销" #. TODO - _quit() doesn't really work on apps in state STARTING yet -#: ../js/ui/panel.js:469 +#: ../js/ui/panel.js:470 #, c-format msgid "Quit %s" msgstr "退出 %s" -#: ../js/ui/panel.js:494 +#: ../js/ui/panel.js:495 msgid "Preferences" msgstr "首选项" #. Translators: This is the time format with date used #. in 24-hour mode. -#: ../js/ui/panel.js:580 +#: ../js/ui/panel.js:581 msgid "%a %b %e, %R:%S" msgstr "%A %b %e, %R:%S" -#: ../js/ui/panel.js:581 +#: ../js/ui/panel.js:582 msgid "%a %b %e, %R" msgstr "%A %m月%d日 %R" #. Translators: This is the time format without date used #. in 24-hour mode. -#: ../js/ui/panel.js:585 +#: ../js/ui/panel.js:586 msgid "%a %R:%S" msgstr "%A %R:%S" -#: ../js/ui/panel.js:586 +#: ../js/ui/panel.js:587 msgid "%a %R" msgstr "%A %R" #. Translators: This is a time format with date used #. for AM/PM. -#: ../js/ui/panel.js:593 +#: ../js/ui/panel.js:594 msgid "%a %b %e, %l:%M:%S %p" msgstr "%A %m月%d日 %p%I:%M:%S" -#: ../js/ui/panel.js:594 +#: ../js/ui/panel.js:595 msgid "%a %b %e, %l:%M %p" msgstr "%A %m月%d日 %p%I:%M" #. Translators: This is a time format without date used #. for AM/PM. -#: ../js/ui/panel.js:598 +#: ../js/ui/panel.js:599 msgid "%a %l:%M:%S %p" msgstr "%A %p%I:%M:%S" -#: ../js/ui/panel.js:599 +#: ../js/ui/panel.js:600 msgid "%a %l:%M %p" msgstr "%a %l:%M %p" #. Button on the left side of the panel. #. Translators: If there is no suitable word for "Activities" in your language, you can use the word for "Overview". -#: ../js/ui/panel.js:744 +#: ../js/ui/panel.js:745 msgid "Activities" msgstr "活动" @@ -528,6 +497,10 @@ msgstr "重试" msgid "Connect to..." msgstr "连接到..." +#: ../js/ui/placeDisplay.js:558 +msgid "PLACES & DEVICES" +msgstr "位置和设备" + #. Translators: this MUST be either "toggle-switch-us" #. (for toggle switches containing the English words #. "ON" and "OFF") or "toggle-switch-intl" (for toggle @@ -554,44 +527,38 @@ msgstr "可用" msgid "Busy" msgstr "忙碌" -#: ../js/ui/statusMenu.js:111 -msgid "Invisible" -msgstr "隐身" +#: ../js/ui/statusMenu.js:114 +msgid "My Account" +msgstr "我的帐户" -#: ../js/ui/statusMenu.js:119 -msgid "My Account..." -msgstr "我的帐户..." +#: ../js/ui/statusMenu.js:118 +msgid "System Settings" +msgstr "系统设置" -#: ../js/ui/statusMenu.js:123 -#, fuzzy -#| msgid "System Preferences..." -msgid "System Settings..." -msgstr "系统首选项..." - -#: ../js/ui/statusMenu.js:130 +#: ../js/ui/statusMenu.js:125 msgid "Lock Screen" msgstr "锁住屏幕" -#: ../js/ui/statusMenu.js:134 +#: ../js/ui/statusMenu.js:129 msgid "Switch User" msgstr "切换用户" -#: ../js/ui/statusMenu.js:139 +#: ../js/ui/statusMenu.js:134 msgid "Log Out..." msgstr "退出..." -#: ../js/ui/statusMenu.js:146 -msgid "Suspend" -msgstr "休眠" +#: ../js/ui/statusMenu.js:141 +msgid "Suspend..." +msgstr "休眠..." -#: ../js/ui/statusMenu.js:150 -msgid "Restart..." -msgstr "重启..." - -#: ../js/ui/statusMenu.js:154 +#: ../js/ui/statusMenu.js:145 msgid "Shut Down..." msgstr "关机..." +#: ../js/ui/status/accessibility.js:82 +msgid "Zoom" +msgstr "缩放" + #: ../js/ui/status/accessibility.js:88 msgid "Screen Reader" msgstr "屏幕阅读器" @@ -628,13 +595,109 @@ msgstr "通用访问设置" msgid "High Contrast" msgstr "高对比度" -#: ../js/ui/status/accessibility.js:202 +#: ../js/ui/status/accessibility.js:205 msgid "Large Text" msgstr "大号文本" -#: ../js/ui/status/accessibility.js:223 -msgid "Zoom" -msgstr "缩放" +#: ../js/ui/status/power.js:87 +msgid "What's using power..." +msgstr "哪些设备在用电..." + +#: ../js/ui/status/power.js:90 +msgid "Power Settings" +msgstr "电源设置" + +#: ../js/ui/status/power.js:117 +#, c-format +msgid "%d hour remaining" +msgid_plural "%d hours remaining" +msgstr[0] "剩余 %d 小时" + +#. TRANSLATORS: this is a time string, as in "%d hours %d minutes remaining" +#: ../js/ui/status/power.js:120 +#, c-format +msgid "%d %s %d %s remaining" +msgstr "剩余 %d %s %d %s" + +#: ../js/ui/status/power.js:122 +msgid "hour" +msgid_plural "hours" +msgstr[0] "小时" + +#: ../js/ui/status/power.js:122 +msgid "minute" +msgid_plural "minutes" +msgstr[0] "分钟" + +#: ../js/ui/status/power.js:125 +#, c-format +msgid "%d minute remaining" +msgid_plural "%d minutes remaining" +msgstr[0] "剩余 %d 分钟" + +#: ../js/ui/status/power.js:244 +msgid "AC adapter" +msgstr "AC 适配器" + +#: ../js/ui/status/power.js:246 +msgid "Laptop battery" +msgstr "笔记本电池" + +#: ../js/ui/status/power.js:248 +msgid "UPS" +msgstr "UPS" + +#: ../js/ui/status/power.js:250 +msgid "Monitor" +msgstr "显示器" + +#: ../js/ui/status/power.js:252 +msgid "Mouse" +msgstr "鼠标" + +#: ../js/ui/status/power.js:254 +msgid "Keyboard" +msgstr "键盘" + +#: ../js/ui/status/power.js:256 +msgid "PDA" +msgstr "PDA" + +#: ../js/ui/status/power.js:258 +msgid "Cell phone" +msgstr "手机" + +#: ../js/ui/status/power.js:260 +msgid "Media player" +msgstr "媒体播放器" + +#: ../js/ui/status/power.js:262 +msgid "Tablet" +msgstr "触摸板" + +#: ../js/ui/status/power.js:264 +msgid "Computer" +msgstr "计算机" + +#: ../js/ui/status/power.js:266 ../src/shell-app-system.c:1012 +msgid "Unknown" +msgstr "未知" + +#: ../js/ui/status/volume.js:41 +msgid "Volume" +msgstr "音量" + +#: ../js/ui/status/volume.js:54 +msgid "Microphone" +msgstr "麦克风" + +#: ../js/ui/status/volume.js:62 +msgid "Sound Settings" +msgstr "声音设置" + +#: ../js/ui/viewSelector.js:26 +msgid "Search your computer" +msgstr "搜索您的计算机" #: ../js/ui/windowAttentionHandler.js:43 #, c-format @@ -646,12 +709,12 @@ msgstr "%s 已启动" msgid "'%s' is ready" msgstr "%s 已就绪" -#: ../js/ui/workspacesView.js:229 +#: ../js/ui/workspacesView.js:244 msgid "" "Can't add a new workspace because maximum workspaces limit has been reached." msgstr "无法添加新工作区,因为已经达到了工作区数量限制。" -#: ../js/ui/workspacesView.js:246 +#: ../js/ui/workspacesView.js:260 msgid "Can't remove the first workspace." msgstr "不能移除第一个工作区。" @@ -661,7 +724,7 @@ msgstr "不能移除第一个工作区。" #, c-format msgid "%u Output" msgid_plural "%u Outputs" -msgstr[0] "" +msgstr[0] "%u 个输出" #. translators: #. * The number of sound inputs on a particular device @@ -669,51 +732,51 @@ msgstr[0] "" #, c-format msgid "%u Input" msgid_plural "%u Inputs" -msgstr[0] "" +msgstr[0] "%u 个输入" #: ../src/gvc/gvc-mixer-control.c:1402 msgid "System Sounds" -msgstr "" +msgstr "系统声音" -#: ../src/shell-global.c:1219 +#: ../src/shell-global.c:1155 msgid "Less than a minute ago" msgstr "少于一分钟前" -#: ../src/shell-global.c:1223 +#: ../src/shell-global.c:1159 #, c-format msgid "%d minute ago" msgid_plural "%d minutes ago" msgstr[0] "%d 分钟前" -#: ../src/shell-global.c:1228 +#: ../src/shell-global.c:1164 #, c-format msgid "%d hour ago" msgid_plural "%d hours ago" msgstr[0] "%d 小时前" -#: ../src/shell-global.c:1233 +#: ../src/shell-global.c:1169 #, c-format msgid "%d day ago" msgid_plural "%d days ago" msgstr[0] "%d 天前" -#: ../src/shell-global.c:1238 +#: ../src/shell-global.c:1174 #, c-format msgid "%d week ago" msgid_plural "%d weeks ago" msgstr[0] "%d 周前" -#: ../src/shell-uri-util.c:89 +#: ../src/shell-util.c:89 msgid "Home Folder" msgstr "主文件夹" #. Translators: this is the same string as the one found in #. * nautilus -#: ../src/shell-uri-util.c:104 +#: ../src/shell-util.c:104 msgid "File System" msgstr "文件系统" -#: ../src/shell-uri-util.c:250 +#: ../src/shell-util.c:250 msgid "Search" msgstr "搜索" @@ -722,11 +785,39 @@ msgstr "搜索" #. * example, "Trash: some-directory". It means that the #. * directory called "some-directory" is in the trash. #. -#: ../src/shell-uri-util.c:300 +#: ../src/shell-util.c:300 #, c-format msgid "%1$s: %2$s" msgstr "%1$s: %2$s" +#~ msgid "Overview workspace view mode" +#~ msgstr "工作区视图模式的总览" + +#~ msgid "" +#~ "The selected workspace view mode in the overview. Supported values are " +#~ "\"single\" and \"grid\"." +#~ msgstr "" +#~ "总览中,选中的工作区的试图模式。支持的值有 \"single\"(单独) 和 \"grid\"(网" +#~ "格)。" + +#~ msgid "Drag here to add favorites" +#~ msgstr "拖到这里加入收藏夹" + +#~ msgid "Find" +#~ msgstr "查找" + +#~ msgid "Searching..." +#~ msgstr "正在搜索..." + +#~ msgid "No matching results." +#~ msgstr "无匹配结果。" + +#~ msgid "Invisible" +#~ msgstr "隐身" + +#~ msgid "Restart..." +#~ msgstr "重启..." + #~ msgid "ON" #~ msgstr "开" @@ -757,9 +848,6 @@ msgstr "%1$s: %2$s" #~ msgid "SEARCH RESULTS" #~ msgstr "搜索结果" -#~ msgid "Unknown" -#~ msgstr "未知" - #~ msgid "Can't lock screen: %s" #~ msgstr "不能锁住屏幕:%s" From c648a5f117f0a642a540ca73c30dc366dc6f4257 Mon Sep 17 00:00:00 2001 From: Ray Strode Date: Wed, 8 Dec 2010 18:05:31 -0500 Subject: [PATCH 39/45] StThemeNode: handle url() in inline styles better non-absolute paths specified as url()'s in stylesheets are resolved to be relative to the location of the stylesheets they are in. Inline styles don't have physical styleshseets sitting on disk, which leads to a crash in the url resolving code. This commit ensures that we don't try to use the stylesheet associated with a url, if there isn't one to use. This commit doesn't try to handle relative paths in inline styles. It only prevents crashes when absolute paths are used. https://bugzilla.gnome.org/show_bug.cgi?id=636975 --- src/st/st-theme-node.c | 28 ++++++++++++++++++++++++---- 1 file changed, 24 insertions(+), 4 deletions(-) diff --git a/src/st/st-theme-node.c b/src/st/st-theme-node.c index ce4cdbe9e..4a6a1218d 100644 --- a/src/st/st-theme-node.c +++ b/src/st/st-theme-node.c @@ -1617,9 +1617,16 @@ _st_theme_node_ensure_background (StThemeNode *node) } else if (term->type == TERM_URI) { + CRStyleSheet *base_stylesheet; + + if (decl->parent_statement != NULL) + base_stylesheet = decl->parent_statement->parent_sheet; + else + base_stylesheet = NULL; + node->background_image = _st_theme_resolve_url (node->theme, - decl->parent_statement->parent_sheet, - term->content.str->stryng->str); + base_stylesheet, + term->content.str->stryng->str); } } } @@ -1669,9 +1676,16 @@ _st_theme_node_ensure_background (StThemeNode *node) if (decl->value->type == TERM_URI) { + CRStyleSheet *base_stylesheet; + + if (decl->parent_statement != NULL) + base_stylesheet = decl->parent_statement->parent_sheet; + else + base_stylesheet = NULL; + g_free (node->background_image); node->background_image = _st_theme_resolve_url (node->theme, - decl->parent_statement->parent_sheet, + base_stylesheet, decl->value->content.str->stryng->str); } else if (term_is_inherit (decl->value)) @@ -2455,6 +2469,7 @@ st_theme_node_get_border_image (StThemeNode *node) if (strcmp (decl->property->stryng->str, "border-image") == 0) { CRTerm *term = decl->value; + CRStyleSheet *base_stylesheet; int borders[4]; int n_borders = 0; int i; @@ -2529,7 +2544,12 @@ st_theme_node_get_border_image (StThemeNode *node) break; } - filename = _st_theme_resolve_url (node->theme, decl->parent_statement->parent_sheet, url); + if (decl->parent_statement != NULL) + base_stylesheet = decl->parent_statement->parent_sheet; + else + base_stylesheet = NULL; + + filename = _st_theme_resolve_url (node->theme, base_stylesheet, url); if (filename == NULL) goto next_property; From cb2babb1a010fe72c812045d9466ffbf1350c1d4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Florian=20M=C3=BCllner?= Date: Thu, 9 Dec 2010 10:35:40 +0100 Subject: [PATCH 40/45] st-theme-node: Improve borders with gradient backgrounds For gradient backgrounds, borders were implemented by filling the background shape with the border color first, and then scaling down the path to draw the background. The result is not correct[0], which is especially visible if the border width is greater than the border radius - so instead of scaling down the original path, use a separate path for the background. The result is consistent with the borders we draw for non-gradient backgrounds, and much closer to the correct standard behavior. [0] http://www.w3.org/TR/css3-background/#the-border-radius https://bugzilla.gnome.org/show_bug.cgi?id=607500 --- src/st/st-theme-node-drawing.c | 120 ++++++++++++++++++++------------- 1 file changed, 75 insertions(+), 45 deletions(-) diff --git a/src/st/st-theme-node-drawing.c b/src/st/st-theme-node-drawing.c index 847c7bb75..4a17ac2da 100644 --- a/src/st/st-theme-node-drawing.c +++ b/src/st/st-theme-node-drawing.c @@ -378,7 +378,6 @@ st_theme_node_render_gradient (StThemeNode *node) cairo_t *cr; cairo_surface_t *surface; cairo_pattern_t *pattern; - gboolean round_border = FALSE; ClutterColor border_color; int border_width; guint rowstride; @@ -397,11 +396,7 @@ st_theme_node_render_gradient (StThemeNode *node) get_arbitrary_border (node, &border_width, &border_color); for (i = 0; i < 4; i++) - { - radius[i] = st_theme_node_get_border_radius (node, i); - if (radius[i] > 0) - round_border = TRUE; - } + radius[i] = st_theme_node_get_border_radius (node, i); if (node->background_gradient_type == ST_GRADIENT_VERTICAL) pattern = cairo_pattern_create_linear (0, 0, 0, node->alloc_height); @@ -427,43 +422,42 @@ st_theme_node_render_gradient (StThemeNode *node) node->background_gradient_end.blue / 255., node->background_gradient_end.alpha / 255.); - if (round_border) - { - if (radius[ST_CORNER_TOPLEFT] > 0) - cairo_arc (cr, - radius[ST_CORNER_TOPLEFT], - radius[ST_CORNER_TOPLEFT], - radius[ST_CORNER_TOPLEFT], M_PI, 3 * M_PI / 2); - else - cairo_move_to (cr, 0, 0); - cairo_line_to (cr, node->alloc_width - radius[ST_CORNER_TOPRIGHT], 0); - if (radius[ST_CORNER_TOPRIGHT] > 0) - cairo_arc (cr, - node->alloc_width - radius[ST_CORNER_TOPRIGHT], - radius[ST_CORNER_TOPRIGHT], - radius[ST_CORNER_TOPRIGHT], 3 * M_PI / 2, 2 * M_PI); - cairo_line_to (cr, node->alloc_width, node->alloc_height - radius[ST_CORNER_BOTTOMRIGHT]); - if (radius[ST_CORNER_BOTTOMRIGHT]) - cairo_arc (cr, - node->alloc_width - radius[ST_CORNER_BOTTOMRIGHT], - node->alloc_height - radius[ST_CORNER_BOTTOMRIGHT], - radius[ST_CORNER_BOTTOMRIGHT], 0, M_PI / 2); - cairo_line_to (cr, radius[ST_CORNER_BOTTOMLEFT], node->alloc_height); - if (radius[ST_CORNER_BOTTOMLEFT]) - cairo_arc (cr, - radius[ST_CORNER_BOTTOMLEFT], - node->alloc_height - radius[ST_CORNER_BOTTOMLEFT], - radius[ST_CORNER_BOTTOMLEFT], M_PI / 2, M_PI); - cairo_close_path (cr); - } + /* Create a path for the background's outline first */ + if (radius[ST_CORNER_TOPLEFT] > 0) + cairo_arc (cr, + radius[ST_CORNER_TOPLEFT], + radius[ST_CORNER_TOPLEFT], + radius[ST_CORNER_TOPLEFT], M_PI, 3 * M_PI / 2); else - cairo_rectangle (cr, 0, 0, node->alloc_width, node->alloc_height); + cairo_move_to (cr, 0, 0); + cairo_line_to (cr, node->alloc_width - radius[ST_CORNER_TOPRIGHT], 0); + if (radius[ST_CORNER_TOPRIGHT] > 0) + cairo_arc (cr, + node->alloc_width - radius[ST_CORNER_TOPRIGHT], + radius[ST_CORNER_TOPRIGHT], + radius[ST_CORNER_TOPRIGHT], 3 * M_PI / 2, 2 * M_PI); + cairo_line_to (cr, node->alloc_width, node->alloc_height - radius[ST_CORNER_BOTTOMRIGHT]); + if (radius[ST_CORNER_BOTTOMRIGHT]) + cairo_arc (cr, + node->alloc_width - radius[ST_CORNER_BOTTOMRIGHT], + node->alloc_height - radius[ST_CORNER_BOTTOMRIGHT], + radius[ST_CORNER_BOTTOMRIGHT], 0, M_PI / 2); + cairo_line_to (cr, radius[ST_CORNER_BOTTOMLEFT], node->alloc_height); + if (radius[ST_CORNER_BOTTOMLEFT]) + cairo_arc (cr, + radius[ST_CORNER_BOTTOMLEFT], + node->alloc_height - radius[ST_CORNER_BOTTOMLEFT], + radius[ST_CORNER_BOTTOMLEFT], M_PI / 2, M_PI); + cairo_close_path (cr); + + /* If we have a border, we fill the outline with the border + * color and create the inline shape for the background gradient; + * otherwise the outline shape is filled with the background + * gradient directly + */ if (border_width > 0) { - cairo_path_t *path; - - path = cairo_copy_path (cr); cairo_set_source_rgba (cr, border_color.red / 255., border_color.green / 255., @@ -471,12 +465,48 @@ st_theme_node_render_gradient (StThemeNode *node) border_color.alpha / 255.); cairo_fill (cr); - cairo_translate (cr, border_width, border_width); - cairo_scale (cr, - (gdouble)(node->alloc_width - 2 * border_width) / node->alloc_width, - (gdouble)(node->alloc_height - 2 * border_width) / node->alloc_height); - cairo_append_path (cr, path); - cairo_path_destroy (path); + if (radius[ST_CORNER_TOPLEFT] > border_width) + cairo_arc (cr, + radius[ST_CORNER_TOPLEFT], + radius[ST_CORNER_TOPLEFT], + radius[ST_CORNER_TOPLEFT] - border_width, + M_PI, 3 * M_PI / 2); + else + cairo_move_to (cr, border_width, border_width); + + cairo_line_to (cr, + node->alloc_width - MAX(radius[ST_CORNER_TOPRIGHT], border_width), + border_width); + + if (radius[ST_CORNER_TOPRIGHT] > border_width) + cairo_arc (cr, + node->alloc_width - radius[ST_CORNER_TOPRIGHT], + radius[ST_CORNER_TOPRIGHT], + radius[ST_CORNER_TOPRIGHT] - border_width, + 3 * M_PI / 2, 2 * M_PI); + + cairo_line_to (cr, + node->alloc_width - border_width, + node->alloc_height - MAX(radius[ST_CORNER_BOTTOMRIGHT], border_width)); + + if (radius[ST_CORNER_BOTTOMRIGHT] > border_width) + cairo_arc (cr, + node->alloc_width - radius[ST_CORNER_BOTTOMRIGHT], + node->alloc_height - radius[ST_CORNER_BOTTOMRIGHT], + radius[ST_CORNER_BOTTOMRIGHT] - border_width, + 0, M_PI / 2); + + cairo_line_to (cr, + MAX(radius[ST_CORNER_BOTTOMLEFT], border_width), + node->alloc_height - border_width); + + if (radius[ST_CORNER_BOTTOMLEFT] > border_width) + cairo_arc (cr, + radius[ST_CORNER_BOTTOMLEFT], + node->alloc_height - radius[ST_CORNER_BOTTOMLEFT], + radius[ST_CORNER_BOTTOMLEFT] - border_width, + M_PI / 2, M_PI); + cairo_close_path (cr); } cairo_set_source (cr, pattern); From cb5c18c7833ee5e927cc3c6bd309a7ba828edd0d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Florian=20M=C3=BCllner?= Date: Tue, 23 Nov 2010 15:10:57 +0100 Subject: [PATCH 41/45] st-theme-node: Support non-uniform border widths While non-uniform border widths were parsed correctly, an arbitrary side's width was picked when painting, so that each border ended up with the same width and the widths specified in CSS were ignored. At least for sides between non-rounded corners, using a different border width can be reasonable, for instance at screen edges. Different border widths around rounded corners are kind of crack, but then it would be lame not to support it ... https://bugzilla.gnome.org/show_bug.cgi?id=607500 --- src/st/st-theme-node-drawing.c | 373 ++++++++++++++++++++---------- tests/Makefile.am | 1 + tests/interactive/border-width.js | 60 +++++ 3 files changed, 306 insertions(+), 128 deletions(-) create mode 100644 tests/interactive/border-width.js diff --git a/src/st/st-theme-node-drawing.c b/src/st/st-theme-node-drawing.c index 4a17ac2da..6e71c9881 100644 --- a/src/st/st-theme-node-drawing.c +++ b/src/st/st-theme-node-drawing.c @@ -49,6 +49,22 @@ typedef struct { guint border_width_2; } StCornerSpec; +static void +elliptical_arc (cairo_t *cr, + double x_center, + double y_center, + double x_radius, + double y_radius, + double angle1, + double angle2) +{ + cairo_save (cr); + cairo_translate (cr, x_center, y_center); + cairo_scale (cr, x_radius, y_radius); + cairo_arc (cr, 0, 0, 1.0, angle1, angle2); + cairo_restore (cr); +} + static CoglHandle create_corner_material (StCornerSpec *corner) { @@ -73,13 +89,11 @@ create_corner_material (StCornerSpec *corner) cairo_set_operator (cr, CAIRO_OPERATOR_SOURCE); cairo_scale (cr, size, size); - /* TODO support nonuniform border widths */ - - if (corner->border_width_1 < corner->radius) + if (max_border_width <= corner->radius) { - double internal_radius = 0.5 * (1.0 - (double) corner->border_width_1 / corner->radius); + double x_radius, y_radius; - if (corner->border_width_1 != 0) + if (max_border_width != 0) { cairo_set_source_rgba (cr, corner->border_color_1.red / 255., @@ -96,14 +110,41 @@ create_corner_material (StCornerSpec *corner) corner->color.green / 255., corner->color.blue / 255., corner->color.alpha / 255.); - cairo_arc (cr, 0.5, 0.5, internal_radius, 0, 2 * M_PI); + + x_radius = 0.5 * (1.0 - (double) corner->border_width_2 / corner->radius); + y_radius = 0.5 * (1.0 - (double) corner->border_width_1 / corner->radius); + + /* TOPRIGHT */ + elliptical_arc (cr, + 0.5, 0.5, + x_radius, y_radius, + 3 * M_PI / 2, 2 * M_PI); + + /* BOTTOMRIGHT */ + elliptical_arc (cr, + 0.5, 0.5, + x_radius, y_radius, + 0, M_PI / 2); + + /* TOPLEFT */ + elliptical_arc (cr, + 0.5, 0.5, + x_radius, y_radius, + M_PI, 3 * M_PI / 2); + + /* BOTTOMLEFT */ + elliptical_arc (cr, + 0.5, 0.5, + x_radius, y_radius, + M_PI / 2, M_PI); + cairo_fill (cr); } else { double radius; - radius = (gdouble)corner->radius / corner->border_width_1; + radius = (gdouble)corner->radius / max_border_width; cairo_set_source_rgba (cr, corner->border_color_1.red / 255., @@ -216,6 +257,41 @@ over (const ClutterColor *source, unpremultiply (result); } +static void +st_theme_node_get_corner_border_widths (StThemeNode *node, + StCorner corner_id, + guint *border_width_1, + guint *border_width_2) +{ + switch (corner_id) + { + case ST_CORNER_TOPLEFT: + if (border_width_1) + *border_width_1 = node->border_width[ST_SIDE_TOP]; + if (border_width_2) + *border_width_2 = node->border_width[ST_SIDE_LEFT]; + break; + case ST_CORNER_TOPRIGHT: + if (border_width_1) + *border_width_1 = node->border_width[ST_SIDE_TOP]; + if (border_width_2) + *border_width_2 = node->border_width[ST_SIDE_RIGHT]; + break; + case ST_CORNER_BOTTOMRIGHT: + if (border_width_1) + *border_width_1 = node->border_width[ST_SIDE_BOTTOM]; + if (border_width_2) + *border_width_2 = node->border_width[ST_SIDE_RIGHT]; + break; + case ST_CORNER_BOTTOMLEFT: + if (border_width_1) + *border_width_1 = node->border_width[ST_SIDE_BOTTOM]; + if (border_width_2) + *border_width_2 = node->border_width[ST_SIDE_LEFT]; + break; + } +} + static CoglHandle st_theme_node_lookup_corner (StThemeNode *node, StCorner corner_id) @@ -233,30 +309,25 @@ st_theme_node_lookup_corner (StThemeNode *node, corner.radius = node->border_radius[corner_id]; corner.color = node->background_color; + st_theme_node_get_corner_border_widths (node, corner_id, + &corner.border_width_1, + &corner.border_width_2); switch (corner_id) { case ST_CORNER_TOPLEFT: - corner.border_width_1 = node->border_width[ST_SIDE_TOP]; - corner.border_width_2 = node->border_width[ST_SIDE_LEFT]; over (&node->border_color[ST_SIDE_TOP], &corner.color, &corner.border_color_1); over (&node->border_color[ST_SIDE_LEFT], &corner.color, &corner.border_color_2); break; case ST_CORNER_TOPRIGHT: - corner.border_width_1 = node->border_width[ST_SIDE_TOP]; - corner.border_width_2 = node->border_width[ST_SIDE_RIGHT]; over (&node->border_color[ST_SIDE_TOP], &corner.color, &corner.border_color_1); over (&node->border_color[ST_SIDE_RIGHT], &corner.color, &corner.border_color_2); break; case ST_CORNER_BOTTOMRIGHT: - corner.border_width_1 = node->border_width[ST_SIDE_BOTTOM]; - corner.border_width_2 = node->border_width[ST_SIDE_RIGHT]; over (&node->border_color[ST_SIDE_BOTTOM], &corner.color, &corner.border_color_1); over (&node->border_color[ST_SIDE_RIGHT], &corner.color, &corner.border_color_2); break; case ST_CORNER_BOTTOMLEFT: - corner.border_width_1 = node->border_width[ST_SIDE_BOTTOM]; - corner.border_width_2 = node->border_width[ST_SIDE_LEFT]; over (&node->border_color[ST_SIDE_BOTTOM], &corner.color, &corner.border_color_1); over (&node->border_color[ST_SIDE_LEFT], &corner.color, &corner.border_color_2); break; @@ -346,28 +417,14 @@ get_background_position (StThemeNode *self, } /* Use of this function marks code which doesn't support - * non-uniform widths and/or colors. + * non-uniform colors. */ -static gboolean -get_arbitrary_border (StThemeNode *node, - int *width, - ClutterColor *color) +static void +get_arbitrary_border_color (StThemeNode *node, + ClutterColor *color) { - int w; - - w = st_theme_node_get_border_width (node, ST_SIDE_TOP); - if (w > 0) - { - if (width) - *width = w; - if (color) - st_theme_node_get_border_color (node, ST_SIDE_TOP, color); - return TRUE; - } - - if (width) - *width = 0; - return FALSE; + if (color) + st_theme_node_get_border_color (node, ST_SIDE_TOP, color); } static CoglHandle @@ -379,7 +436,7 @@ st_theme_node_render_gradient (StThemeNode *node) cairo_surface_t *surface; cairo_pattern_t *pattern; ClutterColor border_color; - int border_width; + int border_width[4]; guint rowstride; guchar *data; @@ -392,11 +449,15 @@ st_theme_node_render_gradient (StThemeNode *node) rowstride); cr = cairo_create (surface); - /* TODO - support non-uniform border colors and widths */ - get_arbitrary_border (node, &border_width, &border_color); + /* TODO - support non-uniform border colors */ + get_arbitrary_border_color (node, &border_color); for (i = 0; i < 4; i++) - radius[i] = st_theme_node_get_border_radius (node, i); + { + border_width[i] = st_theme_node_get_border_width (node, i); + + radius[i] = st_theme_node_get_border_radius (node, i); + } if (node->background_gradient_type == ST_GRADIENT_VERTICAL) pattern = cairo_pattern_create_linear (0, 0, 0, node->alloc_height); @@ -437,13 +498,13 @@ st_theme_node_render_gradient (StThemeNode *node) radius[ST_CORNER_TOPRIGHT], radius[ST_CORNER_TOPRIGHT], 3 * M_PI / 2, 2 * M_PI); cairo_line_to (cr, node->alloc_width, node->alloc_height - radius[ST_CORNER_BOTTOMRIGHT]); - if (radius[ST_CORNER_BOTTOMRIGHT]) + if (radius[ST_CORNER_BOTTOMRIGHT] > 0) cairo_arc (cr, node->alloc_width - radius[ST_CORNER_BOTTOMRIGHT], node->alloc_height - radius[ST_CORNER_BOTTOMRIGHT], radius[ST_CORNER_BOTTOMRIGHT], 0, M_PI / 2); cairo_line_to (cr, radius[ST_CORNER_BOTTOMLEFT], node->alloc_height); - if (radius[ST_CORNER_BOTTOMLEFT]) + if (radius[ST_CORNER_BOTTOMLEFT] > 0) cairo_arc (cr, radius[ST_CORNER_BOTTOMLEFT], node->alloc_height - radius[ST_CORNER_BOTTOMLEFT], @@ -456,7 +517,10 @@ st_theme_node_render_gradient (StThemeNode *node) * otherwise the outline shape is filled with the background * gradient directly */ - if (border_width > 0) + if (border_width[ST_SIDE_TOP] > 0 || + border_width[ST_SIDE_RIGHT] > 0 || + border_width[ST_SIDE_BOTTOM] > 0 || + border_width[ST_SIDE_LEFT] > 0) { cairo_set_source_rgba (cr, border_color.red / 255., @@ -465,47 +529,70 @@ st_theme_node_render_gradient (StThemeNode *node) border_color.alpha / 255.); cairo_fill (cr); - if (radius[ST_CORNER_TOPLEFT] > border_width) - cairo_arc (cr, - radius[ST_CORNER_TOPLEFT], - radius[ST_CORNER_TOPLEFT], - radius[ST_CORNER_TOPLEFT] - border_width, - M_PI, 3 * M_PI / 2); + if (radius[ST_CORNER_TOPLEFT] > MAX(border_width[ST_SIDE_TOP], + border_width[ST_SIDE_LEFT])) + elliptical_arc (cr, + radius[ST_CORNER_TOPLEFT], + radius[ST_CORNER_TOPLEFT], + radius[ST_CORNER_TOPLEFT] - border_width[ST_SIDE_LEFT], + radius[ST_CORNER_TOPLEFT] - border_width[ST_SIDE_TOP], + M_PI, 3 * M_PI / 2); else - cairo_move_to (cr, border_width, border_width); + cairo_move_to (cr, + border_width[ST_SIDE_LEFT], + border_width[ST_SIDE_TOP]); cairo_line_to (cr, - node->alloc_width - MAX(radius[ST_CORNER_TOPRIGHT], border_width), - border_width); + node->alloc_width - MAX(radius[ST_CORNER_TOPRIGHT], border_width[ST_SIDE_RIGHT]), + border_width[ST_SIDE_TOP]); - if (radius[ST_CORNER_TOPRIGHT] > border_width) - cairo_arc (cr, - node->alloc_width - radius[ST_CORNER_TOPRIGHT], - radius[ST_CORNER_TOPRIGHT], - radius[ST_CORNER_TOPRIGHT] - border_width, - 3 * M_PI / 2, 2 * M_PI); + if (radius[ST_CORNER_TOPRIGHT] > MAX(border_width[ST_SIDE_TOP], + border_width[ST_SIDE_RIGHT])) + elliptical_arc (cr, + node->alloc_width - radius[ST_CORNER_TOPRIGHT], + radius[ST_CORNER_TOPRIGHT], + radius[ST_CORNER_TOPRIGHT] - border_width[ST_SIDE_RIGHT], + radius[ST_CORNER_TOPRIGHT] - border_width[ST_SIDE_TOP], + 3 * M_PI / 2, 2 * M_PI); + else + cairo_line_to (cr, + node->alloc_width - border_width[ST_SIDE_RIGHT], + border_width[ST_SIDE_TOP]); cairo_line_to (cr, - node->alloc_width - border_width, - node->alloc_height - MAX(radius[ST_CORNER_BOTTOMRIGHT], border_width)); + node->alloc_width - border_width[ST_SIDE_RIGHT], + node->alloc_height - MAX(radius[ST_CORNER_BOTTOMRIGHT], border_width[ST_SIDE_BOTTOM])); - if (radius[ST_CORNER_BOTTOMRIGHT] > border_width) - cairo_arc (cr, - node->alloc_width - radius[ST_CORNER_BOTTOMRIGHT], - node->alloc_height - radius[ST_CORNER_BOTTOMRIGHT], - radius[ST_CORNER_BOTTOMRIGHT] - border_width, - 0, M_PI / 2); + if (radius[ST_CORNER_BOTTOMRIGHT] > MAX(border_width[ST_SIDE_BOTTOM], + border_width[ST_SIDE_RIGHT])) + elliptical_arc (cr, + node->alloc_width - radius[ST_CORNER_BOTTOMRIGHT], + node->alloc_height - radius[ST_CORNER_BOTTOMRIGHT], + radius[ST_CORNER_BOTTOMRIGHT] - border_width[ST_SIDE_RIGHT], + radius[ST_CORNER_BOTTOMRIGHT] - border_width[ST_SIDE_BOTTOM], + 0, M_PI / 2); + else + cairo_line_to (cr, + node->alloc_width - border_width[ST_SIDE_RIGHT], + node->alloc_height - border_width[ST_SIDE_BOTTOM]); cairo_line_to (cr, - MAX(radius[ST_CORNER_BOTTOMLEFT], border_width), - node->alloc_height - border_width); + MAX(radius[ST_CORNER_BOTTOMLEFT], border_width[ST_SIDE_LEFT]), + node->alloc_height - border_width[ST_SIDE_BOTTOM]); + + if (radius[ST_CORNER_BOTTOMLEFT] > MAX(border_width[ST_SIDE_BOTTOM], + border_width[ST_SIDE_LEFT])) + elliptical_arc (cr, + radius[ST_CORNER_BOTTOMLEFT], + node->alloc_height - radius[ST_CORNER_BOTTOMLEFT], + radius[ST_CORNER_BOTTOMLEFT] - border_width[ST_SIDE_LEFT], + radius[ST_CORNER_BOTTOMLEFT] - border_width[ST_SIDE_BOTTOM], + M_PI / 2, M_PI); + else + cairo_line_to (cr, + border_width[ST_SIDE_LEFT], + node->alloc_height - border_width[ST_SIDE_BOTTOM]); - if (radius[ST_CORNER_BOTTOMLEFT] > border_width) - cairo_arc (cr, - radius[ST_CORNER_BOTTOMLEFT], - node->alloc_height - radius[ST_CORNER_BOTTOMLEFT], - radius[ST_CORNER_BOTTOMLEFT] - border_width, - M_PI / 2, M_PI); cairo_close_path (cr); } @@ -706,27 +793,40 @@ st_theme_node_paint_borders (StThemeNode *node, { float width, height; - int border_width; + int border_width[4]; int max_border_radius = 0; int max_width_radius[4]; - int corner_id; + int corner_id, side_id; ClutterColor border_color; guint8 alpha; width = box->x2 - box->x1; height = box->y2 - box->y1; - get_arbitrary_border (node, &border_width, &border_color); + /* TODO - support non-uniform border colors */ + get_arbitrary_border_color (node, &border_color); + + for (side_id = 0; side_id < 4; side_id++) + border_width[side_id] = st_theme_node_get_border_width(node, side_id); + for (corner_id = 0; corner_id < 4; corner_id++) { + guint border_width_1, border_width_2; + + st_theme_node_get_corner_border_widths (node, corner_id, + &border_width_1, &border_width_2); + if (node->border_radius[corner_id] > max_border_radius) max_border_radius = node->border_radius[corner_id]; - max_width_radius[corner_id] = MAX(border_width, + max_width_radius[corner_id] = MAX(MAX(border_width_1, border_width_2), node->border_radius[corner_id]); } /* borders */ - if (border_width > 0) + if (border_width[ST_SIDE_TOP] > 0 || + border_width[ST_SIDE_RIGHT] > 0 || + border_width[ST_SIDE_BOTTOM] > 0 || + border_width[ST_SIDE_LEFT] > 0) { ClutterColor effective_border; gboolean skip_corner_1, skip_corner_2; @@ -749,18 +849,19 @@ st_theme_node_paint_borders (StThemeNode *node, x1 = skip_corner_1 ? max_width_radius[ST_CORNER_TOPLEFT] : 0; y1 = 0; x2 = skip_corner_2 ? width - max_width_radius[ST_CORNER_TOPRIGHT] : width; - y2 = border_width; + y2 = border_width[ST_SIDE_TOP]; cogl_rectangle (x1, y1, x2, y2); /* EAST */ skip_corner_1 = node->border_radius[ST_CORNER_TOPRIGHT] > 0; skip_corner_2 = node->border_radius[ST_CORNER_BOTTOMRIGHT] > 0; - x1 = width - border_width; - y1 = skip_corner_1 ? max_width_radius[ST_CORNER_TOPRIGHT] : border_width; + x1 = width - border_width[ST_SIDE_RIGHT]; + y1 = skip_corner_1 ? max_width_radius[ST_CORNER_TOPRIGHT] + : border_width[ST_SIDE_TOP]; x2 = width; y2 = skip_corner_2 ? height - max_width_radius[ST_CORNER_BOTTOMRIGHT] - : height - border_width; + : height - border_width[ST_SIDE_BOTTOM]; cogl_rectangle (x1, y1, x2, y2); /* SOUTH */ @@ -768,7 +869,7 @@ st_theme_node_paint_borders (StThemeNode *node, skip_corner_2 = node->border_radius[ST_CORNER_BOTTOMRIGHT] > 0; x1 = skip_corner_1 ? max_width_radius[ST_CORNER_BOTTOMLEFT] : 0; - y1 = height - border_width; + y1 = height - border_width[ST_SIDE_BOTTOM]; x2 = skip_corner_2 ? width - max_width_radius[ST_CORNER_BOTTOMRIGHT] : width; y2 = height; @@ -779,10 +880,11 @@ st_theme_node_paint_borders (StThemeNode *node, skip_corner_2 = node->border_radius[ST_CORNER_BOTTOMLEFT] > 0; x1 = 0; - y1 = skip_corner_1 ? max_width_radius[ST_CORNER_TOPLEFT] : border_width; - x2 = border_width; + y1 = skip_corner_1 ? max_width_radius[ST_CORNER_TOPLEFT] + : border_width[ST_SIDE_TOP]; + x2 = border_width[ST_SIDE_LEFT]; y2 = skip_corner_2 ? height - max_width_radius[ST_CORNER_BOTTOMLEFT] - : height - border_width; + : height - border_width[ST_SIDE_BOTTOM]; cogl_rectangle (x1, y1, x2, y2); } } @@ -853,82 +955,99 @@ st_theme_node_paint_borders (StThemeNode *node, switch (corner_id) { case ST_CORNER_TOPLEFT: - verts[0] = border_width; - verts[1] = max_width_radius[ST_CORNER_TOPLEFT]; + verts[0] = border_width[ST_SIDE_LEFT]; + verts[1] = MAX(node->border_radius[corner_id], + border_width[ST_SIDE_TOP]); verts[2] = max_border_radius; verts[3] = max_border_radius; if (n_rects == 2) { - verts[4] = max_width_radius[ST_CORNER_TOPLEFT]; - verts[5] = border_width; + verts[4] = MAX(node->border_radius[corner_id], + border_width[ST_SIDE_LEFT]); + verts[5] = border_width[ST_SIDE_TOP]; verts[6] = max_border_radius; - verts[7] = max_width_radius[ST_CORNER_TOPLEFT]; + verts[7] = MAX(node->border_radius[corner_id], + border_width[ST_SIDE_TOP]); } break; case ST_CORNER_TOPRIGHT: verts[0] = width - max_border_radius; - verts[1] = max_width_radius[ST_CORNER_TOPRIGHT]; - verts[2] = width - border_width; + verts[1] = MAX(node->border_radius[corner_id], + border_width[ST_SIDE_TOP]); + verts[2] = width - border_width[ST_SIDE_RIGHT]; verts[3] = max_border_radius; if (n_rects == 2) { verts[4] = width - max_border_radius; - verts[5] = border_width; - verts[6] = width - max_width_radius[ST_CORNER_TOPRIGHT]; - verts[7] = max_width_radius[ST_CORNER_TOPRIGHT]; + verts[5] = border_width[ST_SIDE_TOP]; + verts[6] = width - MAX(node->border_radius[corner_id], + border_width[ST_SIDE_RIGHT]); + verts[7] = MAX(node->border_radius[corner_id], + border_width[ST_SIDE_TOP]); } break; case ST_CORNER_BOTTOMRIGHT: verts[0] = width - max_border_radius; verts[1] = height - max_border_radius; - verts[2] = width - border_width; - verts[3] = height - max_width_radius[ST_CORNER_BOTTOMRIGHT]; + verts[2] = width - border_width[ST_SIDE_RIGHT]; + verts[3] = height - MAX(node->border_radius[corner_id], + border_width[ST_SIDE_BOTTOM]); if (n_rects == 2) { verts[4] = width - max_border_radius; - verts[5] = height - max_width_radius[ST_CORNER_BOTTOMRIGHT]; - verts[6] = width - max_width_radius[ST_CORNER_BOTTOMRIGHT]; - verts[7] = height - border_width; + verts[5] = height - MAX(node->border_radius[corner_id], + border_width[ST_SIDE_BOTTOM]); + verts[6] = width - MAX(node->border_radius[corner_id], + border_width[ST_SIDE_RIGHT]); + verts[7] = height - border_width[ST_SIDE_BOTTOM]; } break; case ST_CORNER_BOTTOMLEFT: - verts[0] = border_width; + verts[0] = border_width[ST_SIDE_LEFT]; verts[1] = height - max_border_radius; verts[2] = max_border_radius; - verts[3] = height - max_width_radius[ST_CORNER_BOTTOMLEFT]; + verts[3] = height - MAX(node->border_radius[corner_id], + border_width[ST_SIDE_BOTTOM]); if (n_rects == 2) { - verts[4] = max_width_radius[ST_CORNER_BOTTOMLEFT]; - verts[5] = height - max_width_radius[ST_CORNER_BOTTOMLEFT]; + verts[4] = MAX(node->border_radius[corner_id], + border_width[ST_SIDE_LEFT]); + verts[5] = height - MAX(node->border_radius[corner_id], + border_width[ST_SIDE_BOTTOM]); verts[6] = max_border_radius; - verts[7] = height - border_width; + verts[7] = height - border_width[ST_SIDE_BOTTOM]; } break; } cogl_rectangles (verts, n_rects); } - if (max_border_radius > border_width) - { - /* Once we've drawn the borders and corners, if the corners are bigger - * the the border width, the remaining area is shaped like - * - * ######## - * ########## - * ########## - * ######## - * - * We draw it in 3 pieces - first the top and bottom, then the main - * rectangle - */ - cogl_rectangle (max_border_radius, border_width, - width - max_border_radius, max_border_radius); - cogl_rectangle (max_border_radius, height - max_border_radius, - width - max_border_radius, height - border_width); - } + /* Once we've drawn the borders and corners, if the corners are bigger + * then the border width, the remaining area is shaped like + * + * ######## + * ########## + * ########## + * ######## + * + * We draw it in at most 3 pieces - first the top and bottom if + * necessary, then the main rectangle + */ + if (max_border_radius > border_width[ST_SIDE_TOP]) + cogl_rectangle (MAX(max_border_radius, border_width[ST_SIDE_LEFT]), + border_width[ST_SIDE_TOP], + width - MAX(max_border_radius, border_width[ST_SIDE_RIGHT]), + max_border_radius); + if (max_border_radius > border_width[ST_SIDE_BOTTOM]) + cogl_rectangle (MAX(max_border_radius, border_width[ST_SIDE_LEFT]), + height - max_border_radius, + width - MAX(max_border_radius, border_width[ST_SIDE_RIGHT]), + height - border_width[ST_SIDE_BOTTOM]); - cogl_rectangle (border_width, MAX(border_width, max_border_radius), - width - border_width, height - MAX(border_width, max_border_radius)); + cogl_rectangle (border_width[ST_SIDE_LEFT], + MAX(border_width[ST_SIDE_TOP], max_border_radius), + width - border_width[ST_SIDE_RIGHT], + height - MAX(border_width[ST_SIDE_BOTTOM], max_border_radius)); } } @@ -1108,8 +1227,6 @@ st_theme_node_paint (StThemeNode *node, * zero width or a border image is being used. * * Deviations from the above as implemented here: - * - Nonuniform border widths combined with a non-zero border radius result - * in the border radius being ignored * - The combination of border image and a non-zero border radius is * not supported; the background color will be drawn with square * corners. diff --git a/tests/Makefile.am b/tests/Makefile.am index 4c6b92188..9fb38a294 100644 --- a/tests/Makefile.am +++ b/tests/Makefile.am @@ -4,6 +4,7 @@ EXTRA_DIST = run-test.sh.in TEST_JS = \ interactive/borders.js \ interactive/border-radius.js \ + interactive/border-width.js \ interactive/box-layout.js \ interactive/calendar.js \ interactive/css-fonts.js \ diff --git a/tests/interactive/border-width.js b/tests/interactive/border-width.js new file mode 100644 index 000000000..60f760619 --- /dev/null +++ b/tests/interactive/border-width.js @@ -0,0 +1,60 @@ +/* -*- mode: js2; js2-basic-offset: 4; indent-tabs-mode: nil -*- */ + +const Clutter = imports.gi.Clutter; +const St = imports.gi.St; + +const UI = imports.testcommon.ui; + +UI.init(); +let stage = Clutter.Stage.get_default(); +stage.width = 640; +stage.height = 480; + +let vbox = new St.BoxLayout({ width: stage.width, + height: stage.height, + style: 'padding: 10px; background: #ffee88;' + }); +stage.add_actor(vbox); + +let scroll = new St.ScrollView(); +vbox.add(scroll, { expand: true }); + +let box = new St.BoxLayout({ vertical: true, + style: 'spacing: 20px;' }); +scroll.add_actor(box); + +function addTestCase(borders, useGradient) { + let background; + if (useGradient) + background = 'background-gradient-direction: vertical;' + + 'background-gradient-start: white;' + + 'background-gradient-end: gray;'; + else + background = 'background: white;'; + + let border_style = "border-top: " + borders[St.Side.TOP] + " solid black;\n" + + "border-right: " + borders[St.Side.RIGHT] + " solid black;\n" + + "border-bottom: " + borders[St.Side.BOTTOM] + " solid black;\n" + + "border-left: " + borders[St.Side.LEFT] + " solid black;"; + box.add(new St.Label({ text: border_style, + style: border_style + + 'border-radius: 0px 5px 15px 25px;' + + 'padding: 5px;' + background }), + { x_fill: false }); +} + +// uniform backgrounds +addTestCase([" 0px", " 5px", "10px", "15px"], false); +addTestCase([" 5px", "10px", "15px", " 0px"], false); +addTestCase(["10px", "15px", " 0px", " 5px"], false); +addTestCase(["15px", " 0px", " 5px", "10px"], false); + +// gradient backgrounds +addTestCase([" 0px", " 5px", "10px", "15px"], true); +addTestCase([" 5px", "10px", "15px", " 0px"], true); +addTestCase(["10px", "15px", " 0px", " 5px"], true); +addTestCase(["15px", " 0px", " 5px", "10px"], true); + +stage.show(); +Clutter.main(); +stage.destroy(); From 4ae9c978ce9dbcb4246aac3ce0e349c323350fb0 Mon Sep 17 00:00:00 2001 From: Luca Ferretti Date: Mon, 13 Dec 2010 21:47:28 +0100 Subject: [PATCH 42/45] Add missing telepathyClient.js to POTFILES.in --- po/POTFILES.in | 1 + 1 file changed, 1 insertion(+) diff --git a/po/POTFILES.in b/po/POTFILES.in index 984f6d73a..800e7d3c6 100644 --- a/po/POTFILES.in +++ b/po/POTFILES.in @@ -17,6 +17,7 @@ js/ui/statusMenu.js js/ui/status/accessibility.js js/ui/status/power.js js/ui/status/volume.js +js/ui/telepathyClient.js js/ui/viewSelector.js js/ui/windowAttentionHandler.js js/ui/workspacesView.js From 3203dc549cda5d12586b0623e5a5b0ca4073c9e2 Mon Sep 17 00:00:00 2001 From: Luca Ferretti Date: Mon, 13 Dec 2010 22:37:40 +0100 Subject: [PATCH 43/45] Updated Italian translation --- po/it.po | 348 +++++++++++++++++++++++++++++++++++++------------------ 1 file changed, 236 insertions(+), 112 deletions(-) diff --git a/po/it.po b/po/it.po index f20c6a6a6..bd57cc42b 100644 --- a/po/it.po +++ b/po/it.po @@ -3,15 +3,16 @@ # This file is distributed under the same license as the gnome-shell package. # # Milo Casagrande , 2009, 2010. -# Luca Ferretti , 2010. +# Luca Ferretti , 2010. msgid "" msgstr "" "Project-Id-Version: gnome-shell\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2010-10-18 10:54+0200\n" -"PO-Revision-Date: 2010-10-18 11:04+0200\n" -"Last-Translator: Luca Ferretti \n" +"POT-Creation-Date: 2010-12-13 21:30+0100\n" +"PO-Revision-Date: 2010-12-13 22:40+0100\n" +"Last-Translator: Luca Ferretti \n" "Language-Team: Italian \n" +"Language: it\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" @@ -99,12 +100,7 @@ msgstr "Se VERO, visualizza il giorno della settimana ISO nel calendario." msgid "List of desktop file IDs for favorite applications" msgstr "Elenco di ID di file desktop per le applicazioni preferite" -# (ndt) lunga, ma non è che l'originale aiuti molto... #: ../data/org.gnome.shell.gschema.xml.in.h:13 -msgid "Overview workspace view mode" -msgstr "Modalità di visualizzazione degli spazi di lavoro nella panoramica" - -#: ../data/org.gnome.shell.gschema.xml.in.h:14 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 " @@ -125,19 +121,19 @@ msgstr "" "alcun valore, viene usata la pipeline predefinita il cui valore è " "\"videorate ! theoraenc ! oggmux\" e che registra nel formato Ogg Theora." -#: ../data/org.gnome.shell.gschema.xml.in.h:15 +#: ../data/org.gnome.shell.gschema.xml.in.h:14 msgid "Show date in clock" msgstr "Mostra la data nell'orologio" -#: ../data/org.gnome.shell.gschema.xml.in.h:16 +#: ../data/org.gnome.shell.gschema.xml.in.h:15 msgid "Show the week date in the calendar" msgstr "Mostra il giorno della settimana nel calendario" -#: ../data/org.gnome.shell.gschema.xml.in.h:17 +#: ../data/org.gnome.shell.gschema.xml.in.h:16 msgid "Show time with seconds" msgstr "Mostra l'ora con i secondi" -#: ../data/org.gnome.shell.gschema.xml.in.h:18 +#: ../data/org.gnome.shell.gschema.xml.in.h:17 msgid "" "The applications corresponding to these identifiers will be displayed in the " "favorites area." @@ -145,7 +141,7 @@ msgstr "" "Le applicazioni che corrispondono a questi identificatori vengono " "visualizzate nell'area dei preferiti." -#: ../data/org.gnome.shell.gschema.xml.in.h:19 +#: ../data/org.gnome.shell.gschema.xml.in.h:18 msgid "" "The filename for recorded screencasts will be a unique filename based on the " "current date, and use this extension. It should be changed when recording to " @@ -155,7 +151,7 @@ msgstr "" "data corrente e utilizza questa estensione. Dovrebbe essere modificato " "quando si registra utilizzando un diverso formato contenitore." -#: ../data/org.gnome.shell.gschema.xml.in.h:20 +#: ../data/org.gnome.shell.gschema.xml.in.h:19 msgid "" "The framerate of the resulting screencast recordered by GNOME Shell's " "screencast recorder in frames-per-second." @@ -163,20 +159,12 @@ msgstr "" "Il framerate in fotogrammi al secondo dello screencast registrato attraverso " "il registratore della GNOME Shell." -#: ../data/org.gnome.shell.gschema.xml.in.h:21 +#: ../data/org.gnome.shell.gschema.xml.in.h:20 msgid "The gstreamer pipeline used to encode the screencast" msgstr "La pipeline di gstreamer utilizzata per codificare lo screencast" -#: ../data/org.gnome.shell.gschema.xml.in.h:22 -msgid "" -"The selected workspace view mode in the overview. Supported values are " -"\"single\" and \"grid\"." -msgstr "" -"La modalità di visualizzazione degli spazi di lavoro nella panoramica. I " -"valori supportati sono \"single\" e \"grid\"." - # (ndt) quel "in launchers" non mi convince... -#: ../data/org.gnome.shell.gschema.xml.in.h:23 +#: ../data/org.gnome.shell.gschema.xml.in.h:21 msgid "" "The shell normally monitors active applications in order to present the most " "used ones (e.g. in launchers). While this data will be kept private, you may " @@ -188,7 +176,7 @@ msgstr "" "disabilitare questa funzionalità per motivi di privacy. I dati già salvati " "non verranno comunque rimossi." -#: ../data/org.gnome.shell.gschema.xml.in.h:24 +#: ../data/org.gnome.shell.gschema.xml.in.h:22 msgid "" "This key specifies the format used by the panel clock when the format key is " "set to \"custom\". You can use conversion specifiers understood by strftime" @@ -200,7 +188,7 @@ msgstr "" "specificatori di formato compatibili con strftime(). Per maggiori " "informazioni, consultare il manuale di strftime()." -#: ../data/org.gnome.shell.gschema.xml.in.h:25 +#: ../data/org.gnome.shell.gschema.xml.in.h:23 msgid "" "This key specifies the hour format used by the panel clock. Possible values " "are \"12-hour\", \"24-hour\", \"unix\" and \"custom\". If set to \"unix\", " @@ -217,11 +205,11 @@ msgstr "" "impostata a \"unix\" o \"custom\", le chiavi show_date e show_seconds non " "vengono considerate." -#: ../data/org.gnome.shell.gschema.xml.in.h:26 +#: ../data/org.gnome.shell.gschema.xml.in.h:24 msgid "Uuids of extensions to disable" msgstr "UUID delle estensioni da disabilitare" -#: ../data/org.gnome.shell.gschema.xml.in.h:27 +#: ../data/org.gnome.shell.gschema.xml.in.h:25 msgid "Whether to collect stats about applications usage" msgstr "" "Indica se raccogliere statistiche riguardo l'utilizzo delle applicazioni" @@ -266,7 +254,6 @@ msgid "" "the mouse image." msgstr "" -# (ndt) o abilitata? #: ../data/org.gnome.accessibility.magnifier.gschema.xml.in.h:7 msgid "Enable lens mode" msgstr "" @@ -380,64 +367,43 @@ msgstr "Formato _12 ore" msgid "_24 hour format" msgstr "Formato _24 ore" -#. **** Applications **** -#: ../js/ui/appDisplay.js:316 ../js/ui/dash.js:778 +#: ../js/ui/appDisplay.js:215 msgid "APPLICATIONS" msgstr "Applicazioni" -#: ../js/ui/appDisplay.js:348 +#: ../js/ui/appDisplay.js:245 msgid "PREFERENCES" msgstr "Preferenze" -#: ../js/ui/appDisplay.js:648 +#: ../js/ui/appDisplay.js:542 msgid "New Window" msgstr "Nuova finestra" -#: ../js/ui/appDisplay.js:652 +#: ../js/ui/appDisplay.js:546 msgid "Remove from Favorites" msgstr "Rimuovi dai preferiti" -#: ../js/ui/appDisplay.js:653 +#: ../js/ui/appDisplay.js:547 msgid "Add to Favorites" msgstr "Aggiungi ai preferiti" -#: ../js/ui/appDisplay.js:830 -msgid "Drag here to add favorites" -msgstr "Trascinare qui per aggiungere ai preferiti" - # (ndt) e usare: # L'elemento %s è stato rimosso... ? -#: ../js/ui/appFavorites.js:88 +#: ../js/ui/appFavorites.js:91 #, c-format msgid "%s has been added to your favorites." msgstr "%s è stato aggiunto ai preferiti." -#: ../js/ui/appFavorites.js:107 +#: ../js/ui/appFavorites.js:122 #, c-format msgid "%s has been removed from your favorites." msgstr "%s è stato rimosso dai preferiti." -#: ../js/ui/dash.js:142 -msgid "Find" -msgstr "Trova" +#: ../js/ui/dash.js:27 +msgid "Remove" +msgstr "Rimuovi" -#: ../js/ui/dash.js:473 -msgid "Searching..." -msgstr "Ricerca..." - -#: ../js/ui/dash.js:487 -msgid "No matching results." -msgstr "Nessun risultato." - -#. **** Places **** -#. Translators: This is in the sense of locations for documents, -#. network locations, etc. -#: ../js/ui/dash.js:797 ../js/ui/placeDisplay.js:554 -msgid "PLACES & DEVICES" -msgstr "Risorse e dispositivi" - -#. **** Documents **** -#: ../js/ui/dash.js:804 ../js/ui/docDisplay.js:494 +#: ../js/ui/docDisplay.js:494 msgid "RECENT ITEMS" msgstr "Elementi recenti" @@ -451,7 +417,9 @@ msgid "Enabled" msgstr "Abilitato" # (ndt) o disabilitata? -#: ../js/ui/lookingGlass.js:591 +#. translators: +#. * The device has been disabled +#: ../js/ui/lookingGlass.js:591 ../src/gvc/gvc-mixer-control.c:1087 msgid "Disabled" msgstr "Disabilitato" @@ -471,64 +439,64 @@ msgstr "Visualizza sorgente" msgid "Web Page" msgstr "Pagina web" -#: ../js/ui/overview.js:160 +#: ../js/ui/overview.js:112 msgid "Undo" msgstr "Annulla" #. TODO - _quit() doesn't really work on apps in state STARTING yet -#: ../js/ui/panel.js:468 +#: ../js/ui/panel.js:470 #, c-format msgid "Quit %s" msgstr "Chiudi %s" -#: ../js/ui/panel.js:493 +#: ../js/ui/panel.js:495 msgid "Preferences" msgstr "Preferenze" #. Translators: This is the time format with date used #. in 24-hour mode. -#: ../js/ui/panel.js:579 +#: ../js/ui/panel.js:581 msgid "%a %b %e, %R:%S" msgstr "%a %e %b, %k.%M.%S" # (ndt) proviamo col k, se non funge, sappiamo il perché... -#: ../js/ui/panel.js:580 +#: ../js/ui/panel.js:582 msgid "%a %b %e, %R" msgstr "%a %e %b, %k.%M" #. Translators: This is the time format without date used #. in 24-hour mode. -#: ../js/ui/panel.js:584 +#: ../js/ui/panel.js:586 msgid "%a %R:%S" msgstr "%a %k.%M.%S" -#: ../js/ui/panel.js:585 +#: ../js/ui/panel.js:587 msgid "%a %R" msgstr "%a %k.%M" #. Translators: This is a time format with date used #. for AM/PM. -#: ../js/ui/panel.js:592 +#: ../js/ui/panel.js:594 msgid "%a %b %e, %l:%M:%S %p" msgstr "%a %e %b, %l.%M.%S %P" -#: ../js/ui/panel.js:593 +#: ../js/ui/panel.js:595 msgid "%a %b %e, %l:%M %p" msgstr "%a %e %b, %l.%M %P" #. Translators: This is a time format without date used #. for AM/PM. -#: ../js/ui/panel.js:597 +#: ../js/ui/panel.js:599 msgid "%a %l:%M:%S %p" msgstr "%a %l.%M.%S %P" -#: ../js/ui/panel.js:598 +#: ../js/ui/panel.js:600 msgid "%a %l:%M %p" msgstr "%a %l.%M %P" #. Button on the left side of the panel. #. Translators: If there is no suitable word for "Activities" in your language, you can use the word for "Overview". -#: ../js/ui/panel.js:743 +#: ../js/ui/panel.js:745 msgid "Activities" msgstr "Attività" @@ -546,6 +514,10 @@ msgstr "Riprova" msgid "Connect to..." msgstr "Connetti a..." +#: ../js/ui/placeDisplay.js:558 +msgid "PLACES & DEVICES" +msgstr "Risorse e dispositivi" + #. Translators: this MUST be either "toggle-switch-us" #. (for toggle switches containing the English words #. "ON" and "OFF") or "toggle-switch-intl" (for toggle @@ -564,42 +536,46 @@ msgstr "Inserire un comando:" msgid "Execution of '%s' failed:" msgstr "Esecuzione di «%s» non riuscita:" -#: ../js/ui/statusMenu.js:97 +#: ../js/ui/statusMenu.js:101 msgid "Available" msgstr "Disponibile" -#: ../js/ui/statusMenu.js:101 +#: ../js/ui/statusMenu.js:106 msgid "Busy" msgstr "Non disponibile" -#: ../js/ui/statusMenu.js:105 -msgid "Invisible" -msgstr "Invisibile" +#: ../js/ui/statusMenu.js:114 +msgid "My Account" +msgstr "Account personale" -#: ../js/ui/statusMenu.js:112 -msgid "Account Information..." -msgstr "Informazioni account..." +#: ../js/ui/statusMenu.js:118 +msgid "System Settings" +msgstr "Impostazioni di sistema" -#: ../js/ui/statusMenu.js:116 -msgid "System Settings..." -msgstr "Impostazioni di sistema..." - -#: ../js/ui/statusMenu.js:123 +#: ../js/ui/statusMenu.js:125 msgid "Lock Screen" msgstr "Blocca schermo" -#: ../js/ui/statusMenu.js:127 +#: ../js/ui/statusMenu.js:129 msgid "Switch User" msgstr "Cambia utente" -#: ../js/ui/statusMenu.js:132 +#: ../js/ui/statusMenu.js:134 msgid "Log Out..." msgstr "Termina sessione..." -#: ../js/ui/statusMenu.js:136 +#: ../js/ui/statusMenu.js:141 +msgid "Suspend..." +msgstr "Sospendi..." + +#: ../js/ui/statusMenu.js:145 msgid "Shut Down..." msgstr "Arresta..." +#: ../js/ui/status/accessibility.js:82 +msgid "Zoom" +msgstr "Ingrandimento" + #: ../js/ui/status/accessibility.js:88 msgid "Screen Reader" msgstr "Lettore schermo" @@ -636,13 +612,145 @@ msgstr "Impostazioni accesso universale" msgid "High Contrast" msgstr "Contrasto elevato" -#: ../js/ui/status/accessibility.js:202 +#: ../js/ui/status/accessibility.js:205 msgid "Large Text" msgstr "Caratteri grandi" -#: ../js/ui/status/accessibility.js:223 -msgid "Zoom" -msgstr "Ingrandimento" +# Sarebbe da vedere uhmmm... +#: ../js/ui/status/power.js:87 +msgid "What's using power..." +msgstr "Consumi energetici..." + +#: ../js/ui/status/power.js:90 +msgid "Power Settings" +msgstr "Impostazioni alimentazione" + +#: ../js/ui/status/power.js:117 +#, c-format +msgid "%d hour remaining" +msgid_plural "%d hours remaining" +msgstr[0] "%d ora rimanente" +msgstr[1] "%d ore rimanenti" + +#. TRANSLATORS: this is a time string, as in "%d hours %d minutes remaining" +#: ../js/ui/status/power.js:120 +#, c-format +msgid "%d %s %d %s remaining" +msgstr "%d %s e %d %s rimanenti" + +#: ../js/ui/status/power.js:122 +msgid "hour" +msgid_plural "hours" +msgstr[0] "ora" +msgstr[1] "ore" + +#: ../js/ui/status/power.js:122 +msgid "minute" +msgid_plural "minutes" +msgstr[0] "minuto" +msgstr[1] "minuti" + +#: ../js/ui/status/power.js:125 +#, c-format +msgid "%d minute remaining" +msgid_plural "%d minutes remaining" +msgstr[0] "%d minuto rimanente" +msgstr[1] "%d minuti rimanenti" + +#: ../js/ui/status/power.js:244 +msgid "AC adapter" +msgstr "Alimentatore di corrente" + +#: ../js/ui/status/power.js:246 +msgid "Laptop battery" +msgstr "Batteria del portatile" + +#: ../js/ui/status/power.js:248 +msgid "UPS" +msgstr "UPS" + +#: ../js/ui/status/power.js:250 +msgid "Monitor" +msgstr "Monitor" + +#: ../js/ui/status/power.js:252 +msgid "Mouse" +msgstr "Mouse" + +#: ../js/ui/status/power.js:254 +msgid "Keyboard" +msgstr "Tastiera" + +#: ../js/ui/status/power.js:256 +msgid "PDA" +msgstr "PDS" + +# c'era una discussione su tp... +#: ../js/ui/status/power.js:258 +msgid "Cell phone" +msgstr "Cellulare" + +#: ../js/ui/status/power.js:260 +msgid "Media player" +msgstr "Lettore multimediale" + +#: ../js/ui/status/power.js:262 +msgid "Tablet" +msgstr "Tablet" + +#: ../js/ui/status/power.js:264 +msgid "Computer" +msgstr "Computer" + +#: ../js/ui/status/power.js:266 ../src/shell-app-system.c:1012 +msgid "Unknown" +msgstr "Sconosciuto" + +#: ../js/ui/status/volume.js:41 +msgid "Volume" +msgstr "Volume" + +#: ../js/ui/status/volume.js:54 +msgid "Microphone" +msgstr "Microfono" + +#: ../js/ui/status/volume.js:62 +msgid "Sound Settings" +msgstr "Impostazioni audio" + +# FIXME ma ha senso in inglese??? +#: ../js/ui/viewSelector.js:26 +msgid "Search your computer" +msgstr "Cerca nel computer" + +#: ../js/ui/telepathyClient.js:560 +#, c-format +msgid "%s is online." +msgstr "%s è disponibile." + +#: ../js/ui/telepathyClient.js:565 +#, c-format +msgid "%s is offline." +msgstr "%s è furi rete." + +#: ../js/ui/telepathyClient.js:568 +#, c-format +msgid "%s is away." +msgstr "%s è assente." + +#: ../js/ui/telepathyClient.js:571 +#, c-format +msgid "%s is busy." +msgstr "%s non è disponibile." + +# FIXME -- Da rifinire.. +#. Translators: this is a time format string followed by a date. +#. If applicable, replace %X with a strftime format valid for your +#. locale, without seconds. +#: ../js/ui/telepathyClient.js:663 +#, c-format, fuzzy +msgid "Sent at %X on %A" +msgstr "Inviato alle %-H.%M.%S di %A" #: ../js/ui/windowAttentionHandler.js:43 #, c-format @@ -656,60 +764,82 @@ msgid "'%s' is ready" msgstr "«%s» è pronto" # (ndt) un po' liberetta... -#: ../js/ui/workspacesView.js:230 +#: ../js/ui/workspacesView.js:244 msgid "" "Can't add a new workspace because maximum workspaces limit has been reached." msgstr "" "Impossibile aggiungere un nuovo spazio di lavoro: raggiunto il limite " "massimo consentito." -#: ../js/ui/workspacesView.js:247 +#: ../js/ui/workspacesView.js:260 msgid "Can't remove the first workspace." msgstr "Impossibile rimuovere il primo spazio di lavoro." -#: ../src/shell-global.c:1196 +#. translators: +#. * The number of sound outputs on a particular device +#: ../src/gvc/gvc-mixer-control.c:1094 +#, c-format +msgid "%u Output" +msgid_plural "%u Outputs" +msgstr[0] "%u uscita" +msgstr[1] "%u uscite" + +#. translators: +#. * The number of sound inputs on a particular device +#: ../src/gvc/gvc-mixer-control.c:1104 +#, c-format +msgid "%u Input" +msgid_plural "%u Inputs" +msgstr[0] "%u ingresso" +msgstr[1] "%u ingressi" + +#: ../src/gvc/gvc-mixer-control.c:1402 +msgid "System Sounds" +msgstr "Audio di sistema" + +#: ../src/shell-global.c:1155 msgid "Less than a minute ago" msgstr "Meno di un minuto fa" -#: ../src/shell-global.c:1200 +#: ../src/shell-global.c:1159 #, c-format msgid "%d minute ago" msgid_plural "%d minutes ago" msgstr[0] "%d minuto fa" msgstr[1] "%d minuti fa" -#: ../src/shell-global.c:1205 +#: ../src/shell-global.c:1164 #, c-format msgid "%d hour ago" msgid_plural "%d hours ago" msgstr[0] "%d ora fa" msgstr[1] "%d ore fa" -#: ../src/shell-global.c:1210 +#: ../src/shell-global.c:1169 #, c-format msgid "%d day ago" msgid_plural "%d days ago" msgstr[0] "%d giorno fa" msgstr[1] "%d giorni fa" -#: ../src/shell-global.c:1215 +#: ../src/shell-global.c:1174 #, c-format msgid "%d week ago" msgid_plural "%d weeks ago" msgstr[0] "%d settimana fa" msgstr[1] "%d settimane fa" -#: ../src/shell-uri-util.c:89 +#: ../src/shell-util.c:89 msgid "Home Folder" msgstr "Cartella home" #. Translators: this is the same string as the one found in #. * nautilus -#: ../src/shell-uri-util.c:104 +#: ../src/shell-util.c:104 msgid "File System" msgstr "File system" -#: ../src/shell-uri-util.c:250 +#: ../src/shell-util.c:250 msgid "Search" msgstr "Cerca" @@ -719,13 +849,7 @@ msgstr "Cerca" #. * example, "Trash: some-directory". It means that the #. * directory called "some-directory" is in the trash. #. -#: ../src/shell-uri-util.c:300 +#: ../src/shell-util.c:300 #, c-format msgid "%1$s: %2$s" msgstr "%1$s: %2$s" - -#~ msgid "ON" -#~ msgstr "On" - -#~ msgid "OFF" -#~ msgstr "Off" From 7653cf6ad0fa3375241d7492d15e14f5e49f8542 Mon Sep 17 00:00:00 2001 From: Yaron Shahrabani Date: Mon, 13 Dec 2010 23:52:06 +0200 Subject: [PATCH 44/45] Updated Hebrew translation. --- po/he.po | 42 +++++++++++++++++++++++++++++++++++------- 1 file changed, 35 insertions(+), 7 deletions(-) diff --git a/po/he.po b/po/he.po index 93ec1e109..667fa15d3 100644 --- a/po/he.po +++ b/po/he.po @@ -8,8 +8,8 @@ msgid "" msgstr "" "Project-Id-Version: gnome-shell master\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2010-12-05 01:39+0200\n" -"PO-Revision-Date: 2010-12-05 01:42+0200\n" +"POT-Creation-Date: 2010-12-13 23:50+0200\n" +"PO-Revision-Date: 2010-12-13 23:52+0200\n" "Last-Translator: Yaron Shahrabani \n" "Language-Team: Hebrew \n" "MIME-Version: 1.0\n" @@ -737,6 +737,34 @@ msgstr "מיקרופון" msgid "Sound Settings" msgstr "הגדרות שמע" +#: ../js/ui/telepathyClient.js:560 +#, c-format +msgid "%s is online." +msgstr "%s התחבר/ה." + +#: ../js/ui/telepathyClient.js:565 +#, c-format +msgid "%s is offline." +msgstr "%s התנתק/ה." + +#: ../js/ui/telepathyClient.js:568 +#, c-format +msgid "%s is away." +msgstr "'%s' מרוחק/ת." + +#: ../js/ui/telepathyClient.js:571 +#, c-format +msgid "%s is busy." +msgstr "%s עסוק/ה." + +#. Translators: this is a time format string followed by a date. +#. If applicable, replace %X with a strftime format valid for your +#. locale, without seconds. +#: ../js/ui/telepathyClient.js:663 +#, c-format +msgid "Sent at %X on %A" +msgstr "נשלח ב־%X בשעה %A" + #: ../js/ui/viewSelector.js:26 msgid "Search your computer" msgstr "חיפוש במחשב שלך" @@ -784,11 +812,11 @@ msgstr[2] "2 קלטים" msgid "System Sounds" msgstr "צלילי מערכת" -#: ../src/shell-global.c:1163 +#: ../src/shell-global.c:1155 msgid "Less than a minute ago" msgstr "לפני פחות מדקה" -#: ../src/shell-global.c:1167 +#: ../src/shell-global.c:1159 #, c-format msgid "%d minute ago" msgid_plural "%d minutes ago" @@ -796,7 +824,7 @@ msgstr[0] "לפני דקה" msgstr[1] "לפני %d דקות" msgstr[2] "לפני 2 דקות" -#: ../src/shell-global.c:1172 +#: ../src/shell-global.c:1164 #, c-format msgid "%d hour ago" msgid_plural "%d hours ago" @@ -804,7 +832,7 @@ msgstr[0] "לפני שעה" msgstr[1] "לפני %d שעות" msgstr[2] "לפני שעתיים" -#: ../src/shell-global.c:1177 +#: ../src/shell-global.c:1169 #, c-format msgid "%d day ago" msgid_plural "%d days ago" @@ -812,7 +840,7 @@ msgstr[0] "לפני יום" msgstr[1] "לפני %d ימים" msgstr[2] "לפני יומיים" -#: ../src/shell-global.c:1182 +#: ../src/shell-global.c:1174 #, c-format msgid "%d week ago" msgid_plural "%d weeks ago" From 26f395bb8495d3c95cf4396077d2d3f730b03948 Mon Sep 17 00:00:00 2001 From: Luca Ferretti Date: Mon, 13 Dec 2010 23:07:37 +0100 Subject: [PATCH 45/45] [l10n] force no-c-format for "sent at ..." message "Sent at %X on %A" was incorrectly marked as c-format in PO files; forcing the no-c-format to allow custom format in translations. --- js/ui/telepathyClient.js | 1 + 1 file changed, 1 insertion(+) diff --git a/js/ui/telepathyClient.js b/js/ui/telepathyClient.js index 57cb78f05..5b57706e9 100644 --- a/js/ui/telepathyClient.js +++ b/js/ui/telepathyClient.js @@ -660,6 +660,7 @@ Notification.prototype = { /* Translators: this is a time format string followed by a date. If applicable, replace %X with a strftime format valid for your locale, without seconds. */ + // xgettext:no-c-format let timeLabel = this.addBody(lastMessageDate.toLocaleFormat(_("Sent at %X on %A")), false, { expand: true, x_fill: false, x_align: St.Align.END }); timeLabel.add_style_class_name('chat-meta-message'); this._history.unshift({ actor: timeLabel, time: lastMessageTime, realMessage: false });