Compare commits

...

37 Commits

Author SHA1 Message Date
Dz Chen
5e290d06dd Update zh_CN translation 2017-10-21 19:38:34 +08:00
Jeremy Bicha
b08270a750 tests: Update markup test for function moved to messageList
https://bugzilla.gnome.org/show_bug.cgi?id=782802
2017-05-19 08:29:46 -04:00
Ray Strode
783f9b1739 loginDialog: don't allow type ahead at the login screen
It's weird if after you select a username from the user list, there's
a password already filled in.

This commit disables at that feature for the login screen
(but keeps it in tact for the unlock screen)

https://bugzilla.gnome.org/show_bug.cgi?id=766139
2017-02-14 03:04:53 +01:00
Muhammet Kara
7db0729ea1 Update Turkish translation 2017-01-08 20:03:47 +00:00
Debarshi Ray
adcf275b86 portalHelper: Address intermittent TLS failures
Users are currently experiencing intermittent (and hard to debug) TLS
errors when loading the portal authentication page. This could be
caused by using http://www.gnome.org/ for our connectivity checks
because it redirects to HTTPS.

We can completely remove TLS from the equation by not using HTTPS.
http://nmcheck.gnome.org/ is a good choice because it doesn't redirect
to HTTPS and was created for NetworkManager's connectivity check.

https://bugzilla.gnome.org/show_bug.cgi?id=769940
2016-11-23 18:41:31 +01:00
Carlos Garcia Campos
f49e28aedc browser-plugin: The NPObject returned by NPP_GetValue should be retained
The Mozilla documentation says: "And as always when working with
reference counted NPObjects, the caller is responsible for calling
NPN_ReleaseObject on the NPObject to drop the reference."

Browsers assume that the plugin does the right thing and always call
NPN_ReleaseObject. At some point the object is released and deallocated
and both the plugin and browser still have references to the object
thinking that it's still alive. That's why the crash is sometimes in the
plugin when it tries to use the np object, and sometimes in the browser.

https://bugzilla.gnome.org/post_bug.cgi
2016-10-29 10:48:37 -05:00
gogo
80b2e810ed Add Croatian translation 2016-10-09 19:25:11 +00:00
GNOME Translation Robot
d5dc463a87 Updated Scottish Gaelic translation 2016-09-13 09:43:19 +00:00
Michael Catanzaro
15e727e174 loginDialog: fix cancel button in ask for username mode
If the user clicks Not Listed? to enter ask for username mode, clicks
cancel, and then attempts to log in via the user list, the user will see
"Authentication failed" after correctly typing the password, and then
will become stuck in an empty screen with just the gray noise background.

The problem is, we forgot to disconnect from the signal that's waiting
for the next button to be pressed on the username entry screen. Since
the signal handler that executes here is expecting the username to be
input, and isn't prepared for us to have switched back to user list,
various bad things happen. We try to start two gdm-password
conversations at once, for instance, one using the user's password as
the username. I stopped investigating here, because it's easy to fix by
disconnecting from the signal at the right time.

https://bugzilla.gnome.org/show_bug.cgi?id=770328
2016-09-10 16:51:19 -05:00
Florian Müllner
890a1f112b calendar-server: Add back missing return value
In commit 7e0e224e0, when moving from e_cal_recur_generate_instances()
to e_cal_client_generate_instances(), the return value of the
ECalRecurInstanceFn callback was accidentally removed; add it
back.

https://bugzilla.gnome.org/show_bug.cgi?id=769156
2016-08-20 01:37:59 +02:00
Florian Müllner
a7ab0892e6 Update to 3.20.4
Update NEWS.
2016-08-19 22:58:50 +02:00
Piotr Drąg
1d9f48993e Updated Polish translation 2016-07-12 21:22:04 +02:00
Florian Müllner
b21e4d1dee calendar-server: Use the actual recurrence ID of events
Instead of querying the client for a list of objects and using
e_cal_recur_generate_instances() to get occurrences for each of
them, we can use e_cal_client_generate_instances_sync() which
combines the functionality of both functions. This doesn't only
save us some lines of code (yay!), but also gives us access to
the real recurrence ID of an event, so we can get rid of the hack
of faking one.

https://bugzilla.gnome.org/show_bug.cgi?id=748226
2016-07-08 18:09:22 +02:00
Florian Müllner
bea8def074 calendar-server: Get recurrence ID from occurrences
We use the triplet of source ID, UID and recurrence ID to create
an ID to unambiguously identify an event, which we use to implement
hiding dismissed events from the calendar. However we currently
try to fetch the recurrence ID from the objects returned by
e_cal_client_get_object_list_sync(), which are always the primary
events with no recurrence ID. Instead, we need a recurrence ID
associated with each occurrence.

https://bugzilla.gnome.org/show_bug.cgi?id=748226
2016-07-08 18:09:22 +02:00
Florian Müllner
0d862181f2 calendar-server: Fetch default zone from client
We are already setting the default zone on the client, no need
to pass it around.

https://bugzilla.gnome.org/show_bug.cgi?id=748226
2016-07-08 18:09:22 +02:00
Florian Müllner
8994d53355 calendar-server: Fix a memory leak
App will take ownership of the location string when the timezone
changes, but not when there was no change - free the memory in
that case.

https://bugzilla.gnome.org/show_bug.cgi?id=748226
2016-07-08 18:09:22 +02:00
Florian Müllner
7327448f45 calendar-server: Minor optimization
We use the same query string for all sources, so no need to
allocate/free it on each loop iteration.

https://bugzilla.gnome.org/show_bug.cgi?id=748226
2016-07-08 18:09:22 +02:00
Florian Müllner
8587fc7461 calendar-server: Remove an unnecessary check
calendar_appointment_new() never returns %NULL, so no need to check
for it.
2016-07-08 18:09:18 +02:00
Florian Müllner
7c44909da6 location: Update for PermissionStore DBus API changes
As xdg-app has been renamed to Flatpak, the permission store's
bus name and interface name have been changes as well.

https://bugzilla.gnome.org/show_bug.cgi?id=766598
2016-07-08 13:15:24 +02:00
Bruce Cowan
6a93afa333 Updated British English translation 2016-07-01 17:17:05 +01:00
Hyungwon Hwang
71c26cc7ce background: free MetaBackground explicitly when its MetaBackgroundActor is destroyed
The memory which MetaBackground resides is freed automatically, when its
wrapper object Background is freed by garbage collection. But because the
memory for MetaBackground is huge, changing the background or changing the
background mode repeatedly makes a lot of memory to be in use until garbage
collection runs.

This patch frees the MetaBackground object explicitly when its
MetaBackgroundActor is destroyed which is the moment that the memory in the
object is not used anymore.

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

Signed-off-by: Hyungwon Hwang <hyungwon.hwang7@gmail.com>
2016-06-29 15:17:56 +02:00
Florian Müllner
e0307bb7e0 Bump version to 3.20.3
Update NEWS.
2016-06-29 01:04:47 +02:00
Florian Müllner
550715a071 build: Fix check-for-missing for srcdir != builddir 2016-06-29 01:04:47 +02:00
Florian Müllner
faa5c179e8 Revert "windowManager: Avoid code duplication"
The change requires code changes to the AlternateTab extension,
which would then break the extension for older gnome-shell point
releases. Just keep the cleanup out of the stable branch to avoid
that breakage.

This reverts commit 74553fa95e.
2016-06-29 01:04:47 +02:00
Hans Petter Jansson
90596b0964 theme-node: Fix leak on stylesheet change.
on_custom_stylesheet_changed() would set properties_computed to FALSE
without freeing the old properties, then the properties pointer would
be overwritten in ensure_properties().

https://bugzilla.gnome.org/show_bug.cgi?id=710230
2016-06-29 01:04:47 +02:00
Rui Matos
8954d99659 shell-recorder: Avoid a crash when the cursor texture is NULL
When running as a wayland compositor, MetaCursorTracker might
legitimately not have a displayed cursor because e.g. a client unsets
the cursor surface.

Note that, under an X session, the assumption that the tracker always
has a cursor texture is true because XFixesGetCursorImage() always
returns data even if the cursor isn't visible.

https://bugzilla.gnome.org/show_bug.cgi?id=767001
2016-06-28 19:02:40 +02:00
Rui Matos
a300a3d6aa shell-recorder: Ensure we remove the redraw timeout on finalize
Otherwise we may end up using freed memory and crashing

https://bugzilla.gnome.org/show_bug.cgi?id=767001
2016-06-28 19:02:39 +02:00
Andika Triwidada
23788b9e7d Updated Indonesian translation 2016-06-24 10:52:42 +00:00
David Woodhouse
5d307c9ad5 NetworkAgent: Handle VPN service aliases
A VPN plugin can support multiple services, indicated by an 'aliases' key.

We need to be able to spawn the appropriate auth-dialog for these aliases,
as well as the base service.

Covered as an afterthought (from comment 57) in
https://bugzilla.gnome.org/show_bug.cgi?id=658484

See also https://bugzilla.gnome.org/show_bug.cgi?id=746664 and
https://bugzilla.gnome.org/show_bug.cgi?id=767197
2016-06-03 18:24:47 +01:00
Florian Müllner
74553fa95e windowManager: Avoid code duplication
The various switcher keybindings are handled identically, except for
the popup that is shown; update the code to reflect that instead of
duplicating the code again and again.

https://bugzilla.gnome.org/show_bug.cgi?id=730739
2016-05-19 17:43:43 +02:00
Florian Müllner
bc4891c3a3 altTab: Take over cycle-windows/cycle-group keybindings
The code to handle cycling through windows without showing a popup
was removed from mutter a while ago, which left the corresponding
keybindings mostly broken (i.e. they now only switch between two
windows). With the various switch-foo keybindings handled by the
shell, it is now easier to take over the cycle-foo keybindings as
well.

https://bugzilla.gnome.org/show_bug.cgi?id=730739
2016-05-19 17:43:43 +02:00
Martin Szulecki
35cc224240 st: Init framebuffer early to fix gnome-shell crash on NVIDIA drivers
Checking offscreen for COGL_INVALID_HANDLE is not sufficient,
as cogl_offscreen_new_with_texture doesn't initialize framebuffer
objects but lets Cogl solve this the lazy way.
cogl_offscreen_new_with_texture will never return COGL_INVALID_HANDLE
anyways.

https://bugzilla.gnome.org/show_bug.cgi?id=764898
2016-05-17 17:21:32 +02:00
Sveinn í Felli
3bbf681385 Updated Icelandic translation 2016-05-14 22:23:50 +00:00
Florian Müllner
ae6256ba16 app: Consider minimized windows for app comparisons
We used to take window visibility into account when comparing apps
until commit 1dfc38d078, following changes in the window switcher
due to auto-minimization. However auto-minimization was abolished
and the window switcher changes reverted, so it makes sense again
to sort apps without non-minimized windows last again.

https://bugzilla.gnome.org/show_bug.cgi?id=766238
2016-05-11 16:34:44 +02:00
Florian Müllner
3cf2e1ad8b Bump version to 3.20.2
Update NEWS.
2016-05-10 22:21:02 +02:00
Kjartan Maraas
d756e2eefb Updated Norwegian bokmål translation. 2016-05-03 23:35:50 +02:00
Tiago Santos
ea27ed8c55 Updated Portuguese translation 2016-04-30 15:48:52 +00:00
29 changed files with 4388 additions and 1696 deletions

42
NEWS
View File

@ -1,3 +1,45 @@
3.20.4
======
* Free old backgrounds immediately [Hyungwon; #766353]
* Adjust to flatpak PermissionStore API changes [Florian; #766598]
* calendar: Only hide dismissed occurrence of recurring event [Florian; #748226]
Contributors:
Hyungwon Hwang, Florian Müllner
Translations:
Bruce Cowan [en_GB], Piotr Drąg [pl]
3.20.3
======
* Fix sorting of hidden apps in app switcher [Florian; #766238]
* Allocate framebuffers early to fix a crash on NVIDIA [Martin; #764898]
* Fix cycle-windows/cycle-group keybindings [Florian; #730739]
* networkAgent: Handle VPN service aliases [David; #658484]
* Fix crash when using screen recorder under wayland [Rui; #767001]
* Plug a memory leak [Hans; #710230]
Contributors:
Rui Matos, Florian Müllner, Hans Petter Jansson, Martin Szulecki,
David Woodhouse
Translations:
Sveinn í Felli [is], Andika Triwidada [id]
3.20.2
======
* Save screencasts in HOME if XDG_VIDEO_DIR doesn't exist [Florian; #765015]
* Don't show orientation lock when g-s-d won't rotate [Florian; #765267]
* Misc. bug fixes [Heiher, Florian, Marek; #722752, #765061, #763068, #765607,
#757676]
Contributors:
Heiher, Marek Chalupa, Florian Müllner
Translations:
Arash Mousavi [fa], Kristjan SCHMIDT [eo], Tiago Santos [pt],
Kjartan Maraas [nb]
3.20.1
======
* Plug a memory leak [Aaron; #735705]

View File

@ -1029,6 +1029,7 @@ NPP_GetValue(NPP instance,
if (!instance->pdata)
return NPERR_INVALID_INSTANCE_ERROR;
funcs.retainobject (instance->pdata);
*(NPObject**)value = instance->pdata;
break;

View File

@ -1,5 +1,5 @@
AC_PREREQ(2.63)
AC_INIT([gnome-shell],[3.20.1],[https://bugzilla.gnome.org/enter_bug.cgi?product=gnome-shell],[gnome-shell])
AC_INIT([gnome-shell],[3.20.4],[https://bugzilla.gnome.org/enter_bug.cgi?product=gnome-shell],[gnome-shell])
AX_IS_RELEASE([git-directory])
AC_CONFIG_HEADERS([config.h])
@ -77,7 +77,7 @@ AC_MSG_RESULT($enable_systemd)
CLUTTER_MIN_VERSION=1.21.5
GOBJECT_INTROSPECTION_MIN_VERSION=1.45.4
GJS_MIN_VERSION=1.39.0
MUTTER_MIN_VERSION=3.20.0
MUTTER_MIN_VERSION=3.20.2
GTK_MIN_VERSION=3.15.0
GIO_MIN_VERSION=2.45.3
LIBECAL_MIN_VERSION=3.5.3

View File

@ -804,6 +804,11 @@ const LoginDialog = new Lang.Class({
this._user = null;
if (this._nextSignalId) {
this._authPrompt.disconnect(this._nextSignalId);
this._nextSignalId = 0;
}
if (beginRequest == AuthPrompt.BeginRequestType.PROVIDE_USERNAME) {
if (!this._disableUserList)
this._showUserList();
@ -1220,7 +1225,7 @@ const LoginDialog = new Lang.Class({
},
addCharacter: function(unichar) {
this._authPrompt.addCharacter(unichar);
// Don't allow type ahead at the login screen
},
finish: function(onComplete) {

View File

@ -50,7 +50,7 @@ const PortalWindow = new Lang.Class({
this.parent({ application: application });
if (!url) {
url = 'http://www.gnome.org';
url = 'http://nmcheck.gnome.org';
this._originalUrlWasGnome = true;
} else {
this._originalUrlWasGnome = false;
@ -112,12 +112,12 @@ const PortalWindow = new Lang.Class({
let uri = new Soup.URI(request.get_uri());
if (!uri.host_equal(this._uri) && this._originalUrlWasGnome) {
if (uri.get_host() == 'www.gnome.org' && this._everSeenRedirect) {
if (uri.get_host() == 'nmcheck.gnome.org' && this._everSeenRedirect) {
// Yay, we got to gnome!
decision.ignore();
this._doneCallback(PortalHelperResult.COMPLETED);
return true;
} else if (uri.get_host() != 'www.gnome.org') {
} else if (uri.get_host() != 'nmcheck.gnome.org') {
this._everSeenRedirect = true;
}
}

View File

@ -354,6 +354,59 @@ const AppSwitcherPopup = new Lang.Class({
}
});
const CyclerPopup = new Lang.Class({
Name: 'CyclerPopup',
Extends: SwitcherPopup.SwitcherPopup,
Abstract: true,
_init : function() {
this.parent();
this._items = this._getWindows();
if (this._items.length == 0)
return;
// We don't show an actual popup, so just provide what SwitcherPopup
// expects instead of inheriting from SwitcherList
this._switcherList = { actor: new St.Widget(),
highlight: Lang.bind(this, this._highlightItem),
connect: function() {} };
},
_highlightItem: function(index, justOutline) {
Main.activateWindow(this._items[index]);
},
_finish: function() {
this._highlightItem(this._selectedIndex);
this.parent();
}
});
const GroupCyclerPopup = new Lang.Class({
Name: 'GroupCyclerPopup',
Extends: CyclerPopup,
_getWindows: function() {
let app = Shell.WindowTracker.get_default().focus_app;
return app ? app.get_windows() : [];
},
_keyPressHandler: function(keysym, action) {
if (action == Meta.KeyBindingAction.CYCLE_GROUP)
this._select(this._next());
else if (action == Meta.KeyBindingAction.CYCLE_GROUP_BACKWARD)
this._select(this._previous());
else
return Clutter.EVENT_PROPAGATE;
return Clutter.EVENT_STOP;
}
});
const WindowSwitcherPopup = new Lang.Class({
Name: 'WindowSwitcherPopup',
Extends: SwitcherPopup.SwitcherPopup,
@ -401,6 +454,32 @@ const WindowSwitcherPopup = new Lang.Class({
}
});
const WindowCyclerPopup = new Lang.Class({
Name: 'WindowCyclerPopup',
Extends: CyclerPopup,
_init: function() {
this._settings = new Gio.Settings({ schema_id: 'org.gnome.shell.window-switcher' });
this.parent();
},
_getWindows: function() {
let workspace = this._settings.get_boolean('current-workspace-only') ? global.screen.get_active_workspace() : null;
return global.display.get_tab_list(Meta.TabList.NORMAL, workspace);
},
_keyPressHandler: function(keysym, action) {
if (action == Meta.KeyBindingAction.CYCLE_WINDOWS)
this._select(this._next());
else if (action == Meta.KeyBindingAction.CYCLE_WINDOWS_BACKWARD)
this._select(this._previous());
else
return Clutter.EVENT_PROPAGATE;
return Clutter.EVENT_STOP;
}
});
const AppIcon = new Lang.Class({
Name: 'AppIcon',

View File

@ -696,6 +696,7 @@ const BackgroundManager = new Lang.Class({
time: FADE_ANIMATION_TIME,
transition: 'easeOutQuad',
onComplete: function() {
oldBackgroundActor.background.run_dispose();
oldBackgroundActor.destroy();
}
});

View File

@ -796,10 +796,18 @@ const NetworkAgent = new Lang.Class({
path = GLib.build_filenamev([Config.LIBEXECDIR, path]);
}
if (GLib.file_test(path, GLib.FileTest.IS_EXECUTABLE))
if (GLib.file_test(path, GLib.FileTest.IS_EXECUTABLE)) {
this._vpnBinaries[service] = { fileName: path, externalUIMode: externalUIMode, supportsHints: hints };
else
try {
let aliases = keyfile.get_string_list('VPN Connection', 'aliases');
for (let alias of aliases) {
this._vpnBinaries[alias] = { fileName: path, externalUIMode: externalUIMode, supportsHints: hints };
}
} catch(e) { } // ignore errors if key does not exist
} else {
throw new Error('VPN plugin at %s is not executable'.format(path));
}
} catch(e) {
log('Error \'%s\' while processing VPN keyfile \'%s\''.
format(e.message, dir.get_child(name).get_path()));

View File

@ -62,8 +62,8 @@ var AgentIface = '<node> \
</interface> \
</node>';
var XdgAppIface = '<node> \
<interface name="org.freedesktop.XdgApp.PermissionStore"> \
var PermissionStoreIface = '<node> \
<interface name="org.freedesktop.impl.portal.PermissionStore"> \
<method name="Lookup"> \
<arg name="table" type="s" direction="in"/> \
<arg name="id" type="s" direction="in"/> \
@ -80,7 +80,7 @@ var XdgAppIface = '<node> \
</interface> \
</node>';
const PermissionStore = Gio.DBusProxy.makeProxyWrapper(XdgAppIface);
const PermissionStore = Gio.DBusProxy.makeProxyWrapper(PermissionStoreIface);
const Indicator = new Lang.Class({
Name: 'LocationIndicator',
@ -254,8 +254,8 @@ const Indicator = new Lang.Class({
_connectToPermissionStore: function() {
this._permStoreProxy = null;
new PermissionStore(Gio.DBus.session,
'org.freedesktop.XdgApp',
'/org/freedesktop/XdgApp/PermissionStore',
'org.freedesktop.impl.portal.PermissionStore',
'/org/freedesktop/impl/portal/PermissionStore',
Lang.bind(this, this._onPermStoreProxyReady));
},

View File

@ -866,6 +866,18 @@ const WindowManager = new Lang.Class({
this.setCustomKeybindingHandler('switch-windows-backward',
Shell.ActionMode.NORMAL,
Lang.bind(this, this._startWindowSwitcher));
this.setCustomKeybindingHandler('cycle-windows',
Shell.ActionMode.NORMAL,
Lang.bind(this, this._startWindowCycler));
this.setCustomKeybindingHandler('cycle-windows-backward',
Shell.ActionMode.NORMAL,
Lang.bind(this, this._startWindowCycler));
this.setCustomKeybindingHandler('cycle-group',
Shell.ActionMode.NORMAL,
Lang.bind(this, this._startGroupCycler));
this.setCustomKeybindingHandler('cycle-group-backward',
Shell.ActionMode.NORMAL,
Lang.bind(this, this._startGroupCycler));
this.setCustomKeybindingHandler('switch-panels',
Shell.ActionMode.NORMAL |
Shell.ActionMode.OVERVIEW |
@ -1766,6 +1778,28 @@ const WindowManager = new Lang.Class({
tabPopup.destroy();
},
_startWindowCycler : function(display, screen, window, binding) {
/* prevent a corner case where both popups show up at once */
if (this._workspaceSwitcherPopup != null)
this._workspaceSwitcherPopup.destroy();
let tabPopup = new AltTab.WindowCyclerPopup();
if (!tabPopup.show(binding.is_reversed(), binding.get_name(), binding.get_mask()))
tabPopup.destroy();
},
_startGroupCycler : function(display, screen, window, binding) {
/* prevent a corner case where both popups show up at once */
if (this._workspaceSwitcherPopup != null)
this._workspaceSwitcherPopup.destroy();
let tabPopup = new AltTab.GroupCyclerPopup();
if (!tabPopup.show(binding.is_reversed(), binding.get_name(), binding.get_mask()))
tabPopup.destroy();
},
_startA11ySwitcher : function(display, screen, window, binding) {
Main.ctrlAltTabManager.popup(binding.is_reversed(), binding.get_name(), binding.get_mask());
},

View File

@ -29,6 +29,7 @@ gl
gu
he
hi
hr
hu
ia
id

File diff suppressed because it is too large Load Diff

244
po/gd.po
View File

@ -1,14 +1,14 @@
# Scottish Gaelic translation for gnome-shell.
# Copyright (C) 2015 gnome-shell's COPYRIGHT HOLDER
# This file is distributed under the same license as the gnome-shell package.
# GunChleoc <fios@foramnagaidhlig.net>, 2015.
# GunChleoc <fios@foramnagaidhlig.net>, 2015, 2016.
msgid ""
msgstr ""
"Project-Id-Version: gnome-shell master\n"
"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug.cgi?product=gnome-"
"shell&keywords=I18N+L10N&component=general\n"
"POT-Creation-Date: 2015-11-17 16:10+0000\n"
"PO-Revision-Date: 2015-11-17 17:10+0100\n"
"POT-Creation-Date: 2016-09-10 21:51+0000\n"
"PO-Revision-Date: 2016-09-13 10:42+0100\n"
"Last-Translator: GunChleoc <fios@foramnagaidhlig.net>\n"
"Language-Team: Fòram na Gàidhlig\n"
"Language: gd\n"
@ -62,32 +62,61 @@ msgid "Window management and application launching"
msgstr "Stiùireadh uinneagan is tòiseachadh aplacaidean"
#: ../data/org.gnome.shell.gschema.xml.in.in.h:3
#| msgid "No extensions installed"
msgid "UUIDs of extensions to enable"
msgstr "UUIDs nan leudachan ri an cur an comas"
#: ../data/org.gnome.shell.gschema.xml.in.in.h:22
#| msgid "Open the application menu"
msgid "Keybinding to open the application menu"
msgstr "Nasgadh iuchrach gus clàr-taice na h-aplacaid fhosgladh"
#: ../data/org.gnome.shell.gschema.xml.in.in.h:23
#| msgid "Open the application menu"
msgid "Keybinding to open the application menu."
msgstr "Nasgadh iuchrach gus clàr-taice na h-aplacaid fhosgladh."
#: ../data/org.gnome.shell.gschema.xml.in.in.h:24
#| msgid "Keybinding to open the application menu"
msgid "Keybinding to open the \"Show Applications\" view"
msgstr "Nasgadh iuchrach gus an sealladh \"Seall aplacaidean\" fhosgladh"
#: ../data/org.gnome.shell.gschema.xml.in.in.h:25
#| msgid "Keybinding to open the application menu."
msgid ""
"Keybinding to open the \"Show Applications\" view of the Activities Overview."
msgstr ""
"Nasgadh iuchrach gus an sealladh \"Seall aplacaidean\" aig foir-shealladh na "
"gnìomhachd fhosgladh."
#: ../data/org.gnome.shell.gschema.xml.in.in.h:26
#| msgid "Keybinding to open the application menu"
msgid "Keybinding to open the overview"
msgstr "Nasgadh iuchrach gus am foir-shealladh fhosgladh"
#: ../data/org.gnome.shell.gschema.xml.in.in.h:27
#| msgid "Keybinding to open the application menu."
msgid "Keybinding to open the Activities Overview."
msgstr "Nasgadh iuchrach gus foir-shealladh na gnìomhachd fhosgladh."
#: ../data/org.gnome.shell.gschema.xml.in.in.h:28
#| msgid "Keybinding to focus the active notification"
msgid "Keybinding to toggle the visibility of the notification list"
msgstr ""
"Nasgadh iuchrach gus an fhaicsinneachd air liosta nam brathan a thoglachadh"
#: ../data/org.gnome.shell.gschema.xml.in.in.h:29
#| msgid "Keybinding to focus the active notification."
msgid "Keybinding to toggle the visibility of the notification list."
msgstr ""
"Nasgadh iuchrach gus an fhaicsinneachd air liosta nam brathan a thoglachadh."
#: ../data/org.gnome.shell.gschema.xml.in.in.h:30
#| msgid "Focus the active notification"
msgid "Keybinding to focus the active notification"
msgstr "Nasgadh iuchrach gus am fòcas a chur air a' bhrath ghnìomhach"
#: ../data/org.gnome.shell.gschema.xml.in.in.h:31
#| msgid "Focus the active notification"
msgid "Keybinding to focus the active notification."
msgstr "Nasgadh iuchrach gus am fòcas a chur air a' bhrath ghnìomhach."
#: ../data/org.gnome.shell.gschema.xml.in.in.h:37
#| msgid "Open the application menu"
msgid "The application icon mode."
msgstr "Modh ìomhaigheag na h-aplacaid."
@ -95,51 +124,52 @@ msgstr "Modh ìomhaigheag na h-aplacaid."
msgid "Network Login"
msgstr "Clàradh a-steach lìonraidh"
#: ../js/extensionPrefs/main.js:122
#: ../js/extensionPrefs/main.js:117
#, javascript-format
msgid "There was an error loading the preferences dialog for %s:"
msgstr "Thachair mearachd le luchdadh còmhradh nan roghainnean airson %s:"
#: ../js/extensionPrefs/main.js:154
#: ../js/extensionPrefs/main.js:149
msgid "GNOME Shell Extensions"
msgstr "Leudachain na Slige GNOME"
#: ../js/gdm/authPrompt.js:147 ../js/ui/components/networkAgent.js:145
#: ../js/gdm/authPrompt.js:147 ../js/ui/audioDeviceSelection.js:71
#: ../js/ui/components/networkAgent.js:145
#: ../js/ui/components/polkitAgent.js:179 ../js/ui/endSessionDialog.js:452
#: ../js/ui/extensionDownloader.js:195 ../js/ui/shellMountOperation.js:399
#: ../js/ui/status/network.js:916
msgid "Cancel"
msgstr "Sguir dheth"
#: ../js/gdm/authPrompt.js:169 ../js/gdm/authPrompt.js:215
#: ../js/gdm/authPrompt.js:447
#: ../js/gdm/authPrompt.js:169 ../js/gdm/authPrompt.js:216
#: ../js/gdm/authPrompt.js:448
msgid "Next"
msgstr "Air adhart"
#: ../js/gdm/authPrompt.js:211 ../js/ui/shellMountOperation.js:403
#: ../js/gdm/authPrompt.js:212 ../js/ui/shellMountOperation.js:403
#: ../js/ui/unlockDialog.js:59
msgid "Unlock"
msgstr "Neo-ghlais"
#: ../js/gdm/authPrompt.js:213
#: ../js/gdm/authPrompt.js:214
msgctxt "button"
msgid "Sign In"
msgstr "Clàraich a-steach"
#: ../js/gdm/loginDialog.js:281
#: ../js/gdm/loginDialog.js:285
msgid "Choose Session"
msgstr "Tagh seisean"
#. translators: this message is shown below the user list on the
#. login screen. It can be activated to reveal an entry for
#. manually entering the username.
#: ../js/gdm/loginDialog.js:431
#: ../js/gdm/loginDialog.js:435
msgid "Not listed?"
msgstr "Nach eil e air an liosta?"
#. Translators: this message is shown below the username entry field
#. to clue the user in on how to login to the local network realm
#: ../js/gdm/loginDialog.js:850
#: ../js/gdm/loginDialog.js:859
#, javascript-format
msgid "(e.g., user or %s)"
msgstr "(m.e., cleachdaiche no %s)"
@ -147,12 +177,12 @@ msgstr "(m.e., cleachdaiche no %s)"
#. TTLS and PEAP are actually much more complicated, but this complication
#. is not visible here since we only care about phase2 authentication
#. (and don't even care of which one)
#: ../js/gdm/loginDialog.js:855 ../js/ui/components/networkAgent.js:271
#: ../js/gdm/loginDialog.js:864 ../js/ui/components/networkAgent.js:271
#: ../js/ui/components/networkAgent.js:289
msgid "Username: "
msgstr "Ainm-cleachdaiche:"
#: ../js/gdm/loginDialog.js:1180
#: ../js/gdm/loginDialog.js:1201
msgid "Login Window"
msgstr "Uinneag a' chlàraidh a-steach"
@ -288,16 +318,37 @@ msgstr "Cuir ris na h-annsachdan"
msgid "Show Details"
msgstr "Seall am mion-fhiosrachadh"
#: ../js/ui/appFavorites.js:133
#: ../js/ui/appFavorites.js:134
#, javascript-format
msgid "%s has been added to your favorites."
msgstr "Chaidh %s a chur ris na h-annsachdan agad."
#: ../js/ui/appFavorites.js:167
#: ../js/ui/appFavorites.js:168
#, javascript-format
msgid "%s has been removed from your favorites."
msgstr "Chaidh %s a toirt air falbh o na h-annsachdan agad."
#: ../js/ui/audioDeviceSelection.js:59
msgid "Select Audio Device"
msgstr "Tagh uidheam fuaime"
#: ../js/ui/audioDeviceSelection.js:69
#| msgid "Account Settings"
msgid "Sound Settings"
msgstr "Roghainnean fuaime"
#: ../js/ui/audioDeviceSelection.js:78
msgid "Headphones"
msgstr "Headphones"
#: ../js/ui/audioDeviceSelection.js:80
msgid "Headset"
msgstr "Headset"
#: ../js/ui/audioDeviceSelection.js:82 ../js/ui/status/volume.js:213
msgid "Microphone"
msgstr "Micreofon"
#: ../js/ui/backgroundMenu.js:19
msgid "Change Background…"
msgstr "Atharraich an cùlaibh…"
@ -306,12 +357,12 @@ msgstr "Atharraich an cùlaibh…"
msgid "Display Settings"
msgstr "Roghainnean an t-seallaidh"
#: ../js/ui/backgroundMenu.js:22 ../js/ui/status/system.js:366
#: ../js/ui/backgroundMenu.js:22 ../js/ui/status/system.js:371
msgid "Settings"
msgstr "Roghainnean"
#. Translators: Enter 0-6 (Sunday-Saturday) for non-work days. Examples: "0" (Sunday) "6" (Saturday) "06" (Sunday and Saturday).
#: ../js/ui/calendar.js:55
#: ../js/ui/calendar.js:47
msgctxt "calendar-no-work"
msgid "06"
msgstr "06"
@ -321,100 +372,96 @@ msgstr "06"
#. * NOTE: These grid abbreviations are always shown together
#. * and in order, e.g. "S M T W T F S".
#.
#: ../js/ui/calendar.js:84
#: ../js/ui/calendar.js:76
msgctxt "grid sunday"
msgid "S"
msgstr "Dò"
#. Translators: Calendar grid abbreviation for Monday
#: ../js/ui/calendar.js:86
#: ../js/ui/calendar.js:78
msgctxt "grid monday"
msgid "M"
msgstr "Lu"
#. Translators: Calendar grid abbreviation for Tuesday
#: ../js/ui/calendar.js:88
#: ../js/ui/calendar.js:80
msgctxt "grid tuesday"
msgid "T"
msgstr "Mà"
#. Translators: Calendar grid abbreviation for Wednesday
#: ../js/ui/calendar.js:90
#: ../js/ui/calendar.js:82
msgctxt "grid wednesday"
msgid "W"
msgstr "Ci"
#. Translators: Calendar grid abbreviation for Thursday
#: ../js/ui/calendar.js:92
#: ../js/ui/calendar.js:84
msgctxt "grid thursday"
msgid "T"
msgstr "Da"
#. Translators: Calendar grid abbreviation for Friday
#: ../js/ui/calendar.js:94
#: ../js/ui/calendar.js:86
msgctxt "grid friday"
msgid "F"
msgstr "hA"
#. Translators: Calendar grid abbreviation for Saturday
#: ../js/ui/calendar.js:96
#: ../js/ui/calendar.js:88
msgctxt "grid saturday"
msgid "S"
msgstr "Sa"
#: ../js/ui/calendar.js:566
#: ../js/ui/calendar.js:416
msgid "Previous month"
msgstr "Am mìos roimhe"
#: ../js/ui/calendar.js:576
#: ../js/ui/calendar.js:426
msgid "Next month"
msgstr "An ath mhìos"
#: ../js/ui/calendar.js:728
#, javascript-format
#: ../js/ui/calendar.js:579
#, no-javascript-format
msgctxt "date day number format"
msgid "%d"
msgstr "%d"
#: ../js/ui/calendar.js:783
#: ../js/ui/calendar.js:634
msgid "Week %V"
msgstr "Seachdain %V"
#. Translators: Shown in calendar event list for all day events
#. * Keep it short, best if you can use less then 10 characters
#.
#: ../js/ui/calendar.js:1188
#: ../js/ui/calendar.js:695
msgctxt "event list time"
msgid "All Day"
msgstr "Fad an latha"
#: ../js/ui/calendar.js:1295
msgid "Clear section"
msgstr "Falamhaich an earrann"
#: ../js/ui/calendar.js:1522
#: ../js/ui/calendar.js:821
msgid "Events"
msgstr "Tachartasan"
#: ../js/ui/calendar.js:1531
#: ../js/ui/calendar.js:830
msgctxt "calendar heading"
msgid "%A, %B %d"
msgstr "%A, %d %B"
#: ../js/ui/calendar.js:1535
#: ../js/ui/calendar.js:834
msgctxt "calendar heading"
msgid "%A, %B %d, %Y"
msgstr "%A, %d %B, %Y"
#: ../js/ui/calendar.js:1620
#: ../js/ui/calendar.js:919
msgid "Notifications"
msgstr "Brathan"
#: ../js/ui/calendar.js:1771
#: ../js/ui/calendar.js:1070
msgid "No Notifications"
msgstr "Chan eil brath ann"
#: ../js/ui/calendar.js:1774
#: ../js/ui/calendar.js:1073
msgid "No Events"
msgstr "Chan eil tachartas ann"
@ -553,7 +600,7 @@ msgstr ""
#. Translators: this is the other person changing their old IM name to their new
#. IM name.
#: ../js/ui/components/telepathyClient.js:759
#: ../js/ui/components/telepathyClient.js:760
#, javascript-format
msgid "%s is now known as %s"
msgstr "thug %s %s air"
@ -762,11 +809,11 @@ msgid "Keyboard"
msgstr "Am meur-chlàr"
#. translators: 'Hide' is a verb
#: ../js/ui/legacyTray.js:66
#: ../js/ui/legacyTray.js:65
msgid "Hide tray"
msgstr "Falaich an treidhe"
#: ../js/ui/legacyTray.js:107
#: ../js/ui/legacyTray.js:106
msgid "Status Icons"
msgstr "Ìomhaigheagan staide"
@ -794,7 +841,7 @@ msgstr "An comas"
#. translators:
#. * The device has been disabled
#: ../js/ui/lookingGlass.js:719 ../src/gvc/gvc-mixer-control.c:1828
#: ../js/ui/lookingGlass.js:719 ../src/gvc/gvc-mixer-control.c:1866
msgid "Disabled"
msgstr "À comas"
@ -818,10 +865,30 @@ msgstr "Seall am bun-tùs"
msgid "Web Page"
msgstr "Duilleag-lìn"
#: ../js/ui/messageList.js:543
msgid "Clear section"
msgstr "Falamhaich an earrann"
#: ../js/ui/messageTray.js:1486
msgid "System Information"
msgstr "Fiosrachadh an t-siostaim"
#: ../js/ui/mpris.js:194
#| msgctxt "program"
#| msgid "Unknown"
msgid "Unknown artist"
msgstr "Neach-ciùil nach aithne dhuinn"
#: ../js/ui/mpris.js:195
#| msgctxt "program"
#| msgid "Unknown"
msgid "Unknown title"
msgstr "Tiotal nach aithne dhuinn"
#: ../js/ui/mpris.js:217
msgid "Media"
msgstr "Meadhanan"
#: ../js/ui/overview.js:84
msgid "Undo"
msgstr "Neo-dhèan"
@ -902,7 +969,7 @@ msgstr[1] "%d bhrath ùr"
msgstr[2] "%d brathan ùra"
msgstr[3] "%d brath ùr"
#: ../js/ui/screenShield.js:432 ../js/ui/status/system.js:374
#: ../js/ui/screenShield.js:432 ../js/ui/status/system.js:379
msgid "Lock"
msgstr "Glais"
@ -1046,30 +1113,50 @@ msgstr "Soilleireachd"
msgid "Show Keyboard Layout"
msgstr "Seall co-dhealbhachd a' mheur-chlàir"
#: ../js/ui/status/location.js:71 ../js/ui/status/location.js:177
#: ../js/ui/status/location.js:107 ../js/ui/status/location.js:215
msgid "Location Enabled"
msgstr "Tha an t-ionad an comas"
#: ../js/ui/status/location.js:72 ../js/ui/status/location.js:178
#: ../js/ui/status/location.js:108 ../js/ui/status/location.js:216
msgid "Disable"
msgstr "Cuir à comas"
#: ../js/ui/status/location.js:73
#: ../js/ui/status/location.js:109
msgid "Privacy Settings"
msgstr "Roghainnean na prìobhaideachd"
#: ../js/ui/status/location.js:176
#: ../js/ui/status/location.js:214
msgid "Location In Use"
msgstr "Tha an t-ionad 'ga chleachdadh"
#: ../js/ui/status/location.js:180
#: ../js/ui/status/location.js:218
msgid "Location Disabled"
msgstr "Tha an t-ionad à comas"
#: ../js/ui/status/location.js:181
#: ../js/ui/status/location.js:219
msgid "Enable"
msgstr "Cuir an comas"
#: ../js/ui/status/location.js:426
msgid "Deny Access"
msgstr "Diùlt an t-inntrigeadh"
#: ../js/ui/status/location.js:429
msgid "Grant Access"
msgstr "Ceadaich an t-inntrigeadh"
#. Translators: %s is an application name
#: ../js/ui/status/location.js:435
#, javascript-format
msgid "Give %s access to your location?"
msgstr "A bheil thu airson inntrigeadh dhan ionad agad a thoirt dha %s?"
#: ../js/ui/status/location.js:437
msgid "Location access can be changed at any time from the privacy settings."
msgstr ""
"'S urrainn dhut inntrigeadh an ionaid atharrachadh uair sam bith ann an "
"roghainnean na prìobhaideachd."
#: ../js/ui/status/network.js:101
msgid "<unknown>"
msgstr "<neo-aithnichte>"
@ -1254,34 +1341,37 @@ msgstr "Dh'fhàillig leis a' cheangal"
msgid "Activation of network connection failed"
msgstr "Dh'fhàillig gnìomhachadh a' cheangail ris an lìonra"
#: ../js/ui/status/power.js:49
#: ../js/ui/status/power.js:61
msgid "Power Settings"
msgstr "Roghainnean na cumhachd"
#: ../js/ui/status/power.js:65
#: ../js/ui/status/power.js:77
msgid "Fully Charged"
msgstr "Air a làn-teairrdseadh"
#. 0 is reported when UPower does not have enough data
#. to estimate battery life
#: ../js/ui/status/power.js:72 ../js/ui/status/power.js:78
#: ../js/ui/status/power.js:84 ../js/ui/status/power.js:90
msgid "Estimating…"
msgstr "'Ga thuairmeas…"
#. Translators: this is <hours>:<minutes> Remaining (<percentage>)
#: ../js/ui/status/power.js:86
#: ../js/ui/status/power.js:98
#, javascript-format
#| msgid "%d%02d Remaining (%d%%)"
msgid "%d%02d Remaining (%d%%)"
msgstr "%d%02d air fhàgail (%d%%)"
#. Translators: this is <hours>:<minutes> Until Full (<percentage>)
#: ../js/ui/status/power.js:91
#: ../js/ui/status/power.js:103
#, javascript-format
#| msgid "%d%02d Until Full (%d%%)"
msgid "%d%02d Until Full (%d%%)"
msgstr "%d%02d gus am bi e làn (%d%%)"
#: ../js/ui/status/power.js:131 ../js/ui/status/power.js:133
#, javascript-format
msgid "%d%%"
msgstr "%d%%"
#. The menu only appears when airplane mode is on, so just
#. statically build it as if it was on, rather than dynamically
#. changing the menu contents.
@ -1289,27 +1379,27 @@ msgstr "%d%02d gus am bi e làn (%d%%)"
msgid "Airplane Mode On"
msgstr "Modh itealain air"
#: ../js/ui/status/system.js:343
#: ../js/ui/status/system.js:348
msgid "Switch User"
msgstr "Leum gu cleachdaiche eile"
#: ../js/ui/status/system.js:348
#: ../js/ui/status/system.js:353
msgid "Log Out"
msgstr "Clàraich a-mach"
#: ../js/ui/status/system.js:353
#: ../js/ui/status/system.js:358
msgid "Account Settings"
msgstr "Roghainnean a' chunntais"
#: ../js/ui/status/system.js:370
#: ../js/ui/status/system.js:375
msgid "Orientation Lock"
msgstr "Glais na comhair"
#: ../js/ui/status/system.js:378
#: ../js/ui/status/system.js:383
msgid "Suspend"
msgstr "Cuir 'na dhàil"
#: ../js/ui/status/system.js:381
#: ../js/ui/status/system.js:386
msgid "Power Off"
msgstr "Cuir a' chumhachd dheth"
@ -1321,10 +1411,6 @@ msgstr "Dh'atharraich àirde na fuaime"
msgid "Volume"
msgstr "Àirde na fuaime"
#: ../js/ui/status/volume.js:213
msgid "Microphone"
msgstr "Micreofon"
#: ../js/ui/unlockDialog.js:67
msgid "Log in as another user"
msgstr "Clàraich an-steach mar chleachdaiche eile"
@ -1451,7 +1537,7 @@ msgstr "Mìosachan Evolution"
#. translators:
#. * The number of sound outputs on a particular device
#: ../src/gvc/gvc-mixer-control.c:1835
#: ../src/gvc/gvc-mixer-control.c:1873
#, c-format
msgid "%u Output"
msgid_plural "%u Outputs"
@ -1462,7 +1548,7 @@ msgstr[3] "%u às-chur"
#. translators:
#. * The number of sound inputs on a particular device
#: ../src/gvc/gvc-mixer-control.c:1845
#: ../src/gvc/gvc-mixer-control.c:1883
#, c-format
msgid "%u Input"
msgid_plural "%u Inputs"
@ -1471,7 +1557,7 @@ msgstr[1] "%u ion-chur"
msgstr[2] "%u ion-chuir"
msgstr[3] "%u ion-chur"
#: ../src/gvc/gvc-mixer-control.c:2371
#: ../src/gvc/gvc-mixer-control.c:2738
msgid "System Sounds"
msgstr "Fuaimean an t-siostaim"

1775
po/hr.po Normal file

File diff suppressed because it is too large Load Diff

330
po/id.po
View File

@ -7,12 +7,12 @@
# Wibiharto <wibinem@yahoo.com>, 2011.
msgid ""
msgstr ""
"Project-Id-Version: gnome-shell gnome-3-18\n"
"Project-Id-Version: gnome-shell gnome-3-20\n"
"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug.cgi?product=gnome-"
"shell&keywords=I18N+L10N&component=general\n"
"POT-Creation-Date: 2016-01-02 10:15+0000\n"
"PO-Revision-Date: 2016-01-02 19:12+0700\n"
"Last-Translator: Andika Triwidada <andika@gmail.com>\n"
"POT-Creation-Date: 2016-05-10 20:28+0000\n"
"PO-Revision-Date: 2016-06-24 17:51+0700\n"
"Last-Translator: Andika Triwidada <atriwidada@gnome.org>\n"
"Language-Team: Indonesian <gnome-l10n-id@googlegroups.com>\n"
"Language: id\n"
"MIME-Version: 1.0\n"
@ -20,7 +20,7 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=1; plural=0;\n"
"X-Poedit-SourceCharset: UTF-8\n"
"X-Generator: Poedit 1.8.4\n"
"X-Generator: Poedit 1.6.10\n"
#: ../data/50-gnome-shell-system.xml.in.h:1
msgid "System"
@ -46,15 +46,6 @@ msgstr "Tampilkan semua aplikasi"
msgid "Open the application menu"
msgstr "Buka menu aplikasi"
#: ../data/gnome-shell.desktop.in.in.h:1
msgid "GNOME Shell"
msgstr "GNOME Shell"
#: ../data/gnome-shell.desktop.in.in.h:2
#: ../data/gnome-shell-wayland.desktop.in.in.h:2
msgid "Window management and application launching"
msgstr "Manajemen jendela dan peluncuran aplikasi"
#: ../data/gnome-shell-extension-prefs.desktop.in.in.h:1
msgid "GNOME Shell Extension Preferences"
msgstr "Preferensi Ekstensi GNOME Shell"
@ -63,9 +54,13 @@ msgstr "Preferensi Ekstensi GNOME Shell"
msgid "Configure GNOME Shell Extensions"
msgstr "Konfigurasi Ekstensi GNOME Shell"
#: ../data/gnome-shell-wayland.desktop.in.in.h:1
msgid "GNOME Shell (wayland compositor)"
msgstr "GNOME Shell (kompositor wayland)"
#: ../data/org.gnome.Shell.desktop.in.in.h:1
msgid "GNOME Shell"
msgstr "GNOME Shell"
#: ../data/org.gnome.Shell.desktop.in.in.h:2
msgid "Window management and application launching"
msgstr "Manajemen jendela dan peluncuran aplikasi"
#: ../data/org.gnome.shell.gschema.xml.in.in.h:1
msgid "Enable internal tools useful for developers and testers from Alt-F2"
@ -173,76 +168,95 @@ msgstr ""
"menata keadaan baku dari kontak contreng."
#: ../data/org.gnome.shell.gschema.xml.in.in.h:18
msgid ""
"Whether the default Bluetooth adapter had set up devices associated to it"
msgstr ""
"Apakah adapter Bluetooth baku telah menyiapkan perangkat yang terasosiasi "
"dengannya"
#: ../data/org.gnome.shell.gschema.xml.in.in.h:19
msgid ""
"The shell will only show a Bluetooth menu item if a Bluetooth adapter is "
"powered, or if there were devices set up associated with the default "
"adapter. This will be reset if the default adapter is ever seen not to have "
"devices associated to it."
msgstr ""
"Shell hanya akan menampilkan butir menu Bluetooth bila sebuah adapter "
"Bluetooth dinyalakan, atau ada perangkat yang telah disiapkan terasosiasi "
"dengan adapter baku. Ini akan di-reset bila adapter baku pernah terlihat "
"tidak punya perangkat yang terasosiasi dengannya."
#: ../data/org.gnome.shell.gschema.xml.in.in.h:20
msgid "Show the week date in the calendar"
msgstr "Menampilkan tanggal pada kalender"
#: ../data/org.gnome.shell.gschema.xml.in.in.h:19
#: ../data/org.gnome.shell.gschema.xml.in.in.h:21
msgid "If true, display the ISO week date in the calendar."
msgstr "Jika \"true\", menampilkan tanggal berformat ISO pada kalender."
#: ../data/org.gnome.shell.gschema.xml.in.in.h:20
#: ../data/org.gnome.shell.gschema.xml.in.in.h:22
msgid "Keybinding to open the application menu"
msgstr "Kombinasi tombol untuk membuka menu aplikasi"
#: ../data/org.gnome.shell.gschema.xml.in.in.h:21
#: ../data/org.gnome.shell.gschema.xml.in.in.h:23
msgid "Keybinding to open the application menu."
msgstr "Kombinasi tombol untuk membuka menu aplikasi."
#: ../data/org.gnome.shell.gschema.xml.in.in.h:22
#: ../data/org.gnome.shell.gschema.xml.in.in.h:24
msgid "Keybinding to open the \"Show Applications\" view"
msgstr "Kombinasi tombol untuk membuka tilikan \"Tampilkan Aplikasi\""
#: ../data/org.gnome.shell.gschema.xml.in.in.h:23
#: ../data/org.gnome.shell.gschema.xml.in.in.h:25
msgid ""
"Keybinding to open the \"Show Applications\" view of the Activities Overview."
msgstr ""
"Kombinasi tombol untuk membuka tilikan Ringkasan Aktivitas \"Tampilkan "
"Aplikasi\"."
#: ../data/org.gnome.shell.gschema.xml.in.in.h:24
#: ../data/org.gnome.shell.gschema.xml.in.in.h:26
msgid "Keybinding to open the overview"
msgstr "Kombinasi tombol untuk membuka ringkasan"
#: ../data/org.gnome.shell.gschema.xml.in.in.h:25
#: ../data/org.gnome.shell.gschema.xml.in.in.h:27
msgid "Keybinding to open the Activities Overview."
msgstr "Kombinasi tombol untuk membuka Ringkasan Aktivitas."
#: ../data/org.gnome.shell.gschema.xml.in.in.h:26
#: ../data/org.gnome.shell.gschema.xml.in.in.h:28
msgid "Keybinding to toggle the visibility of the notification list"
msgstr "Kombinasi tombol untuk kenampakan daftar pemberitahuan"
#: ../data/org.gnome.shell.gschema.xml.in.in.h:27
#: ../data/org.gnome.shell.gschema.xml.in.in.h:29
msgid "Keybinding to toggle the visibility of the notification list."
msgstr "Kombinasi tombol untuk kenampakan daftar pemberitahuan."
#: ../data/org.gnome.shell.gschema.xml.in.in.h:28
#: ../data/org.gnome.shell.gschema.xml.in.in.h:30
msgid "Keybinding to focus the active notification"
msgstr "Kombinasi tombol untuk fokus pada pemberitahuan yang aktif"
#: ../data/org.gnome.shell.gschema.xml.in.in.h:29
#: ../data/org.gnome.shell.gschema.xml.in.in.h:31
msgid "Keybinding to focus the active notification."
msgstr "Kombinasi tombol untuk fokus pada pemberitahuan yang aktif."
#: ../data/org.gnome.shell.gschema.xml.in.in.h:30
#: ../data/org.gnome.shell.gschema.xml.in.in.h:32
msgid ""
"Keybinding that pauses and resumes all running tweens, for debugging purposes"
msgstr ""
"Pengikatan tombol yang mengistirahatkan dan melanjutkan semua tween yang "
"sedang berjalan, untuk tujuan pengawakutuan."
#: ../data/org.gnome.shell.gschema.xml.in.in.h:31
#: ../data/org.gnome.shell.gschema.xml.in.in.h:33
msgid "Which keyboard to use"
msgstr "Papan tik mana yang akan dipakai"
#: ../data/org.gnome.shell.gschema.xml.in.in.h:32
#: ../data/org.gnome.shell.gschema.xml.in.in.h:34
msgid "The type of keyboard to use."
msgstr "Jenis papan tik yang akan dipakai."
#: ../data/org.gnome.shell.gschema.xml.in.in.h:33
#: ../data/org.gnome.shell.gschema.xml.in.in.h:35
msgid "Limit switcher to current workspace."
msgstr "Batasi pengalih ke ruang kerja saat ini."
#: ../data/org.gnome.shell.gschema.xml.in.in.h:34
#: ../data/org.gnome.shell.gschema.xml.in.in.h:36
msgid ""
"If true, only applications that have windows on the current workspace are "
"shown in the switcher. Otherwise, all applications are included."
@ -250,11 +264,11 @@ msgstr ""
"Bila berisi true, hanya aplikasi yang punya jendela pada ruang kerja saat "
"ini ditampilkan pada penukar. Bila tidak, semua aplikasi disertakan."
#: ../data/org.gnome.shell.gschema.xml.in.in.h:35
#: ../data/org.gnome.shell.gschema.xml.in.in.h:37
msgid "The application icon mode."
msgstr "Mode ikon aplikasi."
#: ../data/org.gnome.shell.gschema.xml.in.in.h:36
#: ../data/org.gnome.shell.gschema.xml.in.in.h:38
msgid ""
"Configures how the windows are shown in the switcher. Valid possibilities "
"are 'thumbnail-only' (shows a thumbnail of the window), 'app-icon-"
@ -264,7 +278,7 @@ msgstr ""
"adalah 'thumbnail-only' (menampilkan gambar mini dari jendela), 'app-icon-"
"only' (hanya menampilkan ikon aplikasi), atau 'both' (keduanya)."
#: ../data/org.gnome.shell.gschema.xml.in.in.h:37
#: ../data/org.gnome.shell.gschema.xml.in.in.h:39
msgid ""
"If true, only windows from the current workspace are shown in the switcher. "
"Otherwise, all windows are included."
@ -272,31 +286,31 @@ msgstr ""
"Bila berisi true, hanya jendela dari ruang kerja saat ini ditampilkan pada "
"penukar. Bila tidak, semua jendela disertakan."
#: ../data/org.gnome.shell.gschema.xml.in.in.h:38
#: ../data/org.gnome.shell.gschema.xml.in.in.h:40
msgid "Attach modal dialog to the parent window"
msgstr "Mencantolkan dialog modal ke jendela induk"
#: ../data/org.gnome.shell.gschema.xml.in.in.h:39
#: ../data/org.gnome.shell.gschema.xml.in.in.h:41
msgid ""
"This key overrides the key in org.gnome.mutter when running GNOME Shell."
msgstr ""
"Kunci ini menimpa kunci dalam org.gnome.mutter ketika menjalankan GNOME "
"Shell."
#: ../data/org.gnome.shell.gschema.xml.in.in.h:40
#: ../data/org.gnome.shell.gschema.xml.in.in.h:42
msgid "Enable edge tiling when dropping windows on screen edges"
msgstr ""
"Memfungsikan pengubinan tepi ketika menjatuhkan jendela pada tepi layar"
#: ../data/org.gnome.shell.gschema.xml.in.in.h:41
#: ../data/org.gnome.shell.gschema.xml.in.in.h:43
msgid "Workspaces are managed dynamically"
msgstr "Ruang kerja dikelola secara dinamis"
#: ../data/org.gnome.shell.gschema.xml.in.in.h:42
#: ../data/org.gnome.shell.gschema.xml.in.in.h:44
msgid "Workspaces only on primary monitor"
msgstr "Ruang kerja hanya pada monitor primer"
#: ../data/org.gnome.shell.gschema.xml.in.in.h:43
#: ../data/org.gnome.shell.gschema.xml.in.in.h:45
msgid "Delay focus changes in mouse mode until the pointer stops moving"
msgstr ""
"Tunda perubahan fokus dalam mode tetikus sampai penunjuk berhenti bergerak"
@ -305,33 +319,34 @@ msgstr ""
msgid "Network Login"
msgstr "Log Masuk Jaringan"
#: ../js/extensionPrefs/main.js:122
#: ../js/extensionPrefs/main.js:117
#, javascript-format
msgid "There was an error loading the preferences dialog for %s:"
msgstr "Ada galat saat memuat dialog preferensi bagi %s:"
#: ../js/extensionPrefs/main.js:154
#: ../js/extensionPrefs/main.js:149
msgid "GNOME Shell Extensions"
msgstr "Ekstensi GNOME Shell"
#: ../js/gdm/authPrompt.js:147 ../js/ui/components/networkAgent.js:145
#: ../js/gdm/authPrompt.js:147 ../js/ui/audioDeviceSelection.js:71
#: ../js/ui/components/networkAgent.js:145
#: ../js/ui/components/polkitAgent.js:179 ../js/ui/endSessionDialog.js:452
#: ../js/ui/extensionDownloader.js:195 ../js/ui/shellMountOperation.js:399
#: ../js/ui/status/network.js:916
msgid "Cancel"
msgstr "Batal"
#: ../js/gdm/authPrompt.js:169 ../js/gdm/authPrompt.js:215
#: ../js/gdm/authPrompt.js:447
#: ../js/gdm/authPrompt.js:169 ../js/gdm/authPrompt.js:216
#: ../js/gdm/authPrompt.js:448
msgid "Next"
msgstr "Selanjutnya"
#: ../js/gdm/authPrompt.js:211 ../js/ui/shellMountOperation.js:403
#: ../js/gdm/authPrompt.js:212 ../js/ui/shellMountOperation.js:403
#: ../js/ui/unlockDialog.js:59
msgid "Unlock"
msgstr "Buka Kunci"
#: ../js/gdm/authPrompt.js:213
#: ../js/gdm/authPrompt.js:214
msgctxt "button"
msgid "Sign In"
msgstr "Masuk"
@ -498,16 +513,36 @@ msgstr "Tambah ke Favorit"
msgid "Show Details"
msgstr "Tampilkan Rincian"
#: ../js/ui/appFavorites.js:132
#: ../js/ui/appFavorites.js:134
#, javascript-format
msgid "%s has been added to your favorites."
msgstr "%s telah ditambahkan ke favorit Anda."
#: ../js/ui/appFavorites.js:166
#: ../js/ui/appFavorites.js:168
#, javascript-format
msgid "%s has been removed from your favorites."
msgstr "%s telah dihapus dari favorit Anda."
#: ../js/ui/audioDeviceSelection.js:59
msgid "Select Audio Device"
msgstr "Pilih Perangkat Audio"
#: ../js/ui/audioDeviceSelection.js:69
msgid "Sound Settings"
msgstr "Pengaturan Suara"
#: ../js/ui/audioDeviceSelection.js:78
msgid "Headphones"
msgstr "Headphone"
#: ../js/ui/audioDeviceSelection.js:80
msgid "Headset"
msgstr "Headset"
#: ../js/ui/audioDeviceSelection.js:82 ../js/ui/status/volume.js:213
msgid "Microphone"
msgstr "Mikrofon"
#: ../js/ui/backgroundMenu.js:19
msgid "Change Background…"
msgstr "Ubah Latar…"
@ -516,12 +551,12 @@ msgstr "Ubah Latar…"
msgid "Display Settings"
msgstr "Pengaturan Tampilan"
#: ../js/ui/backgroundMenu.js:22 ../js/ui/status/system.js:366
#: ../js/ui/backgroundMenu.js:22 ../js/ui/status/system.js:371
msgid "Settings"
msgstr "Pengaturan"
#. Translators: Enter 0-6 (Sunday-Saturday) for non-work days. Examples: "0" (Sunday) "6" (Saturday) "06" (Sunday and Saturday).
#: ../js/ui/calendar.js:55
#: ../js/ui/calendar.js:47
msgctxt "calendar-no-work"
msgid "06"
msgstr "06"
@ -531,94 +566,96 @@ msgstr "06"
#. * NOTE: These grid abbreviations are always shown together
#. * and in order, e.g. "S M T W T F S".
#.
#: ../js/ui/calendar.js:84
#: ../js/ui/calendar.js:76
msgctxt "grid sunday"
msgid "S"
msgstr "M"
#. Translators: Calendar grid abbreviation for Monday
#: ../js/ui/calendar.js:86
#: ../js/ui/calendar.js:78
msgctxt "grid monday"
msgid "M"
msgstr "S"
#. Translators: Calendar grid abbreviation for Tuesday
#: ../js/ui/calendar.js:88
#: ../js/ui/calendar.js:80
msgctxt "grid tuesday"
msgid "T"
msgstr "S"
#. Translators: Calendar grid abbreviation for Wednesday
#: ../js/ui/calendar.js:90
#: ../js/ui/calendar.js:82
msgctxt "grid wednesday"
msgid "W"
msgstr "R"
#. Translators: Calendar grid abbreviation for Thursday
#: ../js/ui/calendar.js:92
#: ../js/ui/calendar.js:84
msgctxt "grid thursday"
msgid "T"
msgstr "K"
#. Translators: Calendar grid abbreviation for Friday
#: ../js/ui/calendar.js:94
#: ../js/ui/calendar.js:86
msgctxt "grid friday"
msgid "F"
msgstr "J"
#. Translators: Calendar grid abbreviation for Saturday
#: ../js/ui/calendar.js:96
#: ../js/ui/calendar.js:88
msgctxt "grid saturday"
msgid "S"
msgstr "S"
#: ../js/ui/calendar.js:566
#: ../js/ui/calendar.js:416
msgid "Previous month"
msgstr "Bulan sebelumnya"
#: ../js/ui/calendar.js:576
#: ../js/ui/calendar.js:426
msgid "Next month"
msgstr "Bulan selanjutnya"
#: ../js/ui/calendar.js:783
#: ../js/ui/calendar.js:579
#, no-javascript-format
msgctxt "date day number format"
msgid "%d"
msgstr "%d"
#: ../js/ui/calendar.js:634
msgid "Week %V"
msgstr "Minggu %V"
#. Translators: Shown in calendar event list for all day events
#. * Keep it short, best if you can use less then 10 characters
#.
#: ../js/ui/calendar.js:1188
#: ../js/ui/calendar.js:695
msgctxt "event list time"
msgid "All Day"
msgstr "Sepanjang Hari"
#: ../js/ui/calendar.js:1295
msgid "Clear section"
msgstr "Bersihkan seksi"
#: ../js/ui/calendar.js:1522
#: ../js/ui/calendar.js:821
msgid "Events"
msgstr "Kejadian"
#: ../js/ui/calendar.js:1531
#: ../js/ui/calendar.js:830
msgctxt "calendar heading"
msgid "%A, %B %d"
msgstr "%A, %d %B"
#: ../js/ui/calendar.js:1535
#: ../js/ui/calendar.js:834
msgctxt "calendar heading"
msgid "%A, %B %d, %Y"
msgstr "%A, %d %B %Y"
#: ../js/ui/calendar.js:1620
#: ../js/ui/calendar.js:919
msgid "Notifications"
msgstr "Pemberitahuan"
#: ../js/ui/calendar.js:1771
#: ../js/ui/calendar.js:1070
msgid "No Notifications"
msgstr "Tak Ada Pemberitahuan"
#: ../js/ui/calendar.js:1774
#: ../js/ui/calendar.js:1073
msgid "No Events"
msgstr "Tak Ada Kejadian"
@ -630,7 +667,7 @@ msgstr "Drive eksternal tersambung"
msgid "External drive disconnected"
msgstr "Drive eksternal terputus"
#: ../js/ui/components/autorunManager.js:351
#: ../js/ui/components/autorunManager.js:355
#, javascript-format
msgid "Open with %s"
msgstr "Buka dengan %s"
@ -756,7 +793,7 @@ msgstr "Maaf, tidak berhasil. Silakan coba lagi."
#. Translators: this is the other person changing their old IM name to their new
#. IM name.
#: ../js/ui/components/telepathyClient.js:759
#: ../js/ui/components/telepathyClient.js:760
#, javascript-format
msgid "%s is now known as %s"
msgstr "%s sekarang dikenal sebagai %s"
@ -936,11 +973,11 @@ msgid "Keyboard"
msgstr "Papan Ketik"
#. translators: 'Hide' is a verb
#: ../js/ui/legacyTray.js:66
#: ../js/ui/legacyTray.js:65
msgid "Hide tray"
msgstr "Sembunyikan baki"
#: ../js/ui/legacyTray.js:107
#: ../js/ui/legacyTray.js:106
msgid "Status Icons"
msgstr "Ikon Status"
@ -968,7 +1005,7 @@ msgstr "Diaktifkan"
#. translators:
#. * The device has been disabled
#: ../js/ui/lookingGlass.js:719 ../src/gvc/gvc-mixer-control.c:1828
#: ../js/ui/lookingGlass.js:719 ../src/gvc/gvc-mixer-control.c:1866
msgid "Disabled"
msgstr "Dinonaktifkan"
@ -992,10 +1029,26 @@ msgstr "Tilik Sumber"
msgid "Web Page"
msgstr "Halaman Web"
#: ../js/ui/messageList.js:543
msgid "Clear section"
msgstr "Bersihkan seksi"
#: ../js/ui/messageTray.js:1486
msgid "System Information"
msgstr "Informasi Sistem"
#: ../js/ui/mpris.js:194
msgid "Unknown artist"
msgstr "Artis tak dikenal"
#: ../js/ui/mpris.js:195
msgid "Unknown title"
msgstr "Judul tak dikenal"
#: ../js/ui/mpris.js:217
msgid "Media"
msgstr "Media"
#: ../js/ui/overview.js:84
msgid "Undo"
msgstr "Batal"
@ -1041,15 +1094,15 @@ msgstr "Bar Atas"
msgid "toggle-switch-us"
msgstr "toggle-switch-intl"
#: ../js/ui/runDialog.js:70
#: ../js/ui/runDialog.js:71
msgid "Enter a Command"
msgstr "Ketikkan Perintah"
#: ../js/ui/runDialog.js:110 ../js/ui/windowMenu.js:162
#: ../js/ui/runDialog.js:111 ../js/ui/windowMenu.js:162
msgid "Close"
msgstr "Tutup"
#: ../js/ui/runDialog.js:281
#: ../js/ui/runDialog.js:282
msgid "Restarting…"
msgstr "Memulai ulang..."
@ -1071,7 +1124,7 @@ msgid "%d new notification"
msgid_plural "%d new notifications"
msgstr[0] "%d pemberitahuan baru"
#: ../js/ui/screenShield.js:432 ../js/ui/status/system.js:374
#: ../js/ui/screenShield.js:432 ../js/ui/status/system.js:379
msgid "Lock"
msgstr "Kunci"
@ -1170,28 +1223,40 @@ msgstr "Kontras Tinggi"
msgid "Large Text"
msgstr "Teks Besar"
#: ../js/ui/status/bluetooth.js:51 ../js/ui/status/network.js:178
#: ../js/ui/status/network.js:353 ../js/ui/status/network.js:1279
#: ../js/ui/status/network.js:1394 ../js/ui/status/rfkill.js:90
#: ../js/ui/status/rfkill.js:117
msgid "Turn Off"
msgstr "Matikan"
#: ../js/ui/status/bluetooth.js:47
msgid "Bluetooth"
msgstr "Bluetooth"
#: ../js/ui/status/bluetooth.js:54
#: ../js/ui/status/bluetooth.js:56
msgid "Bluetooth Settings"
msgstr "Pengaturan Bluetooth"
#. Translators: this is the number of connected bluetooth devices
#: ../js/ui/status/bluetooth.js:105
#: ../js/ui/status/bluetooth.js:136
#, javascript-format
msgid "%d Connected"
msgid_plural "%d Connected"
msgstr[0] "%d Tersambung"
#: ../js/ui/status/bluetooth.js:107
#: ../js/ui/status/bluetooth.js:138
msgid "Off"
msgstr "Mati"
#: ../js/ui/status/bluetooth.js:140
msgid "Not In Use"
msgstr "Tidak Dipakai"
#: ../js/ui/status/bluetooth.js:142 ../js/ui/status/network.js:1279
msgid "Turn On"
msgstr "Nyalakan"
#: ../js/ui/status/bluetooth.js:142 ../js/ui/status/network.js:178
#: ../js/ui/status/network.js:353 ../js/ui/status/network.js:1279
#: ../js/ui/status/network.js:1394 ../js/ui/status/rfkill.js:90
#: ../js/ui/status/rfkill.js:117
msgid "Turn Off"
msgstr "Matikan"
#: ../js/ui/status/brightness.js:44
msgid "Brightness"
msgstr "Kecerahan"
@ -1200,30 +1265,48 @@ msgstr "Kecerahan"
msgid "Show Keyboard Layout"
msgstr "Tampilkan Tata Letak Papan Tik"
#: ../js/ui/status/location.js:71 ../js/ui/status/location.js:177
#: ../js/ui/status/location.js:107 ../js/ui/status/location.js:215
msgid "Location Enabled"
msgstr "Lokasi Diaktifkan"
#: ../js/ui/status/location.js:72 ../js/ui/status/location.js:178
#: ../js/ui/status/location.js:108 ../js/ui/status/location.js:216
msgid "Disable"
msgstr "Nonaktifkan"
#: ../js/ui/status/location.js:73
#: ../js/ui/status/location.js:109
msgid "Privacy Settings"
msgstr "Pengaturan Privasi"
#: ../js/ui/status/location.js:176
#: ../js/ui/status/location.js:214
msgid "Location In Use"
msgstr "Lokasi Sedang Digunakan"
#: ../js/ui/status/location.js:180
#: ../js/ui/status/location.js:218
msgid "Location Disabled"
msgstr "Koneksi Dinonaktifkan"
#: ../js/ui/status/location.js:181
#: ../js/ui/status/location.js:219
msgid "Enable"
msgstr "Fungsikan"
#: ../js/ui/status/location.js:426
msgid "Deny Access"
msgstr "Tolak Akses"
#: ../js/ui/status/location.js:429
msgid "Grant Access"
msgstr "Beri Akses"
#. Translators: %s is an application name
#: ../js/ui/status/location.js:435
#, javascript-format
msgid "Give %s access to your location?"
msgstr "Beri %s akses ke lokasi Anda?"
#: ../js/ui/status/location.js:437
msgid "Location access can be changed at any time from the privacy settings."
msgstr "Akses lokasi dapat diubah setiap saat dari pengaturan privasi."
#: ../js/ui/status/network.js:101
msgid "<unknown>"
msgstr "<tak dikenal>"
@ -1359,10 +1442,6 @@ msgstr "Pilih Jaringan"
msgid "Wi-Fi Settings"
msgstr "Pengaturan Wi-Fi"
#: ../js/ui/status/network.js:1279
msgid "Turn On"
msgstr "Nyalakan"
#. Translators: %s is a network identifier
#: ../js/ui/status/network.js:1296
#, javascript-format
@ -1412,32 +1491,37 @@ msgstr "Koneksi gagal"
msgid "Activation of network connection failed"
msgstr "Aktivasi koneksi jaringan gagal"
#: ../js/ui/status/power.js:49
#: ../js/ui/status/power.js:61
msgid "Power Settings"
msgstr "Pengaturan Daya"
#: ../js/ui/status/power.js:65
#: ../js/ui/status/power.js:77
msgid "Fully Charged"
msgstr "Terisi Penuh"
#. 0 is reported when UPower does not have enough data
#. to estimate battery life
#: ../js/ui/status/power.js:72 ../js/ui/status/power.js:78
#: ../js/ui/status/power.js:84 ../js/ui/status/power.js:90
msgid "Estimating…"
msgstr "Memperkirakan…"
#. Translators: this is <hours>:<minutes> Remaining (<percentage>)
#: ../js/ui/status/power.js:86
#: ../js/ui/status/power.js:98
#, javascript-format
msgid "%d%02d Remaining (%d%%)"
msgid "%d%02d Remaining (%d%%)"
msgstr "%d:%02d Tersisa (%d%%)"
#. Translators: this is <hours>:<minutes> Until Full (<percentage>)
#: ../js/ui/status/power.js:91
#: ../js/ui/status/power.js:103
#, javascript-format
msgid "%d%02d Until Full (%d%%)"
msgid "%d%02d Until Full (%d%%)"
msgstr "%d:%02d Sampai Penuh (%d%%)"
#: ../js/ui/status/power.js:131 ../js/ui/status/power.js:133
#, javascript-format
msgid "%d%%"
msgstr "%d%%"
#. The menu only appears when airplane mode is on, so just
#. statically build it as if it was on, rather than dynamically
#. changing the menu contents.
@ -1445,27 +1529,27 @@ msgstr "%d:%02d Sampai Penuh (%d%%)"
msgid "Airplane Mode On"
msgstr "Mode Pesawat Terbang Aktif"
#: ../js/ui/status/system.js:343
#: ../js/ui/status/system.js:348
msgid "Switch User"
msgstr "Ganti Pengguna"
#: ../js/ui/status/system.js:348
#: ../js/ui/status/system.js:353
msgid "Log Out"
msgstr "Keluar"
#: ../js/ui/status/system.js:353
#: ../js/ui/status/system.js:358
msgid "Account Settings"
msgstr "Pengaturan Akun"
#: ../js/ui/status/system.js:370
#: ../js/ui/status/system.js:375
msgid "Orientation Lock"
msgstr "Kunci Orientasi"
#: ../js/ui/status/system.js:378
#: ../js/ui/status/system.js:383
msgid "Suspend"
msgstr "Suspensi"
#: ../js/ui/status/system.js:381
#: ../js/ui/status/system.js:386
msgid "Power Off"
msgstr "Matikan"
@ -1477,10 +1561,6 @@ msgstr "Volume diubah"
msgid "Volume"
msgstr "Volume"
#: ../js/ui/status/volume.js:213
msgid "Microphone"
msgstr "Mikrofon"
#: ../js/ui/unlockDialog.js:67
msgid "Log in as another user"
msgstr "Masuk sebagai pengguna lain"
@ -1600,7 +1680,7 @@ msgstr "Evolution Kalender"
#. translators:
#. * The number of sound outputs on a particular device
#: ../src/gvc/gvc-mixer-control.c:1835
#: ../src/gvc/gvc-mixer-control.c:1873
#, c-format
msgid "%u Output"
msgid_plural "%u Outputs"
@ -1608,13 +1688,13 @@ msgstr[0] "%u Keluaran"
#. translators:
#. * The number of sound inputs on a particular device
#: ../src/gvc/gvc-mixer-control.c:1845
#: ../src/gvc/gvc-mixer-control.c:1883
#, c-format
msgid "%u Input"
msgid_plural "%u Inputs"
msgstr[0] "%u Masukan"
#: ../src/gvc/gvc-mixer-control.c:2371
#: ../src/gvc/gvc-mixer-control.c:2738
msgid "System Sounds"
msgstr "Suara Sistem"
@ -1644,14 +1724,14 @@ msgstr "Tak dikenal"
msgid "Failed to launch “%s”"
msgstr "Gagal meluncurkan \"%s\""
#: ../src/shell-keyring-prompt.c:742
#: ../src/shell-keyring-prompt.c:730
msgid "Passwords do not match."
msgstr "Sandi tidak cocok."
#: ../src/shell-keyring-prompt.c:750
#: ../src/shell-keyring-prompt.c:738
msgid "Password cannot be blank"
msgstr "Sandi tidak boleh kosong"
#: ../src/shell-polkit-authentication-agent.c:346
#: ../src/shell-polkit-authentication-agent.c:353
msgid "Authentication dialog was dismissed by the user"
msgstr "Dialog otentikasi ditolak oleh pengguna"

866
po/is.po

File diff suppressed because it is too large Load Diff

161
po/nb.po
View File

@ -3,14 +3,14 @@
# This file is distributed under the same license as the gnome-shell package.
#
# Åka Sikrom <a4@hush.com>, 2014-2015.
# Kjartan Maraas <kmaraas@gnome.org>, 2009-2015.
# Kjartan Maraas <kmaraas@gnome.org>, 2009-2016.
# Torstein Adolf Winterseth <kvikende@fsfe.org>, 2010.
msgid ""
msgstr ""
"Project-Id-Version: gnome-shell 3.19.x\n"
"Project-Id-Version: gnome-shell 3.20.x\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2016-01-07 22:59+0100\n"
"PO-Revision-Date: 2016-01-07 22:59+0100\n"
"POT-Creation-Date: 2016-05-03 23:34+0200\n"
"PO-Revision-Date: 2016-05-03 23:35+0200\n"
"Last-Translator: Kjartan Maraas <kmaraas@gnome.org>\n"
"Language-Team: Norwegian bokmål <i18n-nb@lister.ping.uio.no>\n"
"Language: Norwegian bokmål\n"
@ -305,33 +305,34 @@ msgstr "Utsett fokusendringer i musmodus til peker slutter å bevege seg"
msgid "Network Login"
msgstr "Nettverkspålogging"
#: ../js/extensionPrefs/main.js:122
#: ../js/extensionPrefs/main.js:117
#, javascript-format
msgid "There was an error loading the preferences dialog for %s:"
msgstr "Det oppsto en feil ved lasting av brukervalgdialog for %s:"
#: ../js/extensionPrefs/main.js:154
#: ../js/extensionPrefs/main.js:149
msgid "GNOME Shell Extensions"
msgstr "Utvidelser for GNOME Shell"
#: ../js/gdm/authPrompt.js:147 ../js/ui/components/networkAgent.js:145
#: ../js/gdm/authPrompt.js:147 ../js/ui/audioDeviceSelection.js:71
#: ../js/ui/components/networkAgent.js:145
#: ../js/ui/components/polkitAgent.js:179 ../js/ui/endSessionDialog.js:452
#: ../js/ui/extensionDownloader.js:195 ../js/ui/shellMountOperation.js:399
#: ../js/ui/status/network.js:916
msgid "Cancel"
msgstr "Avbryt"
#: ../js/gdm/authPrompt.js:169 ../js/gdm/authPrompt.js:215
#: ../js/gdm/authPrompt.js:447
#: ../js/gdm/authPrompt.js:169 ../js/gdm/authPrompt.js:216
#: ../js/gdm/authPrompt.js:448
msgid "Next"
msgstr "Neste"
#: ../js/gdm/authPrompt.js:211 ../js/ui/shellMountOperation.js:403
#: ../js/gdm/authPrompt.js:212 ../js/ui/shellMountOperation.js:403
#: ../js/ui/unlockDialog.js:59
msgid "Unlock"
msgstr "Lås opp"
#: ../js/gdm/authPrompt.js:213
#: ../js/gdm/authPrompt.js:214
msgctxt "button"
msgid "Sign In"
msgstr "Logg inn"
@ -498,16 +499,36 @@ msgstr "Legg til i favoritter"
msgid "Show Details"
msgstr "Vis detaljer"
#: ../js/ui/appFavorites.js:133
#: ../js/ui/appFavorites.js:134
#, javascript-format
msgid "%s has been added to your favorites."
msgstr "%s ble lagt til i favoritter."
#: ../js/ui/appFavorites.js:167
#: ../js/ui/appFavorites.js:168
#, javascript-format
msgid "%s has been removed from your favorites."
msgstr "%s ble fjernet fra favoritter."
#: ../js/ui/audioDeviceSelection.js:59
msgid "Select Audio Device"
msgstr "Velg lydenhet"
#: ../js/ui/audioDeviceSelection.js:69
msgid "Sound Settings"
msgstr "Innstillinger for lyd"
#: ../js/ui/audioDeviceSelection.js:78
msgid "Headphones"
msgstr "Hodetelefoner"
#: ../js/ui/audioDeviceSelection.js:80
msgid "Headset"
msgstr "Headset"
#: ../js/ui/audioDeviceSelection.js:82 ../js/ui/status/volume.js:213
msgid "Microphone"
msgstr "Mikrofon"
#: ../js/ui/backgroundMenu.js:19
msgid "Change Background…"
msgstr "Bytt bakgrunn …"
@ -516,12 +537,12 @@ msgstr "Bytt bakgrunn …"
msgid "Display Settings"
msgstr "Innstillinger for skjerm"
#: ../js/ui/backgroundMenu.js:22 ../js/ui/status/system.js:366
#: ../js/ui/backgroundMenu.js:22 ../js/ui/status/system.js:371
msgid "Settings"
msgstr "Innstillinger"
#. Translators: Enter 0-6 (Sunday-Saturday) for non-work days. Examples: "0" (Sunday) "6" (Saturday) "06" (Sunday and Saturday).
#: ../js/ui/calendar.js:55
#: ../js/ui/calendar.js:47
msgctxt "calendar-no-work"
msgid "06"
msgstr "06"
@ -531,100 +552,96 @@ msgstr "06"
#. * NOTE: These grid abbreviations are always shown together
#. * and in order, e.g. "S M T W T F S".
#.
#: ../js/ui/calendar.js:84
#: ../js/ui/calendar.js:76
msgctxt "grid sunday"
msgid "S"
msgstr "S"
#. Translators: Calendar grid abbreviation for Monday
#: ../js/ui/calendar.js:86
#: ../js/ui/calendar.js:78
msgctxt "grid monday"
msgid "M"
msgstr "M"
#. Translators: Calendar grid abbreviation for Tuesday
#: ../js/ui/calendar.js:88
#: ../js/ui/calendar.js:80
msgctxt "grid tuesday"
msgid "T"
msgstr "T"
#. Translators: Calendar grid abbreviation for Wednesday
#: ../js/ui/calendar.js:90
#: ../js/ui/calendar.js:82
msgctxt "grid wednesday"
msgid "W"
msgstr "O"
#. Translators: Calendar grid abbreviation for Thursday
#: ../js/ui/calendar.js:92
#: ../js/ui/calendar.js:84
msgctxt "grid thursday"
msgid "T"
msgstr "T"
#. Translators: Calendar grid abbreviation for Friday
#: ../js/ui/calendar.js:94
#: ../js/ui/calendar.js:86
msgctxt "grid friday"
msgid "F"
msgstr "F"
#. Translators: Calendar grid abbreviation for Saturday
#: ../js/ui/calendar.js:96
#: ../js/ui/calendar.js:88
msgctxt "grid saturday"
msgid "S"
msgstr "L"
#: ../js/ui/calendar.js:566
#: ../js/ui/calendar.js:416
msgid "Previous month"
msgstr "Forrige måned"
#: ../js/ui/calendar.js:576
#: ../js/ui/calendar.js:426
msgid "Next month"
msgstr "Neste måned"
#: ../js/ui/calendar.js:729
#: ../js/ui/calendar.js:579
#, no-javascript-format
msgctxt "date day number format"
msgid "%d"
msgstr "%d"
#: ../js/ui/calendar.js:784
#: ../js/ui/calendar.js:634
msgid "Week %V"
msgstr "Uke %V"
#. Translators: Shown in calendar event list for all day events
#. * Keep it short, best if you can use less then 10 characters
#.
#: ../js/ui/calendar.js:1189
#: ../js/ui/calendar.js:695
msgctxt "event list time"
msgid "All Day"
msgstr "Hele dagen"
#: ../js/ui/calendar.js:1296
msgid "Clear section"
msgstr "Tøm seksjon"
#: ../js/ui/calendar.js:1523
#: ../js/ui/calendar.js:821
msgid "Events"
msgstr "Hendelser"
#: ../js/ui/calendar.js:1532
#: ../js/ui/calendar.js:830
msgctxt "calendar heading"
msgid "%A, %B %d"
msgstr "%A %B %d"
#: ../js/ui/calendar.js:1536
#: ../js/ui/calendar.js:834
msgctxt "calendar heading"
msgid "%A, %B %d, %Y"
msgstr "%A %B %d, %Y"
#: ../js/ui/calendar.js:1621
#: ../js/ui/calendar.js:919
msgid "Notifications"
msgstr "Varslinger"
#: ../js/ui/calendar.js:1772
#: ../js/ui/calendar.js:1070
msgid "No Notifications"
msgstr "Ingen varslinger"
#: ../js/ui/calendar.js:1775
#: ../js/ui/calendar.js:1073
msgid "No Events"
msgstr "Ingen hendelser"
@ -762,7 +779,7 @@ msgstr "Beklager, det virket ikke. Prøv igjen."
#. Translators: this is the other person changing their old IM name to their new
#. IM name.
#: ../js/ui/components/telepathyClient.js:759
#: ../js/ui/components/telepathyClient.js:760
#, javascript-format
msgid "%s is now known as %s"
msgstr "%s er nå kjent som %s"
@ -949,11 +966,11 @@ msgid "Keyboard"
msgstr "Tastatur"
#. translators: 'Hide' is a verb
#: ../js/ui/legacyTray.js:66
#: ../js/ui/legacyTray.js:65
msgid "Hide tray"
msgstr "Skjul statusområde"
#: ../js/ui/legacyTray.js:107
#: ../js/ui/legacyTray.js:106
msgid "Status Icons"
msgstr "Statusikoner"
@ -1005,10 +1022,26 @@ msgstr "Vis kildekode"
msgid "Web Page"
msgstr "Nettside"
#: ../js/ui/messageList.js:543
msgid "Clear section"
msgstr "Tøm seksjon"
#: ../js/ui/messageTray.js:1486
msgid "System Information"
msgstr "Systeminformasjon"
#: ../js/ui/mpris.js:194
msgid "Unknown artist"
msgstr "Ukjent artist"
#: ../js/ui/mpris.js:195
msgid "Unknown title"
msgstr "Ukjent tittel"
#: ../js/ui/mpris.js:217
msgid "Media"
msgstr "Media"
#: ../js/ui/overview.js:84
msgid "Undo"
msgstr "Angre"
@ -1085,7 +1118,7 @@ msgid_plural "%d new notifications"
msgstr[0] "%d ny varsling"
msgstr[1] "%d nye varslinger"
#: ../js/ui/screenShield.js:432 ../js/ui/status/system.js:374
#: ../js/ui/screenShield.js:432 ../js/ui/status/system.js:379
msgid "Lock"
msgstr "Lås"
@ -1227,30 +1260,48 @@ msgstr "Lysstyrke"
msgid "Show Keyboard Layout"
msgstr "Vis tastaturutforming"
#: ../js/ui/status/location.js:71 ../js/ui/status/location.js:177
#: ../js/ui/status/location.js:107 ../js/ui/status/location.js:215
msgid "Location Enabled"
msgstr "Plassering slått på"
#: ../js/ui/status/location.js:72 ../js/ui/status/location.js:178
#: ../js/ui/status/location.js:108 ../js/ui/status/location.js:216
msgid "Disable"
msgstr "Slå av"
#: ../js/ui/status/location.js:73
#: ../js/ui/status/location.js:109
msgid "Privacy Settings"
msgstr "Innstillinger for personvern"
#: ../js/ui/status/location.js:176
#: ../js/ui/status/location.js:214
msgid "Location In Use"
msgstr "Plassering i bruk"
#: ../js/ui/status/location.js:180
#: ../js/ui/status/location.js:218
msgid "Location Disabled"
msgstr "Plassering slått av"
#: ../js/ui/status/location.js:181
#: ../js/ui/status/location.js:219
msgid "Enable"
msgstr "Slå på"
#: ../js/ui/status/location.js:426
msgid "Deny Access"
msgstr "Nekt tilgang"
#: ../js/ui/status/location.js:429
msgid "Grant Access"
msgstr "Gi tilgang"
#. Translators: %s is an application name
#: ../js/ui/status/location.js:435
#, javascript-format
msgid "Give %s access to your location?"
msgstr "Gi %s tilgang til din plassering?"
#: ../js/ui/status/location.js:437
msgid "Location access can be changed at any time from the privacy settings."
msgstr "Stedstilgang kan endres når som helst under innstillinger for personvern."
#: ../js/ui/status/network.js:101
msgid "<unknown>"
msgstr "<ukjent>"
@ -1473,27 +1524,27 @@ msgstr "%d %%"
msgid "Airplane Mode On"
msgstr "Flymodus er slått på"
#: ../js/ui/status/system.js:343
#: ../js/ui/status/system.js:348
msgid "Switch User"
msgstr "Bytt bruker"
#: ../js/ui/status/system.js:348
#: ../js/ui/status/system.js:353
msgid "Log Out"
msgstr "Logg ut"
#: ../js/ui/status/system.js:353
#: ../js/ui/status/system.js:358
msgid "Account Settings"
msgstr "Innstillinger for konto"
#: ../js/ui/status/system.js:370
#: ../js/ui/status/system.js:375
msgid "Orientation Lock"
msgstr "Lås for orientering"
#: ../js/ui/status/system.js:378
#: ../js/ui/status/system.js:383
msgid "Suspend"
msgstr "Hvilemodus"
#: ../js/ui/status/system.js:381
#: ../js/ui/status/system.js:386
msgid "Power Off"
msgstr "Slå av"
@ -1505,10 +1556,6 @@ msgstr "Volum endret"
msgid "Volume"
msgstr "Volum"
#: ../js/ui/status/volume.js:213
msgid "Microphone"
msgstr "Mikrofon"
#: ../js/ui/unlockDialog.js:67
msgid "Log in as another user"
msgstr "Logg inn som en annen bruker"

View File

@ -12,8 +12,8 @@ msgid ""
msgstr ""
"Project-Id-Version: gnome-shell\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2016-03-10 17:25+0100\n"
"PO-Revision-Date: 2016-03-10 17:27+0100\n"
"POT-Creation-Date: 2016-07-12 21:20+0200\n"
"PO-Revision-Date: 2016-07-12 21:21+0200\n"
"Last-Translator: Piotr Drąg <piotrdrag@gmail.com>\n"
"Language-Team: Polish <gnomepl@aviary.pl>\n"
"Language: pl\n"
@ -325,13 +325,13 @@ msgstr ""
msgid "Network Login"
msgstr "Logowanie do sieci"
#: ../js/extensionPrefs/main.js:121
#: ../js/extensionPrefs/main.js:117
#, javascript-format
msgid "There was an error loading the preferences dialog for %s:"
msgstr ""
"Wystąpił błąd podczas wczytywania okna preferencji dla rozszerzenia „%s”:"
#: ../js/extensionPrefs/main.js:153
#: ../js/extensionPrefs/main.js:149
msgid "GNOME Shell Extensions"
msgstr "Rozszerzenia powłoki GNOME"
@ -558,7 +558,7 @@ msgstr "Zmień tło…"
msgid "Display Settings"
msgstr "Ustawienia ekranu"
#: ../js/ui/backgroundMenu.js:22 ../js/ui/status/system.js:366
#: ../js/ui/backgroundMenu.js:22 ../js/ui/status/system.js:371
msgid "Settings"
msgstr "Ustawienia"
@ -800,7 +800,7 @@ msgstr "To nie zadziałało. Proszę spróbować ponownie."
#. Translators: this is the other person changing their old IM name to their new
#. IM name.
#: ../js/ui/components/telepathyClient.js:759
#: ../js/ui/components/telepathyClient.js:760
#, javascript-format
msgid "%s is now known as %s"
msgstr "Użytkownik %s jest teraz znany jako %s"
@ -1025,7 +1025,7 @@ msgstr "Włączone"
#. translators:
#. * The device has been disabled
#: ../js/ui/lookingGlass.js:719 ../src/gvc/gvc-mixer-control.c:1828
#: ../js/ui/lookingGlass.js:719 ../src/gvc/gvc-mixer-control.c:1866
msgid "Disabled"
msgstr "Wyłączone"
@ -1115,7 +1115,7 @@ msgstr "toggle-switch-intl"
#: ../js/ui/runDialog.js:71
msgid "Enter a Command"
msgstr "Proszę wprowadzić polecenie"
msgstr "Proszę wprowadzić polecenie:"
#: ../js/ui/runDialog.js:111 ../js/ui/windowMenu.js:162
msgid "Close"
@ -1147,7 +1147,7 @@ msgstr[0] "%d nowe powiadomienie"
msgstr[1] "%d nowe powiadomienia"
msgstr[2] "%d nowych powiadomień"
#: ../js/ui/screenShield.js:432 ../js/ui/status/system.js:374
#: ../js/ui/screenShield.js:432 ../js/ui/status/system.js:379
msgid "Lock"
msgstr "Zablokuj ekran"
@ -1555,27 +1555,27 @@ msgstr "%d%%"
msgid "Airplane Mode On"
msgstr "Włączono tryb samolotowy"
#: ../js/ui/status/system.js:343
#: ../js/ui/status/system.js:348
msgid "Switch User"
msgstr "Przełącz użytkownika"
#: ../js/ui/status/system.js:348
#: ../js/ui/status/system.js:353
msgid "Log Out"
msgstr "Wyloguj się"
#: ../js/ui/status/system.js:353
#: ../js/ui/status/system.js:358
msgid "Account Settings"
msgstr "Ustawienia konta"
#: ../js/ui/status/system.js:370
#: ../js/ui/status/system.js:375
msgid "Orientation Lock"
msgstr "Blokada orientacji"
#: ../js/ui/status/system.js:378
#: ../js/ui/status/system.js:383
msgid "Suspend"
msgstr "Uśpij"
#: ../js/ui/status/system.js:381
#: ../js/ui/status/system.js:386
msgid "Power Off"
msgstr "Wyłącz komputer"
@ -1708,7 +1708,7 @@ msgstr "Kalendarz programu Evolution"
#. translators:
#. * The number of sound outputs on a particular device
#: ../src/gvc/gvc-mixer-control.c:1835
#: ../src/gvc/gvc-mixer-control.c:1873
#, c-format
msgid "%u Output"
msgid_plural "%u Outputs"
@ -1718,7 +1718,7 @@ msgstr[2] "%u wyjść"
#. translators:
#. * The number of sound inputs on a particular device
#: ../src/gvc/gvc-mixer-control.c:1845
#: ../src/gvc/gvc-mixer-control.c:1883
#, c-format
msgid "%u Input"
msgid_plural "%u Inputs"
@ -1726,7 +1726,7 @@ msgstr[0] "%u wejście"
msgstr[1] "%u wejścia"
msgstr[2] "%u wejść"
#: ../src/gvc/gvc-mixer-control.c:2371
#: ../src/gvc/gvc-mixer-control.c:2738
msgid "System Sounds"
msgstr "Dźwięki systemowe"
@ -1767,3 +1767,16 @@ msgstr "Hasło nie może być puste"
#: ../src/shell-polkit-authentication-agent.c:353
msgid "Authentication dialog was dismissed by the user"
msgstr "Okno dialogowe uwierzytelnienia zostało odrzucone przez użytkownika"
msgctxt "title"
msgid "Restart & Install Upgrade"
msgstr "Ponowne uruchomienie i instalacja aktualizacji"
msgid ""
"%s %s will be installed after restart. Upgrade installation can take a "
"long time: ensure that you have backed up and that the computer is "
"plugged in."
msgstr ""
"System %s %s zostanie zainstalowany po ponownym uruchomieniu. Instalacja "
"aktualizacji może zająć dużo czasu. Proszę się upewnić, że wykonano kopię "
"zapasową danych i podłączono komputer do prądu."

198
po/pt.po
View File

@ -4,24 +4,26 @@
# Duarte Loreto <happyguy_pt@hotmail.com>, 2010, 2011, 2012, 2013, 2014.
# Rui Gouveia <rui.gouveia@gmail.com>, 2011.
# António Lima <amrlima@gmail.com>, 2013.
# Tiago S. <almosthumane@portugalmail.pt>, 2014.
# Tiago Santos <tiagofsantos81@sapo.pt>, 2014, 2016.
# Bruno Ramalhete <bram.512@gmail.com>, 2015.
# Pedro Albuquerque <palbuquerque73@gmail.com>, 2014, 2015.
# Sérgio Cardeira <cardeira dot sergio at gmail dot com>, 2016.
#
msgid ""
msgstr ""
"Project-Id-Version: 3.14\n"
"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug.cgi?product=gnome-"
"shell&keywords=I18N+L10N&component=general\n"
"POT-Creation-Date: 2015-11-20 22:14+0000\n"
"PO-Revision-Date: 2015-11-21 09:02+0100\n"
"Last-Translator: Pedro Albuquerque <palbuquerque73@gmail.com>\n"
"Language-Team: Pedro Albuquerque\n"
"POT-Creation-Date: 2016-04-26 13:48+0000\n"
"PO-Revision-Date: 2016-04-30 16:45+0100\n"
"Last-Translator: Tiago Santos <tiagofsantos81@sapo.pt>\n"
"Language-Team: Português <>\n"
"Language: pt\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
"X-Generator: Virtaal 0.7.1\n"
"X-Generator: Poedit 1.5.4\n"
"X-Project-Style: gnome\n"
"X-Language: pt_PT\n"
"X-Source-Language: C\n"
@ -323,51 +325,52 @@ msgstr ""
msgid "Network Login"
msgstr "Sessão na rede"
#: ../js/extensionPrefs/main.js:122
#: ../js/extensionPrefs/main.js:117
#, javascript-format
msgid "There was an error loading the preferences dialog for %s:"
msgstr "Ocorreu um erro ao ler o diálogo de preferências de %s:"
#: ../js/extensionPrefs/main.js:154
#: ../js/extensionPrefs/main.js:149
msgid "GNOME Shell Extensions"
msgstr "Extensões da interface do GNOME"
#: ../js/gdm/authPrompt.js:147 ../js/ui/components/networkAgent.js:145
#: ../js/gdm/authPrompt.js:147 ../js/ui/audioDeviceSelection.js:71
#: ../js/ui/components/networkAgent.js:145
#: ../js/ui/components/polkitAgent.js:179 ../js/ui/endSessionDialog.js:452
#: ../js/ui/extensionDownloader.js:195 ../js/ui/shellMountOperation.js:399
#: ../js/ui/status/network.js:916
msgid "Cancel"
msgstr "Cancelar"
#: ../js/gdm/authPrompt.js:169 ../js/gdm/authPrompt.js:215
#: ../js/gdm/authPrompt.js:447
#: ../js/gdm/authPrompt.js:169 ../js/gdm/authPrompt.js:216
#: ../js/gdm/authPrompt.js:448
msgid "Next"
msgstr "Seguinte"
#: ../js/gdm/authPrompt.js:211 ../js/ui/shellMountOperation.js:403
#: ../js/gdm/authPrompt.js:212 ../js/ui/shellMountOperation.js:403
#: ../js/ui/unlockDialog.js:59
msgid "Unlock"
msgstr "Desbloquear"
#: ../js/gdm/authPrompt.js:213
#: ../js/gdm/authPrompt.js:214
msgctxt "button"
msgid "Sign In"
msgstr "Iniciar sessão"
#: ../js/gdm/loginDialog.js:281
#: ../js/gdm/loginDialog.js:285
msgid "Choose Session"
msgstr "Escolher sessão"
#. translators: this message is shown below the user list on the
#. login screen. It can be activated to reveal an entry for
#. manually entering the username.
#: ../js/gdm/loginDialog.js:431
#: ../js/gdm/loginDialog.js:435
msgid "Not listed?"
msgstr "Não está listada?"
#. Translators: this message is shown below the username entry field
#. to clue the user in on how to login to the local network realm
#: ../js/gdm/loginDialog.js:850
#: ../js/gdm/loginDialog.js:854
#, javascript-format
msgid "(e.g., user or %s)"
msgstr "(por ex., utilizador ou %s)"
@ -375,12 +378,12 @@ msgstr "(por ex., utilizador ou %s)"
#. TTLS and PEAP are actually much more complicated, but this complication
#. is not visible here since we only care about phase2 authentication
#. (and don't even care of which one)
#: ../js/gdm/loginDialog.js:855 ../js/ui/components/networkAgent.js:271
#: ../js/gdm/loginDialog.js:859 ../js/ui/components/networkAgent.js:271
#: ../js/ui/components/networkAgent.js:289
msgid "Username: "
msgstr "Utilizador: "
#: ../js/gdm/loginDialog.js:1180
#: ../js/gdm/loginDialog.js:1196
msgid "Login Window"
msgstr "Janela de início de sessão"
@ -516,16 +519,36 @@ msgstr "Adicionar aos favoritos"
msgid "Show Details"
msgstr "Mostrar detalhes"
#: ../js/ui/appFavorites.js:133
#: ../js/ui/appFavorites.js:134
#, javascript-format
msgid "%s has been added to your favorites."
msgstr "%s foi adicionada aos seus favoritos."
#: ../js/ui/appFavorites.js:167
#: ../js/ui/appFavorites.js:168
#, javascript-format
msgid "%s has been removed from your favorites."
msgstr "%s foi removida dos seus favoritos."
#: ../js/ui/audioDeviceSelection.js:59
msgid "Select Audio Device"
msgstr "Selecione o dispositivo de áudio"
#: ../js/ui/audioDeviceSelection.js:69
msgid "Sound Settings"
msgstr "Definições de som"
#: ../js/ui/audioDeviceSelection.js:78
msgid "Headphones"
msgstr "Auscultadores"
#: ../js/ui/audioDeviceSelection.js:80
msgid "Headset"
msgstr "Auscultadores com microfone"
#: ../js/ui/audioDeviceSelection.js:82 ../js/ui/status/volume.js:213
msgid "Microphone"
msgstr "Microfone"
#: ../js/ui/backgroundMenu.js:19
msgid "Change Background…"
msgstr "Alterar o fundo…"
@ -534,12 +557,12 @@ msgstr "Alterar o fundo…"
msgid "Display Settings"
msgstr "Definições de ecrã"
#: ../js/ui/backgroundMenu.js:22 ../js/ui/status/system.js:366
#: ../js/ui/backgroundMenu.js:22 ../js/ui/status/system.js:371
msgid "Settings"
msgstr "Definições"
#. Translators: Enter 0-6 (Sunday-Saturday) for non-work days. Examples: "0" (Sunday) "6" (Saturday) "06" (Sunday and Saturday).
#: ../js/ui/calendar.js:55
#: ../js/ui/calendar.js:47
msgctxt "calendar-no-work"
msgid "06"
msgstr "06"
@ -549,100 +572,96 @@ msgstr "06"
#. * NOTE: These grid abbreviations are always shown together
#. * and in order, e.g. "S M T W T F S".
#.
#: ../js/ui/calendar.js:84
#: ../js/ui/calendar.js:76
msgctxt "grid sunday"
msgid "S"
msgstr "D"
#. Translators: Calendar grid abbreviation for Monday
#: ../js/ui/calendar.js:86
#: ../js/ui/calendar.js:78
msgctxt "grid monday"
msgid "M"
msgstr "S"
#. Translators: Calendar grid abbreviation for Tuesday
#: ../js/ui/calendar.js:88
#: ../js/ui/calendar.js:80
msgctxt "grid tuesday"
msgid "T"
msgstr "T"
#. Translators: Calendar grid abbreviation for Wednesday
#: ../js/ui/calendar.js:90
#: ../js/ui/calendar.js:82
msgctxt "grid wednesday"
msgid "W"
msgstr "Q"
#. Translators: Calendar grid abbreviation for Thursday
#: ../js/ui/calendar.js:92
#: ../js/ui/calendar.js:84
msgctxt "grid thursday"
msgid "T"
msgstr "Q"
#. Translators: Calendar grid abbreviation for Friday
#: ../js/ui/calendar.js:94
#: ../js/ui/calendar.js:86
msgctxt "grid friday"
msgid "F"
msgstr "S"
#. Translators: Calendar grid abbreviation for Saturday
#: ../js/ui/calendar.js:96
#: ../js/ui/calendar.js:88
msgctxt "grid saturday"
msgid "S"
msgstr "S"
#: ../js/ui/calendar.js:566
#: ../js/ui/calendar.js:416
msgid "Previous month"
msgstr "Mês anterior"
#: ../js/ui/calendar.js:576
#: ../js/ui/calendar.js:426
msgid "Next month"
msgstr "Mês seguinte"
#: ../js/ui/calendar.js:728
#, javascript-format
#: ../js/ui/calendar.js:579
#, no-javascript-format
msgctxt "date day number format"
msgid "%d"
msgstr "%d"
#: ../js/ui/calendar.js:783
#: ../js/ui/calendar.js:634
msgid "Week %V"
msgstr "Semana %V"
#. Translators: Shown in calendar event list for all day events
#. * Keep it short, best if you can use less then 10 characters
#.
#: ../js/ui/calendar.js:1188
#: ../js/ui/calendar.js:695
msgctxt "event list time"
msgid "All Day"
msgstr "Dia completo"
#: ../js/ui/calendar.js:1295
msgid "Clear section"
msgstr "Limpar secção"
#: ../js/ui/calendar.js:1522
#: ../js/ui/calendar.js:821
msgid "Events"
msgstr "Eventos"
#: ../js/ui/calendar.js:1531
#: ../js/ui/calendar.js:830
msgctxt "calendar heading"
msgid "%A, %B %d"
msgstr "%A, %B %d"
#: ../js/ui/calendar.js:1535
#: ../js/ui/calendar.js:834
msgctxt "calendar heading"
msgid "%A, %B %d, %Y"
msgstr "%A, %B %d, %Y"
#: ../js/ui/calendar.js:1620
#: ../js/ui/calendar.js:919
msgid "Notifications"
msgstr "Notificações"
#: ../js/ui/calendar.js:1771
#: ../js/ui/calendar.js:1070
msgid "No Notifications"
msgstr "Sem notificações"
#: ../js/ui/calendar.js:1774
#: ../js/ui/calendar.js:1073
msgid "No Events"
msgstr "Sem eventos"
@ -780,7 +799,7 @@ msgstr "Desculpe, não resultou. Por favor, tente novamente."
#. Translators: this is the other person changing their old IM name to their new
#. IM name.
#: ../js/ui/components/telepathyClient.js:759
#: ../js/ui/components/telepathyClient.js:760
#, javascript-format
msgid "%s is now known as %s"
msgstr "%s é agora conhecido como %s"
@ -968,11 +987,11 @@ msgid "Keyboard"
msgstr "Teclado"
#. translators: 'Hide' is a verb
#: ../js/ui/legacyTray.js:66
#: ../js/ui/legacyTray.js:65
msgid "Hide tray"
msgstr "Ocultar tabuleiro"
#: ../js/ui/legacyTray.js:107
#: ../js/ui/legacyTray.js:106
msgid "Status Icons"
msgstr "Ícones de estado"
@ -1000,7 +1019,7 @@ msgstr "Ativo"
#. translators:
#. * The device has been disabled
#: ../js/ui/lookingGlass.js:719 ../src/gvc/gvc-mixer-control.c:1828
#: ../js/ui/lookingGlass.js:719 ../src/gvc/gvc-mixer-control.c:1866
msgid "Disabled"
msgstr "Inativo"
@ -1024,10 +1043,26 @@ msgstr "Ver fonte"
msgid "Web Page"
msgstr "Página Web"
#: ../js/ui/messageList.js:543
msgid "Clear section"
msgstr "Limpar secção"
#: ../js/ui/messageTray.js:1486
msgid "System Information"
msgstr "Informação do sistema"
#: ../js/ui/mpris.js:194
msgid "Unknown artist"
msgstr "Artista desconhecido"
#: ../js/ui/mpris.js:195
msgid "Unknown title"
msgstr "Titulo desconhecido"
#: ../js/ui/mpris.js:217
msgid "Media"
msgstr "Média"
#: ../js/ui/overview.js:84
msgid "Undo"
msgstr "Desfazer"
@ -1104,7 +1139,7 @@ msgid_plural "%d new notifications"
msgstr[0] "%d nova notificação"
msgstr[1] "%d novas notificações"
#: ../js/ui/screenShield.js:432 ../js/ui/status/system.js:374
#: ../js/ui/screenShield.js:432 ../js/ui/status/system.js:379
msgid "Lock"
msgstr "Bloquear"
@ -1246,30 +1281,50 @@ msgstr "Luminosidade"
msgid "Show Keyboard Layout"
msgstr "Mostrar a disposição de teclado"
#: ../js/ui/status/location.js:71 ../js/ui/status/location.js:177
#: ../js/ui/status/location.js:107 ../js/ui/status/location.js:215
msgid "Location Enabled"
msgstr "Localização ativada"
#: ../js/ui/status/location.js:72 ../js/ui/status/location.js:178
#: ../js/ui/status/location.js:108 ../js/ui/status/location.js:216
msgid "Disable"
msgstr "Desativar"
#: ../js/ui/status/location.js:73
#: ../js/ui/status/location.js:109
msgid "Privacy Settings"
msgstr "Definições de privacidade"
#: ../js/ui/status/location.js:176
#: ../js/ui/status/location.js:214
msgid "Location In Use"
msgstr "Localização em uso"
#: ../js/ui/status/location.js:180
#: ../js/ui/status/location.js:218
msgid "Location Disabled"
msgstr "Localização desativada"
#: ../js/ui/status/location.js:181
#: ../js/ui/status/location.js:219
msgid "Enable"
msgstr "Ativar"
#: ../js/ui/status/location.js:426
msgid "Deny Access"
msgstr "Negar acesso"
#: ../js/ui/status/location.js:429
msgid "Grant Access"
msgstr "Conceder acesso"
#. Translators: %s is an application name
#: ../js/ui/status/location.js:435
#, javascript-format
msgid "Give %s access to your location?"
msgstr "Dar a %s permissão para usar a localização?"
#: ../js/ui/status/location.js:437
msgid "Location access can be changed at any time from the privacy settings."
msgstr ""
"Acesso à localização pode ser alterado a qualquer altura a partir das "
"definições de privacidade."
#: ../js/ui/status/network.js:101
msgid "<unknown>"
msgstr "<desconhecido>"
@ -1492,27 +1547,27 @@ msgstr "%d %%"
msgid "Airplane Mode On"
msgstr "Modo Avião ligado"
#: ../js/ui/status/system.js:343
#: ../js/ui/status/system.js:348
msgid "Switch User"
msgstr "Alternar utilizador"
#: ../js/ui/status/system.js:348
#: ../js/ui/status/system.js:353
msgid "Log Out"
msgstr "Terminar sessão"
#: ../js/ui/status/system.js:353
#: ../js/ui/status/system.js:358
msgid "Account Settings"
msgstr "Definições de conta"
#: ../js/ui/status/system.js:370
#: ../js/ui/status/system.js:375
msgid "Orientation Lock"
msgstr "Orientação de bloqueio"
#: ../js/ui/status/system.js:378
#: ../js/ui/status/system.js:383
msgid "Suspend"
msgstr "Suspender"
#: ../js/ui/status/system.js:381
#: ../js/ui/status/system.js:386
msgid "Power Off"
msgstr "Desligar"
@ -1524,10 +1579,6 @@ msgstr "Volume alterado"
msgid "Volume"
msgstr "Volume"
#: ../js/ui/status/volume.js:213
msgid "Microphone"
msgstr "Microfone"
#: ../js/ui/unlockDialog.js:67
msgid "Log in as another user"
msgstr "Iniciar sessão como outro utilizador"
@ -1648,7 +1699,7 @@ msgstr "Calendário do Evolution"
#. translators:
#. * The number of sound outputs on a particular device
#: ../src/gvc/gvc-mixer-control.c:1835
#: ../src/gvc/gvc-mixer-control.c:1873
#, c-format
msgid "%u Output"
msgid_plural "%u Outputs"
@ -1657,14 +1708,14 @@ msgstr[1] "%u saídas"
#. translators:
#. * The number of sound inputs on a particular device
#: ../src/gvc/gvc-mixer-control.c:1845
#: ../src/gvc/gvc-mixer-control.c:1883
#, c-format
msgid "%u Input"
msgid_plural "%u Inputs"
msgstr[0] "%u entrada"
msgstr[1] "%u entradas"
#: ../src/gvc/gvc-mixer-control.c:2371
#: ../src/gvc/gvc-mixer-control.c:2738
msgid "System Sounds"
msgstr "Sons de sistema"
@ -1707,6 +1758,9 @@ msgstr "A senha não pode estar vazia"
msgid "Authentication dialog was dismissed by the user"
msgstr "O diálogo de autenticação foi fechado pelo utilizador"
#~ msgid "%s is requesting access to your location."
#~ msgstr "%s está a pedir acesso à sua localização."
#~ msgid "GNOME Shell (wayland compositor)"
#~ msgstr "Interface GNOME (compositor wayland)"
@ -1923,9 +1977,6 @@ msgstr "O diálogo de autenticação foi fechado pelo utilizador"
#~ msgid "View account"
#~ msgstr "Visualizar a conta"
#~ msgid "Unknown reason"
#~ msgstr "Motivo desconhecido"
#~ msgid "Open Calendar"
#~ msgstr "Abrir o Calendário"
@ -2031,9 +2082,6 @@ msgstr "O diálogo de autenticação foi fechado pelo utilizador"
#~ msgid "Device %s wants access to the service '%s'"
#~ msgstr "O dispositivo %s deseja aceder ao serviço '%s'"
#~ msgid "Always grant access"
#~ msgstr "Conceder sempre o acesso"
#~ msgid "Grant this time only"
#~ msgstr "Conceder apenas desta vez"

View File

@ -14,7 +14,7 @@ msgstr ""
"Project-Id-Version: gnome-shell\n"
"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug.cgi?product=gnome-"
"shell&keywords=I18N+L10N&component=general\n"
"POT-Creation-Date: 2016-03-19 10:22+0000\n"
"POT-Creation-Date: 2016-09-10 21:51+0000\n"
"PO-Revision-Date: 2016-03-19 20:56+0200\n"
"Last-Translator: Muhammet Kara <muhammetk@gmail.com>\n"
"Language-Team: Turkish <gnome-turk@gnome.org>\n"
@ -368,7 +368,7 @@ msgstr "Listede yok mu?"
#. Translators: this message is shown below the username entry field
#. to clue the user in on how to login to the local network realm
#: ../js/gdm/loginDialog.js:854
#: ../js/gdm/loginDialog.js:859
#, javascript-format
msgid "(e.g., user or %s)"
msgstr "(örneğin, kullanıcı veya %s)"
@ -376,12 +376,12 @@ msgstr "(örneğin, kullanıcı veya %s)"
#. TTLS and PEAP are actually much more complicated, but this complication
#. is not visible here since we only care about phase2 authentication
#. (and don't even care of which one)
#: ../js/gdm/loginDialog.js:859 ../js/ui/components/networkAgent.js:271
#: ../js/gdm/loginDialog.js:864 ../js/ui/components/networkAgent.js:271
#: ../js/ui/components/networkAgent.js:289
msgid "Username: "
msgstr "Kullanıcı Adı: "
#: ../js/gdm/loginDialog.js:1196
#: ../js/gdm/loginDialog.js:1201
msgid "Login Window"
msgstr "Oturum Açma Penceresi"
@ -532,7 +532,6 @@ msgid "Select Audio Device"
msgstr "Ses Aygıtı Seç"
#: ../js/ui/audioDeviceSelection.js:69
#| msgid "Account Settings"
msgid "Sound Settings"
msgstr "Ses Ayarları"
@ -556,7 +555,7 @@ msgstr "Arkaplanı Değiştir…"
msgid "Display Settings"
msgstr "Görüntü Ayarları"
#: ../js/ui/backgroundMenu.js:22 ../js/ui/status/system.js:366
#: ../js/ui/backgroundMenu.js:22 ../js/ui/status/system.js:371
msgid "Settings"
msgstr "Ayarlar"
@ -1010,7 +1009,7 @@ msgstr "Etkin"
#. translators:
#. * The device has been disabled
#: ../js/ui/lookingGlass.js:719 ../src/gvc/gvc-mixer-control.c:1828
#: ../js/ui/lookingGlass.js:719 ../src/gvc/gvc-mixer-control.c:1866
msgid "Disabled"
msgstr "Devre dışı"
@ -1043,13 +1042,10 @@ msgid "System Information"
msgstr "Sistem Bilgisi"
#: ../js/ui/mpris.js:194
#| msgid "Unknown reason"
msgid "Unknown artist"
msgstr "Bilinmeyen sanatçı"
#: ../js/ui/mpris.js:195
#| msgctxt "program"
#| msgid "Unknown"
msgid "Unknown title"
msgstr "Bilinmeyen başlık"
@ -1131,7 +1127,7 @@ msgid "%d new notification"
msgid_plural "%d new notifications"
msgstr[0] "%d yeni bildirim"
#: ../js/ui/screenShield.js:432 ../js/ui/status/system.js:374
#: ../js/ui/screenShield.js:432 ../js/ui/status/system.js:379
msgid "Lock"
msgstr "Kilitle"
@ -1536,27 +1532,27 @@ msgstr "%% %d"
msgid "Airplane Mode On"
msgstr "Uçak Kipi Açık"
#: ../js/ui/status/system.js:343
#: ../js/ui/status/system.js:348
msgid "Switch User"
msgstr "Kullanıcı Değiştir"
#: ../js/ui/status/system.js:348
#: ../js/ui/status/system.js:353
msgid "Log Out"
msgstr "Oturumu Kapat"
#: ../js/ui/status/system.js:353
#: ../js/ui/status/system.js:358
msgid "Account Settings"
msgstr "Hesap Ayarları"
#: ../js/ui/status/system.js:370
#: ../js/ui/status/system.js:375
msgid "Orientation Lock"
msgstr "Yönelim Kilidi"
#: ../js/ui/status/system.js:378
#: ../js/ui/status/system.js:383
msgid "Suspend"
msgstr "Beklet"
#: ../js/ui/status/system.js:381
#: ../js/ui/status/system.js:386
msgid "Power Off"
msgstr "Kapat"
@ -1627,7 +1623,7 @@ msgstr "Önceki Boyut"
#: ../js/ui/windowMenu.js:45
msgid "Maximize"
msgstr "En üst düzeye çıkar"
msgstr "Ekranı kapla"
#: ../js/ui/windowMenu.js:52
msgid "Move"
@ -1687,7 +1683,7 @@ msgstr "Evolution Takvim"
#. translators:
#. * The number of sound outputs on a particular device
#: ../src/gvc/gvc-mixer-control.c:1835
#: ../src/gvc/gvc-mixer-control.c:1873
#, c-format
msgid "%u Output"
msgid_plural "%u Outputs"
@ -1695,13 +1691,13 @@ msgstr[0] "%u Çıktı"
#. translators:
#. * The number of sound inputs on a particular device
#: ../src/gvc/gvc-mixer-control.c:1845
#: ../src/gvc/gvc-mixer-control.c:1883
#, c-format
msgid "%u Input"
msgid_plural "%u Inputs"
msgstr[0] "%u Girdi"
#: ../src/gvc/gvc-mixer-control.c:2371
#: ../src/gvc/gvc-mixer-control.c:2738
msgid "System Sounds"
msgstr "Sistem Sesleri"

View File

@ -16,22 +16,23 @@
# Tong Hui <tonghuix@gmail.com>, 2013, 2014, 2015.
# Aron Xu <aronxu@gnome.org>, 2010, 2011, 2012, 2013, 2015, 2016.
# liushuyu <liushuyu_011@126.com>, 2015.
# Dingzhong Chen <wsxy162@gmail.com>, 2016.
#
msgid ""
msgstr ""
"Project-Id-Version: gnome-shell master\n"
"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug.cgi?product=gnome-"
"Report-Msgid-Bugs-To: https://bugzilla.gnome.org/enter_bug.cgi?product=gnome-"
"shell&keywords=I18N+L10N&component=general\n"
"POT-Creation-Date: 2016-03-25 22:36+0000\n"
"PO-Revision-Date: 2016-03-26 15:13+0800\n"
"Last-Translator: Aron Xu <happyaron.xu@gmail.com>\n"
"Language-Team: Chinese (simplified) <i18n-zh@googlegroups.com>\n"
"POT-Creation-Date: 2017-05-19 12:32+0000\n"
"PO-Revision-Date: 2016-05-14 00:34+0800\n"
"Last-Translator: Dingzhong Chen <wsxy162@gmail.com>\n"
"Language-Team: Chinese (China) <i18n-zh@googlegroups.com>\n"
"Language: zh_CN\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=1; plural=0;\n"
"X-Generator: Poedit 1.7.6\n"
"X-Generator: Gtranslator 2.91.7\n"
#: ../data/50-gnome-shell-system.xml.in.h:1
msgid "System"
@ -345,7 +346,7 @@ msgstr "未列出?"
#. Translators: this message is shown below the username entry field
#. to clue the user in on how to login to the local network realm
#: ../js/gdm/loginDialog.js:854
#: ../js/gdm/loginDialog.js:859
#, javascript-format
msgid "(e.g., user or %s)"
msgstr "(如 user 或 %s)"
@ -353,12 +354,12 @@ msgstr "(如 user 或 %s)"
#. TTLS and PEAP are actually much more complicated, but this complication
#. is not visible here since we only care about phase2 authentication
#. (and don't even care of which one)
#: ../js/gdm/loginDialog.js:859 ../js/ui/components/networkAgent.js:271
#: ../js/gdm/loginDialog.js:864 ../js/ui/components/networkAgent.js:271
#: ../js/ui/components/networkAgent.js:289
msgid "Username: "
msgstr "用户名:"
#: ../js/gdm/loginDialog.js:1196
#: ../js/gdm/loginDialog.js:1201
msgid "Login Window"
msgstr "登录窗口"
@ -532,7 +533,7 @@ msgstr "更换壁纸..."
msgid "Display Settings"
msgstr "显示设置"
#: ../js/ui/backgroundMenu.js:22 ../js/ui/status/system.js:366
#: ../js/ui/backgroundMenu.js:22 ../js/ui/status/system.js:371
msgid "Settings"
msgstr "设置"
@ -981,7 +982,7 @@ msgstr "已启用"
#. translators:
#. * The device has been disabled
#: ../js/ui/lookingGlass.js:719 ../src/gvc/gvc-mixer-control.c:1828
#: ../js/ui/lookingGlass.js:719 ../src/gvc/gvc-mixer-control.c:1866
msgid "Disabled"
msgstr "已禁用"
@ -1099,7 +1100,7 @@ msgid "%d new notification"
msgid_plural "%d new notifications"
msgstr[0] "%d 条新通知"
#: ../js/ui/screenShield.js:432 ../js/ui/status/system.js:374
#: ../js/ui/screenShield.js:432 ../js/ui/status/system.js:379
msgid "Lock"
msgstr "锁定"
@ -1213,9 +1214,11 @@ msgid "%d Connected"
msgid_plural "%d Connected"
msgstr[0] "%d 台设备已连接"
# off 太短了,翻译成更具体的蓝牙已关闭,也能和其他字符串统一
#: ../js/ui/status/bluetooth.js:138
#, fuzzy
msgid "Off"
msgstr "关"
msgstr "蓝牙已"
#: ../js/ui/status/bluetooth.js:140
msgid "Not In Use"
@ -1371,15 +1374,15 @@ msgstr "使用互联网连接"
#: ../js/ui/status/network.js:813
msgid "Airplane Mode is On"
msgstr "已开启乘机模式"
msgstr "已开启飞行模式"
#: ../js/ui/status/network.js:814
msgid "Wi-Fi is disabled when airplane mode is on."
msgstr "启用乘机模式时 Wi-Fi 会关闭"
msgstr "启用飞行模式时 Wi-Fi 会关闭"
#: ../js/ui/status/network.js:815
msgid "Turn Off Airplane Mode"
msgstr "关闭乘机模式"
msgstr "关闭飞行模式"
#: ../js/ui/status/network.js:824
msgid "Wi-Fi is Off"
@ -1504,27 +1507,27 @@ msgstr "%d%%"
msgid "Airplane Mode On"
msgstr "已开启飞行模式"
#: ../js/ui/status/system.js:343
#: ../js/ui/status/system.js:348
msgid "Switch User"
msgstr "切换用户"
#: ../js/ui/status/system.js:348
#: ../js/ui/status/system.js:353
msgid "Log Out"
msgstr "注销"
#: ../js/ui/status/system.js:353
#: ../js/ui/status/system.js:358
msgid "Account Settings"
msgstr "帐号设置"
#: ../js/ui/status/system.js:370
#: ../js/ui/status/system.js:375
msgid "Orientation Lock"
msgstr "方向锁定"
#: ../js/ui/status/system.js:378
#: ../js/ui/status/system.js:383
msgid "Suspend"
msgstr "挂起"
#: ../js/ui/status/system.js:381
#: ../js/ui/status/system.js:386
msgid "Power Off"
msgstr "关机"
@ -1655,7 +1658,7 @@ msgstr "Evolution 日历"
#. translators:
#. * The number of sound outputs on a particular device
#: ../src/gvc/gvc-mixer-control.c:1835
#: ../src/gvc/gvc-mixer-control.c:1873
#, c-format
msgid "%u Output"
msgid_plural "%u Outputs"
@ -1663,13 +1666,13 @@ msgstr[0] "%u 个输出"
#. translators:
#. * The number of sound inputs on a particular device
#: ../src/gvc/gvc-mixer-control.c:1845
#: ../src/gvc/gvc-mixer-control.c:1883
#, c-format
msgid "%u Input"
msgid_plural "%u Inputs"
msgstr[0] "%u 个输入"
#: ../src/gvc/gvc-mixer-control.c:2371
#: ../src/gvc/gvc-mixer-control.c:2738
msgid "System Sounds"
msgstr "系统声音"

View File

@ -74,15 +74,15 @@ static App *_global_app = NULL;
typedef struct
{
char *rid;
time_t start_time;
time_t end_time;
} CalendarOccurrence;
typedef struct
{
char *id;
char *uid;
char *rid;
char *source_id;
char *backend_name;
char *summary;
char *description;
@ -95,6 +95,12 @@ typedef struct
GSList *occurrences;
} CalendarAppointment;
typedef struct
{
ECalClient *client;
GHashTable *appointments;
} CollectAppointmentsData;
static time_t
get_time_from_property (icalcomponent *ical,
icalproperty_kind prop_kind,
@ -129,22 +135,6 @@ get_ical_uid (icalcomponent *ical)
return g_strdup (icalcomponent_get_uid (ical));
}
static char *
get_ical_rid (icalcomponent *ical)
{
icalproperty *prop;
struct icaltimetype ical_time;
prop = icalcomponent_get_first_property (ical, ICAL_RECURRENCEID_PROPERTY);
if (!prop)
return NULL;
ical_time = icalproperty_get_recurrenceid (prop);
return icaltime_is_valid_time (ical_time) && !icaltime_is_null_time (ical_time) ?
g_strdup (icaltime_as_ical_string (ical_time)) : NULL;
}
static char *
get_ical_summary (icalcomponent *ical)
{
@ -324,12 +314,14 @@ calendar_appointment_equal (CalendarAppointment *a,
CalendarOccurrence *ob = lb->data;
if (oa->start_time != ob->start_time ||
oa->end_time != ob->end_time)
oa->end_time != ob->end_time ||
null_safe_strcmp (oa->rid, ob->rid) != 0)
return FALSE;
}
return
null_safe_strcmp (a->uid, b->uid) == 0 &&
null_safe_strcmp (a->source_id, b->source_id) == 0 &&
null_safe_strcmp (a->backend_name, b->backend_name) == 0 &&
null_safe_strcmp (a->summary, b->summary) == 0 &&
null_safe_strcmp (a->description, b->description) == 0 &&
@ -345,18 +337,15 @@ calendar_appointment_free (CalendarAppointment *appointment)
GSList *l;
for (l = appointment->occurrences; l; l = l->next)
g_free (l->data);
g_slist_free (appointment->occurrences);
g_free (((CalendarOccurrence *)l->data)->rid);
g_slist_free_full (appointment->occurrences, g_free);
appointment->occurrences = NULL;
g_free (appointment->id);
appointment->id = NULL;
g_free (appointment->uid);
appointment->uid = NULL;
g_free (appointment->rid);
appointment->rid = NULL;
g_free (appointment->source_id);
appointment->source_id = NULL;
g_free (appointment->backend_name);
appointment->backend_name = NULL;
@ -377,13 +366,16 @@ calendar_appointment_free (CalendarAppointment *appointment)
static void
calendar_appointment_init (CalendarAppointment *appointment,
icalcomponent *ical,
ECalClient *cal,
icaltimezone *default_zone)
ECalClient *cal)
{
const char *source_uid;
icaltimezone *default_zone;
const char *source_id;
source_id = e_source_get_uid (e_client_get_source (E_CLIENT (cal)));
default_zone = e_cal_client_get_default_timezone (cal);
appointment->uid = get_ical_uid (ical);
appointment->rid = get_ical_rid (ical);
appointment->source_id = g_strdup (source_id);
appointment->backend_name = get_source_backend_name (cal);
appointment->summary = get_ical_summary (ical);
appointment->description = get_ical_description (ical);
@ -393,16 +385,6 @@ calendar_appointment_init (CalendarAppointment *appointment,
appointment->is_all_day = get_ical_is_all_day (ical,
appointment->start_time,
default_zone);
/* While the UID is usually enough to identify an event, only the triple
* of (source,UID,RID) is fully unambiguous; neither may contain '\n',
* so we can safely use it to create a unique ID from the triple
*/
source_uid = e_source_get_uid (e_client_get_source (E_CLIENT (cal)));
appointment->id = g_strdup_printf ("%s\n%s\n%s",
source_uid,
appointment->uid,
appointment->rid ? appointment->rid : "");
}
static icaltimezone *
@ -420,70 +402,52 @@ resolve_timezone_id (const char *tzid,
return retval;
}
static gboolean
calendar_appointment_collect_occurrence (ECalComponent *component,
time_t occurrence_start,
time_t occurrence_end,
gpointer data)
{
CalendarOccurrence *occurrence;
GSList **collect_loc = data;
occurrence = g_new0 (CalendarOccurrence, 1);
occurrence->start_time = occurrence_start;
occurrence->end_time = occurrence_end;
*collect_loc = g_slist_prepend (*collect_loc, occurrence);
return TRUE;
}
static void
calendar_appointment_generate_occurrences (CalendarAppointment *appointment,
icalcomponent *ical,
ECalClient *cal,
time_t start,
time_t end,
icaltimezone *default_zone)
{
ECalComponent *ecal;
g_assert (appointment->occurrences == NULL);
ecal = e_cal_component_new ();
e_cal_component_set_icalcomponent (ecal,
icalcomponent_new_clone (ical));
e_cal_recur_generate_instances (ecal,
start,
end,
calendar_appointment_collect_occurrence,
&appointment->occurrences,
(ECalRecurResolveTimezoneFn) resolve_timezone_id,
cal,
default_zone);
g_object_unref (ecal);
appointment->occurrences = g_slist_reverse (appointment->occurrences);
}
static CalendarAppointment *
calendar_appointment_new (icalcomponent *ical,
ECalClient *cal,
icaltimezone *default_zone)
ECalClient *cal)
{
CalendarAppointment *appointment;
appointment = g_new0 (CalendarAppointment, 1);
calendar_appointment_init (appointment,
ical,
cal,
default_zone);
calendar_appointment_init (appointment, ical, cal);
return appointment;
}
static gboolean
generate_instances_cb (ECalComponent *comp,
time_t start,
time_t end,
gpointer data)
{
ECalClient *cal = ((CollectAppointmentsData *)data)->client;
GHashTable *appointments = ((CollectAppointmentsData *)data)->appointments;
CalendarAppointment *appointment;
CalendarOccurrence *occurrence;
const char *uid;
e_cal_component_get_uid (comp, &uid);
appointment = g_hash_table_lookup (appointments, uid);
if (appointment == NULL)
{
icalcomponent *ical = e_cal_component_get_icalcomponent (comp);
appointment = calendar_appointment_new (ical, cal);
g_hash_table_insert (appointments, g_strdup (uid), appointment);
}
occurrence = g_new0 (CalendarOccurrence, 1);
occurrence->start_time = start;
occurrence->end_time = end;
occurrence->rid = e_cal_component_get_recurid_as_string (comp);
appointment->occurrences = g_slist_append (appointment->occurrences, occurrence);
return TRUE;
}
/* ---------------------------------------------------------------------------------------------------- */
struct _App
@ -526,6 +490,10 @@ app_update_timezone (App *app)
app->timezone_location = location;
print_debug ("Using timezone %s", app->timezone_location);
}
else
{
g_free (location);
}
}
static gboolean
@ -619,6 +587,7 @@ app_load_events (App *app)
GList *ll;
gchar *since_iso8601;
gchar *until_iso8601;
gchar *query;
/* out with the old */
g_hash_table_remove_all (app->appointments);
@ -645,14 +614,19 @@ app_load_events (App *app)
since_iso8601,
until_iso8601);
query = g_strdup_printf ("occur-in-time-range? (make-time \"%s\") "
"(make-time \"%s\")",
since_iso8601,
until_iso8601);
clients = calendar_sources_get_appointment_clients (app->sources);
for (l = clients; l != NULL; l = l->next)
{
ECalClient *cal = E_CAL_CLIENT (l->data);
GError *error;
gchar *query;
GSList *objects, *j;
ECalClientView *view;
CollectAppointmentsData data;
e_cal_client_set_default_timezone (cal, app->zone);
@ -666,45 +640,13 @@ app_load_events (App *app)
continue;
}
query = g_strdup_printf ("occur-in-time-range? (make-time \"%s\") "
"(make-time \"%s\")",
since_iso8601,
until_iso8601);
error = NULL;
objects = NULL;
if (!e_cal_client_get_object_list_sync (cal,
query,
&objects,
NULL, /* cancellable */
&error))
{
ESource *source = e_client_get_source (E_CLIENT (cal));
g_warning ("Error querying calendar %s: %s\n",
e_source_get_uid (source), error->message);
g_error_free (error);
g_free (query);
continue;
}
for (j = objects; j != NULL; j = j->next)
{
icalcomponent *ical = j->data;
CalendarAppointment *appointment;
appointment = calendar_appointment_new (ical, cal, app->zone);
if (appointment == NULL)
continue;
calendar_appointment_generate_occurrences (appointment,
ical,
cal,
app->since,
app->until,
app->zone);
g_hash_table_insert (app->appointments, g_strdup (appointment->uid), appointment);
}
e_cal_client_free_icalcomp_slist (objects);
data.client = cal;
data.appointments = app->appointments;
e_cal_client_generate_instances_sync (cal,
app->since,
app->until,
generate_instances_cb,
&data);
error = NULL;
if (!e_cal_client_get_view_sync (cal,
@ -733,12 +675,11 @@ app_load_events (App *app)
e_cal_client_view_start (view, NULL);
app->live_views = g_list_prepend (app->live_views, view);
}
g_free (query);
}
g_list_free (clients);
g_free (since_iso8601);
g_free (until_iso8601);
g_free (query);
app->cache_invalid = FALSE;
}
@ -929,16 +870,27 @@ handle_method_call (GDBusConnection *connection,
(start_time <= app->since &&
(end_time - 1) > app->since))
{
/* While the UID is usually enough to identify an event,
* only the triple of (source,UID,RID) is fully unambiguous;
* neither may contain '\n', so we can safely use it to
* create a unique ID from the triple
*/
char *id = g_strdup_printf ("%s\n%s\n%s",
a->source_id,
a->uid,
o->rid ? o->rid : "");
g_variant_builder_init (&extras_builder, G_VARIANT_TYPE ("a{sv}"));
g_variant_builder_add (&builder,
"(sssbxxa{sv})",
a->id,
id,
a->summary != NULL ? a->summary : "",
a->description != NULL ? a->description : "",
(gboolean) a->is_all_day,
(gint64) start_time,
(gint64) end_time,
extras_builder);
g_free (id);
}
}
}

View File

@ -722,6 +722,23 @@ shell_app_get_last_user_time (ShellApp *app)
return (int)last_user_time;
}
static gboolean
shell_app_is_minimized (ShellApp *app)
{
GSList *iter;
if (app->running_state == NULL)
return FALSE;
for (iter = app->running_state->windows; iter; iter = iter->next)
{
if (meta_window_showing_on_its_workspace (iter->data))
return FALSE;
}
return TRUE;
}
/**
* shell_app_compare:
* @app:
@ -729,13 +746,17 @@ shell_app_get_last_user_time (ShellApp *app)
*
* Compare one #ShellApp instance to another, in the following way:
* - Running applications sort before not-running applications.
* - The application which the user interacted with most recently
* - If one of them has non-minimized windows and the other does not,
* the one with visible windows is first.
* - Finally, the application which the user interacted with most recently
* compares earlier.
*/
int
shell_app_compare (ShellApp *app,
ShellApp *other)
{
gboolean min_app, min_other;
if (app->state != other->state)
{
if (app->state == SHELL_APP_STATE_RUNNING)
@ -743,6 +764,16 @@ shell_app_compare (ShellApp *app,
return 1;
}
min_app = shell_app_is_minimized (app);
min_other = shell_app_is_minimized (other);
if (min_app != min_other)
{
if (min_other)
return -1;
return 1;
}
if (app->state == SHELL_APP_STATE_RUNNING)
{
if (app->running_state->windows && !other->running_state->windows)

View File

@ -107,6 +107,8 @@ static void recorder_set_draw_cursor (ShellRecorder *recorder,
static void recorder_pipeline_set_caps (RecorderPipeline *pipeline);
static void recorder_pipeline_closed (RecorderPipeline *pipeline);
static void recorder_remove_redraw_timeout (ShellRecorder *recorder);
enum {
PROP_0,
PROP_SCREEN,
@ -235,6 +237,8 @@ shell_recorder_finalize (GObject *object)
recorder_set_pipeline (recorder, NULL);
recorder_set_file_template (recorder, NULL);
recorder_remove_redraw_timeout (recorder);
g_clear_object (&recorder->a11y_settings);
G_OBJECT_CLASS (shell_recorder_parent_class)->finalize (object);
@ -317,6 +321,9 @@ recorder_fetch_cursor_image (ShellRecorder *recorder)
guint8 *data;
texture = meta_cursor_tracker_get_sprite (recorder->cursor_tracker);
if (!texture)
return;
width = cogl_texture_get_width (texture);
height = cogl_texture_get_height (texture);
stride = 4 * width;

View File

@ -2224,6 +2224,7 @@ st_theme_node_prerender_shadow (StThemeNodePaintState *state)
int max_borders[4];
int center_radius, corner_id;
CoglHandle buffer, offscreen = COGL_INVALID_HANDLE;
CoglError *error = NULL;
/* Get infos from the node */
if (state->alloc_width < node->box_shadow_min_width ||
@ -2264,10 +2265,12 @@ st_theme_node_prerender_shadow (StThemeNodePaintState *state)
state->box_shadow_height,
COGL_TEXTURE_NO_SLICING,
COGL_PIXEL_FORMAT_ANY);
if (buffer != COGL_INVALID_HANDLE)
offscreen = cogl_offscreen_new_with_texture (buffer);
if (buffer == NULL)
return;
if (offscreen != COGL_INVALID_HANDLE)
offscreen = cogl_offscreen_new_with_texture (buffer);
if (cogl_framebuffer_allocate (COGL_FRAMEBUFFER (offscreen), &error))
{
ClutterActorBox box = { 0, 0, state->box_shadow_width, state->box_shadow_height};
@ -2277,14 +2280,17 @@ st_theme_node_prerender_shadow (StThemeNodePaintState *state)
cogl_framebuffer_clear4f (offscreen, COGL_BUFFER_BIT_COLOR, 0, 0, 0, 0);
st_theme_node_paint_borders (state, offscreen, &box, 0xFF);
cogl_handle_unref (offscreen);
state->box_shadow_pipeline = _st_create_shadow_pipeline (st_theme_node_get_box_shadow (node),
buffer);
}
else
{
cogl_error_free (error);
}
if (buffer != COGL_INVALID_HANDLE)
cogl_handle_unref (buffer);
cogl_handle_unref (offscreen);
cogl_handle_unref (buffer);
}
static void

View File

@ -241,6 +241,7 @@ setup_framebuffers (StThemeNodeTransition *transition,
{
StThemeNodeTransitionPrivate *priv = transition->priv;
guint width, height;
CoglError *catch_error = NULL;
/* template material to avoid unnecessary shader compilation */
static CoglHandle material_template = COGL_INVALID_HANDLE;
@ -263,19 +264,33 @@ setup_framebuffers (StThemeNodeTransition *transition,
COGL_TEXTURE_NO_SLICING,
COGL_PIXEL_FORMAT_ANY);
g_return_val_if_fail (priv->old_texture != COGL_INVALID_HANDLE, FALSE);
g_return_val_if_fail (priv->new_texture != COGL_INVALID_HANDLE, FALSE);
if (priv->old_texture == COGL_INVALID_HANDLE)
return FALSE;
if (priv->new_texture == COGL_INVALID_HANDLE)
return FALSE;
if (priv->old_offscreen)
cogl_handle_unref (priv->old_offscreen);
priv->old_offscreen = cogl_offscreen_new_with_texture (priv->old_texture);
if (!cogl_framebuffer_allocate (COGL_FRAMEBUFFER (priv->old_offscreen), &catch_error))
{
cogl_object_unref (priv->old_offscreen);
cogl_error_free (catch_error);
priv->old_offscreen = COGL_INVALID_HANDLE;
return FALSE;
}
if (priv->new_offscreen)
cogl_handle_unref (priv->new_offscreen);
priv->new_offscreen = cogl_offscreen_new_with_texture (priv->new_texture);
g_return_val_if_fail (priv->old_offscreen != COGL_INVALID_HANDLE, FALSE);
g_return_val_if_fail (priv->new_offscreen != COGL_INVALID_HANDLE, FALSE);
if (!cogl_framebuffer_allocate (COGL_FRAMEBUFFER (priv->new_offscreen), &catch_error))
{
cogl_object_unref (priv->new_offscreen);
cogl_error_free (catch_error);
priv->new_offscreen = COGL_INVALID_HANDLE;
return FALSE;
}
if (priv->material == NULL)
{

View File

@ -66,11 +66,30 @@ st_theme_node_class_init (StThemeNodeClass *klass)
object_class->finalize = st_theme_node_finalize;
}
static void
maybe_free_properties (StThemeNode *node)
{
if (node->properties)
{
g_free (node->properties);
node->properties = NULL;
node->n_properties = 0;
}
if (node->inline_properties)
{
/* This destroys the list, not just the head of the list */
cr_declaration_destroy (node->inline_properties);
node->inline_properties = NULL;
}
}
static void
on_custom_stylesheets_changed (StTheme *theme,
gpointer data)
{
StThemeNode *node = data;
maybe_free_properties (node);
node->properties_computed = FALSE;
}
@ -119,18 +138,7 @@ st_theme_node_finalize (GObject *object)
g_strfreev (node->pseudo_classes);
g_free (node->inline_style);
if (node->properties)
{
g_free (node->properties);
node->properties = NULL;
node->n_properties = 0;
}
if (node->inline_properties)
{
/* This destroys the list, not just the head of the list */
cr_declaration_destroy (node->inline_properties);
}
maybe_free_properties (node);
if (node->font_desc)
{

View File

@ -1,6 +1,6 @@
// -*- mode: js; js-indent-level: 4; indent-tabs-mode: nil -*-
// Test cases for Calendar markup parsing
// Test cases for MessageList markup parsing
const JsUnit = imports.jsUnit;
const Pango = imports.gi.Pango;
@ -8,7 +8,7 @@ const Pango = imports.gi.Pango;
const Environment = imports.ui.environment;
Environment.init();
const Calendar = imports.ui.calendar;
const MessageList = imports.ui.messageList;
// Assert that @input, assumed to be markup, gets "fixed" to @output,
// which is valid markup. If @output is null, @input is expected to
@ -16,7 +16,7 @@ const Calendar = imports.ui.calendar;
function assertConverts(input, output) {
if (!output)
output = input;
let fixed = Calendar._fixMarkup(input, true);
let fixed = MessageList._fixMarkup(input, true);
JsUnit.assertEquals(output, fixed);
let parsed = false;
@ -30,7 +30,7 @@ function assertConverts(input, output) {
// Assert that @input, assumed to be plain text, gets escaped to @output,
// which is valid markup.
function assertEscapes(input, output) {
let fixed = Calendar._fixMarkup(input, false);
let fixed = MessageList._fixMarkup(input, false);
JsUnit.assertEquals(output, fixed);
let parsed = false;

View File

@ -12,12 +12,13 @@ srcdir=sys.argv[1]
distdir=sys.argv[2]
excludes=sys.argv[3:]
cwd=os.getcwd()
os.chdir(srcdir)
status=0
for f in subprocess.Popen(["git", "ls-files"], stdout=subprocess.PIPE).stdout:
f = f.decode('utf-8').strip()
if (not os.path.exists(os.path.join(distdir, f)) and
if (not os.path.exists(os.path.join(cwd, distdir, f)) and
not any((fnmatch.fnmatch(f, p) for p in excludes))):
print("File missing from distribution:", f)
status=1