Compare commits

..

80 Commits

Author SHA1 Message Date
73f7991264 Bump version to 3.0.2
Update NEWS
2011-05-25 15:26:34 -04:00
976f26cb26 StTextureCache: Fix leak of key string
Also micro-optimize by avoiding another strdup(), instead pass
ownership of the string when we can.

https://bugzilla.gnome.org/show_bug.cgi?id=649508
2011-05-25 14:17:07 -04:00
1278e31b65 StTextureCache: plug leak in not-found icon case
Need to free the key too.

https://bugzilla.gnome.org/show_bug.cgi?id=649508
2011-05-25 14:16:29 -04:00
92f27a3c00 st-scroll-view: remove spurious assignment of uninitialized data
https://bugzilla.gnome.org/show_bug.cgi?id=649596
2011-05-25 14:12:25 -04:00
28667a686d workspace: Use Main.uiGroup instead of global.stage
The mouse-wheel zoom "easter egg" broke when using the magnifier
because it was using global.stage. Fix it to use Main.uiGroup instead.

https://bugzilla.gnome.org/show_bug.cgi?id=649632
2011-05-25 14:12:19 -04:00
783683a12c workspacesView: Don't change opacity during dnd
We used used to indicate to the user the ability to move to another workspace
during dnd by highligthing the adjacent workspaces on hover.

This was done by changing the workspace's opacity to 200 and set it to
255 for the highlighted adjacent ones.

This is now no longer needed as the design was completely changed since
then (overview relayout; we no longer represent workspaces in the way
we did before) and introduces a bug where we don't properly reset the
opacity after the drag action, so just remove that code.

https://bugzilla.gnome.org/show_bug.cgi?id=648983
2011-05-25 14:12:11 -04:00
fc70446050 history: Fix navigation when entering a repeat
If the user typed "a", hit up, and pressed enter again, we wouldn't re-set the
history pointer to the end, so the broken navigation would instead go to the
entry before that.

https://bugzilla.gnome.org/show_bug.cgi?id=648765
2011-05-25 14:12:01 -04:00
70ab08aefd workspace: End zooming when starting a window drag
The mouse-wheel zooming "easter egg" breaks horribly when you
drag a window, due to ugly lightbox reparenting tricks it uses.

For now, just end any zoom before we drag the window around.

https://bugzilla.gnome.org/show_bug.cgi?id=649632
2011-05-25 14:11:52 -04:00
ca6308ae64 shell-app: Fix a case where last_user_time isn't updated.
When activating an uninteresting window, the last_user_time isn't updated,
because we aren't tracking the window that the user_time gets updated on.
Hack around this by setting the last_user_time in shell_app_activate when
activating an uninteresting window.

https://bugzilla.gnome.org/show_bug.cgi?id=643302
2011-05-25 14:11:46 -04:00
4dcbb84f06 network: fix modem connected state check
There is no CONNECTED state for devices, it's ACTIVATED.

https://bugzilla.gnome.org/show_bug.cgi?id=650124
2011-05-25 14:11:40 -04:00
f4e6f7074e panel: Don't propagate button-release-event in _onCornerClicked()
Since both the hot corner's ClutterGroup and the hot corner's
ClutterRectangle button-release-event is connected to
_onCornerClicked() we must handle it there by returning 'true' to
Clutter or else _onCornerClicked() is called twice which defeats the
HOT_CORNER_ACTIVATION_TIMEOUT logic.

https://bugzilla.gnome.org/show_bug.cgi?id=649427
2011-05-25 14:11:17 -04:00
0d92f2b0c5 telepathyClient: don't update notifications for outgoing messages
If you receive a message, a notification will appear. If you reply in
Empathy's chat window before the notification disappears, the
notification is updated with the contents of the message you *just*
sent! We should only update notifications if they're incoming.

https://bugzilla.gnome.org/show_bug.cgi?id=650219

Signed-off-by: Jonny Lamb <jonnylamb@gnome.org>
2011-05-25 14:11:13 -04:00
2afb4cc124 PopupSliderMenuItem: intercept clicks outside the slider
Connect to button-press-event on the menu item actor, not on the
slider, so any part that is highlighted is also clicked. This means
that click on the left of the volume slider is a rapid way to mute.

https://bugzilla.gnome.org/show_bug.cgi?id=646660
2011-05-25 14:11:09 -04:00
762b0e45e0 network: request that nm-applet show the mobile broadband wizard
Use nm-applet 0.8.999 API to call the mobile broadband wizard and
activate the new connection.

Fixes https://bugzilla.gnome.org/show_bug.cgi?id=649318
2011-05-25 14:10:45 -04:00
a7acd3b535 network: fix initial connections to WPA[2] Enterprise APs
Call out to nm-applet to do the dirty work since the dialog of
doom is pretty complicated and we don't have a JS equivalent
of it for now.

Fixes https://bugzilla.gnome.org/show_bug.cgi?id=648171
2011-05-25 14:10:24 -04:00
ccc4b20e83 network: fix handling of AP flags and enhance for 802.1x
All WPA APs were getting set as WPA2 due to the check for privacy;
WPA/WPA2 APs *must* set the Privacy bit according to the standard,
so we'd never end up in the case for NMAccessPointSecurity.WPA.

Fix that, and also add flags for WPA[2] Enterprise which we'll
use a bit later for the first-time connect case for 802.1x enabled
access points.
2011-05-25 14:08:22 -04:00
8dd45bea1c network: simplify connection sorting by using libnm-glib functions
Instead of rolling our own code, use new libnm-glib functions to do
the same thing.  Requires libnm-glib as of
779215c742bbe29a2c66202ec7e2e6d43edeb8ff (which will be part of 0.9).

Fixes https://bugzilla.gnome.org/show_bug.cgi?id=648648
2011-05-25 14:08:19 -04:00
0c80f8cec4 Updated Irish translation. 2011-05-23 02:09:38 -06:00
27508864bf vi.po: new translation for "dash" 2011-05-22 21:50:39 +07:00
117be3b14d Updated Irish translation. 2011-05-22 04:35:00 -06:00
4bc2f9b5e6 Updated Persian translation 2011-05-17 00:54:40 +04:30
ba5c45deaf st-private: Correct fix for memory leak
The previous fix in 72f9f482d was wrong; we need to keep around
the buffer until cairo is done with the pattern.

https://bugzilla.gnome.org/show_bug.cgi?id=649497
2011-05-12 14:44:10 -04:00
941246a4f0 st-private: Fix memory leak
==13810== 11,360 bytes in 1 blocks are definitely lost in loss record 18,574 of 18,765
==13810==    at 0x4005447: calloc (vg_replace_malloc.c:467)
==13810==    by 0x5191882: standard_calloc (gmem.c:107)
==13810==    by 0x51920A7: g_malloc0 (gmem.c:196)
==13810==    by 0x4056201: blur_pixels (st-private.c:466)
==13810==    by 0x40573B4: _st_create_shadow_cairo_pattern (st-private.c:710)
==13810==    by 0x4070746: st_theme_node_paint (st-theme-node-drawing.c:856)
==13810==    by 0x3FEFFFFF: ???

https://bugzilla.gnome.org/show_bug.cgi?id=649497
2011-05-12 14:44:07 -04:00
7feef56656 shell-xfixes-cursor: missing XFree
memory returned by XFixesGetCursorImage should be freed after usage.
https://bugzilla.gnome.org/show_bug.cgi?id=642652
2011-05-12 14:24:34 -04:00
9a2a07f32a Updated Norwegian bokmål translation from Sigurd Gartmann 2011-05-11 22:49:11 +02:00
af9594c902 Finnish date/time fixes from Marko Myllynen. Full usage however depends on getting bugs #647320 / #648678 in g_date_time_format fixed. 2011-05-05 18:04:51 +03:00
569008b084 appDisplay: Fix off-by-one when incrementally adding application icons
A "cosmetic" code arrangement I requested in code review resulted
in one too few items being removed from the queue for each incremental
chunk of icons added. Fix.

https://bugzilla.gnome.org/show_bug.cgi?id=648739
2011-05-03 08:53:08 -04:00
0e086563bc Added UG translation 2011-05-02 18:45:55 +02:00
91d4a832ad Added UG translation 2011-05-02 18:44:55 +02:00
832ce362f0 Added UG translation 2011-05-02 18:40:46 +02:00
aa04e453b8 Added UG translation 2011-05-02 18:40:09 +02:00
b0a75aed95 Added UG translation 2011-05-02 07:27:26 +02:00
dba97f36c0 Added Slovak translation 2011-04-27 09:01:55 +02:00
2560b37819 Updated Swedish translation 2011-04-26 23:10:51 +02:00
249f26d23c Bump version to 3.0.1
Update NEWS
2011-04-25 18:21:44 -04:00
7813c5b93f appDisplay: Process application display in chunks instead of all at once
Layout here can be slow for multiple reasons; better to avoid blocking
the whole UI until we're done with layout.

https://bugzilla.gnome.org/show_bug.cgi?id=647778
2011-04-25 17:20:45 -04:00
e38d83fd44 workspace: avoid an assertion in a new window/deleted workspace race
If a window appeared on a workspace that was then quickly removed, we
could hit an assertion in mutter. Avoid that.

https://bugzilla.gnome.org/show_bug.cgi?id=648132
2011-04-25 16:44:18 -04:00
d97657b151 app-menu: Update clip on icon size changes
To keep the app icon from overlapping the panel's (border-image)
border, a custom property for clipping the app menu icon's bottom
was introduced. But if the clip region is set before the initial
icon is set, the entire actor ends up clipped. Also due to the double
meaning of clutter_actor_get_height() (e.g. preferred height versus
allocated height), the clip region may end up too large and the icon
overlaps the panel's border-image.
Fix both problems by updating the clip region on size changes as
well, rather than on style changes only.

https://bugzilla.gnome.org/show_bug.cgi?id=644122
2011-04-25 22:20:10 +02:00
7e857dede3 network: add a few more states to getStatusLabel()
The IP_CHECK and SECONDARIES states should be considered part of the
"connecting..." phase.

DEACTIVATING should be its own stage, but that would break string
freeze, so we just treat it like DISCONNECTED for now.

UNMANAGED needs to be treated differently in 3.2, but it is too late
to fix it for 3.0.1.

https://bugzilla.gnome.org/show_bug.cgi?id=646946
2011-04-25 09:13:48 -04:00
c3218f6b03 Updated Thai translation. 2011-04-25 11:47:40 +07:00
1060d0db60 Updated Thai translation. 2011-04-25 08:46:44 +07:00
b8925a091c Updated Traditional Chinese translation(Hong Kong and Taiwan) 2011-04-24 05:55:02 +08:00
79cca07a41 Updated Japanese translation 2011-04-23 15:47:51 +09:00
c1d189c9ad Updated Turkish translation 2011-04-23 00:34:33 +03:00
b1a973ee5a Fixed bug #648398 in galician translations 2011-04-22 17:58:28 +02:00
93ef560779 Updated Polish translation 2011-04-22 16:27:32 +02:00
c28d35ad86 Fix bug #648394 2011-04-22 14:23:46 +02:00
9c654a6ab5 Updated Swedish translation 2011-04-22 08:50:54 +02:00
64a54e379c Updated Swedish translation 2011-04-22 08:48:11 +02:00
8f4ec8583b Updated Spanish translation 2011-04-21 18:49:11 +02:00
f4852d7264 ShellWindowTracker: Ensure WM_CLASS remains canonical if it matches
I unintentionally made .desktop->pid association "win" over
WM_CLASS.  Fixing this makes the case of ancillary .desktop file
entry points (e.g. gnome-control-center's various shortcut .desktop
files) correctly show System Settings, and not whatever the shortcut
is.

In the future I'd like to have a way to say "this .desktop file
is a shortcut, ignore me" or something.

https://bugzilla.gnome.org/show_bug.cgi?id=646689
2011-04-20 15:04:57 -04:00
092e1a691d altTab.js: remove Alt+Tab's special case
Alt+Tab's special case of "switch to the most-recently-used window even if
it's in the same app" is actually an hindrance for users to get a firm mental
model of Alt+Tab. Now that we have Alt+Above_Tab the special case is no longer
needed.

https://bugzilla.gnome.org/show_bug.cgi?id=647907
2011-04-20 14:43:14 -04:00
16ac42421d Updated Persian translation 2011-04-19 00:17:52 +04:30
1d2eadb9c0 notifications: Fix order of title/banner for RTL text
Currently, the banner text is always located at the right of the
title - we need to swap those around for RTL locales. Rather than
using the locale directly to figure out the ordering, try to
determine the direction of the title label and let it control the
overall direction of the notification - this way, notifications
generally come out right when mixing scripts.

https://bugzilla.gnome.org/show_bug.cgi?id=646921
2011-04-15 20:14:51 +02:00
35c85d9fac Fix search handling when typing multiple searches in the search box
In the current implementation of the search entry, when replacing a
selected search term with another term, the first character of the
replacement is prepended to the hint text rather than starting a new
search. This fix makes sure that the focus is not lost when changing
the selected search term.

https://bugzilla.gnome.org/show_bug.cgi?id=636341
2011-04-15 19:42:08 +02:00
f0622c1896 search-results: Fix flickering of the selection
When updating search results, the current result set is
recreated from scratch before setting the selection
highlight. This results in two style changes of the selected
item, and as a CSS transition is used to animate the style
change, the selected item flickers if it remains the same as
with the previous search term.
Fix by hiding the result set until the selection is set, to
avoid the transition in that case.

https://bugzilla.gnome.org/show_bug.cgi?id=646019
2011-04-15 19:34:35 +02:00
6d11247417 Fix translation of Dash for Simplified Chinese, to resolve Bug 647738. 2011-04-15 21:25:13 +08:00
59c3e3a179 endSessionDialog: fix keyboard navigation
The addition of _backgroundStack to ModalDialog broke focus
navigation, because it was interposed between the focus group root and
all of the interesting content, but since it isn't an StWidget,
st_widget_navigate_focus() was unable to navigate through it. Fix this
by moving the focus root to this._dialogLayout (inside the
_backgroundStack) instead.

Additionally, in EndSessionDialog specifically, _initialKeyFocus
wasn't being set until after opening the dialog, so it was ignored.

Also change ModalDialog.close() to clear the _savedKeyFocus that
popModal() set, so that dialogs that are repeatedly closed and
reopened will have their focus revert back to _initialKeyFocus each
time.

https://bugzilla.gnome.org/show_bug.cgi?id=646740
2011-04-14 17:53:40 -04:00
42e26a8682 dbus: Avoid losing org.freedesktop.Notifications on replacement
We weren't specifying _ALLOW_REPLACEMENT for anything except
org.gnome.Shell, which created a race - if the exiting process
didn't exit fast enough, the replacing process would fail
to get the name.

https://bugzilla.gnome.org/show_bug.cgi?id=646257
2011-04-13 09:41:33 -04:00
db6caac9cc ShellWindowTracker: Follow transients for focus app
As a side effect of (see bug 642221), we no longer put docks or
transient windows into the hash table mapping windows to apps.  The
"focused application" code relied on at least transients being in
there.

Fix this by calling the public API to map a window to an app, which
will at least follow transients.  Whether we also want further
matching here (e.g. with window grouping) is another issue, but that
can happen as a different bug.

https://bugzilla.gnome.org/show_bug.cgi?id=647082
2011-04-12 17:57:20 -04:00
ba4a57ba0b vi/po: shorter network connection notification 2011-04-12 18:35:02 +07:00
018e3bc35f search-tab: Don't handle clicks on inactive icon
The icon set as secondary icon of the search entry depends on whether
a search is active or not - clicking the icon should reset the entry
only in the former case. This is implemented by connecting/disconnecting
the 'secondary-icon-clicked' signal when updating the icon, but an
additional signal connection was left-over when refactoring the search
entry, resulting in clicks on the inactive icon removing the hint text.
Fix by removing the stray signal connection.

https://bugzilla.gnome.org/show_bug.cgi?id=646855
2011-04-11 20:57:05 +02:00
a56bc9d933 st_label_set_text: no-op if the text is unchanged
If a caller sets an StLabel's text to what it already is (as, eg, the
clock menu does), do nothing. Unless the label is editable, in which
case, setting the text has a visible side effect (dropping the
selection), so we don't optimize that out.

https://bugzilla.gnome.org/show_bug.cgi?id=645648
2011-04-11 14:00:16 -04:00
5b93525ce8 lookingGlass: bring back the inspector icon
The change to StTextureCache for bug 644142 broke lg's inspector icon,
which was not specifying St.IconType.FULLCOLOR, but was relying on the
fact that SYMBOLIC (the default) would fall back to it. Fix the icon
by specifying FULLCOLOR explicitly.

(We should probably be using a symbolic icon here, but there is no
available icon with a select/pick/point-to/etc kind of meaning.)

https://bugzilla.gnome.org/show_bug.cgi?id=646451
2011-04-11 10:59:32 -04:00
6abb86dff6 src/Makefile.am: two fixes to the gnome-shell wrapper handling
Add an uninstall-hook to undo the effect of install-exec-hook, and add
an $(AM_V_GEN) to the rule that copies either gnome-shell-real or
gnome-shell-jhbuild to gnome-shell.

https://bugzilla.gnome.org/show_bug.cgi?id=646730
2011-04-11 10:58:50 -04:00
6a27d5ed80 NetworkMenu: don't pass NULL to nm_utils_ssid_to_utf8
It expects an Array or a ByteArray, and gjs throws in that case.

https://bugzilla.gnome.org/show_bug.cgi?id=647040
2011-04-11 10:43:12 -04:00
8232684672 network: show ad-hoc icon for ad-hoc networks
https://bugzilla.gnome.org/show_bug.cgi?id=646141
2011-04-11 10:42:22 -04:00
2d855ce5cf NetworkMenu: fix some bugs for status items
When more than one device exists, we need to reset the section title's
device to null, and in that case we must show nothing (neither the switch
nor the label, but an empty label is OK anyway). Also, we need to
update the device statusItem immediately when constructing it, as we
may not get any state-changed.

https://bugzilla.gnome.org/show_bug.cgi?id=646074
2011-04-11 10:38:00 -04:00
b2b685e46d NetworkMenu: fixup device descriptions
Fix some bugs in Util.fixupPCIDescription(), that caused all device
descriptions to be empty.

https://bugzilla.gnome.org/show_bug.cgi?id=646074
2011-04-11 10:38:00 -04:00
ef552846d1 network: fix typo in bluetooth code
https://bugzilla.gnome.org/show_bug.cgi?id=646968
2011-04-11 10:38:00 -04:00
c7dfd0894e NetworkMenu: fix handling WWAN devices
NMDeviceModem._createSection was not checking whether it should have
shown the connection list, resulting in status item shown even if
the device was in an invalid state.
Also, fix a logic error when creating the operatorItem and fix overriding
_clearSection protected method.

https://bugzilla.gnome.org/show_bug.cgi?id=646395
2011-04-11 10:38:00 -04:00
5b1a76aeff network: fix two warnings when removing a network device
NMApplet connects to each NMDevice's state-changed signal and stores
the signal handler id on the NMDevice itself. However, it was using
the same name as NMDevice itself was using to store the handler ID for
the underlying GObject's state-changed signal, thus overwriting it,
and resulting in *neither* signal handler getting removed if the
device went away. (This probably isn't a problem, since the device is
going away, but it causes a warning.)

Also, at least for WWAN devices, the device state changes to UNMANAGED
immediately before disappearing, but getStatusLabel() wasn't handling
that case and printed a warning instead. Fix that.

https://bugzilla.gnome.org/show_bug.cgi?id=646708
2011-04-11 10:38:00 -04:00
529b6ca935 network: deal with recycling of closed active connections
If you restart NetworkManager, then the list of active connections
is emptied, then comes back with the same GObjects in it. If the
_primaryDevice field isn't cleared on the object, then we won't
know we need to set it back on the device, resulting in the active
device not showing up in the menu.

https://bugzilla.gnome.org/show_bug.cgi?id=646558
2011-04-11 10:38:00 -04:00
625a4c0766 NetworkMenu: destroy More... submenu when empty
Add a .length property to PopupMenuBase, and use it from the network
menu to destroy the menu when removing a network without rebuilding.

https://bugzilla.gnome.org/show_bug.cgi?id=645981
2011-04-11 10:38:00 -04:00
3c3ea2f575 NetworkMenu: fix updating the access point strength
A notify signal does not include the new value of the property in
its signature, so the handler was trying to compare a GParamSpec with
a number when updating. Fix it to always retrieve the value from the
object.

https://bugzilla.gnome.org/show_bug.cgi?id=646443
2011-04-11 10:38:00 -04:00
57a332bb08 telepathyClient: Fix JS warning triggered by undeclared variable
https://bugzilla.gnome.org/show_bug.cgi?id=646205
2011-04-08 20:32:56 +02:00
73ac98b193 Updated Traditional Chinese translation(Hong Kong and Taiwan) 2011-04-08 10:09:07 +08:00
59e3cbb36b search-entry: Fix clicks on the clear icon
onTextChanged() called a non-existent method, fix that

https://bugzilla.gnome.org/show_bug.cgi?id=647098
2011-04-08 00:28:42 +02:00
fb019a7cbf AppDisplay: refresh the view after refreshing sections
ViewByCategories._removeAll clears the sections, but the filter passed
to view still expects them to exists. Therefore, refresh the view
after the section has been rebuilt and the All filter reapplied.

https://bugzilla.gnome.org/show_bug.cgi?id=645801
2011-04-07 17:51:52 +02:00
09607f6aa7 app-search-result: Fix launching on another workspace
dragActivateResult() called a non-existent method, fix that.

https://bugzilla.gnome.org/show_bug.cgi?id=645990
2011-04-07 13:50:55 +02:00
47 changed files with 6589 additions and 1972 deletions

103
NEWS
View File

@ -1,3 +1,106 @@
3.0.2
=====
* Network Menu [Dan Williams
- Fix connecting to WPA2 Enterprise access points
Fixes https://bugzilla.gnome.org/show_bug.cgi?id=648171
- Show the mobile broadband wizard when selecting 3G network
Fixes https://bugzilla.gnome.org/show_bug.cgi?id=649318
- Miscellaneous bug fixes
648648, 650124
* Fix duplicate icons in the application browser [Owen]
https://bugzilla.gnome.org/show_bug.cgi?id=648739
* Make clicking anywhere on the volume icon slider work [Giovanni]
https://bugzilla.gnome.org/show_bug.cgi?id=646660
* Fix a case where activating and clicking the hot corner
at the same time could result in immediately leaving the
overview [Rui]
https://bugzilla.gnome.org/show_bug.cgi?id=649427
* Fix a case where applications became misordered in Alt-Tab [Jasper]
https://bugzilla.gnome.org/show_bug.cgi?id=643302
* Fix a bug where messages you send could show up in
notifications as if someone else sent them [Jonny]
https://bugzilla.gnome.org/show_bug.cgi?id=650219
* Memory leak fixes [Colin, Maxim]
642652, 649508, 649497
* Miscellaneous minor bug fixes [Adel, Christopher, Jasper]
649596,648765, 648983, 649632
Contributors:
Christopher Aillon, Giovanni Campagna, Maxim Ermilov,
Adel Gadllah, Jonny Lamb, Rui Matos, Jasper St. Pierre,
Owen Taylor, Colin Walters, Dan Williams
Translations:
Arash Mousavi [fa], Seán de Búrca [ga], Timo Jyrinki [fi],
Sigurd Gartmann [nb], Daniel Nylander [se], Peter Mráz [sl],
Abduxukur Abdurixit [ug], Nguyễn Thái Ngọc Duy [vi]
3.0.1
=====
* Network menu
- Fix problems updating the menu for mobile broadband devices [Giovanni]
https://bugzilla.gnome.org/show_bug.cgi?id=646395
- Fix missing device descriptions with multiple devices of the
same type [Giovanni]
https://bugzilla.gnome.org/show_bug.cgi?id=646074
- Label ad-hoc neworks with an appropriate icon [Dan]
https://bugzilla.gnome.org/show_bug.cgi?id=646141
- Fix displaying some devices states as "invalid" [Dan]
https://bugzilla.gnome.org/show_bug.cgi?id=646946
- Fix problems with access points that don't report a SSID [Giovanni]
https://bugzilla.gnome.org/show_bug.cgi?id=647040
- Miscellaneous minor bug fixes [Dan, Giovanni, Owen]
645981, 646558, 646443, 646708, 646968
* Application menu and icon
- Fix bug where application menu icon was missing at GNOME Shell
startup. [Florian]
https://bugzilla.gnome.org/show_bug.cgi?id=644122
- Fix missing application menu for dialog windows [Colin]
https://bugzilla.gnome.org/show_bug.cgi?id=647082
- When launching an application through an alternate launcher
(like for a System Settings pane), association the windows with
the application, not the launcher. [Colin]
https://bugzilla.gnome.org/show_bug.cgi?id=646689
* Activities overview
- Load the applications view incrementally to avoid potentially freezing
for multiple seconds [Colin]
https://bugzilla.gnome.org/show_bug.cgi?id=647778
- Fix bug where package installation while the overview
was up could result in a corrupted application display. [Giovanni]
https://bugzilla.gnome.org/show_bug.cgi?id=645801
- Fix dragging from the search results to launch apps and docs [Florian]
https://bugzilla.gnome.org/show_bug.cgi?id=645990
- Fix flickering of selection when searching in the overview [Florian]
https://bugzilla.gnome.org/show_bug.cgi?id=646019
- Fix bug when typing into the search box when text was already
selected [Nohemi]
https://bugzilla.gnome.org/show_bug.cgi?id=636341
* Fix layout of notifications for right-to-left languages [Florian]
https://bugzilla.gnome.org/show_bug.cgi?id=646921
* Remove a confusing special case where Alt-Tab sometimes switched
to a different window of the same application rather than to
a different application. [Rui]
https://bugzilla.gnome.org/show_bug.cgi?id=648132
* Fix a crash that could happen when a window was opened on a
workspace that was immediately removed [Dan]
https://bugzilla.gnome.org/show_bug.cgi?id=648132
* Fix keyboard navigation in logout/reboot dialogs [Dan]
https://bugzilla.gnome.org/show_bug.cgi?id=646740
* Fix missing inspector icon in Looking Glass console [Dan]
* Miscellaneous minor bug fixes [Adel, Colin, Dan, Florian, Nohemi]
645648, 646205, 646257, 646855, 647098, 646730
Contributors:
Giovanni Campagna, Nohemi Fernandez, Adel Gadllah, Rui Matos, Florian Müllner,
Owen Taylor, Colin Walters, Dan Winship
Translations:
Hendrik Richter [de], Jorge González [es], Arash Mousavi [fa],
Fran Diéguez [gl], Jiro Matsuzawa [ja], Piotr Drąg [pl], Daniel Nylander [sv],
Sira Nokyoongtong [th], Muhammet Kara [tr], Nguyễn Thái Ngọc Duy [vi],
Aron Xu [zh_CN], Chao-Hsiung Liao [zh_HK, zh_TW]
3.0.0.2 3.0.0.2
======= =======

View File

@ -1,5 +1,5 @@
AC_PREREQ(2.63) AC_PREREQ(2.63)
AC_INIT([gnome-shell],[3.0.0.2],[https://bugzilla.gnome.org/enter_bug.cgi?product=gnome-shell],[gnome-shell]) AC_INIT([gnome-shell],[3.0.2],[https://bugzilla.gnome.org/enter_bug.cgi?product=gnome-shell],[gnome-shell])
AC_CONFIG_HEADERS([config.h]) AC_CONFIG_HEADERS([config.h])
AC_CONFIG_SRCDIR([src/shell-global.c]) AC_CONFIG_SRCDIR([src/shell-global.c])
@ -100,7 +100,7 @@ AC_SUBST([GJS_VERSION], ["$GJS_VERSION"])
GOBJECT_INTROSPECTION_CHECK([$GOBJECT_INTROSPECTION_MIN_VERSION]) GOBJECT_INTROSPECTION_CHECK([$GOBJECT_INTROSPECTION_MIN_VERSION])
JHBUILD_TYPELIBDIR="$INTROSPECTION_TYPELIBDIR" JHBUILD_TYPELIBDIR="$INTROSPECTION_TYPELIBDIR"
# NM is the only typelib we use that we don't jhbuild # NM is the only typelib we use that we don't jhbuild
PKG_CHECK_EXISTS([libnm-glib >= 0.8.995], PKG_CHECK_EXISTS([libnm-glib >= 0.8.999],
[NM_TYPELIBDIR=`$PKG_CONFIG --variable=libdir libnm-glib`/girepository-1.0 [NM_TYPELIBDIR=`$PKG_CONFIG --variable=libdir libnm-glib`/girepository-1.0
if test "$INTROSPECTION_TYPELIBDIR" != "$NM_TYPELIBDIR"; then if test "$INTROSPECTION_TYPELIBDIR" != "$NM_TYPELIBDIR"; then
JHBUILD_TYPELIBDIR="$JHBUILD_TYPELIBDIR:$NM_TYPELIBDIR" JHBUILD_TYPELIBDIR="$JHBUILD_TYPELIBDIR:$NM_TYPELIBDIR"

View File

@ -77,9 +77,9 @@ HistoryManager.prototype = {
this._history[this._history.length - 1] != input) { this._history[this._history.length - 1] != input) {
this._history.push(input); this._history.push(input);
this._historyIndex = this._history.length;
this._save(); this._save();
} }
this._historyIndex = this._history.length;
}, },
_onEntryKeyPress: function(entry, event) { _onEntryKeyPress: function(entry, event) {

View File

@ -150,7 +150,7 @@ const _IGNORED_WORDS = [
'Incorporated', 'Incorporated',
'Ltd.', 'Ltd.',
'Limited.', 'Limited.',
'Intel?', 'Intel',
'chipset', 'chipset',
'adapter', 'adapter',
'[hex]', '[hex]',
@ -181,7 +181,7 @@ const _IGNORED_PHRASES = [
]; ];
function fixupPCIDescription(desc) { function fixupPCIDescription(desc) {
desc.replace(/[_,]/, ' '); desc = desc.replace(/[_,]/, ' ');
/* Attempt to shorten ID by ignoring certain phrases */ /* Attempt to shorten ID by ignoring certain phrases */
for (let i = 0; i < _IGNORED_PHRASES.length; i++) { for (let i = 0; i < _IGNORED_PHRASES.length; i++) {
@ -197,7 +197,7 @@ function fixupPCIDescription(desc) {
/* Attmept to shorten ID by ignoring certain individual words */ /* Attmept to shorten ID by ignoring certain individual words */
let words = desc.split(' '); let words = desc.split(' ');
let out = [ ]; let out = [ ];
for (let i = 0; i < words; i++) { for (let i = 0; i < words.length; i++) {
let item = words[i]; let item = words[i];
// skip empty items (that come out from consecutive spaces) // skip empty items (that come out from consecutive spaces)

View File

@ -156,29 +156,11 @@ AltTabPopup.prototype = {
this._select(0, 0); this._select(0, 0);
} }
} else if (this._appIcons.length == 1) { } else if (this._appIcons.length == 1) {
if (!backward && this._appIcons[0].cachedWindows.length > 1) { this._select(0);
// For compatibility with the multi-app case below
this._select(0, 1, true);
} else
this._select(0);
} else if (backward) { } else if (backward) {
this._select(this._appIcons.length - 1); this._select(this._appIcons.length - 1);
} else { } else {
let firstWindows = this._appIcons[0].cachedWindows; this._select(1);
if (firstWindows.length > 1) {
let curAppNextWindow = firstWindows[1];
let nextAppWindow = this._appIcons[1].cachedWindows[0];
// If the next window of the current app is more-recently-used
// than the first window of the next app, then select it.
if (curAppNextWindow.get_workspace() == global.screen.get_active_workspace() &&
curAppNextWindow.get_user_time() > nextAppWindow.get_user_time())
this._select(0, 1, true);
else
this._select(1);
} else {
this._select(1);
}
} }
// There's a race condition; if the user released Alt before // There's a race condition; if the user released Alt before

View File

@ -6,6 +6,7 @@ const Gtk = imports.gi.Gtk;
const Shell = imports.gi.Shell; const Shell = imports.gi.Shell;
const Lang = imports.lang; const Lang = imports.lang;
const Signals = imports.signals; const Signals = imports.signals;
const Meta = imports.gi.Meta;
const St = imports.gi.St; const St = imports.gi.St;
const Mainloop = imports.mainloop; const Mainloop = imports.mainloop;
const Gettext = imports.gettext.domain('gnome-shell'); const Gettext = imports.gettext.domain('gnome-shell');
@ -22,6 +23,7 @@ const Tweener = imports.ui.tweener;
const Workspace = imports.ui.workspace; const Workspace = imports.ui.workspace;
const Params = imports.misc.params; const Params = imports.misc.params;
const MAX_APPLICATION_WORK_MILLIS = 75;
const MENU_POPUP_TIMEOUT = 600; const MENU_POPUP_TIMEOUT = 600;
const SCROLL_TIME = 0.1; const SCROLL_TIME = 0.1;
@ -34,6 +36,8 @@ AlphabeticalView.prototype = {
this._grid = new IconGrid.IconGrid({ xAlign: St.Align.START }); this._grid = new IconGrid.IconGrid({ xAlign: St.Align.START });
this._appSystem = Shell.AppSystem.get_default(); this._appSystem = Shell.AppSystem.get_default();
this._pendingAppLaterId = 0;
this._apps = [];
this._filterApp = null; this._filterApp = null;
let box = new St.BoxLayout({ vertical: true }); let box = new St.BoxLayout({ vertical: true });
@ -109,6 +113,30 @@ AlphabeticalView.prototype = {
this._apps[i].actor.visible = filter(this._apps[i]._appInfo); this._apps[i].actor.visible = filter(this._apps[i]._appInfo);
}, },
// Create actors for the applications in an idle to avoid blocking
// for too long; see bug 647778
_addPendingApps: function() {
let i;
let startTimeMillis = new Date().getTime();
for (i = 0; i < this._pendingAppIds.length; i++) {
let id = this._pendingAppIds[i];
this._addApp(this._pendingApps[id]);
let currentTimeMillis = new Date().getTime();
if (currentTimeMillis - startTimeMillis > MAX_APPLICATION_WORK_MILLIS)
break;
}
this._pendingAppIds.splice(0, i + 1);
if (this._pendingAppIds.length > 0) {
return true;
} else {
this._pendingAppLaterId = 0;
this._pendingAppIds = null;
this._pendingApps = null;
return false;
}
},
refresh: function(apps) { refresh: function(apps) {
let ids = []; let ids = [];
for (let i in apps) for (let i in apps)
@ -119,9 +147,12 @@ AlphabeticalView.prototype = {
this._removeAll(); this._removeAll();
for (let i = 0; i < ids.length; i++) { this._pendingAppIds = ids;
this._addApp(apps[ids[i]]); this._pendingApps = apps;
} if (this._pendingAppLaterId)
Meta.later_remove(this._pendingAppLaterId);
this._pendingAppLaterId = Meta.later_add(Meta.LaterType.BEFORE_REDRAW,
Lang.bind(this, this._addPendingApps));
} }
}; };
@ -224,7 +255,6 @@ ViewByCategories.prototype = {
let sections = this._appSystem.get_sections(); let sections = this._appSystem.get_sections();
this._apps = apps; this._apps = apps;
this._view.refresh(apps);
/* Translators: Filter to display all applications */ /* Translators: Filter to display all applications */
this._addFilter(_("All"), -1); this._addFilter(_("All"), -1);
@ -236,6 +266,7 @@ ViewByCategories.prototype = {
this._addFilter(sections[i], i); this._addFilter(sections[i], i);
this._selectCategory(-1); this._selectCategory(-1);
this._view.refresh(apps);
if (this._focusDummy) { if (this._focusDummy) {
let focused = this._focusDummy.has_key_focus(); let focused = this._focusDummy.has_key_focus();
@ -313,7 +344,7 @@ BaseAppSearchProvider.prototype = {
timestamp: null }); timestamp: null });
let app = this._appSys.get_app(id); let app = this._appSys.get_app(id);
app.open_new_window(params.workspace ? params.workspace.get_index() : -1); app.open_new_window(params.workspace ? params.workspace.index() : -1);
} }
}; };

View File

@ -408,10 +408,6 @@ EndSessionDialog.prototype = {
}, },
_updateButtons: function() { _updateButtons: function() {
if (this.state != ModalDialog.State.OPENING &&
this.state != ModalDialog.State.OPENED)
return;
let dialogContent = DialogContent[this._type]; let dialogContent = DialogContent[this._type];
let buttons = [{ action: Lang.bind(this, this.cancel), let buttons = [{ action: Lang.bind(this, this.cancel),
label: _("Cancel"), label: _("Cancel"),
@ -521,11 +517,12 @@ EndSessionDialog.prototype = {
this._inhibitors.push(inhibitor); this._inhibitors.push(inhibitor);
} }
this._updateButtons();
if (!this.open(timestamp)) if (!this.open(timestamp))
throw new DBus.DBusError('org.gnome.Shell.ModalDialog.GrabError', throw new DBus.DBusError('org.gnome.Shell.ModalDialog.GrabError',
"Cannot grab pointer and keyboard"); "Cannot grab pointer and keyboard");
this._updateButtons();
this._updateContent(); this._updateContent();
let signalId = this.connect('opened', let signalId = this.connect('opened',

View File

@ -707,6 +707,7 @@ LookingGlass.prototype = {
let toolbar = new St.BoxLayout({ name: 'Toolbar' }); let toolbar = new St.BoxLayout({ name: 'Toolbar' });
this.actor.add_actor(toolbar); this.actor.add_actor(toolbar);
let inspectIcon = new St.Icon({ icon_name: 'gtk-color-picker', let inspectIcon = new St.Icon({ icon_name: 'gtk-color-picker',
icon_type: St.IconType.FULLCOLOR,
icon_size: 24 }); icon_size: 24 });
toolbar.add_actor(inspectIcon); toolbar.add_actor(inspectIcon);
inspectIcon.reactive = true; inspectIcon.reactive = true;

View File

@ -411,6 +411,7 @@ Notification.prototype = {
this._bannerBodyText = null; this._bannerBodyText = null;
this._bannerBodyMarkup = false; this._bannerBodyMarkup = false;
this._titleFitsInBannerMode = true; this._titleFitsInBannerMode = true;
this._titleDirection = St.TextDirection.NONE;
this._spacing = 0; this._spacing = 0;
this._scrollPolicy = Gtk.PolicyType.AUTOMATIC; this._scrollPolicy = Gtk.PolicyType.AUTOMATIC;
@ -510,6 +511,19 @@ Notification.prototype = {
title = title ? _fixMarkup(title.replace(/\n/g, ' '), params.titleMarkup) : ''; title = title ? _fixMarkup(title.replace(/\n/g, ' '), params.titleMarkup) : '';
this._titleLabel.clutter_text.set_markup('<b>' + title + '</b>'); this._titleLabel.clutter_text.set_markup('<b>' + title + '</b>');
if (Pango.find_base_dir(title, -1) == Pango.Direction.RTL)
this._titleDirection = St.TextDirection.RTL;
else
this._titleDirection = St.TextDirection.LTR;
// Let the title's text direction control the overall direction
// of the notification - in case where different scripts are used
// in the notification, this is the right thing for the icon, and
// arguably for action buttons as well. Labels other than the title
// will be allocated at the available width, so that their alignment
// is done correctly automatically.
this._table.set_direction(this._titleDirection);
// Unless the notification has custom content, we save this._bannerBodyText // Unless the notification has custom content, we save this._bannerBodyText
// to add it to the content of the notification if the notification is // to add it to the content of the notification if the notification is
// expandable due to other elements in its content area or due to the banner // expandable due to other elements in its content area or due to the banner
@ -711,23 +725,39 @@ Notification.prototype = {
let availWidth = box.x2 - box.x1; let availWidth = box.x2 - box.x1;
let titleBox = new Clutter.ActorBox(); let titleBox = new Clutter.ActorBox();
titleBox.x1 = titleBox.y1 = 0; let titleBoxW = Math.min(titleNatW, availWidth);
titleBox.x2 = Math.min(titleNatW, availWidth); if (this._titleDirection == St.TextDirection.RTL) {
titleBox.x1 = availWidth - titleBoxW;
titleBox.x2 = availWidth;
} else {
titleBox.x1 = 0;
titleBox.x2 = titleBoxW;
}
titleBox.y1 = 0;
titleBox.y2 = titleNatH; titleBox.y2 = titleNatH;
this._titleLabel.allocate(titleBox, flags); this._titleLabel.allocate(titleBox, flags);
this._titleFitsInBannerMode = (titleNatW <= availWidth); this._titleFitsInBannerMode = (titleNatW <= availWidth);
let bannerFits = true; let bannerFits = true;
if (titleBox.x2 + this._spacing > availWidth) { if (titleBoxW + this._spacing > availWidth) {
this._bannerLabel.opacity = 0; this._bannerLabel.opacity = 0;
bannerFits = false; bannerFits = false;
} else { } else {
let bannerBox = new Clutter.ActorBox(); let bannerBox = new Clutter.ActorBox();
bannerBox.x1 = titleBox.x2 + this._spacing;
if (this._titleDirection == St.TextDirection.RTL) {
bannerBox.x1 = 0;
bannerBox.x2 = titleBox.x1 - this._spacing;
bannerFits = (bannerBox.x2 - bannerNatW >= 0);
} else {
bannerBox.x1 = titleBox.x2 + this._spacing;
bannerBox.x2 = availWidth;
bannerFits = (bannerBox.x1 + bannerNatW <= availWidth);
}
bannerBox.y1 = 0; bannerBox.y1 = 0;
bannerBox.x2 = Math.min(bannerBox.x1 + bannerNatW, availWidth);
bannerBox.y2 = titleNatH; bannerBox.y2 = titleNatH;
bannerFits = (bannerBox.x1 + bannerNatW <= availWidth);
this._bannerLabel.allocate(bannerBox, flags); this._bannerLabel.allocate(bannerBox, flags);
// Make _bannerLabel visible if the entire notification // Make _bannerLabel visible if the entire notification

View File

@ -50,10 +50,6 @@ ModalDialog.prototype = {
coordinate: Clutter.BindCoordinate.POSITION | Clutter.BindCoordinate.SIZE }); coordinate: Clutter.BindCoordinate.POSITION | Clutter.BindCoordinate.SIZE });
this._group.add_constraint(constraint); this._group.add_constraint(constraint);
global.focus_manager.add_group(this._group);
this._initialKeyFocus = this._group;
this._savedKeyFocus = null;
this._group.connect('destroy', Lang.bind(this, this._onGroupDestroy)); this._group.connect('destroy', Lang.bind(this, this._onGroupDestroy));
this._actionKeys = {}; this._actionKeys = {};
@ -94,6 +90,10 @@ ModalDialog.prototype = {
{ expand: true, { expand: true,
x_align: St.Align.MIDDLE, x_align: St.Align.MIDDLE,
y_align: St.Align.END }); y_align: St.Align.END });
global.focus_manager.add_group(this._dialogLayout);
this._initialKeyFocus = this._dialogLayout;
this._savedKeyFocus = null;
}, },
setButtons: function(buttons) { setButtons: function(buttons) {
@ -195,6 +195,7 @@ ModalDialog.prototype = {
this.state = State.CLOSING; this.state = State.CLOSING;
this.popModal(timestamp); this.popModal(timestamp);
this._savedKeyFocus = null;
Tweener.addTween(this._group, Tweener.addTween(this._group,
{ opacity: 0, { opacity: 0,

View File

@ -260,10 +260,14 @@ AppMenuButton.prototype = {
this._iconBox = new Shell.Slicer({ name: 'appMenuIcon' }); this._iconBox = new Shell.Slicer({ name: 'appMenuIcon' });
this._iconBox.connect('style-changed', this._iconBox.connect('style-changed',
Lang.bind(this, this._onIconBoxStyleChanged)); Lang.bind(this, this._onIconBoxStyleChanged));
this._iconBox.connect('notify::allocation',
Lang.bind(this, this._updateIconBoxClip));
this._container.add_actor(this._iconBox); this._container.add_actor(this._iconBox);
this._label = new TextShadower(); this._label = new TextShadower();
this._container.add_actor(this._label.actor); this._container.add_actor(this._label.actor);
this._iconBottomClip = 0;
this._quitMenu = new PopupMenu.PopupMenuItem(''); this._quitMenu = new PopupMenu.PopupMenuItem('');
this.menu.addMenuItem(this._quitMenu); this.menu.addMenuItem(this._quitMenu);
this._quitMenu.connect('activate', Lang.bind(this, this._onQuit)); this._quitMenu.connect('activate', Lang.bind(this, this._onQuit));
@ -334,11 +338,16 @@ AppMenuButton.prototype = {
_onIconBoxStyleChanged: function() { _onIconBoxStyleChanged: function() {
let node = this._iconBox.get_theme_node(); let node = this._iconBox.get_theme_node();
let bottomClip = node.get_length('app-icon-bottom-clip'); this._iconBottomClip = node.get_length('app-icon-bottom-clip');
if (bottomClip > 0) this._updateIconBoxClip();
},
_updateIconBoxClip: function() {
let allocation = this._iconBox.allocation;
if (this._iconBottomClip > 0)
this._iconBox.set_clip(0, 0, this._iconBox.set_clip(0, 0,
this._iconBox.width, allocation.x2 - allocation.x1,
this._iconBox.height - bottomClip); allocation.y2 - allocation.y1 - this._iconBottomClip);
else else
this._iconBox.remove_clip(); this._iconBox.remove_clip();
}, },
@ -767,7 +776,7 @@ HotCorner.prototype = {
_onCornerClicked : function() { _onCornerClicked : function() {
if (!Main.overview.animationInProgress) if (!Main.overview.animationInProgress)
this.maybeToggleOverviewOnClick(); this.maybeToggleOverviewOnClick();
return false; return true;
}, },
_onCornerLeft : function(actor, event) { _onCornerLeft : function(actor, event) {

View File

@ -498,7 +498,7 @@ PopupSliderMenuItem.prototype = {
this._slider = new St.DrawingArea({ style_class: 'popup-slider-menu-item', reactive: true }); this._slider = new St.DrawingArea({ style_class: 'popup-slider-menu-item', reactive: true });
this.addActor(this._slider, { span: -1, expand: true }); this.addActor(this._slider, { span: -1, expand: true });
this._slider.connect('repaint', Lang.bind(this, this._sliderRepaint)); this._slider.connect('repaint', Lang.bind(this, this._sliderRepaint));
this._slider.connect('button-press-event', Lang.bind(this, this._startDragging)); this.actor.connect('button-press-event', Lang.bind(this, this._startDragging));
this.actor.connect('scroll-event', Lang.bind(this, this._onScrollEvent)); this.actor.connect('scroll-event', Lang.bind(this, this._onScrollEvent));
this._releaseId = this._motionId = 0; this._releaseId = this._motionId = 0;
@ -766,6 +766,7 @@ PopupMenuBase.prototype = {
this.box = new St.BoxLayout({ vertical: true }); this.box = new St.BoxLayout({ vertical: true });
} }
this.box.connect_after('queue-relayout', Lang.bind(this, this._menuQueueRelayout)); this.box.connect_after('queue-relayout', Lang.bind(this, this._menuQueueRelayout));
this.length = 0;
this.isOpen = false; this.isOpen = false;
@ -855,6 +856,8 @@ PopupMenuBase.prototype = {
menuItem.connect('destroy', Lang.bind(this, function() { menuItem.connect('destroy', Lang.bind(this, function() {
menuItem.disconnect(menuItem._subMenuActivateId); menuItem.disconnect(menuItem._subMenuActivateId);
menuItem.disconnect(menuItem._subMenuActiveChangeId); menuItem.disconnect(menuItem._subMenuActiveChangeId);
this.length--;
})); }));
} else if (menuItem instanceof PopupSubMenuMenuItem) { } else if (menuItem instanceof PopupSubMenuMenuItem) {
if (before_item == null) if (before_item == null)
@ -871,6 +874,8 @@ PopupMenuBase.prototype = {
this._connectItemSignals(menuItem); this._connectItemSignals(menuItem);
else else
throw TypeError("Invalid argument to PopupMenuBase.addMenuItem()"); throw TypeError("Invalid argument to PopupMenuBase.addMenuItem()");
this.length++;
}, },
getColumnWidths: function() { getColumnWidths: function() {

View File

@ -333,6 +333,13 @@ SearchResults.prototype = {
let terms = this._searchSystem.getTerms(); let terms = this._searchSystem.getTerms();
this._openSearchSystem.setSearchTerms(terms); this._openSearchSystem.setSearchTerms(terms);
// To avoid CSS transitions causing flickering
// of the selection when the first search result
// stays the same, we hide the content while
// filling in the results and setting the initial
// selection.
this._content.hide();
for (let i = 0; i < results.length; i++) { for (let i = 0; i < results.length; i++) {
let [provider, providerResults] = results[i]; let [provider, providerResults] = results[i];
let meta = this._metaForProvider(provider); let meta = this._metaForProvider(provider);
@ -343,6 +350,8 @@ SearchResults.prototype = {
if (this._selectedOpenSearchButton == -1) if (this._selectedOpenSearchButton == -1)
this.selectDown(false); this.selectDown(false);
this._content.show();
return true; return true;
}, },

View File

@ -33,8 +33,10 @@ const NMAccessPointSecurity = {
UNKNOWN: 0, UNKNOWN: 0,
NONE: 1, NONE: 1,
WEP: 2, WEP: 2,
WPA: 3, WPA_PSK: 3,
WPA2: 4 WPA2_PSK: 4,
WPA_ENT: 5,
WPA2_ENT: 6
}; };
// small optimization, to avoid using [] all the time // small optimization, to avoid using [] all the time
@ -42,6 +44,17 @@ const NM80211Mode = NetworkManager['80211Mode'];
const NM80211ApFlags = NetworkManager['80211ApFlags']; const NM80211ApFlags = NetworkManager['80211ApFlags'];
const NM80211ApSecurityFlags = NetworkManager['80211ApSecurityFlags']; const NM80211ApSecurityFlags = NetworkManager['80211ApSecurityFlags'];
const NMAppletHelperInterface = {
name: 'org.gnome.network_manager_applet',
methods: [
{ name: 'ConnectToHiddenNetwork', inSignature: '', outSignature: '' },
{ name: 'CreateWifiNetwork', inSignature: '', outSignature: '' },
{ name: 'ConnectTo8021xNetwork', inSignature: 'oo', outSignature: '' },
{ name: 'ConnectTo3gNetwork', inSignature: 'o', outSignature: '' }
],
};
const NMAppletProxy = DBus.makeProxyClass(NMAppletHelperInterface);
function macToArray(string) { function macToArray(string) {
return string.split(':').map(function(el) { return string.split(':').map(function(el) {
return parseInt(el, 16); return parseInt(el, 16);
@ -101,8 +114,13 @@ NMNetworkMenuItem.prototype = {
accessPoints = sortAccessPoints(accessPoints); accessPoints = sortAccessPoints(accessPoints);
this.bestAP = accessPoints[0]; this.bestAP = accessPoints[0];
let ssid = this.bestAP.get_ssid(); if (!title) {
title = title || NetworkManager.utils_ssid_to_utf8(ssid) || _("<unknown>"); let ssid = this.bestAP.get_ssid();
if (ssid)
title = NetworkManager.utils_ssid_to_utf8(ssid);
if (!title)
title = _("<unknown>");
}
this._label = new St.Label({ text: title }); this._label = new St.Label({ text: title });
this.addActor(this._label); this.addActor(this._label);
@ -132,15 +150,18 @@ NMNetworkMenuItem.prototype = {
} }
}, },
_updated: function(ap, strength) { _updated: function(ap) {
if (strength > this.bestAP.strength) if (ap.strength > this.bestAP.strength)
this.bestAP = ap; this.bestAP = ap;
this._signalIcon.icon_name = this._getIcon(); this._signalIcon.icon_name = this._getIcon();
}, },
_getIcon: function() { _getIcon: function() {
return 'network-wireless-signal-' + signalToIcon(this.bestAP.strength); if (this.bestAP.mode == NM80211Mode.ADHOC)
return 'network-workgroup';
else
return 'network-wireless-signal-' + signalToIcon(this.bestAP.strength);
}, },
updateAccessPoints: function(accessPoints) { updateAccessPoints: function(accessPoints) {
@ -200,7 +221,7 @@ NMDeviceTitleMenuItem.prototype = {
}, },
setStatus: function(text) { setStatus: function(text) {
if (text) { if (text != null) {
this._statusLabel.text = text; this._statusLabel.text = text;
this._statusBin.child = this._statusLabel; this._statusBin.child = this._statusLabel;
this.actor.reactive = false; this.actor.reactive = false;
@ -367,6 +388,8 @@ NMDevice.prototype = {
this.deactivate(); this.deactivate();
this.emit('enabled-changed'); this.emit('enabled-changed');
})); }));
this._updateStatusItem();
} }
this.section = new PopupMenu.PopupMenuSection(); this.section = new PopupMenu.PopupMenuSection();
@ -383,10 +406,19 @@ NMDevice.prototype = {
GObject.Object.prototype.disconnect.call(this.device, this._stateChangedId); GObject.Object.prototype.disconnect.call(this.device, this._stateChangedId);
this._stateChangedId = 0; this._stateChangedId = 0;
} }
if (this._carrierChangedId) {
// see above for why this is needed
GObject.Object.prototype.disconnect.call(this.device, this._carrierChangedId);
this._carrierChangedId = 0;
}
if (this._firmwareChangedId) {
GObject.Object.prototype.disconnect.call(this.device, this._firmwareChangedId);
this._firmwareChangedId = 0;
}
this._clearSection(); this._clearSection();
if (this.titleItem) if (this.statusItem)
this.titleItem.destroy(); this.statusItem.destroy();
this.section.destroy(); this.section.destroy();
}, },
@ -405,7 +437,8 @@ NMDevice.prototype = {
this._client.activate_connection(this._connections[0].connection, this.device, null, null); this._client.activate_connection(this._connections[0].connection, this.device, null, null);
} else if (this._autoConnectionName) { } else if (this._autoConnectionName) {
let connection = this._createAutomaticConnection(); let connection = this._createAutomaticConnection();
this._client.add_and_activate_connection(connection, this.device, null, null); if (connection)
this._client.add_and_activate_connection(connection, this.device, null, null);
} }
}, },
@ -482,7 +515,7 @@ NMDevice.prototype = {
}, },
connectionValid: function(connection) { connectionValid: function(connection) {
throw new TypeError('Invoking pure virtual function NMDevice.connectionValid'); return this.device.connection_valid(connection);
}, },
setEnabled: function(enabled) { setEnabled: function(enabled) {
@ -492,12 +525,16 @@ NMDevice.prototype = {
getStatusLabel: function() { getStatusLabel: function() {
switch(this.device.state) { switch(this.device.state) {
case NetworkManager.DeviceState.UNMANAGED:
case NetworkManager.DeviceState.DISCONNECTED: case NetworkManager.DeviceState.DISCONNECTED:
case NetworkManager.DeviceState.DEACTIVATING:
case NetworkManager.DeviceState.ACTIVATED: case NetworkManager.DeviceState.ACTIVATED:
return null; return null;
case NetworkManager.DeviceState.PREPARE: case NetworkManager.DeviceState.PREPARE:
case NetworkManager.DeviceState.CONFIG: case NetworkManager.DeviceState.CONFIG:
case NetworkManager.DeviceState.IP_CONFIG: case NetworkManager.DeviceState.IP_CONFIG:
case NetworkManager.DeviceState.IP_CHECK:
case NetworkManager.DeviceState.SECONDARIES:
return _("connecting..."); return _("connecting...");
case NetworkManager.DeviceState.NEED_AUTH: case NetworkManager.DeviceState.NEED_AUTH:
/* Translators: this is for network connections that require some kind of key or password */ /* Translators: this is for network connections that require some kind of key or password */
@ -581,7 +618,8 @@ NMDevice.prototype = {
this._autoConnectionItem = new PopupMenu.PopupMenuItem(this._autoConnectionName); this._autoConnectionItem = new PopupMenu.PopupMenuItem(this._autoConnectionName);
this._autoConnectionItem.connect('activate', Lang.bind(this, function() { this._autoConnectionItem.connect('activate', Lang.bind(this, function() {
let connection = this._createAutomaticConnection(); let connection = this._createAutomaticConnection();
this._client.add_and_activate_connection(connection, this.device, null, null); if (connection)
this._client.add_and_activate_connection(connection, this.device, null, null);
})); }));
this.section.addMenuItem(this._autoConnectionItem); this.section.addMenuItem(this._autoConnectionItem);
} }
@ -632,6 +670,14 @@ NMDevice.prototype = {
break; break;
} }
this._updateStatusItem();
this._clearSection();
this._createSection();
this.emit('state-changed');
},
_updateStatusItem: function() {
if (this._carrierChangedId) { if (this._carrierChangedId) {
// see above for why this is needed // see above for why this is needed
GObject.Object.prototype.disconnect.call(this.device, this._carrierChangedId); GObject.Object.prototype.disconnect.call(this.device, this._carrierChangedId);
@ -644,10 +690,6 @@ NMDevice.prototype = {
this.statusItem.setStatus(this.getStatusLabel()); this.statusItem.setStatus(this.getStatusLabel());
this.statusItem.setToggleState(this.connected); this.statusItem.setToggleState(this.connected);
this._clearSection();
this._createSection();
this.emit('state-changed');
}, },
_substateChanged: function() { _substateChanged: function() {
@ -692,17 +734,6 @@ NMDeviceWired.prototype = {
NMDevice.prototype._init.call(this, client, device, connections); NMDevice.prototype._init.call(this, client, device, connections);
}, },
connectionValid: function(connection) {
if (connection._type != NetworkManager.SETTING_WIRED_SETTING_NAME)
return false;
let ethernetSettings = connection.get_setting_by_name(NetworkManager.SETTING_WIRED_SETTING_NAME);
let fixedMac = ethernetSettings.get_mac_address();
if (fixedMac)
return macCompare(fixedMac, macToArray(this.device.perm_hw_address));
return true;
},
_createSection: function() { _createSection: function() {
NMDevice.prototype._createSection.call(this); NMDevice.prototype._createSection.call(this);
@ -745,6 +776,10 @@ NMDeviceModem.prototype = {
this.mobileDevice = null; this.mobileDevice = null;
this._connectionType = 'ppp'; this._connectionType = 'ppp';
this._applet_proxy = new NMAppletProxy(DBus.session,
'org.gnome.network_manager_applet',
'/org/gnome/network_manager_applet');
this._capabilities = device.current_capabilities; this._capabilities = device.current_capabilities;
if (this._capabilities & NetworkManager.DeviceModemCapabilities.GSM_UMTS) { if (this._capabilities & NetworkManager.DeviceModemCapabilities.GSM_UMTS) {
is_wwan = true; is_wwan = true;
@ -802,7 +837,7 @@ NMDeviceModem.prototype = {
}, },
get connected() { get connected() {
return this._enabled && this.device.state == NetworkManager.DeviceState.CONNECTED; return this._enabled && this.device.state == NetworkManager.DeviceState.ACTIVATED;
}, },
destroy: function() { destroy: function() {
@ -823,12 +858,15 @@ NMDeviceModem.prototype = {
}, },
_createSection: function() { _createSection: function() {
if (!this._shouldShowConnectionList())
return;
if (this.mobileDevice) { if (this.mobileDevice) {
// If operator_name is null, just pass the empty string, as the item is hidden anyway // If operator_name is null, just pass the empty string, as the item is hidden anyway
this._operatorItem = new PopupMenu.PopupImageMenuItem(this.mobileDevice.operator_name || '', this._operatorItem = new PopupMenu.PopupImageMenuItem(this.mobileDevice.operator_name || '',
this._getSignalIcon(), this._getSignalIcon(),
{ reactive: false }); { reactive: false });
if (this.mobileDevice.operator_name) if (!this.mobileDevice.operator_name)
this._operatorItem.actor.hide(); this._operatorItem.actor.hide();
this.section.addMenuItem(this._operatorItem); this.section.addMenuItem(this._operatorItem);
} }
@ -836,30 +874,20 @@ NMDeviceModem.prototype = {
NMDevice.prototype._createSection.call(this); NMDevice.prototype._createSection.call(this);
}, },
clearSection: function() { _clearSection: function() {
this._operatorItem = null; this._operatorItem = null;
NMDevice.prototype._clearSection.call(this); NMDevice.prototype._clearSection.call(this);
}, },
connectionValid: function(connection) {
return connection._type == this._connectionType;
},
_createAutomaticConnection: function() { _createAutomaticConnection: function() {
// FIXME: we need to summon the mobile wizard here // Mobile wizard is handled by nm-applet for now...
// or NM will not have the necessary parameters to complete the connection this._applet_proxy.ConnectTo3gNetworkRemote(this.device.get_path(),
// pending a DBus method on nm-applet Lang.bind(this, function(results, err) {
if (err)
let connection = new NetworkManager.Connection; log(err);
connection._uuid = NetworkManager.utils_uuid_generate(); }));
connection.add_setting(new NetworkManager.SettingConnection({ return null;
uuid: connection._uuid,
id: this._autoConnectionName,
type: this._connectionType,
autoconnect: false
}));
return connection;
} }
}; };
@ -879,18 +907,6 @@ NMDeviceBluetooth.prototype = {
NMDevice.prototype._init.call(this, client, device, connections); NMDevice.prototype._init.call(this, client, device, connections);
}, },
connectionValid: function(connection) {
if (connection._type != NetworkManager.SETTING_BLUETOOTH_SETTING_NAME)
return false;
let bluetoothSettings = connection.get_setting_by_name(NetworkManager.SETTING_BLUETOOTH_SETTING_NAME);
let fixedBdaddr = bluetoothSettings.get_bdaddr();
if (fixedBdaddr)
return macCompare(fixedBdaddr, macToArray(this.device.hw_address));
return true;
},
_createAutomaticConnection: function() { _createAutomaticConnection: function() {
let connection = new NetworkManager.Connection; let connection = new NetworkManager.Connection;
connection._uuid = NetworkManager.utils_uuid_generate(); connection._uuid = NetworkManager.utils_uuid_generate();
@ -913,7 +929,7 @@ NMDeviceBluetooth.prototype = {
}, },
_updateAutoConnectionName: function() { _updateAutoConnectionName: function() {
this._autoConnectionName = this._makeConnectioName(this.device); this._autoConnectionName = this._makeConnectionName(this.device);
this._clearSection(); this._clearSection();
this._createSection(); this._createSection();
@ -982,6 +998,10 @@ NMDeviceWireless.prototype = {
this._overflowItem = null; this._overflowItem = null;
this._networks = [ ]; this._networks = [ ];
this._applet_proxy = new NMAppletProxy(DBus.session,
'org.gnome.network_manager_applet',
'/org/gnome/network_manager_applet');
// breaking the layers with this, but cannot call // breaking the layers with this, but cannot call
// this.connectionValid until I have a device // this.connectionValid until I have a device
this.device = device; this.device = device;
@ -1012,7 +1032,7 @@ NMDeviceWireless.prototype = {
// Check if some connection is valid for this AP // Check if some connection is valid for this AP
for (let j = 0; j < validConnections.length; j++) { for (let j = 0; j < validConnections.length; j++) {
let connection = validConnections[j]; let connection = validConnections[j];
if (this._connectionValidForAP(connection, ap) && if (ap.connection_valid(connection) &&
obj.connections.indexOf(connection) == -1) { obj.connections.indexOf(connection) == -1) {
obj.connections.push(connection); obj.connections.push(connection);
} }
@ -1073,7 +1093,7 @@ NMDeviceWireless.prototype = {
if (best) { if (best) {
for (let i = 0; i < bestApObj.accessPoints.length; i++) { for (let i = 0; i < bestApObj.accessPoints.length; i++) {
let ap = bestApObj.accessPoints[i]; let ap = bestApObj.accessPoints[i];
if (this._connectionValidForAP(best, ap)) { if (ap.connection_valid(best)) {
this._client.activate_connection(best, this.device, ap.dbus_path, null); this._client.activate_connection(best, this.device, ap.dbus_path, null);
break; break;
} }
@ -1095,26 +1115,28 @@ NMDeviceWireless.prototype = {
_getApSecurityType: function(accessPoint) { _getApSecurityType: function(accessPoint) {
if (accessPoint._secType) if (accessPoint._secType)
return accessPoint._secType; return accessPoint._secType;
// XXX: have this checked by someone familiar with IEEE 802.1x
let flags = accessPoint.flags; let flags = accessPoint.flags;
let wpa_flags = accessPoint.wpa_flags; let wpa_flags = accessPoint.wpa_flags;
let rsn_flags = accessPoint.rsn_flags; let rsn_flags = accessPoint.rsn_flags;
let type; let type;
if ( !(flags & NM80211ApFlags.PRIVACY) if (rsn_flags != NM80211ApSecurityFlags.NONE) {
&& (wpa_flags == NM80211ApSecurityFlags.NONE) /* RSN check first so that WPA+WPA2 APs are treated as RSN/WPA2 */
&& (rsn_flags == NM80211ApSecurityFlags.NONE)) if (rsn_flags & NM80211ApSecurityFlags.KEY_MGMT_802_1X)
type = NMAccessPointSecurity.NONE; type = NMAccessPointSecurity.WPA2_ENT;
else if ( (flags & NM80211ApFlags.PRIVACY) else if (rsn_flags & NM80211ApSecurityFlags.KEY_MGMT_PSK)
&& (wpa_flags == NM80211ApSecurityFlags.NONE) type = NMAccessPointSecurity.WPA2_PSK;
&& (rsn_flags == NM80211ApSecurityFlags.NONE)) } else if (wpa_flags != NM80211ApSecurityFlags.NONE) {
type = NMAccessPointSecurity.WEP; if (wpa_flags & NM80211ApSecurityFlags.KEY_MGMT_802_1X)
else if ( !(flags & NM80211ApFlags.PRIVACY) type = NMAccessPointSecurity.WPA_ENT;
&& (wpa_flags != NM80211ApSecurity.NONE) else if (wpa_flags & NM80211ApSecurityFlags.KEY_MGMT_PSK)
&& (rsn_flags != NM80211ApSecurity.NONE)) type = NMAccessPointSecurity.WPA_PSK;
type = NMAccessPointSecurity.WPA; } else {
else if (flags & NM80211ApFlags.PRIVACY)
type = NMAccessPointSecurity.WPA2; type = NMAccessPointSecurity.WEP;
else
type = NMAccessPointSecurity.NONE;
}
// cache the found value to avoid checking flags all the time // cache the found value to avoid checking flags all the time
accessPoint._secType = type; accessPoint._secType = type;
@ -1165,7 +1187,7 @@ NMDeviceWireless.prototype = {
// check if this enables new connections for this group // check if this enables new connections for this group
for (let i = 0; i < this._connections.length; i++) { for (let i = 0; i < this._connections.length; i++) {
let connection = this._connections[i].connection; let connection = this._connections[i].connection;
if (this._connectionValidForAP(connection, accessPoint) && if (accessPoint.connection_valid(connection) &&
apObj.connections.indexOf(connection) == -1) { apObj.connections.indexOf(connection) == -1) {
apObj.connections.push(connection); apObj.connections.push(connection);
} }
@ -1198,6 +1220,11 @@ NMDeviceWireless.prototype = {
if (apObj.item) if (apObj.item)
apObj.item.destroy(); apObj.item.destroy();
this._networks.splice(pos, 1); this._networks.splice(pos, 1);
if (this._overflowItem &&
this._overflowItem.menu.length == 0) {
this._overflowItem.destroy();
this._overflowItem = null;
}
} else if (apObj.item) } else if (apObj.item)
apObj.item.updateAccessPoints(apObj.accessPoints); apObj.item.updateAccessPoints(apObj.accessPoints);
}, },
@ -1208,7 +1235,7 @@ NMDeviceWireless.prototype = {
item.connect('activate', Lang.bind(this, function() { item.connect('activate', Lang.bind(this, function() {
let accessPoints = sortAccessPoints(accessPointObj.accessPoints); let accessPoints = sortAccessPoints(accessPointObj.accessPoints);
for (let i = 0; i < accessPoints.length; i++) { for (let i = 0; i < accessPoints.length; i++) {
if (this._connectionValidForAP(connection, accessPoints[i])) { if (accessPoints[i].connection_valid(connection)) {
this._client.activate_connection(connection, this.device, accessPoints[i].dbus_path, null); this._client.activate_connection(connection, this.device, accessPoints[i].dbus_path, null);
break; break;
} }
@ -1217,40 +1244,6 @@ NMDeviceWireless.prototype = {
return item; return item;
}, },
connectionValid: function(connection) {
if (connection._type != NetworkManager.SETTING_WIRELESS_SETTING_NAME)
return false;
let wirelessSettings = connection.get_setting_by_name(NetworkManager.SETTING_WIRELESS_SETTING_NAME);
let wirelessSecuritySettings = connection.get_setting_by_name(NetworkManager.SETTING_WIRELESS_SECURITY_SETTING_NAME);
let fixedMac = wirelessSettings.get_mac_address();
if (fixedMac && !macCompare(fixedMac, macToArray(this.device.perm_hw_address)))
return false;
if (wirelessSecuritySettings &&
wirelessSecuritySettings.key_mgmt != 'none' &&
wirelessSecuritySettings.key_mgmt != 'ieee8021x') {
let capabilities = this.device.wireless_capabilities;
if (!(capabilities & NetworkManager.DeviceWifiCapabilities.WPA) ||
!(capabilities & NetworkManager.DeviceWifiCapabilities.CIPHER_TKIP))
return false;
if (wirelessSecuritySettings.get_num_protos() == 1 &&
wirelessSecuritySettings.get_proto(0) == 'rsn' &&
!(capabilities & NetworkManager.DeviceWifiCapabilities.RSN))
return false;
if (wirelessSecuritySettings.get_num_pairwise() == 1 &&
wirelessSecuritySettings.get_pairwise(0) == 'ccmp' &&
!(capabilities & NetworkManager.DeviceWifiCapabilities.CIPHER_CCMP))
return false;
if (wirelessSecuritySettings.get_num_groups() == 1 &&
wirelessSecuritySettings.get_group(0) == 'ccmp' &&
!(capabilities & NetworkManager.DeviceWifiCapabilities.CIPHER_CCMP))
return false;
}
return true;
},
_clearSection: function() { _clearSection: function() {
NMDevice.prototype._clearSection.call(this); NMDevice.prototype._clearSection.call(this);
@ -1328,7 +1321,7 @@ NMDeviceWireless.prototype = {
let any = false; let any = false;
for (let k = 0; k < apObj.accessPoints.length; k++) { for (let k = 0; k < apObj.accessPoints.length; k++) {
let ap = apObj.accessPoints[k]; let ap = apObj.accessPoints[k];
if (this._connectionValidForAP(connection, ap)) { if (ap.connection_valid(connection)) {
apObj.connections.push(connection); apObj.connections.push(connection);
any = true; any = true;
break; break;
@ -1361,37 +1354,6 @@ NMDeviceWireless.prototype = {
} }
}, },
_connectionValidForAP: function(connection, ap) {
// copied and adapted from nm-applet
let wirelessSettings = connection.get_setting_by_name(NetworkManager.SETTING_WIRELESS_SETTING_NAME);
if (!ssidCompare(wirelessSettings.get_ssid(), ap.get_ssid()))
return false;
let wirelessSecuritySettings = connection.get_setting_by_name(NetworkManager.SETTING_WIRELESS_SECURITY_SETTING_NAME);
let fixedBssid = wirelessSettings.get_bssid();
if (fixedBssid && !macCompare(fixedBssid, macToArray(ap.hw_address)))
return false;
let fixedBand = wirelessSettings.band;
if (fixedBand) {
let freq = ap.frequency;
if (fixedBand == 'a' && (freq < 4915 || freq > 5825))
return false;
if (fixedBand == 'bg' && (freq < 2412 || freq > 2484))
return false;
}
let fixedChannel = wirelessSettings.channel;
if (fixedChannel && fixedChannel != NetworkManager.utils_wifi_freq_to_channel(ap.frequency))
return false;
if (!wirelessSecuritySettings)
return true;
return wirelessSettings.ap_security_compatible(wirelessSecuritySettings, ap.flags, ap.wpa_flags, ap.rsn_flags, ap.mode);
},
_createActiveConnectionItem: function() { _createActiveConnectionItem: function() {
let activeAp = this.device.active_access_point; let activeAp = this.device.active_access_point;
let icon, title; let icon, title;
@ -1473,9 +1435,20 @@ NMDeviceWireless.prototype = {
apObj.item = new NMNetworkMenuItem(apObj.accessPoints); apObj.item = new NMNetworkMenuItem(apObj.accessPoints);
apObj.item._apObj = apObj; apObj.item._apObj = apObj;
apObj.item.connect('activate', Lang.bind(this, function() { apObj.item.connect('activate', Lang.bind(this, function() {
let connection = this._createAutomaticConnection(apObj);
let accessPoints = sortAccessPoints(apObj.accessPoints); let accessPoints = sortAccessPoints(apObj.accessPoints);
this._client.add_and_activate_connection(connection, this.device, accessPoints[0].dbus_path, null) if ( (accessPoints[0]._secType == NMAccessPointSecurity.WPA2_ENT)
|| (accessPoints[0]._secType == NMAccessPointSecurity.WPA_ENT)) {
// 802.1x-enabled APs get handled by nm-applet for now...
this._applet_proxy.ConnectTo8021xNetworkRemote(this.device.get_path(),
accessPoints[0].dbus_path,
Lang.bind(this, function(results, err) {
if (err)
log(err);
}));
} else {
let connection = this._createAutomaticConnection(apObj);
this._client.add_and_activate_connection(connection, this.device, accessPoints[0].dbus_path, null)
}
})); }));
} }
@ -1657,6 +1630,8 @@ NMApplet.prototype = {
managedDevices.forEach(function(dev) { managedDevices.forEach(function(dev) {
dev.statusItem.actor.show(); dev.statusItem.actor.show();
}); });
// remove status text from the section title item
item.updateForDevice(null);
} }
} }
}, },
@ -1706,13 +1681,13 @@ NMApplet.prototype = {
{ icon: icon }); { icon: icon });
this._source.notify(notification); this._source.notify(notification);
})); */ })); */
wrapper._stateChangedId = wrapper.connect('state-changed', Lang.bind(this, function(dev) { wrapper._deviceStateChangedId = wrapper.connect('state-changed', Lang.bind(this, function(dev) {
this._syncSectionTitle(dev.category); this._syncSectionTitle(dev.category);
})); }));
wrapper._destroyId = wrapper.connect('destroy', function(wrapper) { wrapper._destroyId = wrapper.connect('destroy', function(wrapper) {
//wrapper.disconnect(wrapper._networkLostId); //wrapper.disconnect(wrapper._networkLostId);
//wrapper.disconnect(wrapper._activationFailedId); //wrapper.disconnect(wrapper._activationFailedId);
wrapper.disconnect(wrapper._stateChangedId); wrapper.disconnect(wrapper._deviceStateChangedId);
}); });
let section = this._devices[wrapper.category].section; let section = this._devices[wrapper.category].section;
let devices = this._devices[wrapper.category].devices; let devices = this._devices[wrapper.category].devices;
@ -1753,8 +1728,10 @@ NMApplet.prototype = {
for (let i = 0; i < closedConnections.length; i++) { for (let i = 0; i < closedConnections.length; i++) {
let active = closedConnections[i]; let active = closedConnections[i];
if (active._primaryDevice) if (active._primaryDevice) {
active._primaryDevice.setActiveConnection(null); active._primaryDevice.setActiveConnection(null);
active._primaryDevice = null;
}
if (active._notifyStateId) { if (active._notifyStateId) {
active.disconnect(active._notifyStateId); active.disconnect(active._notifyStateId);
active._notifyStateId = 0; active._notifyStateId = 0;
@ -2047,7 +2024,7 @@ NMApplet.prototype = {
let ap = dev.device.active_access_point; let ap = dev.device.active_access_point;
let mode = dev.device.mode; let mode = dev.device.mode;
if (!ap) { if (!ap) {
if (mode != NetworkManager['80211Mode'].ADHOC) { if (mode != NM80211Mode.ADHOC) {
log('An active wireless connection, in infrastructure mode, involves no access point?'); log('An active wireless connection, in infrastructure mode, involves no access point?');
break; break;
} }

View File

@ -416,7 +416,11 @@ Notification.prototype = {
styles.push('chat-action'); styles.push('chat-action');
} }
this.update(this.source.title, messageBody, { customContent: true, bannerMarkup: true }); if (message.direction == NotificationDirection.RECEIVED) {
this.update(this.source.title, messageBody, { customContent: true,
bannerMarkup: true });
}
this._append(messageBody, styles, message.timestamp, noTimestamp); this._append(messageBody, styles, message.timestamp, noTimestamp);
}, },
@ -473,6 +477,8 @@ Notification.prototype = {
var daysAgo = (now.getTime() - date.getTime()) / (24 * 60 * 60 * 1000); var daysAgo = (now.getTime() - date.getTime()) / (24 * 60 * 60 * 1000);
let format;
// Show a week day and time if date is in the last week // Show a week day and time if date is in the last week
if (daysAgo < 1 || (daysAgo < 7 && now.getDay() != date.getDay())) { if (daysAgo < 1 || (daysAgo < 7 && now.getDay() != date.getDay())) {
/* Translators: this is a time format string followed by a date. /* Translators: this is a time format string followed by a date.

View File

@ -152,10 +152,6 @@ SearchTab.prototype = {
return true; return true;
})); }));
this._entry.connect('secondary-icon-clicked', Lang.bind(this,
function() {
this._reset();
}));
this._entry.connect('notify::mapped', Lang.bind(this, this._onMapped)); this._entry.connect('notify::mapped', Lang.bind(this, this._onMapped));
global.stage.connect('notify::key-focus', Lang.bind(this, this._updateCursorVisibility)); global.stage.connect('notify::key-focus', Lang.bind(this, this._updateCursorVisibility));
@ -166,7 +162,14 @@ SearchTab.prototype = {
hide: function() { hide: function() {
BaseTab.prototype.hide.call(this); BaseTab.prototype.hide.call(this);
this._reset(); // Leave the entry focused when it doesn't have any text;
// when replacing a selected search term, Clutter emits
// two 'text-changed' signals, one for deleting the previous
// text and one for the new one - the second one is handled
// incorrectly when we remove focus
// (https://bugzilla.gnome.org/show_bug.cgi?id=636341) */
if (this._text.text != '')
this._reset();
}, },
_reset: function () { _reset: function () {
@ -226,7 +229,7 @@ SearchTab.prototype = {
if (this._iconClickedId == 0) { if (this._iconClickedId == 0) {
this._iconClickedId = this._entry.connect('secondary-icon-clicked', this._iconClickedId = this._entry.connect('secondary-icon-clicked',
Lang.bind(this, function() { Lang.bind(this, function() {
this.reset(); this._reset();
})); }));
} }
this._activate(); this._activate();

View File

@ -237,7 +237,7 @@ WindowClone.prototype = {
this.emit('zoom-start'); this.emit('zoom-start');
if (!this._zoomLightbox) if (!this._zoomLightbox)
this._zoomLightbox = new Lightbox.Lightbox(global.stage, this._zoomLightbox = new Lightbox.Lightbox(Main.uiGroup,
{ fadeTime: LIGHTBOX_FADE_TIME }); { fadeTime: LIGHTBOX_FADE_TIME });
this._zoomLightbox.show(); this._zoomLightbox.show();
@ -248,7 +248,7 @@ WindowClone.prototype = {
this._zoomGlobalOrig.setPosition.apply(this._zoomGlobalOrig, this.actor.get_transformed_position()); this._zoomGlobalOrig.setPosition.apply(this._zoomGlobalOrig, this.actor.get_transformed_position());
this._zoomGlobalOrig.setScale(width / this.actor.width, height / this.actor.height); this._zoomGlobalOrig.setScale(width / this.actor.width, height / this.actor.height);
this.actor.reparent(global.stage); this.actor.reparent(Main.uiGroup);
this._zoomLightbox.highlight(this.actor); this._zoomLightbox.highlight(this.actor);
[this.actor.x, this.actor.y] = this._zoomGlobalOrig.getPosition(); [this.actor.x, this.actor.y] = this._zoomGlobalOrig.getPosition();
@ -296,6 +296,9 @@ WindowClone.prototype = {
}, },
_onDragBegin : function (draggable, time) { _onDragBegin : function (draggable, time) {
if (this._zooming)
this._zoomEnd();
[this.dragOrigX, this.dragOrigY] = this.actor.get_position(); [this.dragOrigX, this.dragOrigY] = this.actor.get_position();
this.dragOrigScale = this.actor.scale_x; this.dragOrigScale = this.actor.scale_x;
this.inDrag = true; this.inDrag = true;
@ -1113,7 +1116,9 @@ Workspace.prototype = {
// the compositor finds out about them... // the compositor finds out about them...
Mainloop.idle_add(Lang.bind(this, Mainloop.idle_add(Lang.bind(this,
function () { function () {
if (this.actor && metaWin.get_compositor_private()) if (this.actor &&
metaWin.get_compositor_private() &&
metaWin.get_workspace() == this.metaWorkspace)
this._doAddWindow(metaWin); this._doAddWindow(metaWin);
return false; return false;
})); }));

View File

@ -276,7 +276,9 @@ WorkspaceThumbnail.prototype = {
// the compositor finds out about them... // the compositor finds out about them...
Mainloop.idle_add(Lang.bind(this, Mainloop.idle_add(Lang.bind(this,
function () { function () {
if (this.actor && metaWin.get_compositor_private()) if (this.actor &&
metaWin.get_compositor_private() &&
metaWin.get_workspace() == this.metaWorkspace)
this._doAddWindow(metaWin); this._doAddWindow(metaWin);
return false; return false;
})); }));

View File

@ -201,12 +201,10 @@ WorkspacesView.prototype = {
Tweener.removeTweens(workspace.actor); Tweener.removeTweens(workspace.actor);
let opacity = (this._inDrag && w != active) ? 200 : 255;
let y = (w - active) * (this._height + this._spacing + this._workspaceRatioSpacing); let y = (w - active) * (this._height + this._spacing + this._workspaceRatioSpacing);
if (showAnimation) { if (showAnimation) {
let params = { y: y, let params = { y: y,
opacity: opacity,
time: WORKSPACE_SWITCH_TIME, time: WORKSPACE_SWITCH_TIME,
transition: 'easeOutQuad' transition: 'easeOutQuad'
}; };
@ -224,7 +222,6 @@ WorkspacesView.prototype = {
Tweener.addTween(workspace.actor, params); Tweener.addTween(workspace.actor, params);
} else { } else {
workspace.actor.set_position(0, y); workspace.actor.set_position(0, y);
workspace.actor.opacity = opacity;
if (w == 0) if (w == 0)
this._updateVisibility(); this._updateVisibility();
} }
@ -439,20 +436,14 @@ WorkspacesView.prototype = {
if (topWorkspace) { if (topWorkspace) {
if (topWorkspace.actor.contains(dragEvent.targetActor)) { if (topWorkspace.actor.contains(dragEvent.targetActor)) {
hoverWorkspace = topWorkspace; hoverWorkspace = topWorkspace;
topWorkspace.opacity = topWorkspace.actor.opacity = 255;
result = topWorkspace.handleDragOver(dragEvent.source, dragEvent.dragActor); result = topWorkspace.handleDragOver(dragEvent.source, dragEvent.dragActor);
} else {
topWorkspace.opacity = topWorkspace.actor.opacity = 200;
} }
} }
if (bottomWorkspace) { if (bottomWorkspace) {
if (bottomWorkspace.actor.contains(dragEvent.targetActor)) { if (bottomWorkspace.actor.contains(dragEvent.targetActor)) {
hoverWorkspace = bottomWorkspace; hoverWorkspace = bottomWorkspace;
bottomWorkspace.opacity = bottomWorkspace.actor.opacity = 255;
result = bottomWorkspace.handleDragOver(dragEvent.source, dragEvent.dragActor); result = bottomWorkspace.handleDragOver(dragEvent.source, dragEvent.dragActor);
} else {
bottomWorkspace.opacity = bottomWorkspace.actor.opacity = 200;
} }
} }

View File

@ -38,6 +38,7 @@ pt
pt_BR pt_BR
ro ro
ru ru
sk
sl sl
sr sr
sr@latin sr@latin

View File

@ -5,7 +5,7 @@
# workspace - Arbeitsfläche # workspace - Arbeitsfläche
# #
# Hendrik Brandt <heb@gnome-de.org>, 2009. # Hendrik Brandt <heb@gnome-de.org>, 2009.
# Hendrik Richter <hendrikr@gnome.org>, 2009. # Hendrik Richter <hendrikr@gnome.org>, 2009, 2010, 2011.
# Mario Blättermann <mariobl@gnome.org>, 2009, 2010, 2011. # Mario Blättermann <mariobl@gnome.org>, 2009, 2010, 2011.
# Mario Klug <mario@klug.me>, 2010. # Mario Klug <mario@klug.me>, 2010.
# Jakob Kramer <jakob.kramer@gmx.de>, 2010. # Jakob Kramer <jakob.kramer@gmx.de>, 2010.
@ -18,8 +18,8 @@ msgstr ""
"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug.cgi?product=gnome-" "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug.cgi?product=gnome-"
"shell&keywords=I18N+L10N&component=general\n" "shell&keywords=I18N+L10N&component=general\n"
"POT-Creation-Date: 2011-03-27 14:43+0000\n" "POT-Creation-Date: 2011-03-27 14:43+0000\n"
"PO-Revision-Date: 2011-03-27 15:45+0200\n" "PO-Revision-Date: 2011-04-22 14:23+0200\n"
"Last-Translator: Christian Kirbach <Christian.Kirbach@googlemail.com>\n" "Last-Translator: Hendrik Richter <hendrikr@gnome.org>\n"
"Language-Team: Deutsch <gnome-de@gnome.org>\n" "Language-Team: Deutsch <gnome-de@gnome.org>\n"
"MIME-Version: 1.0\n" "MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n" "Content-Type: text/plain; charset=UTF-8\n"
@ -249,11 +249,15 @@ msgctxt "event list time"
msgid "%H:%M" msgid "%H:%M"
msgstr "%H:%M" msgstr "%H:%M"
#
# Da wir keine AM/PM-Suffixe haben, die Zeit von Terminen aber eindeutig
# angezeigt werden soll, wird im Kalender stets das 24h-Format verwendet.
#
#. Transators: Shown in calendar event list, if 12h format #. Transators: Shown in calendar event list, if 12h format
#: ../js/ui/calendar.js:78 #: ../js/ui/calendar.js:78
msgctxt "event list time" msgctxt "event list time"
msgid "%l:%M %p" msgid "%l:%M %p"
msgstr "%l:%M" msgstr "%H:%M"
#. Translators: Calendar grid abbreviation for Sunday. #. Translators: Calendar grid abbreviation for Sunday.
#. * #. *
@ -417,21 +421,21 @@ msgstr "%a %R"
#. for AM/PM. #. for AM/PM.
#: ../js/ui/dateMenu.js:177 #: ../js/ui/dateMenu.js:177
msgid "%a %b %e, %l:%M:%S %p" msgid "%a %b %e, %l:%M:%S %p"
msgstr "%a, %e. %b, %H:%M:%S" msgstr "%a, %e. %b, %l:%M:%S"
#: ../js/ui/dateMenu.js:178 #: ../js/ui/dateMenu.js:178
msgid "%a %b %e, %l:%M %p" msgid "%a %b %e, %l:%M %p"
msgstr "%a, %e. %b, %H:%M" msgstr "%a, %e. %b, %l:%M"
#. Translators: This is a time format without date used #. Translators: This is a time format without date used
#. for AM/PM. #. for AM/PM.
#: ../js/ui/dateMenu.js:182 #: ../js/ui/dateMenu.js:182
msgid "%a %l:%M:%S %p" msgid "%a %l:%M:%S %p"
msgstr "%a %H:%M:%S" msgstr "%a %l:%M:%S"
#: ../js/ui/dateMenu.js:183 #: ../js/ui/dateMenu.js:183
msgid "%a %l:%M %p" msgid "%a %l:%M %p"
msgstr "%a %H:%M" msgstr "%a %l:%M"
#. Translators: This is the date format to use when the calendar popup is #. Translators: This is the date format to use when the calendar popup is
#. * shown - it is shown just below the time in the shell (e.g. "Tue 9:29 AM"). #. * shown - it is shown just below the time in the shell (e.g. "Tue 9:29 AM").

View File

@ -11,7 +11,7 @@ msgstr ""
"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug.cgi?product=gnome-" "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug.cgi?product=gnome-"
"shell&keywords=I18N+L10N&component=general\n" "shell&keywords=I18N+L10N&component=general\n"
"POT-Creation-Date: 2011-03-25 20:20+0000\n" "POT-Creation-Date: 2011-03-25 20:20+0000\n"
"PO-Revision-Date: 2011-03-25 21:35+0100\n" "PO-Revision-Date: 2011-04-21 18:47+0200\n"
"Last-Translator: Jorge González <jorgegonz@svn.gnome.org>\n" "Last-Translator: Jorge González <jorgegonz@svn.gnome.org>\n"
"Language-Team: Español <gnome-es-list@gnome.org>\n" "Language-Team: Español <gnome-es-list@gnome.org>\n"
"MIME-Version: 1.0\n" "MIME-Version: 1.0\n"
@ -557,7 +557,7 @@ msgstr "Aplicaciones"
#. the left of the overview #. the left of the overview
#: ../js/ui/overview.js:205 #: ../js/ui/overview.js:205
msgid "Dash" msgid "Dash"
msgstr "Plano" msgstr "Tablero"
#. TODO - _quit() doesn't really work on apps in state STARTING yet #. TODO - _quit() doesn't really work on apps in state STARTING yet
#: ../js/ui/panel.js:515 #: ../js/ui/panel.js:515

1182
po/fa.po

File diff suppressed because it is too large Load Diff

View File

@ -2,13 +2,26 @@
# Copyright (C) 2009-2011 Timo Jyrinki # Copyright (C) 2009-2011 Timo Jyrinki
# This file is distributed under the same license as the gnome-shell package. # This file is distributed under the same license as the gnome-shell package.
# Timo Jyrinki <timo.jyrinki@iki.fi>, 2009-2011. # Timo Jyrinki <timo.jyrinki@iki.fi>, 2009-2011.
# Marko Myllynen <myllynen@redhat.com>, 2011.
#
# IMPORTANT NOTICE!
#
# Some date / time strings are currently non-optimal. The optimal CLDR
# compliant versions are included as comments in the respective strings.
#
# CLDR: http://kotoistus.fi/suositukset/vahv_kalenterit_cldr1_4.htm
#
# They should be taken into use as soon as the related bugs are fixed:
#
# https://bugzilla.gnome.org/show_bug.cgi?id=647320
# https://bugzilla.gnome.org/show_bug.cgi?id=648678
# #
msgid "" msgid ""
msgstr "" msgstr ""
"Project-Id-Version: gnome-shell\n" "Project-Id-Version: gnome-shell\n"
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2011-04-06 12:55+0300\n" "POT-Creation-Date: 2011-04-06 12:55+0300\n"
"PO-Revision-Date: 2011-04-06 12:55+0300\n" "PO-Revision-Date: 2011-05-05 18:01+0300\n"
"Last-Translator: Timo Jyrinki <timo.jyrinki@iki.fi>\n" "Last-Translator: Timo Jyrinki <timo.jyrinki@iki.fi>\n"
"Language-Team: Finnish <gnome-fi-laatu@lists.sourceforge.net>\n" "Language-Team: Finnish <gnome-fi-laatu@lists.sourceforge.net>\n"
"Language: fi\n" "Language: fi\n"
@ -199,7 +212,7 @@ msgstr "%s on poistettu suosikeista."
#: ../js/ui/calendar.js:66 #: ../js/ui/calendar.js:66
msgctxt "event list time" msgctxt "event list time"
msgid "All Day" msgid "All Day"
msgstr "" msgstr "Koko päivä"
#. Translators: Shown in calendar event list, if 24h format #. Translators: Shown in calendar event list, if 24h format
#: ../js/ui/calendar.js:71 #: ../js/ui/calendar.js:71
@ -309,19 +322,21 @@ msgstr "la"
#. Translators: Text to show if there are no events #. Translators: Text to show if there are no events
#: ../js/ui/calendar.js:704 #: ../js/ui/calendar.js:704
msgid "Nothing Scheduled" msgid "Nothing Scheduled"
msgstr "" msgstr "Ei merkintöjä"
#. Translators: Shown on calendar heading when selected day occurs on current year #. Translators: Shown on calendar heading when selected day occurs on current year
#: ../js/ui/calendar.js:720 ../js/ui/telepathyClient.js:490 #: ../js/ui/calendar.js:720 ../js/ui/telepathyClient.js:490
#msgstr "%A, %-d. %Bta"
msgctxt "calendar heading" msgctxt "calendar heading"
msgid "%A, %B %d" msgid "%A, %B %d"
msgstr "" msgstr "%A, %d. %Bta"
#. Translators: Shown on calendar heading when selected day occurs on different year #. Translators: Shown on calendar heading when selected day occurs on different year
#: ../js/ui/calendar.js:723 ../js/ui/telepathyClient.js:493 #: ../js/ui/calendar.js:723 ../js/ui/telepathyClient.js:493
#msgstr "%A, %-d. %Bta %Y"
msgctxt "calendar heading" msgctxt "calendar heading"
msgid "%A, %B %d, %Y" msgid "%A, %B %d, %Y"
msgstr "" msgstr "%A, %d. %Bta %Y"
#: ../js/ui/calendar.js:733 #: ../js/ui/calendar.js:733
msgid "Today" msgid "Today"
@ -329,15 +344,15 @@ msgstr "Tänään"
#: ../js/ui/calendar.js:737 #: ../js/ui/calendar.js:737
msgid "Tomorrow" msgid "Tomorrow"
msgstr "" msgstr "Huomenna"
#: ../js/ui/calendar.js:746 #: ../js/ui/calendar.js:746
msgid "This week" msgid "This week"
msgstr "" msgstr "Tällä viikolla"
#: ../js/ui/calendar.js:754 #: ../js/ui/calendar.js:754
msgid "Next week" msgid "Next week"
msgstr "" msgstr "Ensi viikolla"
#: ../js/ui/dash.js:174 ../js/ui/messageTray.js:1007 #: ../js/ui/dash.js:174 ../js/ui/messageTray.js:1007
msgid "Remove" msgid "Remove"
@ -354,49 +369,58 @@ msgstr "Avaa kalenteri"
#. Translators: This is the time format with date used #. Translators: This is the time format with date used
#. in 24-hour mode. #. in 24-hour mode.
#: ../js/ui/dateMenu.js:164 #: ../js/ui/dateMenu.js:164
#msgstr "%a %-d.%-m., %-H.%M.%S"
msgid "%a %b %e, %R:%S" msgid "%a %b %e, %R:%S"
msgstr "%a %b %e., %h.%M.%S" msgstr "%a %d.%m., %H.%M.%S"
#: ../js/ui/dateMenu.js:165 #: ../js/ui/dateMenu.js:165
#msgstr "%a %-d.%-m., %-H.%M"
msgid "%a %b %e, %R" msgid "%a %b %e, %R"
msgstr "%a %b %e., %H.%M" msgstr "%a %d.%m., %H.%M"
#. Translators: This is the time format without date used #. Translators: This is the time format without date used
#. in 24-hour mode. #. in 24-hour mode.
#: ../js/ui/dateMenu.js:169 #: ../js/ui/dateMenu.js:169
#msgstr "%a %-H.%M.%S"
msgid "%a %R:%S" msgid "%a %R:%S"
msgstr "%a %H.%M" msgstr "%a %H.%M.%S"
#: ../js/ui/dateMenu.js:170 #: ../js/ui/dateMenu.js:170
#msgstr "%a %-H.%M"
msgid "%a %R" msgid "%a %R"
msgstr "%a %H.%M" msgstr "%a %H.%M"
#. Translators: This is a time format with date used #. Translators: This is a time format with date used
#. for AM/PM. #. for AM/PM.
#: ../js/ui/dateMenu.js:177 #: ../js/ui/dateMenu.js:177
#msgstr "%a %-d.%-m., %-I.%M.%S %p"
msgid "%a %b %e, %l:%M:%S %p" msgid "%a %b %e, %l:%M:%S %p"
msgstr "%a %b %e., %l.%M.%S %p" msgstr "%a %d.%m., %I.%M.%S %p"
#: ../js/ui/dateMenu.js:178 #: ../js/ui/dateMenu.js:178
#msgstr "%a %-d.%-m., %-I.%M %p"
msgid "%a %b %e, %l:%M %p" msgid "%a %b %e, %l:%M %p"
msgstr "%a %b %e.,.%l:%M %p" msgstr "%a %d.%m., %I.%M %p"
#. Translators: This is a time format without date used #. Translators: This is a time format without date used
#. for AM/PM. #. for AM/PM.
#: ../js/ui/dateMenu.js:182 #: ../js/ui/dateMenu.js:182
#msgstr "%a %-I.%M.%S %p"
msgid "%a %l:%M:%S %p" msgid "%a %l:%M:%S %p"
msgstr "%a %l.%M.%S %p" msgstr "%a %I.%M.%S %p"
#: ../js/ui/dateMenu.js:183 #: ../js/ui/dateMenu.js:183
#msgstr "%a %-I.%M %p"
msgid "%a %l:%M %p" msgid "%a %l:%M %p"
msgstr "%a %l.%M %p" msgstr "%a %I.%M %p"
#. Translators: This is the date format to use when the calendar popup is #. Translators: This is the date format to use when the calendar popup is
#. * shown - it is shown just below the time in the shell (e.g. "Tue 9:29 AM"). #. * shown - it is shown just below the time in the shell (e.g. "Tue 9:29 AM").
#. #.
#: ../js/ui/dateMenu.js:194 #: ../js/ui/dateMenu.js:194
#msgstr "%A, %-d. %Bta %Y"
msgid "%A %B %e, %Y" msgid "%A %B %e, %Y"
msgstr "+%Ana %d. %Bta, %Y" msgstr "%A, %d. %Bta %Y"
#: ../js/ui/docDisplay.js:19 #: ../js/ui/docDisplay.js:19
msgid "RECENT ITEMS" msgid "RECENT ITEMS"

1229
po/ga.po

File diff suppressed because it is too large Load Diff

114
po/gl.po
View File

@ -12,8 +12,8 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: gnome-shell master\n" "Project-Id-Version: gnome-shell master\n"
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2011-03-27 20:33+0200\n" "POT-Creation-Date: 2011-04-22 17:56+0200\n"
"PO-Revision-Date: 2011-03-27 20:33+0200\n" "PO-Revision-Date: 2011-04-22 17:57+0200\n"
"Last-Translator: Fran Diéguez <frandieguez@gnome.org>\n" "Last-Translator: Fran Diéguez <frandieguez@gnome.org>\n"
"Language-Team: Galician <gnome-l10n-gl@gnome.org>\n" "Language-Team: Galician <gnome-l10n-gl@gnome.org>\n"
"Language: gl\n" "Language: gl\n"
@ -197,23 +197,23 @@ msgstr "Produciuse un fallo na execución de «%s»:"
msgid "All" msgid "All"
msgstr "Todos" msgstr "Todos"
#: ../js/ui/appDisplay.js:328 #: ../js/ui/appDisplay.js:329
msgid "APPLICATIONS" msgid "APPLICATIONS"
msgstr "APLICATIVOS" msgstr "APLICATIVOS"
#: ../js/ui/appDisplay.js:354 #: ../js/ui/appDisplay.js:355
msgid "SETTINGS" msgid "SETTINGS"
msgstr "CONFIGURACIÓN" msgstr "CONFIGURACIÓN"
#: ../js/ui/appDisplay.js:625 #: ../js/ui/appDisplay.js:626
msgid "New Window" msgid "New Window"
msgstr "Xanela nova" msgstr "Xanela nova"
#: ../js/ui/appDisplay.js:628 #: ../js/ui/appDisplay.js:629
msgid "Remove from Favorites" msgid "Remove from Favorites"
msgstr "Eliminar dos favoritos" msgstr "Eliminar dos favoritos"
#: ../js/ui/appDisplay.js:629 #: ../js/ui/appDisplay.js:630
msgid "Add to Favorites" msgid "Add to Favorites"
msgstr "Engadir aos favoritos" msgstr "Engadir aos favoritos"
@ -346,13 +346,13 @@ msgid "Nothing Scheduled"
msgstr "Nada programado" msgstr "Nada programado"
#. Translators: Shown on calendar heading when selected day occurs on current year #. Translators: Shown on calendar heading when selected day occurs on current year
#: ../js/ui/calendar.js:720 #: ../js/ui/calendar.js:720 ../js/ui/telepathyClient.js:492
msgctxt "calendar heading" msgctxt "calendar heading"
msgid "%A, %B %d" msgid "%A, %B %d"
msgstr "%A, %d de %B" msgstr "%A, %d de %B"
#. Translators: Shown on calendar heading when selected day occurs on different year #. Translators: Shown on calendar heading when selected day occurs on different year
#: ../js/ui/calendar.js:723 #: ../js/ui/calendar.js:723 ../js/ui/telepathyClient.js:495
msgctxt "calendar heading" msgctxt "calendar heading"
msgid "%A, %B %d, %Y" msgid "%A, %B %d, %Y"
msgstr "%A, %d de %B de %Y" msgstr "%A, %d de %B de %Y"
@ -373,7 +373,7 @@ msgstr "Esta semana"
msgid "Next week" msgid "Next week"
msgstr "A vindeira semana" msgstr "A vindeira semana"
#: ../js/ui/dash.js:174 ../js/ui/messageTray.js:1000 #: ../js/ui/dash.js:174 ../js/ui/messageTray.js:1037
msgid "Remove" msgid "Remove"
msgstr "Eliminar" msgstr "Eliminar"
@ -409,17 +409,17 @@ msgstr "%a %R"
#. for AM/PM. #. for AM/PM.
#: ../js/ui/dateMenu.js:177 #: ../js/ui/dateMenu.js:177
msgid "%a %b %e, %l:%M:%S %p" msgid "%a %b %e, %l:%M:%S %p"
msgstr "%a %e de %b, %H:%M:%S" msgstr "%a %e de %b, %l:%M:%S"
#: ../js/ui/dateMenu.js:178 #: ../js/ui/dateMenu.js:178
msgid "%a %b %e, %l:%M %p" msgid "%a %b %e, %l:%M %p"
msgstr "%a %e de %b, %H:%M" msgstr "%a %e de %b, %l:%M %p"
#. Translators: This is a time format without date used #. Translators: This is a time format without date used
#. for AM/PM. #. for AM/PM.
#: ../js/ui/dateMenu.js:182 #: ../js/ui/dateMenu.js:182
msgid "%a %l:%M:%S %p" msgid "%a %l:%M:%S %p"
msgstr "%a %H:%M:%S" msgstr "%a %l:%M:%S %p"
#: ../js/ui/dateMenu.js:183 #: ../js/ui/dateMenu.js:183
msgid "%a %l:%M %p" msgid "%a %l:%M %p"
@ -502,7 +502,7 @@ msgstr "O seu computador reiniciarase automaticamente en %d segundos."
msgid "Restarting the system." msgid "Restarting the system."
msgstr "Reiniciando o computador." msgstr "Reiniciando o computador."
#: ../js/ui/endSessionDialog.js:415 ../js/ui/polkitAuthenticationAgent.js:172 #: ../js/ui/endSessionDialog.js:413 ../js/ui/polkitAuthenticationAgent.js:172
#: ../js/ui/status/bluetooth.js:466 #: ../js/ui/status/bluetooth.js:466
msgid "Cancel" msgid "Cancel"
msgstr "Cancelar" msgstr "Cancelar"
@ -537,11 +537,11 @@ msgstr "Ver fonte"
msgid "Web Page" msgid "Web Page"
msgstr "Páxina web" msgstr "Páxina web"
#: ../js/ui/messageTray.js:993 #: ../js/ui/messageTray.js:1030
msgid "Open" msgid "Open"
msgstr "Abrir" msgstr "Abrir"
#: ../js/ui/messageTray.js:2151 #: ../js/ui/messageTray.js:2194
msgid "System Information" msgid "System Information"
msgstr "Información do sistema" msgstr "Información do sistema"
@ -564,18 +564,18 @@ msgid "Dash"
msgstr "Panel" msgstr "Panel"
#. TODO - _quit() doesn't really work on apps in state STARTING yet #. TODO - _quit() doesn't really work on apps in state STARTING yet
#: ../js/ui/panel.js:515 #: ../js/ui/panel.js:524
#, c-format #, c-format
msgid "Quit %s" msgid "Quit %s"
msgstr "Saír de %s" msgstr "Saír de %s"
#. Button on the left side of the panel. #. 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". #. Translators: If there is no suitable word for "Activities" in your language, you can use the word for "Overview".
#: ../js/ui/panel.js:878 #: ../js/ui/panel.js:902
msgid "Activities" msgid "Activities"
msgstr "Actividades" msgstr "Actividades"
#: ../js/ui/panel.js:979 #: ../js/ui/panel.js:1003
msgid "Top Bar" msgid "Top Bar"
msgstr "Barra superior" msgstr "Barra superior"
@ -633,11 +633,11 @@ msgstr "toggle-switch-intl"
msgid "Please enter a command:" msgid "Please enter a command:"
msgstr "Insira unha orde:" msgstr "Insira unha orde:"
#: ../js/ui/searchDisplay.js:310 #: ../js/ui/searchDisplay.js:311
msgid "Searching..." msgid "Searching..."
msgstr "Buscando..." msgstr "Buscando..."
#: ../js/ui/searchDisplay.js:324 #: ../js/ui/searchDisplay.js:325
msgid "No matching results." msgid "No matching results."
msgstr "Non hai resultados que coincidan." msgstr "Non hai resultados que coincidan."
@ -841,139 +841,139 @@ msgstr "Mostrar a distribución do teclado…"
msgid "Localization Settings" msgid "Localization Settings"
msgstr "Configuracións do son" msgstr "Configuracións do son"
#: ../js/ui/status/network.js:104 ../js/ui/status/network.js:1454 #: ../js/ui/status/network.js:109 ../js/ui/status/network.js:1498
msgid "<unknown>" msgid "<unknown>"
msgstr "<descoñecida>" msgstr "<descoñecida>"
#. Translators: this indicates that wireless or wwan is disabled by hardware killswitch #. Translators: this indicates that wireless or wwan is disabled by hardware killswitch
#: ../js/ui/status/network.js:311 #: ../js/ui/status/network.js:326
msgid "disabled" msgid "disabled"
msgstr "desactivada" msgstr "desactivada"
#: ../js/ui/status/network.js:494 #: ../js/ui/status/network.js:521
msgid "connecting..." msgid "connecting..."
msgstr "conectando..." msgstr "conectando..."
#. Translators: this is for network connections that require some kind of key or password #. Translators: this is for network connections that require some kind of key or password
#: ../js/ui/status/network.js:497 #: ../js/ui/status/network.js:524
msgid "authentication required" msgid "authentication required"
msgstr "autenticación requirida" msgstr "autenticación requirida"
#. Translators: this is for devices that require some kind of firmware or kernel #. Translators: this is for devices that require some kind of firmware or kernel
#. module, which is missing #. module, which is missing
#: ../js/ui/status/network.js:507 #: ../js/ui/status/network.js:534
msgid "firmware missing" msgid "firmware missing"
msgstr "falta o «firmware»" msgstr "falta o «firmware»"
#. Translators: this is for wired network devices that are physically disconnected #. Translators: this is for wired network devices that are physically disconnected
#: ../js/ui/status/network.js:514 #: ../js/ui/status/network.js:541
msgid "cable unplugged" msgid "cable unplugged"
msgstr "cable desconectado" msgstr "cable desconectado"
#. Translators: this is for a network device that cannot be activated (for example it #. Translators: this is for a network device that cannot be activated (for example it
#. is disabled by rfkill, or it has no coverage #. is disabled by rfkill, or it has no coverage
#: ../js/ui/status/network.js:519 #: ../js/ui/status/network.js:546
msgid "unavailable" msgid "unavailable"
msgstr "non dispoñíbel" msgstr "non dispoñíbel"
#: ../js/ui/status/network.js:521 #: ../js/ui/status/network.js:548
msgid "connection failed" msgid "connection failed"
msgstr "conexión fallida" msgstr "conexión fallida"
#. TRANSLATORS: this is the indication that a connection for another logged in user is active, #. TRANSLATORS: this is the indication that a connection for another logged in user is active,
#. and we cannot access its settings (including the name) #. and we cannot access its settings (including the name)
#: ../js/ui/status/network.js:602 ../js/ui/status/network.js:1402 #: ../js/ui/status/network.js:628 ../js/ui/status/network.js:1446
msgid "Connected (private)" msgid "Connected (private)"
msgstr "Conectado (privado)" msgstr "Conectado (privado)"
#: ../js/ui/status/network.js:683 #: ../js/ui/status/network.js:713
msgid "Auto Ethernet" msgid "Auto Ethernet"
msgstr "Ethernet automática" msgstr "Ethernet automática"
#: ../js/ui/status/network.js:758 #: ../js/ui/status/network.js:788
msgid "Auto broadband" msgid "Auto broadband"
msgstr "Banda larga automática" msgstr "Banda larga automática"
#: ../js/ui/status/network.js:761 #: ../js/ui/status/network.js:791
msgid "Auto dial-up" msgid "Auto dial-up"
msgstr "Por liña conmutada automática" msgstr "Por liña conmutada automática"
#. TRANSLATORS: this the automatic wireless connection name (including the network name) #. TRANSLATORS: this the automatic wireless connection name (including the network name)
#: ../js/ui/status/network.js:904 ../js/ui/status/network.js:1414 #: ../js/ui/status/network.js:937 ../js/ui/status/network.js:1458
#, c-format #, c-format
msgid "Auto %s" msgid "Auto %s"
msgstr "%s automática" msgstr "%s automática"
#: ../js/ui/status/network.js:906 #: ../js/ui/status/network.js:939
msgid "Auto bluetooth" msgid "Auto bluetooth"
msgstr "Bluetooth automática" msgstr "Bluetooth automática"
#: ../js/ui/status/network.js:1416 #: ../js/ui/status/network.js:1460
msgid "Auto wireless" msgid "Auto wireless"
msgstr "Sen fíos automática" msgstr "Sen fíos automática"
#: ../js/ui/status/network.js:1474 #: ../js/ui/status/network.js:1518
msgid "More..." msgid "More..."
msgstr "Máis..." msgstr "Máis..."
#: ../js/ui/status/network.js:1497 #: ../js/ui/status/network.js:1541
msgid "Enable networking" msgid "Enable networking"
msgstr "Activar rede" msgstr "Activar rede"
#: ../js/ui/status/network.js:1509 #: ../js/ui/status/network.js:1553
msgid "Wired" msgid "Wired"
msgstr "Con fíos" msgstr "Con fíos"
#: ../js/ui/status/network.js:1520 #: ../js/ui/status/network.js:1564
msgid "Wireless" msgid "Wireless"
msgstr "Sen fíos" msgstr "Sen fíos"
#: ../js/ui/status/network.js:1530 #: ../js/ui/status/network.js:1574
msgid "Mobile broadband" msgid "Mobile broadband"
msgstr "Banda larga móbil" msgstr "Banda larga móbil"
#: ../js/ui/status/network.js:1540 #: ../js/ui/status/network.js:1584
msgid "VPN Connections" msgid "VPN Connections"
msgstr "Conexións VPN" msgstr "Conexións VPN"
#: ../js/ui/status/network.js:1549 #: ../js/ui/status/network.js:1596
msgid "Network Settings" msgid "Network Settings"
msgstr "Configuracións da rede" msgstr "Configuracións da rede"
#: ../js/ui/status/network.js:1844 #: ../js/ui/status/network.js:1890
#, c-format #, c-format
msgid "You're now connected to mobile broadband connection '%s'" msgid "You're now connected to mobile broadband connection '%s'"
msgstr "Vostede está conectado agora á conexión de banda larga móbil «%s»" msgstr "Vostede está conectado agora á conexión de banda larga móbil «%s»"
#: ../js/ui/status/network.js:1848 #: ../js/ui/status/network.js:1894
#, c-format #, c-format
msgid "You're now connected to wireless network '%s'" msgid "You're now connected to wireless network '%s'"
msgstr "Vostede está conectado agora á conexión sen fíos «%s»" msgstr "Vostede está conectado agora á conexión sen fíos «%s»"
#: ../js/ui/status/network.js:1852 #: ../js/ui/status/network.js:1898
#, c-format #, c-format
msgid "You're now connected to wired network '%s'" msgid "You're now connected to wired network '%s'"
msgstr "Vostede está conectado agora á conexión con fíos «%s»" msgstr "Vostede está conectado agora á conexión con fíos «%s»"
#: ../js/ui/status/network.js:1856 #: ../js/ui/status/network.js:1902
#, c-format #, c-format
msgid "You're now connected to VPN network '%s'" msgid "You're now connected to VPN network '%s'"
msgstr "Vostede está conectado agora á conexión VPN «%s»" msgstr "Vostede está conectado agora á conexión VPN «%s»"
#: ../js/ui/status/network.js:1861 #: ../js/ui/status/network.js:1907
#, c-format #, c-format
msgid "You're now connected to '%s'" msgid "You're now connected to '%s'"
msgstr "Vostede está conectado agora a «%s»" msgstr "Vostede está conectado agora a «%s»"
#: ../js/ui/status/network.js:1869 #: ../js/ui/status/network.js:1915
msgid "Connection established" msgid "Connection established"
msgstr "Conexión estabelecida" msgstr "Conexión estabelecida"
#: ../js/ui/status/network.js:1991 #: ../js/ui/status/network.js:2041
msgid "Networking is disabled" msgid "Networking is disabled"
msgstr "A rede está desactivada" msgstr "A rede está desactivada"
#: ../js/ui/status/network.js:2116 #: ../js/ui/status/network.js:2166
msgid "Network Manager" msgid "Network Manager"
msgstr "Xestor de rede" msgstr "Xestor de rede"
@ -1075,22 +1075,22 @@ msgstr "Volume"
msgid "Microphone" msgid "Microphone"
msgstr "Micrófono" msgstr "Micrófono"
#: ../js/ui/telepathyClient.js:331 #: ../js/ui/telepathyClient.js:335
#, c-format #, c-format
msgid "%s is online." msgid "%s is online."
msgstr "%s está conectado/a." msgstr "%s está conectado/a."
#: ../js/ui/telepathyClient.js:336 #: ../js/ui/telepathyClient.js:340
#, c-format #, c-format
msgid "%s is offline." msgid "%s is offline."
msgstr "%s está desconectado/a." msgstr "%s está desconectado/a."
#: ../js/ui/telepathyClient.js:339 #: ../js/ui/telepathyClient.js:343
#, c-format #, c-format
msgid "%s is away." msgid "%s is away."
msgstr "%s está ausente." msgstr "%s está ausente."
#: ../js/ui/telepathyClient.js:342 #: ../js/ui/telepathyClient.js:346
#, c-format #, c-format
msgid "%s is busy." msgid "%s is busy."
msgstr "%s está ocupado/a." msgstr "%s está ocupado/a."
@ -1098,7 +1098,7 @@ msgstr "%s está ocupado/a."
#. Translators: this is a time format string followed by a date. #. Translators: this is a time format string followed by a date.
#. If applicable, replace %X with a strftime format valid for your #. If applicable, replace %X with a strftime format valid for your
#. locale, without seconds. #. locale, without seconds.
#: ../js/ui/telepathyClient.js:473 #: ../js/ui/telepathyClient.js:484
#, no-c-format #, no-c-format
msgid "Sent at %X on %A" msgid "Sent at %X on %A"
msgstr "Enviado ás %X o %A" msgstr "Enviado ás %X o %A"
@ -1147,7 +1147,7 @@ msgstr[1] "%u entradas"
msgid "System Sounds" msgid "System Sounds"
msgstr "Sons do sistema" msgstr "Sons do sistema"
#: ../src/main.c:446 #: ../src/main.c:445
msgid "Print version" msgid "Print version"
msgstr "Imprimir versión" msgstr "Imprimir versión"

View File

@ -11,9 +11,9 @@ msgstr ""
"Project-Id-Version: gnome-shell master\n" "Project-Id-Version: gnome-shell master\n"
"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug.cgi?product=gnome-" "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug.cgi?product=gnome-"
"shell&keywords=I18N+L10N&component=general\n" "shell&keywords=I18N+L10N&component=general\n"
"POT-Creation-Date: 2011-04-04 14:08+0000\n" "POT-Creation-Date: 2011-04-22 21:34+0000\n"
"PO-Revision-Date: 2011-03-30 00:26+0900\n" "PO-Revision-Date: 2011-04-19 23:13+0900\n"
"Last-Translator: Kiyotaka NISHIBORI <ml.nishibori.kiyotaka@gmail.com>\n" "Last-Translator: Jiro Matsuzawa <matsuzawa.jr@gmail.com>\n"
"Language-Team: Japanese <gnome-translation@gnome.gr.jp>\n" "Language-Team: Japanese <gnome-translation@gnome.gr.jp>\n"
"Language: ja\n" "Language: ja\n"
"MIME-Version: 1.0\n" "MIME-Version: 1.0\n"
@ -187,23 +187,23 @@ msgstr "'%s'の実行に失敗しました:"
msgid "All" msgid "All"
msgstr "すべて" msgstr "すべて"
#: ../js/ui/appDisplay.js:328 #: ../js/ui/appDisplay.js:329
msgid "APPLICATIONS" msgid "APPLICATIONS"
msgstr "アプリケーション" msgstr "アプリケーション"
#: ../js/ui/appDisplay.js:354 #: ../js/ui/appDisplay.js:355
msgid "SETTINGS" msgid "SETTINGS"
msgstr "設定" msgstr "設定"
#: ../js/ui/appDisplay.js:625 #: ../js/ui/appDisplay.js:626
msgid "New Window" msgid "New Window"
msgstr "新しいウィンドウで開く" msgstr "新しいウィンドウで開く"
#: ../js/ui/appDisplay.js:628 #: ../js/ui/appDisplay.js:629
msgid "Remove from Favorites" msgid "Remove from Favorites"
msgstr "お気に入りから削除" msgstr "お気に入りから削除"
#: ../js/ui/appDisplay.js:629 #: ../js/ui/appDisplay.js:630
msgid "Add to Favorites" msgid "Add to Favorites"
msgstr "お気に入りに追加" msgstr "お気に入りに追加"
@ -336,13 +336,13 @@ msgid "Nothing Scheduled"
msgstr "予定がありません" msgstr "予定がありません"
#. Translators: Shown on calendar heading when selected day occurs on current year #. Translators: Shown on calendar heading when selected day occurs on current year
#: ../js/ui/calendar.js:720 ../js/ui/telepathyClient.js:490 #: ../js/ui/calendar.js:720 ../js/ui/telepathyClient.js:492
msgctxt "calendar heading" msgctxt "calendar heading"
msgid "%A, %B %d" msgid "%A, %B %d"
msgstr "%B%e日 (%a)" msgstr "%B%e日 (%a)"
#. Translators: Shown on calendar heading when selected day occurs on different year #. Translators: Shown on calendar heading when selected day occurs on different year
#: ../js/ui/calendar.js:723 ../js/ui/telepathyClient.js:493 #: ../js/ui/calendar.js:723 ../js/ui/telepathyClient.js:495
msgctxt "calendar heading" msgctxt "calendar heading"
msgid "%A, %B %d, %Y" msgid "%A, %B %d, %Y"
msgstr "%Y年%B%e日 (%a)" msgstr "%Y年%B%e日 (%a)"
@ -363,7 +363,7 @@ msgstr "今週"
msgid "Next week" msgid "Next week"
msgstr "来週" msgstr "来週"
#: ../js/ui/dash.js:174 ../js/ui/messageTray.js:1007 #: ../js/ui/dash.js:174 ../js/ui/messageTray.js:1037
msgid "Remove" msgid "Remove"
msgstr "削除" msgstr "削除"
@ -490,7 +490,7 @@ msgstr "%d 秒後にシステムを再起動します。"
msgid "Restarting the system." msgid "Restarting the system."
msgstr "システムを再起動します。" msgstr "システムを再起動します。"
#: ../js/ui/endSessionDialog.js:417 ../js/ui/polkitAuthenticationAgent.js:172 #: ../js/ui/endSessionDialog.js:413 ../js/ui/polkitAuthenticationAgent.js:172
#: ../js/ui/status/bluetooth.js:466 #: ../js/ui/status/bluetooth.js:466
msgid "Cancel" msgid "Cancel"
msgstr "キャンセル" msgstr "キャンセル"
@ -525,11 +525,11 @@ msgstr "ソースの表示"
msgid "Web Page" msgid "Web Page"
msgstr "ウェブページ" msgstr "ウェブページ"
#: ../js/ui/messageTray.js:1000 #: ../js/ui/messageTray.js:1030
msgid "Open" msgid "Open"
msgstr "開く" msgstr "開く"
#: ../js/ui/messageTray.js:2164 #: ../js/ui/messageTray.js:2194
msgid "System Information" msgid "System Information"
msgstr "システム情報" msgstr "システム情報"
@ -829,139 +829,139 @@ msgstr "キーボードレイアウトの表示..."
msgid "Localization Settings" msgid "Localization Settings"
msgstr "ローカライズ設定" msgstr "ローカライズ設定"
#: ../js/ui/status/network.js:105 ../js/ui/status/network.js:1466 #: ../js/ui/status/network.js:109 ../js/ui/status/network.js:1498
msgid "<unknown>" msgid "<unknown>"
msgstr "< 不明 >" msgstr "< 不明 >"
#. Translators: this indicates that wireless or wwan is disabled by hardware killswitch #. Translators: this indicates that wireless or wwan is disabled by hardware killswitch
#: ../js/ui/status/network.js:318 #: ../js/ui/status/network.js:326
msgid "disabled" msgid "disabled"
msgstr "利用不可" msgstr "利用不可"
#: ../js/ui/status/network.js:501 #: ../js/ui/status/network.js:521
msgid "connecting..." msgid "connecting..."
msgstr "接続中..." msgstr "接続中..."
#. Translators: this is for network connections that require some kind of key or password #. Translators: this is for network connections that require some kind of key or password
#: ../js/ui/status/network.js:504 #: ../js/ui/status/network.js:524
msgid "authentication required" msgid "authentication required"
msgstr "認証要求" msgstr "認証要求"
#. Translators: this is for devices that require some kind of firmware or kernel #. Translators: this is for devices that require some kind of firmware or kernel
#. module, which is missing #. module, which is missing
#: ../js/ui/status/network.js:514 #: ../js/ui/status/network.js:534
msgid "firmware missing" msgid "firmware missing"
msgstr "ファームウェア無し" msgstr "ファームウェア無し"
#. Translators: this is for wired network devices that are physically disconnected #. Translators: this is for wired network devices that are physically disconnected
#: ../js/ui/status/network.js:521 #: ../js/ui/status/network.js:541
msgid "cable unplugged" msgid "cable unplugged"
msgstr "ケーブル抜け" msgstr "ケーブル抜け"
#. Translators: this is for a network device that cannot be activated (for example it #. Translators: this is for a network device that cannot be activated (for example it
#. is disabled by rfkill, or it has no coverage #. is disabled by rfkill, or it has no coverage
#: ../js/ui/status/network.js:526 #: ../js/ui/status/network.js:546
msgid "unavailable" msgid "unavailable"
msgstr "利用不可" msgstr "利用不可"
#: ../js/ui/status/network.js:528 #: ../js/ui/status/network.js:548
msgid "connection failed" msgid "connection failed"
msgstr "接続失敗" msgstr "接続失敗"
#. TRANSLATORS: this is the indication that a connection for another logged in user is active, #. TRANSLATORS: this is the indication that a connection for another logged in user is active,
#. and we cannot access its settings (including the name) #. and we cannot access its settings (including the name)
#: ../js/ui/status/network.js:608 ../js/ui/status/network.js:1414 #: ../js/ui/status/network.js:628 ../js/ui/status/network.js:1446
msgid "Connected (private)" msgid "Connected (private)"
msgstr "接続 (制限付)" msgstr "接続 (制限付)"
#: ../js/ui/status/network.js:689 #: ../js/ui/status/network.js:713
msgid "Auto Ethernet" msgid "Auto Ethernet"
msgstr "自動イーサネット接続" msgstr "自動イーサネット接続"
#: ../js/ui/status/network.js:764 #: ../js/ui/status/network.js:788
msgid "Auto broadband" msgid "Auto broadband"
msgstr "自動ブロードバンド接続" msgstr "自動ブロードバンド接続"
#: ../js/ui/status/network.js:767 #: ../js/ui/status/network.js:791
msgid "Auto dial-up" msgid "Auto dial-up"
msgstr "自動ダイヤルアップ" msgstr "自動ダイヤルアップ"
#. TRANSLATORS: this the automatic wireless connection name (including the network name) #. TRANSLATORS: this the automatic wireless connection name (including the network name)
#: ../js/ui/status/network.js:910 ../js/ui/status/network.js:1426 #: ../js/ui/status/network.js:937 ../js/ui/status/network.js:1458
#, c-format #, c-format
msgid "Auto %s" msgid "Auto %s"
msgstr "自動 %s" msgstr "自動 %s"
#: ../js/ui/status/network.js:912 #: ../js/ui/status/network.js:939
msgid "Auto bluetooth" msgid "Auto bluetooth"
msgstr "自動 Bluetooth 接続" msgstr "自動 Bluetooth 接続"
#: ../js/ui/status/network.js:1428 #: ../js/ui/status/network.js:1460
msgid "Auto wireless" msgid "Auto wireless"
msgstr "自動無線接続" msgstr "自動無線接続"
#: ../js/ui/status/network.js:1486 #: ../js/ui/status/network.js:1518
msgid "More..." msgid "More..."
msgstr "その他..." msgstr "その他..."
#: ../js/ui/status/network.js:1509 #: ../js/ui/status/network.js:1541
msgid "Enable networking" msgid "Enable networking"
msgstr "ネットワークを利用可能にする" msgstr "ネットワークを利用可能にする"
#: ../js/ui/status/network.js:1521 #: ../js/ui/status/network.js:1553
msgid "Wired" msgid "Wired"
msgstr "有線接続" msgstr "有線接続"
#: ../js/ui/status/network.js:1532 #: ../js/ui/status/network.js:1564
msgid "Wireless" msgid "Wireless"
msgstr "無線接続" msgstr "無線接続"
#: ../js/ui/status/network.js:1542 #: ../js/ui/status/network.js:1574
msgid "Mobile broadband" msgid "Mobile broadband"
msgstr "モバイルブロードバンド" msgstr "モバイルブロードバンド"
#: ../js/ui/status/network.js:1552 #: ../js/ui/status/network.js:1584
msgid "VPN Connections" msgid "VPN Connections"
msgstr "VPN 接続" msgstr "VPN 接続"
#: ../js/ui/status/network.js:1564 #: ../js/ui/status/network.js:1596
msgid "Network Settings" msgid "Network Settings"
msgstr "ネットワーク設定" msgstr "ネットワーク設定"
#: ../js/ui/status/network.js:1854 #: ../js/ui/status/network.js:1890
#, c-format #, c-format
msgid "You're now connected to mobile broadband connection '%s'" msgid "You're now connected to mobile broadband connection '%s'"
msgstr "モバイルブロードバンド '%s' に接続しました" msgstr "モバイルブロードバンド '%s' に接続しました"
#: ../js/ui/status/network.js:1858 #: ../js/ui/status/network.js:1894
#, c-format #, c-format
msgid "You're now connected to wireless network '%s'" msgid "You're now connected to wireless network '%s'"
msgstr "無線ネットワーク '%s' に接続しました" msgstr "無線ネットワーク '%s' に接続しました"
#: ../js/ui/status/network.js:1862 #: ../js/ui/status/network.js:1898
#, c-format #, c-format
msgid "You're now connected to wired network '%s'" msgid "You're now connected to wired network '%s'"
msgstr "有線ネットワーク '%s' に接続しました" msgstr "有線ネットワーク '%s' に接続しました"
#: ../js/ui/status/network.js:1866 #: ../js/ui/status/network.js:1902
#, c-format #, c-format
msgid "You're now connected to VPN network '%s'" msgid "You're now connected to VPN network '%s'"
msgstr "VPN ネットワーク '%s' に接続しました" msgstr "VPN ネットワーク '%s' に接続しました"
#: ../js/ui/status/network.js:1871 #: ../js/ui/status/network.js:1907
#, c-format #, c-format
msgid "You're now connected to '%s'" msgid "You're now connected to '%s'"
msgstr "'%s' に接続しました" msgstr "'%s' に接続しました"
#: ../js/ui/status/network.js:1879 #: ../js/ui/status/network.js:1915
msgid "Connection established" msgid "Connection established"
msgstr "接続を確立しました" msgstr "接続を確立しました"
#: ../js/ui/status/network.js:2005 #: ../js/ui/status/network.js:2041
msgid "Networking is disabled" msgid "Networking is disabled"
msgstr "ネットワークを利用できません" msgstr "ネットワークを利用できません"
#: ../js/ui/status/network.js:2130 #: ../js/ui/status/network.js:2166
msgid "Network Manager" msgid "Network Manager"
msgstr "ネットワークマネージャ" msgstr "ネットワークマネージャ"
@ -1082,7 +1082,7 @@ msgstr "%s は離席中です。"
#. Translators: this is a time format string followed by a date. #. Translators: this is a time format string followed by a date.
#. If applicable, replace %X with a strftime format valid for your #. If applicable, replace %X with a strftime format valid for your
#. locale, without seconds. #. locale, without seconds.
#: ../js/ui/telepathyClient.js:482 #: ../js/ui/telepathyClient.js:484
#, no-c-format #, no-c-format
msgid "Sent at %X on %A" msgid "Sent at %X on %A"
msgstr "%Aの%Xに送信" msgstr "%Aの%Xに送信"
@ -1129,7 +1129,7 @@ msgstr[0] "入力数: %u"
msgid "System Sounds" msgid "System Sounds"
msgstr "システムのサウンド" msgstr "システムのサウンド"
#: ../src/main.c:446 #: ../src/main.c:445
msgid "Print version" msgid "Print version"
msgstr "バージョンを表示" msgstr "バージョンを表示"

155
po/nb.po
View File

@ -8,8 +8,8 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: gnome-shell 2.91.x\n" "Project-Id-Version: gnome-shell 2.91.x\n"
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2011-04-01 09:43+0200\n" "POT-Creation-Date: 2011-05-11 21:22+0200\n"
"PO-Revision-Date: 2011-04-01 09:45+0200\n" "PO-Revision-Date: 2011-05-11 21:23+0200\n"
"Last-Translator: Kjartan Maraas <kmaraas@gnome.org>\n" "Last-Translator: Kjartan Maraas <kmaraas@gnome.org>\n"
"Language-Team: Norwegian Bokmål <i18n-nb@lister.ping.uio.no>\n" "Language-Team: Norwegian Bokmål <i18n-nb@lister.ping.uio.no>\n"
"Language: \n" "Language: \n"
@ -32,26 +32,28 @@ msgid ""
"Allows access to internal debugging and monitoring tools using the Alt-F2 " "Allows access to internal debugging and monitoring tools using the Alt-F2 "
"dialog." "dialog."
msgstr "" msgstr ""
"Tillat tilgang til interne feilsøkings og overvåkingsverktøy ved å bruke Alt-" "Tillat tilgang til interne feilsøkings- og overvåkingsverktøy ved å bruke "
"F2-dialogen." "Alt-F2-dialogen."
#: ../data/org.gnome.shell.gschema.xml.in.h:2 #: ../data/org.gnome.shell.gschema.xml.in.h:2
msgid "Enable internal tools useful for developers and testers from Alt-F2" msgid "Enable internal tools useful for developers and testers from Alt-F2"
msgstr "" msgstr "Aktiver interne verktøy for utviklere og testere fra Alt-F2"
#: ../data/org.gnome.shell.gschema.xml.in.h:3 #: ../data/org.gnome.shell.gschema.xml.in.h:3
msgid "File extension used for storing the screencast" msgid "File extension used for storing the screencast"
msgstr "" msgstr "Filendelse i bruk ved lagring av skjermvideo"
#: ../data/org.gnome.shell.gschema.xml.in.h:4 #: ../data/org.gnome.shell.gschema.xml.in.h:4
msgid "Framerate used for recording screencasts." msgid "Framerate used for recording screencasts."
msgstr "" msgstr "Bildefrekvens i bruk ved lagring av skjermvideoer."
#: ../data/org.gnome.shell.gschema.xml.in.h:5 #: ../data/org.gnome.shell.gschema.xml.in.h:5
msgid "" msgid ""
"GNOME Shell extensions have a uuid property; this key lists extensions which " "GNOME Shell extensions have a uuid property; this key lists extensions which "
"should not be loaded." "should not be loaded."
msgstr "" msgstr ""
"GNOME Shell-utvidelser har en uuid-egenskap. Denne nøkkelen lister "
"utvidelser som ikke bør lastes."
#: ../data/org.gnome.shell.gschema.xml.in.h:6 #: ../data/org.gnome.shell.gschema.xml.in.h:6
msgid "History for command (Alt-F2) dialog" msgid "History for command (Alt-F2) dialog"
@ -59,11 +61,11 @@ msgstr "Historikk for kommandodialog (Alt-F2)"
#: ../data/org.gnome.shell.gschema.xml.in.h:7 #: ../data/org.gnome.shell.gschema.xml.in.h:7
msgid "History for the looking glass dialog" msgid "History for the looking glass dialog"
msgstr "" msgstr "Historikk for forstørrelsesglass-dialogen"
#: ../data/org.gnome.shell.gschema.xml.in.h:8 #: ../data/org.gnome.shell.gschema.xml.in.h:8
msgid "If true, display date in the clock, in addition to time." msgid "If true, display date in the clock, in addition to time."
msgstr "" msgstr "Viser dato i tillegg til tid i klokken hvis «true»."
#: ../data/org.gnome.shell.gschema.xml.in.h:9 #: ../data/org.gnome.shell.gschema.xml.in.h:9
msgid "If true, display seconds in time." msgid "If true, display seconds in time."
@ -71,14 +73,14 @@ msgstr "Viser sekunder i klokken hvis «true»."
#: ../data/org.gnome.shell.gschema.xml.in.h:10 #: ../data/org.gnome.shell.gschema.xml.in.h:10
msgid "If true, display the ISO week date in the calendar." msgid "If true, display the ISO week date in the calendar."
msgstr "" msgstr "Viser ISO-ukedato i kalenderen hvis «true»."
#: ../data/org.gnome.shell.gschema.xml.in.h:11 #: ../data/org.gnome.shell.gschema.xml.in.h:11
msgid "List of desktop file IDs for favorite applications" msgid "List of desktop file IDs for favorite applications"
msgstr "" msgstr "Liste av skrivebordfil-ider for favorittprogrammer"
#: ../data/org.gnome.shell.gschema.xml.in.h:13 #: ../data/org.gnome.shell.gschema.xml.in.h:13
#, no-c-format #, fuzzy, no-c-format
msgid "" msgid ""
"Sets the GStreamer pipeline used to encode recordings. It follows the syntax " "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 " "used for gst-launch. The pipeline should have an unconnected sink pad where "
@ -91,6 +93,8 @@ msgid ""
"records to WEBM using the VP8 codec. %T is used as a placeholder for a guess " "records to WEBM using the VP8 codec. %T is used as a placeholder for a guess "
"at the optimal thread count on the system." "at the optimal thread count on the system."
msgstr "" msgstr ""
"Setter GStreamer-rør som brukes til å kode opptak. Den følger syntaksen som "
"brukes for gst-launch."
#: ../data/org.gnome.shell.gschema.xml.in.h:14 #: ../data/org.gnome.shell.gschema.xml.in.h:14
msgid "Show date in clock" msgid "Show date in clock"
@ -109,6 +113,8 @@ msgid ""
"The applications corresponding to these identifiers will be displayed in the " "The applications corresponding to these identifiers will be displayed in the "
"favorites area." "favorites area."
msgstr "" msgstr ""
"Programmene som passer til disse identifikatorene vil bli vist i "
"favorittområdet."
#: ../data/org.gnome.shell.gschema.xml.in.h:18 #: ../data/org.gnome.shell.gschema.xml.in.h:18
msgid "" msgid ""
@ -116,16 +122,21 @@ msgid ""
"current date, and use this extension. It should be changed when recording to " "current date, and use this extension. It should be changed when recording to "
"a different container format." "a different container format."
msgstr "" msgstr ""
"Filnavnet for skjermvideoopptak vil være unikt og bestå av gjeldende dato, "
"og bruke denne filendelsen. Den bør endres når du gjør opptak til et nytt "
"oppbevaringsformat."
#: ../data/org.gnome.shell.gschema.xml.in.h:19 #: ../data/org.gnome.shell.gschema.xml.in.h:19
msgid "" msgid ""
"The framerate of the resulting screencast recordered by GNOME Shell's " "The framerate of the resulting screencast recordered by GNOME Shell's "
"screencast recorder in frames-per-second." "screencast recorder in frames-per-second."
msgstr "" msgstr ""
"Bildefrekvensen i den ferdige skjermvideoen tatt opp med GNOME Shells "
"skjermvideoopptaker i bilder per sekund."
#: ../data/org.gnome.shell.gschema.xml.in.h:20 #: ../data/org.gnome.shell.gschema.xml.in.h:20
msgid "The gstreamer pipeline used to encode the screencast" msgid "The gstreamer pipeline used to encode the screencast"
msgstr "" msgstr "Gstreamer-kommandokø brukt til å kode skjermvideoen"
#: ../data/org.gnome.shell.gschema.xml.in.h:21 #: ../data/org.gnome.shell.gschema.xml.in.h:21
msgid "" msgid ""
@ -134,6 +145,10 @@ msgid ""
"want to disable this for privacy reasons. Please note that doing so won't " "want to disable this for privacy reasons. Please note that doing so won't "
"remove already saved data." "remove already saved data."
msgstr "" msgstr ""
"GNOME Shell vil normalt holde øye med åpne programmer for å kunne vise de "
"mest bruke (for eksempel i oppstartsmenyer). Denne informasjonen vil bli "
"holdt privat, men du kan deaktivere denne lagringen av personvernårsaker. "
"Hvis du slår det av, vil det ikke fjerne allerede lagret informasjon."
#: ../data/org.gnome.shell.gschema.xml.in.h:22 #: ../data/org.gnome.shell.gschema.xml.in.h:22
msgid "Uuids of extensions to disable" msgid "Uuids of extensions to disable"
@ -163,27 +178,27 @@ msgid "Execution of '%s' failed:"
msgstr "Kjøring av «%s» feilet:" msgstr "Kjøring av «%s» feilet:"
#. Translators: Filter to display all applications #. Translators: Filter to display all applications
#: ../js/ui/appDisplay.js:230 #: ../js/ui/appDisplay.js:260
msgid "All" msgid "All"
msgstr "Alle" msgstr "Alle"
#: ../js/ui/appDisplay.js:328 #: ../js/ui/appDisplay.js:359
msgid "APPLICATIONS" msgid "APPLICATIONS"
msgstr "PROGRAMMER" msgstr "PROGRAMMER"
#: ../js/ui/appDisplay.js:354 #: ../js/ui/appDisplay.js:385
msgid "SETTINGS" msgid "SETTINGS"
msgstr "INNSTILLINGER" msgstr "INNSTILLINGER"
#: ../js/ui/appDisplay.js:625 #: ../js/ui/appDisplay.js:656
msgid "New Window" msgid "New Window"
msgstr "Nytt vindu" msgstr "Nytt vindu"
#: ../js/ui/appDisplay.js:628 #: ../js/ui/appDisplay.js:659
msgid "Remove from Favorites" msgid "Remove from Favorites"
msgstr "Fjern fra favoritter" msgstr "Fjern fra favoritter"
#: ../js/ui/appDisplay.js:629 #: ../js/ui/appDisplay.js:660
msgid "Add to Favorites" msgid "Add to Favorites"
msgstr "Legg til i favoritter" msgstr "Legg til i favoritter"
@ -261,7 +276,7 @@ msgstr "F"
#: ../js/ui/calendar.js:130 #: ../js/ui/calendar.js:130
msgctxt "grid saturday" msgctxt "grid saturday"
msgid "S" msgid "S"
msgstr "S" msgstr "L"
#. Translators: Event list abbreviation for Sunday. #. Translators: Event list abbreviation for Sunday.
#. * #. *
@ -278,19 +293,19 @@ msgstr "Sø"
#: ../js/ui/calendar.js:145 #: ../js/ui/calendar.js:145
msgctxt "list monday" msgctxt "list monday"
msgid "M" msgid "M"
msgstr "M" msgstr "Ma"
#. Translators: Event list abbreviation for Tuesday #. Translators: Event list abbreviation for Tuesday
#: ../js/ui/calendar.js:147 #: ../js/ui/calendar.js:147
msgctxt "list tuesday" msgctxt "list tuesday"
msgid "T" msgid "T"
msgstr "T" msgstr "Ti"
#. Translators: Event list abbreviation for Wednesday #. Translators: Event list abbreviation for Wednesday
#: ../js/ui/calendar.js:149 #: ../js/ui/calendar.js:149
msgctxt "list wednesday" msgctxt "list wednesday"
msgid "W" msgid "W"
msgstr "O" msgstr "On"
#. Translators: Event list abbreviation for Thursday #. Translators: Event list abbreviation for Thursday
#: ../js/ui/calendar.js:151 #: ../js/ui/calendar.js:151
@ -302,13 +317,13 @@ msgstr "To"
#: ../js/ui/calendar.js:153 #: ../js/ui/calendar.js:153
msgctxt "list friday" msgctxt "list friday"
msgid "F" msgid "F"
msgstr "F" msgstr "Fr"
#. Translators: Event list abbreviation for Saturday #. Translators: Event list abbreviation for Saturday
#: ../js/ui/calendar.js:155 #: ../js/ui/calendar.js:155
msgctxt "list saturday" msgctxt "list saturday"
msgid "S" msgid "S"
msgstr "S" msgstr ""
#. Translators: Text to show if there are no events #. Translators: Text to show if there are no events
#: ../js/ui/calendar.js:704 #: ../js/ui/calendar.js:704
@ -316,13 +331,13 @@ msgid "Nothing Scheduled"
msgstr "Ingenting planlagt" msgstr "Ingenting planlagt"
#. Translators: Shown on calendar heading when selected day occurs on current year #. Translators: Shown on calendar heading when selected day occurs on current year
#: ../js/ui/calendar.js:720 ../js/ui/telepathyClient.js:490 #: ../js/ui/calendar.js:720 ../js/ui/telepathyClient.js:492
msgctxt "calendar heading" msgctxt "calendar heading"
msgid "%A, %B %d" msgid "%A, %B %d"
msgstr "%A %B %d" msgstr "%A %B %d"
#. Translators: Shown on calendar heading when selected day occurs on different year #. Translators: Shown on calendar heading when selected day occurs on different year
#: ../js/ui/calendar.js:723 ../js/ui/telepathyClient.js:493 #: ../js/ui/calendar.js:723 ../js/ui/telepathyClient.js:495
msgctxt "calendar heading" msgctxt "calendar heading"
msgid "%A, %B %d, %Y" msgid "%A, %B %d, %Y"
msgstr "%A %B %d, %Y" msgstr "%A %B %d, %Y"
@ -343,7 +358,7 @@ msgstr "Denne uken"
msgid "Next week" msgid "Next week"
msgstr "Neste uke" msgstr "Neste uke"
#: ../js/ui/dash.js:174 ../js/ui/messageTray.js:1007 #: ../js/ui/dash.js:174 ../js/ui/messageTray.js:1037
msgid "Remove" msgid "Remove"
msgstr "Fjern" msgstr "Fjern"
@ -472,7 +487,7 @@ msgstr "Systemet vil starte på nytt automatisk om %d sekunder."
msgid "Restarting the system." msgid "Restarting the system."
msgstr "Starter systemet på nytt." msgstr "Starter systemet på nytt."
#: ../js/ui/endSessionDialog.js:415 ../js/ui/polkitAuthenticationAgent.js:172 #: ../js/ui/endSessionDialog.js:413 ../js/ui/polkitAuthenticationAgent.js:172
#: ../js/ui/status/bluetooth.js:466 #: ../js/ui/status/bluetooth.js:466
msgid "Cancel" msgid "Cancel"
msgstr "Avbryt" msgstr "Avbryt"
@ -507,11 +522,11 @@ msgstr "Vis kildekode"
msgid "Web Page" msgid "Web Page"
msgstr "Nettside" msgstr "Nettside"
#: ../js/ui/messageTray.js:1000 #: ../js/ui/messageTray.js:1030
msgid "Open" msgid "Open"
msgstr "Åpne" msgstr "Åpne"
#: ../js/ui/messageTray.js:2164 #: ../js/ui/messageTray.js:2194
msgid "System Information" msgid "System Information"
msgstr "Systeminformasjon" msgstr "Systeminformasjon"
@ -534,18 +549,18 @@ msgid "Dash"
msgstr "Favoritter" msgstr "Favoritter"
#. TODO - _quit() doesn't really work on apps in state STARTING yet #. TODO - _quit() doesn't really work on apps in state STARTING yet
#: ../js/ui/panel.js:524 #: ../js/ui/panel.js:533
#, c-format #, c-format
msgid "Quit %s" msgid "Quit %s"
msgstr "Avslutt %s" msgstr "Avslutt %s"
#. Button on the left side of the panel. #. 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". #. Translators: If there is no suitable word for "Activities" in your language, you can use the word for "Overview".
#: ../js/ui/panel.js:902 #: ../js/ui/panel.js:911
msgid "Activities" msgid "Activities"
msgstr "Aktiviteter" msgstr "Aktiviteter"
#: ../js/ui/panel.js:1003 #: ../js/ui/panel.js:1012
msgid "Top Bar" msgid "Top Bar"
msgstr "Topp-panel" msgstr "Topp-panel"
@ -603,11 +618,11 @@ msgstr "toggle-switch-intl"
msgid "Please enter a command:" msgid "Please enter a command:"
msgstr "Oppgi en kommando:" msgstr "Oppgi en kommando:"
#: ../js/ui/searchDisplay.js:310 #: ../js/ui/searchDisplay.js:311
msgid "Searching..." msgid "Searching..."
msgstr "Søker …" msgstr "Søker …"
#: ../js/ui/searchDisplay.js:324 #: ../js/ui/searchDisplay.js:325
msgid "No matching results." msgid "No matching results."
msgstr "Ingen treff." msgstr "Ingen treff."
@ -811,139 +826,139 @@ msgstr "Vis tastaturutforming …"
msgid "Localization Settings" msgid "Localization Settings"
msgstr "Innstillinger for lokalisering" msgstr "Innstillinger for lokalisering"
#: ../js/ui/status/network.js:104 ../js/ui/status/network.js:1454 #: ../js/ui/status/network.js:109 ../js/ui/status/network.js:1501
msgid "<unknown>" msgid "<unknown>"
msgstr "<ukjent>" msgstr "<ukjent>"
#. Translators: this indicates that wireless or wwan is disabled by hardware killswitch #. Translators: this indicates that wireless or wwan is disabled by hardware killswitch
#: ../js/ui/status/network.js:311 #: ../js/ui/status/network.js:326
msgid "disabled" msgid "disabled"
msgstr "slått av" msgstr "slått av"
#: ../js/ui/status/network.js:494 #: ../js/ui/status/network.js:524
msgid "connecting..." msgid "connecting..."
msgstr "kobler til …" msgstr "kobler til …"
#. Translators: this is for network connections that require some kind of key or password #. Translators: this is for network connections that require some kind of key or password
#: ../js/ui/status/network.js:497 #: ../js/ui/status/network.js:527
msgid "authentication required" msgid "authentication required"
msgstr "autentisering kreves" msgstr "autentisering kreves"
#. Translators: this is for devices that require some kind of firmware or kernel #. Translators: this is for devices that require some kind of firmware or kernel
#. module, which is missing #. module, which is missing
#: ../js/ui/status/network.js:507 #: ../js/ui/status/network.js:537
msgid "firmware missing" msgid "firmware missing"
msgstr "fastvare mangler" msgstr "fastvare mangler"
#. Translators: this is for wired network devices that are physically disconnected #. Translators: this is for wired network devices that are physically disconnected
#: ../js/ui/status/network.js:514 #: ../js/ui/status/network.js:544
msgid "cable unplugged" msgid "cable unplugged"
msgstr "kabel koblet fra" msgstr "kabel koblet fra"
#. Translators: this is for a network device that cannot be activated (for example it #. Translators: this is for a network device that cannot be activated (for example it
#. is disabled by rfkill, or it has no coverage #. is disabled by rfkill, or it has no coverage
#: ../js/ui/status/network.js:519 #: ../js/ui/status/network.js:549
msgid "unavailable" msgid "unavailable"
msgstr "ikke tilgjengelig" msgstr "ikke tilgjengelig"
#: ../js/ui/status/network.js:521 #: ../js/ui/status/network.js:551
msgid "connection failed" msgid "connection failed"
msgstr "tilkobling feilet" msgstr "tilkobling feilet"
#. TRANSLATORS: this is the indication that a connection for another logged in user is active, #. TRANSLATORS: this is the indication that a connection for another logged in user is active,
#. and we cannot access its settings (including the name) #. and we cannot access its settings (including the name)
#: ../js/ui/status/network.js:602 ../js/ui/status/network.js:1402 #: ../js/ui/status/network.js:631 ../js/ui/status/network.js:1449
msgid "Connected (private)" msgid "Connected (private)"
msgstr "Tilkoblet (privat)" msgstr "Tilkoblet (privat)"
#: ../js/ui/status/network.js:683 #: ../js/ui/status/network.js:716
msgid "Auto Ethernet" msgid "Auto Ethernet"
msgstr "Automatisk Ethernet" msgstr "Automatisk Ethernet"
#: ../js/ui/status/network.js:758 #: ../js/ui/status/network.js:791
msgid "Auto broadband" msgid "Auto broadband"
msgstr "Automatisk bredbånd" msgstr "Automatisk bredbånd"
#: ../js/ui/status/network.js:761 #: ../js/ui/status/network.js:794
msgid "Auto dial-up" msgid "Auto dial-up"
msgstr "Automatisk oppringt" msgstr "Automatisk oppringt"
#. TRANSLATORS: this the automatic wireless connection name (including the network name) #. TRANSLATORS: this the automatic wireless connection name (including the network name)
#: ../js/ui/status/network.js:904 ../js/ui/status/network.js:1414 #: ../js/ui/status/network.js:940 ../js/ui/status/network.js:1461
#, c-format #, c-format
msgid "Auto %s" msgid "Auto %s"
msgstr "Automatisk %s" msgstr "Automatisk %s"
#: ../js/ui/status/network.js:906 #: ../js/ui/status/network.js:942
msgid "Auto bluetooth" msgid "Auto bluetooth"
msgstr "Automatisk Bluetooth" msgstr "Automatisk Bluetooth"
#: ../js/ui/status/network.js:1416 #: ../js/ui/status/network.js:1463
msgid "Auto wireless" msgid "Auto wireless"
msgstr "Automatisk trådløst" msgstr "Automatisk trådløst"
#: ../js/ui/status/network.js:1474 #: ../js/ui/status/network.js:1521
msgid "More..." msgid "More..."
msgstr "Mer …" msgstr "Mer …"
#: ../js/ui/status/network.js:1497 #: ../js/ui/status/network.js:1544
msgid "Enable networking" msgid "Enable networking"
msgstr "Slå på nettverk" msgstr "Slå på nettverk"
#: ../js/ui/status/network.js:1509 #: ../js/ui/status/network.js:1556
msgid "Wired" msgid "Wired"
msgstr "Kablet" msgstr "Kablet"
#: ../js/ui/status/network.js:1520 #: ../js/ui/status/network.js:1567
msgid "Wireless" msgid "Wireless"
msgstr "Trådløst" msgstr "Trådløst"
#: ../js/ui/status/network.js:1530 #: ../js/ui/status/network.js:1577
msgid "Mobile broadband" msgid "Mobile broadband"
msgstr "Mobilt bredbånd" msgstr "Mobilt bredbånd"
#: ../js/ui/status/network.js:1540 #: ../js/ui/status/network.js:1587
msgid "VPN Connections" msgid "VPN Connections"
msgstr "VPN-tilkoblinger" msgstr "VPN-tilkoblinger"
#: ../js/ui/status/network.js:1549 #: ../js/ui/status/network.js:1599
msgid "Network Settings" msgid "Network Settings"
msgstr "Innstillinger for nettverk" msgstr "Innstillinger for nettverk"
#: ../js/ui/status/network.js:1844 #: ../js/ui/status/network.js:1893
#, c-format #, c-format
msgid "You're now connected to mobile broadband connection '%s'" msgid "You're now connected to mobile broadband connection '%s'"
msgstr "Du er nå koblet til mobil bredbåndstilkobling «%s»" msgstr "Du er nå koblet til mobil bredbåndstilkobling «%s»"
#: ../js/ui/status/network.js:1848 #: ../js/ui/status/network.js:1897
#, c-format #, c-format
msgid "You're now connected to wireless network '%s'" msgid "You're now connected to wireless network '%s'"
msgstr "Du er nå koblet til trådløst nettverk «%s»" msgstr "Du er nå koblet til trådløst nettverk «%s»"
#: ../js/ui/status/network.js:1852 #: ../js/ui/status/network.js:1901
#, c-format #, c-format
msgid "You're now connected to wired network '%s'" msgid "You're now connected to wired network '%s'"
msgstr "Du er nå koblet til kablet nettverk «%s»" msgstr "Du er nå koblet til kablet nettverk «%s»"
#: ../js/ui/status/network.js:1856 #: ../js/ui/status/network.js:1905
#, c-format #, c-format
msgid "You're now connected to VPN network '%s'" msgid "You're now connected to VPN network '%s'"
msgstr "Du er nå koblet til virtuelt privat nettverk «%s»" msgstr "Du er nå koblet til virtuelt privat nettverk «%s»"
#: ../js/ui/status/network.js:1861 #: ../js/ui/status/network.js:1910
#, c-format #, c-format
msgid "You're now connected to '%s'" msgid "You're now connected to '%s'"
msgstr "Du er nå koblet til «%s»" msgstr "Du er nå koblet til «%s»"
#: ../js/ui/status/network.js:1869 #: ../js/ui/status/network.js:1918
msgid "Connection established" msgid "Connection established"
msgstr "Tilkobling etablert" msgstr "Tilkobling etablert"
#: ../js/ui/status/network.js:1991 #: ../js/ui/status/network.js:2044
msgid "Networking is disabled" msgid "Networking is disabled"
msgstr "Nettverk er slått av" msgstr "Nettverk er slått av"
#: ../js/ui/status/network.js:2116 #: ../js/ui/status/network.js:2169
msgid "Network Manager" msgid "Network Manager"
msgstr "Nettverkshåndtering" msgstr "Nettverkshåndtering"
@ -1068,7 +1083,7 @@ msgstr "%s er opptatt."
#. Translators: this is a time format string followed by a date. #. Translators: this is a time format string followed by a date.
#. If applicable, replace %X with a strftime format valid for your #. If applicable, replace %X with a strftime format valid for your
#. locale, without seconds. #. locale, without seconds.
#: ../js/ui/telepathyClient.js:482 #: ../js/ui/telepathyClient.js:484
#, no-c-format #, no-c-format
msgid "Sent at %X on %A" msgid "Sent at %X on %A"
msgstr "Sendt %X på %A" msgstr "Sendt %X på %A"
@ -1117,7 +1132,7 @@ msgstr[1] "%u innganger"
msgid "System Sounds" msgid "System Sounds"
msgstr "Systemlyder" msgstr "Systemlyder"
#: ../src/main.c:446 #: ../src/main.c:445
msgid "Print version" msgid "Print version"
msgstr "Skriv ut versjon" msgstr "Skriv ut versjon"
@ -1128,7 +1143,7 @@ msgstr "Klarte ikke å starte «%s»"
#: ../src/shell-global.c:1395 #: ../src/shell-global.c:1395
msgid "Less than a minute ago" msgid "Less than a minute ago"
msgstr "Mindre enn ett minutt siden" msgstr "Mindre enn et minutt siden"
#: ../src/shell-global.c:1399 #: ../src/shell-global.c:1399
#, c-format #, c-format
@ -1160,7 +1175,7 @@ msgstr[1] "%d uker siden"
#: ../src/shell-mobile-providers.c:80 #: ../src/shell-mobile-providers.c:80
msgid "United Kingdom" msgid "United Kingdom"
msgstr "England" msgstr "Storbritannia"
#: ../src/shell-mobile-providers.c:526 #: ../src/shell-mobile-providers.c:526
msgid "Default" msgid "Default"

114
po/pl.po
View File

@ -8,8 +8,8 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: gnome-shell\n" "Project-Id-Version: gnome-shell\n"
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2011-03-28 20:21+0200\n" "POT-Creation-Date: 2011-04-22 16:23+0200\n"
"PO-Revision-Date: 2011-03-28 20:22+0200\n" "PO-Revision-Date: 2011-04-22 16:27+0200\n"
"Last-Translator: Piotr Drąg <piotrdrag@gmail.com>\n" "Last-Translator: Piotr Drąg <piotrdrag@gmail.com>\n"
"Language-Team: Polish <gnomepl@aviary.pl>\n" "Language-Team: Polish <gnomepl@aviary.pl>\n"
"Language: pl\n" "Language: pl\n"
@ -196,23 +196,23 @@ msgstr "Wykonanie polecenia \"%s\" się nie powiodło:"
msgid "All" msgid "All"
msgstr "Wszystkie" msgstr "Wszystkie"
#: ../js/ui/appDisplay.js:328 #: ../js/ui/appDisplay.js:329
msgid "APPLICATIONS" msgid "APPLICATIONS"
msgstr "Programy" msgstr "Programy"
#: ../js/ui/appDisplay.js:354 #: ../js/ui/appDisplay.js:355
msgid "SETTINGS" msgid "SETTINGS"
msgstr "Ustawienia" msgstr "Ustawienia"
#: ../js/ui/appDisplay.js:625 #: ../js/ui/appDisplay.js:626
msgid "New Window" msgid "New Window"
msgstr "Nowe okno" msgstr "Nowe okno"
#: ../js/ui/appDisplay.js:628 #: ../js/ui/appDisplay.js:629
msgid "Remove from Favorites" msgid "Remove from Favorites"
msgstr "Usuń z ulubionych" msgstr "Usuń z ulubionych"
#: ../js/ui/appDisplay.js:629 #: ../js/ui/appDisplay.js:630
msgid "Add to Favorites" msgid "Add to Favorites"
msgstr "Dodaj do ulubionych" msgstr "Dodaj do ulubionych"
@ -345,13 +345,13 @@ msgid "Nothing Scheduled"
msgstr "Nic nie zaplanowano" msgstr "Nic nie zaplanowano"
#. Translators: Shown on calendar heading when selected day occurs on current year #. Translators: Shown on calendar heading when selected day occurs on current year
#: ../js/ui/calendar.js:720 #: ../js/ui/calendar.js:720 ../js/ui/telepathyClient.js:492
msgctxt "calendar heading" msgctxt "calendar heading"
msgid "%A, %B %d" msgid "%A, %B %d"
msgstr "%A, %e %B" msgstr "%A, %e %B"
#. Translators: Shown on calendar heading when selected day occurs on different year #. Translators: Shown on calendar heading when selected day occurs on different year
#: ../js/ui/calendar.js:723 #: ../js/ui/calendar.js:723 ../js/ui/telepathyClient.js:495
msgctxt "calendar heading" msgctxt "calendar heading"
msgid "%A, %B %d, %Y" msgid "%A, %B %d, %Y"
msgstr "%A, %e %B %Y" msgstr "%A, %e %B %Y"
@ -372,7 +372,7 @@ msgstr "Ten tydzień"
msgid "Next week" msgid "Next week"
msgstr "Następny tydzień" msgstr "Następny tydzień"
#: ../js/ui/dash.js:174 ../js/ui/messageTray.js:1000 #: ../js/ui/dash.js:174 ../js/ui/messageTray.js:1037
msgid "Remove" msgid "Remove"
msgstr "Usuń" msgstr "Usuń"
@ -408,7 +408,7 @@ msgstr "%a, %R"
#. for AM/PM. #. for AM/PM.
#: ../js/ui/dateMenu.js:177 #: ../js/ui/dateMenu.js:177
msgid "%a %b %e, %l:%M:%S %p" msgid "%a %b %e, %l:%M:%S %p"
msgstr "%a %e %b, %H:%M:%S %p" msgstr "%a %e %b, %l:%M:%S %p"
#: ../js/ui/dateMenu.js:178 #: ../js/ui/dateMenu.js:178
msgid "%a %b %e, %l:%M %p" msgid "%a %b %e, %l:%M %p"
@ -499,7 +499,7 @@ msgstr "System zostanie automatycznie uruchomiony ponownie za %d sekund."
msgid "Restarting the system." msgid "Restarting the system."
msgstr "Ponowne uruchamianie systemu." msgstr "Ponowne uruchamianie systemu."
#: ../js/ui/endSessionDialog.js:415 ../js/ui/polkitAuthenticationAgent.js:172 #: ../js/ui/endSessionDialog.js:413 ../js/ui/polkitAuthenticationAgent.js:172
#: ../js/ui/status/bluetooth.js:466 #: ../js/ui/status/bluetooth.js:466
msgid "Cancel" msgid "Cancel"
msgstr "Anuluj" msgstr "Anuluj"
@ -534,11 +534,11 @@ msgstr "Wyświetl źródło"
msgid "Web Page" msgid "Web Page"
msgstr "Strona WWW" msgstr "Strona WWW"
#: ../js/ui/messageTray.js:993 #: ../js/ui/messageTray.js:1030
msgid "Open" msgid "Open"
msgstr "Otwórz" msgstr "Otwórz"
#: ../js/ui/messageTray.js:2151 #: ../js/ui/messageTray.js:2194
msgid "System Information" msgid "System Information"
msgstr "Informacje systemowe" msgstr "Informacje systemowe"
@ -561,18 +561,18 @@ msgid "Dash"
msgstr "Ulubione" msgstr "Ulubione"
#. TODO - _quit() doesn't really work on apps in state STARTING yet #. TODO - _quit() doesn't really work on apps in state STARTING yet
#: ../js/ui/panel.js:515 #: ../js/ui/panel.js:524
#, c-format #, c-format
msgid "Quit %s" msgid "Quit %s"
msgstr "Zakończ program %s" msgstr "Zakończ program %s"
#. Button on the left side of the panel. #. 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". #. Translators: If there is no suitable word for "Activities" in your language, you can use the word for "Overview".
#: ../js/ui/panel.js:878 #: ../js/ui/panel.js:902
msgid "Activities" msgid "Activities"
msgstr "Podgląd" msgstr "Podgląd"
#: ../js/ui/panel.js:979 #: ../js/ui/panel.js:1003
msgid "Top Bar" msgid "Top Bar"
msgstr "Górny pasek" msgstr "Górny pasek"
@ -630,11 +630,11 @@ msgstr "toggle-switch-intl"
msgid "Please enter a command:" msgid "Please enter a command:"
msgstr "Proszę wprowadzić polecenie:" msgstr "Proszę wprowadzić polecenie:"
#: ../js/ui/searchDisplay.js:310 #: ../js/ui/searchDisplay.js:311
msgid "Searching..." msgid "Searching..."
msgstr "Wyszukiwanie..." msgstr "Wyszukiwanie..."
#: ../js/ui/searchDisplay.js:324 #: ../js/ui/searchDisplay.js:325
msgid "No matching results." msgid "No matching results."
msgstr "Brak wyników." msgstr "Brak wyników."
@ -838,139 +838,139 @@ msgstr "Wyświetl układ klawiatury..."
msgid "Localization Settings" msgid "Localization Settings"
msgstr "Ustawienia lokalizacji" msgstr "Ustawienia lokalizacji"
#: ../js/ui/status/network.js:104 ../js/ui/status/network.js:1454 #: ../js/ui/status/network.js:109 ../js/ui/status/network.js:1498
msgid "<unknown>" msgid "<unknown>"
msgstr "<nieznane>" msgstr "<nieznane>"
#. Translators: this indicates that wireless or wwan is disabled by hardware killswitch #. Translators: this indicates that wireless or wwan is disabled by hardware killswitch
#: ../js/ui/status/network.js:311 #: ../js/ui/status/network.js:326
msgid "disabled" msgid "disabled"
msgstr "wyłączone" msgstr "wyłączone"
#: ../js/ui/status/network.js:494 #: ../js/ui/status/network.js:521
msgid "connecting..." msgid "connecting..."
msgstr "łączenie..." msgstr "łączenie..."
#. Translators: this is for network connections that require some kind of key or password #. Translators: this is for network connections that require some kind of key or password
#: ../js/ui/status/network.js:497 #: ../js/ui/status/network.js:524
msgid "authentication required" msgid "authentication required"
msgstr "wymagane jest uwierzytelnienie" msgstr "wymagane jest uwierzytelnienie"
#. Translators: this is for devices that require some kind of firmware or kernel #. Translators: this is for devices that require some kind of firmware or kernel
#. module, which is missing #. module, which is missing
#: ../js/ui/status/network.js:507 #: ../js/ui/status/network.js:534
msgid "firmware missing" msgid "firmware missing"
msgstr "brak oprogramowania wbudowanego" msgstr "brak oprogramowania wbudowanego"
#. Translators: this is for wired network devices that are physically disconnected #. Translators: this is for wired network devices that are physically disconnected
#: ../js/ui/status/network.js:514 #: ../js/ui/status/network.js:541
msgid "cable unplugged" msgid "cable unplugged"
msgstr "kabel jest niepodłączony" msgstr "kabel jest niepodłączony"
#. Translators: this is for a network device that cannot be activated (for example it #. Translators: this is for a network device that cannot be activated (for example it
#. is disabled by rfkill, or it has no coverage #. is disabled by rfkill, or it has no coverage
#: ../js/ui/status/network.js:519 #: ../js/ui/status/network.js:546
msgid "unavailable" msgid "unavailable"
msgstr "niedostępne" msgstr "niedostępne"
#: ../js/ui/status/network.js:521 #: ../js/ui/status/network.js:548
msgid "connection failed" msgid "connection failed"
msgstr "połączenie się nie powiodło" msgstr "połączenie się nie powiodło"
#. TRANSLATORS: this is the indication that a connection for another logged in user is active, #. TRANSLATORS: this is the indication that a connection for another logged in user is active,
#. and we cannot access its settings (including the name) #. and we cannot access its settings (including the name)
#: ../js/ui/status/network.js:602 ../js/ui/status/network.js:1402 #: ../js/ui/status/network.js:628 ../js/ui/status/network.js:1446
msgid "Connected (private)" msgid "Connected (private)"
msgstr "Połączono (prywatne)" msgstr "Połączono (prywatne)"
#: ../js/ui/status/network.js:683 #: ../js/ui/status/network.js:713
msgid "Auto Ethernet" msgid "Auto Ethernet"
msgstr "Automatyczne Ethernet" msgstr "Automatyczne Ethernet"
#: ../js/ui/status/network.js:758 #: ../js/ui/status/network.js:788
msgid "Auto broadband" msgid "Auto broadband"
msgstr "Automatyczne komórkowe" msgstr "Automatyczne komórkowe"
#: ../js/ui/status/network.js:761 #: ../js/ui/status/network.js:791
msgid "Auto dial-up" msgid "Auto dial-up"
msgstr "Automatyczne wdzwaniane" msgstr "Automatyczne wdzwaniane"
#. TRANSLATORS: this the automatic wireless connection name (including the network name) #. TRANSLATORS: this the automatic wireless connection name (including the network name)
#: ../js/ui/status/network.js:904 ../js/ui/status/network.js:1414 #: ../js/ui/status/network.js:937 ../js/ui/status/network.js:1458
#, c-format #, c-format
msgid "Auto %s" msgid "Auto %s"
msgstr "Automatyczne %s" msgstr "Automatyczne %s"
#: ../js/ui/status/network.js:906 #: ../js/ui/status/network.js:939
msgid "Auto bluetooth" msgid "Auto bluetooth"
msgstr "Automatyczne Bluetooth" msgstr "Automatyczne Bluetooth"
#: ../js/ui/status/network.js:1416 #: ../js/ui/status/network.js:1460
msgid "Auto wireless" msgid "Auto wireless"
msgstr "Automatyczne bezprzewodowe" msgstr "Automatyczne bezprzewodowe"
#: ../js/ui/status/network.js:1474 #: ../js/ui/status/network.js:1518
msgid "More..." msgid "More..."
msgstr "Więcej..." msgstr "Więcej..."
#: ../js/ui/status/network.js:1497 #: ../js/ui/status/network.js:1541
msgid "Enable networking" msgid "Enable networking"
msgstr "Włącz sieć" msgstr "Włącz sieć"
#: ../js/ui/status/network.js:1509 #: ../js/ui/status/network.js:1553
msgid "Wired" msgid "Wired"
msgstr "Przewodowe" msgstr "Przewodowe"
#: ../js/ui/status/network.js:1520 #: ../js/ui/status/network.js:1564
msgid "Wireless" msgid "Wireless"
msgstr "Bezprzewodowe" msgstr "Bezprzewodowe"
#: ../js/ui/status/network.js:1530 #: ../js/ui/status/network.js:1574
msgid "Mobile broadband" msgid "Mobile broadband"
msgstr "Komórkowe" msgstr "Komórkowe"
#: ../js/ui/status/network.js:1540 #: ../js/ui/status/network.js:1584
msgid "VPN Connections" msgid "VPN Connections"
msgstr "Połączenia VPN" msgstr "Połączenia VPN"
#: ../js/ui/status/network.js:1549 #: ../js/ui/status/network.js:1596
msgid "Network Settings" msgid "Network Settings"
msgstr "Ustawienia sieci" msgstr "Ustawienia sieci"
#: ../js/ui/status/network.js:1844 #: ../js/ui/status/network.js:1890
#, c-format #, c-format
msgid "You're now connected to mobile broadband connection '%s'" msgid "You're now connected to mobile broadband connection '%s'"
msgstr "Połączono z siecią komórkową \"%s\"" msgstr "Połączono z siecią komórkową \"%s\""
#: ../js/ui/status/network.js:1848 #: ../js/ui/status/network.js:1894
#, c-format #, c-format
msgid "You're now connected to wireless network '%s'" msgid "You're now connected to wireless network '%s'"
msgstr "Połączono z siecią bezprzewodową \"%s\"" msgstr "Połączono z siecią bezprzewodową \"%s\""
#: ../js/ui/status/network.js:1852 #: ../js/ui/status/network.js:1898
#, c-format #, c-format
msgid "You're now connected to wired network '%s'" msgid "You're now connected to wired network '%s'"
msgstr "Połączono z siecią przewodową \"%s\"" msgstr "Połączono z siecią przewodową \"%s\""
#: ../js/ui/status/network.js:1856 #: ../js/ui/status/network.js:1902
#, c-format #, c-format
msgid "You're now connected to VPN network '%s'" msgid "You're now connected to VPN network '%s'"
msgstr "Połączono z siecią VPN \"%s\"" msgstr "Połączono z siecią VPN \"%s\""
#: ../js/ui/status/network.js:1861 #: ../js/ui/status/network.js:1907
#, c-format #, c-format
msgid "You're now connected to '%s'" msgid "You're now connected to '%s'"
msgstr "Połączono z siecią \"%s\"" msgstr "Połączono z siecią \"%s\""
#: ../js/ui/status/network.js:1869 #: ../js/ui/status/network.js:1915
msgid "Connection established" msgid "Connection established"
msgstr "Nawiązano połączenie" msgstr "Nawiązano połączenie"
#: ../js/ui/status/network.js:1991 #: ../js/ui/status/network.js:2041
msgid "Networking is disabled" msgid "Networking is disabled"
msgstr "Sieć jest wyłączona" msgstr "Sieć jest wyłączona"
#: ../js/ui/status/network.js:2116 #: ../js/ui/status/network.js:2166
msgid "Network Manager" msgid "Network Manager"
msgstr "Menedżer sieci" msgstr "Menedżer sieci"
@ -1076,22 +1076,22 @@ msgstr "Głośność"
msgid "Microphone" msgid "Microphone"
msgstr "Mikrofon" msgstr "Mikrofon"
#: ../js/ui/telepathyClient.js:331 #: ../js/ui/telepathyClient.js:335
#, c-format #, c-format
msgid "%s is online." msgid "%s is online."
msgstr "Użytkownik %s jest online." msgstr "Użytkownik %s jest w trybie online."
#: ../js/ui/telepathyClient.js:336 #: ../js/ui/telepathyClient.js:340
#, c-format #, c-format
msgid "%s is offline." msgid "%s is offline."
msgstr "Użytkownik %s jest offline." msgstr "Użytkownik %s jest w trybie offline."
#: ../js/ui/telepathyClient.js:339 #: ../js/ui/telepathyClient.js:343
#, c-format #, c-format
msgid "%s is away." msgid "%s is away."
msgstr "Użytkownik %s jest nieobecny." msgstr "Użytkownik %s jest nieobecny."
#: ../js/ui/telepathyClient.js:342 #: ../js/ui/telepathyClient.js:346
#, c-format #, c-format
msgid "%s is busy." msgid "%s is busy."
msgstr "Użytkownik %s jest zajęty." msgstr "Użytkownik %s jest zajęty."
@ -1099,7 +1099,7 @@ msgstr "Użytkownik %s jest zajęty."
#. Translators: this is a time format string followed by a date. #. Translators: this is a time format string followed by a date.
#. If applicable, replace %X with a strftime format valid for your #. If applicable, replace %X with a strftime format valid for your
#. locale, without seconds. #. locale, without seconds.
#: ../js/ui/telepathyClient.js:473 #: ../js/ui/telepathyClient.js:484
#, no-c-format #, no-c-format
msgid "Sent at %X on %A" msgid "Sent at %X on %A"
msgstr "Wysłano o %H:%M w dniu %e %b" msgstr "Wysłano o %H:%M w dniu %e %b"
@ -1150,7 +1150,7 @@ msgstr[2] "%u wejść"
msgid "System Sounds" msgid "System Sounds"
msgstr "Dźwięki systemowe" msgstr "Dźwięki systemowe"
#: ../src/main.c:446 #: ../src/main.c:445
msgid "Print version" msgid "Print version"
msgstr "Wyświetla wersję" msgstr "Wyświetla wersję"

1262
po/sk.po Normal file

File diff suppressed because it is too large Load Diff

134
po/sv.po
View File

@ -7,8 +7,8 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: gnome-shell\n" "Project-Id-Version: gnome-shell\n"
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2011-03-25 22:15+0100\n" "POT-Creation-Date: 2011-04-26 23:10+0200\n"
"PO-Revision-Date: 2011-03-25 22:15+0100\n" "PO-Revision-Date: 2011-04-26 23:10+0100\n"
"Last-Translator: Daniel Nylander <po@danielnylander.se>\n" "Last-Translator: Daniel Nylander <po@danielnylander.se>\n"
"Language-Team: Swedish <tp-sv@listor.tp-sv.se>\n" "Language-Team: Swedish <tp-sv@listor.tp-sv.se>\n"
"Language: sv\n" "Language: sv\n"
@ -134,27 +134,27 @@ msgid "Execution of '%s' failed:"
msgstr "Körning av \"%s\" misslyckades:" msgstr "Körning av \"%s\" misslyckades:"
#. Translators: Filter to display all applications #. Translators: Filter to display all applications
#: ../js/ui/appDisplay.js:230 #: ../js/ui/appDisplay.js:260
msgid "All" msgid "All"
msgstr "Alla" msgstr "Alla"
#: ../js/ui/appDisplay.js:328 #: ../js/ui/appDisplay.js:359
msgid "APPLICATIONS" msgid "APPLICATIONS"
msgstr "PROGRAM" msgstr "PROGRAM"
#: ../js/ui/appDisplay.js:354 #: ../js/ui/appDisplay.js:385
msgid "SETTINGS" msgid "SETTINGS"
msgstr "INSTÄLLNINGAR" msgstr "INSTÄLLNINGAR"
#: ../js/ui/appDisplay.js:625 #: ../js/ui/appDisplay.js:656
msgid "New Window" msgid "New Window"
msgstr "Nytt fönster" msgstr "Nytt fönster"
#: ../js/ui/appDisplay.js:628 #: ../js/ui/appDisplay.js:659
msgid "Remove from Favorites" msgid "Remove from Favorites"
msgstr "Ta bort från favoriter" msgstr "Ta bort från favoriter"
#: ../js/ui/appDisplay.js:629 #: ../js/ui/appDisplay.js:660
msgid "Add to Favorites" msgid "Add to Favorites"
msgstr "Lägg till som favorit" msgstr "Lägg till som favorit"
@ -186,7 +186,7 @@ msgstr "%H.%M"
#: ../js/ui/calendar.js:78 #: ../js/ui/calendar.js:78
msgctxt "event list time" msgctxt "event list time"
msgid "%l:%M %p" msgid "%l:%M %p"
msgstr "%l.%M %p" msgstr "%I.%M %p"
#. Translators: Calendar grid abbreviation for Sunday. #. Translators: Calendar grid abbreviation for Sunday.
#. * #. *
@ -288,12 +288,14 @@ msgstr "Ingenting i schemat"
#. Translators: Shown on calendar heading when selected day occurs on current year #. Translators: Shown on calendar heading when selected day occurs on current year
#: ../js/ui/calendar.js:720 #: ../js/ui/calendar.js:720
#: ../js/ui/telepathyClient.js:492
msgctxt "calendar heading" msgctxt "calendar heading"
msgid "%A, %B %d" msgid "%A, %B %d"
msgstr "%A, %d %B" msgstr "%A, %d %B"
#. Translators: Shown on calendar heading when selected day occurs on different year #. Translators: Shown on calendar heading when selected day occurs on different year
#: ../js/ui/calendar.js:723 #: ../js/ui/calendar.js:723
#: ../js/ui/telepathyClient.js:495
msgctxt "calendar heading" msgctxt "calendar heading"
msgid "%A, %B %d, %Y" msgid "%A, %B %d, %Y"
msgstr "%A, %d %B, %Y" msgstr "%A, %d %B, %Y"
@ -304,7 +306,7 @@ msgstr "Idag"
#: ../js/ui/calendar.js:737 #: ../js/ui/calendar.js:737
msgid "Tomorrow" msgid "Tomorrow"
msgstr "Igår" msgstr "Imorgon"
#: ../js/ui/calendar.js:746 #: ../js/ui/calendar.js:746
msgid "This week" msgid "This week"
@ -315,7 +317,7 @@ msgid "Next week"
msgstr "Nästa vecka" msgstr "Nästa vecka"
#: ../js/ui/dash.js:174 #: ../js/ui/dash.js:174
#: ../js/ui/messageTray.js:994 #: ../js/ui/messageTray.js:1037
msgid "Remove" msgid "Remove"
msgstr "Ta bort" msgstr "Ta bort"
@ -351,21 +353,21 @@ msgstr "%a %R"
#. for AM/PM. #. for AM/PM.
#: ../js/ui/dateMenu.js:177 #: ../js/ui/dateMenu.js:177
msgid "%a %b %e, %l:%M:%S %p" msgid "%a %b %e, %l:%M:%S %p"
msgstr "%a %e %b, %H.%M.%S" msgstr "%a %e %b, %I.%M.%S %p"
#: ../js/ui/dateMenu.js:178 #: ../js/ui/dateMenu.js:178
msgid "%a %b %e, %l:%M %p" msgid "%a %b %e, %l:%M %p"
msgstr "%a %e %b, %H.%M" msgstr "%a %e %b, %I.%M %p"
#. Translators: This is a time format without date used #. Translators: This is a time format without date used
#. for AM/PM. #. for AM/PM.
#: ../js/ui/dateMenu.js:182 #: ../js/ui/dateMenu.js:182
msgid "%a %l:%M:%S %p" msgid "%a %l:%M:%S %p"
msgstr "%a %H.%M.%S" msgstr "%a %I.%M.%S %p"
#: ../js/ui/dateMenu.js:183 #: ../js/ui/dateMenu.js:183
msgid "%a %l:%M %p" msgid "%a %l:%M %p"
msgstr "%a %H.%M" msgstr "%a %I.%M %p"
#. Translators: This is the date format to use when the calendar popup is #. Translators: This is the date format to use when the calendar popup is
#. * shown - it is shown just below the time in the shell (e.g. "Tue 9:29 AM"). #. * shown - it is shown just below the time in the shell (e.g. "Tue 9:29 AM").
@ -443,7 +445,7 @@ msgstr "Systemet kommer att startas om automatiskt om %d sekunder."
msgid "Restarting the system." msgid "Restarting the system."
msgstr "Starta om systemet." msgstr "Starta om systemet."
#: ../js/ui/endSessionDialog.js:415 #: ../js/ui/endSessionDialog.js:413
#: ../js/ui/polkitAuthenticationAgent.js:172 #: ../js/ui/polkitAuthenticationAgent.js:172
#: ../js/ui/status/bluetooth.js:466 #: ../js/ui/status/bluetooth.js:466
msgid "Cancel" msgid "Cancel"
@ -480,11 +482,11 @@ msgstr "Visa källa"
msgid "Web Page" msgid "Web Page"
msgstr "Webbsida" msgstr "Webbsida"
#: ../js/ui/messageTray.js:987 #: ../js/ui/messageTray.js:1030
msgid "Open" msgid "Open"
msgstr "Öppna" msgstr "Öppna"
#: ../js/ui/messageTray.js:2145 #: ../js/ui/messageTray.js:2194
msgid "System Information" msgid "System Information"
msgstr "Systeminformation" msgstr "Systeminformation"
@ -507,18 +509,18 @@ msgid "Dash"
msgstr "Favoriter" msgstr "Favoriter"
#. TODO - _quit() doesn't really work on apps in state STARTING yet #. TODO - _quit() doesn't really work on apps in state STARTING yet
#: ../js/ui/panel.js:515 #: ../js/ui/panel.js:533
#, c-format #, c-format
msgid "Quit %s" msgid "Quit %s"
msgstr "Avsluta %s" msgstr "Avsluta %s"
#. Button on the left side of the panel. #. 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". #. Translators: If there is no suitable word for "Activities" in your language, you can use the word for "Overview".
#: ../js/ui/panel.js:878 #: ../js/ui/panel.js:911
msgid "Activities" msgid "Activities"
msgstr "Aktiviteter" msgstr "Aktiviteter"
#: ../js/ui/panel.js:979 #: ../js/ui/panel.js:1012
msgid "Top Bar" msgid "Top Bar"
msgstr "Övre rad" msgstr "Övre rad"
@ -551,11 +553,15 @@ msgstr "Administratör"
msgid "Authenticate" msgid "Authenticate"
msgstr "Autentisera" msgstr "Autentisera"
#: ../js/ui/polkitAuthenticationAgent.js:260 #. Translators: "that didn't work" refers to the fact that the
#. * requested authentication was not gained; this can happen
#. * because of an authentication error (like invalid password),
#. * for instance.
#: ../js/ui/polkitAuthenticationAgent.js:264
msgid "Sorry, that didn't work. Please try again." msgid "Sorry, that didn't work. Please try again."
msgstr "Tyvärr, det fungerade inte. Försök igen." msgstr "Tyvärr, det fungerade inte. Försök igen."
#: ../js/ui/polkitAuthenticationAgent.js:272 #: ../js/ui/polkitAuthenticationAgent.js:276
msgid "Password:" msgid "Password:"
msgstr "Lösenord:" msgstr "Lösenord:"
@ -572,11 +578,11 @@ msgstr "toggle-switch-intl"
msgid "Please enter a command:" msgid "Please enter a command:"
msgstr "Ange ett kommando:" msgstr "Ange ett kommando:"
#: ../js/ui/searchDisplay.js:310 #: ../js/ui/searchDisplay.js:311
msgid "Searching..." msgid "Searching..."
msgstr "Söker..." msgstr "Söker..."
#: ../js/ui/searchDisplay.js:324 #: ../js/ui/searchDisplay.js:325
msgid "No matching results." msgid "No matching results."
msgstr "Inga sökträffar." msgstr "Inga sökträffar."
@ -787,142 +793,142 @@ msgstr "Visa tangentbordslayout..."
msgid "Localization Settings" msgid "Localization Settings"
msgstr "Språkinställningar" msgstr "Språkinställningar"
#: ../js/ui/status/network.js:102 #: ../js/ui/status/network.js:109
#: ../js/ui/status/network.js:1437 #: ../js/ui/status/network.js:1501
msgid "<unknown>" msgid "<unknown>"
msgstr "<okänd>" msgstr "<okänd>"
#. Translators: this indicates that wireless or wwan is disabled by hardware killswitch #. Translators: this indicates that wireless or wwan is disabled by hardware killswitch
#: ../js/ui/status/network.js:295 #: ../js/ui/status/network.js:326
msgid "disabled" msgid "disabled"
msgstr "inaktiverad" msgstr "inaktiverad"
#: ../js/ui/status/network.js:478 #: ../js/ui/status/network.js:524
msgid "connecting..." msgid "connecting..."
msgstr "ansluter..." msgstr "ansluter..."
#. Translators: this is for network connections that require some kind of key or password #. Translators: this is for network connections that require some kind of key or password
#: ../js/ui/status/network.js:481 #: ../js/ui/status/network.js:527
msgid "authentication required" msgid "authentication required"
msgstr "autentisering krävs" msgstr "autentisering krävs"
#. Translators: this is for devices that require some kind of firmware or kernel #. Translators: this is for devices that require some kind of firmware or kernel
#. module, which is missing #. module, which is missing
#: ../js/ui/status/network.js:491 #: ../js/ui/status/network.js:537
msgid "firmware missing" msgid "firmware missing"
msgstr "fast programvara saknas" msgstr "fast programvara saknas"
#. Translators: this is for wired network devices that are physically disconnected #. Translators: this is for wired network devices that are physically disconnected
#: ../js/ui/status/network.js:498 #: ../js/ui/status/network.js:544
msgid "cable unplugged" msgid "cable unplugged"
msgstr "kabeln är inte ansluten" msgstr "kabeln är inte ansluten"
#. Translators: this is for a network device that cannot be activated (for example it #. Translators: this is for a network device that cannot be activated (for example it
#. is disabled by rfkill, or it has no coverage #. is disabled by rfkill, or it has no coverage
#: ../js/ui/status/network.js:503 #: ../js/ui/status/network.js:549
msgid "unavailable" msgid "unavailable"
msgstr "inte tillgänglig" msgstr "inte tillgänglig"
#: ../js/ui/status/network.js:505 #: ../js/ui/status/network.js:551
msgid "connection failed" msgid "connection failed"
msgstr "anslutningen misslyckades" msgstr "anslutningen misslyckades"
#. TRANSLATORS: this is the indication that a connection for another logged in user is active, #. TRANSLATORS: this is the indication that a connection for another logged in user is active,
#. and we cannot access its settings (including the name) #. and we cannot access its settings (including the name)
#: ../js/ui/status/network.js:585 #: ../js/ui/status/network.js:631
#: ../js/ui/status/network.js:1385 #: ../js/ui/status/network.js:1449
msgid "Connected (private)" msgid "Connected (private)"
msgstr "Ansluten (privat)" msgstr "Ansluten (privat)"
#: ../js/ui/status/network.js:666 #: ../js/ui/status/network.js:716
msgid "Auto Ethernet" msgid "Auto Ethernet"
msgstr "Automatiskt ethernet" msgstr "Automatiskt ethernet"
#: ../js/ui/status/network.js:741 #: ../js/ui/status/network.js:791
msgid "Auto broadband" msgid "Auto broadband"
msgstr "Automatiskt bredband" msgstr "Automatiskt bredband"
#: ../js/ui/status/network.js:744 #: ../js/ui/status/network.js:794
msgid "Auto dial-up" msgid "Auto dial-up"
msgstr "Automatiskt uppringt nätverk" msgstr "Automatiskt uppringt nätverk"
#. TRANSLATORS: this the automatic wireless connection name (including the network name) #. TRANSLATORS: this the automatic wireless connection name (including the network name)
#: ../js/ui/status/network.js:887 #: ../js/ui/status/network.js:940
#: ../js/ui/status/network.js:1397 #: ../js/ui/status/network.js:1461
#, c-format #, c-format
msgid "Auto %s" msgid "Auto %s"
msgstr "Automatiskt %s" msgstr "Automatiskt %s"
#: ../js/ui/status/network.js:889 #: ../js/ui/status/network.js:942
msgid "Auto bluetooth" msgid "Auto bluetooth"
msgstr "Automatisk Bluetooth" msgstr "Automatisk Bluetooth"
#: ../js/ui/status/network.js:1399 #: ../js/ui/status/network.js:1463
msgid "Auto wireless" msgid "Auto wireless"
msgstr "Automatiskt trådlöst nätverk" msgstr "Automatiskt trådlöst nätverk"
#: ../js/ui/status/network.js:1457 #: ../js/ui/status/network.js:1521
msgid "More..." msgid "More..."
msgstr "Mer..." msgstr "Mer..."
#: ../js/ui/status/network.js:1480 #: ../js/ui/status/network.js:1544
msgid "Enable networking" msgid "Enable networking"
msgstr "Aktivera nätverk" msgstr "Aktivera nätverk"
#: ../js/ui/status/network.js:1492 #: ../js/ui/status/network.js:1556
msgid "Wired" msgid "Wired"
msgstr "Trådbundet" msgstr "Trådbundet"
#: ../js/ui/status/network.js:1503 #: ../js/ui/status/network.js:1567
msgid "Wireless" msgid "Wireless"
msgstr "Trådlöst" msgstr "Trådlöst"
#: ../js/ui/status/network.js:1513 #: ../js/ui/status/network.js:1577
msgid "Mobile broadband" msgid "Mobile broadband"
msgstr "Mobilt bredband" msgstr "Mobilt bredband"
#: ../js/ui/status/network.js:1523 #: ../js/ui/status/network.js:1587
msgid "VPN Connections" msgid "VPN Connections"
msgstr "VPN-anslutningar" msgstr "VPN-anslutningar"
#: ../js/ui/status/network.js:1532 #: ../js/ui/status/network.js:1599
msgid "Network Settings" msgid "Network Settings"
msgstr "Nätverksinställningar" msgstr "Nätverksinställningar"
#: ../js/ui/status/network.js:1827 #: ../js/ui/status/network.js:1893
#, c-format #, c-format
msgid "You're now connected to mobile broadband connection '%s'" msgid "You're now connected to mobile broadband connection '%s'"
msgstr "Du är nu ansluten till mobila bredbandsanslutningen \"%s\"" msgstr "Du är nu ansluten till mobila bredbandsanslutningen \"%s\""
#: ../js/ui/status/network.js:1831 #: ../js/ui/status/network.js:1897
#, c-format #, c-format
msgid "You're now connected to wireless network '%s'" msgid "You're now connected to wireless network '%s'"
msgstr "Du är nu ansluten till trådlösa nätverket \"%s\"" msgstr "Du är nu ansluten till trådlösa nätverket \"%s\""
#: ../js/ui/status/network.js:1835 #: ../js/ui/status/network.js:1901
#, c-format #, c-format
msgid "You're now connected to wired network '%s'" msgid "You're now connected to wired network '%s'"
msgstr "Du är nu ansluten till trådbundna nätverket \"%s\"" msgstr "Du är nu ansluten till trådbundna nätverket \"%s\""
#: ../js/ui/status/network.js:1839 #: ../js/ui/status/network.js:1905
#, c-format #, c-format
msgid "You're now connected to VPN network '%s'" msgid "You're now connected to VPN network '%s'"
msgstr "Du är nu ansluten till VPN-nätverket \"%s\"" msgstr "Du är nu ansluten till VPN-nätverket \"%s\""
#: ../js/ui/status/network.js:1844 #: ../js/ui/status/network.js:1910
#, c-format #, c-format
msgid "You're now connected to '%s'" msgid "You're now connected to '%s'"
msgstr "Du är nu ansluten till \"%s\"" msgstr "Du är nu ansluten till \"%s\""
#: ../js/ui/status/network.js:1852 #: ../js/ui/status/network.js:1918
msgid "Connection established" msgid "Connection established"
msgstr "Anslutningen etablerad" msgstr "Anslutningen etablerad"
#: ../js/ui/status/network.js:1974 #: ../js/ui/status/network.js:2044
msgid "Networking is disabled" msgid "Networking is disabled"
msgstr "Nätverk är inaktiverat" msgstr "Nätverk är inaktiverat"
#: ../js/ui/status/network.js:2099 #: ../js/ui/status/network.js:2169
msgid "Network Manager" msgid "Network Manager"
msgstr "Nätverkshanterare" msgstr "Nätverkshanterare"
@ -1025,22 +1031,22 @@ msgstr "Volym"
msgid "Microphone" msgid "Microphone"
msgstr "Mikrofon" msgstr "Mikrofon"
#: ../js/ui/telepathyClient.js:332 #: ../js/ui/telepathyClient.js:335
#, c-format #, c-format
msgid "%s is online." msgid "%s is online."
msgstr "%s är ansluten." msgstr "%s är ansluten."
#: ../js/ui/telepathyClient.js:337 #: ../js/ui/telepathyClient.js:340
#, c-format #, c-format
msgid "%s is offline." msgid "%s is offline."
msgstr "%s är frånkopplad." msgstr "%s är frånkopplad."
#: ../js/ui/telepathyClient.js:340 #: ../js/ui/telepathyClient.js:343
#, c-format #, c-format
msgid "%s is away." msgid "%s is away."
msgstr "%s är frånvarande." msgstr "%s är frånvarande."
#: ../js/ui/telepathyClient.js:343 #: ../js/ui/telepathyClient.js:346
#, c-format #, c-format
msgid "%s is busy." msgid "%s is busy."
msgstr "%s är upptagen." msgstr "%s är upptagen."
@ -1048,7 +1054,7 @@ msgstr "%s är upptagen."
#. Translators: this is a time format string followed by a date. #. Translators: this is a time format string followed by a date.
#. If applicable, replace %X with a strftime format valid for your #. If applicable, replace %X with a strftime format valid for your
#. locale, without seconds. #. locale, without seconds.
#: ../js/ui/telepathyClient.js:474 #: ../js/ui/telepathyClient.js:484
#, no-c-format #, no-c-format
msgid "Sent at %X on %A" msgid "Sent at %X on %A"
msgstr "Skickades klockan %X på %A" msgstr "Skickades klockan %X på %A"
@ -1098,7 +1104,7 @@ msgstr[1] "%u ingångar"
msgid "System Sounds" msgid "System Sounds"
msgstr "Systemljud" msgstr "Systemljud"
#: ../src/main.c:446 #: ../src/main.c:445
msgid "Print version" msgid "Print version"
msgstr "Skriv ut version" msgstr "Skriv ut version"

1410
po/th.po

File diff suppressed because it is too large Load Diff

1242
po/tr.po

File diff suppressed because it is too large Load Diff

309
po/ug.po
View File

@ -1,19 +1,20 @@
# Uyghur translation for gnome-shell. # Uyghur translation for gnome-shell.
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
# This file is distributed under the same license as the PACKAGE package. # This file is distributed under the same license as the PACKAGE package.
# Gheyret Kenji<gheyret@yahoo.com>,2010. # Gheyret Kenji<gheyret@yahoo.com>,2010.
# Sahran <sahran.ug@gmail.com>, 2010. # Sahran <sahran.ug@gmail.com>, 2010.
# Zeper <zeper@msn.com>, 2010. # Zeper <zeper@msn.com>, 2010.
# Bakhtiyar<bakhtiyar108@gmail.com>, 2011 # Bakhtiyar<bakhtiyar108@gmail.com>, 2011
# Oghlan Temkin <temkin119@gmail.com>,2011 # Oghlan Temkin <temkin119@gmail.com>,2011
# #
msgid "" msgid ""
msgstr "" msgstr ""
"Project-Id-Version: gnome-shell\n" "Project-Id-Version: gnome-shell\n"
"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug.cgi?product=gnome-shell&keywords=I18N+L10N&component=general\n" "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug.cgi?product=gnome-"
"POT-Creation-Date: 2011-03-24 08:03+0000\n" "shell&keywords=I18N+L10N&component=general\n"
"PO-Revision-Date: 2010-11-25 14:28+0600\n" "POT-Creation-Date: 2011-05-02 05:27+0000\n"
"Last-Translator: Oghlan Temkin <temkin119@gmail.com>\n" "PO-Revision-Date: 2011-04-27 11:38+0600\n"
"Last-Translator: Sahran <sahran.ug@gmail.com>\n"
"Language-Team: Uyghur Computer Science Association <UKIJ@yahoogroups.com>\n" "Language-Team: Uyghur Computer Science Association <UKIJ@yahoogroups.com>\n"
"MIME-Version: 1.0\n" "MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n" "Content-Type: text/plain; charset=UTF-8\n"
@ -32,34 +33,41 @@ msgstr "كۆزنەك باشقۇرۇش ۋە پروگرامما ئىجرا قىل
msgid "" msgid ""
"Allows access to internal debugging and monitoring tools using the Alt-F2 " "Allows access to internal debugging and monitoring tools using the Alt-F2 "
"dialog." "dialog."
msgstr "ئىچكى سازلاش ۋە كۆزىتىش قورالىنى زىيارەت قىلىشتا Alt-F2 ئىشلىتىشكە ئىجازەت." msgstr ""
"ئىچكى سازلاش ۋە كۆزىتىش قورالىنى زىيارەت قىلىشتا Alt-F2 ئىشلىتىشكە ئىجازەت."
#: ../data/org.gnome.shell.gschema.xml.in.h:2 #: ../data/org.gnome.shell.gschema.xml.in.h:2
msgid "Enable internal tools useful for developers and testers from Alt-F2" msgid "Enable internal tools useful for developers and testers from Alt-F2"
msgstr "ئىچكى قورال قوزغىتىلسا ئىجادكارلار ۋە سىنىغۇچىلارنىڭ Alt-F2 ئارقىلىق كىرىشىگە قۇلايلىق" msgstr ""
"ئىچكى قورال قوزغىتىلسا ئىجادكارلار ۋە سىنىغۇچىلارنىڭ Alt-F2 ئارقىلىق "
"كىرىشىگە قۇلايلىق"
#: ../data/org.gnome.shell.gschema.xml.in.h:3 #: ../data/org.gnome.shell.gschema.xml.in.h:3
msgid "File extension used for storing the screencast" msgid "File extension used for storing the screencast"
msgstr "ئېكران كەسمىسى (screencasts) ساقلاشتا ئىشلىتىلىدىغان ھۆججەتنىڭ كېڭەيتىلگەن ئاتى" msgstr ""
"ئېكران كەسمىسى (screencasts) ساقلاشتا ئىشلىتىلىدىغان ھۆججەتنىڭ كېڭەيتىلگەن "
"ئاتى"
#: ../data/org.gnome.shell.gschema.xml.in.h:4 #: ../data/org.gnome.shell.gschema.xml.in.h:4
msgid "Framerate used for recording screencasts." msgid "Framerate used for recording screencasts."
msgstr "ئېكران كەسمىسى (screencasts) خاتىرىلەشتە ئىشلىتىلىدىغان كاندۇك تېزلىكى." msgstr ""
"ئېكران كەسمىسى (screencasts) خاتىرىلەشتە ئىشلىتىلىدىغان كاندۇك تېزلىكى."
#: ../data/org.gnome.shell.gschema.xml.in.h:5 #: ../data/org.gnome.shell.gschema.xml.in.h:5
msgid "" msgid ""
"GNOME Shell extensions have a uuid property; this key lists extensions which " "GNOME Shell extensions have a uuid property; this key lists extensions which "
"should not be loaded." "should not be loaded."
msgstr "GNOME Shell كېڭەيتىلمىسىنىڭ uuid خاسلىقى بار؛ بۇ كۇنۇپكا يۈكلەنمەيدىغان كېڭەيتىلمىلەر تىزىملىكىنى كۆرسىتىدۇ." msgstr ""
"GNOME Shell كېڭەيتىلمىسىنىڭ uuid خاسلىقى بار؛ بۇ كۇنۇپكا يۈكلەنمەيدىغان "
"كېڭەيتىلمىلەر تىزىمىنى كۆرسىتىدۇ."
#: ../data/org.gnome.shell.gschema.xml.in.h:6 #: ../data/org.gnome.shell.gschema.xml.in.h:6
msgid "History for command (Alt-F2) dialog" msgid "History for command (Alt-F2) dialog"
msgstr "بۇيرۇق (Alt-F2) سۆزلەشكۈنىڭ تارىخى" msgstr "بۇيرۇق (Alt-F2) سۆزلەشكۈنىڭ تارىخى"
#: ../data/org.gnome.shell.gschema.xml.in.h:7 #: ../data/org.gnome.shell.gschema.xml.in.h:7
#| msgid "History for command (Alt-F2) dialog"
msgid "History for the looking glass dialog" msgid "History for the looking glass dialog"
msgstr "" msgstr "looking glass سۆزلەشكۈنىڭ تارىخى"
#: ../data/org.gnome.shell.gschema.xml.in.h:8 #: ../data/org.gnome.shell.gschema.xml.in.h:8
msgid "If true, display date in the clock, in addition to time." msgid "If true, display date in the clock, in addition to time."
@ -75,7 +83,7 @@ msgstr "ئەگەر راست(true) بولسا يىلنامىدىكى ISO ھەپت
#: ../data/org.gnome.shell.gschema.xml.in.h:11 #: ../data/org.gnome.shell.gschema.xml.in.h:11
msgid "List of desktop file IDs for favorite applications" msgid "List of desktop file IDs for favorite applications"
msgstr "ئامراق پروگراممىلارنىڭ ئۈستەلئۈستى ھۆججەت ID تىزىملىكى" msgstr "ئامراق پروگراممىلارنىڭ ئۈستەلئۈستى ھۆججەت ID تىزىمى"
#: ../data/org.gnome.shell.gschema.xml.in.h:13 #: ../data/org.gnome.shell.gschema.xml.in.h:13
#, no-c-format #, no-c-format
@ -90,7 +98,18 @@ msgid ""
"'videorate ! vp8enc quality=10 speed=2 threads=%T ! queue ! webmmux' and " "'videorate ! vp8enc quality=10 speed=2 threads=%T ! queue ! webmmux' and "
"records to WEBM using the VP8 codec. %T is used as a placeholder for a guess " "records to WEBM using the VP8 codec. %T is used as a placeholder for a guess "
"at the optimal thread count on the system." "at the optimal thread count on the system."
msgstr "ئۈن ئېلىشنى كودلاشتا ئىشلىتىلىدىغان GStreamer ئاقما لىنىيىنى تەڭشەيدۇ. ‫ئۇ gst-launch گرامماتىكىسىغا بوي سۇنىدۇ. ‫بۇ ئاقما لىنىيىدە ئۇلانمىغان sink pad بولۇشى لازىم، خاتىرىلىنىدىغان سىن مۇشۇ جايدا خاتىرىلىنىدۇ. ‫بۇ لىنىيىدە ئادەتتە يەنە بىر ئۇلانمىغان مەنبە pad بولىدۇ؛ بۇ pad چىقارغان ئۇچۇرلار ھۆججەتكە يېزىلىدۇ. ‫ئەمما ئاقما لىنىيە ئۆزىنىڭ چىقىرىشىنى بىر تەرەپ قىلالايدۇ، بۇنداق بولغاندا shout2send ئارقىلىق ياكى شۇنىڭغا ئوخشاش ئۇسۇلدا چىقىرىشنى icecast مۇلازىمېتىرىغا يوللايدۇ. ‫ئاقما لىنىيە تەڭشەلمىگەن ياكى بوش قىممەتكە تەڭشەلگەندە كۆڭۈلدىكى ئاقما لىنىيە قوزغىتىلىدۇ. ‫ئۇنىڭ نۆۋەتتىكى قىممىتى 'videorate ! vp8enc سۈپەت=10 سۈرەت=2 سىزىقلار=%T ! قاتار! webmmux' ۋە WEBM گە خاتىرىلەنگەنلەر VP8 كودىنى ئىشلىتىدۇ. T% بولسا سىستېمىنىڭ ئەڭ ياخشى سىزىق ئېلىپبەسىنى ھېسابلايدىغان ئورۇن بەلگىسى" msgstr ""
"ئۈن ئېلىشنى كودلاشتا ئىشلىتىلىدىغان GStreamer ئاقما لىنىيىنى تەڭشەيدۇ. ‫ئۇ "
"gst-launch گرامماتىكىسىغا بوي سۇنىدۇ. ‫بۇ ئاقما لىنىيىدە ئۇلانمىغان sink pad "
"بولۇشى لازىم، خاتىرىلىنىدىغان سىن مۇشۇ جايدا خاتىرىلىنىدۇ. ‫بۇ لىنىيىدە "
"ئادەتتە يەنە بىر ئۇلانمىغان مەنبە pad بولىدۇ؛ بۇ pad چىقارغان ئۇچۇرلار "
"ھۆججەتكە يېزىلىدۇ. ‫ئەمما ئاقما لىنىيە ئۆزىنىڭ چىقىرىشىنى بىر تەرەپ "
"قىلالايدۇ، بۇنداق بولغاندا shout2send ئارقىلىق ياكى شۇنىڭغا ئوخشاش ئۇسۇلدا "
"چىقىرىشنى icecast مۇلازىمېتىرىغا يوللايدۇ. ‫ئاقما لىنىيە تەڭشەلمىگەن ياكى بوش "
"قىممەتكە تەڭشەلگەندە كۆڭۈلدىكى ئاقما لىنىيە قوزغىتىلىدۇ. ‫ئۇنىڭ نۆۋەتتىكى "
"قىممىتى 'videorate ! vp8enc سۈپەت=10 سۈرەت=2 سىزىقلار=%T ! قاتار! webmmux' "
"ۋە WEBM گە خاتىرىلەنگەنلەر VP8 كودىنى ئىشلىتىدۇ. T% بولسا سىستېمىنىڭ ئەڭ "
"ياخشى سىزىق ئېلىپبەسىنى ھېسابلايدىغان ئورۇن بەلگىسى"
#: ../data/org.gnome.shell.gschema.xml.in.h:14 #: ../data/org.gnome.shell.gschema.xml.in.h:14
msgid "Show date in clock" msgid "Show date in clock"
@ -115,13 +134,18 @@ msgid ""
"The filename for recorded screencasts will be a unique filename based on the " "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 " "current date, and use this extension. It should be changed when recording to "
"a different container format." "a different container format."
msgstr "خاتىرىلەنگەن ئېكراننىڭ ھۆججەت ئاتى نۆۋەتتىكى چېسلا ئاساسىدا بىردىنبىر بولۇپ بۇ كېڭەيتىلگەن ئاتىنى ئىشلىتىدۇ. ئۇ ئۆزگەرسە ئوخشاش بولمىغان قاچا فورماتىدا خاتىرىلەيدۇ." msgstr ""
"خاتىرىلەنگەن ئېكراننىڭ ھۆججەت ئاتى نۆۋەتتىكى چېسلا ئاساسىدا بىردىنبىر بولۇپ "
"بۇ كېڭەيتىلگەن ئاتىنى ئىشلىتىدۇ. ئۇ ئۆزگەرسە ئوخشاش بولمىغان قاچا فورماتىدا "
"خاتىرىلەيدۇ."
#: ../data/org.gnome.shell.gschema.xml.in.h:19 #: ../data/org.gnome.shell.gschema.xml.in.h:19
msgid "" msgid ""
"The framerate of the resulting screencast recordered by GNOME Shell's " "The framerate of the resulting screencast recordered by GNOME Shell's "
"screencast recorder in frames-per-second." "screencast recorder in frames-per-second."
msgstr "GNOME Shell ئېكران خاتىرىلىگۈچ ھەر سېكۇنتتا خاتىرىلەيدىغان ئېكران كەسمىسى كاندۇك سۈرىتى(ھەر سېكۇنتتىكى كاندۇك سانى)." msgstr ""
"GNOME Shell ئېكران خاتىرىلىگۈچ ھەر سېكۇنتتا خاتىرىلەيدىغان ئېكران كەسمىسى "
"كاندۇك سۈرىتى(ھەر سېكۇنتتىكى كاندۇك سانى)."
#: ../data/org.gnome.shell.gschema.xml.in.h:20 #: ../data/org.gnome.shell.gschema.xml.in.h:20
msgid "The gstreamer pipeline used to encode the screencast" msgid "The gstreamer pipeline used to encode the screencast"
@ -133,7 +157,11 @@ msgid ""
"used ones (e.g. in launchers). While this data will be kept private, you may " "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 " "want to disable this for privacy reasons. Please note that doing so won't "
"remove already saved data." "remove already saved data."
msgstr "چاپان (shell) ئادەتتىكى ئەھۋالدا كۆپ ئىشلىتىلىدىغان ئاكتىپ پروگراممىلار(مەسىلەن، ئىجرا قىلىنىۋاتقان)نى كۆزىتىدۇ. گەرچە بۇ سانلىق مەلۇماتلار مەخپىي ساقلانسىمۇ، شەخسىي سىر سەۋەبىدىن بۇنى چەكلىشىڭىز مۇمكىن. دىققەت بۇنداق قىلغاندا ئاللىبۇرۇن ساقلانغان سانلىق مەلۇماتلار چىقىرىۋېتىلمەيدۇ." msgstr ""
"چاپان (shell) ئادەتتىكى ئەھۋالدا كۆپ ئىشلىتىلىدىغان ئاكتىپ پروگراممىلار"
"(مەسىلەن، ئىجرا قىلىنىۋاتقان)نى كۆزىتىدۇ. گەرچە بۇ سانلىق مەلۇماتلار مەخپىي "
"ساقلانسىمۇ، شەخسىي سىر سەۋەبىدىن بۇنى چەكلىشىڭىز مۇمكىن. دىققەت بۇنداق "
"قىلغاندا ئاللىبۇرۇن ساقلانغان سانلىق مەلۇماتلار چىقىرىۋېتىلمەيدۇ."
#: ../data/org.gnome.shell.gschema.xml.in.h:22 #: ../data/org.gnome.shell.gschema.xml.in.h:22
msgid "Uuids of extensions to disable" msgid "Uuids of extensions to disable"
@ -163,27 +191,27 @@ msgid "Execution of '%s' failed:"
msgstr "«%s» ئىجرا قىلىش مەغلۇپ بولدى:" msgstr "«%s» ئىجرا قىلىش مەغلۇپ بولدى:"
#. Translators: Filter to display all applications #. Translators: Filter to display all applications
#: ../js/ui/appDisplay.js:230 #: ../js/ui/appDisplay.js:260
msgid "All" msgid "All"
msgstr "ھەممىسى" msgstr "ھەممىسى"
#: ../js/ui/appDisplay.js:328 #: ../js/ui/appDisplay.js:359
msgid "APPLICATIONS" msgid "APPLICATIONS"
msgstr "پروگراممىلار" msgstr "پروگراممىلار"
#: ../js/ui/appDisplay.js:354 #: ../js/ui/appDisplay.js:385
msgid "SETTINGS" msgid "SETTINGS"
msgstr "" msgstr "تەڭشەكلەر"
#: ../js/ui/appDisplay.js:625 #: ../js/ui/appDisplay.js:656
msgid "New Window" msgid "New Window"
msgstr "يېڭى كۆزنەك" msgstr "يېڭى كۆزنەك"
#: ../js/ui/appDisplay.js:628 #: ../js/ui/appDisplay.js:659
msgid "Remove from Favorites" msgid "Remove from Favorites"
msgstr "يىغقۇچتىن چىقىرىۋەت" msgstr "يىغقۇچتىن چىقىرىۋەت"
#: ../js/ui/appDisplay.js:629 #: ../js/ui/appDisplay.js:660
msgid "Add to Favorites" msgid "Add to Favorites"
msgstr "يىغقۇچقا قوش" msgstr "يىغقۇچقا قوش"
@ -316,13 +344,13 @@ msgid "Nothing Scheduled"
msgstr "ھېچنېمە پىلانلانمىدى" msgstr "ھېچنېمە پىلانلانمىدى"
#. Translators: Shown on calendar heading when selected day occurs on current year #. Translators: Shown on calendar heading when selected day occurs on current year
#: ../js/ui/calendar.js:720 #: ../js/ui/calendar.js:720 ../js/ui/telepathyClient.js:492
msgctxt "calendar heading" msgctxt "calendar heading"
msgid "%A, %B %d" msgid "%A, %B %d"
msgstr "%A، %B %d" msgstr "%A، %B %d"
#. Translators: Shown on calendar heading when selected day occurs on different year #. Translators: Shown on calendar heading when selected day occurs on different year
#: ../js/ui/calendar.js:723 #: ../js/ui/calendar.js:723 ../js/ui/telepathyClient.js:495
msgctxt "calendar heading" msgctxt "calendar heading"
msgid "%A, %B %d, %Y" msgid "%A, %B %d, %Y"
msgstr "%A، %B %d، %Y" msgstr "%A، %B %d، %Y"
@ -343,7 +371,7 @@ msgstr "بۇ ھەپتە"
msgid "Next week" msgid "Next week"
msgstr "كېيىنكى ھەپتە" msgstr "كېيىنكى ھەپتە"
#: ../js/ui/dash.js:174 ../js/ui/messageTray.js:994 #: ../js/ui/dash.js:174 ../js/ui/messageTray.js:1037
msgid "Remove" msgid "Remove"
msgstr "چىقىرىۋەت" msgstr "چىقىرىۋەت"
@ -393,7 +421,7 @@ msgstr "%a %l:%M:%S %p"
#: ../js/ui/dateMenu.js:183 #: ../js/ui/dateMenu.js:183
msgid "%a %l:%M %p" msgid "%a %l:%M %p"
msgstr "%p%l:%M (%a)" msgstr "%a %l:%M"
#. Translators: This is the date format to use when the calendar popup is #. Translators: This is the date format to use when the calendar popup is
#. * shown - it is shown just below the time in the shell (e.g. "Tue 9:29 AM"). #. * shown - it is shown just below the time in the shell (e.g. "Tue 9:29 AM").
@ -417,7 +445,9 @@ msgstr "تىزىمدىن چىق"
#: ../js/ui/endSessionDialog.js:65 #: ../js/ui/endSessionDialog.js:65
msgid "Click Log Out to quit these applications and log out of the system." msgid "Click Log Out to quit these applications and log out of the system."
msgstr "تىزىمدىن چىقىش (Log Out) نى بېسىپ پروگراممىدىن چېكىنىش ۋە سىستېما تىزىمىدىن چىقىش." msgstr ""
"تىزىمدىن چىقىش (Log Out) نى بېسىپ پروگراممىدىن چېكىنىش ۋە سىستېما تىزىمىدىن "
"چىقىش."
#: ../js/ui/endSessionDialog.js:66 #: ../js/ui/endSessionDialog.js:66
#, c-format #, c-format
@ -435,23 +465,21 @@ msgstr "سىستېما تىزىمدىن چىقىۋاتىدۇ"
#: ../js/ui/endSessionDialog.js:75 ../js/ui/endSessionDialog.js:82 #: ../js/ui/endSessionDialog.js:75 ../js/ui/endSessionDialog.js:82
msgid "Power Off" msgid "Power Off"
msgstr "" msgstr "توكنى ئۈز"
#: ../js/ui/endSessionDialog.js:76 #: ../js/ui/endSessionDialog.js:76
#| msgid "Click Log Out to quit these applications and log out of the system."
msgid "Click Power Off to quit these applications and power off the system." msgid "Click Power Off to quit these applications and power off the system."
msgstr "" msgstr ""
"تۈكنى ئۈز چېكىلسە قوللىنىشچان پروگراممىلاردىن چېكىنىپ سىستېمىنى تاقايدۇ."
#: ../js/ui/endSessionDialog.js:77 #: ../js/ui/endSessionDialog.js:77
#, c-format #, c-format
#| msgid "The system will restart automatically in %d seconds."
msgid "The system will power off automatically in %d seconds." msgid "The system will power off automatically in %d seconds."
msgstr "" msgstr "بۇ سىستېما %d سېكۇنتتىن كېيىن ئۆزلۈكىدىن تاقىلىدۇ."
#: ../js/ui/endSessionDialog.js:78 #: ../js/ui/endSessionDialog.js:78
#| msgid "Logging out of the system."
msgid "Powering off the system." msgid "Powering off the system."
msgstr "" msgstr "سىستېمىنى تاقاۋاتىدۇ."
#: ../js/ui/endSessionDialog.js:80 ../js/ui/endSessionDialog.js:88 #: ../js/ui/endSessionDialog.js:80 ../js/ui/endSessionDialog.js:88
#: ../js/ui/endSessionDialog.js:93 #: ../js/ui/endSessionDialog.js:93
@ -460,7 +488,9 @@ msgstr "قايتا قوزغات"
#: ../js/ui/endSessionDialog.js:89 #: ../js/ui/endSessionDialog.js:89
msgid "Click Restart to quit these applications and restart the system." msgid "Click Restart to quit these applications and restart the system."
msgstr "قايتا قوزغىتىش (restart) نى بېسىپ پروگراممىدىن چېكىنىش ۋە سىستېمىنى قايتا قوزغىتىش." msgstr ""
"قايتا قوزغات (restart) چېكىلسە پروگراممىدىن چېكىنىپ ۋە سىستېمىنى قايتا "
"قوزغىتىدۇ."
#: ../js/ui/endSessionDialog.js:90 #: ../js/ui/endSessionDialog.js:90
#, c-format #, c-format
@ -471,7 +501,7 @@ msgstr "بۇ سىستېما %d سېكۇنتتىن كېيىن ئۆزلۈكىدى
msgid "Restarting the system." msgid "Restarting the system."
msgstr "سىستېما قايتا قوزغىلىۋاتىدۇ." msgstr "سىستېما قايتا قوزغىلىۋاتىدۇ."
#: ../js/ui/endSessionDialog.js:415 ../js/ui/polkitAuthenticationAgent.js:172 #: ../js/ui/endSessionDialog.js:413 ../js/ui/polkitAuthenticationAgent.js:172
#: ../js/ui/status/bluetooth.js:466 #: ../js/ui/status/bluetooth.js:466
msgid "Cancel" msgid "Cancel"
msgstr "ۋاز كەچ" msgstr "ۋاز كەچ"
@ -506,11 +536,11 @@ msgstr "مەنبەنى كۆرسەت"
msgid "Web Page" msgid "Web Page"
msgstr "توربەت" msgstr "توربەت"
#: ../js/ui/messageTray.js:987 #: ../js/ui/messageTray.js:1030
msgid "Open" msgid "Open"
msgstr "ئاچ" msgstr "ئاچ"
#: ../js/ui/messageTray.js:2145 #: ../js/ui/messageTray.js:2194
msgid "System Information" msgid "System Information"
msgstr "سىستېما ئۇچۇرى" msgstr "سىستېما ئۇچۇرى"
@ -530,23 +560,23 @@ msgstr "پروگراممىلار"
#. the left of the overview #. the left of the overview
#: ../js/ui/overview.js:205 #: ../js/ui/overview.js:205
msgid "Dash" msgid "Dash"
msgstr "" msgstr "سىزىقچە"
#. TODO - _quit() doesn't really work on apps in state STARTING yet #. TODO - _quit() doesn't really work on apps in state STARTING yet
#: ../js/ui/panel.js:515 #: ../js/ui/panel.js:533
#, c-format #, c-format
msgid "Quit %s" msgid "Quit %s"
msgstr "%s چېكىن" msgstr "%s چېكىن"
#. Button on the left side of the panel. #. 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". #. Translators: If there is no suitable word for "Activities" in your language, you can use the word for "Overview".
#: ../js/ui/panel.js:878 #: ../js/ui/panel.js:911
msgid "Activities" msgid "Activities"
msgstr "پائالىيەتلەر" msgstr "پائالىيەتلەر"
#: ../js/ui/panel.js:979 #: ../js/ui/panel.js:1012
msgid "Top Bar" msgid "Top Bar"
msgstr "" msgstr "ئۈستى بالداق"
#: ../js/ui/placeDisplay.js:122 #: ../js/ui/placeDisplay.js:122
#, c-format #, c-format
@ -575,13 +605,17 @@ msgstr "باشقۇرغۇچى"
#: ../js/ui/polkitAuthenticationAgent.js:176 #: ../js/ui/polkitAuthenticationAgent.js:176
msgid "Authenticate" msgid "Authenticate"
msgstr "" msgstr "سالاھىيەت دەلىللەش"
#: ../js/ui/polkitAuthenticationAgent.js:260 #. Translators: "that didn't work" refers to the fact that the
#. * requested authentication was not gained; this can happen
#. * because of an authentication error (like invalid password),
#. * for instance.
#: ../js/ui/polkitAuthenticationAgent.js:264
msgid "Sorry, that didn't work. Please try again." msgid "Sorry, that didn't work. Please try again."
msgstr "" msgstr "كەچۈرۈڭ، خىزمەت قىلالمايدۇ. قايتا سىناڭ."
#: ../js/ui/polkitAuthenticationAgent.js:272 #: ../js/ui/polkitAuthenticationAgent.js:276
msgid "Password:" msgid "Password:"
msgstr "ئىم:" msgstr "ئىم:"
@ -598,17 +632,18 @@ msgstr "toggle-switch-us"
msgid "Please enter a command:" msgid "Please enter a command:"
msgstr "بۇيرۇق كىرگۈزۈڭ:" msgstr "بۇيرۇق كىرگۈزۈڭ:"
#: ../js/ui/searchDisplay.js:310 #: ../js/ui/searchDisplay.js:311
msgid "Searching..." msgid "Searching..."
msgstr "ئىزدەۋاتىدۇ..." msgstr "ئىزدەۋاتىدۇ"
#: ../js/ui/searchDisplay.js:324 #: ../js/ui/searchDisplay.js:325
msgid "No matching results." msgid "No matching results."
msgstr "ماس كېلىدىغان نەتىجە يوق." msgstr "ماس كېلىدىغان نەتىجە يوق."
#: ../js/ui/statusMenu.js:161 ../js/ui/statusMenu.js:228 #: ../js/ui/statusMenu.js:161 ../js/ui/statusMenu.js:163
#: ../js/ui/statusMenu.js:228
msgid "Power Off..." msgid "Power Off..."
msgstr "" msgstr "توكنى ئۈز…"
#: ../js/ui/statusMenu.js:163 ../js/ui/statusMenu.js:227 #: ../js/ui/statusMenu.js:163 ../js/ui/statusMenu.js:227
msgid "Suspend" msgid "Suspend"
@ -658,7 +693,7 @@ msgstr "كۆرۈنمە ئاگاھلاندۇرۇش"
#: ../js/ui/status/accessibility.js:80 #: ../js/ui/status/accessibility.js:80
msgid "Sticky Keys" msgid "Sticky Keys"
msgstr "Sticky Keys" msgstr "چاپلاش كۇنۇپكىسى"
#: ../js/ui/status/accessibility.js:83 #: ../js/ui/status/accessibility.js:83
msgid "Slow Keys" msgid "Slow Keys"
@ -666,11 +701,11 @@ msgstr "Slow Keys"
#: ../js/ui/status/accessibility.js:86 #: ../js/ui/status/accessibility.js:86
msgid "Bounce Keys" msgid "Bounce Keys"
msgstr "Bounce Keys" msgstr "قاڭقىش كۇنۇپكىسى"
#: ../js/ui/status/accessibility.js:89 #: ../js/ui/status/accessibility.js:89
msgid "Mouse Keys" msgid "Mouse Keys"
msgstr "Mouse Keys" msgstr "چاشقىنەك كۇنۇپكا"
#: ../js/ui/status/accessibility.js:93 #: ../js/ui/status/accessibility.js:93
msgid "Universal Access Settings" msgid "Universal Access Settings"
@ -774,7 +809,8 @@ msgstr "ئۈسكۈنە'%s' كومپيۇتېر بىلەن جۈپلەنمەكچى"
#: ../js/ui/status/bluetooth.js:415 #: ../js/ui/status/bluetooth.js:415
#, c-format #, c-format
msgid "Please confirm whether the PIN '%s' matches the one on the device." msgid "Please confirm whether the PIN '%s' matches the one on the device."
msgstr "سىز كىرگۈزگەن PIN '%s' نومۇرى ئۈسكىنىدىكىگە ئوخشايدىغانلىقىنى جەزملەڭ." msgstr ""
"سىز كىرگۈزگەن PIN '%s' نومۇرى ئۈسكىنىدىكىگە ئوخشايدىغانلىقىنى جەزملەڭ."
#: ../js/ui/status/bluetooth.js:417 #: ../js/ui/status/bluetooth.js:417
msgid "Matches" msgid "Matches"
@ -799,149 +835,145 @@ msgstr "جەزملە"
#: ../js/ui/status/keyboard.js:73 #: ../js/ui/status/keyboard.js:73
msgid "Show Keyboard Layout..." msgid "Show Keyboard Layout..."
msgstr "" msgstr "كۇنۇپكا تاختا ئورۇنلاشتۇرۇلۇشىنى كۆرسەت…"
#: ../js/ui/status/keyboard.js:76 #: ../js/ui/status/keyboard.js:76
msgid "Localization Settings" msgid "Localization Settings"
msgstr "يەرلىكلەشتۈرۈش تەڭشىكى" msgstr "يەرلىكلەشتۈرۈش تەڭشىكى"
#: ../js/ui/status/network.js:102 ../js/ui/status/network.js:1393 #: ../js/ui/status/network.js:109 ../js/ui/status/network.js:1501
#| msgid "Unknown"
msgid "<unknown>" msgid "<unknown>"
msgstr "" msgstr "<يوچۇن>"
#. Translators: this indicates that wireless or wwan is disabled by hardware killswitch #. Translators: this indicates that wireless or wwan is disabled by hardware killswitch
#: ../js/ui/status/network.js:295 #: ../js/ui/status/network.js:326
#| msgid "Disabled"
msgid "disabled" msgid "disabled"
msgstr "" msgstr "چەكلەنگەن"
#: ../js/ui/status/network.js:476 #: ../js/ui/status/network.js:524
#| msgid "Connection"
msgid "connecting..." msgid "connecting..."
msgstr "" msgstr "باغلىنىۋاتىدۇ…"
#. Translators: this is for network connections that require some kind of key or password #. Translators: this is for network connections that require some kind of key or password
#: ../js/ui/status/network.js:479 #: ../js/ui/status/network.js:527
msgid "authentication required" msgid "authentication required"
msgstr "" msgstr "سالاھىيەت دەلىللەش زۆرۈر"
#. Translators: this is for devices that require some kind of firmware or kernel
#. module, which is missing
#: ../js/ui/status/network.js:537
msgid "firmware missing"
msgstr "مۇقىم دېتال كەم"
#. Translators: this is for wired network devices that are physically disconnected #. Translators: this is for wired network devices that are physically disconnected
#: ../js/ui/status/network.js:485 #: ../js/ui/status/network.js:544
msgid "cable unplugged" msgid "cable unplugged"
msgstr "" msgstr "كابېل چېتىلمىدى"
#. Translators: this is for a network device that cannot be activated (for example it #. Translators: this is for a network device that cannot be activated (for example it
#. is disabled by rfkill, or it has no coverage #. is disabled by rfkill, or it has no coverage
#: ../js/ui/status/network.js:489 #: ../js/ui/status/network.js:549
#| msgid "Available"
msgid "unavailable" msgid "unavailable"
msgstr "" msgstr "ئىشلەتكىلى بولمايدۇ"
#: ../js/ui/status/network.js:491 #: ../js/ui/status/network.js:551
#| msgid "Connection"
msgid "connection failed" msgid "connection failed"
msgstr "" msgstr "باغلىنىش مەغلۇپ بولدى"
#. TRANSLATORS: this is the indication that a connection for another logged in user is active, #. TRANSLATORS: this is the indication that a connection for another logged in user is active,
#. and we cannot access its settings (including the name) #. and we cannot access its settings (including the name)
#: ../js/ui/status/network.js:571 ../js/ui/status/network.js:1341 #: ../js/ui/status/network.js:631 ../js/ui/status/network.js:1449
msgid "Connected (private)" msgid "Connected (private)"
msgstr "" msgstr "باغلاندى (شەخسىي)"
#: ../js/ui/status/network.js:636 #: ../js/ui/status/network.js:716
msgid "Auto Ethernet" msgid "Auto Ethernet"
msgstr "ئاپتوماتىك Ethernet" msgstr "ئاپتوماتىك Ethernet"
#: ../js/ui/status/network.js:697 #: ../js/ui/status/network.js:791
msgid "Auto broadband" msgid "Auto broadband"
msgstr "" msgstr "ئاپتوماتىك كۆچمە كەڭ بەلۋاغ"
#: ../js/ui/status/network.js:700 #: ../js/ui/status/network.js:794
msgid "Auto dial-up" msgid "Auto dial-up"
msgstr "" msgstr "ئاپتوماتىك نومۇر بۇرا"
#. TRANSLATORS: this the automatic wireless connection name (including the network name) #. TRANSLATORS: this the automatic wireless connection name (including the network name)
#: ../js/ui/status/network.js:843 ../js/ui/status/network.js:1353 #: ../js/ui/status/network.js:940 ../js/ui/status/network.js:1461
#, c-format #, c-format
#| msgid "Quit %s"
msgid "Auto %s" msgid "Auto %s"
msgstr "" msgstr "ئاپتوماتىك %s"
#: ../js/ui/status/network.js:845 #: ../js/ui/status/network.js:942
#| msgid "Bluetooth"
msgid "Auto bluetooth" msgid "Auto bluetooth"
msgstr "" msgstr "ئاپتوماتىك كۆكچىش"
#: ../js/ui/status/network.js:1355 #: ../js/ui/status/network.js:1463
msgid "Auto wireless" msgid "Auto wireless"
msgstr "" msgstr "ئاپتوماتىك سىمسىز تور"
#: ../js/ui/status/network.js:1413 #: ../js/ui/status/network.js:1521
msgid "More..." msgid "More..."
msgstr "تېخىمۇ كۆپ..." msgstr "تېخىمۇ كۆپ"
#: ../js/ui/status/network.js:1436 #: ../js/ui/status/network.js:1544
msgid "Enable networking" msgid "Enable networking"
msgstr "" msgstr "تور ئۇلاشنى قوزغات"
#: ../js/ui/status/network.js:1448 #: ../js/ui/status/network.js:1556
msgid "Wired" msgid "Wired"
msgstr "سىملىق" msgstr "سىملىق"
#: ../js/ui/status/network.js:1459 #: ../js/ui/status/network.js:1567
msgid "Wireless" msgid "Wireless"
msgstr "سىمسىز" msgstr "سىمسىز"
#: ../js/ui/status/network.js:1469 #: ../js/ui/status/network.js:1577
msgid "Mobile broadband" msgid "Mobile broadband"
msgstr "كۆچمە كەڭ بەلۋاغ" msgstr "كۆچمە كەڭ بەلۋاغ"
#: ../js/ui/status/network.js:1479 #: ../js/ui/status/network.js:1587
#| msgid "Connection"
msgid "VPN Connections" msgid "VPN Connections"
msgstr "" msgstr "VPN باغلىنىشلىرى"
#: ../js/ui/status/network.js:1488 #: ../js/ui/status/network.js:1599
#| msgid "Power Settings"
msgid "Network Settings" msgid "Network Settings"
msgstr "تور تەڭشەكلىرى" msgstr "تور تەڭشەكلىرى"
#: ../js/ui/status/network.js:1783 #: ../js/ui/status/network.js:1893
#, c-format #, c-format
msgid "You're now connected to mobile broadband connection '%s'" msgid "You're now connected to mobile broadband connection '%s'"
msgstr "" msgstr "ھازىر كۆچمە كەڭ بەلۋاغ '%s' غا باغلاندىڭىز"
#: ../js/ui/status/network.js:1787 #: ../js/ui/status/network.js:1897
#, c-format #, c-format
msgid "You're now connected to wireless network '%s'" msgid "You're now connected to wireless network '%s'"
msgstr "" msgstr "ھازىر سىمسىز تور '%s' غا باغلاندىڭىز"
#: ../js/ui/status/network.js:1791 #: ../js/ui/status/network.js:1901
#, c-format #, c-format
msgid "You're now connected to wired network '%s'" msgid "You're now connected to wired network '%s'"
msgstr "" msgstr "ھازىر سىملىق تور '%s' غا باغلاندىڭىز"
#: ../js/ui/status/network.js:1795 #: ../js/ui/status/network.js:1905
#, c-format #, c-format
msgid "You're now connected to VPN network '%s'" msgid "You're now connected to VPN network '%s'"
msgstr "" msgstr "ھازىر VPN تور '%s' غا باغلاندىڭىز"
#: ../js/ui/status/network.js:1800 #: ../js/ui/status/network.js:1910
#, c-format #, c-format
msgid "You're now connected to '%s'" msgid "You're now connected to '%s'"
msgstr "" msgstr "ھازىر '%s' غا باغلاندىڭىز"
#: ../js/ui/status/network.js:1808 #: ../js/ui/status/network.js:1918
#| msgid "Connection"
msgid "Connection established" msgid "Connection established"
msgstr "" msgstr "باغلىنىش تۇرغۇزۇلدى"
#: ../js/ui/status/network.js:1930 #: ../js/ui/status/network.js:2044
msgid "Networking is disabled" msgid "Networking is disabled"
msgstr "" msgstr "تورغا باغلىنىش چەكلەنگەن"
#: ../js/ui/status/network.js:2055 #: ../js/ui/status/network.js:2169
msgid "Network Manager" msgid "Network Manager"
msgstr "تور باشقۇرغۇچ" msgstr "تور باشقۇرغۇچ"
@ -953,7 +985,7 @@ msgstr "توك مەنبە تەڭشىكى"
#. to estimate battery life #. to estimate battery life
#: ../js/ui/status/power.js:111 #: ../js/ui/status/power.js:111
msgid "Estimating..." msgid "Estimating..."
msgstr "" msgstr "مۆلچەرلەۋاتىدۇ…"
#: ../js/ui/status/power.js:118 #: ../js/ui/status/power.js:118
#, c-format #, c-format
@ -1039,22 +1071,22 @@ msgstr "دىسكا"
msgid "Microphone" msgid "Microphone"
msgstr "مىكروفون" msgstr "مىكروفون"
#: ../js/ui/telepathyClient.js:332 #: ../js/ui/telepathyClient.js:335
#, c-format #, c-format
msgid "%s is online." msgid "%s is online."
msgstr "%s توردا." msgstr "%s توردا."
#: ../js/ui/telepathyClient.js:337 #: ../js/ui/telepathyClient.js:340
#, c-format #, c-format
msgid "%s is offline." msgid "%s is offline."
msgstr "%s توردا يوق." msgstr "%s توردا يوق."
#: ../js/ui/telepathyClient.js:340 #: ../js/ui/telepathyClient.js:343
#, c-format #, c-format
msgid "%s is away." msgid "%s is away."
msgstr "%s يوق." msgstr "%s يوق."
#: ../js/ui/telepathyClient.js:343 #: ../js/ui/telepathyClient.js:346
#, c-format #, c-format
msgid "%s is busy." msgid "%s is busy."
msgstr "%s ئالدىراش." msgstr "%s ئالدىراش."
@ -1062,7 +1094,7 @@ msgstr "%s ئالدىراش."
#. Translators: this is a time format string followed by a date. #. Translators: this is a time format string followed by a date.
#. If applicable, replace %X with a strftime format valid for your #. If applicable, replace %X with a strftime format valid for your
#. locale, without seconds. #. locale, without seconds.
#: ../js/ui/telepathyClient.js:474 #: ../js/ui/telepathyClient.js:484
#, no-c-format #, no-c-format
msgid "Sent at %X on %A" msgid "Sent at %X on %A"
msgstr "سائەت %X %A غا ئەۋەتتى" msgstr "سائەت %X %A غا ئەۋەتتى"
@ -1073,7 +1105,7 @@ msgstr "سائەت %X %A غا ئەۋەتتى"
#. characters. #. characters.
#: ../js/ui/viewSelector.js:122 #: ../js/ui/viewSelector.js:122
msgid "Type to search..." msgid "Type to search..."
msgstr "" msgstr "كىرگۈزسە ئىزدە…"
#: ../js/ui/viewSelector.js:142 ../src/shell-util.c:250 #: ../js/ui/viewSelector.js:142 ../src/shell-util.c:250
msgid "Search" msgid "Search"
@ -1109,15 +1141,14 @@ msgstr[0] "%u كىرگۈزۈلمە"
msgid "System Sounds" msgid "System Sounds"
msgstr "سىستېما ئاۋازى" msgstr "سىستېما ئاۋازى"
#: ../src/main.c:446 #: ../src/main.c:445
msgid "Print version" msgid "Print version"
msgstr "نەشرىنى باس" msgstr "نەشرىنى باس"
#: ../src/shell-app.c:454 #: ../src/shell-app.c:454
#, c-format #, c-format
#| msgid "Failed to unmount '%s'"
msgid "Failed to launch '%s'" msgid "Failed to launch '%s'"
msgstr "" msgstr "'%s' نى قوزغىتالمىدى"
#: ../src/shell-global.c:1395 #: ../src/shell-global.c:1395
msgid "Less than a minute ago" msgid "Less than a minute ago"
@ -1157,7 +1188,7 @@ msgstr "كۆڭۈلدىكى"
#: ../src/shell-polkit-authentication-agent.c:334 #: ../src/shell-polkit-authentication-agent.c:334
msgid "Authentication dialog was dismissed by the user" msgid "Authentication dialog was dismissed by the user"
msgstr "" msgstr "سالاھىيەت دەلىللەش سۆزلەشكۈنى ئىشلەتكۈچى رەت قىلدى"
#: ../src/shell-util.c:89 #: ../src/shell-util.c:89
msgid "Home Folder" msgid "Home Folder"

View File

@ -9,7 +9,7 @@ msgstr ""
"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug.cgi?product=gnome-" "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug.cgi?product=gnome-"
"shell&keywords=I18N+L10N&component=general\n" "shell&keywords=I18N+L10N&component=general\n"
"POT-Creation-Date: 2011-03-25 20:20+0000\n" "POT-Creation-Date: 2011-03-25 20:20+0000\n"
"PO-Revision-Date: 2011-03-26 13:58+0700\n" "PO-Revision-Date: 2011-05-22 21:50+0700\n"
"Last-Translator: Duy <pclouds@gmail.com>\n" "Last-Translator: Duy <pclouds@gmail.com>\n"
"Language-Team: Vietnamese <vi-VN@googlegroups.com>\n" "Language-Team: Vietnamese <vi-VN@googlegroups.com>\n"
"MIME-Version: 1.0\n" "MIME-Version: 1.0\n"
@ -551,7 +551,7 @@ msgstr "Ứng dụng"
#. the left of the overview #. the left of the overview
#: ../js/ui/overview.js:205 #: ../js/ui/overview.js:205
msgid "Dash" msgid "Dash"
msgstr "Khung ứng dụng" msgstr "Neo ứng dụng"
#. TODO - _quit() doesn't really work on apps in state STARTING yet #. TODO - _quit() doesn't really work on apps in state STARTING yet
#: ../js/ui/panel.js:515 #: ../js/ui/panel.js:515
@ -937,27 +937,27 @@ msgstr "Thiết lập mạng"
#: ../js/ui/status/network.js:1783 #: ../js/ui/status/network.js:1783
#, c-format #, c-format
msgid "You're now connected to mobile broadband connection '%s'" msgid "You're now connected to mobile broadband connection '%s'"
msgstr "Bạn đã kết nối vào mạng băng thông rộng '%s'" msgstr "Đã nối mạng '%s' (băng thông rộng)"
#: ../js/ui/status/network.js:1787 #: ../js/ui/status/network.js:1787
#, c-format #, c-format
msgid "You're now connected to wireless network '%s'" msgid "You're now connected to wireless network '%s'"
msgstr "Bạn đã kết nối vào mạng không dây '%s'" msgstr "Đã nối mạng '%s' (không dây)"
#: ../js/ui/status/network.js:1791 #: ../js/ui/status/network.js:1791
#, c-format #, c-format
msgid "You're now connected to wired network '%s'" msgid "You're now connected to wired network '%s'"
msgstr "Bạn đã kết nối vào mạng (dây) '%s'" msgstr "Đã nối mạng '%s' (dây)"
#: ../js/ui/status/network.js:1795 #: ../js/ui/status/network.js:1795
#, c-format #, c-format
msgid "You're now connected to VPN network '%s'" msgid "You're now connected to VPN network '%s'"
msgstr "Bạn đã kết nối vào mạng VPN '%s'" msgstr "Đã nối mạng VPN '%s'"
#: ../js/ui/status/network.js:1800 #: ../js/ui/status/network.js:1800
#, c-format #, c-format
msgid "You're now connected to '%s'" msgid "You're now connected to '%s'"
msgstr "Bạn đã kết nối vào '%s'" msgstr "Đã kết nối '%s'"
#: ../js/ui/status/network.js:1808 #: ../js/ui/status/network.js:1808
#| msgid "Connection" #| msgid "Connection"

View File

@ -14,10 +14,9 @@
msgid "" msgid ""
msgstr "" msgstr ""
"Project-Id-Version: gnome-shell master\n" "Project-Id-Version: gnome-shell master\n"
"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug.cgi?product=gnome-" "Report-Msgid-Bugs-To: \n"
"shell&keywords=I18N+L10N&component=general\n" "POT-Creation-Date: 2011-04-15 21:20+0800\n"
"POT-Creation-Date: 2011-03-26 07:02+0000\n" "PO-Revision-Date: 2011-04-15 21:22+0800\n"
"PO-Revision-Date: 2011-03-30 00:38+0800\n"
"Last-Translator: Aron Xu <happyaron.xu@gmail.com>\n" "Last-Translator: Aron Xu <happyaron.xu@gmail.com>\n"
"Language-Team: Chinese (simplified) <i18n-zh@googlegroups.com>\n" "Language-Team: Chinese (simplified) <i18n-zh@googlegroups.com>\n"
"Language: zh_CN\n" "Language: zh_CN\n"
@ -186,23 +185,23 @@ msgstr "运行“%s”失败"
msgid "All" msgid "All"
msgstr "全部" msgstr "全部"
#: ../js/ui/appDisplay.js:328 #: ../js/ui/appDisplay.js:329
msgid "APPLICATIONS" msgid "APPLICATIONS"
msgstr "应用程序" msgstr "应用程序"
#: ../js/ui/appDisplay.js:354 #: ../js/ui/appDisplay.js:355
msgid "SETTINGS" msgid "SETTINGS"
msgstr "设置" msgstr "设置"
#: ../js/ui/appDisplay.js:625 #: ../js/ui/appDisplay.js:626
msgid "New Window" msgid "New Window"
msgstr "新窗口" msgstr "新窗口"
#: ../js/ui/appDisplay.js:628 #: ../js/ui/appDisplay.js:629
msgid "Remove from Favorites" msgid "Remove from Favorites"
msgstr "从收藏夹中移除" msgstr "从收藏夹中移除"
#: ../js/ui/appDisplay.js:629 #: ../js/ui/appDisplay.js:630
msgid "Add to Favorites" msgid "Add to Favorites"
msgstr "添加到收藏夹" msgstr "添加到收藏夹"
@ -335,13 +334,13 @@ msgid "Nothing Scheduled"
msgstr "无计划" msgstr "无计划"
#. Translators: Shown on calendar heading when selected day occurs on current year #. Translators: Shown on calendar heading when selected day occurs on current year
#: ../js/ui/calendar.js:720 #: ../js/ui/calendar.js:720 ../js/ui/telepathyClient.js:492
msgctxt "calendar heading" msgctxt "calendar heading"
msgid "%A, %B %d" msgid "%A, %B %d"
msgstr "%m月%d日%A" msgstr "%m月%d日%A"
#. Translators: Shown on calendar heading when selected day occurs on different year #. Translators: Shown on calendar heading when selected day occurs on different year
#: ../js/ui/calendar.js:723 #: ../js/ui/calendar.js:723 ../js/ui/telepathyClient.js:495
msgctxt "calendar heading" msgctxt "calendar heading"
msgid "%A, %B %d, %Y" msgid "%A, %B %d, %Y"
msgstr "%Y年%m月%d日%A" msgstr "%Y年%m月%d日%A"
@ -362,7 +361,7 @@ msgstr "本周"
msgid "Next week" msgid "Next week"
msgstr "下周" msgstr "下周"
#: ../js/ui/dash.js:174 ../js/ui/messageTray.js:1000 #: ../js/ui/dash.js:174 ../js/ui/messageTray.js:1007
msgid "Remove" msgid "Remove"
msgstr "移除" msgstr "移除"
@ -487,7 +486,7 @@ msgstr "系统将在 %d 秒后自动重启。"
msgid "Restarting the system." msgid "Restarting the system."
msgstr "重启计算机。" msgstr "重启计算机。"
#: ../js/ui/endSessionDialog.js:415 ../js/ui/polkitAuthenticationAgent.js:172 #: ../js/ui/endSessionDialog.js:413 ../js/ui/polkitAuthenticationAgent.js:172
#: ../js/ui/status/bluetooth.js:466 #: ../js/ui/status/bluetooth.js:466
msgid "Cancel" msgid "Cancel"
msgstr "取消" msgstr "取消"
@ -522,11 +521,11 @@ msgstr "查看源"
msgid "Web Page" msgid "Web Page"
msgstr "网页" msgstr "网页"
#: ../js/ui/messageTray.js:993 #: ../js/ui/messageTray.js:1000
msgid "Open" msgid "Open"
msgstr "打开" msgstr "打开"
#: ../js/ui/messageTray.js:2151 #: ../js/ui/messageTray.js:2164
msgid "System Information" msgid "System Information"
msgstr "系统信息" msgstr "系统信息"
@ -546,21 +545,21 @@ msgstr "应用程序"
#. the left of the overview #. the left of the overview
#: ../js/ui/overview.js:205 #: ../js/ui/overview.js:205
msgid "Dash" msgid "Dash"
msgstr "虚线" msgstr "Dash"
#. TODO - _quit() doesn't really work on apps in state STARTING yet #. TODO - _quit() doesn't really work on apps in state STARTING yet
#: ../js/ui/panel.js:515 #: ../js/ui/panel.js:524
#, c-format #, c-format
msgid "Quit %s" msgid "Quit %s"
msgstr "退出 %s" msgstr "退出 %s"
#. Button on the left side of the panel. #. 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". #. Translators: If there is no suitable word for "Activities" in your language, you can use the word for "Overview".
#: ../js/ui/panel.js:878 #: ../js/ui/panel.js:902
msgid "Activities" msgid "Activities"
msgstr "活动" msgstr "活动"
#: ../js/ui/panel.js:979 #: ../js/ui/panel.js:1003
msgid "Top Bar" msgid "Top Bar"
msgstr "顶栏" msgstr "顶栏"
@ -593,11 +592,15 @@ msgstr "管理员"
msgid "Authenticate" msgid "Authenticate"
msgstr "认证" msgstr "认证"
#: ../js/ui/polkitAuthenticationAgent.js:260 #. Translators: "that didn't work" refers to the fact that the
#. * requested authentication was not gained; this can happen
#. * because of an authentication error (like invalid password),
#. * for instance.
#: ../js/ui/polkitAuthenticationAgent.js:264
msgid "Sorry, that didn't work. Please try again." msgid "Sorry, that didn't work. Please try again."
msgstr "抱歉,您的输入有误。请重试。" msgstr "抱歉,您的输入有误。请重试。"
#: ../js/ui/polkitAuthenticationAgent.js:272 #: ../js/ui/polkitAuthenticationAgent.js:276
msgid "Password:" msgid "Password:"
msgstr "口令:" msgstr "口令:"
@ -614,11 +617,11 @@ msgstr "toggle-switch-intl"
msgid "Please enter a command:" msgid "Please enter a command:"
msgstr "请输入一个命令:" msgstr "请输入一个命令:"
#: ../js/ui/searchDisplay.js:310 #: ../js/ui/searchDisplay.js:311
msgid "Searching..." msgid "Searching..."
msgstr "正在搜索..." msgstr "正在搜索..."
#: ../js/ui/searchDisplay.js:324 #: ../js/ui/searchDisplay.js:325
msgid "No matching results." msgid "No matching results."
msgstr "无匹配结果。" msgstr "无匹配结果。"
@ -822,139 +825,139 @@ msgstr "显示键盘布局..."
msgid "Localization Settings" msgid "Localization Settings"
msgstr "本地化设置" msgstr "本地化设置"
#: ../js/ui/status/network.js:104 ../js/ui/status/network.js:1454 #: ../js/ui/status/network.js:109 ../js/ui/status/network.js:1498
msgid "<unknown>" msgid "<unknown>"
msgstr "<未知>" msgstr "<未知>"
#. Translators: this indicates that wireless or wwan is disabled by hardware killswitch #. Translators: this indicates that wireless or wwan is disabled by hardware killswitch
#: ../js/ui/status/network.js:311 #: ../js/ui/status/network.js:326
msgid "disabled" msgid "disabled"
msgstr "已禁用" msgstr "已禁用"
#: ../js/ui/status/network.js:494 #: ../js/ui/status/network.js:521
msgid "connecting..." msgid "connecting..."
msgstr "连接中..." msgstr "连接中..."
#. Translators: this is for network connections that require some kind of key or password #. Translators: this is for network connections that require some kind of key or password
#: ../js/ui/status/network.js:497 #: ../js/ui/status/network.js:524
msgid "authentication required" msgid "authentication required"
msgstr "需要认证" msgstr "需要认证"
#. Translators: this is for devices that require some kind of firmware or kernel #. Translators: this is for devices that require some kind of firmware or kernel
#. module, which is missing #. module, which is missing
#: ../js/ui/status/network.js:507 #: ../js/ui/status/network.js:534
msgid "firmware missing" msgid "firmware missing"
msgstr "固件缺失" msgstr "固件缺失"
#. Translators: this is for wired network devices that are physically disconnected #. Translators: this is for wired network devices that are physically disconnected
#: ../js/ui/status/network.js:514 #: ../js/ui/status/network.js:541
msgid "cable unplugged" msgid "cable unplugged"
msgstr "线缆被拔出" msgstr "线缆被拔出"
#. Translators: this is for a network device that cannot be activated (for example it #. Translators: this is for a network device that cannot be activated (for example it
#. is disabled by rfkill, or it has no coverage #. is disabled by rfkill, or it has no coverage
#: ../js/ui/status/network.js:519 #: ../js/ui/status/network.js:546
msgid "unavailable" msgid "unavailable"
msgstr "不可用" msgstr "不可用"
#: ../js/ui/status/network.js:521 #: ../js/ui/status/network.js:548
msgid "connection failed" msgid "connection failed"
msgstr "连接失败" msgstr "连接失败"
#. TRANSLATORS: this is the indication that a connection for another logged in user is active, #. TRANSLATORS: this is the indication that a connection for another logged in user is active,
#. and we cannot access its settings (including the name) #. and we cannot access its settings (including the name)
#: ../js/ui/status/network.js:602 ../js/ui/status/network.js:1402 #: ../js/ui/status/network.js:628 ../js/ui/status/network.js:1446
msgid "Connected (private)" msgid "Connected (private)"
msgstr "已连接(私有网络)" msgstr "已连接(私有网络)"
#: ../js/ui/status/network.js:683 #: ../js/ui/status/network.js:713
msgid "Auto Ethernet" msgid "Auto Ethernet"
msgstr "自动以太网" msgstr "自动以太网"
#: ../js/ui/status/network.js:758 #: ../js/ui/status/network.js:788
msgid "Auto broadband" msgid "Auto broadband"
msgstr "自动移动宽带" msgstr "自动移动宽带"
#: ../js/ui/status/network.js:761 #: ../js/ui/status/network.js:791
msgid "Auto dial-up" msgid "Auto dial-up"
msgstr "自动拨号" msgstr "自动拨号"
#. TRANSLATORS: this the automatic wireless connection name (including the network name) #. TRANSLATORS: this the automatic wireless connection name (including the network name)
#: ../js/ui/status/network.js:904 ../js/ui/status/network.js:1414 #: ../js/ui/status/network.js:937 ../js/ui/status/network.js:1458
#, c-format #, c-format
msgid "Auto %s" msgid "Auto %s"
msgstr "自动 %s" msgstr "自动 %s"
#: ../js/ui/status/network.js:906 #: ../js/ui/status/network.js:939
msgid "Auto bluetooth" msgid "Auto bluetooth"
msgstr "自动蓝牙" msgstr "自动蓝牙"
#: ../js/ui/status/network.js:1416 #: ../js/ui/status/network.js:1460
msgid "Auto wireless" msgid "Auto wireless"
msgstr "自动无线" msgstr "自动无线"
#: ../js/ui/status/network.js:1474 #: ../js/ui/status/network.js:1518
msgid "More..." msgid "More..."
msgstr "更多..." msgstr "更多..."
#: ../js/ui/status/network.js:1497 #: ../js/ui/status/network.js:1541
msgid "Enable networking" msgid "Enable networking"
msgstr "启用联网" msgstr "启用联网"
#: ../js/ui/status/network.js:1509 #: ../js/ui/status/network.js:1553
msgid "Wired" msgid "Wired"
msgstr "有线" msgstr "有线"
#: ../js/ui/status/network.js:1520 #: ../js/ui/status/network.js:1564
msgid "Wireless" msgid "Wireless"
msgstr "无线" msgstr "无线"
#: ../js/ui/status/network.js:1530 #: ../js/ui/status/network.js:1574
msgid "Mobile broadband" msgid "Mobile broadband"
msgstr "移动宽带" msgstr "移动宽带"
#: ../js/ui/status/network.js:1540 #: ../js/ui/status/network.js:1584
msgid "VPN Connections" msgid "VPN Connections"
msgstr "VPN 连接" msgstr "VPN 连接"
#: ../js/ui/status/network.js:1549 #: ../js/ui/status/network.js:1596
msgid "Network Settings" msgid "Network Settings"
msgstr "网络设置" msgstr "网络设置"
#: ../js/ui/status/network.js:1844 #: ../js/ui/status/network.js:1890
#, c-format #, c-format
msgid "You're now connected to mobile broadband connection '%s'" msgid "You're now connected to mobile broadband connection '%s'"
msgstr "您已连接至移动宽带连接 %s" msgstr "您已连接至移动宽带连接 %s"
#: ../js/ui/status/network.js:1848 #: ../js/ui/status/network.js:1894
#, c-format #, c-format
msgid "You're now connected to wireless network '%s'" msgid "You're now connected to wireless network '%s'"
msgstr "您已连接至无线网络 %s" msgstr "您已连接至无线网络 %s"
#: ../js/ui/status/network.js:1852 #: ../js/ui/status/network.js:1898
#, c-format #, c-format
msgid "You're now connected to wired network '%s'" msgid "You're now connected to wired network '%s'"
msgstr "您已连接至有线网络 %s" msgstr "您已连接至有线网络 %s"
#: ../js/ui/status/network.js:1856 #: ../js/ui/status/network.js:1902
#, c-format #, c-format
msgid "You're now connected to VPN network '%s'" msgid "You're now connected to VPN network '%s'"
msgstr "您已连接至 VPN 网络 %s" msgstr "您已连接至 VPN 网络 %s"
#: ../js/ui/status/network.js:1861 #: ../js/ui/status/network.js:1907
#, c-format #, c-format
msgid "You're now connected to '%s'" msgid "You're now connected to '%s'"
msgstr "您已连接至 %s" msgstr "您已连接至 %s"
#: ../js/ui/status/network.js:1869 #: ../js/ui/status/network.js:1915
msgid "Connection established" msgid "Connection established"
msgstr "连接已建立" msgstr "连接已建立"
#: ../js/ui/status/network.js:1991 #: ../js/ui/status/network.js:2041
msgid "Networking is disabled" msgid "Networking is disabled"
msgstr "联网已禁用" msgstr "联网已禁用"
#: ../js/ui/status/network.js:2116 #: ../js/ui/status/network.js:2166
msgid "Network Manager" msgid "Network Manager"
msgstr "网络管理器" msgstr "网络管理器"
@ -1052,22 +1055,22 @@ msgstr "音量"
msgid "Microphone" msgid "Microphone"
msgstr "麦克风" msgstr "麦克风"
#: ../js/ui/telepathyClient.js:331 #: ../js/ui/telepathyClient.js:335
#, c-format #, c-format
msgid "%s is online." msgid "%s is online."
msgstr "%s 在线。" msgstr "%s 在线。"
#: ../js/ui/telepathyClient.js:336 #: ../js/ui/telepathyClient.js:340
#, c-format #, c-format
msgid "%s is offline." msgid "%s is offline."
msgstr "%s 离线。" msgstr "%s 离线。"
#: ../js/ui/telepathyClient.js:339 #: ../js/ui/telepathyClient.js:343
#, c-format #, c-format
msgid "%s is away." msgid "%s is away."
msgstr "%s 离开。" msgstr "%s 离开。"
#: ../js/ui/telepathyClient.js:342 #: ../js/ui/telepathyClient.js:346
#, c-format #, c-format
msgid "%s is busy." msgid "%s is busy."
msgstr "%s 忙碌。" msgstr "%s 忙碌。"
@ -1075,7 +1078,7 @@ msgstr "%s 忙碌。"
#. Translators: this is a time format string followed by a date. #. Translators: this is a time format string followed by a date.
#. If applicable, replace %X with a strftime format valid for your #. If applicable, replace %X with a strftime format valid for your
#. locale, without seconds. #. locale, without seconds.
#: ../js/ui/telepathyClient.js:473 #: ../js/ui/telepathyClient.js:484
#, no-c-format #, no-c-format
msgid "Sent at %X on %A" msgid "Sent at %X on %A"
msgstr "发送于 %X在 %A" msgstr "发送于 %X在 %A"
@ -1122,7 +1125,7 @@ msgstr[0] "%u 个输入"
msgid "System Sounds" msgid "System Sounds"
msgstr "系统声音" msgstr "系统声音"
#: ../src/main.c:446 #: ../src/main.c:445
msgid "Print version" msgid "Print version"
msgstr "打印版本" msgstr "打印版本"

View File

@ -6,10 +6,10 @@
# #
msgid "" msgid ""
msgstr "" msgstr ""
"Project-Id-Version: gnome-shell 2.91.93\n" "Project-Id-Version: gnome-shell 3.0.0.2\n"
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2011-04-04 22:08+0800\n" "POT-Creation-Date: 2011-04-24 05:52+0800\n"
"PO-Revision-Date: 2011-04-04 22:08+0800\n" "PO-Revision-Date: 2011-04-24 05:54+0800\n"
"Last-Translator: Chao-Hsiung Liao <j_h_liau@yahoo.com.tw>\n" "Last-Translator: Chao-Hsiung Liao <j_h_liau@yahoo.com.tw>\n"
"Language-Team: Chinese (Hong Kong) <community@linuxhall.org>\n" "Language-Team: Chinese (Hong Kong) <community@linuxhall.org>\n"
"Language: \n" "Language: \n"
@ -27,9 +27,7 @@ msgid "Window management and application launching"
msgstr "視窗管理與應用程式的執行" msgstr "視窗管理與應用程式的執行"
#: ../data/org.gnome.shell.gschema.xml.in.h:1 #: ../data/org.gnome.shell.gschema.xml.in.h:1
msgid "" msgid "Allows access to internal debugging and monitoring tools using the Alt-F2 dialog."
"Allows access to internal debugging and monitoring tools using the Alt-F2 "
"dialog."
msgstr "允許使用 Alt-F2 對話盒存取內部除錯和監控工具。" msgstr "允許使用 Alt-F2 對話盒存取內部除錯和監控工具。"
#: ../data/org.gnome.shell.gschema.xml.in.h:2 #: ../data/org.gnome.shell.gschema.xml.in.h:2
@ -45,9 +43,7 @@ msgid "Framerate used for recording screencasts."
msgstr "錄製畫面廣播的框架率。" msgstr "錄製畫面廣播的框架率。"
#: ../data/org.gnome.shell.gschema.xml.in.h:5 #: ../data/org.gnome.shell.gschema.xml.in.h:5
msgid "" msgid "GNOME Shell extensions have a uuid property; this key lists extensions which should not be loaded."
"GNOME Shell extensions have a uuid property; this key lists extensions which "
"should not be loaded."
msgstr "GNOME Shell 擴充功能有 uuid 屬性;這個設定鍵列出了不應載入的擴充功能。" msgstr "GNOME Shell 擴充功能有 uuid 屬性;這個設定鍵列出了不應載入的擴充功能。"
#: ../data/org.gnome.shell.gschema.xml.in.h:6 #: ../data/org.gnome.shell.gschema.xml.in.h:6
@ -76,17 +72,7 @@ msgstr "喜好的應用程式桌面檔案 ID 清單"
#: ../data/org.gnome.shell.gschema.xml.in.h:13 #: ../data/org.gnome.shell.gschema.xml.in.h:13
#, no-c-format #, no-c-format
msgid "" msgid "Sets the GStreamer pipeline used to encode recordings. It follows the syntax used for gst-launch. The pipeline should have an unconnected sink pad where the recorded video is recorded. It will normally have a unconnected source pad; output from that pad will be written into the output file. However the pipeline can also take care of its own output - this might be used to send the output to an icecast server via shout2send or similar. When unset or set to an empty value, the default pipeline will be used. This is currently 'videorate ! vp8enc quality=10 speed=2 threads=%T ! queue ! webmmux' and records to WEBM using the VP8 codec. %T is used as a placeholder for a guess at the optimal thread count on the system."
"Sets the GStreamer pipeline used to encode recordings. It follows the syntax "
"used for gst-launch. The pipeline should have an unconnected sink pad where "
"the recorded video is recorded. It will normally have a unconnected source "
"pad; output from that pad will be written into the output file. However the "
"pipeline can also take care of its own output - this might be used to send "
"the output to an icecast server via shout2send or similar. When unset or set "
"to an empty value, the default pipeline will be used. This is currently "
"'videorate ! vp8enc quality=10 speed=2 threads=%T ! queue ! webmmux' and "
"records to WEBM using the VP8 codec. %T is used as a placeholder for a guess "
"at the optimal thread count on the system."
msgstr "設定用來錄製的 GStreamer 管線。它根據據 gst-launch 使用的語法。管線應該要有未連接的出口(sink pad),提供錄製視像之用。它通常會有未連接的入口(source pad);從出口輸出的資訊就寫入輸出檔案。然而管線本身也會處理它本身的輸出 - 習慣上是透過 shout2send 之類將輸出傳送到 icecast 伺服器。當取消設定或設定為空值時,就會使用預設的管線。這個值目前為 'videorate ! vp8enc quality=10 speed=2 threads=%T ! queue ! webmmux' 即使用 VP8 codec 錄製 WEBM。%T 是在系統的最佳化執行緒計數猜測時使用的佔位符。" msgstr "設定用來錄製的 GStreamer 管線。它根據據 gst-launch 使用的語法。管線應該要有未連接的出口(sink pad),提供錄製視像之用。它通常會有未連接的入口(source pad);從出口輸出的資訊就寫入輸出檔案。然而管線本身也會處理它本身的輸出 - 習慣上是透過 shout2send 之類將輸出傳送到 icecast 伺服器。當取消設定或設定為空值時,就會使用預設的管線。這個值目前為 'videorate ! vp8enc quality=10 speed=2 threads=%T ! queue ! webmmux' 即使用 VP8 codec 錄製 WEBM。%T 是在系統的最佳化執行緒計數猜測時使用的佔位符。"
#: ../data/org.gnome.shell.gschema.xml.in.h:14 #: ../data/org.gnome.shell.gschema.xml.in.h:14
@ -102,22 +88,15 @@ msgid "Show time with seconds"
msgstr "在時刻中顯示秒數" msgstr "在時刻中顯示秒數"
#: ../data/org.gnome.shell.gschema.xml.in.h:17 #: ../data/org.gnome.shell.gschema.xml.in.h:17
msgid "" msgid "The applications corresponding to these identifiers will be displayed in the favorites area."
"The applications corresponding to these identifiers will be displayed in the "
"favorites area."
msgstr "對應這些辨別碼的應用程式會顯示在喜好區域。" msgstr "對應這些辨別碼的應用程式會顯示在喜好區域。"
#: ../data/org.gnome.shell.gschema.xml.in.h:18 #: ../data/org.gnome.shell.gschema.xml.in.h:18
msgid "" 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 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 "錄製好的畫面廣播檔案名稱會以目前的時刻作為獨特的檔名,並使用這個延伸檔名。當錄製為不同的容器格式時應該做適當更改。" msgstr "錄製好的畫面廣播檔案名稱會以目前的時刻作為獨特的檔名,並使用這個延伸檔名。當錄製為不同的容器格式時應該做適當更改。"
#: ../data/org.gnome.shell.gschema.xml.in.h:19 #: ../data/org.gnome.shell.gschema.xml.in.h:19
msgid "" msgid "The framerate of the resulting screencast recordered by GNOME Shell's screencast recorder in frames-per-second."
"The framerate of the resulting screencast recordered by GNOME Shell's "
"screencast recorder in frames-per-second."
msgstr "由 GNOME Shell 的畫面廣播錄製程式所錄製成果的框架率,以 frames-per-second 計。" msgstr "由 GNOME Shell 的畫面廣播錄製程式所錄製成果的框架率,以 frames-per-second 計。"
#: ../data/org.gnome.shell.gschema.xml.in.h:20 #: ../data/org.gnome.shell.gschema.xml.in.h:20
@ -125,11 +104,7 @@ msgid "The gstreamer pipeline used to encode the screencast"
msgstr "用來編碼畫面廣播的 gstreamer 管線" msgstr "用來編碼畫面廣播的 gstreamer 管線"
#: ../data/org.gnome.shell.gschema.xml.in.h:21 #: ../data/org.gnome.shell.gschema.xml.in.h:21
msgid "" 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."
"The shell normally monitors active applications in order to present the most "
"used ones (e.g. in launchers). While this data will be kept private, you may "
"want to disable this for privacy reasons. Please note that doing so won't "
"remove already saved data."
msgstr "這個 shell 通常會監控使用中的應用程式以便能顯示出最常使用的(例如,在程式執行器中)。雖然這個資料會保持隱密,但是你可能會基於私隱的理由想要停用這個功能。請注意這麼做並不會移除已儲存的資料。" msgstr "這個 shell 通常會監控使用中的應用程式以便能顯示出最常使用的(例如,在程式執行器中)。雖然這個資料會保持隱密,但是你可能會基於私隱的理由想要停用這個功能。請注意這麼做並不會移除已儲存的資料。"
#: ../data/org.gnome.shell.gschema.xml.in.h:22 #: ../data/org.gnome.shell.gschema.xml.in.h:22
@ -164,23 +139,23 @@ msgstr "執行「%s」失敗"
msgid "All" msgid "All"
msgstr "全部" msgstr "全部"
#: ../js/ui/appDisplay.js:328 #: ../js/ui/appDisplay.js:329
msgid "APPLICATIONS" msgid "APPLICATIONS"
msgstr "程式集" msgstr "程式集"
#: ../js/ui/appDisplay.js:354 #: ../js/ui/appDisplay.js:355
msgid "SETTINGS" msgid "SETTINGS"
msgstr "設定值" msgstr "設定值"
#: ../js/ui/appDisplay.js:625 #: ../js/ui/appDisplay.js:626
msgid "New Window" msgid "New Window"
msgstr "新視窗" msgstr "新視窗"
#: ../js/ui/appDisplay.js:628 #: ../js/ui/appDisplay.js:629
msgid "Remove from Favorites" msgid "Remove from Favorites"
msgstr "自喜好中移除" msgstr "自喜好中移除"
#: ../js/ui/appDisplay.js:629 #: ../js/ui/appDisplay.js:630
msgid "Add to Favorites" msgid "Add to Favorites"
msgstr "加入喜好" msgstr "加入喜好"
@ -313,13 +288,15 @@ msgid "Nothing Scheduled"
msgstr "沒有預訂行程" msgstr "沒有預訂行程"
#. Translators: Shown on calendar heading when selected day occurs on current year #. Translators: Shown on calendar heading when selected day occurs on current year
#: ../js/ui/calendar.js:720 ../js/ui/telepathyClient.js:490 #: ../js/ui/calendar.js:720
#: ../js/ui/telepathyClient.js:492
msgctxt "calendar heading" msgctxt "calendar heading"
msgid "%A, %B %d" msgid "%A, %B %d"
msgstr "%m月%d日%A" msgstr "%m月%d日%A"
#. Translators: Shown on calendar heading when selected day occurs on different year #. Translators: Shown on calendar heading when selected day occurs on different year
#: ../js/ui/calendar.js:723 ../js/ui/telepathyClient.js:493 #: ../js/ui/calendar.js:723
#: ../js/ui/telepathyClient.js:495
msgctxt "calendar heading" msgctxt "calendar heading"
msgid "%A, %B %d, %Y" msgid "%A, %B %d, %Y"
msgstr "%Y年%m月%d日%A" msgstr "%Y年%m月%d日%A"
@ -340,7 +317,8 @@ msgstr "本週"
msgid "Next week" msgid "Next week"
msgstr "下週" msgstr "下週"
#: ../js/ui/dash.js:174 ../js/ui/messageTray.js:1007 #: ../js/ui/dash.js:174
#: ../js/ui/messageTray.js:1037
msgid "Remove" msgid "Remove"
msgstr "移除" msgstr "移除"
@ -356,41 +334,41 @@ msgstr "開啟行事曆"
#. in 24-hour mode. #. in 24-hour mode.
#: ../js/ui/dateMenu.js:164 #: ../js/ui/dateMenu.js:164
msgid "%a %b %e, %R:%S" msgid "%a %b %e, %R:%S"
msgstr "%m月%e日%a, %R:%S" msgstr "%m月%e日(%a), %R:%S"
#: ../js/ui/dateMenu.js:165 #: ../js/ui/dateMenu.js:165
msgid "%a %b %e, %R" msgid "%a %b %e, %R"
msgstr "%m月%e日%a, %R" msgstr "%m月%e日(%a), %R"
#. Translators: This is the time format without date used #. Translators: This is the time format without date used
#. in 24-hour mode. #. in 24-hour mode.
#: ../js/ui/dateMenu.js:169 #: ../js/ui/dateMenu.js:169
msgid "%a %R:%S" msgid "%a %R:%S"
msgstr "%a %R:%S" msgstr "(%a)%R:%S"
#: ../js/ui/dateMenu.js:170 #: ../js/ui/dateMenu.js:170
msgid "%a %R" msgid "%a %R"
msgstr "%a %R" msgstr "(%a)%R"
#. Translators: This is a time format with date used #. Translators: This is a time format with date used
#. for AM/PM. #. for AM/PM.
#: ../js/ui/dateMenu.js:177 #: ../js/ui/dateMenu.js:177
msgid "%a %b %e, %l:%M:%S %p" msgid "%a %b %e, %l:%M:%S %p"
msgstr "%m月%e日%a, %p %l:%M:%S" msgstr "%m月%e日(%a), %p %l:%M:%S"
#: ../js/ui/dateMenu.js:178 #: ../js/ui/dateMenu.js:178
msgid "%a %b %e, %l:%M %p" msgid "%a %b %e, %l:%M %p"
msgstr "%m月%e日%a, %p %l:%M" msgstr "%m月%e日(%a), %p %l:%M"
#. Translators: This is a time format without date used #. Translators: This is a time format without date used
#. for AM/PM. #. for AM/PM.
#: ../js/ui/dateMenu.js:182 #: ../js/ui/dateMenu.js:182
msgid "%a %l:%M:%S %p" msgid "%a %l:%M:%S %p"
msgstr "%a %p %l:%M:%S" msgstr "(%a)%p %l:%M:%S"
#: ../js/ui/dateMenu.js:183 #: ../js/ui/dateMenu.js:183
msgid "%a %l:%M %p" msgid "%a %l:%M %p"
msgstr "%a %p %l:%M" msgstr "(%a)%p %l:%M"
#. Translators: This is the date format to use when the calendar popup is #. Translators: This is the date format to use when the calendar popup is
#. * shown - it is shown just below the time in the shell (e.g. "Tue 9:29 AM"). #. * shown - it is shown just below the time in the shell (e.g. "Tue 9:29 AM").
@ -408,7 +386,8 @@ msgstr "最近使用項目"
msgid "Log Out %s" msgid "Log Out %s"
msgstr "登出 %s" msgstr "登出 %s"
#: ../js/ui/endSessionDialog.js:64 ../js/ui/endSessionDialog.js:70 #: ../js/ui/endSessionDialog.js:64
#: ../js/ui/endSessionDialog.js:70
msgid "Log Out" msgid "Log Out"
msgstr "登出" msgstr "登出"
@ -430,7 +409,8 @@ msgstr "你會在 %d 秒後自動登出。"
msgid "Logging out of the system." msgid "Logging out of the system."
msgstr "登出系統。" msgstr "登出系統。"
#: ../js/ui/endSessionDialog.js:75 ../js/ui/endSessionDialog.js:82 #: ../js/ui/endSessionDialog.js:75
#: ../js/ui/endSessionDialog.js:82
msgid "Power Off" msgid "Power Off"
msgstr "關閉電源" msgstr "關閉電源"
@ -447,7 +427,8 @@ msgstr "本系統會在 %d 秒後電源。"
msgid "Powering off the system." msgid "Powering off the system."
msgstr "關閉系統的電源。" msgstr "關閉系統的電源。"
#: ../js/ui/endSessionDialog.js:80 ../js/ui/endSessionDialog.js:88 #: ../js/ui/endSessionDialog.js:80
#: ../js/ui/endSessionDialog.js:88
#: ../js/ui/endSessionDialog.js:93 #: ../js/ui/endSessionDialog.js:93
msgid "Restart" msgid "Restart"
msgstr "重新啟動" msgstr "重新啟動"
@ -465,7 +446,8 @@ msgstr "系統會在 %d 秒內自動重新啟動。"
msgid "Restarting the system." msgid "Restarting the system."
msgstr "重新啟動系統。" msgstr "重新啟動系統。"
#: ../js/ui/endSessionDialog.js:417 ../js/ui/polkitAuthenticationAgent.js:172 #: ../js/ui/endSessionDialog.js:413
#: ../js/ui/polkitAuthenticationAgent.js:172
#: ../js/ui/status/bluetooth.js:466 #: ../js/ui/status/bluetooth.js:466
msgid "Cancel" msgid "Cancel"
msgstr "取消" msgstr "取消"
@ -480,7 +462,8 @@ msgstr "已啟用"
#. translators: #. translators:
#. * The device has been disabled #. * The device has been disabled
#: ../js/ui/lookingGlass.js:627 ../src/gvc/gvc-mixer-control.c:1091 #: ../js/ui/lookingGlass.js:627
#: ../src/gvc/gvc-mixer-control.c:1091
msgid "Disabled" msgid "Disabled"
msgstr "已停用" msgstr "已停用"
@ -500,11 +483,11 @@ msgstr "檢示來源"
msgid "Web Page" msgid "Web Page"
msgstr "網頁" msgstr "網頁"
#: ../js/ui/messageTray.js:1000 #: ../js/ui/messageTray.js:1030
msgid "Open" msgid "Open"
msgstr "開啟" msgstr "開啟"
#: ../js/ui/messageTray.js:2164 #: ../js/ui/messageTray.js:2194
msgid "System Information" msgid "System Information"
msgstr "系統資訊" msgstr "系統資訊"
@ -604,18 +587,20 @@ msgstr "搜尋中…"
msgid "No matching results." msgid "No matching results."
msgstr "沒有相符的結果。" msgstr "沒有相符的結果。"
#: ../js/ui/statusMenu.js:161 ../js/ui/statusMenu.js:163 #: ../js/ui/statusMenu.js:161
#: ../js/ui/statusMenu.js:163
#: ../js/ui/statusMenu.js:228 #: ../js/ui/statusMenu.js:228
msgid "Power Off..." msgid "Power Off..."
msgstr "關閉電源…" msgstr "關閉電源…"
#: ../js/ui/statusMenu.js:163 ../js/ui/statusMenu.js:227 #: ../js/ui/statusMenu.js:163
#: ../js/ui/statusMenu.js:227
msgid "Suspend" msgid "Suspend"
msgstr "暫停" msgstr "暫停"
#: ../js/ui/statusMenu.js:184 #: ../js/ui/statusMenu.js:184
msgid "Available" msgid "Available"
msgstr "可用" msgstr "有空"
#: ../js/ui/statusMenu.js:189 #: ../js/ui/statusMenu.js:189
msgid "Busy" msgid "Busy"
@ -683,9 +668,12 @@ msgstr "高反差"
msgid "Large Text" msgid "Large Text"
msgstr "大型文字" msgstr "大型文字"
#: ../js/ui/status/bluetooth.js:42 ../js/ui/status/bluetooth.js:237 #: ../js/ui/status/bluetooth.js:42
#: ../js/ui/status/bluetooth.js:333 ../js/ui/status/bluetooth.js:367 #: ../js/ui/status/bluetooth.js:237
#: ../js/ui/status/bluetooth.js:407 ../js/ui/status/bluetooth.js:440 #: ../js/ui/status/bluetooth.js:333
#: ../js/ui/status/bluetooth.js:367
#: ../js/ui/status/bluetooth.js:407
#: ../js/ui/status/bluetooth.js:440
msgid "Bluetooth" msgid "Bluetooth"
msgstr "藍牙" msgstr "藍牙"
@ -734,7 +722,8 @@ msgstr "鍵盤設定值"
msgid "Mouse Settings" msgid "Mouse Settings"
msgstr "滑鼠設定值" msgstr "滑鼠設定值"
#: ../js/ui/status/bluetooth.js:259 ../js/ui/status/volume.js:66 #: ../js/ui/status/bluetooth.js:259
#: ../js/ui/status/volume.js:66
msgid "Sound Settings" msgid "Sound Settings"
msgstr "音效設定值" msgstr "音效設定值"
@ -765,7 +754,8 @@ msgstr "拒絕"
msgid "Pairing confirmation for %s" msgid "Pairing confirmation for %s"
msgstr "%s 的配對確認" msgstr "%s 的配對確認"
#: ../js/ui/status/bluetooth.js:414 ../js/ui/status/bluetooth.js:448 #: ../js/ui/status/bluetooth.js:414
#: ../js/ui/status/bluetooth.js:448
#, c-format #, c-format
msgid "Device %s wants to pair with this computer" msgid "Device %s wants to pair with this computer"
msgstr "裝置 %s 想要和這個電腦配對" msgstr "裝置 %s 想要和這個電腦配對"
@ -804,139 +794,142 @@ msgstr "顯示鍵盤配置…"
msgid "Localization Settings" msgid "Localization Settings"
msgstr "本地化設定值" msgstr "本地化設定值"
#: ../js/ui/status/network.js:105 ../js/ui/status/network.js:1466 #: ../js/ui/status/network.js:109
#: ../js/ui/status/network.js:1498
msgid "<unknown>" msgid "<unknown>"
msgstr "<不明>" msgstr "<不明>"
#. Translators: this indicates that wireless or wwan is disabled by hardware killswitch #. Translators: this indicates that wireless or wwan is disabled by hardware killswitch
#: ../js/ui/status/network.js:318 #: ../js/ui/status/network.js:326
msgid "disabled" msgid "disabled"
msgstr "已停用" msgstr "已停用"
#: ../js/ui/status/network.js:501 #: ../js/ui/status/network.js:521
msgid "connecting..." msgid "connecting..."
msgstr "連線中…" msgstr "連線中…"
#. Translators: this is for network connections that require some kind of key or password #. Translators: this is for network connections that require some kind of key or password
#: ../js/ui/status/network.js:504 #: ../js/ui/status/network.js:524
msgid "authentication required" msgid "authentication required"
msgstr "要求驗證" msgstr "要求驗證"
#. Translators: this is for devices that require some kind of firmware or kernel #. Translators: this is for devices that require some kind of firmware or kernel
#. module, which is missing #. module, which is missing
#: ../js/ui/status/network.js:514 #: ../js/ui/status/network.js:534
msgid "firmware missing" msgid "firmware missing"
msgstr "缺少韌體" msgstr "缺少韌體"
#. Translators: this is for wired network devices that are physically disconnected #. Translators: this is for wired network devices that are physically disconnected
#: ../js/ui/status/network.js:521 #: ../js/ui/status/network.js:541
msgid "cable unplugged" msgid "cable unplugged"
msgstr "纜線已拔除" msgstr "纜線已拔除"
#. Translators: this is for a network device that cannot be activated (for example it #. Translators: this is for a network device that cannot be activated (for example it
#. is disabled by rfkill, or it has no coverage #. is disabled by rfkill, or it has no coverage
#: ../js/ui/status/network.js:526 #: ../js/ui/status/network.js:546
msgid "unavailable" msgid "unavailable"
msgstr "無法使用" msgstr "無法使用"
#: ../js/ui/status/network.js:528 #: ../js/ui/status/network.js:548
msgid "connection failed" msgid "connection failed"
msgstr "連線失敗" msgstr "連線失敗"
#. TRANSLATORS: this is the indication that a connection for another logged in user is active, #. TRANSLATORS: this is the indication that a connection for another logged in user is active,
#. and we cannot access its settings (including the name) #. and we cannot access its settings (including the name)
#: ../js/ui/status/network.js:608 ../js/ui/status/network.js:1414 #: ../js/ui/status/network.js:628
#: ../js/ui/status/network.js:1446
msgid "Connected (private)" msgid "Connected (private)"
msgstr "已連線 (私人)" msgstr "已連線 (私人)"
#: ../js/ui/status/network.js:689 #: ../js/ui/status/network.js:713
msgid "Auto Ethernet" msgid "Auto Ethernet"
msgstr "自動使用乙太網絡" msgstr "自動使用乙太網絡"
#: ../js/ui/status/network.js:764 #: ../js/ui/status/network.js:788
msgid "Auto broadband" msgid "Auto broadband"
msgstr "自動使用行動寬頻" msgstr "自動使用行動寬頻"
#: ../js/ui/status/network.js:767 #: ../js/ui/status/network.js:791
msgid "Auto dial-up" msgid "Auto dial-up"
msgstr "自動使用撥號" msgstr "自動使用撥號"
#. TRANSLATORS: this the automatic wireless connection name (including the network name) #. TRANSLATORS: this the automatic wireless connection name (including the network name)
#: ../js/ui/status/network.js:910 ../js/ui/status/network.js:1426 #: ../js/ui/status/network.js:937
#: ../js/ui/status/network.js:1458
#, c-format #, c-format
msgid "Auto %s" msgid "Auto %s"
msgstr "自動使用 %s" msgstr "自動使用 %s"
#: ../js/ui/status/network.js:912 #: ../js/ui/status/network.js:939
msgid "Auto bluetooth" msgid "Auto bluetooth"
msgstr "自動使用藍牙" msgstr "自動使用藍牙"
#: ../js/ui/status/network.js:1428 #: ../js/ui/status/network.js:1460
msgid "Auto wireless" msgid "Auto wireless"
msgstr "自動使用無線網絡" msgstr "自動使用無線網絡"
#: ../js/ui/status/network.js:1486 #: ../js/ui/status/network.js:1518
msgid "More..." msgid "More..."
msgstr "更多…" msgstr "更多…"
#: ../js/ui/status/network.js:1509 #: ../js/ui/status/network.js:1541
msgid "Enable networking" msgid "Enable networking"
msgstr "啟用網絡" msgstr "啟用網絡"
#: ../js/ui/status/network.js:1521 #: ../js/ui/status/network.js:1553
msgid "Wired" msgid "Wired"
msgstr "有線" msgstr "有線"
#: ../js/ui/status/network.js:1532 #: ../js/ui/status/network.js:1564
msgid "Wireless" msgid "Wireless"
msgstr "無線" msgstr "無線"
#: ../js/ui/status/network.js:1542 #: ../js/ui/status/network.js:1574
msgid "Mobile broadband" msgid "Mobile broadband"
msgstr "行動寬頻" msgstr "行動寬頻"
#: ../js/ui/status/network.js:1552 #: ../js/ui/status/network.js:1584
msgid "VPN Connections" msgid "VPN Connections"
msgstr "VPN 連線" msgstr "VPN 連線"
#: ../js/ui/status/network.js:1564 #: ../js/ui/status/network.js:1596
msgid "Network Settings" msgid "Network Settings"
msgstr "網絡設定值" msgstr "網絡設定值"
#: ../js/ui/status/network.js:1854 #: ../js/ui/status/network.js:1890
#, c-format #, c-format
msgid "You're now connected to mobile broadband connection '%s'" msgid "You're now connected to mobile broadband connection '%s'"
msgstr "你現在已連線至行動寬頻網絡連線「%s」" msgstr "你現在已連線至行動寬頻網絡連線「%s」"
#: ../js/ui/status/network.js:1858 #: ../js/ui/status/network.js:1894
#, c-format #, c-format
msgid "You're now connected to wireless network '%s'" msgid "You're now connected to wireless network '%s'"
msgstr "你現在已連線到無線網絡「%s」" msgstr "你現在已連線到無線網絡「%s」"
#: ../js/ui/status/network.js:1862 #: ../js/ui/status/network.js:1898
#, c-format #, c-format
msgid "You're now connected to wired network '%s'" msgid "You're now connected to wired network '%s'"
msgstr "你現在已連線至有線網絡「%s」" msgstr "你現在已連線至有線網絡「%s」"
#: ../js/ui/status/network.js:1866 #: ../js/ui/status/network.js:1902
#, c-format #, c-format
msgid "You're now connected to VPN network '%s'" msgid "You're now connected to VPN network '%s'"
msgstr "你現在已連線至 VPN 網絡「%s」" msgstr "你現在已連線至 VPN 網絡「%s」"
#: ../js/ui/status/network.js:1871 #: ../js/ui/status/network.js:1907
#, c-format #, c-format
msgid "You're now connected to '%s'" msgid "You're now connected to '%s'"
msgstr "你現在已連線至「%s」" msgstr "你現在已連線至「%s」"
#: ../js/ui/status/network.js:1879 #: ../js/ui/status/network.js:1915
msgid "Connection established" msgid "Connection established"
msgstr "連線已建立" msgstr "連線已建立"
#: ../js/ui/status/network.js:2005 #: ../js/ui/status/network.js:2041
msgid "Networking is disabled" msgid "Networking is disabled"
msgstr "網絡已停用" msgstr "網絡已停用"
#: ../js/ui/status/network.js:2130 #: ../js/ui/status/network.js:2166
msgid "Network Manager" msgid "Network Manager"
msgstr "網絡管理員" msgstr "網絡管理員"
@ -1022,7 +1015,8 @@ msgstr "手寫板"
msgid "Computer" msgid "Computer"
msgstr "電腦" msgstr "電腦"
#: ../js/ui/status/power.js:250 ../src/shell-app-system.c:1088 #: ../js/ui/status/power.js:250
#: ../src/shell-app-system.c:1088
msgid "Unknown" msgid "Unknown"
msgstr "不明" msgstr "不明"
@ -1057,7 +1051,7 @@ msgstr "%s 正忙碌。"
#. Translators: this is a time format string followed by a date. #. Translators: this is a time format string followed by a date.
#. If applicable, replace %X with a strftime format valid for your #. If applicable, replace %X with a strftime format valid for your
#. locale, without seconds. #. locale, without seconds.
#: ../js/ui/telepathyClient.js:482 #: ../js/ui/telepathyClient.js:484
#, no-c-format #, no-c-format
msgid "Sent at %X on %A" msgid "Sent at %X on %A"
msgstr "傳送於 %X %A" msgstr "傳送於 %X %A"
@ -1070,7 +1064,8 @@ msgstr "傳送於 %X %A"
msgid "Type to search..." msgid "Type to search..."
msgstr "輸入以搜尋…" msgstr "輸入以搜尋…"
#: ../js/ui/viewSelector.js:142 ../src/shell-util.c:250 #: ../js/ui/viewSelector.js:142
#: ../src/shell-util.c:250
msgid "Search" msgid "Search"
msgstr "搜尋" msgstr "搜尋"
@ -1104,7 +1099,7 @@ msgstr[0] "%u 輸入"
msgid "System Sounds" msgid "System Sounds"
msgstr "系統音效" msgstr "系統音效"
#: ../src/main.c:446 #: ../src/main.c:445
msgid "Print version" msgid "Print version"
msgstr "顯示版本" msgstr "顯示版本"
@ -1175,18 +1170,14 @@ msgstr "%1$s%2$s"
#~ msgid "Shut Down" #~ msgid "Shut Down"
#~ msgstr "關機" #~ msgstr "關機"
#~ msgid "Click Shut Down to quit these applications and shut down the system." #~ msgid "Click Shut Down to quit these applications and shut down the system."
#~ msgstr "點選關機以結束這些應用程式並將系統關機。" #~ msgstr "點選關機以結束這些應用程式並將系統關機。"
#~ msgid "The system will shut down automatically in %d seconds." #~ msgid "The system will shut down automatically in %d seconds."
#~ msgstr "本系統會在 %d 秒後自動關閉。" #~ msgstr "本系統會在 %d 秒後自動關閉。"
#~ msgid "Shutting down the system." #~ msgid "Shutting down the system."
#~ msgstr "正在關閉系統。" #~ msgstr "正在關閉系統。"
#~ msgid "Confirm" #~ msgid "Confirm"
#~ msgstr "確認" #~ msgstr "確認"
#~ msgid "No such application" #~ msgid "No such application"
#~ msgstr "沒有這個應用程式" #~ msgstr "沒有這個應用程式"

View File

@ -6,10 +6,10 @@
# #
msgid "" msgid ""
msgstr "" msgstr ""
"Project-Id-Version: gnome-shell 2.91.93\n" "Project-Id-Version: gnome-shell 3.0.0.2\n"
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2011-04-04 22:08+0800\n" "POT-Creation-Date: 2011-04-24 05:52+0800\n"
"PO-Revision-Date: 2011-04-04 14:55+0800\n" "PO-Revision-Date: 2011-04-24 05:54+0800\n"
"Last-Translator: Chao-Hsiung Liao <j_h_liau@yahoo.com.tw>\n" "Last-Translator: Chao-Hsiung Liao <j_h_liau@yahoo.com.tw>\n"
"Language-Team: Chinese (Taiwan) <zh-l10n@lists.linux.org.tw>\n" "Language-Team: Chinese (Taiwan) <zh-l10n@lists.linux.org.tw>\n"
"Language: \n" "Language: \n"
@ -27,9 +27,7 @@ msgid "Window management and application launching"
msgstr "視窗管理與應用程式的執行" msgstr "視窗管理與應用程式的執行"
#: ../data/org.gnome.shell.gschema.xml.in.h:1 #: ../data/org.gnome.shell.gschema.xml.in.h:1
msgid "" msgid "Allows access to internal debugging and monitoring tools using the Alt-F2 dialog."
"Allows access to internal debugging and monitoring tools using the Alt-F2 "
"dialog."
msgstr "允許使用 Alt-F2 對話盒存取內部除錯和監控工具。" msgstr "允許使用 Alt-F2 對話盒存取內部除錯和監控工具。"
#: ../data/org.gnome.shell.gschema.xml.in.h:2 #: ../data/org.gnome.shell.gschema.xml.in.h:2
@ -45,9 +43,7 @@ msgid "Framerate used for recording screencasts."
msgstr "錄製畫面廣播的框架率。" msgstr "錄製畫面廣播的框架率。"
#: ../data/org.gnome.shell.gschema.xml.in.h:5 #: ../data/org.gnome.shell.gschema.xml.in.h:5
msgid "" msgid "GNOME Shell extensions have a uuid property; this key lists extensions which should not be loaded."
"GNOME Shell extensions have a uuid property; this key lists extensions which "
"should not be loaded."
msgstr "GNOME Shell 擴充功能有 uuid 屬性;這個設定鍵列出了不應載入的擴充功能。" msgstr "GNOME Shell 擴充功能有 uuid 屬性;這個設定鍵列出了不應載入的擴充功能。"
#: ../data/org.gnome.shell.gschema.xml.in.h:6 #: ../data/org.gnome.shell.gschema.xml.in.h:6
@ -76,25 +72,8 @@ msgstr "喜好的應用程式桌面檔案 ID 清單"
#: ../data/org.gnome.shell.gschema.xml.in.h:13 #: ../data/org.gnome.shell.gschema.xml.in.h:13
#, no-c-format #, no-c-format
msgid "" msgid "Sets the GStreamer pipeline used to encode recordings. It follows the syntax used for gst-launch. The pipeline should have an unconnected sink pad where the recorded video is recorded. It will normally have a unconnected source pad; output from that pad will be written into the output file. However the pipeline can also take care of its own output - this might be used to send the output to an icecast server via shout2send or similar. When unset or set to an empty value, the default pipeline will be used. This is currently 'videorate ! vp8enc quality=10 speed=2 threads=%T ! queue ! webmmux' and records to WEBM using the VP8 codec. %T is used as a placeholder for a guess at the optimal thread count on the system."
"Sets the GStreamer pipeline used to encode recordings. It follows the syntax " msgstr "設定用來錄製的 GStreamer 管線。它依據 gst-launch 使用的語法。管線應該要有未連接的出口(sink pad),提供錄製視訊之用。它通常會有未連接的入口(source pad);從出口輸出的資訊就寫入輸出檔案。然而管線本身也會處理它本身的輸出 - 習慣上是透過 shout2send 之類將輸出傳送到 icecast 伺服器。當取消設定或設定為空值時,就會使用預設的管線。這個值目前為 'videorate ! vp8enc quality=10 speed=2 threads=%T ! queue ! webmmux' 即使用 VP8 codec 錄製 WEBM。%T 是在系統的最佳化執行緒計數猜測時使用的佔位符。"
"used for gst-launch. The pipeline should have an unconnected sink pad where "
"the recorded video is recorded. It will normally have a unconnected source "
"pad; output from that pad will be written into the output file. However the "
"pipeline can also take care of its own output - this might be used to send "
"the output to an icecast server via shout2send or similar. When unset or set "
"to an empty value, the default pipeline will be used. This is currently "
"'videorate ! vp8enc quality=10 speed=2 threads=%T ! queue ! webmmux' and "
"records to WEBM using the VP8 codec. %T is used as a placeholder for a guess "
"at the optimal thread count on the system."
msgstr ""
"設定用來錄製的 GStreamer 管線。它依據 gst-launch 使用的語法。管線應該要有未連"
"接的出口(sink pad),提供錄製視訊之用。它通常會有未連接的入口(source pad);從"
"出口輸出的資訊就寫入輸出檔案。然而管線本身也會處理它本身的輸出 - 習慣上是透"
"過 shout2send 之類將輸出傳送到 icecast 伺服器。當取消設定或設定為空值時,就會"
"使用預設的管線。這個值目前為 'videorate ! vp8enc quality=10 speed=2 threads="
"%T ! queue ! webmmux' 即使用 VP8 codec 錄製 WEBM。%T 是在系統的最佳化執行緒計"
"數猜測時使用的佔位符。"
#: ../data/org.gnome.shell.gschema.xml.in.h:14 #: ../data/org.gnome.shell.gschema.xml.in.h:14
msgid "Show date in clock" msgid "Show date in clock"
@ -109,42 +88,24 @@ msgid "Show time with seconds"
msgstr "在時刻中顯示秒數" msgstr "在時刻中顯示秒數"
#: ../data/org.gnome.shell.gschema.xml.in.h:17 #: ../data/org.gnome.shell.gschema.xml.in.h:17
msgid "" msgid "The applications corresponding to these identifiers will be displayed in the favorites area."
"The applications corresponding to these identifiers will be displayed in the "
"favorites area."
msgstr "對應這些辨別碼的應用程式會顯示在喜好區域。" msgstr "對應這些辨別碼的應用程式會顯示在喜好區域。"
#: ../data/org.gnome.shell.gschema.xml.in.h:18 #: ../data/org.gnome.shell.gschema.xml.in.h:18
msgid "" 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 filename for recorded screencasts will be a unique filename based on the " msgstr "錄製好的畫面廣播檔案名稱會以目前的時刻作為獨特的檔名,並使用這個延伸檔名。當錄製為不同的容器格式時應該做適當變更。"
"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 #: ../data/org.gnome.shell.gschema.xml.in.h:19
msgid "" msgid "The framerate of the resulting screencast recordered by GNOME Shell's screencast recorder in frames-per-second."
"The framerate of the resulting screencast recordered by GNOME Shell's " msgstr "由 GNOME Shell 的畫面廣播錄製程式所錄製成果的框架率,以 frames-per-second 計。"
"screencast recorder in frames-per-second."
msgstr ""
"由 GNOME Shell 的畫面廣播錄製程式所錄製成果的框架率,以 frames-per-second "
"計。"
#: ../data/org.gnome.shell.gschema.xml.in.h:20 #: ../data/org.gnome.shell.gschema.xml.in.h:20
msgid "The gstreamer pipeline used to encode the screencast" msgid "The gstreamer pipeline used to encode the screencast"
msgstr "用來編碼畫面廣播的 gstreamer 管線" msgstr "用來編碼畫面廣播的 gstreamer 管線"
#: ../data/org.gnome.shell.gschema.xml.in.h:21 #: ../data/org.gnome.shell.gschema.xml.in.h:21
msgid "" 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."
"The shell normally monitors active applications in order to present the most " msgstr "這個 shell 通常會監控使用中的應用程式以便能顯示出最常使用的(例如,在程式執行器中)。雖然這個資料會保持隱密,但是您可能會基於隱私的理由想要停用這個功能。請注意這麼做並不會移除已儲存的資料。"
"used ones (e.g. in launchers). While this data will be kept private, you may "
"want to disable this for privacy reasons. Please note that doing so won't "
"remove already saved data."
msgstr ""
"這個 shell 通常會監控使用中的應用程式以便能顯示出最常使用的(例如,在程式執行"
"器中)。雖然這個資料會保持隱密,但是您可能會基於隱私的理由想要停用這個功能。"
"請注意這麼做並不會移除已儲存的資料。"
#: ../data/org.gnome.shell.gschema.xml.in.h:22 #: ../data/org.gnome.shell.gschema.xml.in.h:22
msgid "Uuids of extensions to disable" msgid "Uuids of extensions to disable"
@ -178,23 +139,23 @@ msgstr "執行「%s」失敗"
msgid "All" msgid "All"
msgstr "全部" msgstr "全部"
#: ../js/ui/appDisplay.js:328 #: ../js/ui/appDisplay.js:329
msgid "APPLICATIONS" msgid "APPLICATIONS"
msgstr "程式集" msgstr "程式集"
#: ../js/ui/appDisplay.js:354 #: ../js/ui/appDisplay.js:355
msgid "SETTINGS" msgid "SETTINGS"
msgstr "設定值" msgstr "設定值"
#: ../js/ui/appDisplay.js:625 #: ../js/ui/appDisplay.js:626
msgid "New Window" msgid "New Window"
msgstr "新視窗" msgstr "新視窗"
#: ../js/ui/appDisplay.js:628 #: ../js/ui/appDisplay.js:629
msgid "Remove from Favorites" msgid "Remove from Favorites"
msgstr "自喜好中移除" msgstr "自喜好中移除"
#: ../js/ui/appDisplay.js:629 #: ../js/ui/appDisplay.js:630
msgid "Add to Favorites" msgid "Add to Favorites"
msgstr "加入喜好" msgstr "加入喜好"
@ -327,13 +288,15 @@ msgid "Nothing Scheduled"
msgstr "沒有預訂行程" msgstr "沒有預訂行程"
#. Translators: Shown on calendar heading when selected day occurs on current year #. Translators: Shown on calendar heading when selected day occurs on current year
#: ../js/ui/calendar.js:720 ../js/ui/telepathyClient.js:490 #: ../js/ui/calendar.js:720
#: ../js/ui/telepathyClient.js:492
msgctxt "calendar heading" msgctxt "calendar heading"
msgid "%A, %B %d" msgid "%A, %B %d"
msgstr "%m月%d日%A" msgstr "%m月%d日%A"
#. Translators: Shown on calendar heading when selected day occurs on different year #. Translators: Shown on calendar heading when selected day occurs on different year
#: ../js/ui/calendar.js:723 ../js/ui/telepathyClient.js:493 #: ../js/ui/calendar.js:723
#: ../js/ui/telepathyClient.js:495
msgctxt "calendar heading" msgctxt "calendar heading"
msgid "%A, %B %d, %Y" msgid "%A, %B %d, %Y"
msgstr "%Y年%m月%d日%A" msgstr "%Y年%m月%d日%A"
@ -354,7 +317,8 @@ msgstr "本週"
msgid "Next week" msgid "Next week"
msgstr "下週" msgstr "下週"
#: ../js/ui/dash.js:174 ../js/ui/messageTray.js:1007 #: ../js/ui/dash.js:174
#: ../js/ui/messageTray.js:1037
msgid "Remove" msgid "Remove"
msgstr "移除" msgstr "移除"
@ -370,41 +334,41 @@ msgstr "開啟行事曆"
#. in 24-hour mode. #. in 24-hour mode.
#: ../js/ui/dateMenu.js:164 #: ../js/ui/dateMenu.js:164
msgid "%a %b %e, %R:%S" msgid "%a %b %e, %R:%S"
msgstr "%m月%e日%a, %R:%S" msgstr "%m月%e日(%a), %R:%S"
#: ../js/ui/dateMenu.js:165 #: ../js/ui/dateMenu.js:165
msgid "%a %b %e, %R" msgid "%a %b %e, %R"
msgstr "%m月%e日%a, %R" msgstr "%m月%e日(%a), %R"
#. Translators: This is the time format without date used #. Translators: This is the time format without date used
#. in 24-hour mode. #. in 24-hour mode.
#: ../js/ui/dateMenu.js:169 #: ../js/ui/dateMenu.js:169
msgid "%a %R:%S" msgid "%a %R:%S"
msgstr "%a %R:%S" msgstr "(%a)%R:%S"
#: ../js/ui/dateMenu.js:170 #: ../js/ui/dateMenu.js:170
msgid "%a %R" msgid "%a %R"
msgstr "%a %R" msgstr "(%a)%R"
#. Translators: This is a time format with date used #. Translators: This is a time format with date used
#. for AM/PM. #. for AM/PM.
#: ../js/ui/dateMenu.js:177 #: ../js/ui/dateMenu.js:177
msgid "%a %b %e, %l:%M:%S %p" msgid "%a %b %e, %l:%M:%S %p"
msgstr "%m月%e日%a, %p %l:%M:%S" msgstr "%m月%e日(%a), %p %l:%M:%S"
#: ../js/ui/dateMenu.js:178 #: ../js/ui/dateMenu.js:178
msgid "%a %b %e, %l:%M %p" msgid "%a %b %e, %l:%M %p"
msgstr "%m月%e日%a, %p %l:%M" msgstr "%m月%e日(%a), %p %l:%M"
#. Translators: This is a time format without date used #. Translators: This is a time format without date used
#. for AM/PM. #. for AM/PM.
#: ../js/ui/dateMenu.js:182 #: ../js/ui/dateMenu.js:182
msgid "%a %l:%M:%S %p" msgid "%a %l:%M:%S %p"
msgstr "%a %p %l:%M:%S" msgstr "(%a)%p %l:%M:%S"
#: ../js/ui/dateMenu.js:183 #: ../js/ui/dateMenu.js:183
msgid "%a %l:%M %p" msgid "%a %l:%M %p"
msgstr "%a %p %l:%M" msgstr "(%a)%p %l:%M"
#. Translators: This is the date format to use when the calendar popup is #. Translators: This is the date format to use when the calendar popup is
#. * shown - it is shown just below the time in the shell (e.g. "Tue 9:29 AM"). #. * shown - it is shown just below the time in the shell (e.g. "Tue 9:29 AM").
@ -422,7 +386,8 @@ msgstr "最近使用項目"
msgid "Log Out %s" msgid "Log Out %s"
msgstr "登出 %s" msgstr "登出 %s"
#: ../js/ui/endSessionDialog.js:64 ../js/ui/endSessionDialog.js:70 #: ../js/ui/endSessionDialog.js:64
#: ../js/ui/endSessionDialog.js:70
msgid "Log Out" msgid "Log Out"
msgstr "登出" msgstr "登出"
@ -444,7 +409,8 @@ msgstr "您會在 %d 秒後自動登出。"
msgid "Logging out of the system." msgid "Logging out of the system."
msgstr "登出系統。" msgstr "登出系統。"
#: ../js/ui/endSessionDialog.js:75 ../js/ui/endSessionDialog.js:82 #: ../js/ui/endSessionDialog.js:75
#: ../js/ui/endSessionDialog.js:82
msgid "Power Off" msgid "Power Off"
msgstr "關閉電源" msgstr "關閉電源"
@ -461,7 +427,8 @@ msgstr "本系統會在 %d 秒後電源。"
msgid "Powering off the system." msgid "Powering off the system."
msgstr "關閉系統的電源。" msgstr "關閉系統的電源。"
#: ../js/ui/endSessionDialog.js:80 ../js/ui/endSessionDialog.js:88 #: ../js/ui/endSessionDialog.js:80
#: ../js/ui/endSessionDialog.js:88
#: ../js/ui/endSessionDialog.js:93 #: ../js/ui/endSessionDialog.js:93
msgid "Restart" msgid "Restart"
msgstr "重新啟動" msgstr "重新啟動"
@ -479,7 +446,8 @@ msgstr "系統會在 %d 秒內自動重新啟動。"
msgid "Restarting the system." msgid "Restarting the system."
msgstr "重新啟動系統。" msgstr "重新啟動系統。"
#: ../js/ui/endSessionDialog.js:417 ../js/ui/polkitAuthenticationAgent.js:172 #: ../js/ui/endSessionDialog.js:413
#: ../js/ui/polkitAuthenticationAgent.js:172
#: ../js/ui/status/bluetooth.js:466 #: ../js/ui/status/bluetooth.js:466
msgid "Cancel" msgid "Cancel"
msgstr "取消" msgstr "取消"
@ -494,7 +462,8 @@ msgstr "已啟用"
#. translators: #. translators:
#. * The device has been disabled #. * The device has been disabled
#: ../js/ui/lookingGlass.js:627 ../src/gvc/gvc-mixer-control.c:1091 #: ../js/ui/lookingGlass.js:627
#: ../src/gvc/gvc-mixer-control.c:1091
msgid "Disabled" msgid "Disabled"
msgstr "已停用" msgstr "已停用"
@ -514,11 +483,11 @@ msgstr "檢示來源"
msgid "Web Page" msgid "Web Page"
msgstr "網頁" msgstr "網頁"
#: ../js/ui/messageTray.js:1000 #: ../js/ui/messageTray.js:1030
msgid "Open" msgid "Open"
msgstr "開啟" msgstr "開啟"
#: ../js/ui/messageTray.js:2164 #: ../js/ui/messageTray.js:2194
msgid "System Information" msgid "System Information"
msgstr "系統資訊" msgstr "系統資訊"
@ -618,18 +587,20 @@ msgstr "搜尋中…"
msgid "No matching results." msgid "No matching results."
msgstr "沒有相符的結果。" msgstr "沒有相符的結果。"
#: ../js/ui/statusMenu.js:161 ../js/ui/statusMenu.js:163 #: ../js/ui/statusMenu.js:161
#: ../js/ui/statusMenu.js:163
#: ../js/ui/statusMenu.js:228 #: ../js/ui/statusMenu.js:228
msgid "Power Off..." msgid "Power Off..."
msgstr "關閉電源…" msgstr "關閉電源…"
#: ../js/ui/statusMenu.js:163 ../js/ui/statusMenu.js:227 #: ../js/ui/statusMenu.js:163
#: ../js/ui/statusMenu.js:227
msgid "Suspend" msgid "Suspend"
msgstr "暫停" msgstr "暫停"
#: ../js/ui/statusMenu.js:184 #: ../js/ui/statusMenu.js:184
msgid "Available" msgid "Available"
msgstr "可用" msgstr "有空"
#: ../js/ui/statusMenu.js:189 #: ../js/ui/statusMenu.js:189
msgid "Busy" msgid "Busy"
@ -697,9 +668,12 @@ msgstr "高反差"
msgid "Large Text" msgid "Large Text"
msgstr "大型文字" msgstr "大型文字"
#: ../js/ui/status/bluetooth.js:42 ../js/ui/status/bluetooth.js:237 #: ../js/ui/status/bluetooth.js:42
#: ../js/ui/status/bluetooth.js:333 ../js/ui/status/bluetooth.js:367 #: ../js/ui/status/bluetooth.js:237
#: ../js/ui/status/bluetooth.js:407 ../js/ui/status/bluetooth.js:440 #: ../js/ui/status/bluetooth.js:333
#: ../js/ui/status/bluetooth.js:367
#: ../js/ui/status/bluetooth.js:407
#: ../js/ui/status/bluetooth.js:440
msgid "Bluetooth" msgid "Bluetooth"
msgstr "藍牙" msgstr "藍牙"
@ -748,7 +722,8 @@ msgstr "鍵盤設定值"
msgid "Mouse Settings" msgid "Mouse Settings"
msgstr "滑鼠設定值" msgstr "滑鼠設定值"
#: ../js/ui/status/bluetooth.js:259 ../js/ui/status/volume.js:66 #: ../js/ui/status/bluetooth.js:259
#: ../js/ui/status/volume.js:66
msgid "Sound Settings" msgid "Sound Settings"
msgstr "音效設定值" msgstr "音效設定值"
@ -779,7 +754,8 @@ msgstr "拒絕"
msgid "Pairing confirmation for %s" msgid "Pairing confirmation for %s"
msgstr "%s 的配對確認" msgstr "%s 的配對確認"
#: ../js/ui/status/bluetooth.js:414 ../js/ui/status/bluetooth.js:448 #: ../js/ui/status/bluetooth.js:414
#: ../js/ui/status/bluetooth.js:448
#, c-format #, c-format
msgid "Device %s wants to pair with this computer" msgid "Device %s wants to pair with this computer"
msgstr "裝置 %s 想要和這個電腦配對" msgstr "裝置 %s 想要和這個電腦配對"
@ -818,139 +794,142 @@ msgstr "顯示鍵盤配置…"
msgid "Localization Settings" msgid "Localization Settings"
msgstr "本地化設定值" msgstr "本地化設定值"
#: ../js/ui/status/network.js:105 ../js/ui/status/network.js:1466 #: ../js/ui/status/network.js:109
#: ../js/ui/status/network.js:1498
msgid "<unknown>" msgid "<unknown>"
msgstr "<不明>" msgstr "<不明>"
#. Translators: this indicates that wireless or wwan is disabled by hardware killswitch #. Translators: this indicates that wireless or wwan is disabled by hardware killswitch
#: ../js/ui/status/network.js:318 #: ../js/ui/status/network.js:326
msgid "disabled" msgid "disabled"
msgstr "已停用" msgstr "已停用"
#: ../js/ui/status/network.js:501 #: ../js/ui/status/network.js:521
msgid "connecting..." msgid "connecting..."
msgstr "連線中…" msgstr "連線中…"
#. Translators: this is for network connections that require some kind of key or password #. Translators: this is for network connections that require some kind of key or password
#: ../js/ui/status/network.js:504 #: ../js/ui/status/network.js:524
msgid "authentication required" msgid "authentication required"
msgstr "要求驗證" msgstr "要求驗證"
#. Translators: this is for devices that require some kind of firmware or kernel #. Translators: this is for devices that require some kind of firmware or kernel
#. module, which is missing #. module, which is missing
#: ../js/ui/status/network.js:514 #: ../js/ui/status/network.js:534
msgid "firmware missing" msgid "firmware missing"
msgstr "缺少韌體" msgstr "缺少韌體"
#. Translators: this is for wired network devices that are physically disconnected #. Translators: this is for wired network devices that are physically disconnected
#: ../js/ui/status/network.js:521 #: ../js/ui/status/network.js:541
msgid "cable unplugged" msgid "cable unplugged"
msgstr "纜線已拔除" msgstr "纜線已拔除"
#. Translators: this is for a network device that cannot be activated (for example it #. Translators: this is for a network device that cannot be activated (for example it
#. is disabled by rfkill, or it has no coverage #. is disabled by rfkill, or it has no coverage
#: ../js/ui/status/network.js:526 #: ../js/ui/status/network.js:546
msgid "unavailable" msgid "unavailable"
msgstr "無法使用" msgstr "無法使用"
#: ../js/ui/status/network.js:528 #: ../js/ui/status/network.js:548
msgid "connection failed" msgid "connection failed"
msgstr "連線失敗" msgstr "連線失敗"
#. TRANSLATORS: this is the indication that a connection for another logged in user is active, #. TRANSLATORS: this is the indication that a connection for another logged in user is active,
#. and we cannot access its settings (including the name) #. and we cannot access its settings (including the name)
#: ../js/ui/status/network.js:608 ../js/ui/status/network.js:1414 #: ../js/ui/status/network.js:628
#: ../js/ui/status/network.js:1446
msgid "Connected (private)" msgid "Connected (private)"
msgstr "已連線 (私人)" msgstr "已連線 (私人)"
#: ../js/ui/status/network.js:689 #: ../js/ui/status/network.js:713
msgid "Auto Ethernet" msgid "Auto Ethernet"
msgstr "自動使用乙太網路" msgstr "自動使用乙太網路"
#: ../js/ui/status/network.js:764 #: ../js/ui/status/network.js:788
msgid "Auto broadband" msgid "Auto broadband"
msgstr "自動使用行動寬頻" msgstr "自動使用行動寬頻"
#: ../js/ui/status/network.js:767 #: ../js/ui/status/network.js:791
msgid "Auto dial-up" msgid "Auto dial-up"
msgstr "自動使用撥接" msgstr "自動使用撥接"
#. TRANSLATORS: this the automatic wireless connection name (including the network name) #. TRANSLATORS: this the automatic wireless connection name (including the network name)
#: ../js/ui/status/network.js:910 ../js/ui/status/network.js:1426 #: ../js/ui/status/network.js:937
#: ../js/ui/status/network.js:1458
#, c-format #, c-format
msgid "Auto %s" msgid "Auto %s"
msgstr "自動使用 %s" msgstr "自動使用 %s"
#: ../js/ui/status/network.js:912 #: ../js/ui/status/network.js:939
msgid "Auto bluetooth" msgid "Auto bluetooth"
msgstr "自動使用藍牙" msgstr "自動使用藍牙"
#: ../js/ui/status/network.js:1428 #: ../js/ui/status/network.js:1460
msgid "Auto wireless" msgid "Auto wireless"
msgstr "自動使用無線網路" msgstr "自動使用無線網路"
#: ../js/ui/status/network.js:1486 #: ../js/ui/status/network.js:1518
msgid "More..." msgid "More..."
msgstr "更多…" msgstr "更多…"
#: ../js/ui/status/network.js:1509 #: ../js/ui/status/network.js:1541
msgid "Enable networking" msgid "Enable networking"
msgstr "啟用網路" msgstr "啟用網路"
#: ../js/ui/status/network.js:1521 #: ../js/ui/status/network.js:1553
msgid "Wired" msgid "Wired"
msgstr "有線" msgstr "有線"
#: ../js/ui/status/network.js:1532 #: ../js/ui/status/network.js:1564
msgid "Wireless" msgid "Wireless"
msgstr "無線" msgstr "無線"
#: ../js/ui/status/network.js:1542 #: ../js/ui/status/network.js:1574
msgid "Mobile broadband" msgid "Mobile broadband"
msgstr "行動寬頻" msgstr "行動寬頻"
#: ../js/ui/status/network.js:1552 #: ../js/ui/status/network.js:1584
msgid "VPN Connections" msgid "VPN Connections"
msgstr "VPN 連線" msgstr "VPN 連線"
#: ../js/ui/status/network.js:1564 #: ../js/ui/status/network.js:1596
msgid "Network Settings" msgid "Network Settings"
msgstr "網路設定值" msgstr "網路設定值"
#: ../js/ui/status/network.js:1854 #: ../js/ui/status/network.js:1890
#, c-format #, c-format
msgid "You're now connected to mobile broadband connection '%s'" msgid "You're now connected to mobile broadband connection '%s'"
msgstr "您現在已連線至行動寬頻網路連線「%s」" msgstr "您現在已連線至行動寬頻網路連線「%s」"
#: ../js/ui/status/network.js:1858 #: ../js/ui/status/network.js:1894
#, c-format #, c-format
msgid "You're now connected to wireless network '%s'" msgid "You're now connected to wireless network '%s'"
msgstr "您現在已連線到無線網路「%s」" msgstr "您現在已連線到無線網路「%s」"
#: ../js/ui/status/network.js:1862 #: ../js/ui/status/network.js:1898
#, c-format #, c-format
msgid "You're now connected to wired network '%s'" msgid "You're now connected to wired network '%s'"
msgstr "您現在已連線至有線網路「%s」" msgstr "您現在已連線至有線網路「%s」"
#: ../js/ui/status/network.js:1866 #: ../js/ui/status/network.js:1902
#, c-format #, c-format
msgid "You're now connected to VPN network '%s'" msgid "You're now connected to VPN network '%s'"
msgstr "您現在已連線至 VPN 網路「%s」" msgstr "您現在已連線至 VPN 網路「%s」"
#: ../js/ui/status/network.js:1871 #: ../js/ui/status/network.js:1907
#, c-format #, c-format
msgid "You're now connected to '%s'" msgid "You're now connected to '%s'"
msgstr "您現在已連線至「%s」" msgstr "您現在已連線至「%s」"
#: ../js/ui/status/network.js:1879 #: ../js/ui/status/network.js:1915
msgid "Connection established" msgid "Connection established"
msgstr "連線已建立" msgstr "連線已建立"
#: ../js/ui/status/network.js:2005 #: ../js/ui/status/network.js:2041
msgid "Networking is disabled" msgid "Networking is disabled"
msgstr "網路已停用" msgstr "網路已停用"
#: ../js/ui/status/network.js:2130 #: ../js/ui/status/network.js:2166
msgid "Network Manager" msgid "Network Manager"
msgstr "網路管理員" msgstr "網路管理員"
@ -1036,7 +1015,8 @@ msgstr "手寫板"
msgid "Computer" msgid "Computer"
msgstr "電腦" msgstr "電腦"
#: ../js/ui/status/power.js:250 ../src/shell-app-system.c:1088 #: ../js/ui/status/power.js:250
#: ../src/shell-app-system.c:1088
msgid "Unknown" msgid "Unknown"
msgstr "不明" msgstr "不明"
@ -1071,7 +1051,7 @@ msgstr "%s 正忙碌。"
#. Translators: this is a time format string followed by a date. #. Translators: this is a time format string followed by a date.
#. If applicable, replace %X with a strftime format valid for your #. If applicable, replace %X with a strftime format valid for your
#. locale, without seconds. #. locale, without seconds.
#: ../js/ui/telepathyClient.js:482 #: ../js/ui/telepathyClient.js:484
#, no-c-format #, no-c-format
msgid "Sent at %X on %A" msgid "Sent at %X on %A"
msgstr "傳送於 %X %A" msgstr "傳送於 %X %A"
@ -1084,7 +1064,8 @@ msgstr "傳送於 %X %A"
msgid "Type to search..." msgid "Type to search..."
msgstr "輸入以搜尋…" msgstr "輸入以搜尋…"
#: ../js/ui/viewSelector.js:142 ../src/shell-util.c:250 #: ../js/ui/viewSelector.js:142
#: ../src/shell-util.c:250
msgid "Search" msgid "Search"
msgstr "搜尋" msgstr "搜尋"
@ -1118,7 +1099,7 @@ msgstr[0] "%u 輸入"
msgid "System Sounds" msgid "System Sounds"
msgstr "系統音效" msgstr "系統音效"
#: ../src/main.c:446 #: ../src/main.c:445
msgid "Print version" msgid "Print version"
msgstr "顯示版本" msgstr "顯示版本"
@ -1189,18 +1170,14 @@ msgstr "%1$s%2$s"
#~ msgid "Shut Down" #~ msgid "Shut Down"
#~ msgstr "關機" #~ msgstr "關機"
#~ msgid "Click Shut Down to quit these applications and shut down the system." #~ msgid "Click Shut Down to quit these applications and shut down the system."
#~ msgstr "點選關機以結束這些應用程式並將系統關機。" #~ msgstr "點選關機以結束這些應用程式並將系統關機。"
#~ msgid "The system will shut down automatically in %d seconds." #~ msgid "The system will shut down automatically in %d seconds."
#~ msgstr "本系統會在 %d 秒後自動關閉。" #~ msgstr "本系統會在 %d 秒後自動關閉。"
#~ msgid "Shutting down the system." #~ msgid "Shutting down the system."
#~ msgstr "正在關閉系統。" #~ msgstr "正在關閉系統。"
#~ msgid "Confirm" #~ msgid "Confirm"
#~ msgstr "確認" #~ msgstr "確認"
#~ msgid "No such application" #~ msgid "No such application"
#~ msgstr "沒有這個應用程式" #~ msgstr "沒有這個應用程式"

View File

@ -29,9 +29,11 @@ endif
noinst_DATA = gnome-shell noinst_DATA = gnome-shell
gnome-shell: $(gnome_shell) Makefile gnome-shell: $(gnome_shell) Makefile
cp $< $@.tmp && mv $@.tmp $@ $(AM_V_GEN) cp $< $@.tmp && mv $@.tmp $@
install-exec-hook: install-exec-hook:
mv $(DESTDIR)$(bindir)/$(gnome_shell) $(DESTDIR)$(bindir)/gnome-shell mv $(DESTDIR)$(bindir)/$(gnome_shell) $(DESTDIR)$(bindir)/gnome-shell
uninstall-hook:
rm -f $(DESTDIR)$(bindir)/gnome-shell
generated_script_substitutions = \ generated_script_substitutions = \
-e "s|@bindir[@]|$(bindir)|" \ -e "s|@bindir[@]|$(bindir)|" \

View File

@ -73,13 +73,10 @@ shell_dbus_init (gboolean replace)
exit (1); exit (1);
} }
/* Also grab org.gnome.Panel to replace any existing panel process, /* Also grab org.gnome.Panel to replace any existing panel process */
* unless a special environment variable is passed. The environment
* variable is used by the gnome-shell (no --replace) launcher in
* Xephyr */
if (!dbus_g_proxy_call (bus, "RequestName", &error, G_TYPE_STRING, if (!dbus_g_proxy_call (bus, "RequestName", &error, G_TYPE_STRING,
"org.gnome.Panel", G_TYPE_UINT, "org.gnome.Panel", G_TYPE_UINT,
DBUS_NAME_FLAG_REPLACE_EXISTING | DBUS_NAME_FLAG_DO_NOT_QUEUE, DBUS_NAME_FLAG_REPLACE_EXISTING | request_name_flags,
G_TYPE_INVALID, G_TYPE_UINT, G_TYPE_INVALID, G_TYPE_UINT,
&request_name_result, G_TYPE_INVALID)) &request_name_result, G_TYPE_INVALID))
{ {
@ -91,7 +88,7 @@ shell_dbus_init (gboolean replace)
*/ */
if (!dbus_g_proxy_call (bus, "RequestName", &error, if (!dbus_g_proxy_call (bus, "RequestName", &error,
G_TYPE_STRING, MAGNIFIER_DBUS_SERVICE, G_TYPE_STRING, MAGNIFIER_DBUS_SERVICE,
G_TYPE_UINT, 0, G_TYPE_UINT, DBUS_NAME_FLAG_REPLACE_EXISTING | request_name_flags,
G_TYPE_INVALID, G_TYPE_INVALID,
G_TYPE_UINT, &request_name_result, G_TYPE_UINT, &request_name_result,
G_TYPE_INVALID)) G_TYPE_INVALID))
@ -101,11 +98,13 @@ shell_dbus_init (gboolean replace)
* but keep going. */ * but keep going. */
} }
/* ...and the org.freedesktop.Notifications service. /* ...and the org.freedesktop.Notifications service; we always
* specify REPLACE_EXISTING to ensure we kill off
* notification-daemon if it was running.
*/ */
if (!dbus_g_proxy_call (bus, "RequestName", &error, if (!dbus_g_proxy_call (bus, "RequestName", &error,
G_TYPE_STRING, "org.freedesktop.Notifications", G_TYPE_STRING, "org.freedesktop.Notifications",
G_TYPE_UINT, DBUS_NAME_FLAG_REPLACE_EXISTING | DBUS_NAME_FLAG_DO_NOT_QUEUE, G_TYPE_UINT, DBUS_NAME_FLAG_REPLACE_EXISTING | request_name_flags,
G_TYPE_INVALID, G_TYPE_INVALID,
G_TYPE_UINT, &request_name_result, G_TYPE_UINT, &request_name_result,
G_TYPE_INVALID)) G_TYPE_INVALID))

View File

@ -415,6 +415,16 @@ shell_app_activate_window (ShellApp *app,
meta_window_get_user_time (most_recent_transient))) meta_window_get_user_time (most_recent_transient)))
window = most_recent_transient; window = most_recent_transient;
if (!shell_window_tracker_is_window_interesting (window))
{
/* We won't get notify::user-time signals for uninteresting windows,
* which means that an app's last_user_time won't get updated.
* Update it here instead.
*/
app->running_state->last_user_time = timestamp;
}
if (active != workspace) if (active != workspace)
meta_workspace_activate_with_focus (workspace, window, timestamp); meta_workspace_activate_with_focus (workspace, window, timestamp);
else else

View File

@ -429,12 +429,14 @@ get_app_for_window (ShellWindowTracker *monitor,
} }
} }
result = get_app_from_window_pid (monitor, window); /* Check if the app's WM_CLASS specifies an app; this is
* canonical if it does.
*/
result = get_app_from_window_wmclass (window);
if (result != NULL) if (result != NULL)
return result; return result;
/* Check if the app's WM_CLASS specifies an app */ result = get_app_from_window_pid (monitor, window);
result = get_app_from_window_wmclass (window);
if (result != NULL) if (result != NULL)
return result; return result;
@ -886,7 +888,7 @@ on_focus_window_changed (MetaDisplay *display,
ShellApp *new_focus_app; ShellApp *new_focus_app;
new_focus_win = meta_display_get_focus_window (display); new_focus_win = meta_display_get_focus_window (display);
new_focus_app = new_focus_win ? g_hash_table_lookup (tracker->window_to_app, new_focus_win) : NULL; new_focus_app = new_focus_win ? shell_window_tracker_get_window_app (tracker, new_focus_win) : NULL;
set_focus_app (tracker, new_focus_app); set_focus_app (tracker, new_focus_app);
} }

View File

@ -254,6 +254,7 @@ xfixes_cursor_reset_image (ShellXFixesCursor *xfixes_cursor)
xfixes_cursor->cursor_hot_y = cursor_image->yhot; xfixes_cursor->cursor_hot_y = cursor_image->yhot;
g_signal_emit (xfixes_cursor, signals[CURSOR_CHANGED], 0); g_signal_emit (xfixes_cursor, signals[CURSOR_CHANGED], 0);
} }
XFree (cursor_image);
} }
static void static void

View File

@ -376,21 +376,27 @@ st_label_set_text (StLabel *label,
const gchar *text) const gchar *text)
{ {
StLabelPrivate *priv; StLabelPrivate *priv;
ClutterText *ctext;
g_return_if_fail (ST_IS_LABEL (label)); g_return_if_fail (ST_IS_LABEL (label));
g_return_if_fail (text != NULL); g_return_if_fail (text != NULL);
priv = label->priv; priv = label->priv;
ctext = CLUTTER_TEXT (priv->label);
if (priv->text_shadow_material != COGL_INVALID_HANDLE) if (clutter_text_get_editable (ctext) ||
g_strcmp0 (clutter_text_get_text (ctext), text) != 0)
{ {
cogl_handle_unref (priv->text_shadow_material); if (priv->text_shadow_material != COGL_INVALID_HANDLE)
priv->text_shadow_material = COGL_INVALID_HANDLE; {
cogl_handle_unref (priv->text_shadow_material);
priv->text_shadow_material = COGL_INVALID_HANDLE;
}
clutter_text_set_text (ctext, text);
g_object_notify (G_OBJECT (label), "text");
} }
clutter_text_set_text (CLUTTER_TEXT (priv->label), text);
g_object_notify (G_OBJECT (label), "text");
} }
/** /**

View File

@ -667,6 +667,7 @@ cairo_pattern_t *
_st_create_shadow_cairo_pattern (StShadow *shadow_spec, _st_create_shadow_cairo_pattern (StShadow *shadow_spec,
cairo_pattern_t *src_pattern) cairo_pattern_t *src_pattern)
{ {
static cairo_user_data_key_t shadow_pattern_user_data;
cairo_t *cr; cairo_t *cr;
cairo_surface_t *src_surface; cairo_surface_t *src_surface;
cairo_surface_t *surface_in; cairo_surface_t *surface_in;
@ -728,6 +729,8 @@ _st_create_shadow_cairo_pattern (StShadow *shadow_spec,
width_out, width_out,
height_out, height_out,
rowstride_out); rowstride_out);
cairo_surface_set_user_data (surface_out, &shadow_pattern_user_data,
pixels_out, (cairo_destroy_func_t) g_free);
dst_pattern = cairo_pattern_create_for_surface (surface_out); dst_pattern = cairo_pattern_create_for_surface (surface_out);
cairo_surface_destroy (surface_out); cairo_surface_destroy (surface_out);
@ -745,7 +748,6 @@ _st_create_shadow_cairo_pattern (StShadow *shadow_spec,
(width_out - width_in) / 2.0, (width_out - width_in) / 2.0,
(height_out - height_in) / 2.0); (height_out - height_in) / 2.0);
cairo_pattern_set_matrix (dst_pattern, &shadow_matrix); cairo_pattern_set_matrix (dst_pattern, &shadow_matrix);
return dst_pattern; return dst_pattern;
} }

View File

@ -422,8 +422,6 @@ st_scroll_view_get_preferred_height (ClutterActor *actor,
clutter_actor_get_preferred_width (priv->child, -1, clutter_actor_get_preferred_width (priv->child, -1,
&child_min_width, NULL); &child_min_width, NULL);
natural_height = child_natural_height;
if (min_height_p) if (min_height_p)
*min_height_p = 0; *min_height_p = 0;

View File

@ -1154,7 +1154,6 @@ create_texture_and_ensure_request (StTextureCache *cache,
{ {
/* Not cached and no pending request, create it */ /* Not cached and no pending request, create it */
*request = g_new0 (AsyncTextureLoadData, 1); *request = g_new0 (AsyncTextureLoadData, 1);
(*request)->key = g_strdup (key);
g_hash_table_insert (cache->priv->outstanding_requests, g_strdup (key), *request); g_hash_table_insert (cache->priv->outstanding_requests, g_strdup (key), *request);
} }
else else
@ -1209,9 +1208,10 @@ load_gicon_with_colors (StTextureCache *cache,
info = gtk_icon_theme_lookup_by_gicon (theme, icon, size, GTK_ICON_LOOKUP_USE_BUILTIN); info = gtk_icon_theme_lookup_by_gicon (theme, icon, size, GTK_ICON_LOOKUP_USE_BUILTIN);
if (info != NULL) if (info != NULL)
{ {
/* Transfer ownership of key */
request->key = key;
/* hardcoded here for now; we should actually blow this away on /* hardcoded here for now; we should actually blow this away on
* icon theme changes probably */ * icon theme changes probably */
request->key = g_strdup (key);
request->policy = ST_TEXTURE_CACHE_POLICY_FOREVER; request->policy = ST_TEXTURE_CACHE_POLICY_FOREVER;
request->icon = g_object_ref (icon); request->icon = g_object_ref (icon);
request->icon_info = info; request->icon_info = info;
@ -1223,17 +1223,17 @@ load_gicon_with_colors (StTextureCache *cache,
else else
{ {
/* Blah; we failed to find the icon, but we've added our texture to the outstanding /* Blah; we failed to find the icon, but we've added our texture to the outstanding
* requests. In that case, just undo what create_texture_lookup_status did. * requests. In that case, just undo what create_texture_and_ensure_request() did.
*/ */
g_slist_foreach (request->textures, (GFunc) g_object_unref, NULL); g_slist_foreach (request->textures, (GFunc) g_object_unref, NULL);
g_slist_free (request->textures); g_slist_free (request->textures);
g_free (request); g_free (request);
g_hash_table_remove (cache->priv->outstanding_requests, key); g_hash_table_remove (cache->priv->outstanding_requests, key);
g_free (key);
g_object_unref (texture); g_object_unref (texture);
texture = NULL; texture = NULL;
} }
g_free (key);
return CLUTTER_ACTOR (texture); return CLUTTER_ACTOR (texture);
} }