Compare commits
2 Commits
3.37.91
...
benzea/use
Author | SHA1 | Date | |
---|---|---|---|
![]() |
869f8f480c | ||
![]() |
4e54cbcc60 |
@@ -9,6 +9,7 @@ stages:
|
||||
variables:
|
||||
BUNDLE: "extensions-git.flatpak"
|
||||
JS_LOG: "js-report.txt"
|
||||
POT_LOG: "pot-update.txt"
|
||||
|
||||
.only_default: &only_default
|
||||
only:
|
||||
@@ -66,7 +67,6 @@ no_template_check:
|
||||
build:
|
||||
image: registry.gitlab.gnome.org/gnome/mutter/master:v4
|
||||
stage: build
|
||||
needs: []
|
||||
before_script:
|
||||
- .gitlab-ci/checkout-mutter.sh
|
||||
- meson mutter mutter/build --prefix=/usr -Dtests=false
|
||||
@@ -85,7 +85,6 @@ build:
|
||||
test:
|
||||
image: registry.gitlab.gnome.org/gnome/mutter/master:v4
|
||||
stage: test
|
||||
needs: ["build"]
|
||||
variables:
|
||||
XDG_RUNTIME_DIR: "$CI_PROJECT_DIR/runtime-dir"
|
||||
NO_AT_BRIDGE: "1"
|
||||
@@ -100,9 +99,24 @@ test:
|
||||
- build/meson-logs/testlog.txt
|
||||
when: on_failure
|
||||
|
||||
test-pot:
|
||||
image: registry.gitlab.gnome.org/gnome/mutter/master:v4
|
||||
stage: test
|
||||
before_script:
|
||||
- ninja -C mutter/build install
|
||||
script:
|
||||
# Check that pot files are generated correctly:
|
||||
# https://savannah.gnu.org/bugs/?50920#comment5
|
||||
- ninja -C build gnome-shell-pot 2>&1 | awk '
|
||||
BEGIN { start=0; }
|
||||
start==1 { print $0; }
|
||||
/gnome-shell-pot/ { start=1; }
|
||||
' | tee $POT_LOG
|
||||
- (! grep -q . $POT_LOG)
|
||||
<<: *only_default
|
||||
|
||||
flatpak:
|
||||
stage: build
|
||||
needs: []
|
||||
variables:
|
||||
SUBPROJECT: "subprojects/extensions-app"
|
||||
# Your manifest path
|
||||
|
@@ -131,7 +131,7 @@ whenever possible, that is when not inheriting from GObjects.
|
||||
};
|
||||
```
|
||||
|
||||
For GObject inheritance, we use the GObject.registerClass() function provided
|
||||
For GObject inheritence, we use the GObject.registerClass() function provided
|
||||
by gjs.
|
||||
```javascript
|
||||
var MyActor = GObject.registerClass(
|
||||
|
73
NEWS
73
NEWS
@@ -1,58 +1,3 @@
|
||||
3.37.91
|
||||
=======
|
||||
* Fix potential stack overflow in libcroco [Michael; !1404]
|
||||
* Fix page removal in app picker [Georges; !1406]
|
||||
* Fix "old style" VPN authentication [Florian; !1407]
|
||||
* Fix X11 session login [Benjamin; !1418]
|
||||
* Fix week number alignment when using font-scaling [Joonas; !1415]
|
||||
* Fix lock screen on systems without GLSL shader support [Zephaniah; #3071]
|
||||
* Misc. bug fixes and cleanups [Florian, Jonas, Georges, Andre, Will, Björn;
|
||||
!1396, !1359, !1408, !1409, !1414, !1413, !1416, #3073]
|
||||
|
||||
Contributors:
|
||||
Jonas Ådahl, Benjamin Berg, Michael Catanzaro, Björn Daase, Joonas Henriksson,
|
||||
Zephaniah E. Loss-Cutler-Hull, Andre Moreira Magalhaes, Florian Müllner,
|
||||
Georges Basile Stavracas Neto, Will Thompson
|
||||
|
||||
Translators:
|
||||
Fran Dieguez [gl], Jordi Mas [ca], Daniel Mustieles [es],
|
||||
Florentina Mușat [ro], Akarshan Biswas [bn_IN], Baurzhan Muftakhidinov [kk],
|
||||
Piotr Drąg [pl], Rafael Fontenelle [pt_BR], Emin Tufan Çetin [tr],
|
||||
sicklylife [ja], Danial Behzadi [fa], Jiri Grönroos [fi], Goran Vidović [hr],
|
||||
Matej Urbančič [sl], Boyuan Yang [zh_CN]
|
||||
|
||||
3.37.90
|
||||
=======
|
||||
* Fix extension updates when many extensions are installed [Jeremias; !1363]
|
||||
* Fix missing icons in on-screen keyboard [Emre; #2631, #3007]
|
||||
* Fix delay when showing calendar events [Sebastian; #2992]
|
||||
* Allow rearranging items in app picker [Georges; !1284]
|
||||
* Fix top bar navigation when NumLock is active [Olivier; #550]
|
||||
* Delay login animation until wallpaper has loaded [Michael; #734996]
|
||||
* Reset auth prompt on login screen on VT switch before fade in [Ray; #2997]
|
||||
* Move screencasting into a separate service [Jonas Å.; !1372]
|
||||
* Replace loaded terms with more descriptive one [Olivier; !1393]
|
||||
* Add "Boot Options" support to restart dialog [Hans; !199]
|
||||
* Move "Restart" into a separate menu item/dialog [Florian; #2202]
|
||||
* Default to not installing updates on low battery [Michael; #2717]
|
||||
* Misc. bug fixes and cleanups [Florian, Daniel V., Georges, Jonas Å.,
|
||||
Daniel G., Carlos, Benjamin, Piotr, Andre, Jonas D., Andy; !1357, !1356,
|
||||
#2969, #2969, !1358, !1371, #3005, !1380, #3022, !1381, !895, !1387, !1386,
|
||||
!1385, #3037, !1389, !1390, !1391, !1383, !1399, #2983, !1403]
|
||||
|
||||
Contributors:
|
||||
Jonas Ådahl, Benjamin Berg, Michael Catanzaro, Piotr Drąg, Jonas Dreßler,
|
||||
Olivier Fourdan, Carlos Garnacho, Hans de Goede, Andy Holmes,
|
||||
Sebastian Keller, Andre Moreira Magalhaes, Daniel García Moreno,
|
||||
Florian Müllner, Georges Basile Stavracas Neto, Jeremias Ortega, Ray Strode,
|
||||
Emre Uyguroglu, Daniel van Vugt
|
||||
|
||||
Translators:
|
||||
Tim Sabsch [de], Boyuan Yang [zh_CN], Fabio Tomat [fur],
|
||||
Efstathios Iosifidis [el], Rafael Fontenelle [pt_BR], Yuri Chornoivan [uk],
|
||||
Daniel Șerbănescu [ro], Jordi Mas [ca], Daniel Mustieles [es],
|
||||
Emin Tufan Çetin [tr], Asier Sarasua Garmendia [eu]
|
||||
|
||||
3.37.3
|
||||
======
|
||||
* Refactor and clean up window picker
|
||||
@@ -285,7 +230,7 @@ Translators:
|
||||
* Handle extension updates [Florian; !945]
|
||||
* Animate showing and hiding caps-lock warning [Jonas; !952]
|
||||
* Support "auto" lengths in CSS [Florian; !971]
|
||||
* Turn extension-prefs into the official Extensions app [Florian; #1968]
|
||||
* Turn extension-prefs into the offical Extensions app [Florian; #1968]
|
||||
* Sandbox the portal helper [Michael; !983]
|
||||
* Misc. bug fixes and cleanups [Florian, Björn, Jakub, Alexander, Daniel V.,
|
||||
Jonas, nana-4, Carlos, Sebastian, Daniel G., Georges, Piotr; !918, !917,
|
||||
@@ -574,7 +519,7 @@ Translators:
|
||||
======
|
||||
* Fix keeping actors visible in scrollviews [Marco; #1061]
|
||||
* Move some chrome above popup windows [Jonas D.; !358]
|
||||
* Include 'sandboxed-app-id' in window introspection info [Florian; #1289]
|
||||
* Include 'sandboxed-app-id' in winodw introspection info [Florian; #1289]
|
||||
* Port to libecal-2.0 [Milan; !501]
|
||||
* Support TCRYPT in mount password dialog [segfault; !126]
|
||||
* Misc. bug fixes and cleanups [Florian, Marco, Veerasamy; !517, #745, !499,
|
||||
@@ -1123,7 +1068,7 @@ Translations:
|
||||
* gdm: Fix "Not listed" focus indication [Florian; #784040]
|
||||
* Fix missing icons in freedesktop notifications [Florian; #784245]
|
||||
* gdm: Disable user list when empty [Xiaoguang; #731320]
|
||||
* gdm: Allow empty response to PAM messages [Ray; #784360]
|
||||
* gdm: Allow empty reponse to PAM messages [Ray; #784360]
|
||||
* Fix blocked clicks in shutdown dialog [Florian; #781738]
|
||||
* Show OSD popup when changing volume via scroll wheel [Florian; #781028]
|
||||
* Refine list search results [Rares; #749957]
|
||||
@@ -2583,7 +2528,7 @@ Translations:
|
||||
* Merge the wayland branch [Giovanni, Neil; #707467]
|
||||
* Make search entry behave better in RTL locales [Matthias, Florian; #705779]
|
||||
* Allow to change app pages with pageUp/pageDown keys [Carlos; #707979]
|
||||
* Set appropriate a11y states on expandable menu items [Alejandro; #708038]
|
||||
* Set approriate a11y states on expandable menu items [Alejandro; #708038]
|
||||
* Improve page indicator animation [Carlos; #707565]
|
||||
* Misc bug fixes and cleanups [Florian, Olivier, Jasper, Giovanni, Magdalen,
|
||||
Adel, Carlos, Rico, Joanmarie; #707308, #707430, #707508, #707557, #707600,
|
||||
@@ -3867,7 +3812,7 @@ Translations:
|
||||
* Update the calendar code to use ECalClient [Giovanni; #671177]
|
||||
* Update jhbuild script to use the main moduleset [Owen, Will; #668440]
|
||||
* StTextureCache: code cleanup, evict unused icons, merge together
|
||||
simultaneous requests for the same icon [Jasper; #670771, #671656, #672273]
|
||||
simulataneous requests for the same icon [Jasper; #670771, #671656, #672273]
|
||||
* Clean up St for recent Clutter changes and fix bugs. StContainer and
|
||||
StGroup are removed [Jasper, Florian; #670034, #670640, #670904]
|
||||
* Code cleanup [Adel, Jasper, Rui; #613194, #671086, #671103]
|
||||
@@ -4002,7 +3947,7 @@ Translations:
|
||||
[Stefano; #664201]
|
||||
- Delay rearranging windows in the overview as long as the pointer
|
||||
is over a window [Vit; #645325]
|
||||
* Add a GConf => DConf migration file for overridden Mutter settings
|
||||
* Add a GConf => DConf migration file for overriden Mutter settings
|
||||
[Florian; #667636]
|
||||
* When a VPN connection is active, show that as the network icon
|
||||
[Giovanni; #665115]
|
||||
@@ -4249,7 +4194,7 @@ Translations:
|
||||
- Add fingerprint reader support [Ray; #657823]
|
||||
- Add a power button offering the choice of Suspend/Restart/Power off
|
||||
[Ray; #657822]
|
||||
- Remove the option to view the current keyboard layout [Matthias; #659164]
|
||||
- Remove the option to view the current keyboad layout [Matthias; #659164]
|
||||
- Make Control-Alt-Tab work for full keyboard access [Ray; #659177]
|
||||
* Frequently initiate a full garbage collection; Spidermonkey isn't very good
|
||||
at tracking the amount of resources we have allocated so this hopefully will
|
||||
@@ -4466,7 +4411,7 @@ Translations:
|
||||
* Fix selection highlighting for light-on-dark entries [Jasper; #643768]
|
||||
* Make control-Return in the overview open a new window [Maxim]
|
||||
* Delay showing the alt-Tab switcher to reduce visual noise when
|
||||
flipping between windows [Dan; #652346]
|
||||
flipping betweeen windows [Dan; #652346]
|
||||
* When we have vertically stacked monitors, put the message tray
|
||||
on the bottom one [Dan; #636963]
|
||||
* Fix various problems with keynav and the Activities button
|
||||
@@ -4617,7 +4562,7 @@ Translations:
|
||||
- Fix missing device descriptions with multiple devices of the
|
||||
same type [Giovanni]
|
||||
https://bugzilla.gnome.org/show_bug.cgi?id=646074
|
||||
- Label ad-hoc networks with an appropriate icon [Dan]
|
||||
- Label ad-hoc neworks with an appropriate icon [Dan]
|
||||
https://bugzilla.gnome.org/show_bug.cgi?id=646141
|
||||
- Fix displaying some devices states as "invalid" [Dan]
|
||||
https://bugzilla.gnome.org/show_bug.cgi?id=646946
|
||||
|
@@ -123,7 +123,7 @@ def locale_to_xkb(locale, name):
|
||||
if xkb:
|
||||
return xkb
|
||||
else:
|
||||
raise KeyError("layout %s explicitly disabled in overrides"
|
||||
raise KeyError("layout %s explicitely disabled in overrides"
|
||||
% locale)
|
||||
xkb_names = sorted(name_to_xkb.keys())
|
||||
if name in xkb_names:
|
||||
|
@@ -20,12 +20,6 @@
|
||||
<method name="ListSessions">
|
||||
<arg name="sessions" type="a(susso)" direction="out"/>
|
||||
</method>
|
||||
<method name="CanRebootToBootLoaderMenu">
|
||||
<arg type="s" direction="out"/>
|
||||
</method>
|
||||
<method name="SetRebootToBootLoaderMenu">
|
||||
<arg type="t" direction="in"/>
|
||||
</method>
|
||||
<signal name="PrepareForSleep">
|
||||
<arg type="b" direction="out"/>
|
||||
</signal>
|
||||
|
@@ -1,5 +1,5 @@
|
||||
[Unit]
|
||||
Description=GNOME Shell
|
||||
Description=GNOME Shell on Wayland
|
||||
DefaultDependencies=no
|
||||
|
||||
Requisite=gnome-session-initialized.target
|
||||
|
@@ -26,7 +26,7 @@ ExecStart=@bindir@/gnome-shell
|
||||
SuccessExitStatus=1
|
||||
|
||||
# unset some environment variables that were set by the shell and won't work now that the shell is gone
|
||||
ExecStopPost=-/bin/sh -c 'test "$SERVICE_RESULT" != "exec-condition" && systemctl --user unset-environment GNOME_SETUP_DISPLAY WAYLAND_DISPLAY DISPLAY XAUTHORITY'
|
||||
ExecStopPost=-systemctl --user unset-environment GNOME_SETUP_DISPLAY WAYLAND_DISPLAY DISPLAY XAUTHORITY
|
||||
|
||||
# On wayland we cannot restart
|
||||
Restart=no
|
||||
|
@@ -79,7 +79,7 @@
|
||||
|
||||
@function draw_button_hilight_color($c) {
|
||||
//
|
||||
// calculate the right top highlight color for buttons
|
||||
// calculate the right top hilight color for buttons
|
||||
//
|
||||
// $c: base color;
|
||||
//
|
||||
|
@@ -170,6 +170,7 @@
|
||||
height: 1.8em;
|
||||
width: 2.3em;
|
||||
border-radius: 2px;
|
||||
padding: 0.5em 0 0;
|
||||
margin: 6px;
|
||||
background-color: darken($bg_color, 2%);
|
||||
color: lighten($fg_color, 5%);
|
||||
@@ -231,9 +232,7 @@
|
||||
color: $fg_color;
|
||||
font-feature-settings: "tnum";
|
||||
@include fontsize($base_font_size);
|
||||
|
||||
&:ltr { text-align: right; }
|
||||
&:rtl { text-align: left; }
|
||||
text-align: right;
|
||||
}
|
||||
|
||||
// timezone offset label
|
||||
|
@@ -38,7 +38,7 @@
|
||||
font-size: 18pt;
|
||||
font-weight: 800;
|
||||
|
||||
&.lightweight {
|
||||
&.leightweight {
|
||||
font-size: 13pt;
|
||||
font-weight: 800;
|
||||
}
|
||||
|
@@ -138,10 +138,11 @@
|
||||
.user-widget.horizontal .user-widget-label {
|
||||
@include fontsize($base_font_size + 2);
|
||||
font-weight: bold;
|
||||
text-align: left;
|
||||
padding-left: 15px;
|
||||
|
||||
&:ltr { padding-left: 14px; text-align: left; }
|
||||
&:rtl { padding-right: 14px; text-align: right; }
|
||||
&:ltr { padding-left: 14px; }
|
||||
&:rtl { padding-right: 14px; }
|
||||
}
|
||||
|
||||
.user-widget.vertical .user-widget-label {
|
||||
|
@@ -71,11 +71,9 @@
|
||||
> .event-time {
|
||||
color: transparentize($fg_color, 0.5);
|
||||
@include fontsize($base_font_size - 2);
|
||||
text-align: right;
|
||||
/* HACK: the label should be baseline-aligned with a 1em label, fake this with some bottom padding */
|
||||
padding-bottom: 0.13em;
|
||||
|
||||
&:ltr { text-align: right };
|
||||
&:rtl { text-align: left };
|
||||
}
|
||||
}
|
||||
|
||||
|
@@ -1,4 +1,4 @@
|
||||
/* Notifications & Message Tray */
|
||||
/* Notifications & Mesage Tray */
|
||||
|
||||
$notification_banner_height: 64px;
|
||||
$notification_banner_width: 34em;
|
||||
|
@@ -76,10 +76,8 @@ $popover_arrow_height: 12px;
|
||||
|
||||
// container for radio and check boxes
|
||||
.popup-menu-ornament {
|
||||
text-align: right;
|
||||
width: 1.2em;
|
||||
|
||||
&:ltr { text-align: right };
|
||||
&:rtl { text-align: left };
|
||||
}
|
||||
|
||||
// separator
|
||||
|
@@ -16,7 +16,7 @@ $slider_size: 15px;
|
||||
-barlevel-overdrive-color: $destructive_color;
|
||||
-barlevel-overdrive-border-color: if($variant == 'light', darken($destructive_color, 4%), lighten($destructive_color, 2%)); //trough border when red;
|
||||
-barlevel-overdrive-separator-width:1px;
|
||||
// slider handler
|
||||
// slider hander
|
||||
-slider-handle-radius: $slider_size * 0.5; // half the size of the size
|
||||
-slider-handle-border-width: 1px;
|
||||
-slider-handle-border-color: if($variant == 'light', $borders_color, $fg_color);
|
||||
|
@@ -224,7 +224,7 @@ var Recorder = class {
|
||||
video/x-raw,max-framerate=${framerate}/1 !
|
||||
videoconvert !
|
||||
${this._pipelineString} !
|
||||
filesink location="${this._filePath}"`;
|
||||
filesink location=${this._filePath}`;
|
||||
fullPipeline = this._substituteThreadCount(fullPipeline);
|
||||
|
||||
this._pipeline = Gst.parse_launch_full(fullPipeline,
|
||||
|
@@ -6,11 +6,10 @@ const { Clutter, GObject, Pango, Shell, St } = imports.gi;
|
||||
const Animation = imports.ui.animation;
|
||||
const Batch = imports.gdm.batch;
|
||||
const GdmUtil = imports.gdm.util;
|
||||
const OVirt = imports.gdm.oVirt;
|
||||
const Util = imports.misc.util;
|
||||
const Params = imports.misc.params;
|
||||
const ShellEntry = imports.ui.shellEntry;
|
||||
const UserWidget = imports.ui.userWidget;
|
||||
const Util = imports.misc.util;
|
||||
|
||||
var DEFAULT_BUTTON_WELL_ICON_SIZE = 16;
|
||||
var DEFAULT_BUTTON_WELL_ANIMATION_DELAY = 1000;
|
||||
@@ -483,7 +482,7 @@ var AuthPrompt = GObject.registerClass({
|
||||
// The user is constant at the unlock screen, so it will immediately
|
||||
// respond to the request with the username
|
||||
beginRequestType = BeginRequestType.PROVIDE_USERNAME;
|
||||
} else if (this._userVerifier.serviceIsForeground(OVirt.SERVICE_NAME) ||
|
||||
} else if (this._userVerifier.serviceIsForeground(GdmUtil.OVIRT_SERVICE_NAME) ||
|
||||
this._userVerifier.serviceIsForeground(GdmUtil.SMARTCARD_SERVICE_NAME)) {
|
||||
// We don't need to know the username if the user preempted the login screen
|
||||
// with a smartcard or with preauthenticated oVirt credentials
|
||||
|
@@ -32,7 +32,6 @@
|
||||
<file>misc/util.js</file>
|
||||
<file>misc/weather.js</file>
|
||||
|
||||
<file>perf/basic.js</file>
|
||||
<file>perf/core.js</file>
|
||||
<file>perf/hwtest.js</file>
|
||||
|
||||
|
@@ -3,7 +3,7 @@ const { Gio, GLib, Meta, Shell, St } = imports.gi;
|
||||
|
||||
const INTROSPECT_SCHEMA = 'org.gnome.shell';
|
||||
const INTROSPECT_KEY = 'introspect';
|
||||
const APP_ALLOWLIST = ['org.freedesktop.impl.portal.desktop.gtk'];
|
||||
const APP_WHITELIST = ['org.freedesktop.impl.portal.desktop.gtk'];
|
||||
|
||||
const INTROSPECT_DBUS_API_VERSION = 3;
|
||||
|
||||
@@ -46,13 +46,13 @@ var IntrospectService = class {
|
||||
|
||||
this._syncRunningApplications();
|
||||
|
||||
this._allowlistMap = new Map();
|
||||
APP_ALLOWLIST.forEach(appName => {
|
||||
this._whitelistMap = new Map();
|
||||
APP_WHITELIST.forEach(appName => {
|
||||
Gio.DBus.watch_name(Gio.BusType.SESSION,
|
||||
appName,
|
||||
Gio.BusNameWatcherFlags.NONE,
|
||||
(conn, name, owner) => this._allowlistMap.set(name, owner),
|
||||
(conn, name) => this._allowlistMap.delete(name));
|
||||
(conn, name, owner) => this._whitelistMap.set(name, owner),
|
||||
(conn, name) => this._whitelistMap.delete(name));
|
||||
});
|
||||
|
||||
this._settings = St.Settings.get();
|
||||
@@ -74,8 +74,8 @@ var IntrospectService = class {
|
||||
return this._introspectSettings.get_boolean(INTROSPECT_KEY);
|
||||
}
|
||||
|
||||
_isSenderAllowed(sender) {
|
||||
return [...this._allowlistMap.values()].includes(sender);
|
||||
_isSenderWhitelisted(sender) {
|
||||
return [...this._whitelistMap.values()].includes(sender);
|
||||
}
|
||||
|
||||
_getSandboxedAppId(app) {
|
||||
@@ -138,7 +138,7 @@ var IntrospectService = class {
|
||||
if (this._isIntrospectEnabled())
|
||||
return true;
|
||||
|
||||
if (this._isSenderAllowed(invocation.get_sender()))
|
||||
if (this._isSenderWhitelisted(invocation.get_sender()))
|
||||
return true;
|
||||
|
||||
return false;
|
||||
|
@@ -158,23 +158,6 @@ var LoginManagerSystemd = class {
|
||||
});
|
||||
}
|
||||
|
||||
canRebootToBootLoaderMenu(asyncCallback) {
|
||||
this._proxy.CanRebootToBootLoaderMenuRemote((result, error) => {
|
||||
if (error) {
|
||||
asyncCallback(false, false);
|
||||
} else {
|
||||
const needsAuth = result[0] === 'challenge';
|
||||
const canRebootToBootLoaderMenu = needsAuth || result[0] === 'yes';
|
||||
asyncCallback(canRebootToBootLoaderMenu, needsAuth);
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
setRebootToBootLoaderMenu() {
|
||||
/* Parameter is timeout in usec, show to menu for 60 seconds */
|
||||
this._proxy.SetRebootToBootLoaderMenuRemote(60000000);
|
||||
}
|
||||
|
||||
listSessions(asyncCallback) {
|
||||
this._proxy.ListSessionsRemote((result, error) => {
|
||||
if (error)
|
||||
@@ -220,13 +203,6 @@ var LoginManagerDummy = class {
|
||||
asyncCallback(false, false);
|
||||
}
|
||||
|
||||
canRebootToBootLoaderMenu(asyncCallback) {
|
||||
asyncCallback(false, false);
|
||||
}
|
||||
|
||||
setRebootToBootLoaderMenu() {
|
||||
}
|
||||
|
||||
listSessions(asyncCallback) {
|
||||
asyncCallback([]);
|
||||
}
|
||||
|
@@ -121,10 +121,10 @@ var ParentalControlsManager = GObject.registerClass({
|
||||
// Calculate whether the given app (a Gio.DesktopAppInfo) should be shown
|
||||
// on the desktop, in search results, etc. The app should be shown if:
|
||||
// - The .desktop file doesn’t say it should be hidden.
|
||||
// - The executable from the .desktop file’s Exec line isn’t denied in
|
||||
// - The executable from the .desktop file’s Exec line isn’t blacklisted in
|
||||
// the user’s parental controls.
|
||||
// - None of the flatpak app IDs from the X-Flatpak and the
|
||||
// X-Flatpak-RenamedFrom lines are denied in the user’s parental
|
||||
// X-Flatpak-RenamedFrom lines are blacklisted in the user’s parental
|
||||
// controls.
|
||||
shouldShowApp(appInfo) {
|
||||
// Quick decision?
|
||||
|
@@ -21,7 +21,6 @@ const SENSOR_OBJECT_PATH = '/net/hadess/SensorProxy';
|
||||
const SensorProxyInterface = loadInterfaceXML('net.hadess.SensorProxy');
|
||||
|
||||
const POWER_OFF_ACTION_ID = 'power-off';
|
||||
const RESTART_ACTION_ID = 'restart';
|
||||
const LOCK_SCREEN_ACTION_ID = 'lock-screen';
|
||||
const LOGOUT_ACTION_ID = 'logout';
|
||||
const SUSPEND_ACTION_ID = 'suspend';
|
||||
@@ -41,38 +40,41 @@ function getDefault() {
|
||||
|
||||
const SystemActions = GObject.registerClass({
|
||||
Properties: {
|
||||
'can-power-off': GObject.ParamSpec.boolean(
|
||||
'can-power-off', 'can-power-off', 'can-power-off',
|
||||
GObject.ParamFlags.READABLE,
|
||||
false),
|
||||
'can-restart': GObject.ParamSpec.boolean(
|
||||
'can-restart', 'can-restart', 'can-restart',
|
||||
GObject.ParamFlags.READABLE,
|
||||
false),
|
||||
'can-suspend': GObject.ParamSpec.boolean(
|
||||
'can-suspend', 'can-suspend', 'can-suspend',
|
||||
GObject.ParamFlags.READABLE,
|
||||
false),
|
||||
'can-lock-screen': GObject.ParamSpec.boolean(
|
||||
'can-lock-screen', 'can-lock-screen', 'can-lock-screen',
|
||||
GObject.ParamFlags.READABLE,
|
||||
false),
|
||||
'can-switch-user': GObject.ParamSpec.boolean(
|
||||
'can-switch-user', 'can-switch-user', 'can-switch-user',
|
||||
GObject.ParamFlags.READABLE,
|
||||
false),
|
||||
'can-logout': GObject.ParamSpec.boolean(
|
||||
'can-logout', 'can-logout', 'can-logout',
|
||||
GObject.ParamFlags.READABLE,
|
||||
false),
|
||||
'can-lock-orientation': GObject.ParamSpec.boolean(
|
||||
'can-lock-orientation', 'can-lock-orientation', 'can-lock-orientation',
|
||||
GObject.ParamFlags.READABLE,
|
||||
false),
|
||||
'orientation-lock-icon': GObject.ParamSpec.string(
|
||||
'orientation-lock-icon', 'orientation-lock-icon', 'orientation-lock-icon',
|
||||
GObject.ParamFlags.READWRITE,
|
||||
null),
|
||||
'can-power-off': GObject.ParamSpec.boolean('can-power-off',
|
||||
'can-power-off',
|
||||
'can-power-off',
|
||||
GObject.ParamFlags.READABLE,
|
||||
false),
|
||||
'can-suspend': GObject.ParamSpec.boolean('can-suspend',
|
||||
'can-suspend',
|
||||
'can-suspend',
|
||||
GObject.ParamFlags.READABLE,
|
||||
false),
|
||||
'can-lock-screen': GObject.ParamSpec.boolean('can-lock-screen',
|
||||
'can-lock-screen',
|
||||
'can-lock-screen',
|
||||
GObject.ParamFlags.READABLE,
|
||||
false),
|
||||
'can-switch-user': GObject.ParamSpec.boolean('can-switch-user',
|
||||
'can-switch-user',
|
||||
'can-switch-user',
|
||||
GObject.ParamFlags.READABLE,
|
||||
false),
|
||||
'can-logout': GObject.ParamSpec.boolean('can-logout',
|
||||
'can-logout',
|
||||
'can-logout',
|
||||
GObject.ParamFlags.READABLE,
|
||||
false),
|
||||
'can-lock-orientation': GObject.ParamSpec.boolean('can-lock-orientation',
|
||||
'can-lock-orientation',
|
||||
'can-lock-orientation',
|
||||
GObject.ParamFlags.READABLE,
|
||||
false),
|
||||
'orientation-lock-icon': GObject.ParamSpec.string('orientation-lock-icon',
|
||||
'orientation-lock-icon',
|
||||
'orientation-lock-icon',
|
||||
GObject.ParamFlags.READWRITE,
|
||||
null),
|
||||
},
|
||||
}, class SystemActions extends GObject.Object {
|
||||
_init() {
|
||||
@@ -91,15 +93,7 @@ const SystemActions = GObject.registerClass({
|
||||
name: C_("search-result", "Power Off"),
|
||||
iconName: 'system-shutdown-symbolic',
|
||||
// Translators: A list of keywords that match the power-off action, separated by semicolons
|
||||
keywords: tokenizeKeywords(_('power off;shutdown;halt;stop')),
|
||||
available: false,
|
||||
});
|
||||
this._actions.set(RESTART_ACTION_ID, {
|
||||
// Translators: The name of the restart action in search
|
||||
name: C_('search-result', 'Restart'),
|
||||
iconName: 'system-reboot-symbolic',
|
||||
// Translators: A list of keywords that match the restart action, separated by semicolons
|
||||
keywords: tokenizeKeywords(_('reboot;restart;')),
|
||||
keywords: tokenizeKeywords(_('power off;shutdown;reboot;restart;halt;stop')),
|
||||
available: false,
|
||||
});
|
||||
this._actions.set(LOCK_SCREEN_ACTION_ID, {
|
||||
@@ -209,11 +203,6 @@ const SystemActions = GObject.registerClass({
|
||||
return this._actions.get(POWER_OFF_ACTION_ID).available;
|
||||
}
|
||||
|
||||
// eslint-disable-next-line camelcase
|
||||
get can_restart() {
|
||||
return this._actions.get(RESTART_ACTION_ID).available;
|
||||
}
|
||||
|
||||
// eslint-disable-next-line camelcase
|
||||
get can_suspend() {
|
||||
return this._actions.get(SUSPEND_ACTION_ID).available;
|
||||
@@ -317,9 +306,6 @@ const SystemActions = GObject.registerClass({
|
||||
case POWER_OFF_ACTION_ID:
|
||||
this.activatePowerOff();
|
||||
break;
|
||||
case RESTART_ACTION_ID:
|
||||
this.activateRestart();
|
||||
break;
|
||||
case LOCK_SCREEN_ACTION_ID:
|
||||
this.activateLockScreen();
|
||||
break;
|
||||
@@ -361,9 +347,6 @@ const SystemActions = GObject.registerClass({
|
||||
this._loginScreenSettings.get_boolean(DISABLE_RESTART_KEY));
|
||||
this._actions.get(POWER_OFF_ACTION_ID).available = this._canHavePowerOff && !disabled;
|
||||
this.notify('can-power-off');
|
||||
|
||||
this._actions.get(RESTART_ACTION_ID).available = this._canHavePowerOff && !disabled;
|
||||
this.notify('can-restart');
|
||||
}
|
||||
|
||||
_updateHaveSuspend() {
|
||||
@@ -462,13 +445,6 @@ const SystemActions = GObject.registerClass({
|
||||
this._session.ShutdownRemote(0);
|
||||
}
|
||||
|
||||
activateRestart() {
|
||||
if (!this._actions.get(RESTART_ACTION_ID).available)
|
||||
throw new Error('The restart action is not available!');
|
||||
|
||||
this._session.RebootRemote();
|
||||
}
|
||||
|
||||
activateSuspend() {
|
||||
if (!this._actions.get(SUSPEND_ACTION_ID).available)
|
||||
throw new Error('The suspend action is not available!');
|
||||
|
@@ -1,7 +1,7 @@
|
||||
// -*- mode: js; js-indent-level: 4; indent-tabs-mode: nil -*-
|
||||
/* exported findUrls, spawn, spawnCommandLine, spawnApp, trySpawnCommandLine,
|
||||
formatTime, formatTimeSpan, createTimeLabel, insertSorted,
|
||||
ensureActorVisibleInScrollView, wiggle */
|
||||
/* exported findUrls, spawn, spawnCommandLine, spawnApp, trySpawnAppCommandline,
|
||||
trySpawnCommandLine, formatTime, formatTimeSpan, createTimeLabel,
|
||||
insertSorted, ensureActorVisibleInScrollView, wiggle */
|
||||
|
||||
const { Clutter, Gio, GLib, Shell, St, GnomeDesktop } = imports.gi;
|
||||
const Gettext = imports.gettext;
|
||||
@@ -86,18 +86,49 @@ function spawnCommandLine(commandLine) {
|
||||
}
|
||||
}
|
||||
|
||||
// trySpawnAppCommandline:
|
||||
// @command: The command to spawn
|
||||
//
|
||||
// Runs @command as if it was an application, handling startup notification
|
||||
// and placing it into a separate systemd scope.
|
||||
function trySpawnAppCommandline(command) {
|
||||
const quoted = command.replace(/%/g, '%%');
|
||||
|
||||
// This cannot fail currently
|
||||
const app = Gio.AppInfo.create_from_commandline(quoted, null,
|
||||
Gio.AppInfoCreateFlags.SUPPORTS_STARTUP_NOTIFICATION);
|
||||
|
||||
// Launching applications does not check whether the executable exists,
|
||||
// it'll just log an error later on. So do an explicit check here.
|
||||
const exec = app.get_executable();
|
||||
if (!GLib.find_program_in_path(exec)) {
|
||||
throw new GLib.SpawnError({
|
||||
code: GLib.SpawnError.NOENT,
|
||||
message: _('Command not found'),
|
||||
});
|
||||
}
|
||||
|
||||
try {
|
||||
let context = global.create_app_launch_context(0, -1);
|
||||
|
||||
app.launch([], context);
|
||||
} catch (err) {
|
||||
// Replace "Error invoking global.create_app_launch_context: " with
|
||||
// something nicer
|
||||
err.message = err.message.replace(/[^:]*: /, '%s\n'.format(_('Could not parse command:')));
|
||||
throw err;
|
||||
}
|
||||
}
|
||||
|
||||
// spawnApp:
|
||||
// @argv: an argv array
|
||||
//
|
||||
// Runs @argv as if it was an application, handling startup notification
|
||||
// and placing it into a separate systemd scope.
|
||||
function spawnApp(argv) {
|
||||
try {
|
||||
let app = Gio.AppInfo.create_from_commandline(argv.join(' '), null,
|
||||
Gio.AppInfoCreateFlags.SUPPORTS_STARTUP_NOTIFICATION);
|
||||
|
||||
let context = global.create_app_launch_context(0, -1);
|
||||
app.launch([], context);
|
||||
} catch (err) {
|
||||
trySpawnAppCommandline(argv.join(' '));
|
||||
} catch (err) {
|
||||
_handleSpawnError(argv[0], err);
|
||||
}
|
||||
}
|
||||
|
146
js/perf/basic.js
146
js/perf/basic.js
@@ -1,146 +0,0 @@
|
||||
// -*- mode: js; js-indent-level: 4; indent-tabs-mode: nil -*-
|
||||
/* exported run, finish, script_topBarNavDone, script_notificationShowDone,
|
||||
script_notificationCloseDone, script_overviewShowDone,
|
||||
script_applicationsShowStart, script_applicationsShowDone, METRICS,
|
||||
*/
|
||||
/* eslint camelcase: ["error", { properties: "never", allow: ["^script_"] }] */
|
||||
|
||||
const { St } = imports.gi;
|
||||
|
||||
const Main = imports.ui.main;
|
||||
const MessageTray = imports.ui.messageTray;
|
||||
const Scripting = imports.ui.scripting;
|
||||
|
||||
// This script tests the most important (basic) functionality of the shell.
|
||||
|
||||
var METRICS = {};
|
||||
|
||||
async function run() {
|
||||
/* eslint-disable no-await-in-loop */
|
||||
Scripting.defineScriptEvent('topBarNavStart', 'Starting to navigate the top bar');
|
||||
Scripting.defineScriptEvent('topBarNavDone', 'Done navigating the top bar');
|
||||
Scripting.defineScriptEvent('notificationShowStart', 'Showing a notification');
|
||||
Scripting.defineScriptEvent('notificationShowDone', 'Done showing a notification');
|
||||
Scripting.defineScriptEvent('notificationCloseStart', 'Closing a notification');
|
||||
Scripting.defineScriptEvent('notificationCloseDone', 'Done closing a notification');
|
||||
Scripting.defineScriptEvent('overviewShowStart', 'Starting to show the overview');
|
||||
Scripting.defineScriptEvent('overviewShowDone', 'Overview finished showing');
|
||||
Scripting.defineScriptEvent('applicationsShowStart', 'Starting to switch to applications view');
|
||||
Scripting.defineScriptEvent('applicationsShowDone', 'Done switching to applications view');
|
||||
|
||||
Main.overview.connect('shown',
|
||||
() => Scripting.scriptEvent('overviewShowDone'));
|
||||
|
||||
await Scripting.sleep(1000);
|
||||
|
||||
// navigate through top bar
|
||||
Scripting.scriptEvent('topBarNavStart');
|
||||
Main.panel.statusArea.aggregateMenu.menu.open();
|
||||
await Scripting.sleep(400);
|
||||
|
||||
const { menuManager } = Main.panel;
|
||||
while (menuManager.activeMenu &&
|
||||
Main.panel.navigate_focus(menuManager.activeMenu.sourceActor,
|
||||
St.DirectionType.TAB_BACKWARD, false))
|
||||
await Scripting.sleep(400);
|
||||
Scripting.scriptEvent('topBarNavDone');
|
||||
|
||||
await Scripting.sleep(1000);
|
||||
|
||||
// notification
|
||||
const source = new MessageTray.SystemNotificationSource();
|
||||
Main.messageTray.add(source);
|
||||
|
||||
Scripting.scriptEvent('notificationShowStart');
|
||||
source.connect('notification-show',
|
||||
() => Scripting.scriptEvent('notificationShowDone'));
|
||||
|
||||
const notification = new MessageTray.Notification(source,
|
||||
'A test notification');
|
||||
source.showNotification(notification);
|
||||
await Scripting.sleep(400);
|
||||
|
||||
Main.panel.statusArea.dateMenu.menu.open();
|
||||
await Scripting.sleep(400);
|
||||
|
||||
Scripting.scriptEvent('notificationCloseStart');
|
||||
notification.connect('destroy',
|
||||
() => Scripting.scriptEvent('notificationCloseDone'));
|
||||
|
||||
notification.destroy();
|
||||
await Scripting.sleep(400);
|
||||
|
||||
Main.panel.statusArea.dateMenu.menu.close();
|
||||
await Scripting.waitLeisure();
|
||||
|
||||
await Scripting.sleep(1000);
|
||||
|
||||
// overview (window picker)
|
||||
Scripting.scriptEvent('overviewShowStart');
|
||||
Main.overview.show();
|
||||
await Scripting.waitLeisure();
|
||||
Main.overview.hide();
|
||||
await Scripting.waitLeisure();
|
||||
|
||||
await Scripting.sleep(1000);
|
||||
|
||||
// overview (app picker)
|
||||
Main.overview.show();
|
||||
await Scripting.waitLeisure();
|
||||
|
||||
Scripting.scriptEvent('applicationsShowStart');
|
||||
// eslint-disable-next-line require-atomic-updates
|
||||
Main.overview.dash.showAppsButton.checked = true;
|
||||
await Scripting.waitLeisure();
|
||||
Scripting.scriptEvent('applicationsShowDone');
|
||||
// eslint-disable-next-line require-atomic-updates
|
||||
Main.overview.dash.showAppsButton.checked = false;
|
||||
await Scripting.waitLeisure();
|
||||
|
||||
Main.overview.hide();
|
||||
await Scripting.waitLeisure();
|
||||
/* eslint-enable no-await-in-loop */
|
||||
}
|
||||
|
||||
let topBarNav = false;
|
||||
let notificationShown = false;
|
||||
let notificationClosed = false;
|
||||
let windowPickerShown = false;
|
||||
let appPickerShown = false;
|
||||
|
||||
function script_topBarNavDone() {
|
||||
topBarNav = true;
|
||||
}
|
||||
|
||||
function script_notificationShowDone() {
|
||||
notificationShown = true;
|
||||
}
|
||||
|
||||
function script_notificationCloseDone() {
|
||||
notificationClosed = true;
|
||||
}
|
||||
|
||||
function script_overviewShowDone() {
|
||||
windowPickerShown = true;
|
||||
}
|
||||
|
||||
function script_applicationsShowDone() {
|
||||
appPickerShown = true;
|
||||
}
|
||||
|
||||
function finish() {
|
||||
if (!topBarNav)
|
||||
throw new Error('Failed to navigate top bar');
|
||||
|
||||
if (!notificationShown)
|
||||
throw new Error('Failed to show notification');
|
||||
|
||||
if (!notificationClosed)
|
||||
throw new Error('Failed to close notification');
|
||||
|
||||
if (!windowPickerShown)
|
||||
throw new Error('Failed to show window picker');
|
||||
|
||||
if (!appPickerShown)
|
||||
throw new Error('Failed to show app picker');
|
||||
}
|
@@ -70,8 +70,7 @@ let WINDOW_CONFIGS = [
|
||||
{ width: 640, height: 480, alpha: true, maximized: false, count: 10, metric: 'overviewFps10Alpha' },
|
||||
];
|
||||
|
||||
async function run() {
|
||||
/* eslint-disable no-await-in-loop */
|
||||
function *run() {
|
||||
Scripting.defineScriptEvent("overviewShowStart", "Starting to show the overview");
|
||||
Scripting.defineScriptEvent("overviewShowDone", "Overview finished showing");
|
||||
Scripting.defineScriptEvent("afterShowHide", "After a show/hide cycle for the overview");
|
||||
@@ -85,7 +84,7 @@ async function run() {
|
||||
Scripting.scriptEvent('overviewShowDone');
|
||||
});
|
||||
|
||||
await Scripting.sleep(1000);
|
||||
yield Scripting.sleep(1000);
|
||||
|
||||
for (let i = 0; i < 2 * WINDOW_CONFIGS.length; i++) {
|
||||
// We go to the overview twice for each configuration; the first time
|
||||
@@ -93,50 +92,49 @@ async function run() {
|
||||
// a clean set of numbers.
|
||||
if ((i % 2) == 0) {
|
||||
let config = WINDOW_CONFIGS[i / 2];
|
||||
await Scripting.destroyTestWindows();
|
||||
yield Scripting.destroyTestWindows();
|
||||
|
||||
for (let k = 0; k < config.count; k++) {
|
||||
await Scripting.createTestWindow({ width: config.width,
|
||||
yield Scripting.createTestWindow({ width: config.width,
|
||||
height: config.height,
|
||||
alpha: config.alpha,
|
||||
maximized: config.maximized });
|
||||
}
|
||||
|
||||
await Scripting.waitTestWindows();
|
||||
await Scripting.sleep(1000);
|
||||
await Scripting.waitLeisure();
|
||||
yield Scripting.waitTestWindows();
|
||||
yield Scripting.sleep(1000);
|
||||
yield Scripting.waitLeisure();
|
||||
}
|
||||
|
||||
Scripting.scriptEvent('overviewShowStart');
|
||||
Main.overview.show();
|
||||
|
||||
await Scripting.waitLeisure();
|
||||
yield Scripting.waitLeisure();
|
||||
Main.overview.hide();
|
||||
await Scripting.waitLeisure();
|
||||
yield Scripting.waitLeisure();
|
||||
|
||||
System.gc();
|
||||
await Scripting.sleep(1000);
|
||||
yield Scripting.sleep(1000);
|
||||
Scripting.collectStatistics();
|
||||
Scripting.scriptEvent('afterShowHide');
|
||||
}
|
||||
|
||||
await Scripting.destroyTestWindows();
|
||||
await Scripting.sleep(1000);
|
||||
yield Scripting.destroyTestWindows();
|
||||
yield Scripting.sleep(1000);
|
||||
|
||||
Main.overview.show();
|
||||
await Scripting.waitLeisure();
|
||||
yield Scripting.waitLeisure();
|
||||
|
||||
for (let i = 0; i < 2; i++) {
|
||||
Scripting.scriptEvent('applicationsShowStart');
|
||||
// eslint-disable-next-line require-atomic-updates
|
||||
Main.overview.dash.showAppsButton.checked = true;
|
||||
await Scripting.waitLeisure();
|
||||
yield Scripting.waitLeisure();
|
||||
Scripting.scriptEvent('applicationsShowDone');
|
||||
// eslint-disable-next-line require-atomic-updates
|
||||
Main.overview.dash.showAppsButton.checked = false;
|
||||
await Scripting.waitLeisure();
|
||||
yield Scripting.waitLeisure();
|
||||
}
|
||||
/* eslint-enable no-await-in-loop */
|
||||
}
|
||||
|
||||
let showingOverview = false;
|
||||
|
@@ -94,8 +94,7 @@ function extractBootTimestamp() {
|
||||
return result;
|
||||
}
|
||||
|
||||
async function run() {
|
||||
/* eslint-disable no-await-in-loop */
|
||||
function *run() {
|
||||
Scripting.defineScriptEvent("desktopShown", "Finished initial animation");
|
||||
Scripting.defineScriptEvent("overviewShowStart", "Starting to show the overview");
|
||||
Scripting.defineScriptEvent("overviewShowDone", "Overview finished showing");
|
||||
@@ -111,7 +110,7 @@ async function run() {
|
||||
Scripting.defineScriptEvent("geditLaunch", "gedit application launch");
|
||||
Scripting.defineScriptEvent("geditFirstFrame", "first frame of gedit window drawn");
|
||||
|
||||
await Scripting.waitLeisure();
|
||||
yield Scripting.waitLeisure();
|
||||
Scripting.scriptEvent('desktopShown');
|
||||
|
||||
let interfaceSettings = new Gio.Settings({
|
||||
@@ -121,22 +120,22 @@ async function run() {
|
||||
|
||||
Scripting.scriptEvent('overviewShowStart');
|
||||
Main.overview.show();
|
||||
await Scripting.waitLeisure();
|
||||
yield Scripting.waitLeisure();
|
||||
Scripting.scriptEvent('overviewShowDone');
|
||||
|
||||
await Scripting.sleep(1000);
|
||||
yield Scripting.sleep(1000);
|
||||
|
||||
Scripting.scriptEvent('applicationsShowStart');
|
||||
// eslint-disable-next-line require-atomic-updates
|
||||
Main.overview.dash.showAppsButton.checked = true;
|
||||
|
||||
await Scripting.waitLeisure();
|
||||
yield Scripting.waitLeisure();
|
||||
Scripting.scriptEvent('applicationsShowDone');
|
||||
|
||||
await Scripting.sleep(1000);
|
||||
yield Scripting.sleep(1000);
|
||||
|
||||
Main.overview.hide();
|
||||
await Scripting.waitLeisure();
|
||||
yield Scripting.waitLeisure();
|
||||
|
||||
// --------------------- //
|
||||
// Tests of redraw speed //
|
||||
@@ -146,46 +145,46 @@ async function run() {
|
||||
global.frame_finish_timestamp = true;
|
||||
|
||||
for (let k = 0; k < 5; k++)
|
||||
await Scripting.createTestWindow({ maximized: true });
|
||||
await Scripting.waitTestWindows();
|
||||
yield Scripting.createTestWindow({ maximized: true });
|
||||
yield Scripting.waitTestWindows();
|
||||
|
||||
await Scripting.sleep(1000);
|
||||
yield Scripting.sleep(1000);
|
||||
|
||||
Scripting.scriptEvent('mainViewDrawStart');
|
||||
await waitAndDraw(1000);
|
||||
yield waitAndDraw(1000);
|
||||
Scripting.scriptEvent('mainViewDrawDone');
|
||||
|
||||
Main.overview.show();
|
||||
Scripting.waitLeisure();
|
||||
|
||||
await Scripting.sleep(1500);
|
||||
yield Scripting.sleep(1500);
|
||||
|
||||
Scripting.scriptEvent('overviewDrawStart');
|
||||
await waitAndDraw(1000);
|
||||
yield waitAndDraw(1000);
|
||||
Scripting.scriptEvent('overviewDrawDone');
|
||||
|
||||
await Scripting.destroyTestWindows();
|
||||
yield Scripting.destroyTestWindows();
|
||||
Main.overview.hide();
|
||||
|
||||
await Scripting.createTestWindow({ maximized: true,
|
||||
yield Scripting.createTestWindow({ maximized: true,
|
||||
redraws: true });
|
||||
await Scripting.waitTestWindows();
|
||||
yield Scripting.waitTestWindows();
|
||||
|
||||
await Scripting.sleep(1000);
|
||||
yield Scripting.sleep(1000);
|
||||
|
||||
Scripting.scriptEvent('redrawTestStart');
|
||||
await Scripting.sleep(1000);
|
||||
yield Scripting.sleep(1000);
|
||||
Scripting.scriptEvent('redrawTestDone');
|
||||
|
||||
await Scripting.sleep(1000);
|
||||
yield Scripting.sleep(1000);
|
||||
Scripting.scriptEvent('collectTimings');
|
||||
|
||||
await Scripting.destroyTestWindows();
|
||||
yield Scripting.destroyTestWindows();
|
||||
|
||||
global.frame_timestamps = false;
|
||||
global.frame_finish_timestamp = false;
|
||||
|
||||
await Scripting.sleep(1000);
|
||||
yield Scripting.sleep(1000);
|
||||
|
||||
let appSys = Shell.AppSystem.get_default();
|
||||
let app = appSys.lookup_app('org.gnome.gedit.desktop');
|
||||
@@ -198,22 +197,21 @@ async function run() {
|
||||
throw new Error('gedit was already running');
|
||||
|
||||
while (windows.length == 0) {
|
||||
await waitSignal(global.display, 'window-created');
|
||||
yield waitSignal(global.display, 'window-created');
|
||||
windows = app.get_windows();
|
||||
}
|
||||
|
||||
let actor = windows[0].get_compositor_private();
|
||||
await waitSignal(actor, 'first-frame');
|
||||
yield waitSignal(actor, 'first-frame');
|
||||
Scripting.scriptEvent('geditFirstFrame');
|
||||
|
||||
await Scripting.sleep(1000);
|
||||
yield Scripting.sleep(1000);
|
||||
|
||||
windows[0].delete(global.get_current_time());
|
||||
|
||||
await Scripting.sleep(1000);
|
||||
yield Scripting.sleep(1000);
|
||||
|
||||
interfaceSettings.set_boolean('enable-animations', true);
|
||||
/* eslint-enable no-await-in-loop */
|
||||
}
|
||||
|
||||
let overviewShowStart;
|
||||
|
@@ -716,7 +716,7 @@ class AppSwitcher extends SwitcherPopup.SwitcherList {
|
||||
let iconSpacing = labelNaturalHeight + iconPadding + iconBorder;
|
||||
let totalSpacing = this._list.spacing * (this._items.length - 1);
|
||||
|
||||
// We just assume the whole screen here due to weirdness happening with the passed width
|
||||
// We just assume the whole screen here due to weirdness happing with the passed width
|
||||
let primary = Main.layoutManager.primaryMonitor;
|
||||
let parentPadding = this.get_parent().get_theme_node().get_horizontal_padding();
|
||||
let availWidth = primary.width - parentPadding - this.get_theme_node().get_horizontal_padding();
|
||||
|
@@ -1541,7 +1541,7 @@ class AppViewItem extends St.Button {
|
||||
return false;
|
||||
|
||||
if (this._withinLeeways(x))
|
||||
return false;
|
||||
return DND.DragMotionResult.CONTINUE;
|
||||
|
||||
return true;
|
||||
}
|
||||
@@ -1604,7 +1604,6 @@ class FolderView extends BaseAppView {
|
||||
action.connect('pan', this._onPan.bind(this));
|
||||
this._scrollView.add_action(action);
|
||||
|
||||
this._appIds = [];
|
||||
this._redisplay();
|
||||
}
|
||||
|
||||
@@ -1650,7 +1649,8 @@ class FolderView extends BaseAppView {
|
||||
}
|
||||
|
||||
_getItemPosition(item) {
|
||||
const appIndex = this._appIds.indexOf(item.id);
|
||||
const appIds = this._getFolderApps();
|
||||
const appIndex = appIds.indexOf(item.id);
|
||||
|
||||
if (appIndex === -1)
|
||||
return [-1, -1];
|
||||
@@ -1660,8 +1660,10 @@ class FolderView extends BaseAppView {
|
||||
}
|
||||
|
||||
_compareItems(a, b) {
|
||||
const aPosition = this._appIds.indexOf(a.id);
|
||||
const bPosition = this._appIds.indexOf(b.id);
|
||||
const appIds = this._getFolderApps();
|
||||
|
||||
const aPosition = appIds.indexOf(a.id);
|
||||
const bPosition = appIds.indexOf(b.id);
|
||||
|
||||
if (aPosition === -1 && bPosition === -1)
|
||||
return a.name.localeCompare(b.name);
|
||||
@@ -1718,8 +1720,9 @@ class FolderView extends BaseAppView {
|
||||
_loadApps() {
|
||||
let apps = [];
|
||||
let appSys = Shell.AppSystem.get_default();
|
||||
const appIds = this._getFolderApps();
|
||||
|
||||
this._appIds.forEach(appId => {
|
||||
appIds.forEach(appId => {
|
||||
const app = appSys.lookup_app(appId);
|
||||
|
||||
let icon = this._items.get(appId);
|
||||
@@ -1732,13 +1735,6 @@ class FolderView extends BaseAppView {
|
||||
return apps;
|
||||
}
|
||||
|
||||
_redisplay() {
|
||||
// Keep the app ids list cached
|
||||
this._appIds = this._getFolderApps();
|
||||
|
||||
super._redisplay();
|
||||
}
|
||||
|
||||
acceptDrop(source) {
|
||||
if (!super.acceptDrop(source))
|
||||
return false;
|
||||
|
@@ -680,7 +680,6 @@ var Calendar = GObject.registerClass({
|
||||
style_class: 'calendar-day-base calendar-week-number',
|
||||
can_focus: true });
|
||||
let weekFormat = Shell.util_translate_time_string(N_("Week %V"));
|
||||
label.clutter_text.y_align = Clutter.ActorAlign.CENTER;
|
||||
label.accessible_name = iter.toLocaleFormat(weekFormat);
|
||||
layout.attach(label, rtl ? 7 : 0, row, 1, 1);
|
||||
}
|
||||
|
@@ -2,7 +2,6 @@
|
||||
/* exported Component */
|
||||
|
||||
const { Clutter, Gio, GLib, GObject, NM, Pango, Shell, St } = imports.gi;
|
||||
const ByteArray = imports.byteArray;
|
||||
const Signals = imports.signals;
|
||||
|
||||
const Dialog = imports.ui.dialog;
|
||||
@@ -494,7 +493,7 @@ var VPNRequestHandler = class {
|
||||
return;
|
||||
}
|
||||
|
||||
this._vpnChildProcessLineOldStyle(ByteArray.toString(line));
|
||||
this._vpnChildProcessLineOldStyle(line);
|
||||
|
||||
// try to read more!
|
||||
this._readStdoutOldStyle();
|
||||
@@ -523,7 +522,13 @@ var VPNRequestHandler = class {
|
||||
let contentOverride;
|
||||
|
||||
try {
|
||||
data = ByteArray.toGBytes(this._dataStdout.peek_buffer());
|
||||
data = this._dataStdout.peek_buffer();
|
||||
|
||||
if (data instanceof Uint8Array)
|
||||
data = imports.byteArray.toGBytes(data);
|
||||
else
|
||||
data = data.toGBytes();
|
||||
|
||||
keyfile.load_from_bytes(data, GLib.KeyFileFlags.NONE);
|
||||
|
||||
if (keyfile.get_integer(VPN_UI_GROUP, 'Version') != 2)
|
||||
|
@@ -44,7 +44,7 @@ var AuthenticationDialog = GObject.registerClass({
|
||||
let bodyContent = new Dialog.MessageDialogContent();
|
||||
|
||||
if (userNames.length > 1) {
|
||||
log('polkitAuthenticationAgent: Received %d '.format(userNames.length) +
|
||||
log('polkitAuthenticationAgent: Received %d'.format(userNames.length) +
|
||||
'identities that can be used for authentication. Only ' +
|
||||
'considering one.');
|
||||
}
|
||||
|
@@ -171,7 +171,7 @@ class TelepathyClient extends Tp.BaseClient {
|
||||
this.add_approver_filter(filter);
|
||||
this.add_handler_filter(filter);
|
||||
|
||||
// Allow other clients (such as Empathy) to preempt our channels if
|
||||
// Allow other clients (such as Empathy) to pre-empt our channels if
|
||||
// needed
|
||||
this.set_delegated_channels_callback(
|
||||
this._delegatedChannelsCb.bind(this));
|
||||
|
@@ -220,7 +220,7 @@ var MessageDialogContent = GObject.registerClass({
|
||||
|
||||
this._updateTitleStyleLater = Meta.later_add(Meta.LaterType.BEFORE_REDRAW, () => {
|
||||
this._updateTitleStyleLater = 0;
|
||||
this._title.add_style_class_name('lightweight');
|
||||
this._title.add_style_class_name('leightweight');
|
||||
return GLib.SOURCE_REMOVE;
|
||||
});
|
||||
}
|
||||
@@ -233,7 +233,7 @@ var MessageDialogContent = GObject.registerClass({
|
||||
|
||||
_setLabel(this._title, title);
|
||||
|
||||
this._title.remove_style_class_name('lightweight');
|
||||
this._title.remove_style_class_name('leightweight');
|
||||
this._updateTitleStyle();
|
||||
|
||||
this.notify('title');
|
||||
|
@@ -18,7 +18,7 @@
|
||||
*/
|
||||
|
||||
const { AccountsService, Clutter, Gio,
|
||||
GLib, GObject, Pango, Polkit, Shell, St, UPowerGlib: UPower } = imports.gi;
|
||||
GLib, GObject, Pango, Polkit, Shell, St } = imports.gi;
|
||||
|
||||
const CheckBox = imports.ui.checkBox;
|
||||
const Dialog = imports.ui.dialog;
|
||||
@@ -31,30 +31,24 @@ const { loadInterfaceXML } = imports.misc.fileUtils;
|
||||
|
||||
const _ITEM_ICON_SIZE = 64;
|
||||
|
||||
const LOW_BATTERY_THRESHOLD = 30;
|
||||
|
||||
const EndSessionDialogIface = loadInterfaceXML('org.gnome.SessionManager.EndSessionDialog');
|
||||
|
||||
const logoutDialogContent = {
|
||||
subjectWithUser: C_("title", "Log Out %s"),
|
||||
subject: C_("title", "Log Out"),
|
||||
descriptionWithUser(user, seconds) {
|
||||
return ngettext(
|
||||
'%s will be logged out automatically in %d second.',
|
||||
'%s will be logged out automatically in %d seconds.',
|
||||
seconds).format(user, seconds);
|
||||
return ngettext("%s will be logged out automatically in %d second.",
|
||||
"%s will be logged out automatically in %d seconds.",
|
||||
seconds).format(user, seconds);
|
||||
},
|
||||
description(seconds) {
|
||||
return ngettext(
|
||||
'You will be logged out automatically in %d second.',
|
||||
'You will be logged out automatically in %d seconds.',
|
||||
seconds).format(seconds);
|
||||
return ngettext("You will be logged out automatically in %d second.",
|
||||
"You will be logged out automatically in %d seconds.",
|
||||
seconds).format(seconds);
|
||||
},
|
||||
showBatteryWarning: false,
|
||||
confirmButtons: [{
|
||||
signal: 'ConfirmedLogout',
|
||||
label: C_('button', 'Log Out'),
|
||||
}],
|
||||
confirmButtons: [{ signal: 'ConfirmedLogout',
|
||||
label: C_("button", "Log Out") }],
|
||||
showOtherSessions: false,
|
||||
};
|
||||
|
||||
@@ -62,36 +56,30 @@ const shutdownDialogContent = {
|
||||
subject: C_("title", "Power Off"),
|
||||
subjectWithUpdates: C_("title", "Install Updates & Power Off"),
|
||||
description(seconds) {
|
||||
return ngettext(
|
||||
'The system will power off automatically in %d second.',
|
||||
'The system will power off automatically in %d seconds.',
|
||||
seconds).format(seconds);
|
||||
return ngettext("The system will power off automatically in %d second.",
|
||||
"The system will power off automatically in %d seconds.",
|
||||
seconds).format(seconds);
|
||||
},
|
||||
checkBoxText: C_("checkbox", "Install pending software updates"),
|
||||
showBatteryWarning: true,
|
||||
confirmButtons: [{
|
||||
signal: 'ConfirmedShutdown',
|
||||
label: C_('button', 'Power Off'),
|
||||
}],
|
||||
confirmButtons: [{ signal: 'ConfirmedReboot',
|
||||
label: C_("button", "Restart") },
|
||||
{ signal: 'ConfirmedShutdown',
|
||||
label: C_("button", "Power Off") }],
|
||||
iconName: 'system-shutdown-symbolic',
|
||||
showOtherSessions: true,
|
||||
};
|
||||
|
||||
const restartDialogContent = {
|
||||
subject: C_("title", "Restart"),
|
||||
subjectWithUpdates: C_('title', 'Install Updates & Restart'),
|
||||
description(seconds) {
|
||||
return ngettext(
|
||||
'The system will restart automatically in %d second.',
|
||||
'The system will restart automatically in %d seconds.',
|
||||
seconds).format(seconds);
|
||||
return ngettext("The system will restart automatically in %d second.",
|
||||
"The system will restart automatically in %d seconds.",
|
||||
seconds).format(seconds);
|
||||
},
|
||||
checkBoxText: C_('checkbox', 'Install pending software updates'),
|
||||
showBatteryWarning: true,
|
||||
confirmButtons: [{
|
||||
signal: 'ConfirmedReboot',
|
||||
label: C_('button', 'Restart'),
|
||||
}],
|
||||
showBatteryWarning: false,
|
||||
confirmButtons: [{ signal: 'ConfirmedReboot',
|
||||
label: C_("button", "Restart") }],
|
||||
iconName: 'view-refresh-symbolic',
|
||||
showOtherSessions: true,
|
||||
};
|
||||
@@ -100,16 +88,13 @@ const restartUpdateDialogContent = {
|
||||
|
||||
subject: C_("title", "Restart & Install Updates"),
|
||||
description(seconds) {
|
||||
return ngettext(
|
||||
'The system will automatically restart and install updates in %d second.',
|
||||
'The system will automatically restart and install updates in %d seconds.',
|
||||
seconds).format(seconds);
|
||||
return ngettext("The system will automatically restart and install updates in %d second.",
|
||||
"The system will automatically restart and install updates in %d seconds.",
|
||||
seconds).format(seconds);
|
||||
},
|
||||
showBatteryWarning: true,
|
||||
confirmButtons: [{
|
||||
signal: 'ConfirmedReboot',
|
||||
label: C_('button', 'Restart & Install'),
|
||||
}],
|
||||
confirmButtons: [{ signal: 'ConfirmedReboot',
|
||||
label: C_("button", "Restart & Install") }],
|
||||
unusedFutureButtonForTranslation: C_("button", "Install & Power Off"),
|
||||
unusedFutureCheckBoxForTranslation: C_("checkbox", "Power off after updates are installed"),
|
||||
iconName: 'view-refresh-symbolic',
|
||||
@@ -127,10 +112,8 @@ const restartUpgradeDialogContent = {
|
||||
},
|
||||
disableTimer: true,
|
||||
showBatteryWarning: false,
|
||||
confirmButtons: [{
|
||||
signal: 'ConfirmedReboot',
|
||||
label: C_('button', 'Restart & Install'),
|
||||
}],
|
||||
confirmButtons: [{ signal: 'ConfirmedReboot',
|
||||
label: C_("button", "Restart & Install") }],
|
||||
iconName: 'view-refresh-symbolic',
|
||||
showOtherSessions: true,
|
||||
};
|
||||
@@ -159,7 +142,7 @@ const LogindSession = Gio.DBusProxy.makeProxyWrapper(LogindSessionIface);
|
||||
const PkOfflineIface = loadInterfaceXML('org.freedesktop.PackageKit.Offline');
|
||||
const PkOfflineProxy = Gio.DBusProxy.makeProxyWrapper(PkOfflineIface);
|
||||
|
||||
const UPowerIface = loadInterfaceXML('org.freedesktop.UPower.Device');
|
||||
const UPowerIface = loadInterfaceXML('org.freedesktop.UPower');
|
||||
const UPowerProxy = Gio.DBusProxy.makeProxyWrapper(UPowerIface);
|
||||
|
||||
function findAppFromInhibitor(inhibitor) {
|
||||
@@ -230,11 +213,6 @@ class EndSessionDialog extends ModalDialog.ModalDialog {
|
||||
destroyOnClose: false });
|
||||
|
||||
this._loginManager = LoginManager.getLoginManager();
|
||||
this._loginManager.canRebootToBootLoaderMenu(
|
||||
(canRebootToBootLoaderMenu, unusedNeedsAuth) => {
|
||||
this._canRebootToBootLoaderMenu = canRebootToBootLoaderMenu;
|
||||
});
|
||||
|
||||
this._userManager = AccountsService.UserManager.get_default();
|
||||
this._user = this._userManager.get_user(GLib.get_user_name());
|
||||
this._updatesPermission = null;
|
||||
@@ -246,7 +224,7 @@ class EndSessionDialog extends ModalDialog.ModalDialog {
|
||||
|
||||
this._powerProxy = new UPowerProxy(Gio.DBus.system,
|
||||
'org.freedesktop.UPower',
|
||||
'/org/freedesktop/UPower/devices/DisplayDevice',
|
||||
'/org/freedesktop/UPower',
|
||||
(proxy, error) => {
|
||||
if (error) {
|
||||
log(error.message);
|
||||
@@ -261,9 +239,6 @@ class EndSessionDialog extends ModalDialog.ModalDialog {
|
||||
this._totalSecondsToStayOpen = 0;
|
||||
this._applications = [];
|
||||
this._sessions = [];
|
||||
this._capturedEventId = 0;
|
||||
this._rebootButton = null;
|
||||
this._rebootButtonAlt = null;
|
||||
|
||||
this.connect('destroy',
|
||||
this._onDestroy.bind(this));
|
||||
@@ -281,7 +256,7 @@ class EndSessionDialog extends ModalDialog.ModalDialog {
|
||||
|
||||
this._batteryWarning = new St.Label({
|
||||
style_class: 'end-session-dialog-battery-warning',
|
||||
text: _('Low battery power: please plug in before installing updates.'),
|
||||
text: _('Running on battery power: Please plug in before installing updates.'),
|
||||
});
|
||||
this._batteryWarning.clutter_text.ellipsize = Pango.EllipsizeMode.NONE;
|
||||
this._batteryWarning.clutter_text.line_wrap = true;
|
||||
@@ -331,32 +306,6 @@ class EndSessionDialog extends ModalDialog.ModalDialog {
|
||||
this._user.disconnect(this._userChangedId);
|
||||
}
|
||||
|
||||
_isDischargingBattery() {
|
||||
return this._powerProxy.IsPresent &&
|
||||
this._powerProxy.State !== UPower.DeviceState.CHARGING &&
|
||||
this._powerProxy.State !== UPower.DeviceState.FULLY_CHARGED;
|
||||
}
|
||||
|
||||
_isBatteryLow() {
|
||||
return this._isDischargingBattery() && this._powerProxy.Percentage < LOW_BATTERY_THRESHOLD;
|
||||
}
|
||||
|
||||
_shouldShowLowBatteryWarning(dialogContent) {
|
||||
if (!dialogContent.showBatteryWarning)
|
||||
return false;
|
||||
|
||||
if (!this._isBatteryLow())
|
||||
return false;
|
||||
|
||||
if (this._checkBox.checked)
|
||||
return true;
|
||||
|
||||
// Show the warning if updates have already been triggered, but
|
||||
// the user doesn't have enough permissions to cancel them.
|
||||
let updatesAllowed = this._updatesPermission && this._updatesPermission.allowed;
|
||||
return this._updateInfo.UpdatePrepared && this._updateInfo.UpdateTriggered && !updatesAllowed;
|
||||
}
|
||||
|
||||
_sync() {
|
||||
let open = this.state == ModalDialog.State.OPENING || this.state == ModalDialog.State.OPENED;
|
||||
if (!open)
|
||||
@@ -370,7 +319,10 @@ class EndSessionDialog extends ModalDialog.ModalDialog {
|
||||
if (dialogContent.subjectWithUpdates && this._checkBox.checked)
|
||||
subject = dialogContent.subjectWithUpdates;
|
||||
|
||||
this._batteryWarning.visible = this._shouldShowLowBatteryWarning(dialogContent);
|
||||
if (dialogContent.showBatteryWarning) {
|
||||
this._batteryWarning.visible =
|
||||
this._powerProxy.OnBattery && this._checkBox.checked;
|
||||
}
|
||||
|
||||
let description;
|
||||
let displayTime = _roundSecondsToInterval(this._totalSecondsToStayOpen,
|
||||
@@ -411,38 +363,16 @@ class EndSessionDialog extends ModalDialog.ModalDialog {
|
||||
this._sessionSection.visible = hasSessions;
|
||||
}
|
||||
|
||||
_onCapturedEvent(actor, event) {
|
||||
let altEnabled = false;
|
||||
|
||||
let type = event.type();
|
||||
if (type !== Clutter.EventType.KEY_PRESS && type !== Clutter.EventType.KEY_RELEASE)
|
||||
return Clutter.EVENT_PROPAGATE;
|
||||
|
||||
let key = event.get_key_symbol();
|
||||
if (key !== Clutter.KEY_Alt_L && key !== Clutter.KEY_Alt_R)
|
||||
return Clutter.EVENT_PROPAGATE;
|
||||
|
||||
if (type === Clutter.EventType.KEY_PRESS)
|
||||
altEnabled = true;
|
||||
|
||||
this._rebootButton.visible = !altEnabled;
|
||||
this._rebootButtonAlt.visible = altEnabled;
|
||||
|
||||
return Clutter.EVENT_PROPAGATE;
|
||||
}
|
||||
|
||||
_updateButtons() {
|
||||
this.clearButtons();
|
||||
|
||||
this.addButton({ action: this.cancel.bind(this),
|
||||
label: _("Cancel"),
|
||||
key: Clutter.KEY_Escape });
|
||||
|
||||
let dialogContent = DialogContent[this._type];
|
||||
let buttons = [{ action: this.cancel.bind(this),
|
||||
label: _("Cancel"),
|
||||
key: Clutter.KEY_Escape }];
|
||||
|
||||
for (let i = 0; i < dialogContent.confirmButtons.length; i++) {
|
||||
let signal = dialogContent.confirmButtons[i].signal;
|
||||
let label = dialogContent.confirmButtons[i].label;
|
||||
let button = this.addButton({
|
||||
buttons.push({
|
||||
action: () => {
|
||||
this.close(true);
|
||||
let signalId = this.connect('closed', () => {
|
||||
@@ -452,34 +382,9 @@ class EndSessionDialog extends ModalDialog.ModalDialog {
|
||||
},
|
||||
label,
|
||||
});
|
||||
|
||||
// Add Alt "Boot Options" option to the Reboot button
|
||||
if (this._canRebootToBootLoaderMenu && signal === 'ConfirmedReboot') {
|
||||
this._rebootButton = button;
|
||||
this._rebootButtonAlt = this.addButton({
|
||||
action: () => {
|
||||
this.close(true);
|
||||
let signalId = this.connect('closed', () => {
|
||||
this.disconnect(signalId);
|
||||
this._confirmRebootToBootLoaderMenu();
|
||||
});
|
||||
},
|
||||
label: C_('button', 'Boot Options'),
|
||||
});
|
||||
this._rebootButtonAlt.visible = false;
|
||||
this._capturedEventId = global.stage.connect('captured-event',
|
||||
this._onCapturedEvent.bind(this));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
_stopAltCapture() {
|
||||
if (this._capturedEventId > 0) {
|
||||
global.stage.disconnect(this._capturedEventId);
|
||||
this._capturedEventId = 0;
|
||||
}
|
||||
this._rebootButton = null;
|
||||
this._rebootButtonAlt = null;
|
||||
this.setButtons(buttons);
|
||||
}
|
||||
|
||||
close(skipSignal) {
|
||||
@@ -491,21 +396,14 @@ class EndSessionDialog extends ModalDialog.ModalDialog {
|
||||
|
||||
cancel() {
|
||||
this._stopTimer();
|
||||
this._stopAltCapture();
|
||||
this._dbusImpl.emit_signal('Canceled', null);
|
||||
this.close();
|
||||
}
|
||||
|
||||
_confirmRebootToBootLoaderMenu() {
|
||||
this._loginManager.setRebootToBootLoaderMenu();
|
||||
this._confirm('ConfirmedReboot');
|
||||
}
|
||||
|
||||
_confirm(signal) {
|
||||
let callback = () => {
|
||||
this._fadeOutDialog();
|
||||
this._stopTimer();
|
||||
this._stopAltCapture();
|
||||
this._dbusImpl.emit_signal(signal, null);
|
||||
};
|
||||
|
||||
@@ -773,17 +671,19 @@ class EndSessionDialog extends ModalDialog.ModalDialog {
|
||||
if (dialogContent.showOtherSessions)
|
||||
this._loadSessions();
|
||||
|
||||
let updateTriggered = this._updateInfo.UpdateTriggered;
|
||||
let updatePrepared = this._updateInfo.UpdatePrepared;
|
||||
let updatesAllowed = this._updatesPermission && this._updatesPermission.allowed;
|
||||
|
||||
_setCheckBoxLabel(this._checkBox, dialogContent.checkBoxText || '');
|
||||
this._checkBox.visible = dialogContent.checkBoxText && this._updateInfo.UpdatePrepared && updatesAllowed;
|
||||
this._checkBox.visible = dialogContent.checkBoxText && updatePrepared && updatesAllowed;
|
||||
this._checkBox.checked = this._checkBox.visible;
|
||||
|
||||
if (this._type === DialogType.UPGRADE_RESTART)
|
||||
this._checkBox.checked = this._checkBox.visible && this._updateInfo.UpdateTriggered && !this._isDischargingBattery();
|
||||
else
|
||||
this._checkBox.checked = this._checkBox.visible && !this._isBatteryLow();
|
||||
|
||||
this._batteryWarning.visible = this._shouldShowLowBatteryWarning(dialogContent);
|
||||
// We show the warning either together with the checkbox, or when
|
||||
// updates have already been triggered, but the user doesn't have
|
||||
// enough permissions to cancel them.
|
||||
this._batteryWarning.visible = dialogContent.showBatteryWarning &&
|
||||
(this._checkBox.visible || updatePrepared && updateTriggered && !updatesAllowed);
|
||||
|
||||
this._updateButtons();
|
||||
|
||||
|
@@ -134,14 +134,7 @@ function _easeActor(actor, params) {
|
||||
actor.set_easing_mode(params.mode);
|
||||
delete params.mode;
|
||||
|
||||
const prepare = () => {
|
||||
Meta.disable_unredirect_for_display(global.display);
|
||||
global.begin_work();
|
||||
};
|
||||
const cleanup = () => {
|
||||
Meta.enable_unredirect_for_display(global.display);
|
||||
global.end_work();
|
||||
};
|
||||
let cleanup = () => Meta.enable_unredirect_for_display(global.display);
|
||||
let callback = _makeEaseCallback(params, cleanup);
|
||||
|
||||
// cancel overwritten transitions
|
||||
@@ -156,9 +149,9 @@ function _easeActor(actor, params) {
|
||||
.find(t => t !== null);
|
||||
|
||||
if (transition && transition.delay)
|
||||
transition.connect('started', () => prepare());
|
||||
transition.connect('started', () => Meta.disable_unredirect_for_display(global.display));
|
||||
else
|
||||
prepare();
|
||||
Meta.disable_unredirect_for_display(global.display);
|
||||
|
||||
if (transition) {
|
||||
transition.set({ repeatCount, autoReverse });
|
||||
@@ -198,14 +191,7 @@ function _easeActorProperty(actor, propName, target, params) {
|
||||
if (actor instanceof Clutter.Actor && !actor.mapped)
|
||||
duration = 0;
|
||||
|
||||
const prepare = () => {
|
||||
Meta.disable_unredirect_for_display(global.display);
|
||||
global.begin_work();
|
||||
};
|
||||
const cleanup = () => {
|
||||
Meta.enable_unredirect_for_display(global.display);
|
||||
global.end_work();
|
||||
};
|
||||
let cleanup = () => Meta.enable_unredirect_for_display(global.display);
|
||||
let callback = _makeEaseCallback(params, cleanup);
|
||||
|
||||
// cancel overwritten transition
|
||||
@@ -217,7 +203,7 @@ function _easeActorProperty(actor, propName, target, params) {
|
||||
if (!isReversed)
|
||||
obj[prop] = target;
|
||||
|
||||
prepare();
|
||||
Meta.disable_unredirect_for_display(global.display);
|
||||
callback(true);
|
||||
|
||||
return;
|
||||
@@ -236,9 +222,9 @@ function _easeActorProperty(actor, propName, target, params) {
|
||||
transition.set_to(target);
|
||||
|
||||
if (transition.delay)
|
||||
transition.connect('started', () => prepare());
|
||||
transition.connect('started', () => Meta.disable_unredirect_for_display(global.display));
|
||||
else
|
||||
prepare();
|
||||
Meta.disable_unredirect_for_display(global.display);
|
||||
|
||||
transition.connect('stopped', (t, finished) => callback(finished));
|
||||
}
|
||||
|
@@ -2,7 +2,6 @@
|
||||
/* exported init connect disconnect */
|
||||
|
||||
const { GLib, Gio, GObject, Shell, St } = imports.gi;
|
||||
const ByteArray = imports.byteArray;
|
||||
const Signals = imports.signals;
|
||||
|
||||
const ExtensionDownloader = imports.ui.extensionDownloader;
|
||||
@@ -283,7 +282,8 @@ var ExtensionManager = class {
|
||||
let metadataContents, success_;
|
||||
try {
|
||||
[success_, metadataContents] = metadataFile.load_contents(null);
|
||||
metadataContents = ByteArray.toString(metadataContents);
|
||||
if (metadataContents instanceof Uint8Array)
|
||||
metadataContents = imports.byteArray.toString(metadataContents);
|
||||
} catch (e) {
|
||||
throw new Error('Failed to load metadata.json: %s'.format(e.toString()));
|
||||
}
|
||||
|
@@ -468,12 +468,6 @@ var IconGridLayout = GObject.registerClass({
|
||||
this._unlinkItem(item);
|
||||
});
|
||||
|
||||
// Adjust the page indexes of items after this page
|
||||
for (const itemData of this._items.values()) {
|
||||
if (itemData.pageIndex > pageIndex)
|
||||
itemData.pageIndex--;
|
||||
}
|
||||
|
||||
this._pages.splice(pageIndex, 1);
|
||||
this.emit('pages-changed');
|
||||
}
|
||||
|
@@ -7,7 +7,7 @@ const PermissionStore = imports.misc.permissionStore;
|
||||
|
||||
const WAYLAND_KEYBINDINGS_SCHEMA = 'org.gnome.mutter.wayland.keybindings';
|
||||
|
||||
const APP_ALLOWLIST = ['gnome-control-center.desktop'];
|
||||
const APP_WHITELIST = ['gnome-control-center.desktop'];
|
||||
const APP_PERMISSIONS_TABLE = 'gnome';
|
||||
const APP_PERMISSIONS_ID = 'shortcuts-inhibitor';
|
||||
const GRANTED = 'GRANTED';
|
||||
@@ -118,7 +118,7 @@ var InhibitShortcutsDialog = GObject.registerClass({
|
||||
}
|
||||
|
||||
vfunc_show() {
|
||||
if (this._app && APP_ALLOWLIST.includes(this._app.get_id())) {
|
||||
if (this._app && APP_WHITELIST.includes(this._app.get_id())) {
|
||||
this._emitResponse(DialogResponse.ALLOW);
|
||||
return;
|
||||
}
|
||||
|
@@ -2,7 +2,6 @@
|
||||
/* exported KeyboardManager */
|
||||
|
||||
const { Clutter, Gio, GLib, GObject, Meta, St } = imports.gi;
|
||||
const ByteArray = imports.byteArray;
|
||||
const Signals = imports.signals;
|
||||
|
||||
const InputSourceManager = imports.ui.status.keyboard;
|
||||
@@ -533,7 +532,8 @@ var KeyboardModel = class {
|
||||
_loadModel(groupName) {
|
||||
let file = Gio.File.new_for_uri('resource:///org/gnome/shell/osk-layouts/%s.json'.format(groupName));
|
||||
let [success_, contents] = file.load_contents(null);
|
||||
contents = ByteArray.toString(contents);
|
||||
if (contents instanceof Uint8Array)
|
||||
contents = imports.byteArray.toString(contents);
|
||||
|
||||
return JSON.parse(contents);
|
||||
}
|
||||
@@ -1091,8 +1091,8 @@ var Keypad = GObject.registerClass({
|
||||
{ label: '8', keyval: Clutter.KEY_8, left: 1, top: 2 },
|
||||
{ label: '9', keyval: Clutter.KEY_9, left: 2, top: 2 },
|
||||
{ label: '0', keyval: Clutter.KEY_0, left: 1, top: 3 },
|
||||
{ keyval: Clutter.KEY_BackSpace, icon: 'edit-clear-symbolic', left: 3, top: 0 },
|
||||
{ keyval: Clutter.KEY_Return, extraClassName: 'enter-key', icon: 'keyboard-enter-symbolic', left: 3, top: 1, height: 2 },
|
||||
{ label: '⌫', keyval: Clutter.KEY_BackSpace, left: 3, top: 0 },
|
||||
{ keyval: Clutter.KEY_Return, extraClassName: 'enter-key', left: 3, top: 1, height: 2 },
|
||||
];
|
||||
|
||||
super._init({
|
||||
@@ -1109,7 +1109,7 @@ var Keypad = GObject.registerClass({
|
||||
|
||||
for (let i = 0; i < keys.length; i++) {
|
||||
let cur = keys[i];
|
||||
let key = new Key(cur.label || "", [], cur.icon);
|
||||
let key = new Key(cur.label || "", []);
|
||||
|
||||
if (keys[i].extraClassName)
|
||||
key.keyButton.add_style_class_name(cur.extraClassName);
|
||||
|
@@ -233,7 +233,7 @@ class SlidingControl extends St.Widget {
|
||||
// When pageEmpty is received, there's no visible view in the
|
||||
// selector; this means we can now safely set the full slide for
|
||||
// the next page, since slideIn or slideOut might have been called,
|
||||
// changing the visibility
|
||||
// changing the visiblity
|
||||
this.remove_transition('@layout.slide-x');
|
||||
this.layout.slide_x = this._getSlide();
|
||||
this._updateTranslation();
|
||||
|
@@ -3,7 +3,6 @@
|
||||
|
||||
const { Atk, Clutter, GDesktopEnums, Gio,
|
||||
GLib, GObject, Gtk, Meta, Pango, Rsvg, St } = imports.gi;
|
||||
const ByteArray = imports.byteArray;
|
||||
const Signals = imports.signals;
|
||||
|
||||
const Main = imports.ui.main;
|
||||
@@ -298,7 +297,8 @@ var PadDiagram = GObject.registerClass({
|
||||
_init(params) {
|
||||
let file = Gio.File.new_for_uri('resource:///org/gnome/shell/theme/pad-osd.css');
|
||||
let [success_, css] = file.load_contents(null);
|
||||
css = ByteArray.toString(css);
|
||||
if (css instanceof Uint8Array)
|
||||
css = imports.byteArray.toString(css);
|
||||
this._curEdited = null;
|
||||
this._prevEdited = null;
|
||||
this._css = css;
|
||||
|
@@ -208,7 +208,7 @@ var PopupBaseMenuItem = GObject.registerClass({
|
||||
// Remove the CSS active state if the user press the button and
|
||||
// while holding moves to another menu item, so we don't paint all items.
|
||||
// The correct behaviour would be to set the new item with the CSS
|
||||
// active state as well, but button-press-event is not triggered,
|
||||
// active state as well, but button-press-event is not trigered,
|
||||
// so we should track it in our own, which would involve some work
|
||||
// in the container
|
||||
this.remove_style_pseudo_class('active');
|
||||
|
@@ -196,7 +196,7 @@ class RunDialog extends ModalDialog.ModalDialog {
|
||||
let execArg = this._terminalSettings.get_string(EXEC_ARG_KEY);
|
||||
command = '%s %s %s'.format(exec, execArg, input);
|
||||
}
|
||||
Util.trySpawnCommandLine(command);
|
||||
Util.trySpawnAppCommandline(command);
|
||||
} catch (e) {
|
||||
// Mmmh, that failed - see if @input matches an existing file
|
||||
let path = null;
|
||||
|
@@ -21,13 +21,16 @@ const { loadInterfaceXML } = imports.misc.fileUtils;
|
||||
// When scripting an automated test we want to make a series of calls
|
||||
// in a linear fashion, but we also want to be able to let the main
|
||||
// loop run so actions can finish. For this reason we write the script
|
||||
// as an async function that uses await when it wants to let the main
|
||||
// as a generator function that yields when it want to let the main
|
||||
// loop run.
|
||||
//
|
||||
// await Scripting.sleep(1000);
|
||||
// yield Scripting.sleep(1000);
|
||||
// main.overview.show();
|
||||
// await Scripting.waitLeisure();
|
||||
// yield Scripting.waitLeisure();
|
||||
//
|
||||
// While it isn't important to the person writing the script, the actual
|
||||
// yielded result is a function that the caller uses to provide the
|
||||
// callback for resuming the script.
|
||||
|
||||
/**
|
||||
* sleep:
|
||||
@@ -282,11 +285,13 @@ function _collect(scriptModule, outputFile) {
|
||||
}
|
||||
|
||||
async function _runPerfScript(scriptModule, outputFile) {
|
||||
try {
|
||||
await scriptModule.run();
|
||||
} catch (err) {
|
||||
log(`Script failed: ${err}\n${err.stack}`);
|
||||
Meta.exit(Meta.ExitCode.ERROR);
|
||||
for (let step of scriptModule.run()) {
|
||||
try {
|
||||
await step; // eslint-disable-line no-await-in-loop
|
||||
} catch (err) {
|
||||
log(`Script failed: ${err}\n${err.stack}`);
|
||||
Meta.exit(Meta.ExitCode.ERROR);
|
||||
}
|
||||
}
|
||||
|
||||
try {
|
||||
|
@@ -1,7 +1,6 @@
|
||||
// -*- mode: js; js-indent-level: 4; indent-tabs-mode: nil -*-
|
||||
/* exported SessionMode, listModes */
|
||||
|
||||
const ByteArray = imports.byteArray;
|
||||
const GLib = imports.gi.GLib;
|
||||
const Signals = imports.signals;
|
||||
|
||||
@@ -106,17 +105,18 @@ function _loadMode(file, info) {
|
||||
let fileContent, success_, newMode;
|
||||
try {
|
||||
[success_, fileContent] = file.load_contents(null);
|
||||
fileContent = ByteArray.toString(fileContent);
|
||||
if (fileContent instanceof Uint8Array)
|
||||
fileContent = imports.byteArray.toString(fileContent);
|
||||
newMode = JSON.parse(fileContent);
|
||||
} catch (e) {
|
||||
return;
|
||||
}
|
||||
|
||||
_modes[modeName] = {};
|
||||
const excludedProps = ['unlockDialog'];
|
||||
let propBlacklist = ['unlockDialog'];
|
||||
for (let prop in _modes[DEFAULT_MODE]) {
|
||||
if (newMode[prop] !== undefined &&
|
||||
!excludedProps.includes(prop))
|
||||
!propBlacklist.includes(prop))
|
||||
_modes[modeName][prop] = newMode[prop];
|
||||
}
|
||||
_modes[modeName]['isPrimary'] = true;
|
||||
|
@@ -145,7 +145,7 @@ class Indicator extends PanelMenu.SystemIndicator {
|
||||
|
||||
if (nConnectedDevices > 1)
|
||||
/* Translators: this is the number of connected bluetooth devices */
|
||||
this._item.label.text = ngettext('%d Connected', '%d Connected', nConnectedDevices).format(nConnectedDevices);
|
||||
this._item.label.text = ngettext('%d Connected", "%d Connected', nConnectedDevices).format(nConnectedDevices);
|
||||
else if (nConnectedDevices === 1)
|
||||
this._item.label.text = connectedDevices[0].name;
|
||||
else if (adapter === null)
|
||||
|
@@ -15,7 +15,6 @@ const Util = imports.misc.util;
|
||||
|
||||
const { loadInterfaceXML } = imports.misc.fileUtils;
|
||||
|
||||
Gio._promisify(Gio.DBusConnection.prototype, 'call', 'call_finish');
|
||||
Gio._promisify(NM.Client, 'new_async', 'new_finish');
|
||||
Gio._promisify(NM.Client.prototype,
|
||||
'check_connectivity_async', 'check_connectivity_finish');
|
||||
@@ -83,30 +82,6 @@ function ensureActiveConnectionProps(active) {
|
||||
}
|
||||
}
|
||||
|
||||
function launchSettingsPanel(panel, ...args) {
|
||||
const param = new GLib.Variant('(sav)',
|
||||
[panel, args.map(s => new GLib.Variant('s', s))]);
|
||||
const platformData = {
|
||||
'desktop-startup-id': new GLib.Variant('s',
|
||||
'_TIME%s'.format(global.get_current_time())),
|
||||
};
|
||||
try {
|
||||
Gio.DBus.session.call(
|
||||
'org.gnome.ControlCenter',
|
||||
'/org/gnome/ControlCenter',
|
||||
'org.freedesktop.Application',
|
||||
'ActivateAction',
|
||||
new GLib.Variant('(sava{sv})',
|
||||
['launch-panel', [param], platformData]),
|
||||
null,
|
||||
Gio.DBusCallFlags.NONE,
|
||||
-1,
|
||||
null);
|
||||
} catch (e) {
|
||||
log('Failed to launch Settings panel: %s'.format(e.message));
|
||||
}
|
||||
}
|
||||
|
||||
var NMConnectionItem = class {
|
||||
constructor(section, connection) {
|
||||
this._section = section;
|
||||
@@ -564,7 +539,8 @@ var NMDeviceModem = class extends NMConnectionDevice {
|
||||
}
|
||||
|
||||
_autoConnect() {
|
||||
launchSettingsPanel('network', 'connect-3g', this._device.get_path());
|
||||
Util.spawn(['gnome-control-center', 'network',
|
||||
'connect-3g', this._device.get_path()]);
|
||||
}
|
||||
|
||||
destroy() {
|
||||
@@ -955,8 +931,8 @@ class NMWirelessDialog extends ModalDialog.ModalDialog {
|
||||
(accessPoints[0]._secType == NMAccessPointSecurity.WPA_ENT)) {
|
||||
// 802.1x-enabled APs require further configuration, so they're
|
||||
// handled in gnome-control-center
|
||||
launchSettingsPanel('wifi', 'connect-8021x-wifi',
|
||||
this._device.get_path(), accessPoints[0].get_path());
|
||||
Util.spawn(['gnome-control-center', 'wifi', 'connect-8021x-wifi',
|
||||
this._device.get_path(), accessPoints[0].get_path()]);
|
||||
} else {
|
||||
let connection = new NM.SimpleConnection();
|
||||
this._client.add_and_activate_connection_async(connection, this._device, accessPoints[0].get_path(), null, null);
|
||||
|
@@ -86,8 +86,6 @@ class Indicator extends PanelMenu.SystemIndicator {
|
||||
|
||||
Main.sessionMode.connect('updated', this._sessionUpdated.bind(this));
|
||||
this._sessionUpdated();
|
||||
|
||||
this._sync();
|
||||
}
|
||||
|
||||
_sessionUpdated() {
|
||||
|
@@ -27,8 +27,6 @@ class Indicator extends PanelMenu.SystemIndicator {
|
||||
() => this._updateSessionSubMenu());
|
||||
this._powerOffItem.connect('notify::visible',
|
||||
() => this._updateSessionSubMenu());
|
||||
this._restartItem.connect('notify::visible',
|
||||
() => this._updateSessionSubMenu());
|
||||
// Whether shutdown is available or not depends on both lockdown
|
||||
// settings (disable-log-out) and Polkit policy - the latter doesn't
|
||||
// notify, so we update the menu item each time the menu opens or
|
||||
@@ -54,7 +52,6 @@ class Indicator extends PanelMenu.SystemIndicator {
|
||||
this._loginScreenItem.visible ||
|
||||
this._logoutItem.visible ||
|
||||
this._suspendItem.visible ||
|
||||
this._restartItem.visible ||
|
||||
this._powerOffItem.visible;
|
||||
}
|
||||
|
||||
@@ -73,8 +70,9 @@ class Indicator extends PanelMenu.SystemIndicator {
|
||||
this.menu.addMenuItem(item);
|
||||
this._orientationLockItem = item;
|
||||
this._systemActions.bind_property('can-lock-orientation',
|
||||
this._orientationLockItem, 'visible',
|
||||
bindFlags);
|
||||
this._orientationLockItem,
|
||||
'visible',
|
||||
bindFlags);
|
||||
this._systemActions.connect('notify::orientation-lock-icon', () => {
|
||||
let iconName = this._systemActions.orientation_lock_icon;
|
||||
let labelText = this._systemActions.getName("lock-orientation");
|
||||
@@ -86,8 +84,8 @@ class Indicator extends PanelMenu.SystemIndicator {
|
||||
let app = this._settingsApp = Shell.AppSystem.get_default().lookup_app(
|
||||
'gnome-control-center.desktop');
|
||||
if (app) {
|
||||
const [icon] = app.app_info.get_icon().names;
|
||||
const name = app.app_info.get_name();
|
||||
let [icon, name] = [app.app_info.get_icon().names[0],
|
||||
app.get_name()];
|
||||
item = new PopupMenu.PopupImageMenuItem(name, icon);
|
||||
item.connect('activate', () => {
|
||||
this.menu.itemActivated(BoxPointer.PopupAnimation.NONE);
|
||||
@@ -109,49 +107,15 @@ class Indicator extends PanelMenu.SystemIndicator {
|
||||
this.menu.addMenuItem(item);
|
||||
this._lockScreenItem = item;
|
||||
this._systemActions.bind_property('can-lock-screen',
|
||||
this._lockScreenItem, 'visible',
|
||||
bindFlags);
|
||||
this._lockScreenItem,
|
||||
'visible',
|
||||
bindFlags);
|
||||
|
||||
this._sessionSubMenu = new PopupMenu.PopupSubMenuMenuItem(
|
||||
_('Power Off / Log Out'), true);
|
||||
this._sessionSubMenu.icon.icon_name = 'system-shutdown-symbolic';
|
||||
|
||||
item = new PopupMenu.PopupMenuItem(_('Suspend'));
|
||||
item.connect('activate', () => {
|
||||
this.menu.itemActivated(BoxPointer.PopupAnimation.NONE);
|
||||
this._systemActions.activateSuspend();
|
||||
});
|
||||
this._sessionSubMenu.menu.addMenuItem(item);
|
||||
this._suspendItem = item;
|
||||
this._systemActions.bind_property('can-suspend',
|
||||
this._suspendItem, 'visible',
|
||||
bindFlags);
|
||||
|
||||
item = new PopupMenu.PopupMenuItem(_('Restart…'));
|
||||
item.connect('activate', () => {
|
||||
this.menu.itemActivated(BoxPointer.PopupAnimation.NONE);
|
||||
this._systemActions.activateRestart();
|
||||
});
|
||||
this._sessionSubMenu.menu.addMenuItem(item);
|
||||
this._restartItem = item;
|
||||
this._systemActions.bind_property('can-restart',
|
||||
this._restartItem, 'visible',
|
||||
bindFlags);
|
||||
|
||||
item = new PopupMenu.PopupMenuItem(_('Power Off…'));
|
||||
item.connect('activate', () => {
|
||||
this.menu.itemActivated(BoxPointer.PopupAnimation.NONE);
|
||||
this._systemActions.activatePowerOff();
|
||||
});
|
||||
this._sessionSubMenu.menu.addMenuItem(item);
|
||||
this._powerOffItem = item;
|
||||
this._systemActions.bind_property('can-power-off',
|
||||
this._powerOffItem, 'visible',
|
||||
bindFlags);
|
||||
|
||||
this._sessionSubMenu.menu.addMenuItem(new PopupMenu.PopupSeparatorMenuItem());
|
||||
|
||||
item = new PopupMenu.PopupMenuItem(_('Log Out'));
|
||||
item = new PopupMenu.PopupMenuItem(_("Log Out"));
|
||||
item.connect('activate', () => {
|
||||
this.menu.itemActivated(BoxPointer.PopupAnimation.NONE);
|
||||
this._systemActions.activateLogout();
|
||||
@@ -159,10 +123,11 @@ class Indicator extends PanelMenu.SystemIndicator {
|
||||
this._sessionSubMenu.menu.addMenuItem(item);
|
||||
this._logoutItem = item;
|
||||
this._systemActions.bind_property('can-logout',
|
||||
this._logoutItem, 'visible',
|
||||
bindFlags);
|
||||
this._logoutItem,
|
||||
'visible',
|
||||
bindFlags);
|
||||
|
||||
item = new PopupMenu.PopupMenuItem(_('Switch User…'));
|
||||
item = new PopupMenu.PopupMenuItem(_("Switch User…"));
|
||||
item.connect('activate', () => {
|
||||
this.menu.itemActivated(BoxPointer.PopupAnimation.NONE);
|
||||
this._systemActions.activateSwitchUser();
|
||||
@@ -170,8 +135,35 @@ class Indicator extends PanelMenu.SystemIndicator {
|
||||
this._sessionSubMenu.menu.addMenuItem(item);
|
||||
this._loginScreenItem = item;
|
||||
this._systemActions.bind_property('can-switch-user',
|
||||
this._loginScreenItem, 'visible',
|
||||
bindFlags);
|
||||
this._loginScreenItem,
|
||||
'visible',
|
||||
bindFlags);
|
||||
|
||||
this._sessionSubMenu.menu.addMenuItem(new PopupMenu.PopupSeparatorMenuItem());
|
||||
|
||||
item = new PopupMenu.PopupMenuItem(_("Suspend"));
|
||||
item.connect('activate', () => {
|
||||
this.menu.itemActivated(BoxPointer.PopupAnimation.NONE);
|
||||
this._systemActions.activateSuspend();
|
||||
});
|
||||
this._sessionSubMenu.menu.addMenuItem(item);
|
||||
this._suspendItem = item;
|
||||
this._systemActions.bind_property('can-suspend',
|
||||
this._suspendItem,
|
||||
'visible',
|
||||
bindFlags);
|
||||
|
||||
item = new PopupMenu.PopupMenuItem(_("Power Off…"));
|
||||
item.connect('activate', () => {
|
||||
this.menu.itemActivated(BoxPointer.PopupAnimation.NONE);
|
||||
this._systemActions.activatePowerOff();
|
||||
});
|
||||
this._sessionSubMenu.menu.addMenuItem(item);
|
||||
this._powerOffItem = item;
|
||||
this._systemActions.bind_property('can-power-off',
|
||||
this._powerOffItem,
|
||||
'visible',
|
||||
bindFlags);
|
||||
|
||||
this.menu.addMenuItem(this._sessionSubMenu);
|
||||
}
|
||||
|
@@ -647,14 +647,10 @@ var UnlockDialog = GObject.registerClass({
|
||||
const themeContext = St.ThemeContext.get_for_stage(global.stage);
|
||||
|
||||
for (const widget of this._backgroundGroup) {
|
||||
const effect = widget.get_effect('blur');
|
||||
|
||||
if (effect) {
|
||||
effect.set({
|
||||
brightness: BLUR_BRIGHTNESS,
|
||||
sigma: BLUR_SIGMA * themeContext.scale_factor,
|
||||
});
|
||||
}
|
||||
widget.get_effect('blur').set({
|
||||
brightness: BLUR_BRIGHTNESS,
|
||||
sigma: BLUR_SIGMA * themeContext.scale_factor,
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
|
@@ -1,5 +1,5 @@
|
||||
project('gnome-shell', 'c',
|
||||
version: '3.37.91',
|
||||
version: '3.37.3',
|
||||
meson_version: '>= 0.53.0',
|
||||
license: 'GPLv2+'
|
||||
)
|
||||
@@ -25,7 +25,7 @@ gio_req = '>= 2.56.0'
|
||||
gi_req = '>= 1.49.1'
|
||||
gjs_req = '>= 1.65.1'
|
||||
gtk_req = '>= 3.15.0'
|
||||
mutter_req = '>= 3.37.91'
|
||||
mutter_req = '>= 3.37.3'
|
||||
polkit_req = '>= 0.100'
|
||||
schemas_req = '>= 3.33.1'
|
||||
startup_req = '>= 0.11'
|
||||
|
@@ -1,3 +1 @@
|
||||
data/org.gnome.Shell@wayland.service.in
|
||||
data/org.gnome.Shell@x11.service.in
|
||||
subprojects/extensions-tool/src/templates/indicator/extension.js
|
||||
|
3844
po/bn_IN.po
3844
po/bn_IN.po
File diff suppressed because it is too large
Load Diff
296
po/ca.po
296
po/ca.po
@@ -10,7 +10,7 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: HEAD\n"
|
||||
"Report-Msgid-Bugs-To: https://gitlab.gnome.org/GNOME/gnome-shell/issues\n"
|
||||
"POT-Creation-Date: 2020-08-10 23:58+0000\n"
|
||||
"POT-Creation-Date: 2020-07-22 01:49+0000\n"
|
||||
"PO-Revision-Date: 2020-05-15 20:39+0200\n"
|
||||
"Last-Translator: Robert Antoni Buj Gelonch <rbuj@fedoraproject.org>\n"
|
||||
"Language-Team: Catalan <tradgnome@softcatala.org>\n"
|
||||
@@ -182,8 +182,8 @@ msgstr ""
|
||||
msgid ""
|
||||
"Whether to remember password for mounting encrypted or remote filesystems"
|
||||
msgstr ""
|
||||
"Si s'han de recordar les contrasenyes dels punts de muntatge xifrat o els "
|
||||
"sistemes de fitxers remots"
|
||||
"Si s'han de recordar les contrasenyes dels punts de muntatge xifrat o "
|
||||
"els sistemes de fitxers remots"
|
||||
|
||||
#: data/org.gnome.shell.gschema.xml.in:87
|
||||
msgid ""
|
||||
@@ -192,9 +192,9 @@ msgid ""
|
||||
"“Remember Password” checkbox will be present. This key sets the default "
|
||||
"state of the checkbox."
|
||||
msgstr ""
|
||||
"El GNOME Shell us demanarà la contrasenya quan es munti un dispositiu xifrat"
|
||||
" o un sistema de fitxers remot. Si es pot desar la contrasenya per a "
|
||||
"utilitzar-la en el futur, es mostrarà la casella de selecció «Recorda la "
|
||||
"El GNOME Shell us demanarà la contrasenya quan es munti un dispositiu "
|
||||
"xifrat o un sistema de fitxers remot. Si es pot desar la contrasenya per "
|
||||
"a utilitzar-la en el futur, es mostrarà la casella de selecció «Recorda la "
|
||||
"contrasenya». Aquesta clau estableix el valor per defecte d'aquesta casella "
|
||||
"de selecció."
|
||||
|
||||
@@ -454,9 +454,9 @@ msgstr "Visiteu la pàgina d'inici de l'extensió"
|
||||
|
||||
#: js/gdm/authPrompt.js:135 js/ui/audioDeviceSelection.js:57
|
||||
#: js/ui/components/networkAgent.js:110 js/ui/components/polkitAgent.js:139
|
||||
#: js/ui/endSessionDialog.js:438 js/ui/extensionDownloader.js:183
|
||||
#: js/ui/endSessionDialog.js:369 js/ui/extensionDownloader.js:183
|
||||
#: js/ui/shellMountOperation.js:376 js/ui/shellMountOperation.js:386
|
||||
#: js/ui/status/network.js:940 subprojects/extensions-app/js/main.js:149
|
||||
#: js/ui/status/network.js:916 subprojects/extensions-app/js/main.js:149
|
||||
msgid "Cancel"
|
||||
msgstr "Cancel·la"
|
||||
|
||||
@@ -492,7 +492,7 @@ msgstr "(p. ex. l'usuari o %s)"
|
||||
msgid "Username"
|
||||
msgstr "Nom d'usuari"
|
||||
|
||||
#: js/gdm/loginDialog.js:1253
|
||||
#: js/gdm/loginDialog.js:1254
|
||||
msgid "Login Window"
|
||||
msgstr "Finestra d'entrada"
|
||||
|
||||
@@ -510,89 +510,77 @@ msgid "(or swipe finger)"
|
||||
msgstr "(o passeu el dit)"
|
||||
|
||||
#. Translators: The name of the power-off action in search
|
||||
#: js/misc/systemActions.js:91
|
||||
#: js/misc/systemActions.js:93
|
||||
msgctxt "search-result"
|
||||
msgid "Power Off"
|
||||
msgstr "Apaga"
|
||||
|
||||
#. Translators: A list of keywords that match the power-off action, separated
|
||||
#. by semicolons
|
||||
#: js/misc/systemActions.js:94
|
||||
msgid "power off;shutdown;halt;stop"
|
||||
#: js/misc/systemActions.js:96
|
||||
msgid "power off;shutdown;reboot;restart;halt;stop"
|
||||
msgstr "apaga;atura;reinicia"
|
||||
|
||||
#. Translators: The name of the restart action in search
|
||||
#: js/misc/systemActions.js:99
|
||||
msgctxt "search-result"
|
||||
msgid "Restart"
|
||||
msgstr "Reinicia"
|
||||
|
||||
#. Translators: A list of keywords that match the restart action, separated by
|
||||
#. semicolons
|
||||
#: js/misc/systemActions.js:102
|
||||
msgid "reboot;restart;"
|
||||
msgstr "reinicia;reinici;"
|
||||
|
||||
#. Translators: The name of the lock screen action in search
|
||||
#: js/misc/systemActions.js:107
|
||||
#: js/misc/systemActions.js:101
|
||||
msgctxt "search-result"
|
||||
msgid "Lock Screen"
|
||||
msgstr "Bloqueja la pantalla"
|
||||
|
||||
#. Translators: A list of keywords that match the lock screen action,
|
||||
#. separated by semicolons
|
||||
#: js/misc/systemActions.js:110
|
||||
#: js/misc/systemActions.js:104
|
||||
msgid "lock screen"
|
||||
msgstr "bloca la pantalla"
|
||||
|
||||
#. Translators: The name of the logout action in search
|
||||
#: js/misc/systemActions.js:115
|
||||
#: js/misc/systemActions.js:109
|
||||
msgctxt "search-result"
|
||||
msgid "Log Out"
|
||||
msgstr "Surt"
|
||||
|
||||
#. Translators: A list of keywords that match the logout action, separated by
|
||||
#. semicolons
|
||||
#: js/misc/systemActions.js:118
|
||||
#: js/misc/systemActions.js:112
|
||||
msgid "logout;log out;sign off"
|
||||
msgstr "desconnecta;sortida;surt"
|
||||
|
||||
#. Translators: The name of the suspend action in search
|
||||
#: js/misc/systemActions.js:123
|
||||
#: js/misc/systemActions.js:117
|
||||
msgctxt "search-result"
|
||||
msgid "Suspend"
|
||||
msgstr "Atura temporalment"
|
||||
|
||||
#. Translators: A list of keywords that match the suspend action, separated by
|
||||
#. semicolons
|
||||
#: js/misc/systemActions.js:126
|
||||
#: js/misc/systemActions.js:120
|
||||
msgid "suspend;sleep"
|
||||
msgstr "atura temporalment;dorm"
|
||||
|
||||
#. Translators: The name of the switch user action in search
|
||||
#: js/misc/systemActions.js:131
|
||||
#: js/misc/systemActions.js:125
|
||||
msgctxt "search-result"
|
||||
msgid "Switch User"
|
||||
msgstr "Canvia d'usuari"
|
||||
|
||||
#. Translators: A list of keywords that match the switch user action,
|
||||
#. separated by semicolons
|
||||
#: js/misc/systemActions.js:134
|
||||
#: js/misc/systemActions.js:128
|
||||
msgid "switch user"
|
||||
msgstr "canvia d'usuari"
|
||||
|
||||
#. Translators: A list of keywords that match the lock orientation action,
|
||||
#. separated by semicolons
|
||||
#: js/misc/systemActions.js:141
|
||||
#: js/misc/systemActions.js:135
|
||||
msgid "lock orientation;unlock orientation;screen;rotation"
|
||||
msgstr "bloqueja l'orientació;desbloqueja l'orientació;pantalla;rotació"
|
||||
|
||||
#: js/misc/systemActions.js:266
|
||||
#: js/misc/systemActions.js:255
|
||||
msgctxt "search-result"
|
||||
msgid "Unlock Screen Rotation"
|
||||
msgstr "Desbloqueja la rotació de la pantalla"
|
||||
|
||||
#: js/misc/systemActions.js:267
|
||||
#: js/misc/systemActions.js:256
|
||||
msgctxt "search-result"
|
||||
msgid "Lock Screen Rotation"
|
||||
msgstr "Bloqueja la rotació de la pantalla"
|
||||
@@ -763,31 +751,31 @@ msgid "Unnamed Folder"
|
||||
msgstr "Carpeta sense nom"
|
||||
|
||||
#. Translators: This is the heading of a list of open windows
|
||||
#: js/ui/appDisplay.js:2762 js/ui/panel.js:75
|
||||
#: js/ui/appDisplay.js:2767 js/ui/panel.js:75
|
||||
msgid "Open Windows"
|
||||
msgstr "Obre finestres"
|
||||
|
||||
#: js/ui/appDisplay.js:2781 js/ui/panel.js:82
|
||||
#: js/ui/appDisplay.js:2786 js/ui/panel.js:82
|
||||
msgid "New Window"
|
||||
msgstr "Finestra nova"
|
||||
|
||||
#: js/ui/appDisplay.js:2797
|
||||
#: js/ui/appDisplay.js:2802
|
||||
msgid "Launch using Integrated Graphics Card"
|
||||
msgstr "Inicia usant una targeta gràfica integrada"
|
||||
|
||||
#: js/ui/appDisplay.js:2798
|
||||
#: js/ui/appDisplay.js:2803
|
||||
msgid "Launch using Discrete Graphics Card"
|
||||
msgstr "Inicia usant una targeta gràfica discreta"
|
||||
|
||||
#: js/ui/appDisplay.js:2826 js/ui/dash.js:239
|
||||
#: js/ui/appDisplay.js:2831 js/ui/dash.js:239
|
||||
msgid "Remove from Favorites"
|
||||
msgstr "Suprimeix dels preferits"
|
||||
|
||||
#: js/ui/appDisplay.js:2832
|
||||
#: js/ui/appDisplay.js:2837
|
||||
msgid "Add to Favorites"
|
||||
msgstr "Afegeix als preferits"
|
||||
|
||||
#: js/ui/appDisplay.js:2842 js/ui/panel.js:93
|
||||
#: js/ui/appDisplay.js:2847 js/ui/panel.js:93
|
||||
msgid "Show Details"
|
||||
msgstr "Mostra els detalls"
|
||||
|
||||
@@ -986,8 +974,8 @@ msgid ""
|
||||
msgstr ""
|
||||
"També us podeu connectar prement el botó «WPS» del vostre encaminador."
|
||||
|
||||
#: js/ui/components/networkAgent.js:104 js/ui/status/network.js:252
|
||||
#: js/ui/status/network.js:343 js/ui/status/network.js:943
|
||||
#: js/ui/components/networkAgent.js:104 js/ui/status/network.js:227
|
||||
#: js/ui/status/network.js:318 js/ui/status/network.js:919
|
||||
msgid "Connect"
|
||||
msgstr "Connecta"
|
||||
|
||||
@@ -1052,7 +1040,7 @@ msgstr "PIN"
|
||||
msgid "A password is required to connect to “%s”."
|
||||
msgstr "Cal introduir una contrasenya per a connectar-vos a «%s»."
|
||||
|
||||
#: js/ui/components/networkAgent.js:669 js/ui/status/network.js:1718
|
||||
#: js/ui/components/networkAgent.js:669 js/ui/status/network.js:1694
|
||||
msgid "Network Manager"
|
||||
msgstr "Gestor de connexions de xarxa"
|
||||
|
||||
@@ -1178,91 +1166,86 @@ msgstr "El temps"
|
||||
msgid "Select weather location…"
|
||||
msgstr "Trieu una ubicació pel temps…"
|
||||
|
||||
#: js/ui/endSessionDialog.js:39
|
||||
#: js/ui/endSessionDialog.js:37
|
||||
#, javascript-format
|
||||
msgctxt "title"
|
||||
msgid "Log Out %s"
|
||||
msgstr "Sortida %s"
|
||||
|
||||
#: js/ui/endSessionDialog.js:40
|
||||
#: js/ui/endSessionDialog.js:38
|
||||
msgctxt "title"
|
||||
msgid "Log Out"
|
||||
msgstr "Sortida"
|
||||
|
||||
#: js/ui/endSessionDialog.js:43
|
||||
#: js/ui/endSessionDialog.js:40
|
||||
#, javascript-format
|
||||
msgid "%s will be logged out automatically in %d second."
|
||||
msgid_plural "%s will be logged out automatically in %d seconds."
|
||||
msgstr[0] "%s sortirà de la sessió automàticament d'aquí %d segon."
|
||||
msgstr[1] "%s sortirà de la sessió automàticament d'aquí %d segons."
|
||||
|
||||
#: js/ui/endSessionDialog.js:49
|
||||
#: js/ui/endSessionDialog.js:45
|
||||
#, javascript-format
|
||||
msgid "You will be logged out automatically in %d second."
|
||||
msgid_plural "You will be logged out automatically in %d seconds."
|
||||
msgstr[0] "Sortireu automàticament d'aquí %d segon."
|
||||
msgstr[1] "Sortireu automàticament d'aquí %d segons."
|
||||
|
||||
#: js/ui/endSessionDialog.js:56
|
||||
#: js/ui/endSessionDialog.js:51
|
||||
msgctxt "button"
|
||||
msgid "Log Out"
|
||||
msgstr "Surt"
|
||||
|
||||
#: js/ui/endSessionDialog.js:62
|
||||
#: js/ui/endSessionDialog.js:56
|
||||
msgctxt "title"
|
||||
msgid "Power Off"
|
||||
msgstr "Apagada"
|
||||
|
||||
#: js/ui/endSessionDialog.js:63
|
||||
#: js/ui/endSessionDialog.js:57
|
||||
msgctxt "title"
|
||||
msgid "Install Updates & Power Off"
|
||||
msgstr "Instal·la les actualitzacions i apaga"
|
||||
|
||||
#: js/ui/endSessionDialog.js:66
|
||||
#: js/ui/endSessionDialog.js:59
|
||||
#, javascript-format
|
||||
msgid "The system will power off automatically in %d second."
|
||||
msgid_plural "The system will power off automatically in %d seconds."
|
||||
msgstr[0] "S'apagarà l'ordinador automàticament d'aquí %d segon."
|
||||
msgstr[1] "S'apagarà l'ordinador automàticament d'aquí %d segons."
|
||||
|
||||
#: js/ui/endSessionDialog.js:70 js/ui/endSessionDialog.js:89
|
||||
#: js/ui/endSessionDialog.js:63
|
||||
msgctxt "checkbox"
|
||||
msgid "Install pending software updates"
|
||||
msgstr "Instal·la les actualitzacions pendents"
|
||||
|
||||
#: js/ui/endSessionDialog.js:74
|
||||
#: js/ui/endSessionDialog.js:66 js/ui/endSessionDialog.js:82
|
||||
msgctxt "button"
|
||||
msgid "Restart"
|
||||
msgstr "Reinicia"
|
||||
|
||||
#: js/ui/endSessionDialog.js:68
|
||||
msgctxt "button"
|
||||
msgid "Power Off"
|
||||
msgstr "Apaga"
|
||||
|
||||
#: js/ui/endSessionDialog.js:81
|
||||
#: js/ui/endSessionDialog.js:74
|
||||
msgctxt "title"
|
||||
msgid "Restart"
|
||||
msgstr "Reinici"
|
||||
|
||||
#: js/ui/endSessionDialog.js:82
|
||||
msgctxt "title"
|
||||
msgid "Install Updates & Restart"
|
||||
msgstr "Instal·la les actualitzacions i reinicia"
|
||||
|
||||
#: js/ui/endSessionDialog.js:85
|
||||
#: js/ui/endSessionDialog.js:76
|
||||
#, javascript-format
|
||||
msgid "The system will restart automatically in %d second."
|
||||
msgid_plural "The system will restart automatically in %d seconds."
|
||||
msgstr[0] "Es reiniciarà l'ordinador automàticament d'aquí %d segon."
|
||||
msgstr[1] "Es reiniciarà l'ordinador automàticament d'aquí %d segons."
|
||||
|
||||
#: js/ui/endSessionDialog.js:93
|
||||
msgctxt "button"
|
||||
msgid "Restart"
|
||||
msgstr "Reinicia"
|
||||
|
||||
#: js/ui/endSessionDialog.js:101
|
||||
#: js/ui/endSessionDialog.js:89
|
||||
msgctxt "title"
|
||||
msgid "Restart & Install Updates"
|
||||
msgstr "Reinicia i instal·la les actualitzacions"
|
||||
|
||||
#: js/ui/endSessionDialog.js:104
|
||||
#: js/ui/endSessionDialog.js:91
|
||||
#, javascript-format
|
||||
msgid ""
|
||||
"The system will automatically restart and install updates in %d second."
|
||||
@@ -1275,22 +1258,22 @@ msgstr[1] ""
|
||||
"Es reiniciarà l'ordinador automàticament i s'instal·laran les "
|
||||
"actualitzacions d'aquí %d segons."
|
||||
|
||||
#: js/ui/endSessionDialog.js:111 js/ui/endSessionDialog.js:132
|
||||
#: js/ui/endSessionDialog.js:97 js/ui/endSessionDialog.js:116
|
||||
msgctxt "button"
|
||||
msgid "Restart & Install"
|
||||
msgstr "Reinicia i instal·la"
|
||||
|
||||
#: js/ui/endSessionDialog.js:113
|
||||
#: js/ui/endSessionDialog.js:98
|
||||
msgctxt "button"
|
||||
msgid "Install & Power Off"
|
||||
msgstr "Instal·la i apaga"
|
||||
|
||||
#: js/ui/endSessionDialog.js:114
|
||||
#: js/ui/endSessionDialog.js:99
|
||||
msgctxt "checkbox"
|
||||
msgid "Power off after updates are installed"
|
||||
msgstr "Apaga després d'instal·lar les actualitzacions"
|
||||
|
||||
#: js/ui/endSessionDialog.js:121
|
||||
#: js/ui/endSessionDialog.js:106
|
||||
msgctxt "title"
|
||||
msgid "Restart & Install Upgrade"
|
||||
msgstr "Reinicia i instal·la l'actualització"
|
||||
@@ -1298,7 +1281,7 @@ msgstr "Reinicia i instal·la l'actualització"
|
||||
#. Translators: This is the text displayed for system upgrades in the
|
||||
#. shut down dialog. First %s gets replaced with the distro name and
|
||||
#. second %s with the distro version to upgrade to
|
||||
#: js/ui/endSessionDialog.js:126
|
||||
#: js/ui/endSessionDialog.js:111
|
||||
#, javascript-format
|
||||
msgid ""
|
||||
"%s %s will be installed after restart. Upgrade installation can take a long "
|
||||
@@ -1308,35 +1291,30 @@ msgstr ""
|
||||
"instal·lació pot trigar força temps. Assegureu-vos que heu fet còpia de "
|
||||
"seguretat i que l'ordinador està connectat al corrent."
|
||||
|
||||
#: js/ui/endSessionDialog.js:284
|
||||
msgid "Low battery power: please plug in before installing updates."
|
||||
#: js/ui/endSessionDialog.js:259
|
||||
msgid "Running on battery power: Please plug in before installing updates."
|
||||
msgstr ""
|
||||
"Hi ha poca bateria. Connecteu l'ordinador a la xarxa elèctrica abans "
|
||||
"d'instal·lar les actualitzacions."
|
||||
"S'està utilitzant la bateria. Connecteu l'ordinador a la xarxa elèctrica "
|
||||
"abans d'instal·lar les actualitzacions."
|
||||
|
||||
#: js/ui/endSessionDialog.js:293
|
||||
#: js/ui/endSessionDialog.js:268
|
||||
msgid "Some applications are busy or have unsaved work"
|
||||
msgstr ""
|
||||
"Hi ha algunes aplicacions que estan ocupades o que tenen documents sense "
|
||||
"desar"
|
||||
|
||||
#: js/ui/endSessionDialog.js:298
|
||||
#: js/ui/endSessionDialog.js:273
|
||||
msgid "Other users are logged in"
|
||||
msgstr "Altres usuaris tenen la sessió oberta"
|
||||
|
||||
#: js/ui/endSessionDialog.js:467
|
||||
msgctxt "button"
|
||||
msgid "Boot Options"
|
||||
msgstr "Opcions d'arrencada"
|
||||
|
||||
#. Translators: Remote here refers to a remote session, like a ssh login
|
||||
#: js/ui/endSessionDialog.js:685
|
||||
#: js/ui/endSessionDialog.js:583
|
||||
#, javascript-format
|
||||
msgid "%s (remote)"
|
||||
msgstr "%s (remot)"
|
||||
|
||||
#. Translators: Console here refers to a tty like a VT console
|
||||
#: js/ui/endSessionDialog.js:688
|
||||
#: js/ui/endSessionDialog.js:586
|
||||
#, javascript-format
|
||||
msgid "%s (console)"
|
||||
msgstr "%s (consola)"
|
||||
@@ -1441,15 +1419,15 @@ msgid "Leave On"
|
||||
msgstr "Deixa-ho actiu"
|
||||
|
||||
#: js/ui/kbdA11yDialog.js:55 js/ui/status/bluetooth.js:156
|
||||
#: js/ui/status/network.js:1315
|
||||
#: js/ui/status/network.js:1291
|
||||
msgid "Turn On"
|
||||
msgstr "Activa"
|
||||
|
||||
#: js/ui/kbdA11yDialog.js:63 js/ui/status/bluetooth.js:156
|
||||
#: js/ui/status/network.js:160 js/ui/status/network.js:344
|
||||
#: js/ui/status/network.js:1315 js/ui/status/network.js:1427
|
||||
#: js/ui/status/network.js:135 js/ui/status/network.js:319
|
||||
#: js/ui/status/network.js:1291 js/ui/status/network.js:1403
|
||||
#: js/ui/status/nightLight.js:41 js/ui/status/rfkill.js:81
|
||||
#: js/ui/status/rfkill.js:110
|
||||
#: js/ui/status/rfkill.js:108
|
||||
msgid "Turn Off"
|
||||
msgstr "Desactiva"
|
||||
|
||||
@@ -1510,11 +1488,11 @@ msgstr "Mostra el codi font"
|
||||
msgid "Web Page"
|
||||
msgstr "Pàgina web"
|
||||
|
||||
#: js/ui/main.js:294
|
||||
#: js/ui/main.js:297
|
||||
msgid "Logged in as a privileged user"
|
||||
msgstr "Sessió iniciada com a usuari privilegiat"
|
||||
|
||||
#: js/ui/main.js:295
|
||||
#: js/ui/main.js:298
|
||||
msgid ""
|
||||
"Running a session as a privileged user should be avoided for security "
|
||||
"reasons. If possible, you should log in as a normal user."
|
||||
@@ -1522,11 +1500,11 @@ msgstr ""
|
||||
"Cal evitar iniciar sessions com a usuari privilegiat per raons de seguretat."
|
||||
" Si és possible, entreu com a un usuari normal."
|
||||
|
||||
#: js/ui/main.js:334
|
||||
#: js/ui/main.js:337
|
||||
msgid "Screen Lock disabled"
|
||||
msgstr "La pantalla de bloqueig està inhabilitada"
|
||||
|
||||
#: js/ui/main.js:335
|
||||
#: js/ui/main.js:338
|
||||
msgid "Screen Locking requires the GNOME display manager."
|
||||
msgstr "El bloqueig de pantalla requereix el gestor de pantalla del GNOME."
|
||||
|
||||
@@ -1619,7 +1597,7 @@ msgctxt "System menu in the top bar"
|
||||
msgid "System"
|
||||
msgstr "Sistema"
|
||||
|
||||
#: js/ui/panel.js:825
|
||||
#: js/ui/panel.js:827
|
||||
msgid "Top Bar"
|
||||
msgstr "Barra superior"
|
||||
|
||||
@@ -1794,7 +1772,7 @@ msgstr "Text gran"
|
||||
msgid "Bluetooth"
|
||||
msgstr "Bluetooth"
|
||||
|
||||
#: js/ui/status/bluetooth.js:49 js/ui/status/network.js:619
|
||||
#: js/ui/status/bluetooth.js:49 js/ui/status/network.js:595
|
||||
msgid "Bluetooth Settings"
|
||||
msgstr "Paràmetres del Bluetooth"
|
||||
|
||||
@@ -1878,19 +1856,19 @@ msgstr ""
|
||||
"Podeu canviar la configuració de l'accés a la ubicació sempre que vulgueu "
|
||||
"des de la configuració de la privacitat."
|
||||
|
||||
#: js/ui/status/network.js:71
|
||||
#: js/ui/status/network.js:70
|
||||
msgid "<unknown>"
|
||||
msgstr "<desconegut>"
|
||||
|
||||
#. Translators: %s is a network identifier
|
||||
#: js/ui/status/network.js:449 js/ui/status/network.js:1344
|
||||
#: js/ui/status/network.js:424 js/ui/status/network.js:1320
|
||||
#, javascript-format
|
||||
msgid "%s Off"
|
||||
msgstr "%s apagat"
|
||||
|
||||
#. Translators: %s is a network identifier
|
||||
# N.T.: p. ex. Connectat amb fil
|
||||
#: js/ui/status/network.js:452
|
||||
#: js/ui/status/network.js:427
|
||||
#, javascript-format
|
||||
msgid "%s Connected"
|
||||
msgstr "Connectat %s"
|
||||
@@ -1899,26 +1877,26 @@ msgstr "Connectat %s"
|
||||
#. are not
|
||||
#. under NetworkManager's control (and thus cannot be used in the menu);
|
||||
#. %s is a network identifier
|
||||
#: js/ui/status/network.js:457
|
||||
#: js/ui/status/network.js:432
|
||||
#, javascript-format
|
||||
msgid "%s Unmanaged"
|
||||
msgstr "%s no gestionat"
|
||||
|
||||
#. Translators: %s is a network identifier
|
||||
#: js/ui/status/network.js:460
|
||||
#: js/ui/status/network.js:435
|
||||
#, javascript-format
|
||||
msgid "%s Disconnecting"
|
||||
msgstr "%s s'està desconnectant"
|
||||
|
||||
#. Translators: %s is a network identifier
|
||||
#: js/ui/status/network.js:467 js/ui/status/network.js:1336
|
||||
#: js/ui/status/network.js:442 js/ui/status/network.js:1312
|
||||
#, javascript-format
|
||||
msgid "%s Connecting"
|
||||
msgstr "%s s'està connectant"
|
||||
|
||||
#. Translators: this is for network connections that require some kind of key
|
||||
#. or password; %s is a network identifier
|
||||
#: js/ui/status/network.js:470
|
||||
#: js/ui/status/network.js:445
|
||||
#, javascript-format
|
||||
msgid "%s Requires Authentication"
|
||||
msgstr "%s requereix autenticació"
|
||||
@@ -1926,7 +1904,7 @@ msgstr "%s requereix autenticació"
|
||||
#. Translators: this is for devices that require some kind of firmware or
|
||||
#. kernel
|
||||
#. module, which is missing; %s is a network identifier
|
||||
#: js/ui/status/network.js:478
|
||||
#: js/ui/status/network.js:453
|
||||
#, javascript-format
|
||||
msgid "Firmware Missing For %s"
|
||||
msgstr "Manca el microprogramari per %s"
|
||||
@@ -1934,159 +1912,159 @@ msgstr "Manca el microprogramari per %s"
|
||||
#. Translators: this is for a network device that cannot be activated (for
|
||||
#. example it
|
||||
#. is disabled by rfkill, or it has no coverage; %s is a network identifier
|
||||
#: js/ui/status/network.js:482
|
||||
#: js/ui/status/network.js:457
|
||||
#, javascript-format
|
||||
msgid "%s Unavailable"
|
||||
msgstr "%s no disponible"
|
||||
|
||||
#. Translators: %s is a network identifier
|
||||
#: js/ui/status/network.js:485
|
||||
#: js/ui/status/network.js:460
|
||||
#, javascript-format
|
||||
msgid "%s Connection Failed"
|
||||
msgstr "%s ha fallat la connexió"
|
||||
|
||||
#: js/ui/status/network.js:497
|
||||
#: js/ui/status/network.js:472
|
||||
msgid "Wired Settings"
|
||||
msgstr "Paràmetres de la xarxa amb fil"
|
||||
|
||||
#: js/ui/status/network.js:540
|
||||
#: js/ui/status/network.js:515
|
||||
msgid "Mobile Broadband Settings"
|
||||
msgstr "Configuració de la xarxa de banda ampla mòbil"
|
||||
|
||||
#. Translators: %s is a network identifier
|
||||
#: js/ui/status/network.js:586 js/ui/status/network.js:1341
|
||||
#: js/ui/status/network.js:562 js/ui/status/network.js:1317
|
||||
#, javascript-format
|
||||
msgid "%s Hardware Disabled"
|
||||
msgstr "%s maquinari inhabilitat"
|
||||
|
||||
#. Translators: this is for a network device that cannot be activated
|
||||
#. because it's disabled by rfkill (airplane mode); %s is a network identifier
|
||||
#: js/ui/status/network.js:590
|
||||
#: js/ui/status/network.js:566
|
||||
#, javascript-format
|
||||
msgid "%s Disabled"
|
||||
msgstr "%s Inhabilitat"
|
||||
|
||||
#: js/ui/status/network.js:631
|
||||
#: js/ui/status/network.js:607
|
||||
msgid "Connect to Internet"
|
||||
msgstr "Connecta a Internet"
|
||||
|
||||
#: js/ui/status/network.js:835
|
||||
#: js/ui/status/network.js:811
|
||||
msgid "Airplane Mode is On"
|
||||
msgstr "El mode d'avió és actiu"
|
||||
|
||||
#: js/ui/status/network.js:836
|
||||
#: js/ui/status/network.js:812
|
||||
msgid "Wi-Fi is disabled when airplane mode is on."
|
||||
msgstr "Quan el mode d'avió és actiu es desactiva la xarxa sense fil."
|
||||
|
||||
#: js/ui/status/network.js:837
|
||||
#: js/ui/status/network.js:813
|
||||
msgid "Turn Off Airplane Mode"
|
||||
msgstr "Desactiva el mode d'avió"
|
||||
|
||||
#: js/ui/status/network.js:846
|
||||
#: js/ui/status/network.js:822
|
||||
msgid "Wi-Fi is Off"
|
||||
msgstr "La xarxa sense fil està desactivada"
|
||||
|
||||
#: js/ui/status/network.js:847
|
||||
#: js/ui/status/network.js:823
|
||||
msgid "Wi-Fi needs to be turned on in order to connect to a network."
|
||||
msgstr ""
|
||||
"S'ha d'activar la xarxa sense fil per a poder-se connectar a una xarxa."
|
||||
|
||||
#: js/ui/status/network.js:848
|
||||
#: js/ui/status/network.js:824
|
||||
msgid "Turn On Wi-Fi"
|
||||
msgstr "Activa la xarxa sense fil"
|
||||
|
||||
#: js/ui/status/network.js:873
|
||||
#: js/ui/status/network.js:849
|
||||
msgid "Wi-Fi Networks"
|
||||
msgstr "Xarxes sense fil"
|
||||
|
||||
#: js/ui/status/network.js:875
|
||||
#: js/ui/status/network.js:851
|
||||
msgid "Select a network"
|
||||
msgstr "Trieu una xarxa"
|
||||
|
||||
#: js/ui/status/network.js:907
|
||||
#: js/ui/status/network.js:883
|
||||
msgid "No Networks"
|
||||
msgstr "Cap xarxa"
|
||||
|
||||
#: js/ui/status/network.js:928 js/ui/status/rfkill.js:108
|
||||
#: js/ui/status/network.js:904 js/ui/status/rfkill.js:106
|
||||
msgid "Use hardware switch to turn off"
|
||||
msgstr "Utilitza l'interruptor de maquinari per a desactivar-la"
|
||||
|
||||
#: js/ui/status/network.js:1205
|
||||
#: js/ui/status/network.js:1181
|
||||
msgid "Select Network"
|
||||
msgstr "Trieu una xarxa"
|
||||
|
||||
#: js/ui/status/network.js:1211
|
||||
#: js/ui/status/network.js:1187
|
||||
msgid "Wi-Fi Settings"
|
||||
msgstr "Paràmetres de la xarxa sense fil"
|
||||
|
||||
#. Translators: %s is a network identifier
|
||||
#: js/ui/status/network.js:1332
|
||||
#: js/ui/status/network.js:1308
|
||||
#, javascript-format
|
||||
msgid "%s Hotspot Active"
|
||||
msgstr "Hostpot %s actiu"
|
||||
|
||||
#. Translators: %s is a network identifier
|
||||
#: js/ui/status/network.js:1347
|
||||
#: js/ui/status/network.js:1323
|
||||
#, javascript-format
|
||||
msgid "%s Not Connected"
|
||||
msgstr "%s no està connectat"
|
||||
|
||||
#: js/ui/status/network.js:1444
|
||||
#: js/ui/status/network.js:1420
|
||||
msgid "connecting…"
|
||||
msgstr "s'està connectant..."
|
||||
|
||||
#. Translators: this is for network connections that require some kind of key
|
||||
#. or password
|
||||
#: js/ui/status/network.js:1447
|
||||
#: js/ui/status/network.js:1423
|
||||
msgid "authentication required"
|
||||
msgstr "cal autenticació"
|
||||
|
||||
#: js/ui/status/network.js:1449
|
||||
#: js/ui/status/network.js:1425
|
||||
msgid "connection failed"
|
||||
msgstr "ha fallat la connexió"
|
||||
|
||||
#: js/ui/status/network.js:1500
|
||||
#: js/ui/status/network.js:1476
|
||||
msgid "VPN Settings"
|
||||
msgstr "Paràmetres de la VPN"
|
||||
|
||||
#: js/ui/status/network.js:1517
|
||||
#: js/ui/status/network.js:1493
|
||||
msgid "VPN"
|
||||
msgstr "VPN"
|
||||
|
||||
#: js/ui/status/network.js:1527
|
||||
#: js/ui/status/network.js:1503
|
||||
msgid "VPN Off"
|
||||
msgstr "VPN apagada"
|
||||
|
||||
#: js/ui/status/network.js:1588 js/ui/status/rfkill.js:84
|
||||
#: js/ui/status/network.js:1564 js/ui/status/rfkill.js:84
|
||||
msgid "Network Settings"
|
||||
msgstr "Paràmetres de xarxa"
|
||||
|
||||
#: js/ui/status/network.js:1617
|
||||
#: js/ui/status/network.js:1593
|
||||
#, javascript-format
|
||||
msgid "%s Wired Connection"
|
||||
msgid_plural "%s Wired Connections"
|
||||
msgstr[0] "%s connexió amb fil"
|
||||
msgstr[1] "%s connexions amb fil"
|
||||
|
||||
#: js/ui/status/network.js:1621
|
||||
#: js/ui/status/network.js:1597
|
||||
#, javascript-format
|
||||
msgid "%s Wi-Fi Connection"
|
||||
msgid_plural "%s Wi-Fi Connections"
|
||||
msgstr[0] "%s connexió Wifi"
|
||||
msgstr[1] "%s connexions Wifi"
|
||||
|
||||
#: js/ui/status/network.js:1625
|
||||
#: js/ui/status/network.js:1601
|
||||
#, javascript-format
|
||||
msgid "%s Modem Connection"
|
||||
msgid_plural "%s Modem Connections"
|
||||
msgstr[0] "%s connexió mòdem"
|
||||
msgstr[1] "%s connexions mòdem"
|
||||
|
||||
#: js/ui/status/network.js:1759
|
||||
#: js/ui/status/network.js:1735
|
||||
msgid "Connection failed"
|
||||
msgstr "Ha fallat la connexió"
|
||||
|
||||
#: js/ui/status/network.js:1760
|
||||
#: js/ui/status/network.js:1736
|
||||
msgid "Activation of network connection failed"
|
||||
msgstr "Ha fallat l'activació de la connexió de xarxa"
|
||||
|
||||
@@ -2141,11 +2119,11 @@ msgstr "%d∶%02d per a completar la càrrega (%d %%)"
|
||||
msgid "%d %%"
|
||||
msgstr "%d %%"
|
||||
|
||||
#: js/ui/status/remoteAccess.js:45
|
||||
#: js/ui/status/remoteAccess.js:43
|
||||
msgid "Screen is Being Shared"
|
||||
msgstr "Es comparteix la pantalla"
|
||||
|
||||
#: js/ui/status/remoteAccess.js:47
|
||||
#: js/ui/status/remoteAccess.js:45
|
||||
msgid "Turn off"
|
||||
msgstr "Desactiva"
|
||||
|
||||
@@ -2156,34 +2134,30 @@ msgstr "Desactiva"
|
||||
msgid "Airplane Mode On"
|
||||
msgstr "El mode d'avió és actiu"
|
||||
|
||||
#: js/ui/status/system.js:104
|
||||
#: js/ui/status/system.js:102
|
||||
msgid "Lock"
|
||||
msgstr "Bloqueja"
|
||||
|
||||
#: js/ui/status/system.js:116
|
||||
#: js/ui/status/system.js:115
|
||||
msgid "Power Off / Log Out"
|
||||
msgstr "Apaga / Surt"
|
||||
|
||||
#: js/ui/status/system.js:119
|
||||
msgid "Suspend"
|
||||
msgstr "Atura temporalment"
|
||||
|
||||
#: js/ui/status/system.js:130
|
||||
msgid "Restart…"
|
||||
msgstr "S'està reiniciant…"
|
||||
|
||||
#: js/ui/status/system.js:141
|
||||
msgid "Power Off…"
|
||||
msgstr "Atura…"
|
||||
|
||||
#: js/ui/status/system.js:154
|
||||
#: js/ui/status/system.js:118
|
||||
msgid "Log Out"
|
||||
msgstr "Surt"
|
||||
|
||||
#: js/ui/status/system.js:165
|
||||
#: js/ui/status/system.js:130
|
||||
msgid "Switch User…"
|
||||
msgstr "Canvia d'usuari…"
|
||||
|
||||
#: js/ui/status/system.js:144
|
||||
msgid "Suspend"
|
||||
msgstr "Atura temporalment"
|
||||
|
||||
#: js/ui/status/system.js:156
|
||||
msgid "Power Off…"
|
||||
msgstr "Atura…"
|
||||
|
||||
#: js/ui/status/thunderbolt.js:263
|
||||
msgid "Thunderbolt"
|
||||
msgstr "Thunderbolt"
|
||||
@@ -2288,21 +2262,21 @@ msgid "“%s” is ready"
|
||||
msgstr "«%s» ja està a punt"
|
||||
|
||||
#. Translators: This string should be shorter than 30 characters
|
||||
#: js/ui/windowManager.js:60
|
||||
#: js/ui/windowManager.js:55
|
||||
msgid "Keep these display settings?"
|
||||
msgstr "Mantenir aquesta configuració de la pantalla?"
|
||||
|
||||
#. Translators: this and the following message should be limited in length,
|
||||
#. to avoid ellipsizing the labels.
|
||||
#: js/ui/windowManager.js:69
|
||||
#: js/ui/windowManager.js:64
|
||||
msgid "Revert Settings"
|
||||
msgstr "Descarta els canvis"
|
||||
|
||||
#: js/ui/windowManager.js:72
|
||||
#: js/ui/windowManager.js:67
|
||||
msgid "Keep Changes"
|
||||
msgstr "Mantén els canvis"
|
||||
|
||||
#: js/ui/windowManager.js:91
|
||||
#: js/ui/windowManager.js:86
|
||||
#, javascript-format
|
||||
msgid "Settings changes will revert in %d second"
|
||||
msgid_plural "Settings changes will revert in %d seconds"
|
||||
@@ -2311,7 +2285,7 @@ msgstr[1] "Es descartaran els canvis d'aquí %d segons"
|
||||
|
||||
#. Translators: This represents the size of a window. The first number is
|
||||
#. * the width of the window and the second is the height.
|
||||
#: js/ui/windowManager.js:551
|
||||
#: js/ui/windowManager.js:546
|
||||
#, javascript-format
|
||||
msgid "%d × %d"
|
||||
msgstr "%d × %d"
|
||||
|
362
po/es.po
362
po/es.po
@@ -9,8 +9,8 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: gnome-shell.master\n"
|
||||
"Report-Msgid-Bugs-To: https://gitlab.gnome.org/GNOME/gnome-shell/issues\n"
|
||||
"POT-Creation-Date: 2020-08-21 17:50+0000\n"
|
||||
"PO-Revision-Date: 2020-08-24 11:52+0200\n"
|
||||
"POT-Creation-Date: 2020-07-27 06:59+0000\n"
|
||||
"PO-Revision-Date: 2020-07-29 09:47+0200\n"
|
||||
"Last-Translator: Daniel Mustieles <daniel.mustieles@gmail.com>\n"
|
||||
"Language-Team: Spanish - Spain <gnome-es-list@gnome.org>\n"
|
||||
"Language: es_ES\n"
|
||||
@@ -444,19 +444,19 @@ msgstr "Página web"
|
||||
msgid "Visit extension homepage"
|
||||
msgstr "Visitar la página web de la extensión"
|
||||
|
||||
#: js/gdm/authPrompt.js:136 js/ui/audioDeviceSelection.js:57
|
||||
#: js/ui/components/networkAgent.js:111 js/ui/components/polkitAgent.js:139
|
||||
#: js/ui/endSessionDialog.js:438 js/ui/extensionDownloader.js:183
|
||||
#: js/gdm/authPrompt.js:135 js/ui/audioDeviceSelection.js:57
|
||||
#: js/ui/components/networkAgent.js:110 js/ui/components/polkitAgent.js:139
|
||||
#: js/ui/endSessionDialog.js:369 js/ui/extensionDownloader.js:183
|
||||
#: js/ui/shellMountOperation.js:376 js/ui/shellMountOperation.js:386
|
||||
#: js/ui/status/network.js:940 subprojects/extensions-app/js/main.js:149
|
||||
#: js/ui/status/network.js:916 subprojects/extensions-app/js/main.js:149
|
||||
msgid "Cancel"
|
||||
msgstr "Cancelar"
|
||||
|
||||
#. Cisco LEAP
|
||||
#: js/gdm/authPrompt.js:238 js/ui/components/networkAgent.js:206
|
||||
#: js/ui/components/networkAgent.js:222 js/ui/components/networkAgent.js:246
|
||||
#: js/ui/components/networkAgent.js:267 js/ui/components/networkAgent.js:287
|
||||
#: js/ui/components/networkAgent.js:297 js/ui/components/polkitAgent.js:277
|
||||
#: js/gdm/authPrompt.js:237 js/ui/components/networkAgent.js:205
|
||||
#: js/ui/components/networkAgent.js:221 js/ui/components/networkAgent.js:245
|
||||
#: js/ui/components/networkAgent.js:266 js/ui/components/networkAgent.js:286
|
||||
#: js/ui/components/networkAgent.js:296 js/ui/components/polkitAgent.js:277
|
||||
#: js/ui/shellMountOperation.js:326
|
||||
msgid "Password"
|
||||
msgstr "Contraseña"
|
||||
@@ -479,12 +479,12 @@ msgstr "(ej., usuario o %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:918 js/ui/components/networkAgent.js:242
|
||||
#: js/ui/components/networkAgent.js:265 js/ui/components/networkAgent.js:283
|
||||
#: js/gdm/loginDialog.js:918 js/ui/components/networkAgent.js:241
|
||||
#: js/ui/components/networkAgent.js:264 js/ui/components/networkAgent.js:282
|
||||
msgid "Username"
|
||||
msgstr "Nombre de usuario"
|
||||
|
||||
#: js/gdm/loginDialog.js:1253
|
||||
#: js/gdm/loginDialog.js:1254
|
||||
msgid "Login Window"
|
||||
msgstr "Ventana de inicio de sesión"
|
||||
|
||||
@@ -502,82 +502,71 @@ msgid "(or swipe finger)"
|
||||
msgstr "(o pase el dedo)"
|
||||
|
||||
#. Translators: The name of the power-off action in search
|
||||
#: js/misc/systemActions.js:91
|
||||
#: js/misc/systemActions.js:93
|
||||
msgctxt "search-result"
|
||||
msgid "Power Off"
|
||||
msgstr "Apagar"
|
||||
|
||||
#. Translators: A list of keywords that match the power-off action, separated by semicolons
|
||||
#: js/misc/systemActions.js:94
|
||||
msgid "power off;shutdown;halt;stop"
|
||||
#: js/misc/systemActions.js:96
|
||||
msgid "power off;shutdown;reboot;restart;halt;stop"
|
||||
msgstr "apagar;apagado;reinicio;reiniciar;detener;parar"
|
||||
|
||||
#. Translators: The name of the restart action in search
|
||||
#: js/misc/systemActions.js:99
|
||||
msgctxt "search-result"
|
||||
msgid "Restart"
|
||||
msgstr "Reiniciar"
|
||||
|
||||
#. Translators: A list of keywords that match the restart action, separated by semicolons
|
||||
#: js/misc/systemActions.js:102
|
||||
msgid "reboot;restart;"
|
||||
msgstr "reiniciar;rebotar;"
|
||||
|
||||
#. Translators: The name of the lock screen action in search
|
||||
#: js/misc/systemActions.js:107
|
||||
#: js/misc/systemActions.js:101
|
||||
msgctxt "search-result"
|
||||
msgid "Lock Screen"
|
||||
msgstr "Bloquear la pantalla"
|
||||
|
||||
#. Translators: A list of keywords that match the lock screen action, separated by semicolons
|
||||
#: js/misc/systemActions.js:110
|
||||
#: js/misc/systemActions.js:104
|
||||
msgid "lock screen"
|
||||
msgstr "bloquear;pantalla"
|
||||
|
||||
#. Translators: The name of the logout action in search
|
||||
#: js/misc/systemActions.js:115
|
||||
#: js/misc/systemActions.js:109
|
||||
msgctxt "search-result"
|
||||
msgid "Log Out"
|
||||
msgstr "Cerrar la sesión"
|
||||
|
||||
#. Translators: A list of keywords that match the logout action, separated by semicolons
|
||||
#: js/misc/systemActions.js:118
|
||||
#: js/misc/systemActions.js:112
|
||||
msgid "logout;log out;sign off"
|
||||
msgstr "cerrar;sesión;salir"
|
||||
|
||||
#. Translators: The name of the suspend action in search
|
||||
#: js/misc/systemActions.js:123
|
||||
#: js/misc/systemActions.js:117
|
||||
msgctxt "search-result"
|
||||
msgid "Suspend"
|
||||
msgstr "Suspender"
|
||||
|
||||
#. Translators: A list of keywords that match the suspend action, separated by semicolons
|
||||
#: js/misc/systemActions.js:126
|
||||
#: js/misc/systemActions.js:120
|
||||
msgid "suspend;sleep"
|
||||
msgstr "suspender;dormir"
|
||||
|
||||
#. Translators: The name of the switch user action in search
|
||||
#: js/misc/systemActions.js:131
|
||||
#: js/misc/systemActions.js:125
|
||||
msgctxt "search-result"
|
||||
msgid "Switch User"
|
||||
msgstr "Cambiar de usuario"
|
||||
|
||||
#. Translators: A list of keywords that match the switch user action, separated by semicolons
|
||||
#: js/misc/systemActions.js:134
|
||||
#: js/misc/systemActions.js:128
|
||||
msgid "switch user"
|
||||
msgstr "cambiar;usuario"
|
||||
|
||||
#. Translators: A list of keywords that match the lock orientation action, separated by semicolons
|
||||
#: js/misc/systemActions.js:141
|
||||
#: js/misc/systemActions.js:135
|
||||
msgid "lock orientation;unlock orientation;screen;rotation"
|
||||
msgstr "bloquear orientación;desbloquear orientación;pantalla;rotación"
|
||||
|
||||
#: js/misc/systemActions.js:266
|
||||
#: js/misc/systemActions.js:255
|
||||
msgctxt "search-result"
|
||||
msgid "Unlock Screen Rotation"
|
||||
msgstr "Desbloquear la rotación de la pantalla"
|
||||
|
||||
#: js/misc/systemActions.js:267
|
||||
#: js/misc/systemActions.js:256
|
||||
msgctxt "search-result"
|
||||
msgid "Lock Screen Rotation"
|
||||
msgstr "Bloquear la rotación de la pantalla"
|
||||
@@ -747,31 +736,31 @@ msgid "Unnamed Folder"
|
||||
msgstr "Carpeta sin nombre"
|
||||
|
||||
#. Translators: This is the heading of a list of open windows
|
||||
#: js/ui/appDisplay.js:2766 js/ui/panel.js:75
|
||||
#: js/ui/appDisplay.js:2767 js/ui/panel.js:75
|
||||
msgid "Open Windows"
|
||||
msgstr "Ventanas abiertas"
|
||||
|
||||
#: js/ui/appDisplay.js:2785 js/ui/panel.js:82
|
||||
#: js/ui/appDisplay.js:2786 js/ui/panel.js:82
|
||||
msgid "New Window"
|
||||
msgstr "Ventana nueva"
|
||||
|
||||
#: js/ui/appDisplay.js:2801
|
||||
#: js/ui/appDisplay.js:2802
|
||||
msgid "Launch using Integrated Graphics Card"
|
||||
msgstr "Lanzar usando la tarjeta gráfica integrada"
|
||||
|
||||
#: js/ui/appDisplay.js:2802
|
||||
#: js/ui/appDisplay.js:2803
|
||||
msgid "Launch using Discrete Graphics Card"
|
||||
msgstr "Lanzar usando la tarjeta gráfica discreta"
|
||||
|
||||
#: js/ui/appDisplay.js:2830 js/ui/dash.js:239
|
||||
#: js/ui/appDisplay.js:2831 js/ui/dash.js:239
|
||||
msgid "Remove from Favorites"
|
||||
msgstr "Quitar de los favoritos"
|
||||
|
||||
#: js/ui/appDisplay.js:2836
|
||||
#: js/ui/appDisplay.js:2837
|
||||
msgid "Add to Favorites"
|
||||
msgstr "Añadir a los favoritos"
|
||||
|
||||
#: js/ui/appDisplay.js:2846 js/ui/panel.js:93
|
||||
#: js/ui/appDisplay.js:2847 js/ui/panel.js:93
|
||||
msgid "Show Details"
|
||||
msgstr "Mostrar detalles"
|
||||
|
||||
@@ -965,39 +954,39 @@ msgstr "La versión de udisks instalada no soporta la configuración PIM"
|
||||
msgid "Open with %s"
|
||||
msgstr "Abrir con %s"
|
||||
|
||||
#: js/ui/components/networkAgent.js:93
|
||||
#: js/ui/components/networkAgent.js:92
|
||||
msgid ""
|
||||
"Alternatively you can connect by pushing the “WPS” button on your router."
|
||||
msgstr ""
|
||||
"Alternativamente puede conectarse pulsando el botón «WPS» de su router."
|
||||
|
||||
#: js/ui/components/networkAgent.js:105 js/ui/status/network.js:252
|
||||
#: js/ui/status/network.js:343 js/ui/status/network.js:943
|
||||
#: js/ui/components/networkAgent.js:104 js/ui/status/network.js:227
|
||||
#: js/ui/status/network.js:318 js/ui/status/network.js:919
|
||||
msgid "Connect"
|
||||
msgstr "Conectar"
|
||||
|
||||
#: js/ui/components/networkAgent.js:212
|
||||
#: js/ui/components/networkAgent.js:211
|
||||
msgid "Key"
|
||||
msgstr "Clave"
|
||||
|
||||
#: js/ui/components/networkAgent.js:250 js/ui/components/networkAgent.js:273
|
||||
#: js/ui/components/networkAgent.js:249 js/ui/components/networkAgent.js:272
|
||||
msgid "Private key password"
|
||||
msgstr "Contraseña de la clave privada"
|
||||
|
||||
#: js/ui/components/networkAgent.js:271
|
||||
#: js/ui/components/networkAgent.js:270
|
||||
msgid "Identity"
|
||||
msgstr "Identidad"
|
||||
|
||||
#: js/ui/components/networkAgent.js:285
|
||||
#: js/ui/components/networkAgent.js:284
|
||||
msgid "Service"
|
||||
msgstr "Servicio"
|
||||
|
||||
#: js/ui/components/networkAgent.js:314 js/ui/components/networkAgent.js:342
|
||||
#: js/ui/components/networkAgent.js:675 js/ui/components/networkAgent.js:696
|
||||
#: js/ui/components/networkAgent.js:313 js/ui/components/networkAgent.js:341
|
||||
#: js/ui/components/networkAgent.js:680 js/ui/components/networkAgent.js:701
|
||||
msgid "Authentication required"
|
||||
msgstr "Autenticación requerida"
|
||||
|
||||
#: js/ui/components/networkAgent.js:315 js/ui/components/networkAgent.js:676
|
||||
#: js/ui/components/networkAgent.js:314 js/ui/components/networkAgent.js:681
|
||||
#, javascript-format
|
||||
msgid ""
|
||||
"Passwords or encryption keys are required to access the wireless network "
|
||||
@@ -1006,42 +995,42 @@ msgstr ""
|
||||
"Se necesitan contraseñas o claves de cifrado para acceder a la red "
|
||||
"inalámbrica «%s»."
|
||||
|
||||
#: js/ui/components/networkAgent.js:319 js/ui/components/networkAgent.js:680
|
||||
#: js/ui/components/networkAgent.js:318 js/ui/components/networkAgent.js:685
|
||||
msgid "Wired 802.1X authentication"
|
||||
msgstr "Autenticación 802.1X cableada"
|
||||
|
||||
#: js/ui/components/networkAgent.js:321
|
||||
#: js/ui/components/networkAgent.js:320
|
||||
msgid "Network name"
|
||||
msgstr "Nombre de la red"
|
||||
|
||||
#: js/ui/components/networkAgent.js:326 js/ui/components/networkAgent.js:684
|
||||
#: js/ui/components/networkAgent.js:325 js/ui/components/networkAgent.js:689
|
||||
msgid "DSL authentication"
|
||||
msgstr "Autenticación DSL"
|
||||
|
||||
#: js/ui/components/networkAgent.js:333 js/ui/components/networkAgent.js:689
|
||||
#: js/ui/components/networkAgent.js:332 js/ui/components/networkAgent.js:694
|
||||
msgid "PIN code required"
|
||||
msgstr "Código PIN requerido"
|
||||
|
||||
#: js/ui/components/networkAgent.js:334 js/ui/components/networkAgent.js:690
|
||||
#: js/ui/components/networkAgent.js:333 js/ui/components/networkAgent.js:695
|
||||
msgid "PIN code is needed for the mobile broadband device"
|
||||
msgstr "Se necesita un código PIN para el dispositivo de banda ancha móvil"
|
||||
|
||||
#: js/ui/components/networkAgent.js:335
|
||||
#: js/ui/components/networkAgent.js:334
|
||||
msgid "PIN"
|
||||
msgstr "PIN"
|
||||
|
||||
#: js/ui/components/networkAgent.js:343 js/ui/components/networkAgent.js:681
|
||||
#: js/ui/components/networkAgent.js:685 js/ui/components/networkAgent.js:697
|
||||
#: js/ui/components/networkAgent.js:701
|
||||
#: js/ui/components/networkAgent.js:342 js/ui/components/networkAgent.js:686
|
||||
#: js/ui/components/networkAgent.js:690 js/ui/components/networkAgent.js:702
|
||||
#: js/ui/components/networkAgent.js:706
|
||||
#, javascript-format
|
||||
msgid "A password is required to connect to “%s”."
|
||||
msgstr "Se requiere una contraseña para conectarse a «%s»."
|
||||
|
||||
#: js/ui/components/networkAgent.js:664 js/ui/status/network.js:1718
|
||||
#: js/ui/components/networkAgent.js:669 js/ui/status/network.js:1694
|
||||
msgid "Network Manager"
|
||||
msgstr "Gestor de la red"
|
||||
|
||||
#: js/ui/components/networkAgent.js:700
|
||||
#: js/ui/components/networkAgent.js:705
|
||||
msgid "VPN password"
|
||||
msgstr "Contraseña de la VPN"
|
||||
|
||||
@@ -1163,93 +1152,86 @@ msgstr "Meteorología"
|
||||
msgid "Select weather location…"
|
||||
msgstr "Seleccionar ubicación meteorológica…"
|
||||
|
||||
#: js/ui/endSessionDialog.js:39
|
||||
#: js/ui/endSessionDialog.js:37
|
||||
#, javascript-format
|
||||
msgctxt "title"
|
||||
msgid "Log Out %s"
|
||||
msgstr "Cerrar la sesión %s"
|
||||
|
||||
#: js/ui/endSessionDialog.js:40
|
||||
#: js/ui/endSessionDialog.js:38
|
||||
msgctxt "title"
|
||||
msgid "Log Out"
|
||||
msgstr "Cerrar la sesión"
|
||||
|
||||
#: js/ui/endSessionDialog.js:43
|
||||
#: js/ui/endSessionDialog.js:40
|
||||
#, javascript-format
|
||||
msgid "%s will be logged out automatically in %d second."
|
||||
msgid_plural "%s will be logged out automatically in %d seconds."
|
||||
msgstr[0] "se cerrará automáticamente la sesión de %s en %d segundo."
|
||||
msgstr[1] "se cerrará automáticamente la sesión de %s en %d segundos."
|
||||
|
||||
#: js/ui/endSessionDialog.js:49
|
||||
#: js/ui/endSessionDialog.js:45
|
||||
#, javascript-format
|
||||
msgid "You will be logged out automatically in %d second."
|
||||
msgid_plural "You will be logged out automatically in %d seconds."
|
||||
msgstr[0] "Su sesión se cerrará automáticamente en %d segundo."
|
||||
msgstr[1] "Su sesión se cerrará automáticamente en %d segundos."
|
||||
|
||||
#: js/ui/endSessionDialog.js:56
|
||||
#: js/ui/endSessionDialog.js:51
|
||||
msgctxt "button"
|
||||
msgid "Log Out"
|
||||
msgstr "Cerrar la sesión"
|
||||
|
||||
#: js/ui/endSessionDialog.js:62
|
||||
#: js/ui/endSessionDialog.js:56
|
||||
msgctxt "title"
|
||||
msgid "Power Off"
|
||||
msgstr "Apagar"
|
||||
|
||||
#: js/ui/endSessionDialog.js:63
|
||||
#: js/ui/endSessionDialog.js:57
|
||||
msgctxt "title"
|
||||
msgid "Install Updates & Power Off"
|
||||
msgstr "Instalar actualizaciones y apagar"
|
||||
|
||||
#: js/ui/endSessionDialog.js:66
|
||||
#: js/ui/endSessionDialog.js:59
|
||||
#, javascript-format
|
||||
msgid "The system will power off automatically in %d second."
|
||||
msgid_plural "The system will power off automatically in %d seconds."
|
||||
msgstr[0] "El sistema se apagará automáticamente en %d segundo."
|
||||
msgstr[1] "El sistema se apagará automáticamente en %d segundos."
|
||||
|
||||
#: js/ui/endSessionDialog.js:70 js/ui/endSessionDialog.js:89
|
||||
#: js/ui/endSessionDialog.js:63
|
||||
msgctxt "checkbox"
|
||||
msgid "Install pending software updates"
|
||||
msgstr "Instalar las actualizaciones de software pendientes"
|
||||
|
||||
#: js/ui/endSessionDialog.js:74
|
||||
#: js/ui/endSessionDialog.js:66 js/ui/endSessionDialog.js:82
|
||||
msgctxt "button"
|
||||
msgid "Restart"
|
||||
msgstr "Reiniciar"
|
||||
|
||||
#: js/ui/endSessionDialog.js:68
|
||||
msgctxt "button"
|
||||
msgid "Power Off"
|
||||
msgstr "Apagar"
|
||||
|
||||
#: js/ui/endSessionDialog.js:81
|
||||
#: js/ui/endSessionDialog.js:74
|
||||
msgctxt "title"
|
||||
msgid "Restart"
|
||||
msgstr "Reiniciar"
|
||||
|
||||
#: js/ui/endSessionDialog.js:82
|
||||
#| msgctxt "title"
|
||||
#| msgid "Install Updates & Power Off"
|
||||
msgctxt "title"
|
||||
msgid "Install Updates & Restart"
|
||||
msgstr "Instalar actualizaciones y reiniciar"
|
||||
|
||||
#: js/ui/endSessionDialog.js:85
|
||||
#: js/ui/endSessionDialog.js:76
|
||||
#, javascript-format
|
||||
msgid "The system will restart automatically in %d second."
|
||||
msgid_plural "The system will restart automatically in %d seconds."
|
||||
msgstr[0] "El sistema se reiniciará automáticamente en %d segundo."
|
||||
msgstr[1] "El sistema se reiniciará automáticamente en %d segundos."
|
||||
|
||||
#: js/ui/endSessionDialog.js:93
|
||||
msgctxt "button"
|
||||
msgid "Restart"
|
||||
msgstr "Reiniciar"
|
||||
|
||||
#: js/ui/endSessionDialog.js:101
|
||||
#: js/ui/endSessionDialog.js:89
|
||||
msgctxt "title"
|
||||
msgid "Restart & Install Updates"
|
||||
msgstr "Reiniciar e instalar actualizaciones"
|
||||
|
||||
#: js/ui/endSessionDialog.js:104
|
||||
#: js/ui/endSessionDialog.js:91
|
||||
#, javascript-format
|
||||
msgid "The system will automatically restart and install updates in %d second."
|
||||
msgid_plural ""
|
||||
@@ -1261,22 +1243,22 @@ msgstr[1] ""
|
||||
"El sistema se reiniciará automáticamente e instalará las actualizaciones en "
|
||||
"%d segundos."
|
||||
|
||||
#: js/ui/endSessionDialog.js:111 js/ui/endSessionDialog.js:132
|
||||
#: js/ui/endSessionDialog.js:97 js/ui/endSessionDialog.js:116
|
||||
msgctxt "button"
|
||||
msgid "Restart & Install"
|
||||
msgstr "Reiniciar e instalar"
|
||||
|
||||
#: js/ui/endSessionDialog.js:113
|
||||
#: js/ui/endSessionDialog.js:98
|
||||
msgctxt "button"
|
||||
msgid "Install & Power Off"
|
||||
msgstr "Instalar y apagar"
|
||||
|
||||
#: js/ui/endSessionDialog.js:114
|
||||
#: js/ui/endSessionDialog.js:99
|
||||
msgctxt "checkbox"
|
||||
msgid "Power off after updates are installed"
|
||||
msgstr "Apagar después de instalar las actualizaciones"
|
||||
|
||||
#: js/ui/endSessionDialog.js:121
|
||||
#: js/ui/endSessionDialog.js:106
|
||||
msgctxt "title"
|
||||
msgid "Restart & Install Upgrade"
|
||||
msgstr "Reiniciar e instalar actualizaciones"
|
||||
@@ -1284,7 +1266,7 @@ msgstr "Reiniciar e instalar actualizaciones"
|
||||
#. Translators: This is the text displayed for system upgrades in the
|
||||
#. shut down dialog. First %s gets replaced with the distro name and
|
||||
#. second %s with the distro version to upgrade to
|
||||
#: js/ui/endSessionDialog.js:126
|
||||
#: js/ui/endSessionDialog.js:111
|
||||
#, javascript-format
|
||||
msgid ""
|
||||
"%s %s will be installed after restart. Upgrade installation can take a long "
|
||||
@@ -1294,33 +1276,27 @@ msgstr ""
|
||||
"puede tardar mucho tiempo: asegúrese de que tiene una copia de respaldo y de "
|
||||
"que el equipo está enchufado."
|
||||
|
||||
#: js/ui/endSessionDialog.js:284
|
||||
#| msgid "Running on battery power: Please plug in before installing updates."
|
||||
msgid "Low battery power: please plug in before installing updates."
|
||||
#: js/ui/endSessionDialog.js:259
|
||||
msgid "Running on battery power: Please plug in before installing updates."
|
||||
msgstr ""
|
||||
"Queda poca batería: enchúfe el equipo antes de instalar las actualizaciones."
|
||||
"Funcionando con batería: conéctese antes de instalar las actualizaciones."
|
||||
|
||||
#: js/ui/endSessionDialog.js:293
|
||||
#: js/ui/endSessionDialog.js:268
|
||||
msgid "Some applications are busy or have unsaved work"
|
||||
msgstr "Algunas aplicaciones están ocupadas o tienen trabajo sin guardar"
|
||||
|
||||
#: js/ui/endSessionDialog.js:298
|
||||
#: js/ui/endSessionDialog.js:273
|
||||
msgid "Other users are logged in"
|
||||
msgstr "Hay otros usuarios con la sesión iniciada"
|
||||
|
||||
#: js/ui/endSessionDialog.js:467
|
||||
msgctxt "button"
|
||||
msgid "Boot Options"
|
||||
msgstr "Opciones de arranque"
|
||||
|
||||
#. Translators: Remote here refers to a remote session, like a ssh login
|
||||
#: js/ui/endSessionDialog.js:685
|
||||
#: js/ui/endSessionDialog.js:583
|
||||
#, javascript-format
|
||||
msgid "%s (remote)"
|
||||
msgstr "%s (remoto)"
|
||||
|
||||
#. Translators: Console here refers to a tty like a VT console
|
||||
#: js/ui/endSessionDialog.js:688
|
||||
#: js/ui/endSessionDialog.js:586
|
||||
#, javascript-format
|
||||
msgid "%s (console)"
|
||||
msgstr "%s (consola)"
|
||||
@@ -1338,11 +1314,11 @@ msgstr "Instalar extensión"
|
||||
msgid "Download and install “%s” from extensions.gnome.org?"
|
||||
msgstr "¿Descargar e instalar «%s» desde extensions.gnome.org?"
|
||||
|
||||
#: js/ui/extensionSystem.js:253
|
||||
#: js/ui/extensionSystem.js:252
|
||||
msgid "Extension Updates Available"
|
||||
msgstr "Actualizaciones de extensiones disponibles"
|
||||
|
||||
#: js/ui/extensionSystem.js:254
|
||||
#: js/ui/extensionSystem.js:253
|
||||
msgid "Extension updates are ready to be installed."
|
||||
msgstr "Las actualizaciones de las extensiones están listas para instalarse."
|
||||
|
||||
@@ -1423,15 +1399,15 @@ msgid "Leave On"
|
||||
msgstr "Dejar activada"
|
||||
|
||||
#: js/ui/kbdA11yDialog.js:55 js/ui/status/bluetooth.js:156
|
||||
#: js/ui/status/network.js:1315
|
||||
#: js/ui/status/network.js:1291
|
||||
msgid "Turn On"
|
||||
msgstr "Encendido"
|
||||
|
||||
#: js/ui/kbdA11yDialog.js:63 js/ui/status/bluetooth.js:156
|
||||
#: js/ui/status/network.js:160 js/ui/status/network.js:344
|
||||
#: js/ui/status/network.js:1315 js/ui/status/network.js:1427
|
||||
#: js/ui/status/network.js:135 js/ui/status/network.js:319
|
||||
#: js/ui/status/network.js:1291 js/ui/status/network.js:1403
|
||||
#: js/ui/status/nightLight.js:41 js/ui/status/rfkill.js:81
|
||||
#: js/ui/status/rfkill.js:110
|
||||
#: js/ui/status/rfkill.js:108
|
||||
msgid "Turn Off"
|
||||
msgstr "Apagar"
|
||||
|
||||
@@ -1439,7 +1415,7 @@ msgstr "Apagar"
|
||||
msgid "Leave Off"
|
||||
msgstr "Dejar apagado"
|
||||
|
||||
#: js/ui/keyboard.js:226
|
||||
#: js/ui/keyboard.js:225
|
||||
msgid "Region & Language Settings"
|
||||
msgstr "Configuración de región e idioma"
|
||||
|
||||
@@ -1492,11 +1468,11 @@ msgstr "Ver fuente"
|
||||
msgid "Web Page"
|
||||
msgstr "Página web"
|
||||
|
||||
#: js/ui/main.js:294
|
||||
#: js/ui/main.js:297
|
||||
msgid "Logged in as a privileged user"
|
||||
msgstr "Sesión iniciada como usuario con privilegios"
|
||||
|
||||
#: js/ui/main.js:295
|
||||
#: js/ui/main.js:298
|
||||
msgid ""
|
||||
"Running a session as a privileged user should be avoided for security "
|
||||
"reasons. If possible, you should log in as a normal user."
|
||||
@@ -1504,11 +1480,11 @@ msgstr ""
|
||||
"Se debe evitar ejecutar una sesión como usuario con privilegios por motivos "
|
||||
"de seguridad. Si es posible, inicie sesión como un usuario normal."
|
||||
|
||||
#: js/ui/main.js:334
|
||||
#: js/ui/main.js:337
|
||||
msgid "Screen Lock disabled"
|
||||
msgstr "Pantalla de bloqueo desactivada"
|
||||
|
||||
#: js/ui/main.js:335
|
||||
#: js/ui/main.js:338
|
||||
msgid "Screen Locking requires the GNOME display manager."
|
||||
msgstr "La pantalla de bloqueo necesita el gestor de pantallas de GNOME."
|
||||
|
||||
@@ -1542,27 +1518,27 @@ msgstr "Vista general"
|
||||
msgid "Type to search"
|
||||
msgstr "Escribir para buscar"
|
||||
|
||||
#: js/ui/padOsd.js:96
|
||||
#: js/ui/padOsd.js:95
|
||||
msgid "New shortcut…"
|
||||
msgstr "Atajo nuevo…"
|
||||
|
||||
#: js/ui/padOsd.js:143
|
||||
#: js/ui/padOsd.js:142
|
||||
msgid "Application defined"
|
||||
msgstr "Aplicación definida"
|
||||
|
||||
#: js/ui/padOsd.js:144
|
||||
#: js/ui/padOsd.js:143
|
||||
msgid "Show on-screen help"
|
||||
msgstr "Mostrar la ayuda en pantalla"
|
||||
|
||||
#: js/ui/padOsd.js:145
|
||||
#: js/ui/padOsd.js:144
|
||||
msgid "Switch monitor"
|
||||
msgstr "Cambiar monitor"
|
||||
|
||||
#: js/ui/padOsd.js:146
|
||||
#: js/ui/padOsd.js:145
|
||||
msgid "Assign keystroke"
|
||||
msgstr "Asignar pulsación"
|
||||
|
||||
#: js/ui/padOsd.js:212
|
||||
#: js/ui/padOsd.js:211
|
||||
msgid "Done"
|
||||
msgstr "Hecho"
|
||||
|
||||
@@ -1601,7 +1577,7 @@ msgctxt "System menu in the top bar"
|
||||
msgid "System"
|
||||
msgstr "Sistema"
|
||||
|
||||
#: js/ui/panel.js:825
|
||||
#: js/ui/panel.js:827
|
||||
msgid "Top Bar"
|
||||
msgstr "Barra superior"
|
||||
|
||||
@@ -1778,7 +1754,7 @@ msgstr "Texto grande"
|
||||
msgid "Bluetooth"
|
||||
msgstr "Bluetooth"
|
||||
|
||||
#: js/ui/status/bluetooth.js:49 js/ui/status/network.js:619
|
||||
#: js/ui/status/bluetooth.js:49 js/ui/status/network.js:595
|
||||
msgid "Bluetooth Settings"
|
||||
msgstr "Configuración de Bluetooth"
|
||||
|
||||
@@ -1862,18 +1838,18 @@ msgstr ""
|
||||
"Los servicios de ubicación se pueden cambiar en cualquier momento desde la "
|
||||
"configuración de privacidad."
|
||||
|
||||
#: js/ui/status/network.js:71
|
||||
#: js/ui/status/network.js:70
|
||||
msgid "<unknown>"
|
||||
msgstr "<desconocido>"
|
||||
|
||||
#. Translators: %s is a network identifier
|
||||
#: js/ui/status/network.js:449 js/ui/status/network.js:1344
|
||||
#: js/ui/status/network.js:424 js/ui/status/network.js:1320
|
||||
#, javascript-format
|
||||
msgid "%s Off"
|
||||
msgstr "%s apagada"
|
||||
|
||||
#. Translators: %s is a network identifier
|
||||
#: js/ui/status/network.js:452
|
||||
#: js/ui/status/network.js:427
|
||||
#, javascript-format
|
||||
msgid "%s Connected"
|
||||
msgstr "%s conectada"
|
||||
@@ -1881,189 +1857,189 @@ msgstr "%s conectada"
|
||||
#. Translators: this is for network devices that are physically present but are not
|
||||
#. under NetworkManager's control (and thus cannot be used in the menu);
|
||||
#. %s is a network identifier
|
||||
#: js/ui/status/network.js:457
|
||||
#: js/ui/status/network.js:432
|
||||
#, javascript-format
|
||||
msgid "%s Unmanaged"
|
||||
msgstr "%s sin gestionar"
|
||||
|
||||
#. Translators: %s is a network identifier
|
||||
#: js/ui/status/network.js:460
|
||||
#: js/ui/status/network.js:435
|
||||
#, javascript-format
|
||||
msgid "%s Disconnecting"
|
||||
msgstr "Desconectando %s"
|
||||
|
||||
#. Translators: %s is a network identifier
|
||||
#: js/ui/status/network.js:467 js/ui/status/network.js:1336
|
||||
#: js/ui/status/network.js:442 js/ui/status/network.js:1312
|
||||
#, javascript-format
|
||||
msgid "%s Connecting"
|
||||
msgstr "Conectando %s"
|
||||
|
||||
#. Translators: this is for network connections that require some kind of key or password; %s is a network identifier
|
||||
#: js/ui/status/network.js:470
|
||||
#: js/ui/status/network.js:445
|
||||
#, javascript-format
|
||||
msgid "%s Requires Authentication"
|
||||
msgstr "%s requiere autenticación"
|
||||
|
||||
#. Translators: this is for devices that require some kind of firmware or kernel
|
||||
#. module, which is missing; %s is a network identifier
|
||||
#: js/ui/status/network.js:478
|
||||
#: js/ui/status/network.js:453
|
||||
#, javascript-format
|
||||
msgid "Firmware Missing For %s"
|
||||
msgstr "Falta el «firmware» para %s"
|
||||
|
||||
#. Translators: this is for a network device that cannot be activated (for example it
|
||||
#. is disabled by rfkill, or it has no coverage; %s is a network identifier
|
||||
#: js/ui/status/network.js:482
|
||||
#: js/ui/status/network.js:457
|
||||
#, javascript-format
|
||||
msgid "%s Unavailable"
|
||||
msgstr "%s no disponible"
|
||||
|
||||
#. Translators: %s is a network identifier
|
||||
#: js/ui/status/network.js:485
|
||||
#: js/ui/status/network.js:460
|
||||
#, javascript-format
|
||||
msgid "%s Connection Failed"
|
||||
msgstr "Falló la conexión %s"
|
||||
|
||||
#: js/ui/status/network.js:497
|
||||
#: js/ui/status/network.js:472
|
||||
msgid "Wired Settings"
|
||||
msgstr "Configuración de red cableada"
|
||||
|
||||
#: js/ui/status/network.js:540
|
||||
#: js/ui/status/network.js:515
|
||||
msgid "Mobile Broadband Settings"
|
||||
msgstr "Configuración de banda ancha móvil"
|
||||
|
||||
#. Translators: %s is a network identifier
|
||||
#: js/ui/status/network.js:586 js/ui/status/network.js:1341
|
||||
#: js/ui/status/network.js:562 js/ui/status/network.js:1317
|
||||
#, javascript-format
|
||||
msgid "%s Hardware Disabled"
|
||||
msgstr "Hardware %s desactivado"
|
||||
|
||||
#. Translators: this is for a network device that cannot be activated
|
||||
#. because it's disabled by rfkill (airplane mode); %s is a network identifier
|
||||
#: js/ui/status/network.js:590
|
||||
#: js/ui/status/network.js:566
|
||||
#, javascript-format
|
||||
msgid "%s Disabled"
|
||||
msgstr "%s desactivado"
|
||||
|
||||
#: js/ui/status/network.js:631
|
||||
#: js/ui/status/network.js:607
|
||||
msgid "Connect to Internet"
|
||||
msgstr "Conectar a Internet"
|
||||
|
||||
#: js/ui/status/network.js:835
|
||||
#: js/ui/status/network.js:811
|
||||
msgid "Airplane Mode is On"
|
||||
msgstr "El modo avión está activado"
|
||||
|
||||
#: js/ui/status/network.js:836
|
||||
#: js/ui/status/network.js:812
|
||||
msgid "Wi-Fi is disabled when airplane mode is on."
|
||||
msgstr "La Wi-Fi se desactiva cuando se activa el modo avión."
|
||||
|
||||
#: js/ui/status/network.js:837
|
||||
#: js/ui/status/network.js:813
|
||||
msgid "Turn Off Airplane Mode"
|
||||
msgstr "Apagar el modo avión"
|
||||
|
||||
#: js/ui/status/network.js:846
|
||||
#: js/ui/status/network.js:822
|
||||
msgid "Wi-Fi is Off"
|
||||
msgstr "La Wi-Fi está desactivada"
|
||||
|
||||
#: js/ui/status/network.js:847
|
||||
#: js/ui/status/network.js:823
|
||||
msgid "Wi-Fi needs to be turned on in order to connect to a network."
|
||||
msgstr "Se debe activar la Wi-Fi para poder conectarse a la red."
|
||||
|
||||
#: js/ui/status/network.js:848
|
||||
#: js/ui/status/network.js:824
|
||||
msgid "Turn On Wi-Fi"
|
||||
msgstr "Activar la Wi-Fi"
|
||||
|
||||
#: js/ui/status/network.js:873
|
||||
#: js/ui/status/network.js:849
|
||||
msgid "Wi-Fi Networks"
|
||||
msgstr "Redes Wi-Fi"
|
||||
|
||||
#: js/ui/status/network.js:875
|
||||
#: js/ui/status/network.js:851
|
||||
msgid "Select a network"
|
||||
msgstr "Seleccionar una red"
|
||||
|
||||
#: js/ui/status/network.js:907
|
||||
#: js/ui/status/network.js:883
|
||||
msgid "No Networks"
|
||||
msgstr "No hay redes"
|
||||
|
||||
#: js/ui/status/network.js:928 js/ui/status/rfkill.js:108
|
||||
#: js/ui/status/network.js:904 js/ui/status/rfkill.js:106
|
||||
msgid "Use hardware switch to turn off"
|
||||
msgstr "Usar el interruptor hardware para apagar"
|
||||
|
||||
#: js/ui/status/network.js:1205
|
||||
#: js/ui/status/network.js:1181
|
||||
msgid "Select Network"
|
||||
msgstr "Seleccionar red"
|
||||
|
||||
#: js/ui/status/network.js:1211
|
||||
#: js/ui/status/network.js:1187
|
||||
msgid "Wi-Fi Settings"
|
||||
msgstr "Configuración de Wi-Fi"
|
||||
|
||||
#. Translators: %s is a network identifier
|
||||
#: js/ui/status/network.js:1332
|
||||
#: js/ui/status/network.js:1308
|
||||
#, javascript-format
|
||||
msgid "%s Hotspot Active"
|
||||
msgstr "Punto de acceso %s activo"
|
||||
|
||||
#. Translators: %s is a network identifier
|
||||
#: js/ui/status/network.js:1347
|
||||
#: js/ui/status/network.js:1323
|
||||
#, javascript-format
|
||||
msgid "%s Not Connected"
|
||||
msgstr "%s no conectado"
|
||||
|
||||
#: js/ui/status/network.js:1444
|
||||
#: js/ui/status/network.js:1420
|
||||
msgid "connecting…"
|
||||
msgstr "conectando…"
|
||||
|
||||
#. Translators: this is for network connections that require some kind of key or password
|
||||
#: js/ui/status/network.js:1447
|
||||
#: js/ui/status/network.js:1423
|
||||
msgid "authentication required"
|
||||
msgstr "se necesita autenticación"
|
||||
|
||||
#: js/ui/status/network.js:1449
|
||||
#: js/ui/status/network.js:1425
|
||||
msgid "connection failed"
|
||||
msgstr "falló la conexión"
|
||||
|
||||
#: js/ui/status/network.js:1500
|
||||
#: js/ui/status/network.js:1476
|
||||
msgid "VPN Settings"
|
||||
msgstr "Configuración de VPN"
|
||||
|
||||
#: js/ui/status/network.js:1517
|
||||
#: js/ui/status/network.js:1493
|
||||
msgid "VPN"
|
||||
msgstr "VPN"
|
||||
|
||||
#: js/ui/status/network.js:1527
|
||||
#: js/ui/status/network.js:1503
|
||||
msgid "VPN Off"
|
||||
msgstr "VPN apagada"
|
||||
|
||||
#: js/ui/status/network.js:1588 js/ui/status/rfkill.js:84
|
||||
#: js/ui/status/network.js:1564 js/ui/status/rfkill.js:84
|
||||
msgid "Network Settings"
|
||||
msgstr "Configuración de la red"
|
||||
|
||||
#: js/ui/status/network.js:1617
|
||||
#: js/ui/status/network.js:1593
|
||||
#, javascript-format
|
||||
msgid "%s Wired Connection"
|
||||
msgid_plural "%s Wired Connections"
|
||||
msgstr[0] "%s conexión cableada"
|
||||
msgstr[1] "%s conexiones cableadas"
|
||||
|
||||
#: js/ui/status/network.js:1621
|
||||
#: js/ui/status/network.js:1597
|
||||
#, javascript-format
|
||||
msgid "%s Wi-Fi Connection"
|
||||
msgid_plural "%s Wi-Fi Connections"
|
||||
msgstr[0] "%s conexión inalámbrica"
|
||||
msgstr[1] "%s conexiones inalámbricas"
|
||||
|
||||
#: js/ui/status/network.js:1625
|
||||
#: js/ui/status/network.js:1601
|
||||
#, javascript-format
|
||||
msgid "%s Modem Connection"
|
||||
msgid_plural "%s Modem Connections"
|
||||
msgstr[0] "%s conexión por módem"
|
||||
msgstr[1] "%s conexiones por módem"
|
||||
|
||||
#: js/ui/status/network.js:1759
|
||||
#: js/ui/status/network.js:1735
|
||||
msgid "Connection failed"
|
||||
msgstr "Falló la conexión"
|
||||
|
||||
#: js/ui/status/network.js:1760
|
||||
#: js/ui/status/network.js:1736
|
||||
msgid "Activation of network connection failed"
|
||||
msgstr "Falló la activación de la conexión de red"
|
||||
|
||||
@@ -2118,11 +2094,11 @@ msgstr "%d∶%02d para la carga completa (%d %%)"
|
||||
msgid "%d %%"
|
||||
msgstr "%d %%"
|
||||
|
||||
#: js/ui/status/remoteAccess.js:45
|
||||
#: js/ui/status/remoteAccess.js:43
|
||||
msgid "Screen is Being Shared"
|
||||
msgstr "Se está compartiendo la pantalla"
|
||||
|
||||
#: js/ui/status/remoteAccess.js:47
|
||||
#: js/ui/status/remoteAccess.js:45
|
||||
msgid "Turn off"
|
||||
msgstr "Apagar"
|
||||
|
||||
@@ -2133,35 +2109,30 @@ msgstr "Apagar"
|
||||
msgid "Airplane Mode On"
|
||||
msgstr "Modo avión activado"
|
||||
|
||||
#: js/ui/status/system.js:104
|
||||
#: js/ui/status/system.js:102
|
||||
msgid "Lock"
|
||||
msgstr "Bloquear"
|
||||
|
||||
#: js/ui/status/system.js:116
|
||||
#: js/ui/status/system.js:115
|
||||
msgid "Power Off / Log Out"
|
||||
msgstr "Apagar / cerrar sesión"
|
||||
|
||||
#: js/ui/status/system.js:119
|
||||
msgid "Suspend"
|
||||
msgstr "Suspender"
|
||||
|
||||
#: js/ui/status/system.js:130
|
||||
#| msgid "Restarting…"
|
||||
msgid "Restart…"
|
||||
msgstr "Reiniciar…"
|
||||
|
||||
#: js/ui/status/system.js:141
|
||||
msgid "Power Off…"
|
||||
msgstr "Apagar…"
|
||||
|
||||
#: js/ui/status/system.js:154
|
||||
#: js/ui/status/system.js:118
|
||||
msgid "Log Out"
|
||||
msgstr "Cerrar la sesión"
|
||||
|
||||
#: js/ui/status/system.js:165
|
||||
#: js/ui/status/system.js:130
|
||||
msgid "Switch User…"
|
||||
msgstr "Cambiar de usuario…"
|
||||
|
||||
#: js/ui/status/system.js:144
|
||||
msgid "Suspend"
|
||||
msgstr "Suspender"
|
||||
|
||||
#: js/ui/status/system.js:156
|
||||
msgid "Power Off…"
|
||||
msgstr "Apagar…"
|
||||
|
||||
#: js/ui/status/thunderbolt.js:263
|
||||
msgid "Thunderbolt"
|
||||
msgstr "Thunderbolt"
|
||||
@@ -2269,22 +2240,22 @@ msgid "“%s” is ready"
|
||||
msgstr "«%s» está preparado"
|
||||
|
||||
#. Translators: This string should be shorter than 30 characters
|
||||
#: js/ui/windowManager.js:60
|
||||
#: js/ui/windowManager.js:55
|
||||
msgid "Keep these display settings?"
|
||||
msgstr "¿Quiere mantener esta configuración de la pantalla?"
|
||||
|
||||
#. Translators: this and the following message should be limited in length,
|
||||
#. to avoid ellipsizing the labels.
|
||||
#.
|
||||
#: js/ui/windowManager.js:69
|
||||
#: js/ui/windowManager.js:64
|
||||
msgid "Revert Settings"
|
||||
msgstr "Revertir configuración"
|
||||
|
||||
#: js/ui/windowManager.js:72
|
||||
#: js/ui/windowManager.js:67
|
||||
msgid "Keep Changes"
|
||||
msgstr "Mantener cambios"
|
||||
|
||||
#: js/ui/windowManager.js:91
|
||||
#: js/ui/windowManager.js:86
|
||||
#, javascript-format
|
||||
msgid "Settings changes will revert in %d second"
|
||||
msgid_plural "Settings changes will revert in %d seconds"
|
||||
@@ -2293,7 +2264,7 @@ msgstr[1] "La configuración se revertirá en %d segundos"
|
||||
|
||||
#. Translators: This represents the size of a window. The first number is
|
||||
#. * the width of the window and the second is the height.
|
||||
#: js/ui/windowManager.js:551
|
||||
#: js/ui/windowManager.js:546
|
||||
#, javascript-format
|
||||
msgid "%d × %d"
|
||||
msgstr "%d × %d"
|
||||
@@ -3591,6 +3562,9 @@ msgstr "Sonidos del sistema"
|
||||
#~ msgid "Power"
|
||||
#~ msgstr "Energía"
|
||||
|
||||
#~ msgid "Restart"
|
||||
#~ msgstr "Reiniciar"
|
||||
|
||||
#~ msgid "Volume, network, battery"
|
||||
#~ msgstr "Volumen, red, batería"
|
||||
|
||||
|
475
po/pt_BR.po
475
po/pt_BR.po
File diff suppressed because it is too large
Load Diff
300
po/ro.po
300
po/ro.po
@@ -10,9 +10,10 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: gnome-shell master\n"
|
||||
"Report-Msgid-Bugs-To: https://gitlab.gnome.org/GNOME/gnome-shell/issues\n"
|
||||
"POT-Creation-Date: 2020-08-10 23:58+0000\n"
|
||||
"PO-Revision-Date: 2020-08-14 15:27+0300\n"
|
||||
"Last-Translator: Florentina Mușat <florentina.musat.28@gmail.com>\n"
|
||||
"POT-Creation-Date: 2020-07-21 05:44+0000\n"
|
||||
"PO-Revision-Date: 2020-07-21 09:07+0200\n"
|
||||
"Last-Translator: Florentina Mușat <florentina [dot] musat [dot] 28 [at] "
|
||||
"gmail [dot] com>\n"
|
||||
"Language-Team: Gnome Romanian Translation Team <gnomero-list@lists."
|
||||
"sourceforge.net>\n"
|
||||
"Language: ro\n"
|
||||
@@ -22,7 +23,7 @@ msgstr ""
|
||||
"Plural-Forms: nplurals=3; plural=(n==1 ? 0 : n==0 || (n!=1 && n%100>=1 && n"
|
||||
"%100<=19) ? 1 : 2);\n"
|
||||
"20)) ? 1: 2);\n"
|
||||
"X-Generator: Poedit 2.4\n"
|
||||
"X-Generator: Poedit 2.3.1\n"
|
||||
"X-Project-Style: gnome\n"
|
||||
"X-Poedit-SourceCharset: UTF-8\n"
|
||||
|
||||
@@ -234,11 +235,11 @@ msgid ""
|
||||
"“application id” → 'data' pair. Currently, the following values are stored "
|
||||
"as 'data': • “position”: the position of the application icon in the page"
|
||||
msgstr ""
|
||||
"Aspectul selectorului de aplicații. Fiecare intrare din vector este o "
|
||||
"Aspectul selectorului de aplicații. Fiecare intrare din matrice este o "
|
||||
"pagină. Paginile sunt stocate în ordinea în care apar în GNOME Shell. "
|
||||
"Fiecare pagină conține o pereche de „id aplicație” → „date”. Momentan, "
|
||||
"următoarele valori sunt stocate ca „data”: • „poziție”: poziția iconiței "
|
||||
"aplicației în pagină"
|
||||
"aplicației în pagină."
|
||||
|
||||
#: data/org.gnome.shell.gschema.xml.in:130
|
||||
msgid "Keybinding to open the application menu"
|
||||
@@ -449,9 +450,9 @@ msgstr "Vizitează pagina principală a extensiei"
|
||||
|
||||
#: js/gdm/authPrompt.js:135 js/ui/audioDeviceSelection.js:57
|
||||
#: js/ui/components/networkAgent.js:110 js/ui/components/polkitAgent.js:139
|
||||
#: js/ui/endSessionDialog.js:438 js/ui/extensionDownloader.js:183
|
||||
#: js/ui/endSessionDialog.js:369 js/ui/extensionDownloader.js:183
|
||||
#: js/ui/shellMountOperation.js:376 js/ui/shellMountOperation.js:386
|
||||
#: js/ui/status/network.js:940 subprojects/extensions-app/js/main.js:149
|
||||
#: js/ui/status/network.js:916 subprojects/extensions-app/js/main.js:149
|
||||
msgid "Cancel"
|
||||
msgstr "Anulează"
|
||||
|
||||
@@ -487,7 +488,7 @@ msgstr "(de exemplu, utilizator sau %s)"
|
||||
msgid "Username"
|
||||
msgstr "Nume de utilizator"
|
||||
|
||||
#: js/gdm/loginDialog.js:1253
|
||||
#: js/gdm/loginDialog.js:1254
|
||||
msgid "Login Window"
|
||||
msgstr "Fereastră de autentificare"
|
||||
|
||||
@@ -505,84 +506,73 @@ msgid "(or swipe finger)"
|
||||
msgstr "(sau treceți degetul peste)"
|
||||
|
||||
#. Translators: The name of the power-off action in search
|
||||
#: js/misc/systemActions.js:91
|
||||
#: js/misc/systemActions.js:93
|
||||
msgctxt "search-result"
|
||||
msgid "Power Off"
|
||||
msgstr "Oprire"
|
||||
|
||||
#. Translators: A list of keywords that match the power-off action, separated by semicolons
|
||||
#: js/misc/systemActions.js:94
|
||||
msgid "power off;shutdown;halt;stop"
|
||||
msgstr "power off;shutdown;halt;stop;oprește;închide;blochează"
|
||||
|
||||
#. Translators: The name of the restart action in search
|
||||
#: js/misc/systemActions.js:99
|
||||
msgctxt "search-result"
|
||||
msgid "Restart"
|
||||
msgstr "Repornire"
|
||||
|
||||
#. Translators: A list of keywords that match the restart action, separated by semicolons
|
||||
#: js/misc/systemActions.js:102
|
||||
msgid "reboot;restart;"
|
||||
msgstr "repornește;restartează;"
|
||||
#: js/misc/systemActions.js:96
|
||||
msgid "power off;shutdown;reboot;restart;halt;stop"
|
||||
msgstr "power off;shutdown;reboot;restart;oprire;repornire"
|
||||
|
||||
#. Translators: The name of the lock screen action in search
|
||||
#: js/misc/systemActions.js:107
|
||||
#: js/misc/systemActions.js:101
|
||||
msgctxt "search-result"
|
||||
msgid "Lock Screen"
|
||||
msgstr "Blochează ecranul"
|
||||
|
||||
#. Translators: A list of keywords that match the lock screen action, separated by semicolons
|
||||
#: js/misc/systemActions.js:110
|
||||
#: js/misc/systemActions.js:104
|
||||
msgid "lock screen"
|
||||
msgstr "lock screen;blochează ecranul"
|
||||
|
||||
#. Translators: The name of the logout action in search
|
||||
#: js/misc/systemActions.js:115
|
||||
#: js/misc/systemActions.js:109
|
||||
msgctxt "search-result"
|
||||
msgid "Log Out"
|
||||
msgstr "Ieșire din sesiune"
|
||||
|
||||
#. Translators: A list of keywords that match the logout action, separated by semicolons
|
||||
#: js/misc/systemActions.js:118
|
||||
#: js/misc/systemActions.js:112
|
||||
msgid "logout;log out;sign off"
|
||||
msgstr "logout;sign off;ieșire din sesiune;deautentificare"
|
||||
|
||||
#. Translators: The name of the suspend action in search
|
||||
#: js/misc/systemActions.js:123
|
||||
#: js/misc/systemActions.js:117
|
||||
msgctxt "search-result"
|
||||
msgid "Suspend"
|
||||
msgstr "Suspendare"
|
||||
|
||||
#. Translators: A list of keywords that match the suspend action, separated by semicolons
|
||||
#: js/misc/systemActions.js:126
|
||||
#: js/misc/systemActions.js:120
|
||||
msgid "suspend;sleep"
|
||||
msgstr "suspend;sleep;suspendare"
|
||||
|
||||
#. Translators: The name of the switch user action in search
|
||||
#: js/misc/systemActions.js:131
|
||||
#: js/misc/systemActions.js:125
|
||||
msgctxt "search-result"
|
||||
msgid "Switch User"
|
||||
msgstr "Comută utilizatorul"
|
||||
|
||||
#. Translators: A list of keywords that match the switch user action, separated by semicolons
|
||||
#: js/misc/systemActions.js:134
|
||||
#: js/misc/systemActions.js:128
|
||||
msgid "switch user"
|
||||
msgstr "switch user;comută utilizatorul"
|
||||
|
||||
#. Translators: A list of keywords that match the lock orientation action, separated by semicolons
|
||||
#: js/misc/systemActions.js:141
|
||||
#: js/misc/systemActions.js:135
|
||||
msgid "lock orientation;unlock orientation;screen;rotation"
|
||||
msgstr ""
|
||||
"lock orientation;screen;rotation;blocare orientare;blocare de orientare;"
|
||||
"ecran;rotație"
|
||||
|
||||
#: js/misc/systemActions.js:266
|
||||
#: js/misc/systemActions.js:255
|
||||
msgctxt "search-result"
|
||||
msgid "Unlock Screen Rotation"
|
||||
msgstr "Deblochează rotația ecranului"
|
||||
|
||||
#: js/misc/systemActions.js:267
|
||||
#: js/misc/systemActions.js:256
|
||||
msgctxt "search-result"
|
||||
msgid "Lock Screen Rotation"
|
||||
msgstr "Rotație de ecran blocat"
|
||||
@@ -759,31 +749,31 @@ msgid "Unnamed Folder"
|
||||
msgstr "Dosar nedenumit"
|
||||
|
||||
#. Translators: This is the heading of a list of open windows
|
||||
#: js/ui/appDisplay.js:2762 js/ui/panel.js:75
|
||||
#: js/ui/appDisplay.js:2767 js/ui/panel.js:75
|
||||
msgid "Open Windows"
|
||||
msgstr "Ferestre deschise"
|
||||
|
||||
#: js/ui/appDisplay.js:2781 js/ui/panel.js:82
|
||||
#: js/ui/appDisplay.js:2786 js/ui/panel.js:82
|
||||
msgid "New Window"
|
||||
msgstr "Fereastră nouă"
|
||||
|
||||
#: js/ui/appDisplay.js:2797
|
||||
#: js/ui/appDisplay.js:2802
|
||||
msgid "Launch using Integrated Graphics Card"
|
||||
msgstr "Lansează folosind placa grafică integrată"
|
||||
|
||||
#: js/ui/appDisplay.js:2798
|
||||
#: js/ui/appDisplay.js:2803
|
||||
msgid "Launch using Discrete Graphics Card"
|
||||
msgstr "Lansează folosind placa grafică discretă"
|
||||
|
||||
#: js/ui/appDisplay.js:2826 js/ui/dash.js:239
|
||||
#: js/ui/appDisplay.js:2831 js/ui/dash.js:239
|
||||
msgid "Remove from Favorites"
|
||||
msgstr "Elimină din favorite"
|
||||
|
||||
#: js/ui/appDisplay.js:2832
|
||||
#: js/ui/appDisplay.js:2837
|
||||
msgid "Add to Favorites"
|
||||
msgstr "Adaugă la Favorite"
|
||||
|
||||
#: js/ui/appDisplay.js:2842 js/ui/panel.js:93
|
||||
#: js/ui/appDisplay.js:2847 js/ui/panel.js:93
|
||||
msgid "Show Details"
|
||||
msgstr "Arată detaliile"
|
||||
|
||||
@@ -984,8 +974,8 @@ msgstr ""
|
||||
"În mod alternativ vă puteți conecta apăsând butonul „WPS” pe routerul "
|
||||
"dumneavoastră."
|
||||
|
||||
#: js/ui/components/networkAgent.js:104 js/ui/status/network.js:252
|
||||
#: js/ui/status/network.js:343 js/ui/status/network.js:943
|
||||
#: js/ui/components/networkAgent.js:104 js/ui/status/network.js:227
|
||||
#: js/ui/status/network.js:318 js/ui/status/network.js:919
|
||||
msgid "Connect"
|
||||
msgstr "Conectare"
|
||||
|
||||
@@ -1050,7 +1040,7 @@ msgstr "PIN"
|
||||
msgid "A password is required to connect to “%s”."
|
||||
msgstr "Este necesară o parolă pentru conectarea la „%s”."
|
||||
|
||||
#: js/ui/components/networkAgent.js:669 js/ui/status/network.js:1718
|
||||
#: js/ui/components/networkAgent.js:669 js/ui/status/network.js:1694
|
||||
msgid "Network Manager"
|
||||
msgstr "Gestionar de rețea"
|
||||
|
||||
@@ -1176,18 +1166,18 @@ msgstr "Vreme"
|
||||
msgid "Select weather location…"
|
||||
msgstr "Selectează locația vremii…"
|
||||
|
||||
#: js/ui/endSessionDialog.js:39
|
||||
#: js/ui/endSessionDialog.js:37
|
||||
#, javascript-format
|
||||
msgctxt "title"
|
||||
msgid "Log Out %s"
|
||||
msgstr "Ieșire din sesiune pentru %s"
|
||||
|
||||
#: js/ui/endSessionDialog.js:40
|
||||
#: js/ui/endSessionDialog.js:38
|
||||
msgctxt "title"
|
||||
msgid "Log Out"
|
||||
msgstr "Ieșire din sesiune"
|
||||
|
||||
#: js/ui/endSessionDialog.js:43
|
||||
#: js/ui/endSessionDialog.js:40
|
||||
#, javascript-format
|
||||
msgid "%s will be logged out automatically in %d second."
|
||||
msgid_plural "%s will be logged out automatically in %d seconds."
|
||||
@@ -1195,7 +1185,7 @@ msgstr[0] "%s va fi scos din sesiune automat în %d secundă."
|
||||
msgstr[1] "%s va fi scos din sesiune automat în %d secunde."
|
||||
msgstr[2] "%s va fi scos din sesiune automat în %d de secunde."
|
||||
|
||||
#: js/ui/endSessionDialog.js:49
|
||||
#: js/ui/endSessionDialog.js:45
|
||||
#, javascript-format
|
||||
msgid "You will be logged out automatically in %d second."
|
||||
msgid_plural "You will be logged out automatically in %d seconds."
|
||||
@@ -1203,22 +1193,22 @@ msgstr[0] "Veți fi scos din sesiune automat în %d secundă."
|
||||
msgstr[1] "Veți fi scos din sesiune automat în %d secunde."
|
||||
msgstr[2] "Veți fi scos din sesiune automat în %d de secunde."
|
||||
|
||||
#: js/ui/endSessionDialog.js:56
|
||||
#: js/ui/endSessionDialog.js:51
|
||||
msgctxt "button"
|
||||
msgid "Log Out"
|
||||
msgstr "Ieșire din sesiune"
|
||||
|
||||
#: js/ui/endSessionDialog.js:62
|
||||
#: js/ui/endSessionDialog.js:56
|
||||
msgctxt "title"
|
||||
msgid "Power Off"
|
||||
msgstr "Oprire"
|
||||
|
||||
#: js/ui/endSessionDialog.js:63
|
||||
#: js/ui/endSessionDialog.js:57
|
||||
msgctxt "title"
|
||||
msgid "Install Updates & Power Off"
|
||||
msgstr "Instalarea actualizărilor și repornirea"
|
||||
|
||||
#: js/ui/endSessionDialog.js:66
|
||||
#: js/ui/endSessionDialog.js:59
|
||||
#, javascript-format
|
||||
msgid "The system will power off automatically in %d second."
|
||||
msgid_plural "The system will power off automatically in %d seconds."
|
||||
@@ -1226,27 +1216,27 @@ msgstr[0] "Sistemul se va opri automat în %d secundă."
|
||||
msgstr[1] "Sistemul se va opri automat în %d secunde."
|
||||
msgstr[2] "Sistemul se va opri automat în %d de secunde."
|
||||
|
||||
#: js/ui/endSessionDialog.js:70 js/ui/endSessionDialog.js:89
|
||||
#: js/ui/endSessionDialog.js:63
|
||||
msgctxt "checkbox"
|
||||
msgid "Install pending software updates"
|
||||
msgstr "Instalează actualizările în așteptare"
|
||||
|
||||
#: js/ui/endSessionDialog.js:74
|
||||
#: js/ui/endSessionDialog.js:66 js/ui/endSessionDialog.js:82
|
||||
msgctxt "button"
|
||||
msgid "Restart"
|
||||
msgstr "Repornire"
|
||||
|
||||
#: js/ui/endSessionDialog.js:68
|
||||
msgctxt "button"
|
||||
msgid "Power Off"
|
||||
msgstr "Oprire"
|
||||
|
||||
#: js/ui/endSessionDialog.js:81
|
||||
#: js/ui/endSessionDialog.js:74
|
||||
msgctxt "title"
|
||||
msgid "Restart"
|
||||
msgstr "Repornire"
|
||||
|
||||
#: js/ui/endSessionDialog.js:82
|
||||
msgctxt "title"
|
||||
msgid "Install Updates & Restart"
|
||||
msgstr "Instalează actualizările și repornește"
|
||||
|
||||
#: js/ui/endSessionDialog.js:85
|
||||
#: js/ui/endSessionDialog.js:76
|
||||
#, javascript-format
|
||||
msgid "The system will restart automatically in %d second."
|
||||
msgid_plural "The system will restart automatically in %d seconds."
|
||||
@@ -1254,17 +1244,12 @@ msgstr[0] "Sistemul se va reporni automat în %d secundă."
|
||||
msgstr[1] "Sistemul se va reporni automat în %d secunde."
|
||||
msgstr[2] "Sistemul se va reporni automat în %d de secunde."
|
||||
|
||||
#: js/ui/endSessionDialog.js:93
|
||||
msgctxt "button"
|
||||
msgid "Restart"
|
||||
msgstr "Repornire"
|
||||
|
||||
#: js/ui/endSessionDialog.js:101
|
||||
#: js/ui/endSessionDialog.js:89
|
||||
msgctxt "title"
|
||||
msgid "Restart & Install Updates"
|
||||
msgstr "Repornire și instalare actualizări"
|
||||
|
||||
#: js/ui/endSessionDialog.js:104
|
||||
#: js/ui/endSessionDialog.js:91
|
||||
#, javascript-format
|
||||
msgid "The system will automatically restart and install updates in %d second."
|
||||
msgid_plural ""
|
||||
@@ -1273,22 +1258,22 @@ msgstr[0] "Sistemul se va reporni automat în %d secundă."
|
||||
msgstr[1] "Sistemul se va reporni automat în %d secunde."
|
||||
msgstr[2] "Sistemul se va reporni automat în %d de secunde."
|
||||
|
||||
#: js/ui/endSessionDialog.js:111 js/ui/endSessionDialog.js:132
|
||||
#: js/ui/endSessionDialog.js:97 js/ui/endSessionDialog.js:116
|
||||
msgctxt "button"
|
||||
msgid "Restart & Install"
|
||||
msgstr "Repornește și instalează"
|
||||
|
||||
#: js/ui/endSessionDialog.js:113
|
||||
#: js/ui/endSessionDialog.js:98
|
||||
msgctxt "button"
|
||||
msgid "Install & Power Off"
|
||||
msgstr "Instalează și oprește"
|
||||
|
||||
#: js/ui/endSessionDialog.js:114
|
||||
#: js/ui/endSessionDialog.js:99
|
||||
msgctxt "checkbox"
|
||||
msgid "Power off after updates are installed"
|
||||
msgstr "Oprește după ce actualizările au fost instalate"
|
||||
|
||||
#: js/ui/endSessionDialog.js:121
|
||||
#: js/ui/endSessionDialog.js:106
|
||||
msgctxt "title"
|
||||
msgid "Restart & Install Upgrade"
|
||||
msgstr "Repornire și instalare înnoiri"
|
||||
@@ -1296,7 +1281,7 @@ msgstr "Repornire și instalare înnoiri"
|
||||
#. Translators: This is the text displayed for system upgrades in the
|
||||
#. shut down dialog. First %s gets replaced with the distro name and
|
||||
#. second %s with the distro version to upgrade to
|
||||
#: js/ui/endSessionDialog.js:126
|
||||
#: js/ui/endSessionDialog.js:111
|
||||
#, javascript-format
|
||||
msgid ""
|
||||
"%s %s will be installed after restart. Upgrade installation can take a long "
|
||||
@@ -1306,32 +1291,28 @@ msgstr ""
|
||||
"timp: asigurați-vă că ați făcut o copie de siguranță și că calculatorul este "
|
||||
"conectat la rețeaua electrică."
|
||||
|
||||
#: js/ui/endSessionDialog.js:284
|
||||
msgid "Low battery power: please plug in before installing updates."
|
||||
#: js/ui/endSessionDialog.js:259
|
||||
msgid "Running on battery power: Please plug in before installing updates."
|
||||
msgstr ""
|
||||
"Putere de baterie scăzută: conectați înainte de a instala actualizările."
|
||||
"Se rulează pe puterea bateriei: conectați-vă înainte de a instala "
|
||||
"actualizările."
|
||||
|
||||
#: js/ui/endSessionDialog.js:293
|
||||
#: js/ui/endSessionDialog.js:268
|
||||
msgid "Some applications are busy or have unsaved work"
|
||||
msgstr "Unele aplicații sunt ocupate sau au muncă nesalvată"
|
||||
|
||||
#: js/ui/endSessionDialog.js:298
|
||||
#: js/ui/endSessionDialog.js:273
|
||||
msgid "Other users are logged in"
|
||||
msgstr "Alți utilizatori sunt autentificați"
|
||||
|
||||
#: js/ui/endSessionDialog.js:467
|
||||
msgctxt "button"
|
||||
msgid "Boot Options"
|
||||
msgstr "Opțiuni de inițializare"
|
||||
|
||||
#. Translators: Remote here refers to a remote session, like a ssh login
|
||||
#: js/ui/endSessionDialog.js:685
|
||||
#: js/ui/endSessionDialog.js:583
|
||||
#, javascript-format
|
||||
msgid "%s (remote)"
|
||||
msgstr "%s (la distanță)"
|
||||
|
||||
#. Translators: Console here refers to a tty like a VT console
|
||||
#: js/ui/endSessionDialog.js:688
|
||||
#: js/ui/endSessionDialog.js:586
|
||||
#, javascript-format
|
||||
msgid "%s (console)"
|
||||
msgstr "%s (consolă)"
|
||||
@@ -1434,15 +1415,15 @@ msgid "Leave On"
|
||||
msgstr "Lasă pornit"
|
||||
|
||||
#: js/ui/kbdA11yDialog.js:55 js/ui/status/bluetooth.js:156
|
||||
#: js/ui/status/network.js:1315
|
||||
#: js/ui/status/network.js:1291
|
||||
msgid "Turn On"
|
||||
msgstr "Pornește"
|
||||
|
||||
#: js/ui/kbdA11yDialog.js:63 js/ui/status/bluetooth.js:156
|
||||
#: js/ui/status/network.js:160 js/ui/status/network.js:344
|
||||
#: js/ui/status/network.js:1315 js/ui/status/network.js:1427
|
||||
#: js/ui/status/network.js:135 js/ui/status/network.js:319
|
||||
#: js/ui/status/network.js:1291 js/ui/status/network.js:1403
|
||||
#: js/ui/status/nightLight.js:41 js/ui/status/rfkill.js:81
|
||||
#: js/ui/status/rfkill.js:110
|
||||
#: js/ui/status/rfkill.js:108
|
||||
msgid "Turn Off"
|
||||
msgstr "Oprește"
|
||||
|
||||
@@ -1503,11 +1484,11 @@ msgstr "Vizualizează sursa"
|
||||
msgid "Web Page"
|
||||
msgstr "Pagină Web"
|
||||
|
||||
#: js/ui/main.js:294
|
||||
#: js/ui/main.js:297
|
||||
msgid "Logged in as a privileged user"
|
||||
msgstr "Autentificat ca utilizator privilegiat"
|
||||
|
||||
#: js/ui/main.js:295
|
||||
#: js/ui/main.js:298
|
||||
msgid ""
|
||||
"Running a session as a privileged user should be avoided for security "
|
||||
"reasons. If possible, you should log in as a normal user."
|
||||
@@ -1516,11 +1497,11 @@ msgstr ""
|
||||
"pentru motive de securitate. Dacă este posibil, ar trebui să vă "
|
||||
"autentificați ca un utilizator normal."
|
||||
|
||||
#: js/ui/main.js:334
|
||||
#: js/ui/main.js:337
|
||||
msgid "Screen Lock disabled"
|
||||
msgstr "Blocarea ecranului este dezactivată"
|
||||
|
||||
#: js/ui/main.js:335
|
||||
#: js/ui/main.js:338
|
||||
msgid "Screen Locking requires the GNOME display manager."
|
||||
msgstr "Blocarea ecranului necesită administratorul de afișaj GNOME."
|
||||
|
||||
@@ -1613,7 +1594,7 @@ msgctxt "System menu in the top bar"
|
||||
msgid "System"
|
||||
msgstr "Sistem"
|
||||
|
||||
#: js/ui/panel.js:825
|
||||
#: js/ui/panel.js:827
|
||||
msgid "Top Bar"
|
||||
msgstr "Bara de sus"
|
||||
|
||||
@@ -1791,7 +1772,7 @@ msgstr "Text mare"
|
||||
msgid "Bluetooth"
|
||||
msgstr "Bluetooth"
|
||||
|
||||
#: js/ui/status/bluetooth.js:49 js/ui/status/network.js:619
|
||||
#: js/ui/status/bluetooth.js:49 js/ui/status/network.js:595
|
||||
msgid "Bluetooth Settings"
|
||||
msgstr "Configurări Bluetooth"
|
||||
|
||||
@@ -1875,18 +1856,18 @@ msgstr ""
|
||||
"Accesul la locație poate fi schimbat oricând din configurările de "
|
||||
"confidențialitate."
|
||||
|
||||
#: js/ui/status/network.js:71
|
||||
#: js/ui/status/network.js:70
|
||||
msgid "<unknown>"
|
||||
msgstr "<necunoscut>"
|
||||
|
||||
#. Translators: %s is a network identifier
|
||||
#: js/ui/status/network.js:449 js/ui/status/network.js:1344
|
||||
#: js/ui/status/network.js:424 js/ui/status/network.js:1320
|
||||
#, javascript-format
|
||||
msgid "%s Off"
|
||||
msgstr "%s oprit"
|
||||
|
||||
#. Translators: %s is a network identifier
|
||||
#: js/ui/status/network.js:452
|
||||
#: js/ui/status/network.js:427
|
||||
#, javascript-format
|
||||
msgid "%s Connected"
|
||||
msgstr "%s conectat"
|
||||
@@ -1894,164 +1875,164 @@ msgstr "%s conectat"
|
||||
#. Translators: this is for network devices that are physically present but are not
|
||||
#. under NetworkManager's control (and thus cannot be used in the menu);
|
||||
#. %s is a network identifier
|
||||
#: js/ui/status/network.js:457
|
||||
#: js/ui/status/network.js:432
|
||||
#, javascript-format
|
||||
msgid "%s Unmanaged"
|
||||
msgstr "%s este negestionat"
|
||||
|
||||
#. Translators: %s is a network identifier
|
||||
#: js/ui/status/network.js:460
|
||||
#: js/ui/status/network.js:435
|
||||
#, javascript-format
|
||||
msgid "%s Disconnecting"
|
||||
msgstr "Se deconectează %s"
|
||||
|
||||
#. Translators: %s is a network identifier
|
||||
#: js/ui/status/network.js:467 js/ui/status/network.js:1336
|
||||
#: js/ui/status/network.js:442 js/ui/status/network.js:1312
|
||||
#, javascript-format
|
||||
msgid "%s Connecting"
|
||||
msgstr "Se conectează %s"
|
||||
|
||||
#. Translators: this is for network connections that require some kind of key or password; %s is a network identifier
|
||||
#: js/ui/status/network.js:470
|
||||
#: js/ui/status/network.js:445
|
||||
#, javascript-format
|
||||
msgid "%s Requires Authentication"
|
||||
msgstr "%s necesită autentificare"
|
||||
|
||||
#. Translators: this is for devices that require some kind of firmware or kernel
|
||||
#. module, which is missing; %s is a network identifier
|
||||
#: js/ui/status/network.js:478
|
||||
#: js/ui/status/network.js:453
|
||||
#, javascript-format
|
||||
msgid "Firmware Missing For %s"
|
||||
msgstr "Firmware lipsă pentru %s"
|
||||
|
||||
#. Translators: this is for a network device that cannot be activated (for example it
|
||||
#. is disabled by rfkill, or it has no coverage; %s is a network identifier
|
||||
#: js/ui/status/network.js:482
|
||||
#: js/ui/status/network.js:457
|
||||
#, javascript-format
|
||||
msgid "%s Unavailable"
|
||||
msgstr "%s indisponibil"
|
||||
|
||||
#. Translators: %s is a network identifier
|
||||
#: js/ui/status/network.js:485
|
||||
#: js/ui/status/network.js:460
|
||||
#, javascript-format
|
||||
msgid "%s Connection Failed"
|
||||
msgstr "Conectarea la %s a eșuat"
|
||||
|
||||
#: js/ui/status/network.js:497
|
||||
#: js/ui/status/network.js:472
|
||||
msgid "Wired Settings"
|
||||
msgstr "Configurări pentru conexiune cu fir"
|
||||
|
||||
#: js/ui/status/network.js:540
|
||||
#: js/ui/status/network.js:515
|
||||
msgid "Mobile Broadband Settings"
|
||||
msgstr "Configurări de rețea de bandă largă mobilă"
|
||||
|
||||
#. Translators: %s is a network identifier
|
||||
#: js/ui/status/network.js:586 js/ui/status/network.js:1341
|
||||
#: js/ui/status/network.js:562 js/ui/status/network.js:1317
|
||||
#, javascript-format
|
||||
msgid "%s Hardware Disabled"
|
||||
msgstr "Hardware %s dezactivat"
|
||||
|
||||
#. Translators: this is for a network device that cannot be activated
|
||||
#. because it's disabled by rfkill (airplane mode); %s is a network identifier
|
||||
#: js/ui/status/network.js:590
|
||||
#: js/ui/status/network.js:566
|
||||
#, javascript-format
|
||||
msgid "%s Disabled"
|
||||
msgstr "%s dezactivat"
|
||||
|
||||
#: js/ui/status/network.js:631
|
||||
#: js/ui/status/network.js:607
|
||||
msgid "Connect to Internet"
|
||||
msgstr "Conectează la Internet"
|
||||
|
||||
#: js/ui/status/network.js:835
|
||||
#: js/ui/status/network.js:811
|
||||
msgid "Airplane Mode is On"
|
||||
msgstr "Modul avion este pornit"
|
||||
|
||||
#: js/ui/status/network.js:836
|
||||
#: js/ui/status/network.js:812
|
||||
msgid "Wi-Fi is disabled when airplane mode is on."
|
||||
msgstr "Wi-Fi este dezactivat când modul avion este pornit."
|
||||
|
||||
#: js/ui/status/network.js:837
|
||||
#: js/ui/status/network.js:813
|
||||
msgid "Turn Off Airplane Mode"
|
||||
msgstr "Oprește modul avion"
|
||||
|
||||
#: js/ui/status/network.js:846
|
||||
#: js/ui/status/network.js:822
|
||||
msgid "Wi-Fi is Off"
|
||||
msgstr "Wi-Fi este oprit"
|
||||
|
||||
#: js/ui/status/network.js:847
|
||||
#: js/ui/status/network.js:823
|
||||
msgid "Wi-Fi needs to be turned on in order to connect to a network."
|
||||
msgstr "Wi-Fi trebuie pornit pentru a se putea face conexiunea la o rețea."
|
||||
|
||||
#: js/ui/status/network.js:848
|
||||
#: js/ui/status/network.js:824
|
||||
msgid "Turn On Wi-Fi"
|
||||
msgstr "Pornește Wi-Fi"
|
||||
|
||||
#: js/ui/status/network.js:873
|
||||
#: js/ui/status/network.js:849
|
||||
msgid "Wi-Fi Networks"
|
||||
msgstr "Rețele Wi-Fi"
|
||||
|
||||
#: js/ui/status/network.js:875
|
||||
#: js/ui/status/network.js:851
|
||||
msgid "Select a network"
|
||||
msgstr "Selectați o rețea"
|
||||
|
||||
#: js/ui/status/network.js:907
|
||||
#: js/ui/status/network.js:883
|
||||
msgid "No Networks"
|
||||
msgstr "Nicio rețea"
|
||||
|
||||
#: js/ui/status/network.js:928 js/ui/status/rfkill.js:108
|
||||
#: js/ui/status/network.js:904 js/ui/status/rfkill.js:106
|
||||
msgid "Use hardware switch to turn off"
|
||||
msgstr "Folosește un întrerupător hardware pentru a opri"
|
||||
|
||||
#: js/ui/status/network.js:1205
|
||||
#: js/ui/status/network.js:1181
|
||||
msgid "Select Network"
|
||||
msgstr "Selectați rețeaua"
|
||||
|
||||
#: js/ui/status/network.js:1211
|
||||
#: js/ui/status/network.js:1187
|
||||
msgid "Wi-Fi Settings"
|
||||
msgstr "Configurări Wi-Fi"
|
||||
|
||||
#. Translators: %s is a network identifier
|
||||
#: js/ui/status/network.js:1332
|
||||
#: js/ui/status/network.js:1308
|
||||
#, javascript-format
|
||||
msgid "%s Hotspot Active"
|
||||
msgstr "Hotspot %s activ"
|
||||
|
||||
#. Translators: %s is a network identifier
|
||||
#: js/ui/status/network.js:1347
|
||||
#: js/ui/status/network.js:1323
|
||||
#, javascript-format
|
||||
msgid "%s Not Connected"
|
||||
msgstr "%s nu este conectat"
|
||||
|
||||
#: js/ui/status/network.js:1444
|
||||
#: js/ui/status/network.js:1420
|
||||
msgid "connecting…"
|
||||
msgstr "se conectează…"
|
||||
|
||||
#. Translators: this is for network connections that require some kind of key or password
|
||||
#: js/ui/status/network.js:1447
|
||||
#: js/ui/status/network.js:1423
|
||||
msgid "authentication required"
|
||||
msgstr "necesită autentificare"
|
||||
|
||||
#: js/ui/status/network.js:1449
|
||||
#: js/ui/status/network.js:1425
|
||||
msgid "connection failed"
|
||||
msgstr "conexiune eșuată"
|
||||
|
||||
#: js/ui/status/network.js:1500
|
||||
#: js/ui/status/network.js:1476
|
||||
msgid "VPN Settings"
|
||||
msgstr "Configurări VPN"
|
||||
|
||||
#: js/ui/status/network.js:1517
|
||||
#: js/ui/status/network.js:1493
|
||||
msgid "VPN"
|
||||
msgstr "VPN"
|
||||
|
||||
#: js/ui/status/network.js:1527
|
||||
#: js/ui/status/network.js:1503
|
||||
msgid "VPN Off"
|
||||
msgstr "VPN oprit"
|
||||
|
||||
#: js/ui/status/network.js:1588 js/ui/status/rfkill.js:84
|
||||
#: js/ui/status/network.js:1564 js/ui/status/rfkill.js:84
|
||||
msgid "Network Settings"
|
||||
msgstr "Configurări de rețea"
|
||||
|
||||
#: js/ui/status/network.js:1617
|
||||
#: js/ui/status/network.js:1593
|
||||
#, javascript-format
|
||||
msgid "%s Wired Connection"
|
||||
msgid_plural "%s Wired Connections"
|
||||
@@ -2059,7 +2040,7 @@ msgstr[0] "%s conexiune cu fir"
|
||||
msgstr[1] "%s conexiuni cu fir"
|
||||
msgstr[2] "%s de conexiuni cu fir"
|
||||
|
||||
#: js/ui/status/network.js:1621
|
||||
#: js/ui/status/network.js:1597
|
||||
#, javascript-format
|
||||
msgid "%s Wi-Fi Connection"
|
||||
msgid_plural "%s Wi-Fi Connections"
|
||||
@@ -2067,7 +2048,7 @@ msgstr[0] "%s conexiune fără fir"
|
||||
msgstr[1] "%s conexiuni fără fir"
|
||||
msgstr[2] "%s de conexiuni fără fir"
|
||||
|
||||
#: js/ui/status/network.js:1625
|
||||
#: js/ui/status/network.js:1601
|
||||
#, javascript-format
|
||||
msgid "%s Modem Connection"
|
||||
msgid_plural "%s Modem Connections"
|
||||
@@ -2075,11 +2056,11 @@ msgstr[0] "%s conexiune cu modem"
|
||||
msgstr[1] "%s conexiuni cu modem"
|
||||
msgstr[2] "%s de conexiuni cu modem"
|
||||
|
||||
#: js/ui/status/network.js:1759
|
||||
#: js/ui/status/network.js:1735
|
||||
msgid "Connection failed"
|
||||
msgstr "Conexiune eșuată"
|
||||
|
||||
#: js/ui/status/network.js:1760
|
||||
#: js/ui/status/network.js:1736
|
||||
msgid "Activation of network connection failed"
|
||||
msgstr "Activarea conexiunii de rețea a eșuat"
|
||||
|
||||
@@ -2134,11 +2115,11 @@ msgstr "%d∶%02d până este plină (%d%%)"
|
||||
msgid "%d %%"
|
||||
msgstr "%d%%"
|
||||
|
||||
#: js/ui/status/remoteAccess.js:45
|
||||
#: js/ui/status/remoteAccess.js:43
|
||||
msgid "Screen is Being Shared"
|
||||
msgstr "Ecranul este partajat"
|
||||
|
||||
#: js/ui/status/remoteAccess.js:47
|
||||
#: js/ui/status/remoteAccess.js:45
|
||||
msgid "Turn off"
|
||||
msgstr "Oprește"
|
||||
|
||||
@@ -2149,34 +2130,30 @@ msgstr "Oprește"
|
||||
msgid "Airplane Mode On"
|
||||
msgstr "Modul avion este pornit"
|
||||
|
||||
#: js/ui/status/system.js:104
|
||||
#: js/ui/status/system.js:102
|
||||
msgid "Lock"
|
||||
msgstr "Blocare"
|
||||
|
||||
#: js/ui/status/system.js:116
|
||||
#: js/ui/status/system.js:115
|
||||
msgid "Power Off / Log Out"
|
||||
msgstr "Oprire / Deautentificare"
|
||||
|
||||
#: js/ui/status/system.js:119
|
||||
msgid "Suspend"
|
||||
msgstr "Suspendare"
|
||||
|
||||
#: js/ui/status/system.js:130
|
||||
msgid "Restart…"
|
||||
msgstr "Repornește…"
|
||||
|
||||
#: js/ui/status/system.js:141
|
||||
msgid "Power Off…"
|
||||
msgstr "Se oprește…"
|
||||
|
||||
#: js/ui/status/system.js:154
|
||||
#: js/ui/status/system.js:118
|
||||
msgid "Log Out"
|
||||
msgstr "Ieșire din sesiune"
|
||||
|
||||
#: js/ui/status/system.js:165
|
||||
#: js/ui/status/system.js:130
|
||||
msgid "Switch User…"
|
||||
msgstr "Comută utilizatorul…"
|
||||
|
||||
#: js/ui/status/system.js:144
|
||||
msgid "Suspend"
|
||||
msgstr "Suspendare"
|
||||
|
||||
#: js/ui/status/system.js:156
|
||||
msgid "Power Off…"
|
||||
msgstr "Se oprește…"
|
||||
|
||||
#: js/ui/status/thunderbolt.js:263
|
||||
msgid "Thunderbolt"
|
||||
msgstr "Thunderbolt"
|
||||
@@ -2284,22 +2261,22 @@ msgid "“%s” is ready"
|
||||
msgstr "„%s” este gata"
|
||||
|
||||
#. Translators: This string should be shorter than 30 characters
|
||||
#: js/ui/windowManager.js:60
|
||||
#: js/ui/windowManager.js:55
|
||||
msgid "Keep these display settings?"
|
||||
msgstr "Doriți să păstrați aceste configurări de afișaj?"
|
||||
|
||||
#. Translators: this and the following message should be limited in length,
|
||||
#. to avoid ellipsizing the labels.
|
||||
#.
|
||||
#: js/ui/windowManager.js:69
|
||||
#: js/ui/windowManager.js:64
|
||||
msgid "Revert Settings"
|
||||
msgstr "Restaurează configurările"
|
||||
|
||||
#: js/ui/windowManager.js:72
|
||||
#: js/ui/windowManager.js:67
|
||||
msgid "Keep Changes"
|
||||
msgstr "Păstrați modificările"
|
||||
|
||||
#: js/ui/windowManager.js:91
|
||||
#: js/ui/windowManager.js:86
|
||||
#, javascript-format
|
||||
msgid "Settings changes will revert in %d second"
|
||||
msgid_plural "Settings changes will revert in %d seconds"
|
||||
@@ -2309,7 +2286,7 @@ msgstr[2] "Schimbările vor fi restaurare în %d de secunde"
|
||||
|
||||
#. Translators: This represents the size of a window. The first number is
|
||||
#. * the width of the window and the second is the height.
|
||||
#: js/ui/windowManager.js:551
|
||||
#: js/ui/windowManager.js:546
|
||||
#, javascript-format
|
||||
msgid "%d × %d"
|
||||
msgstr "%d × %d"
|
||||
@@ -3457,6 +3434,9 @@ msgstr "Sunete de sistem"
|
||||
#~ msgid "Power"
|
||||
#~ msgstr "Oprire"
|
||||
|
||||
#~ msgid "Restart"
|
||||
#~ msgstr "Repornire"
|
||||
|
||||
#~ msgid "Click Log Out to quit these applications and log out of the system."
|
||||
#~ msgstr ""
|
||||
#~ "Apăsați „Ieșire din sesiune” pentru a închide aceste aplicații și a ieși "
|
||||
|
372
po/tr.po
372
po/tr.po
@@ -17,8 +17,8 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: gnome-shell\n"
|
||||
"Report-Msgid-Bugs-To: https://gitlab.gnome.org/GNOME/gnome-shell/issues\n"
|
||||
"POT-Creation-Date: 2020-08-14 15:48+0000\n"
|
||||
"PO-Revision-Date: 2020-08-17 02:24+0300\n"
|
||||
"POT-Creation-Date: 2020-07-29 07:55+0000\n"
|
||||
"PO-Revision-Date: 2020-07-30 00:49+0300\n"
|
||||
"Last-Translator: Emin Tufan Çetin <etcetin@gmail.com>\n"
|
||||
"Language-Team: Türkçe <gnome-turk@gnome.org>\n"
|
||||
"Language: tr\n"
|
||||
@@ -26,7 +26,7 @@ msgstr ""
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Plural-Forms: nplurals=1; plural=0;\n"
|
||||
"X-Generator: Poedit 2.4\n"
|
||||
"X-Generator: Poedit 2.3\n"
|
||||
"X-Project-Style: gnome\n"
|
||||
|
||||
#: data/50-gnome-shell-system.xml:6
|
||||
@@ -236,10 +236,10 @@ msgid ""
|
||||
"“application id” → 'data' pair. Currently, the following values are stored "
|
||||
"as 'data': • “position”: the position of the application icon in the page"
|
||||
msgstr ""
|
||||
"Uygulama seçicinin düzeni. Dizideki her girdi bir sayfadır. Sayfalar GNOME "
|
||||
"Kabuğu’nda göründüğü sırayla depolanır. Her sayfa bir “application id” → "
|
||||
"'data' çifti içerir. Şimdilik şu değerler 'data' olarak depolanır: • "
|
||||
"“position”: sayfadaki uygulama simgesinin konumu"
|
||||
"Uygulama seçicinin düzeni. Dizideki her girdi bir sayfadır. Sayfalar "
|
||||
"GNOME Kabuğu’nda göründüğü sırayla depolanır. Her sayfa bir “application id” "
|
||||
"→ 'data' çifti içerir. Şimdilik şu değerler 'data' olarak depolanır: "
|
||||
"• “position”: sayfadaki uygulama simgesinin konumu"
|
||||
|
||||
#: data/org.gnome.shell.gschema.xml.in:130
|
||||
msgid "Keybinding to open the application menu"
|
||||
@@ -445,18 +445,18 @@ msgid "Visit extension homepage"
|
||||
msgstr "Uzantı ana sayfasını ziyaret et"
|
||||
|
||||
#: js/gdm/authPrompt.js:135 js/ui/audioDeviceSelection.js:57
|
||||
#: js/ui/components/networkAgent.js:111 js/ui/components/polkitAgent.js:139
|
||||
#: js/ui/endSessionDialog.js:438 js/ui/extensionDownloader.js:183
|
||||
#: js/ui/components/networkAgent.js:110 js/ui/components/polkitAgent.js:139
|
||||
#: js/ui/endSessionDialog.js:369 js/ui/extensionDownloader.js:183
|
||||
#: js/ui/shellMountOperation.js:376 js/ui/shellMountOperation.js:386
|
||||
#: js/ui/status/network.js:940 subprojects/extensions-app/js/main.js:149
|
||||
#: js/ui/status/network.js:916 subprojects/extensions-app/js/main.js:149
|
||||
msgid "Cancel"
|
||||
msgstr "İptal"
|
||||
|
||||
#. Cisco LEAP
|
||||
#: js/gdm/authPrompt.js:237 js/ui/components/networkAgent.js:206
|
||||
#: js/ui/components/networkAgent.js:222 js/ui/components/networkAgent.js:246
|
||||
#: js/ui/components/networkAgent.js:267 js/ui/components/networkAgent.js:287
|
||||
#: js/ui/components/networkAgent.js:297 js/ui/components/polkitAgent.js:277
|
||||
#: js/gdm/authPrompt.js:237 js/ui/components/networkAgent.js:205
|
||||
#: js/ui/components/networkAgent.js:221 js/ui/components/networkAgent.js:245
|
||||
#: js/ui/components/networkAgent.js:266 js/ui/components/networkAgent.js:286
|
||||
#: js/ui/components/networkAgent.js:296 js/ui/components/polkitAgent.js:277
|
||||
#: js/ui/shellMountOperation.js:326
|
||||
msgid "Password"
|
||||
msgstr "Parola"
|
||||
@@ -479,8 +479,8 @@ 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:918 js/ui/components/networkAgent.js:242
|
||||
#: js/ui/components/networkAgent.js:265 js/ui/components/networkAgent.js:283
|
||||
#: js/gdm/loginDialog.js:918 js/ui/components/networkAgent.js:241
|
||||
#: js/ui/components/networkAgent.js:264 js/ui/components/networkAgent.js:282
|
||||
msgid "Username"
|
||||
msgstr "Kullanıcı Adı"
|
||||
|
||||
@@ -502,82 +502,71 @@ msgid "(or swipe finger)"
|
||||
msgstr "(ya da parmak izi okut)"
|
||||
|
||||
#. Translators: The name of the power-off action in search
|
||||
#: js/misc/systemActions.js:91
|
||||
#: js/misc/systemActions.js:93
|
||||
msgctxt "search-result"
|
||||
msgid "Power Off"
|
||||
msgstr "Bilgisayarı Kapat"
|
||||
|
||||
#. Translators: A list of keywords that match the power-off action, separated by semicolons
|
||||
#: js/misc/systemActions.js:94
|
||||
msgid "power off;shutdown;halt;stop"
|
||||
msgstr "gücü kapat;bilgisayarı kapat;duraklat;durdur"
|
||||
|
||||
#. Translators: The name of the restart action in search
|
||||
#: js/misc/systemActions.js:99
|
||||
msgctxt "search-result"
|
||||
msgid "Restart"
|
||||
msgstr "Yeniden Başlat"
|
||||
|
||||
#. Translators: A list of keywords that match the restart action, separated by semicolons
|
||||
#: js/misc/systemActions.js:102
|
||||
msgid "reboot;restart;"
|
||||
msgstr "yeniden önyükle;yeniden başlat;"
|
||||
#: js/misc/systemActions.js:96
|
||||
msgid "power off;shutdown;reboot;restart;halt;stop"
|
||||
msgstr "gücü kapat;bilgisayarı kapat;yeniden başlat;duraklat;durdur"
|
||||
|
||||
#. Translators: The name of the lock screen action in search
|
||||
#: js/misc/systemActions.js:107
|
||||
#: js/misc/systemActions.js:101
|
||||
msgctxt "search-result"
|
||||
msgid "Lock Screen"
|
||||
msgstr "Ekranı Kilitle"
|
||||
|
||||
#. Translators: A list of keywords that match the lock screen action, separated by semicolons
|
||||
#: js/misc/systemActions.js:110
|
||||
#: js/misc/systemActions.js:104
|
||||
msgid "lock screen"
|
||||
msgstr "ekranı kilitle"
|
||||
|
||||
#. Translators: The name of the logout action in search
|
||||
#: js/misc/systemActions.js:115
|
||||
#: js/misc/systemActions.js:109
|
||||
msgctxt "search-result"
|
||||
msgid "Log Out"
|
||||
msgstr "Oturumu Kapat"
|
||||
|
||||
#. Translators: A list of keywords that match the logout action, separated by semicolons
|
||||
#: js/misc/systemActions.js:118
|
||||
#: js/misc/systemActions.js:112
|
||||
msgid "logout;log out;sign off"
|
||||
msgstr "çıkış;oturumu kapat;çıkış yap"
|
||||
|
||||
#. Translators: The name of the suspend action in search
|
||||
#: js/misc/systemActions.js:123
|
||||
#: js/misc/systemActions.js:117
|
||||
msgctxt "search-result"
|
||||
msgid "Suspend"
|
||||
msgstr "Bilgisayarı beklet"
|
||||
|
||||
#. Translators: A list of keywords that match the suspend action, separated by semicolons
|
||||
#: js/misc/systemActions.js:126
|
||||
#: js/misc/systemActions.js:120
|
||||
msgid "suspend;sleep"
|
||||
msgstr "beklet;uyku;duraklat"
|
||||
|
||||
#. Translators: The name of the switch user action in search
|
||||
#: js/misc/systemActions.js:131
|
||||
#: js/misc/systemActions.js:125
|
||||
msgctxt "search-result"
|
||||
msgid "Switch User"
|
||||
msgstr "Kullanıcı Değiştir"
|
||||
|
||||
#. Translators: A list of keywords that match the switch user action, separated by semicolons
|
||||
#: js/misc/systemActions.js:134
|
||||
#: js/misc/systemActions.js:128
|
||||
msgid "switch user"
|
||||
msgstr "kullanıcı değiştir"
|
||||
|
||||
#. Translators: A list of keywords that match the lock orientation action, separated by semicolons
|
||||
#: js/misc/systemActions.js:141
|
||||
#: js/misc/systemActions.js:135
|
||||
msgid "lock orientation;unlock orientation;screen;rotation"
|
||||
msgstr "yönelimi kilitle;yönelim kilidini kaldır;ekran;döndürme"
|
||||
|
||||
#: js/misc/systemActions.js:266
|
||||
#: js/misc/systemActions.js:255
|
||||
msgctxt "search-result"
|
||||
msgid "Unlock Screen Rotation"
|
||||
msgstr "Ekran Döndürme Kilidini Kaldır"
|
||||
|
||||
#: js/misc/systemActions.js:267
|
||||
#: js/misc/systemActions.js:256
|
||||
msgctxt "search-result"
|
||||
msgid "Lock Screen Rotation"
|
||||
msgstr "Ekran Döndürmeyi Kilitle"
|
||||
@@ -742,31 +731,31 @@ msgid "Unnamed Folder"
|
||||
msgstr "Adsız Klasör"
|
||||
|
||||
#. Translators: This is the heading of a list of open windows
|
||||
#: js/ui/appDisplay.js:2766 js/ui/panel.js:75
|
||||
#: js/ui/appDisplay.js:2767 js/ui/panel.js:75
|
||||
msgid "Open Windows"
|
||||
msgstr "Açık Pencereler"
|
||||
|
||||
#: js/ui/appDisplay.js:2785 js/ui/panel.js:82
|
||||
#: js/ui/appDisplay.js:2786 js/ui/panel.js:82
|
||||
msgid "New Window"
|
||||
msgstr "Yeni Pencere"
|
||||
|
||||
#: js/ui/appDisplay.js:2801
|
||||
#: js/ui/appDisplay.js:2802
|
||||
msgid "Launch using Integrated Graphics Card"
|
||||
msgstr "Tümleşik Ekran Kartıyla Başlat"
|
||||
|
||||
#: js/ui/appDisplay.js:2802
|
||||
#: js/ui/appDisplay.js:2803
|
||||
msgid "Launch using Discrete Graphics Card"
|
||||
msgstr "Ayrık Ekran Kartıyla Başlat"
|
||||
|
||||
#: js/ui/appDisplay.js:2830 js/ui/dash.js:239
|
||||
#: js/ui/appDisplay.js:2831 js/ui/dash.js:239
|
||||
msgid "Remove from Favorites"
|
||||
msgstr "Sık Kullanılanlardan Çıkar"
|
||||
|
||||
#: js/ui/appDisplay.js:2836
|
||||
#: js/ui/appDisplay.js:2837
|
||||
msgid "Add to Favorites"
|
||||
msgstr "Sık Kullanılanlara Ekle"
|
||||
|
||||
#: js/ui/appDisplay.js:2846 js/ui/panel.js:93
|
||||
#: js/ui/appDisplay.js:2847 js/ui/panel.js:93
|
||||
msgid "Show Details"
|
||||
msgstr "Ayrıntıları Göster"
|
||||
|
||||
@@ -960,40 +949,40 @@ msgstr "Kurulu udisks sürümü PIM ayarını desteklemiyor"
|
||||
msgid "Open with %s"
|
||||
msgstr "%s ile Aç"
|
||||
|
||||
#: js/ui/components/networkAgent.js:93
|
||||
#: js/ui/components/networkAgent.js:92
|
||||
msgid ""
|
||||
"Alternatively you can connect by pushing the “WPS” button on your router."
|
||||
msgstr ""
|
||||
"Diğer seçenek olarak, yönlendiricinizde “WPS” düğmesini kullanarak "
|
||||
"bağlayabilirsiniz."
|
||||
|
||||
#: js/ui/components/networkAgent.js:105 js/ui/status/network.js:252
|
||||
#: js/ui/status/network.js:343 js/ui/status/network.js:943
|
||||
#: js/ui/components/networkAgent.js:104 js/ui/status/network.js:227
|
||||
#: js/ui/status/network.js:318 js/ui/status/network.js:919
|
||||
msgid "Connect"
|
||||
msgstr "Bağlan"
|
||||
|
||||
#: js/ui/components/networkAgent.js:212
|
||||
#: js/ui/components/networkAgent.js:211
|
||||
msgid "Key"
|
||||
msgstr "Anahtar"
|
||||
|
||||
#: js/ui/components/networkAgent.js:250 js/ui/components/networkAgent.js:273
|
||||
#: js/ui/components/networkAgent.js:249 js/ui/components/networkAgent.js:272
|
||||
msgid "Private key password"
|
||||
msgstr "Özel anahtar parolası"
|
||||
|
||||
#: js/ui/components/networkAgent.js:271
|
||||
#: js/ui/components/networkAgent.js:270
|
||||
msgid "Identity"
|
||||
msgstr "Kimlik"
|
||||
|
||||
#: js/ui/components/networkAgent.js:285
|
||||
#: js/ui/components/networkAgent.js:284
|
||||
msgid "Service"
|
||||
msgstr "Hizmet"
|
||||
|
||||
#: js/ui/components/networkAgent.js:314 js/ui/components/networkAgent.js:342
|
||||
#: js/ui/components/networkAgent.js:675 js/ui/components/networkAgent.js:696
|
||||
#: js/ui/components/networkAgent.js:313 js/ui/components/networkAgent.js:341
|
||||
#: js/ui/components/networkAgent.js:680 js/ui/components/networkAgent.js:701
|
||||
msgid "Authentication required"
|
||||
msgstr "Kimlik doğrulama gerekir"
|
||||
|
||||
#: js/ui/components/networkAgent.js:315 js/ui/components/networkAgent.js:676
|
||||
#: js/ui/components/networkAgent.js:314 js/ui/components/networkAgent.js:681
|
||||
#, javascript-format
|
||||
msgid ""
|
||||
"Passwords or encryption keys are required to access the wireless network "
|
||||
@@ -1001,42 +990,42 @@ msgid ""
|
||||
msgstr ""
|
||||
"“%s” kablosuz ağına erişmek için parola veya şifreleme anahtarları gerekiyor."
|
||||
|
||||
#: js/ui/components/networkAgent.js:319 js/ui/components/networkAgent.js:680
|
||||
#: js/ui/components/networkAgent.js:318 js/ui/components/networkAgent.js:685
|
||||
msgid "Wired 802.1X authentication"
|
||||
msgstr "Kablolu 802.1X kimlik doğrulaması"
|
||||
|
||||
#: js/ui/components/networkAgent.js:321
|
||||
#: js/ui/components/networkAgent.js:320
|
||||
msgid "Network name"
|
||||
msgstr "Ağ adı"
|
||||
|
||||
#: js/ui/components/networkAgent.js:326 js/ui/components/networkAgent.js:684
|
||||
#: js/ui/components/networkAgent.js:325 js/ui/components/networkAgent.js:689
|
||||
msgid "DSL authentication"
|
||||
msgstr "DSL kimlik doğrulama"
|
||||
|
||||
#: js/ui/components/networkAgent.js:333 js/ui/components/networkAgent.js:689
|
||||
#: js/ui/components/networkAgent.js:332 js/ui/components/networkAgent.js:694
|
||||
msgid "PIN code required"
|
||||
msgstr "PIN kodu gerekli"
|
||||
|
||||
#: js/ui/components/networkAgent.js:334 js/ui/components/networkAgent.js:690
|
||||
#: js/ui/components/networkAgent.js:333 js/ui/components/networkAgent.js:695
|
||||
msgid "PIN code is needed for the mobile broadband device"
|
||||
msgstr "Mobil geniş bant aygıtı için PIN kodu gerekli"
|
||||
|
||||
#: js/ui/components/networkAgent.js:335
|
||||
#: js/ui/components/networkAgent.js:334
|
||||
msgid "PIN"
|
||||
msgstr "PIN"
|
||||
|
||||
#: js/ui/components/networkAgent.js:343 js/ui/components/networkAgent.js:681
|
||||
#: js/ui/components/networkAgent.js:685 js/ui/components/networkAgent.js:697
|
||||
#: js/ui/components/networkAgent.js:701
|
||||
#: js/ui/components/networkAgent.js:342 js/ui/components/networkAgent.js:686
|
||||
#: js/ui/components/networkAgent.js:690 js/ui/components/networkAgent.js:702
|
||||
#: js/ui/components/networkAgent.js:706
|
||||
#, javascript-format
|
||||
msgid "A password is required to connect to “%s”."
|
||||
msgstr "“%s”e bağlanmak için parola gerekli."
|
||||
|
||||
#: js/ui/components/networkAgent.js:664 js/ui/status/network.js:1718
|
||||
#: js/ui/components/networkAgent.js:669 js/ui/status/network.js:1694
|
||||
msgid "Network Manager"
|
||||
msgstr "Ağ Yöneticisi"
|
||||
|
||||
#: js/ui/components/networkAgent.js:700
|
||||
#: js/ui/components/networkAgent.js:705
|
||||
msgid "VPN password"
|
||||
msgstr "VPN parolası"
|
||||
|
||||
@@ -1158,87 +1147,82 @@ msgstr "Hava Durumu"
|
||||
msgid "Select weather location…"
|
||||
msgstr "Hava durumu konumu seç…"
|
||||
|
||||
#: js/ui/endSessionDialog.js:39
|
||||
#: js/ui/endSessionDialog.js:37
|
||||
#, javascript-format
|
||||
msgctxt "title"
|
||||
msgid "Log Out %s"
|
||||
msgstr "%s Oturumunu Kapat"
|
||||
|
||||
#: js/ui/endSessionDialog.js:40
|
||||
#: js/ui/endSessionDialog.js:38
|
||||
msgctxt "title"
|
||||
msgid "Log Out"
|
||||
msgstr "Oturumu Kapat"
|
||||
|
||||
#: js/ui/endSessionDialog.js:43
|
||||
#: js/ui/endSessionDialog.js:40
|
||||
#, javascript-format
|
||||
msgid "%s will be logged out automatically in %d second."
|
||||
msgid_plural "%s will be logged out automatically in %d seconds."
|
||||
msgstr[0] "%s oturumu %d saniye içinde kendiliğinden kapatılacak."
|
||||
|
||||
#: js/ui/endSessionDialog.js:49
|
||||
#: js/ui/endSessionDialog.js:45
|
||||
#, javascript-format
|
||||
msgid "You will be logged out automatically in %d second."
|
||||
msgid_plural "You will be logged out automatically in %d seconds."
|
||||
msgstr[0] "%d saniye içinde oturumunuz kendiliğinden kapatılacak."
|
||||
|
||||
#: js/ui/endSessionDialog.js:56
|
||||
#: js/ui/endSessionDialog.js:51
|
||||
msgctxt "button"
|
||||
msgid "Log Out"
|
||||
msgstr "Çıkış"
|
||||
|
||||
#: js/ui/endSessionDialog.js:62
|
||||
#: js/ui/endSessionDialog.js:56
|
||||
msgctxt "title"
|
||||
msgid "Power Off"
|
||||
msgstr "Bilgisayarı Kapat"
|
||||
|
||||
#: js/ui/endSessionDialog.js:63
|
||||
#: js/ui/endSessionDialog.js:57
|
||||
msgctxt "title"
|
||||
msgid "Install Updates & Power Off"
|
||||
msgstr "Güncelleştirmeleri Kur ve Kapat"
|
||||
|
||||
#: js/ui/endSessionDialog.js:66
|
||||
#: js/ui/endSessionDialog.js:59
|
||||
#, javascript-format
|
||||
msgid "The system will power off automatically in %d second."
|
||||
msgid_plural "The system will power off automatically in %d seconds."
|
||||
msgstr[0] "Sistem %d saniye içinde kendiliğinden kapanacak."
|
||||
|
||||
#: js/ui/endSessionDialog.js:70 js/ui/endSessionDialog.js:89
|
||||
#: js/ui/endSessionDialog.js:63
|
||||
msgctxt "checkbox"
|
||||
msgid "Install pending software updates"
|
||||
msgstr "Beklemede olan yazılım güncelleştirmelerini kur"
|
||||
|
||||
#: js/ui/endSessionDialog.js:74
|
||||
#: js/ui/endSessionDialog.js:66 js/ui/endSessionDialog.js:82
|
||||
msgctxt "button"
|
||||
msgid "Restart"
|
||||
msgstr "Yeniden Başlat"
|
||||
|
||||
#: js/ui/endSessionDialog.js:68
|
||||
msgctxt "button"
|
||||
msgid "Power Off"
|
||||
msgstr "Kapat"
|
||||
|
||||
#: js/ui/endSessionDialog.js:81
|
||||
#: js/ui/endSessionDialog.js:74
|
||||
msgctxt "title"
|
||||
msgid "Restart"
|
||||
msgstr "Bilgisayarı Yeniden Başlat"
|
||||
|
||||
#: js/ui/endSessionDialog.js:82
|
||||
msgctxt "title"
|
||||
msgid "Install Updates & Restart"
|
||||
msgstr "Güncelleştirmeleri Kur ve Yeniden Başlat"
|
||||
|
||||
#: js/ui/endSessionDialog.js:85
|
||||
#: js/ui/endSessionDialog.js:76
|
||||
#, javascript-format
|
||||
msgid "The system will restart automatically in %d second."
|
||||
msgid_plural "The system will restart automatically in %d seconds."
|
||||
msgstr[0] "Sistem %d saniye içinde kendiliğinden yeniden başlayacak."
|
||||
|
||||
#: js/ui/endSessionDialog.js:93
|
||||
msgctxt "button"
|
||||
msgid "Restart"
|
||||
msgstr "Yeniden Başlat"
|
||||
|
||||
#: js/ui/endSessionDialog.js:101
|
||||
#: js/ui/endSessionDialog.js:89
|
||||
msgctxt "title"
|
||||
msgid "Restart & Install Updates"
|
||||
msgstr "Yeniden Başlat ve Güncelleştirmeleri Kur"
|
||||
|
||||
#: js/ui/endSessionDialog.js:104
|
||||
#: js/ui/endSessionDialog.js:91
|
||||
#, javascript-format
|
||||
msgid "The system will automatically restart and install updates in %d second."
|
||||
msgid_plural ""
|
||||
@@ -1247,22 +1231,22 @@ msgstr[0] ""
|
||||
"Sistem %d saniye içinde kendiliğinden yeniden başlayacak ve "
|
||||
"güncelleştirmeleri kuracak."
|
||||
|
||||
#: js/ui/endSessionDialog.js:111 js/ui/endSessionDialog.js:132
|
||||
#: js/ui/endSessionDialog.js:97 js/ui/endSessionDialog.js:116
|
||||
msgctxt "button"
|
||||
msgid "Restart & Install"
|
||||
msgstr "Yeniden Başlat ve Kur"
|
||||
|
||||
#: js/ui/endSessionDialog.js:113
|
||||
#: js/ui/endSessionDialog.js:98
|
||||
msgctxt "button"
|
||||
msgid "Install & Power Off"
|
||||
msgstr "Kur ve Kapat"
|
||||
|
||||
#: js/ui/endSessionDialog.js:114
|
||||
#: js/ui/endSessionDialog.js:99
|
||||
msgctxt "checkbox"
|
||||
msgid "Power off after updates are installed"
|
||||
msgstr "Güncelleştirmeler kurulduktan sonra kapat"
|
||||
|
||||
#: js/ui/endSessionDialog.js:121
|
||||
#: js/ui/endSessionDialog.js:106
|
||||
msgctxt "title"
|
||||
msgid "Restart & Install Upgrade"
|
||||
msgstr "Yeniden Başlat ve Yükseltmeyi Kur"
|
||||
@@ -1270,7 +1254,7 @@ msgstr "Yeniden Başlat ve Yükseltmeyi Kur"
|
||||
#. Translators: This is the text displayed for system upgrades in the
|
||||
#. shut down dialog. First %s gets replaced with the distro name and
|
||||
#. second %s with the distro version to upgrade to
|
||||
#: js/ui/endSessionDialog.js:126
|
||||
#: js/ui/endSessionDialog.js:111
|
||||
#, javascript-format
|
||||
msgid ""
|
||||
"%s %s will be installed after restart. Upgrade installation can take a long "
|
||||
@@ -1280,31 +1264,27 @@ msgstr ""
|
||||
"uzun sürebilir: verilerinizi yedeklediğinizden ve bilgisayarınızın prize "
|
||||
"takılı olduğundan emin olun."
|
||||
|
||||
#: js/ui/endSessionDialog.js:284
|
||||
msgid "Low battery power: please plug in before installing updates."
|
||||
msgstr "Düşük pil gücü: lütfen güncelleştirmeleri kurmadan önce fişi takın."
|
||||
#: js/ui/endSessionDialog.js:259
|
||||
msgid "Running on battery power: Please plug in before installing updates."
|
||||
msgstr ""
|
||||
"Pil gücünde çalışıyor: lütfen güncelleştirmeleri kurmadan önce fişi takın."
|
||||
|
||||
#: js/ui/endSessionDialog.js:293
|
||||
#: js/ui/endSessionDialog.js:268
|
||||
msgid "Some applications are busy or have unsaved work"
|
||||
msgstr "Bazı uygulamalar meşgul ya da kaydedilmemiş verisi var"
|
||||
|
||||
#: js/ui/endSessionDialog.js:298
|
||||
#: js/ui/endSessionDialog.js:273
|
||||
msgid "Other users are logged in"
|
||||
msgstr "Diğer kullanıcılar oturum açmış"
|
||||
|
||||
#: js/ui/endSessionDialog.js:467
|
||||
msgctxt "button"
|
||||
msgid "Boot Options"
|
||||
msgstr "Önyükleme Seçenekleri"
|
||||
|
||||
#. Translators: Remote here refers to a remote session, like a ssh login
|
||||
#: js/ui/endSessionDialog.js:685
|
||||
#: js/ui/endSessionDialog.js:583
|
||||
#, javascript-format
|
||||
msgid "%s (remote)"
|
||||
msgstr "%s (uzak)"
|
||||
|
||||
#. Translators: Console here refers to a tty like a VT console
|
||||
#: js/ui/endSessionDialog.js:688
|
||||
#: js/ui/endSessionDialog.js:586
|
||||
#, javascript-format
|
||||
msgid "%s (console)"
|
||||
msgstr "%s (uçbirim)"
|
||||
@@ -1315,18 +1295,18 @@ msgstr "Kur"
|
||||
|
||||
#: js/ui/extensionDownloader.js:193
|
||||
msgid "Install Extension"
|
||||
msgstr "Uzantı Kur"
|
||||
msgstr "Uzantı Yükle"
|
||||
|
||||
#: js/ui/extensionDownloader.js:194
|
||||
#, javascript-format
|
||||
msgid "Download and install “%s” from extensions.gnome.org?"
|
||||
msgstr "“%s” uzantısı extensions.gnome.org üstünden indirilip kurulsun mu?"
|
||||
msgstr "extensions.gnome.org üstünden “%s” uzantısı indirilip kurulsun mu?"
|
||||
|
||||
#: js/ui/extensionSystem.js:253
|
||||
#: js/ui/extensionSystem.js:252
|
||||
msgid "Extension Updates Available"
|
||||
msgstr "Uzantı Güncellemeleri Var"
|
||||
|
||||
#: js/ui/extensionSystem.js:254
|
||||
#: js/ui/extensionSystem.js:253
|
||||
msgid "Extension updates are ready to be installed."
|
||||
msgstr "Uzantı güncellemeleri kuruluma hazır."
|
||||
|
||||
@@ -1404,15 +1384,15 @@ msgid "Leave On"
|
||||
msgstr "Açık Bırak"
|
||||
|
||||
#: js/ui/kbdA11yDialog.js:55 js/ui/status/bluetooth.js:156
|
||||
#: js/ui/status/network.js:1315
|
||||
#: js/ui/status/network.js:1291
|
||||
msgid "Turn On"
|
||||
msgstr "Aç"
|
||||
|
||||
#: js/ui/kbdA11yDialog.js:63 js/ui/status/bluetooth.js:156
|
||||
#: js/ui/status/network.js:160 js/ui/status/network.js:344
|
||||
#: js/ui/status/network.js:1315 js/ui/status/network.js:1427
|
||||
#: js/ui/status/network.js:135 js/ui/status/network.js:319
|
||||
#: js/ui/status/network.js:1291 js/ui/status/network.js:1403
|
||||
#: js/ui/status/nightLight.js:41 js/ui/status/rfkill.js:81
|
||||
#: js/ui/status/rfkill.js:110
|
||||
#: js/ui/status/rfkill.js:108
|
||||
msgid "Turn Off"
|
||||
msgstr "Kapat"
|
||||
|
||||
@@ -1420,7 +1400,7 @@ msgstr "Kapat"
|
||||
msgid "Leave Off"
|
||||
msgstr "Kapalı Bırak"
|
||||
|
||||
#: js/ui/keyboard.js:226
|
||||
#: js/ui/keyboard.js:225
|
||||
msgid "Region & Language Settings"
|
||||
msgstr "Bölge ve Dil Ayarları"
|
||||
|
||||
@@ -1473,11 +1453,11 @@ msgstr "Kaynağı Görüntüle"
|
||||
msgid "Web Page"
|
||||
msgstr "Web Sayfası"
|
||||
|
||||
#: js/ui/main.js:294
|
||||
#: js/ui/main.js:297
|
||||
msgid "Logged in as a privileged user"
|
||||
msgstr "Yetkili kullanıcı olarak oturum açılmış"
|
||||
|
||||
#: js/ui/main.js:295
|
||||
#: js/ui/main.js:298
|
||||
msgid ""
|
||||
"Running a session as a privileged user should be avoided for security "
|
||||
"reasons. If possible, you should log in as a normal user."
|
||||
@@ -1485,11 +1465,11 @@ msgstr ""
|
||||
"Oturumu öncelikli kullanıcı olarak çalıştırmaktan güvenlik nedeniyle "
|
||||
"kaçınılmalıdır. Eğer olasıysa sıradan kullanıcı olarak giriş yapmalısınız."
|
||||
|
||||
#: js/ui/main.js:334
|
||||
#: js/ui/main.js:337
|
||||
msgid "Screen Lock disabled"
|
||||
msgstr "Ekran Kilidi devre dışı"
|
||||
|
||||
#: js/ui/main.js:335
|
||||
#: js/ui/main.js:338
|
||||
msgid "Screen Locking requires the GNOME display manager."
|
||||
msgstr "Ekran Kilitleme, GNOME ekran yöneticisi gerektirir."
|
||||
|
||||
@@ -1523,27 +1503,27 @@ msgstr "Genel Görünüm"
|
||||
msgid "Type to search"
|
||||
msgstr "Aramak için yaz"
|
||||
|
||||
#: js/ui/padOsd.js:96
|
||||
#: js/ui/padOsd.js:95
|
||||
msgid "New shortcut…"
|
||||
msgstr "Yeni kısayol…"
|
||||
|
||||
#: js/ui/padOsd.js:143
|
||||
#: js/ui/padOsd.js:142
|
||||
msgid "Application defined"
|
||||
msgstr "Uygulama tanımlı"
|
||||
|
||||
#: js/ui/padOsd.js:144
|
||||
#: js/ui/padOsd.js:143
|
||||
msgid "Show on-screen help"
|
||||
msgstr "Ekranda yardımı göster"
|
||||
|
||||
#: js/ui/padOsd.js:145
|
||||
#: js/ui/padOsd.js:144
|
||||
msgid "Switch monitor"
|
||||
msgstr "Monitör değiştir"
|
||||
|
||||
#: js/ui/padOsd.js:146
|
||||
#: js/ui/padOsd.js:145
|
||||
msgid "Assign keystroke"
|
||||
msgstr "Tuş vuruşu ata"
|
||||
|
||||
#: js/ui/padOsd.js:212
|
||||
#: js/ui/padOsd.js:211
|
||||
msgid "Done"
|
||||
msgstr "Bitti"
|
||||
|
||||
@@ -1582,7 +1562,7 @@ msgctxt "System menu in the top bar"
|
||||
msgid "System"
|
||||
msgstr "Sistem"
|
||||
|
||||
#: js/ui/panel.js:825
|
||||
#: js/ui/panel.js:827
|
||||
msgid "Top Bar"
|
||||
msgstr "Tepe Çubuğu"
|
||||
|
||||
@@ -1758,7 +1738,7 @@ msgstr "Büyük Yazı"
|
||||
msgid "Bluetooth"
|
||||
msgstr "Bluetooth"
|
||||
|
||||
#: js/ui/status/bluetooth.js:49 js/ui/status/network.js:619
|
||||
#: js/ui/status/bluetooth.js:49 js/ui/status/network.js:595
|
||||
msgid "Bluetooth Settings"
|
||||
msgstr "Bluetooth Ayarları"
|
||||
|
||||
@@ -1840,18 +1820,18 @@ msgstr "%s uygulaması konumunuza erişmek istiyor"
|
||||
msgid "Location access can be changed at any time from the privacy settings."
|
||||
msgstr "Konum erişimi, gizlilik ayarlarından her zaman değiştirilebilir."
|
||||
|
||||
#: js/ui/status/network.js:71
|
||||
#: js/ui/status/network.js:70
|
||||
msgid "<unknown>"
|
||||
msgstr "<bilinmeyen>"
|
||||
|
||||
#. Translators: %s is a network identifier
|
||||
#: js/ui/status/network.js:449 js/ui/status/network.js:1344
|
||||
#: js/ui/status/network.js:424 js/ui/status/network.js:1320
|
||||
#, javascript-format
|
||||
msgid "%s Off"
|
||||
msgstr "%s Kapalı"
|
||||
|
||||
#. Translators: %s is a network identifier
|
||||
#: js/ui/status/network.js:452
|
||||
#: js/ui/status/network.js:427
|
||||
#, javascript-format
|
||||
msgid "%s Connected"
|
||||
msgstr "%s Bağlandı"
|
||||
@@ -1859,186 +1839,186 @@ msgstr "%s Bağlandı"
|
||||
#. Translators: this is for network devices that are physically present but are not
|
||||
#. under NetworkManager's control (and thus cannot be used in the menu);
|
||||
#. %s is a network identifier
|
||||
#: js/ui/status/network.js:457
|
||||
#: js/ui/status/network.js:432
|
||||
#, javascript-format
|
||||
msgid "%s Unmanaged"
|
||||
msgstr "%s Yönetilmiyor"
|
||||
|
||||
#. Translators: %s is a network identifier
|
||||
#: js/ui/status/network.js:460
|
||||
#: js/ui/status/network.js:435
|
||||
#, javascript-format
|
||||
msgid "%s Disconnecting"
|
||||
msgstr "%s Bağlantısı Kesiliyor"
|
||||
|
||||
#. Translators: %s is a network identifier
|
||||
#: js/ui/status/network.js:467 js/ui/status/network.js:1336
|
||||
#: js/ui/status/network.js:442 js/ui/status/network.js:1312
|
||||
#, javascript-format
|
||||
msgid "%s Connecting"
|
||||
msgstr "%s Bağlanıyor"
|
||||
|
||||
#. Translators: this is for network connections that require some kind of key or password; %s is a network identifier
|
||||
#: js/ui/status/network.js:470
|
||||
#: js/ui/status/network.js:445
|
||||
#, javascript-format
|
||||
msgid "%s Requires Authentication"
|
||||
msgstr "%s Kimlik Doğrulaması Gerektiriyor"
|
||||
|
||||
#. Translators: this is for devices that require some kind of firmware or kernel
|
||||
#. module, which is missing; %s is a network identifier
|
||||
#: js/ui/status/network.js:478
|
||||
#: js/ui/status/network.js:453
|
||||
#, javascript-format
|
||||
msgid "Firmware Missing For %s"
|
||||
msgstr "%s İçin Ürün Bilgisi Eksik"
|
||||
|
||||
#. Translators: this is for a network device that cannot be activated (for example it
|
||||
#. is disabled by rfkill, or it has no coverage; %s is a network identifier
|
||||
#: js/ui/status/network.js:482
|
||||
#: js/ui/status/network.js:457
|
||||
#, javascript-format
|
||||
msgid "%s Unavailable"
|
||||
msgstr "%s Kullanılamaz"
|
||||
|
||||
#. Translators: %s is a network identifier
|
||||
#: js/ui/status/network.js:485
|
||||
#: js/ui/status/network.js:460
|
||||
#, javascript-format
|
||||
msgid "%s Connection Failed"
|
||||
msgstr "%s Bağlantısı Başarısız Oldu"
|
||||
|
||||
#: js/ui/status/network.js:497
|
||||
#: js/ui/status/network.js:472
|
||||
msgid "Wired Settings"
|
||||
msgstr "Kablolu Ağ Ayarları"
|
||||
|
||||
#: js/ui/status/network.js:540
|
||||
#: js/ui/status/network.js:515
|
||||
msgid "Mobile Broadband Settings"
|
||||
msgstr "Mobil Geniş Bant Ayarları"
|
||||
|
||||
#. Translators: %s is a network identifier
|
||||
#: js/ui/status/network.js:586 js/ui/status/network.js:1341
|
||||
#: js/ui/status/network.js:562 js/ui/status/network.js:1317
|
||||
#, javascript-format
|
||||
msgid "%s Hardware Disabled"
|
||||
msgstr "%s Donanımı Devre Dışı"
|
||||
|
||||
#. Translators: this is for a network device that cannot be activated
|
||||
#. because it's disabled by rfkill (airplane mode); %s is a network identifier
|
||||
#: js/ui/status/network.js:590
|
||||
#: js/ui/status/network.js:566
|
||||
#, javascript-format
|
||||
msgid "%s Disabled"
|
||||
msgstr "%s Devre Dışı"
|
||||
|
||||
#: js/ui/status/network.js:631
|
||||
#: js/ui/status/network.js:607
|
||||
msgid "Connect to Internet"
|
||||
msgstr "İnternet’e Bağlan"
|
||||
|
||||
#: js/ui/status/network.js:835
|
||||
#: js/ui/status/network.js:811
|
||||
msgid "Airplane Mode is On"
|
||||
msgstr "Uçak Kipi Açık"
|
||||
|
||||
#: js/ui/status/network.js:836
|
||||
#: js/ui/status/network.js:812
|
||||
msgid "Wi-Fi is disabled when airplane mode is on."
|
||||
msgstr "Uçak kipi açıldığında kablosuz ağ devre dışı kalır."
|
||||
|
||||
#: js/ui/status/network.js:837
|
||||
#: js/ui/status/network.js:813
|
||||
msgid "Turn Off Airplane Mode"
|
||||
msgstr "Uçak Kipini Kapat"
|
||||
|
||||
#: js/ui/status/network.js:846
|
||||
#: js/ui/status/network.js:822
|
||||
msgid "Wi-Fi is Off"
|
||||
msgstr "Kablosuz Ağ Kapalı"
|
||||
|
||||
#: js/ui/status/network.js:847
|
||||
#: js/ui/status/network.js:823
|
||||
msgid "Wi-Fi needs to be turned on in order to connect to a network."
|
||||
msgstr "Ağa bağlanmak için kablosuz ağın açık olması gerekir."
|
||||
|
||||
#: js/ui/status/network.js:848
|
||||
#: js/ui/status/network.js:824
|
||||
msgid "Turn On Wi-Fi"
|
||||
msgstr "Kablosuz Ağı Aç"
|
||||
|
||||
#: js/ui/status/network.js:873
|
||||
#: js/ui/status/network.js:849
|
||||
msgid "Wi-Fi Networks"
|
||||
msgstr "Kablosuz Ağlar"
|
||||
|
||||
#: js/ui/status/network.js:875
|
||||
#: js/ui/status/network.js:851
|
||||
msgid "Select a network"
|
||||
msgstr "Ağ seç"
|
||||
|
||||
#: js/ui/status/network.js:907
|
||||
#: js/ui/status/network.js:883
|
||||
msgid "No Networks"
|
||||
msgstr "Ağ Yok"
|
||||
|
||||
#: js/ui/status/network.js:928 js/ui/status/rfkill.js:108
|
||||
#: js/ui/status/network.js:904 js/ui/status/rfkill.js:106
|
||||
msgid "Use hardware switch to turn off"
|
||||
msgstr "Kapatmak için donanım anahtarını kullan"
|
||||
|
||||
#: js/ui/status/network.js:1205
|
||||
#: js/ui/status/network.js:1181
|
||||
msgid "Select Network"
|
||||
msgstr "Ağ Seç"
|
||||
|
||||
#: js/ui/status/network.js:1211
|
||||
#: js/ui/status/network.js:1187
|
||||
msgid "Wi-Fi Settings"
|
||||
msgstr "Kablosuz Ağ Ayarları"
|
||||
|
||||
#. Translators: %s is a network identifier
|
||||
#: js/ui/status/network.js:1332
|
||||
#: js/ui/status/network.js:1308
|
||||
#, javascript-format
|
||||
msgid "%s Hotspot Active"
|
||||
msgstr "%s Erişim Noktası Etkin"
|
||||
|
||||
#. Translators: %s is a network identifier
|
||||
#: js/ui/status/network.js:1347
|
||||
#: js/ui/status/network.js:1323
|
||||
#, javascript-format
|
||||
msgid "%s Not Connected"
|
||||
msgstr "%s Bağlı Değil"
|
||||
|
||||
#: js/ui/status/network.js:1444
|
||||
#: js/ui/status/network.js:1420
|
||||
msgid "connecting…"
|
||||
msgstr "bağlanıyor…"
|
||||
|
||||
#. Translators: this is for network connections that require some kind of key or password
|
||||
#: js/ui/status/network.js:1447
|
||||
#: js/ui/status/network.js:1423
|
||||
msgid "authentication required"
|
||||
msgstr "kimlik doğrulaması gerekli"
|
||||
|
||||
#: js/ui/status/network.js:1449
|
||||
#: js/ui/status/network.js:1425
|
||||
msgid "connection failed"
|
||||
msgstr "bağlantı başarısız"
|
||||
|
||||
#: js/ui/status/network.js:1500
|
||||
#: js/ui/status/network.js:1476
|
||||
msgid "VPN Settings"
|
||||
msgstr "VPN Ayarları"
|
||||
|
||||
#: js/ui/status/network.js:1517
|
||||
#: js/ui/status/network.js:1493
|
||||
msgid "VPN"
|
||||
msgstr "VPN"
|
||||
|
||||
#: js/ui/status/network.js:1527
|
||||
#: js/ui/status/network.js:1503
|
||||
msgid "VPN Off"
|
||||
msgstr "VPN Kapalı"
|
||||
|
||||
#: js/ui/status/network.js:1588 js/ui/status/rfkill.js:84
|
||||
#: js/ui/status/network.js:1564 js/ui/status/rfkill.js:84
|
||||
msgid "Network Settings"
|
||||
msgstr "Ağ Ayarları"
|
||||
|
||||
#: js/ui/status/network.js:1617
|
||||
#: js/ui/status/network.js:1593
|
||||
#, javascript-format
|
||||
msgid "%s Wired Connection"
|
||||
msgid_plural "%s Wired Connections"
|
||||
msgstr[0] "%s Kablolu Bağlantı"
|
||||
|
||||
#: js/ui/status/network.js:1621
|
||||
#: js/ui/status/network.js:1597
|
||||
#, javascript-format
|
||||
msgid "%s Wi-Fi Connection"
|
||||
msgid_plural "%s Wi-Fi Connections"
|
||||
msgstr[0] "%s Kablosuz Ağ Bağlantısı"
|
||||
|
||||
#: js/ui/status/network.js:1625
|
||||
#: js/ui/status/network.js:1601
|
||||
#, javascript-format
|
||||
msgid "%s Modem Connection"
|
||||
msgid_plural "%s Modem Connections"
|
||||
msgstr[0] "%s Modem Bağlantısı"
|
||||
|
||||
#: js/ui/status/network.js:1759
|
||||
#: js/ui/status/network.js:1735
|
||||
msgid "Connection failed"
|
||||
msgstr "Bağlantı başarısız oldu"
|
||||
|
||||
#: js/ui/status/network.js:1760
|
||||
#: js/ui/status/network.js:1736
|
||||
msgid "Activation of network connection failed"
|
||||
msgstr "Ağ bağlantısının etkinleştirilmesi başarısız oldu"
|
||||
|
||||
@@ -2093,11 +2073,11 @@ msgstr "Tümüyle Dolmasına %d.%02d Kaldı (%% %d)"
|
||||
msgid "%d %%"
|
||||
msgstr "%d %%"
|
||||
|
||||
#: js/ui/status/remoteAccess.js:45
|
||||
#: js/ui/status/remoteAccess.js:43
|
||||
msgid "Screen is Being Shared"
|
||||
msgstr "Ekran Paylaşılıyor"
|
||||
|
||||
#: js/ui/status/remoteAccess.js:47
|
||||
#: js/ui/status/remoteAccess.js:45
|
||||
msgid "Turn off"
|
||||
msgstr "Kapat"
|
||||
|
||||
@@ -2108,34 +2088,30 @@ msgstr "Kapat"
|
||||
msgid "Airplane Mode On"
|
||||
msgstr "Uçak Kipi Açık"
|
||||
|
||||
#: js/ui/status/system.js:104
|
||||
#: js/ui/status/system.js:102
|
||||
msgid "Lock"
|
||||
msgstr "Kilitle"
|
||||
|
||||
#: js/ui/status/system.js:116
|
||||
#: js/ui/status/system.js:115
|
||||
msgid "Power Off / Log Out"
|
||||
msgstr "Gücü Kapat / Oturumu Kapat"
|
||||
|
||||
#: js/ui/status/system.js:119
|
||||
msgid "Suspend"
|
||||
msgstr "Beklet"
|
||||
|
||||
#: js/ui/status/system.js:130
|
||||
msgid "Restart…"
|
||||
msgstr "Yeniden Başlat…"
|
||||
|
||||
#: js/ui/status/system.js:141
|
||||
msgid "Power Off…"
|
||||
msgstr "Gücü Kapat…"
|
||||
|
||||
#: js/ui/status/system.js:154
|
||||
#: js/ui/status/system.js:118
|
||||
msgid "Log Out"
|
||||
msgstr "Oturumu Kapat"
|
||||
|
||||
#: js/ui/status/system.js:165
|
||||
#: js/ui/status/system.js:130
|
||||
msgid "Switch User…"
|
||||
msgstr "Kullanıcı Değiştir…"
|
||||
|
||||
#: js/ui/status/system.js:144
|
||||
msgid "Suspend"
|
||||
msgstr "Beklet"
|
||||
|
||||
#: js/ui/status/system.js:156
|
||||
msgid "Power Off…"
|
||||
msgstr "Gücü Kapat…"
|
||||
|
||||
#: js/ui/status/thunderbolt.js:263
|
||||
msgid "Thunderbolt"
|
||||
msgstr "Thunderbolt"
|
||||
@@ -2243,22 +2219,22 @@ msgid "“%s” is ready"
|
||||
msgstr "“%s” hazır"
|
||||
|
||||
#. Translators: This string should be shorter than 30 characters
|
||||
#: js/ui/windowManager.js:60
|
||||
#: js/ui/windowManager.js:55
|
||||
msgid "Keep these display settings?"
|
||||
msgstr "Bu görüntü ayarları saklansın mı?"
|
||||
|
||||
#. Translators: this and the following message should be limited in length,
|
||||
#. to avoid ellipsizing the labels.
|
||||
#.
|
||||
#: js/ui/windowManager.js:69
|
||||
#: js/ui/windowManager.js:64
|
||||
msgid "Revert Settings"
|
||||
msgstr "Ayarları Eski Haline Getir"
|
||||
|
||||
#: js/ui/windowManager.js:72
|
||||
#: js/ui/windowManager.js:67
|
||||
msgid "Keep Changes"
|
||||
msgstr "Değişiklikleri Sakla"
|
||||
|
||||
#: js/ui/windowManager.js:91
|
||||
#: js/ui/windowManager.js:86
|
||||
#, javascript-format
|
||||
msgid "Settings changes will revert in %d second"
|
||||
msgid_plural "Settings changes will revert in %d seconds"
|
||||
@@ -2266,7 +2242,7 @@ msgstr[0] "Ayarlardaki değişiklikler %d saniye içinde eski haline döndürül
|
||||
|
||||
#. Translators: This represents the size of a window. The first number is
|
||||
#. * the width of the window and the second is the height.
|
||||
#: js/ui/windowManager.js:551
|
||||
#: js/ui/windowManager.js:546
|
||||
#, javascript-format
|
||||
msgid "%d × %d"
|
||||
msgstr "%d × %d"
|
||||
@@ -2677,7 +2653,7 @@ msgstr "UZANTI_DEMETİ"
|
||||
|
||||
#: subprojects/extensions-tool/src/command-install.c:184
|
||||
msgid "Install an extension bundle"
|
||||
msgstr "Uzantı demeti kur"
|
||||
msgstr "Uzantı demeti yükle"
|
||||
|
||||
#: subprojects/extensions-tool/src/command-install.c:202
|
||||
msgid "No extension bundle specified"
|
||||
@@ -2891,7 +2867,7 @@ msgstr "Uzantıyı paketle"
|
||||
|
||||
#: subprojects/extensions-tool/src/main.c:328
|
||||
msgid "Install extension bundle"
|
||||
msgstr "Uzantı demetini kur"
|
||||
msgstr "Uzantı demetini yükle"
|
||||
|
||||
#: subprojects/extensions-tool/src/main.c:330
|
||||
#, c-format
|
||||
|
300
po/uk.po
300
po/uk.po
@@ -10,8 +10,8 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: gnome-shell master\n"
|
||||
"Report-Msgid-Bugs-To: https://gitlab.gnome.org/GNOME/gnome-shell/issues\n"
|
||||
"POT-Creation-Date: 2020-08-10 23:58+0000\n"
|
||||
"PO-Revision-Date: 2020-08-11 09:23+0300\n"
|
||||
"POT-Creation-Date: 2020-07-20 16:18+0000\n"
|
||||
"PO-Revision-Date: 2020-07-21 08:42+0300\n"
|
||||
"Last-Translator: Yuri Chornoivan <yurchor@ukr.net>\n"
|
||||
"Language-Team: Ukrainian <kde-i18n-uk@kde.org>\n"
|
||||
"Language: uk\n"
|
||||
@@ -227,11 +227,11 @@ msgid ""
|
||||
"“application id” → 'data' pair. Currently, the following values are stored "
|
||||
"as 'data': • “position”: the position of the application icon in the page"
|
||||
msgstr ""
|
||||
"Компонування засобу вибору програм. Кожен запис у цьому масиві є сторінкою. "
|
||||
"Сторінки зберігаються у порядку, у якому їх буде показано у GNOME Shell. "
|
||||
"Кожна сторінка містить пану записів “ідентифікатор програми” → 'дані'. У "
|
||||
"поточній версії як 'дані' може бути збережено такі значення: • “позиція”: "
|
||||
"позиція піктограми програми на сторінці"
|
||||
"Компонування засобу вибору програм. Кожен запис у цьому масиві є сторінкою."
|
||||
" Сторінки зберігаються у порядку, у якому їх буде показано у GNOME Shell."
|
||||
" Кожна сторінка містить пану записів “ідентифікатор програми” → 'дані'. У"
|
||||
" поточній версії як 'дані' може бути збережено такі значення: • “позиція”:"
|
||||
" позиція піктограми програми на сторінці"
|
||||
|
||||
#: data/org.gnome.shell.gschema.xml.in:130
|
||||
msgid "Keybinding to open the application menu"
|
||||
@@ -431,9 +431,9 @@ msgstr "Відвідати сторінку розширення"
|
||||
|
||||
#: js/gdm/authPrompt.js:135 js/ui/audioDeviceSelection.js:57
|
||||
#: js/ui/components/networkAgent.js:110 js/ui/components/polkitAgent.js:139
|
||||
#: js/ui/endSessionDialog.js:438 js/ui/extensionDownloader.js:183
|
||||
#: js/ui/endSessionDialog.js:369 js/ui/extensionDownloader.js:183
|
||||
#: js/ui/shellMountOperation.js:376 js/ui/shellMountOperation.js:386
|
||||
#: js/ui/status/network.js:940 subprojects/extensions-app/js/main.js:149
|
||||
#: js/ui/status/network.js:916 subprojects/extensions-app/js/main.js:149
|
||||
msgid "Cancel"
|
||||
msgstr "Скасувати"
|
||||
|
||||
@@ -469,7 +469,7 @@ msgstr "(наприклад, користувач або %s)"
|
||||
msgid "Username"
|
||||
msgstr "Користувач"
|
||||
|
||||
#: js/gdm/loginDialog.js:1253
|
||||
#: js/gdm/loginDialog.js:1254
|
||||
msgid "Login Window"
|
||||
msgstr "Вікно входу"
|
||||
|
||||
@@ -487,84 +487,73 @@ msgid "(or swipe finger)"
|
||||
msgstr "(або проведіть пальцем)"
|
||||
|
||||
#. Translators: The name of the power-off action in search
|
||||
#: js/misc/systemActions.js:91
|
||||
#: js/misc/systemActions.js:93
|
||||
msgctxt "search-result"
|
||||
msgid "Power Off"
|
||||
msgstr "Вимкнути"
|
||||
|
||||
#. Translators: A list of keywords that match the power-off action, separated by semicolons
|
||||
#: js/misc/systemActions.js:94
|
||||
msgid "power off;shutdown;halt;stop"
|
||||
msgstr "вимкнути;перезавантажити;зупинити;power off;shutdown;halt;stop"
|
||||
|
||||
#. Translators: The name of the restart action in search
|
||||
#: js/misc/systemActions.js:99
|
||||
msgctxt "search-result"
|
||||
msgid "Restart"
|
||||
msgstr "Перезапустити"
|
||||
|
||||
#. Translators: A list of keywords that match the restart action, separated by semicolons
|
||||
#: js/misc/systemActions.js:102
|
||||
msgid "reboot;restart;"
|
||||
msgstr "reboot;restart;перезавантаження;перезапуск;"
|
||||
#: js/misc/systemActions.js:96
|
||||
msgid "power off;shutdown;reboot;restart;halt;stop"
|
||||
msgstr "вимкнути;перезавантажити;power off;shutdown;reboot;restart;halt;stop"
|
||||
|
||||
#. Translators: The name of the lock screen action in search
|
||||
#: js/misc/systemActions.js:107
|
||||
#: js/misc/systemActions.js:101
|
||||
msgctxt "search-result"
|
||||
msgid "Lock Screen"
|
||||
msgstr "Заблокувати екран"
|
||||
|
||||
#. Translators: A list of keywords that match the lock screen action, separated by semicolons
|
||||
#: js/misc/systemActions.js:110
|
||||
#: js/misc/systemActions.js:104
|
||||
msgid "lock screen"
|
||||
msgstr "заблокувати екран;lock screen"
|
||||
|
||||
#. Translators: The name of the logout action in search
|
||||
#: js/misc/systemActions.js:115
|
||||
#: js/misc/systemActions.js:109
|
||||
msgctxt "search-result"
|
||||
msgid "Log Out"
|
||||
msgstr "Вийти"
|
||||
|
||||
#. Translators: A list of keywords that match the logout action, separated by semicolons
|
||||
#: js/misc/systemActions.js:118
|
||||
#: js/misc/systemActions.js:112
|
||||
msgid "logout;log out;sign off"
|
||||
msgstr "вийти;завершити роботу;logout;log out;sign off"
|
||||
|
||||
#. Translators: The name of the suspend action in search
|
||||
#: js/misc/systemActions.js:123
|
||||
#: js/misc/systemActions.js:117
|
||||
msgctxt "search-result"
|
||||
msgid "Suspend"
|
||||
msgstr "Призупинити"
|
||||
|
||||
#. Translators: A list of keywords that match the suspend action, separated by semicolons
|
||||
#: js/misc/systemActions.js:126
|
||||
#: js/misc/systemActions.js:120
|
||||
msgid "suspend;sleep"
|
||||
msgstr "призупинити;сон;suspend;sleep"
|
||||
|
||||
#. Translators: The name of the switch user action in search
|
||||
#: js/misc/systemActions.js:131
|
||||
#: js/misc/systemActions.js:125
|
||||
msgctxt "search-result"
|
||||
msgid "Switch User"
|
||||
msgstr "Змінити користувача"
|
||||
|
||||
#. Translators: A list of keywords that match the switch user action, separated by semicolons
|
||||
#: js/misc/systemActions.js:134
|
||||
#: js/misc/systemActions.js:128
|
||||
msgid "switch user"
|
||||
msgstr "змінити користувача;перемкнути;switch user"
|
||||
|
||||
#. Translators: A list of keywords that match the lock orientation action, separated by semicolons
|
||||
#: js/misc/systemActions.js:141
|
||||
#: js/misc/systemActions.js:135
|
||||
msgid "lock orientation;unlock orientation;screen;rotation"
|
||||
msgstr ""
|
||||
"заблокувати орієнтацію;розблокувати орієнтацію;екран;обертання;lock "
|
||||
"orientation;unlock orientation;screen;rotation"
|
||||
|
||||
#: js/misc/systemActions.js:266
|
||||
#: js/misc/systemActions.js:255
|
||||
msgctxt "search-result"
|
||||
msgid "Unlock Screen Rotation"
|
||||
msgstr "Розблокувати обертання екрана"
|
||||
|
||||
#: js/misc/systemActions.js:267
|
||||
#: js/misc/systemActions.js:256
|
||||
msgctxt "search-result"
|
||||
msgid "Lock Screen Rotation"
|
||||
msgstr "Заблокувати обертання екрана"
|
||||
@@ -746,31 +735,31 @@ msgid "Unnamed Folder"
|
||||
msgstr "Неназвана тека"
|
||||
|
||||
#. Translators: This is the heading of a list of open windows
|
||||
#: js/ui/appDisplay.js:2762 js/ui/panel.js:75
|
||||
#: js/ui/appDisplay.js:2767 js/ui/panel.js:75
|
||||
msgid "Open Windows"
|
||||
msgstr "Відкрити вікна"
|
||||
|
||||
#: js/ui/appDisplay.js:2781 js/ui/panel.js:82
|
||||
#: js/ui/appDisplay.js:2786 js/ui/panel.js:82
|
||||
msgid "New Window"
|
||||
msgstr "Нове вікно"
|
||||
|
||||
#: js/ui/appDisplay.js:2797
|
||||
#: js/ui/appDisplay.js:2802
|
||||
msgid "Launch using Integrated Graphics Card"
|
||||
msgstr "Запустити через інтегровану графічну плату"
|
||||
|
||||
#: js/ui/appDisplay.js:2798
|
||||
#: js/ui/appDisplay.js:2803
|
||||
msgid "Launch using Discrete Graphics Card"
|
||||
msgstr "Запустити через дискретну графічну плату"
|
||||
|
||||
#: js/ui/appDisplay.js:2826 js/ui/dash.js:239
|
||||
#: js/ui/appDisplay.js:2831 js/ui/dash.js:239
|
||||
msgid "Remove from Favorites"
|
||||
msgstr "Вилучити з улюбленого"
|
||||
|
||||
#: js/ui/appDisplay.js:2832
|
||||
#: js/ui/appDisplay.js:2837
|
||||
msgid "Add to Favorites"
|
||||
msgstr "Додати до улюбленого"
|
||||
|
||||
#: js/ui/appDisplay.js:2842 js/ui/panel.js:93
|
||||
#: js/ui/appDisplay.js:2847 js/ui/panel.js:93
|
||||
msgid "Show Details"
|
||||
msgstr "Показати подробиці"
|
||||
|
||||
@@ -969,8 +958,8 @@ msgid ""
|
||||
msgstr ""
|
||||
"Також можете під'єднатися, натиснувши кнопку «WPS» на вашому маршрутизаторі."
|
||||
|
||||
#: js/ui/components/networkAgent.js:104 js/ui/status/network.js:252
|
||||
#: js/ui/status/network.js:343 js/ui/status/network.js:943
|
||||
#: js/ui/components/networkAgent.js:104 js/ui/status/network.js:227
|
||||
#: js/ui/status/network.js:318 js/ui/status/network.js:919
|
||||
msgid "Connect"
|
||||
msgstr "З'єднатись"
|
||||
|
||||
@@ -1033,7 +1022,7 @@ msgstr "Пін-код"
|
||||
msgid "A password is required to connect to “%s”."
|
||||
msgstr "Пароль потрібен для з'єднання з «%s»."
|
||||
|
||||
#: js/ui/components/networkAgent.js:669 js/ui/status/network.js:1718
|
||||
#: js/ui/components/networkAgent.js:669 js/ui/status/network.js:1694
|
||||
msgid "Network Manager"
|
||||
msgstr "Керування мережею"
|
||||
|
||||
@@ -1159,18 +1148,18 @@ msgstr "Погода"
|
||||
msgid "Select weather location…"
|
||||
msgstr "Виберіть місцевість для погоди…"
|
||||
|
||||
#: js/ui/endSessionDialog.js:39
|
||||
#: js/ui/endSessionDialog.js:37
|
||||
#, javascript-format
|
||||
msgctxt "title"
|
||||
msgid "Log Out %s"
|
||||
msgstr "Завершити сеанс %s"
|
||||
|
||||
#: js/ui/endSessionDialog.js:40
|
||||
#: js/ui/endSessionDialog.js:38
|
||||
msgctxt "title"
|
||||
msgid "Log Out"
|
||||
msgstr "Завершити сеанс"
|
||||
|
||||
#: js/ui/endSessionDialog.js:43
|
||||
#: js/ui/endSessionDialog.js:40
|
||||
#, javascript-format
|
||||
msgid "%s will be logged out automatically in %d second."
|
||||
msgid_plural "%s will be logged out automatically in %d seconds."
|
||||
@@ -1179,7 +1168,7 @@ msgstr[1] "%s вийде автоматично через %d секунди."
|
||||
msgstr[2] "%s вийде автоматично через %d секунд."
|
||||
msgstr[3] "%s вийде автоматично через %d секунду."
|
||||
|
||||
#: js/ui/endSessionDialog.js:49
|
||||
#: js/ui/endSessionDialog.js:45
|
||||
#, javascript-format
|
||||
msgid "You will be logged out automatically in %d second."
|
||||
msgid_plural "You will be logged out automatically in %d seconds."
|
||||
@@ -1188,22 +1177,22 @@ msgstr[1] "Вихід автоматично через %d секунди."
|
||||
msgstr[2] "Вихід автоматично через %d секунд."
|
||||
msgstr[3] "Вихід автоматично через %d секунду."
|
||||
|
||||
#: js/ui/endSessionDialog.js:56
|
||||
#: js/ui/endSessionDialog.js:51
|
||||
msgctxt "button"
|
||||
msgid "Log Out"
|
||||
msgstr "Вийти"
|
||||
|
||||
#: js/ui/endSessionDialog.js:62
|
||||
#: js/ui/endSessionDialog.js:56
|
||||
msgctxt "title"
|
||||
msgid "Power Off"
|
||||
msgstr "Вимкнути"
|
||||
|
||||
#: js/ui/endSessionDialog.js:63
|
||||
#: js/ui/endSessionDialog.js:57
|
||||
msgctxt "title"
|
||||
msgid "Install Updates & Power Off"
|
||||
msgstr "Установити оновлення і вимкнути"
|
||||
|
||||
#: js/ui/endSessionDialog.js:66
|
||||
#: js/ui/endSessionDialog.js:59
|
||||
#, javascript-format
|
||||
msgid "The system will power off automatically in %d second."
|
||||
msgid_plural "The system will power off automatically in %d seconds."
|
||||
@@ -1212,27 +1201,27 @@ msgstr[1] "Система автоматично вимкнеться через
|
||||
msgstr[2] "Система автоматично вимкнеться через %d секунд."
|
||||
msgstr[3] "Система автоматично вимкнеться через %d секунду."
|
||||
|
||||
#: js/ui/endSessionDialog.js:70 js/ui/endSessionDialog.js:89
|
||||
#: js/ui/endSessionDialog.js:63
|
||||
msgctxt "checkbox"
|
||||
msgid "Install pending software updates"
|
||||
msgstr "Установити оновлення, які в черзі"
|
||||
|
||||
#: js/ui/endSessionDialog.js:74
|
||||
#: js/ui/endSessionDialog.js:66 js/ui/endSessionDialog.js:82
|
||||
msgctxt "button"
|
||||
msgid "Restart"
|
||||
msgstr "Перезапустити"
|
||||
|
||||
#: js/ui/endSessionDialog.js:68
|
||||
msgctxt "button"
|
||||
msgid "Power Off"
|
||||
msgstr "Вимкнути"
|
||||
|
||||
#: js/ui/endSessionDialog.js:81
|
||||
#: js/ui/endSessionDialog.js:74
|
||||
msgctxt "title"
|
||||
msgid "Restart"
|
||||
msgstr "Перезапустити"
|
||||
|
||||
#: js/ui/endSessionDialog.js:82
|
||||
msgctxt "title"
|
||||
msgid "Install Updates & Restart"
|
||||
msgstr "Установити оновлення і перезапустити"
|
||||
|
||||
#: js/ui/endSessionDialog.js:85
|
||||
#: js/ui/endSessionDialog.js:76
|
||||
#, javascript-format
|
||||
msgid "The system will restart automatically in %d second."
|
||||
msgid_plural "The system will restart automatically in %d seconds."
|
||||
@@ -1241,17 +1230,12 @@ msgstr[1] "Система автоматично перезапуститься
|
||||
msgstr[2] "Система автоматично перезапуститься через %d секунд."
|
||||
msgstr[3] "Система автоматично перезапуститься через %d секунду."
|
||||
|
||||
#: js/ui/endSessionDialog.js:93
|
||||
msgctxt "button"
|
||||
msgid "Restart"
|
||||
msgstr "Перезапустити"
|
||||
|
||||
#: js/ui/endSessionDialog.js:101
|
||||
#: js/ui/endSessionDialog.js:89
|
||||
msgctxt "title"
|
||||
msgid "Restart & Install Updates"
|
||||
msgstr "Перезапустити і встановити оновлення"
|
||||
|
||||
#: js/ui/endSessionDialog.js:104
|
||||
#: js/ui/endSessionDialog.js:91
|
||||
#, javascript-format
|
||||
msgid "The system will automatically restart and install updates in %d second."
|
||||
msgid_plural ""
|
||||
@@ -1265,22 +1249,22 @@ msgstr[2] ""
|
||||
msgstr[3] ""
|
||||
"Система автоматично перезапуститься та встановить оновлення через %d секунду."
|
||||
|
||||
#: js/ui/endSessionDialog.js:111 js/ui/endSessionDialog.js:132
|
||||
#: js/ui/endSessionDialog.js:97 js/ui/endSessionDialog.js:116
|
||||
msgctxt "button"
|
||||
msgid "Restart & Install"
|
||||
msgstr "Перезапустити та встановити"
|
||||
|
||||
#: js/ui/endSessionDialog.js:113
|
||||
#: js/ui/endSessionDialog.js:98
|
||||
msgctxt "button"
|
||||
msgid "Install & Power Off"
|
||||
msgstr "Установити та вимкнути"
|
||||
|
||||
#: js/ui/endSessionDialog.js:114
|
||||
#: js/ui/endSessionDialog.js:99
|
||||
msgctxt "checkbox"
|
||||
msgid "Power off after updates are installed"
|
||||
msgstr "Вимкнути після встановлення оновлень"
|
||||
|
||||
#: js/ui/endSessionDialog.js:121
|
||||
#: js/ui/endSessionDialog.js:106
|
||||
msgctxt "title"
|
||||
msgid "Restart & Install Upgrade"
|
||||
msgstr "Перезапустити і встановити оновлення"
|
||||
@@ -1288,7 +1272,7 @@ msgstr "Перезапустити і встановити оновлення"
|
||||
#. Translators: This is the text displayed for system upgrades in the
|
||||
#. shut down dialog. First %s gets replaced with the distro name and
|
||||
#. second %s with the distro version to upgrade to
|
||||
#: js/ui/endSessionDialog.js:126
|
||||
#: js/ui/endSessionDialog.js:111
|
||||
#, javascript-format
|
||||
msgid ""
|
||||
"%s %s will be installed after restart. Upgrade installation can take a long "
|
||||
@@ -1298,34 +1282,28 @@ msgstr ""
|
||||
"переконайтесь, що ви зробили резервні копії та комп'ютер під'єднано до "
|
||||
"живлення."
|
||||
|
||||
#: js/ui/endSessionDialog.js:284
|
||||
#| msgid "Running on battery power: Please plug in before installing updates."
|
||||
msgid "Low battery power: please plug in before installing updates."
|
||||
#: js/ui/endSessionDialog.js:259
|
||||
msgid "Running on battery power: Please plug in before installing updates."
|
||||
msgstr ""
|
||||
"Низький рівень заряду батареї: під'єднайте до живлення перед установленням"
|
||||
" оновлень."
|
||||
"Працює від заряду батареї: під'єднайте до живлення перед установленням "
|
||||
"оновлень."
|
||||
|
||||
#: js/ui/endSessionDialog.js:293
|
||||
#: js/ui/endSessionDialog.js:268
|
||||
msgid "Some applications are busy or have unsaved work"
|
||||
msgstr "Деякі програми зайняті або мають незбережені дані"
|
||||
|
||||
#: js/ui/endSessionDialog.js:298
|
||||
#: js/ui/endSessionDialog.js:273
|
||||
msgid "Other users are logged in"
|
||||
msgstr "Є інші користувачі з активним сеансом"
|
||||
|
||||
#: js/ui/endSessionDialog.js:467
|
||||
msgctxt "button"
|
||||
msgid "Boot Options"
|
||||
msgstr "Параметри завантаження"
|
||||
|
||||
#. Translators: Remote here refers to a remote session, like a ssh login
|
||||
#: js/ui/endSessionDialog.js:685
|
||||
#: js/ui/endSessionDialog.js:583
|
||||
#, javascript-format
|
||||
msgid "%s (remote)"
|
||||
msgstr "%s (віддалено)"
|
||||
|
||||
#. Translators: Console here refers to a tty like a VT console
|
||||
#: js/ui/endSessionDialog.js:688
|
||||
#: js/ui/endSessionDialog.js:586
|
||||
#, javascript-format
|
||||
msgid "%s (console)"
|
||||
msgstr "%s (консоль)"
|
||||
@@ -1425,15 +1403,15 @@ msgid "Leave On"
|
||||
msgstr "Залишити"
|
||||
|
||||
#: js/ui/kbdA11yDialog.js:55 js/ui/status/bluetooth.js:156
|
||||
#: js/ui/status/network.js:1315
|
||||
#: js/ui/status/network.js:1291
|
||||
msgid "Turn On"
|
||||
msgstr "Увімкнути"
|
||||
|
||||
#: js/ui/kbdA11yDialog.js:63 js/ui/status/bluetooth.js:156
|
||||
#: js/ui/status/network.js:160 js/ui/status/network.js:344
|
||||
#: js/ui/status/network.js:1315 js/ui/status/network.js:1427
|
||||
#: js/ui/status/network.js:135 js/ui/status/network.js:319
|
||||
#: js/ui/status/network.js:1291 js/ui/status/network.js:1403
|
||||
#: js/ui/status/nightLight.js:41 js/ui/status/rfkill.js:81
|
||||
#: js/ui/status/rfkill.js:110
|
||||
#: js/ui/status/rfkill.js:108
|
||||
msgid "Turn Off"
|
||||
msgstr "Вимкнути"
|
||||
|
||||
@@ -1494,11 +1472,11 @@ msgstr "Переглянути джерело"
|
||||
msgid "Web Page"
|
||||
msgstr "Веб-сторінка"
|
||||
|
||||
#: js/ui/main.js:294
|
||||
#: js/ui/main.js:297
|
||||
msgid "Logged in as a privileged user"
|
||||
msgstr "Увійшов як наділений користувач"
|
||||
|
||||
#: js/ui/main.js:295
|
||||
#: js/ui/main.js:298
|
||||
msgid ""
|
||||
"Running a session as a privileged user should be avoided for security "
|
||||
"reasons. If possible, you should log in as a normal user."
|
||||
@@ -1506,11 +1484,11 @@ msgstr ""
|
||||
"З міркувань безпеки слід уникати сеансів з наділеними правами. Користуйтесь "
|
||||
"звичайним сеансом."
|
||||
|
||||
#: js/ui/main.js:334
|
||||
#: js/ui/main.js:337
|
||||
msgid "Screen Lock disabled"
|
||||
msgstr "Блокування екрана вимкнено"
|
||||
|
||||
#: js/ui/main.js:335
|
||||
#: js/ui/main.js:338
|
||||
msgid "Screen Locking requires the GNOME display manager."
|
||||
msgstr "Блокування екрана потребує керування входом GNOME."
|
||||
|
||||
@@ -1603,7 +1581,7 @@ msgctxt "System menu in the top bar"
|
||||
msgid "System"
|
||||
msgstr "Система"
|
||||
|
||||
#: js/ui/panel.js:825
|
||||
#: js/ui/panel.js:827
|
||||
msgid "Top Bar"
|
||||
msgstr "Верхня панель"
|
||||
|
||||
@@ -1780,7 +1758,7 @@ msgstr "Більший текст"
|
||||
msgid "Bluetooth"
|
||||
msgstr "Bluetooth"
|
||||
|
||||
#: js/ui/status/bluetooth.js:49 js/ui/status/network.js:619
|
||||
#: js/ui/status/bluetooth.js:49 js/ui/status/network.js:595
|
||||
msgid "Bluetooth Settings"
|
||||
msgstr "Параметри Bluetooth"
|
||||
|
||||
@@ -1864,18 +1842,18 @@ msgstr ""
|
||||
"Доступ до місця перебування можна змінити в будь-яку мить у параметрах "
|
||||
"конфіденційності."
|
||||
|
||||
#: js/ui/status/network.js:71
|
||||
#: js/ui/status/network.js:70
|
||||
msgid "<unknown>"
|
||||
msgstr "<невідомо>"
|
||||
|
||||
#. Translators: %s is a network identifier
|
||||
#: js/ui/status/network.js:449 js/ui/status/network.js:1344
|
||||
#: js/ui/status/network.js:424 js/ui/status/network.js:1320
|
||||
#, javascript-format
|
||||
msgid "%s Off"
|
||||
msgstr "%s вимкнено"
|
||||
|
||||
#. Translators: %s is a network identifier
|
||||
#: js/ui/status/network.js:452
|
||||
#: js/ui/status/network.js:427
|
||||
#, javascript-format
|
||||
msgid "%s Connected"
|
||||
msgstr "%s під'єднано"
|
||||
@@ -1883,164 +1861,164 @@ msgstr "%s під'єднано"
|
||||
#. Translators: this is for network devices that are physically present but are not
|
||||
#. under NetworkManager's control (and thus cannot be used in the menu);
|
||||
#. %s is a network identifier
|
||||
#: js/ui/status/network.js:457
|
||||
#: js/ui/status/network.js:432
|
||||
#, javascript-format
|
||||
msgid "%s Unmanaged"
|
||||
msgstr "%s нескеровано"
|
||||
|
||||
#. Translators: %s is a network identifier
|
||||
#: js/ui/status/network.js:460
|
||||
#: js/ui/status/network.js:435
|
||||
#, javascript-format
|
||||
msgid "%s Disconnecting"
|
||||
msgstr "%s від'єднується"
|
||||
|
||||
#. Translators: %s is a network identifier
|
||||
#: js/ui/status/network.js:467 js/ui/status/network.js:1336
|
||||
#: js/ui/status/network.js:442 js/ui/status/network.js:1312
|
||||
#, javascript-format
|
||||
msgid "%s Connecting"
|
||||
msgstr "%s під'єднується"
|
||||
|
||||
#. Translators: this is for network connections that require some kind of key or password; %s is a network identifier
|
||||
#: js/ui/status/network.js:470
|
||||
#: js/ui/status/network.js:445
|
||||
#, javascript-format
|
||||
msgid "%s Requires Authentication"
|
||||
msgstr "%s вимагає засвідчення"
|
||||
|
||||
#. Translators: this is for devices that require some kind of firmware or kernel
|
||||
#. module, which is missing; %s is a network identifier
|
||||
#: js/ui/status/network.js:478
|
||||
#: js/ui/status/network.js:453
|
||||
#, javascript-format
|
||||
msgid "Firmware Missing For %s"
|
||||
msgstr "Бракує мікропрограми для %s"
|
||||
|
||||
#. Translators: this is for a network device that cannot be activated (for example it
|
||||
#. is disabled by rfkill, or it has no coverage; %s is a network identifier
|
||||
#: js/ui/status/network.js:482
|
||||
#: js/ui/status/network.js:457
|
||||
#, javascript-format
|
||||
msgid "%s Unavailable"
|
||||
msgstr "%s недоступний"
|
||||
|
||||
#. Translators: %s is a network identifier
|
||||
#: js/ui/status/network.js:485
|
||||
#: js/ui/status/network.js:460
|
||||
#, javascript-format
|
||||
msgid "%s Connection Failed"
|
||||
msgstr "%s під'єднано невдало"
|
||||
|
||||
#: js/ui/status/network.js:497
|
||||
#: js/ui/status/network.js:472
|
||||
msgid "Wired Settings"
|
||||
msgstr "Параметри мережі"
|
||||
|
||||
#: js/ui/status/network.js:540
|
||||
#: js/ui/status/network.js:515
|
||||
msgid "Mobile Broadband Settings"
|
||||
msgstr "параметри мобільної радіомережі"
|
||||
|
||||
#. Translators: %s is a network identifier
|
||||
#: js/ui/status/network.js:586 js/ui/status/network.js:1341
|
||||
#: js/ui/status/network.js:562 js/ui/status/network.js:1317
|
||||
#, javascript-format
|
||||
msgid "%s Hardware Disabled"
|
||||
msgstr "%s вимкнено апаратно"
|
||||
|
||||
#. Translators: this is for a network device that cannot be activated
|
||||
#. because it's disabled by rfkill (airplane mode); %s is a network identifier
|
||||
#: js/ui/status/network.js:590
|
||||
#: js/ui/status/network.js:566
|
||||
#, javascript-format
|
||||
msgid "%s Disabled"
|
||||
msgstr "%s вимкнено"
|
||||
|
||||
#: js/ui/status/network.js:631
|
||||
#: js/ui/status/network.js:607
|
||||
msgid "Connect to Internet"
|
||||
msgstr "Під'єднатись до інтернету"
|
||||
|
||||
#: js/ui/status/network.js:835
|
||||
#: js/ui/status/network.js:811
|
||||
msgid "Airplane Mode is On"
|
||||
msgstr "Режим «у літаку» ввімкнено"
|
||||
|
||||
#: js/ui/status/network.js:836
|
||||
#: js/ui/status/network.js:812
|
||||
msgid "Wi-Fi is disabled when airplane mode is on."
|
||||
msgstr "Wi-Fi вимкнено, коли режим «у літаку» ввімкнено."
|
||||
|
||||
#: js/ui/status/network.js:837
|
||||
#: js/ui/status/network.js:813
|
||||
msgid "Turn Off Airplane Mode"
|
||||
msgstr "Вимкнути режим «у літаку»"
|
||||
|
||||
#: js/ui/status/network.js:846
|
||||
#: js/ui/status/network.js:822
|
||||
msgid "Wi-Fi is Off"
|
||||
msgstr "Wi-Fi вимкнено"
|
||||
|
||||
#: js/ui/status/network.js:847
|
||||
#: js/ui/status/network.js:823
|
||||
msgid "Wi-Fi needs to be turned on in order to connect to a network."
|
||||
msgstr "Wi-Fi потрібно ввімкнути, щоб з'єднатись з мережею."
|
||||
|
||||
#: js/ui/status/network.js:848
|
||||
#: js/ui/status/network.js:824
|
||||
msgid "Turn On Wi-Fi"
|
||||
msgstr "Увімкнути Wi-Fi"
|
||||
|
||||
#: js/ui/status/network.js:873
|
||||
#: js/ui/status/network.js:849
|
||||
msgid "Wi-Fi Networks"
|
||||
msgstr "Мережі Wi-Fi"
|
||||
|
||||
#: js/ui/status/network.js:875
|
||||
#: js/ui/status/network.js:851
|
||||
msgid "Select a network"
|
||||
msgstr "Вибрати мережу"
|
||||
|
||||
#: js/ui/status/network.js:907
|
||||
#: js/ui/status/network.js:883
|
||||
msgid "No Networks"
|
||||
msgstr "Немає мереж"
|
||||
|
||||
#: js/ui/status/network.js:928 js/ui/status/rfkill.js:108
|
||||
#: js/ui/status/network.js:904 js/ui/status/rfkill.js:106
|
||||
msgid "Use hardware switch to turn off"
|
||||
msgstr "Натисніть апаратну кнопку, щоб вимкнути"
|
||||
|
||||
#: js/ui/status/network.js:1205
|
||||
#: js/ui/status/network.js:1181
|
||||
msgid "Select Network"
|
||||
msgstr "Виберіть мережу"
|
||||
|
||||
#: js/ui/status/network.js:1211
|
||||
#: js/ui/status/network.js:1187
|
||||
msgid "Wi-Fi Settings"
|
||||
msgstr "Параметри Wi-Fi"
|
||||
|
||||
#. Translators: %s is a network identifier
|
||||
#: js/ui/status/network.js:1332
|
||||
#: js/ui/status/network.js:1308
|
||||
#, javascript-format
|
||||
msgid "%s Hotspot Active"
|
||||
msgstr "%s точка доступу"
|
||||
|
||||
#. Translators: %s is a network identifier
|
||||
#: js/ui/status/network.js:1347
|
||||
#: js/ui/status/network.js:1323
|
||||
#, javascript-format
|
||||
msgid "%s Not Connected"
|
||||
msgstr "%s не під'єднано"
|
||||
|
||||
#: js/ui/status/network.js:1444
|
||||
#: js/ui/status/network.js:1420
|
||||
msgid "connecting…"
|
||||
msgstr "З'єднання…"
|
||||
|
||||
#. Translators: this is for network connections that require some kind of key or password
|
||||
#: js/ui/status/network.js:1447
|
||||
#: js/ui/status/network.js:1423
|
||||
msgid "authentication required"
|
||||
msgstr "Потрібна аутентифікація"
|
||||
|
||||
#: js/ui/status/network.js:1449
|
||||
#: js/ui/status/network.js:1425
|
||||
msgid "connection failed"
|
||||
msgstr "не вдалось з'єднатись"
|
||||
|
||||
#: js/ui/status/network.js:1500
|
||||
#: js/ui/status/network.js:1476
|
||||
msgid "VPN Settings"
|
||||
msgstr "Параметри VPN"
|
||||
|
||||
#: js/ui/status/network.js:1517
|
||||
#: js/ui/status/network.js:1493
|
||||
msgid "VPN"
|
||||
msgstr "VPN"
|
||||
|
||||
#: js/ui/status/network.js:1527
|
||||
#: js/ui/status/network.js:1503
|
||||
msgid "VPN Off"
|
||||
msgstr "VPN вимкнено"
|
||||
|
||||
#: js/ui/status/network.js:1588 js/ui/status/rfkill.js:84
|
||||
#: js/ui/status/network.js:1564 js/ui/status/rfkill.js:84
|
||||
msgid "Network Settings"
|
||||
msgstr "Налаштування мережі"
|
||||
|
||||
#: js/ui/status/network.js:1617
|
||||
#: js/ui/status/network.js:1593
|
||||
#, javascript-format
|
||||
msgid "%s Wired Connection"
|
||||
msgid_plural "%s Wired Connections"
|
||||
@@ -2049,7 +2027,7 @@ msgstr[1] "%s з'єднання через дріт"
|
||||
msgstr[2] "%s з'єднань через дріт"
|
||||
msgstr[3] "%s з'єднання через дріт"
|
||||
|
||||
#: js/ui/status/network.js:1621
|
||||
#: js/ui/status/network.js:1597
|
||||
#, javascript-format
|
||||
msgid "%s Wi-Fi Connection"
|
||||
msgid_plural "%s Wi-Fi Connections"
|
||||
@@ -2058,7 +2036,7 @@ msgstr[1] "%s з'єднання через Wi-Fi"
|
||||
msgstr[2] "%s з'єднань через Wi-Fi"
|
||||
msgstr[3] "%s з'єднання через Wi-Fi"
|
||||
|
||||
#: js/ui/status/network.js:1625
|
||||
#: js/ui/status/network.js:1601
|
||||
#, javascript-format
|
||||
msgid "%s Modem Connection"
|
||||
msgid_plural "%s Modem Connections"
|
||||
@@ -2067,11 +2045,11 @@ msgstr[1] "%s з'єднання через модем"
|
||||
msgstr[2] "%s з'єднань через модем"
|
||||
msgstr[3] "%s з'єднання через модем"
|
||||
|
||||
#: js/ui/status/network.js:1759
|
||||
#: js/ui/status/network.js:1735
|
||||
msgid "Connection failed"
|
||||
msgstr "Не вдалось з'єднатись"
|
||||
|
||||
#: js/ui/status/network.js:1760
|
||||
#: js/ui/status/network.js:1736
|
||||
msgid "Activation of network connection failed"
|
||||
msgstr "Не вдалось увімкнути мережеве з'єднання"
|
||||
|
||||
@@ -2126,11 +2104,11 @@ msgstr "Зарядиться через %d∶%02d (%d %%)"
|
||||
msgid "%d %%"
|
||||
msgstr "%d %%"
|
||||
|
||||
#: js/ui/status/remoteAccess.js:45
|
||||
#: js/ui/status/remoteAccess.js:43
|
||||
msgid "Screen is Being Shared"
|
||||
msgstr "Екран у спільному доступі"
|
||||
|
||||
#: js/ui/status/remoteAccess.js:47
|
||||
#: js/ui/status/remoteAccess.js:45
|
||||
msgid "Turn off"
|
||||
msgstr "Вимкнути"
|
||||
|
||||
@@ -2141,34 +2119,30 @@ msgstr "Вимкнути"
|
||||
msgid "Airplane Mode On"
|
||||
msgstr "Режим «у літаку» ввімкнено"
|
||||
|
||||
#: js/ui/status/system.js:104
|
||||
#: js/ui/status/system.js:102
|
||||
msgid "Lock"
|
||||
msgstr "Заблокувати"
|
||||
|
||||
#: js/ui/status/system.js:116
|
||||
#: js/ui/status/system.js:115
|
||||
msgid "Power Off / Log Out"
|
||||
msgstr "Вимкнути / Вийти"
|
||||
|
||||
#: js/ui/status/system.js:119
|
||||
msgid "Suspend"
|
||||
msgstr "Призупинити"
|
||||
|
||||
#: js/ui/status/system.js:130
|
||||
msgid "Restart…"
|
||||
msgstr "Перезапуск…"
|
||||
|
||||
#: js/ui/status/system.js:141
|
||||
msgid "Power Off…"
|
||||
msgstr "Вимкнути…"
|
||||
|
||||
#: js/ui/status/system.js:154
|
||||
#: js/ui/status/system.js:118
|
||||
msgid "Log Out"
|
||||
msgstr "Вийти"
|
||||
|
||||
#: js/ui/status/system.js:165
|
||||
#: js/ui/status/system.js:130
|
||||
msgid "Switch User…"
|
||||
msgstr "Змінити користувача…"
|
||||
|
||||
#: js/ui/status/system.js:144
|
||||
msgid "Suspend"
|
||||
msgstr "Призупинити"
|
||||
|
||||
#: js/ui/status/system.js:156
|
||||
msgid "Power Off…"
|
||||
msgstr "Вимкнути…"
|
||||
|
||||
#: js/ui/status/thunderbolt.js:263
|
||||
msgid "Thunderbolt"
|
||||
msgstr "Thunderbolt"
|
||||
@@ -2275,22 +2249,22 @@ msgid "“%s” is ready"
|
||||
msgstr "«%s» готовий"
|
||||
|
||||
#. Translators: This string should be shorter than 30 characters
|
||||
#: js/ui/windowManager.js:60
|
||||
#: js/ui/windowManager.js:55
|
||||
msgid "Keep these display settings?"
|
||||
msgstr "Зберегти ці параметри екрана?"
|
||||
|
||||
#. Translators: this and the following message should be limited in length,
|
||||
#. to avoid ellipsizing the labels.
|
||||
#.
|
||||
#: js/ui/windowManager.js:69
|
||||
#: js/ui/windowManager.js:64
|
||||
msgid "Revert Settings"
|
||||
msgstr "Повернути параметри"
|
||||
|
||||
#: js/ui/windowManager.js:72
|
||||
#: js/ui/windowManager.js:67
|
||||
msgid "Keep Changes"
|
||||
msgstr "Зберегти зміни"
|
||||
|
||||
#: js/ui/windowManager.js:91
|
||||
#: js/ui/windowManager.js:86
|
||||
#, javascript-format
|
||||
msgid "Settings changes will revert in %d second"
|
||||
msgid_plural "Settings changes will revert in %d seconds"
|
||||
@@ -2301,7 +2275,7 @@ msgstr[3] "Зміни параметрів буде повернуто чере
|
||||
|
||||
#. Translators: This represents the size of a window. The first number is
|
||||
#. * the width of the window and the second is the height.
|
||||
#: js/ui/windowManager.js:551
|
||||
#: js/ui/windowManager.js:546
|
||||
#, javascript-format
|
||||
msgid "%d × %d"
|
||||
msgstr "%d × %d"
|
||||
|
482
po/zh_CN.po
482
po/zh_CN.po
File diff suppressed because it is too large
Load Diff
@@ -51,8 +51,6 @@ def start_shell(perf_output=None):
|
||||
args.append('--nested')
|
||||
else:
|
||||
args.append('--display-server')
|
||||
elif options.x11:
|
||||
args.append('--x11')
|
||||
|
||||
return subprocess.Popen(args, env=env)
|
||||
|
||||
@@ -60,7 +58,7 @@ def run_shell(perf_output=None):
|
||||
# we do no additional supervision of gnome-shell,
|
||||
# beyond that of wait
|
||||
# in particular, we don't kill the shell upon
|
||||
# receiving a KeyboardInterrupt, as we expect to be
|
||||
# receving a KeyboardInterrupt, as we expect to be
|
||||
# in the same process group
|
||||
shell = start_shell(perf_output=perf_output)
|
||||
shell.wait()
|
||||
@@ -297,8 +295,6 @@ parser.add_option("-w", "--wayland", action="store_true",
|
||||
help="Run as a Wayland compositor")
|
||||
parser.add_option("-n", "--nested", action="store_true",
|
||||
help="Run as a Wayland nested compositor")
|
||||
parser.add_option("-x", "--x11", action="store_true",
|
||||
help="Run as an X11 compositor")
|
||||
|
||||
options, args = parser.parse_args()
|
||||
|
||||
|
@@ -27,7 +27,7 @@
|
||||
* meta_plugin_manager_set_plugin_type(), Mutter will call the vfuncs of the
|
||||
* plugin at the appropriate time.
|
||||
*
|
||||
* The functions in in GnomeShellPlugin are all just stubs, which just call the
|
||||
* The funcions in in GnomeShellPlugin are all just stubs, which just call the
|
||||
* similar methods in GnomeShellWm.
|
||||
*/
|
||||
|
||||
|
@@ -11,7 +11,7 @@
|
||||
* dialog
|
||||
* @SHELL_ACTION_MODE_LOGIN_SCREEN: allow action in the login screen
|
||||
* @SHELL_ACTION_MODE_SYSTEM_MODAL: allow action when a system modal
|
||||
* dialog (e.g. authentication or session dialogs) is open
|
||||
* dialog (e.g. authentification or session dialogs) is open
|
||||
* @SHELL_ACTION_MODE_LOOKING_GLASS: allow action in looking glass
|
||||
* @SHELL_ACTION_MODE_POPUP: allow action while a shell menu is open
|
||||
* @SHELL_ACTION_MODE_ALL: always allow action
|
||||
|
@@ -283,7 +283,7 @@ shell_app_get_description (ShellApp *app)
|
||||
* shell_app_is_window_backed:
|
||||
*
|
||||
* A window backed application is one which represents just an open
|
||||
* window, i.e. there's no .desktop file association, so we don't know
|
||||
* window, i.e. there's no .desktop file assocation, so we don't know
|
||||
* how to launch it again.
|
||||
*/
|
||||
gboolean
|
||||
|
@@ -27,7 +27,7 @@
|
||||
* @short_description: Blur effect for actors
|
||||
*
|
||||
* #ShellBlurEffect is a moderately fast gaussian blur implementation. It also has
|
||||
* an optional brightness property.
|
||||
* an optional brighness property.
|
||||
*
|
||||
* # Modes
|
||||
*
|
||||
|
@@ -126,7 +126,7 @@ shell_embedded_window_constructor (GType gtype,
|
||||
object = parent_class->constructor (gtype, n_properties, properties);
|
||||
|
||||
/* Setting the resize mode to immediate means that calling queue_resize()
|
||||
* on a widget within the window will immediately call check_resize()
|
||||
* on a widget within the window will immmediately call check_resize()
|
||||
* to be called, instead of having it queued to an idle. From our perspective,
|
||||
* this is ideal since we just are going to queue a resize to Clutter's
|
||||
* idle resize anyways.
|
||||
|
@@ -1078,11 +1078,11 @@ _shell_global_get_gjs_context (ShellGlobal *global)
|
||||
* overview mode or the "looking glass" debug overlay, that block
|
||||
* application and normal key shortcuts.
|
||||
*
|
||||
* Returns: %TRUE if we successfully entered the mode. %FALSE if we couldn't
|
||||
* Returns: %TRUE if we succesfully entered the mode. %FALSE if we couldn't
|
||||
* enter the mode. Failure may occur because an application has the pointer
|
||||
* or keyboard grabbed, because Mutter is in a mode itself like moving a
|
||||
* window or alt-Tab window selection, or because shell_global_begin_modal()
|
||||
* was previously called.
|
||||
* was previouly called.
|
||||
*/
|
||||
gboolean
|
||||
shell_global_begin_modal (ShellGlobal *global,
|
||||
|
@@ -101,7 +101,7 @@ shell_glsl_effect_paint_target (ClutterOffscreenEffect *effect,
|
||||
* @hook: where to insert the code
|
||||
* @declarations: GLSL declarations
|
||||
* @code: GLSL code
|
||||
* @is_replace: whether Cogl code should be replaced by the custom shader
|
||||
* @is_replace: wheter Cogl code should be replaced by the custom shader
|
||||
*
|
||||
* Adds a GLSL snippet to the pipeline used for drawing the effect texture.
|
||||
* See #CoglSnippet for details.
|
||||
|
@@ -24,7 +24,7 @@
|
||||
/* This is a dummy class; we would like to be able to subclass the
|
||||
* object from JS but we can't yet; the default GMountOperation impl
|
||||
* automatically calls g_mount_operation_reply(UNHANDLED) after an idle,
|
||||
* in interactive methods. We want to handle the reply ourselves
|
||||
* in interactive methods. We want to handle the reply outselves
|
||||
* instead, so we just override the default methods with empty ones,
|
||||
* except for ask-password, as we don't want to handle that.
|
||||
*
|
||||
|
@@ -805,7 +805,7 @@ write_string (GOutputStream *out,
|
||||
* with each element being a dictionary of the form:
|
||||
*
|
||||
* { name: <name of event>,
|
||||
* description: <description of string,
|
||||
* description: <descrition of string,
|
||||
* statistic: true } (only for statistics)
|
||||
*
|
||||
* Return value: %TRUE if the dump succeeded. %FALSE if an IO error occurred
|
||||
|
@@ -12,12 +12,6 @@
|
||||
#include "shell-screenshot.h"
|
||||
#include "shell-util.h"
|
||||
|
||||
typedef enum _ShellScreenshotFlag
|
||||
{
|
||||
SHELL_SCREENSHOT_FLAG_NONE,
|
||||
SHELL_SCREENSHOT_FLAG_INCLUDE_CURSOR,
|
||||
} ShellScreenshotFlag;
|
||||
|
||||
typedef struct _ShellScreenshotPrivate ShellScreenshotPrivate;
|
||||
|
||||
struct _ShellScreenshot
|
||||
@@ -38,6 +32,7 @@ struct _ShellScreenshotPrivate
|
||||
cairo_surface_t *image;
|
||||
cairo_rectangle_int_t screenshot_area;
|
||||
|
||||
gboolean include_cursor;
|
||||
gboolean include_frame;
|
||||
};
|
||||
|
||||
@@ -50,6 +45,10 @@ typedef enum
|
||||
|
||||
G_DEFINE_TYPE_WITH_PRIVATE (ShellScreenshot, shell_screenshot, G_TYPE_OBJECT);
|
||||
|
||||
static void
|
||||
grab_screenshot (ClutterActor *stage,
|
||||
GTask *result);
|
||||
|
||||
static void
|
||||
shell_screenshot_class_init (ShellScreenshotClass *screenshot_class)
|
||||
{
|
||||
@@ -78,6 +77,8 @@ on_screenshot_written (GObject *source,
|
||||
g_clear_pointer (&priv->image, cairo_surface_destroy);
|
||||
g_clear_object (&priv->stream);
|
||||
g_clear_pointer (&priv->datetime, g_date_time_unref);
|
||||
|
||||
meta_enable_unredirect_for_display (shell_global_get_display (priv->global));
|
||||
}
|
||||
|
||||
static void
|
||||
@@ -120,49 +121,63 @@ write_screenshot_thread (GTask *result,
|
||||
}
|
||||
|
||||
static void
|
||||
do_grab_screenshot (ShellScreenshot *screenshot,
|
||||
int x,
|
||||
int y,
|
||||
int width,
|
||||
int height,
|
||||
ShellScreenshotFlag flags)
|
||||
do_grab_screenshot (ShellScreenshot *screenshot,
|
||||
ClutterStage *stage,
|
||||
int x,
|
||||
int y,
|
||||
int width,
|
||||
int height)
|
||||
{
|
||||
ShellScreenshotPrivate *priv = screenshot->priv;
|
||||
ClutterStage *stage = shell_global_get_stage (priv->global);
|
||||
cairo_rectangle_int_t screenshot_rect = { x, y, width, height };
|
||||
int image_width;
|
||||
int image_height;
|
||||
float scale;
|
||||
cairo_surface_t *image;
|
||||
ClutterPaintFlag paint_flags = CLUTTER_PAINT_FLAG_NONE;
|
||||
g_autoptr (GError) error = NULL;
|
||||
ClutterCapture *captures;
|
||||
int n_captures;
|
||||
int i;
|
||||
|
||||
clutter_stage_get_capture_final_size (stage, &screenshot_rect,
|
||||
&image_width,
|
||||
&image_height,
|
||||
&scale);
|
||||
image = cairo_image_surface_create (CAIRO_FORMAT_ARGB32,
|
||||
image_width, image_height);
|
||||
if (!clutter_stage_capture (stage, FALSE,
|
||||
&screenshot_rect,
|
||||
&captures,
|
||||
&n_captures))
|
||||
return;
|
||||
|
||||
if (flags & SHELL_SCREENSHOT_FLAG_INCLUDE_CURSOR)
|
||||
paint_flags |= CLUTTER_PAINT_FLAG_FORCE_CURSORS;
|
||||
if (n_captures == 1)
|
||||
priv->image = cairo_surface_reference (captures[0].image);
|
||||
else
|
||||
paint_flags |= CLUTTER_PAINT_FLAG_NO_CURSORS;
|
||||
if (!clutter_stage_paint_to_buffer (stage, &screenshot_rect, scale,
|
||||
cairo_image_surface_get_data (image),
|
||||
cairo_image_surface_get_stride (image),
|
||||
CLUTTER_CAIRO_FORMAT_ARGB32,
|
||||
paint_flags,
|
||||
&error))
|
||||
{
|
||||
cairo_surface_destroy (image);
|
||||
g_warning ("Failed to take screenshot: %s", error->message);
|
||||
return;
|
||||
float target_scale;
|
||||
|
||||
clutter_stage_get_capture_final_size (stage, &screenshot_rect,
|
||||
&width, &height, &target_scale);
|
||||
priv->image = shell_util_composite_capture_images (captures,
|
||||
n_captures,
|
||||
x, y,
|
||||
width, height,
|
||||
target_scale);
|
||||
}
|
||||
|
||||
priv->image = image;
|
||||
|
||||
priv->datetime = g_date_time_new_now_local ();
|
||||
|
||||
for (i = 0; i < n_captures; i++)
|
||||
cairo_surface_destroy (captures[i].image);
|
||||
|
||||
g_free (captures);
|
||||
}
|
||||
|
||||
static gboolean
|
||||
should_draw_cursor_image (ShellScreenshotMode mode)
|
||||
{
|
||||
if (mode == SHELL_SCREENSHOT_WINDOW || !meta_is_wayland_compositor ())
|
||||
{
|
||||
StSettings *settings = st_settings_get ();
|
||||
gboolean magnifier_active = FALSE;
|
||||
|
||||
g_object_get (settings, "magnifier-active", &magnifier_active, NULL);
|
||||
|
||||
if (!magnifier_active)
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
static void
|
||||
@@ -241,37 +256,116 @@ draw_cursor_image (cairo_surface_t *surface,
|
||||
}
|
||||
|
||||
static void
|
||||
grab_screenshot (ShellScreenshot *screenshot,
|
||||
ShellScreenshotFlag flags,
|
||||
GTask *result)
|
||||
on_paint (ClutterActor *actor,
|
||||
ClutterPaintContext *paint_context,
|
||||
GTask *result)
|
||||
{
|
||||
grab_screenshot (actor, result);
|
||||
}
|
||||
|
||||
static void
|
||||
on_actors_painted (ClutterActor *actor,
|
||||
GTask *result)
|
||||
{
|
||||
grab_screenshot (actor, result);
|
||||
}
|
||||
|
||||
static void
|
||||
grab_screenshot (ClutterActor *stage,
|
||||
GTask *result)
|
||||
{
|
||||
ShellScreenshotPrivate *priv = screenshot->priv;
|
||||
MetaDisplay *display;
|
||||
int width, height;
|
||||
ShellScreenshot *screenshot = g_task_get_source_object (result);
|
||||
ShellScreenshotPrivate *priv = screenshot->priv;
|
||||
GTask *task;
|
||||
|
||||
display = shell_global_get_display (priv->global);
|
||||
meta_display_get_size (display, &width, &height);
|
||||
|
||||
do_grab_screenshot (screenshot,
|
||||
0, 0, width, height,
|
||||
flags);
|
||||
do_grab_screenshot (screenshot, CLUTTER_STAGE (stage), 0, 0, width, height);
|
||||
|
||||
if (meta_display_get_n_monitors (display) > 1)
|
||||
{
|
||||
cairo_region_t *screen_region = cairo_region_create ();
|
||||
cairo_region_t *stage_region;
|
||||
MetaRectangle monitor_rect;
|
||||
cairo_rectangle_int_t stage_rect;
|
||||
int i;
|
||||
cairo_t *cr;
|
||||
|
||||
for (i = meta_display_get_n_monitors (display) - 1; i >= 0; i--)
|
||||
{
|
||||
meta_display_get_monitor_geometry (display, i, &monitor_rect);
|
||||
cairo_region_union_rectangle (screen_region,
|
||||
(const cairo_rectangle_int_t *) &monitor_rect);
|
||||
}
|
||||
|
||||
stage_rect.x = 0;
|
||||
stage_rect.y = 0;
|
||||
stage_rect.width = width;
|
||||
stage_rect.height = height;
|
||||
|
||||
stage_region = cairo_region_create_rectangle ((const cairo_rectangle_int_t *) &stage_rect);
|
||||
cairo_region_xor (stage_region, screen_region);
|
||||
cairo_region_destroy (screen_region);
|
||||
|
||||
cr = cairo_create (priv->image);
|
||||
|
||||
for (i = 0; i < cairo_region_num_rectangles (stage_region); i++)
|
||||
{
|
||||
cairo_rectangle_int_t rect;
|
||||
cairo_region_get_rectangle (stage_region, i, &rect);
|
||||
cairo_rectangle (cr, (double) rect.x, (double) rect.y, (double) rect.width, (double) rect.height);
|
||||
cairo_fill (cr);
|
||||
}
|
||||
|
||||
cairo_destroy (cr);
|
||||
cairo_region_destroy (stage_region);
|
||||
}
|
||||
|
||||
priv->screenshot_area.x = 0;
|
||||
priv->screenshot_area.y = 0;
|
||||
priv->screenshot_area.width = width;
|
||||
priv->screenshot_area.height = height;
|
||||
|
||||
if (priv->include_cursor)
|
||||
draw_cursor_image (priv->image, priv->screenshot_area);
|
||||
|
||||
g_signal_handlers_disconnect_by_func (stage, on_paint, result);
|
||||
g_signal_handlers_disconnect_by_func (stage, on_actors_painted, result);
|
||||
|
||||
task = g_task_new (screenshot, NULL, on_screenshot_written, result);
|
||||
g_task_run_in_thread (task, write_screenshot_thread);
|
||||
g_object_unref (task);
|
||||
}
|
||||
|
||||
static void
|
||||
grab_window_screenshot (ShellScreenshot *screenshot,
|
||||
ShellScreenshotFlag flags,
|
||||
GTask *result)
|
||||
grab_area_screenshot (ClutterActor *stage,
|
||||
GTask *result)
|
||||
{
|
||||
ShellScreenshot *screenshot = g_task_get_source_object (result);
|
||||
ShellScreenshotPrivate *priv = screenshot->priv;
|
||||
GTask *task;
|
||||
|
||||
do_grab_screenshot (screenshot,
|
||||
CLUTTER_STAGE (stage),
|
||||
priv->screenshot_area.x,
|
||||
priv->screenshot_area.y,
|
||||
priv->screenshot_area.width,
|
||||
priv->screenshot_area.height);
|
||||
|
||||
g_signal_handlers_disconnect_by_func (stage, grab_area_screenshot, result);
|
||||
task = g_task_new (screenshot, NULL, on_screenshot_written, result);
|
||||
g_task_run_in_thread (task, write_screenshot_thread);
|
||||
g_object_unref (task);
|
||||
}
|
||||
|
||||
static void
|
||||
grab_window_screenshot (ClutterActor *stage,
|
||||
GTask *result)
|
||||
{
|
||||
ShellScreenshot *screenshot = g_task_get_source_object (result);
|
||||
ShellScreenshotPrivate *priv = screenshot->priv;
|
||||
GTask *task;
|
||||
MetaDisplay *display = shell_global_get_display (priv->global);
|
||||
@@ -294,7 +388,7 @@ grab_window_screenshot (ShellScreenshot *screenshot,
|
||||
NULL);
|
||||
priv->datetime = g_date_time_new_now_local ();
|
||||
|
||||
if (flags & SHELL_SCREENSHOT_FLAG_INCLUDE_CURSOR)
|
||||
if (priv->include_cursor)
|
||||
{
|
||||
if (meta_window_get_client_type (window) == META_WINDOW_CLIENT_TYPE_WAYLAND)
|
||||
{
|
||||
@@ -307,11 +401,33 @@ grab_window_screenshot (ShellScreenshot *screenshot,
|
||||
draw_cursor_image (priv->image, priv->screenshot_area);
|
||||
}
|
||||
|
||||
g_signal_handlers_disconnect_by_func (stage, grab_window_screenshot, result);
|
||||
task = g_task_new (screenshot, NULL, on_screenshot_written, result);
|
||||
g_task_run_in_thread (task, write_screenshot_thread);
|
||||
g_object_unref (task);
|
||||
}
|
||||
|
||||
static void
|
||||
grab_pixel (ClutterActor *stage,
|
||||
GTask *result)
|
||||
{
|
||||
ShellScreenshot *screenshot = g_task_get_source_object (result);
|
||||
ShellScreenshotPrivate *priv = screenshot->priv;
|
||||
|
||||
do_grab_screenshot (screenshot,
|
||||
CLUTTER_STAGE (stage),
|
||||
priv->screenshot_area.x,
|
||||
priv->screenshot_area.y,
|
||||
1,
|
||||
1);
|
||||
|
||||
meta_enable_unredirect_for_display (shell_global_get_display (priv->global));
|
||||
|
||||
g_signal_handlers_disconnect_by_func (stage, grab_pixel, result);
|
||||
g_task_return_boolean (result, TRUE);
|
||||
g_object_unref (result);
|
||||
}
|
||||
|
||||
static gboolean
|
||||
finish_screenshot (ShellScreenshot *screenshot,
|
||||
GAsyncResult *result,
|
||||
@@ -349,9 +465,10 @@ shell_screenshot_screenshot (ShellScreenshot *screenshot,
|
||||
GAsyncReadyCallback callback,
|
||||
gpointer user_data)
|
||||
{
|
||||
ClutterActor *stage;
|
||||
ShellScreenshotPrivate *priv;
|
||||
gboolean use_paint_signal = FALSE;
|
||||
GTask *result;
|
||||
ShellScreenshotFlag flags;
|
||||
|
||||
g_return_if_fail (SHELL_IS_SCREENSHOT (screenshot));
|
||||
g_return_if_fail (G_IS_OUTPUT_STREAM (stream));
|
||||
@@ -375,12 +492,34 @@ shell_screenshot_screenshot (ShellScreenshot *screenshot,
|
||||
g_task_set_source_tag (result, shell_screenshot_screenshot);
|
||||
|
||||
priv->stream = g_object_ref (stream);
|
||||
priv->include_cursor = FALSE;
|
||||
|
||||
stage = CLUTTER_ACTOR (shell_global_get_stage (priv->global));
|
||||
|
||||
meta_disable_unredirect_for_display (shell_global_get_display (priv->global));
|
||||
|
||||
flags = SHELL_SCREENSHOT_FLAG_NONE;
|
||||
if (include_cursor)
|
||||
flags |= SHELL_SCREENSHOT_FLAG_INCLUDE_CURSOR;
|
||||
{
|
||||
if (should_draw_cursor_image (SHELL_SCREENSHOT_SCREEN))
|
||||
priv->include_cursor = TRUE;
|
||||
else
|
||||
use_paint_signal = TRUE;
|
||||
}
|
||||
|
||||
grab_screenshot (screenshot, flags, result);
|
||||
if (use_paint_signal)
|
||||
{
|
||||
g_signal_connect_after (stage, "paint",
|
||||
G_CALLBACK (on_paint),
|
||||
result);
|
||||
}
|
||||
else
|
||||
{
|
||||
g_signal_connect_after (stage, "actors-painted",
|
||||
G_CALLBACK (on_actors_painted),
|
||||
result);
|
||||
}
|
||||
|
||||
clutter_actor_queue_redraw (stage);
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -436,9 +575,9 @@ shell_screenshot_screenshot_area (ShellScreenshot *screenshot,
|
||||
GAsyncReadyCallback callback,
|
||||
gpointer user_data)
|
||||
{
|
||||
ClutterActor *stage;
|
||||
ShellScreenshotPrivate *priv;
|
||||
GTask *result;
|
||||
g_autoptr (GTask) task = NULL;
|
||||
|
||||
g_return_if_fail (SHELL_IS_SCREENSHOT (screenshot));
|
||||
g_return_if_fail (G_IS_OUTPUT_STREAM (stream));
|
||||
@@ -467,15 +606,13 @@ shell_screenshot_screenshot_area (ShellScreenshot *screenshot,
|
||||
priv->screenshot_area.width = width;
|
||||
priv->screenshot_area.height = height;
|
||||
|
||||
do_grab_screenshot (screenshot,
|
||||
priv->screenshot_area.x,
|
||||
priv->screenshot_area.y,
|
||||
priv->screenshot_area.width,
|
||||
priv->screenshot_area.height,
|
||||
SHELL_SCREENSHOT_FLAG_NONE);
|
||||
stage = CLUTTER_ACTOR (shell_global_get_stage (priv->global));
|
||||
|
||||
task = g_task_new (screenshot, NULL, on_screenshot_written, result);
|
||||
g_task_run_in_thread (task, write_screenshot_thread);
|
||||
meta_disable_unredirect_for_display (shell_global_get_display (shell_global_get ()));
|
||||
|
||||
g_signal_connect_after (stage, "actors-painted", G_CALLBACK (grab_area_screenshot), result);
|
||||
|
||||
clutter_actor_queue_redraw (stage);
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -529,6 +666,7 @@ shell_screenshot_screenshot_window (ShellScreenshot *screenshot,
|
||||
{
|
||||
ShellScreenshotPrivate *priv;
|
||||
MetaDisplay *display;
|
||||
ClutterActor *stage;
|
||||
MetaWindow *window;
|
||||
GTask *result;
|
||||
|
||||
@@ -557,8 +695,16 @@ shell_screenshot_screenshot_window (ShellScreenshot *screenshot,
|
||||
|
||||
priv->stream = g_object_ref (stream);
|
||||
priv->include_frame = include_frame;
|
||||
priv->include_cursor = include_cursor &&
|
||||
should_draw_cursor_image (SHELL_SCREENSHOT_WINDOW);
|
||||
|
||||
grab_window_screenshot (screenshot, include_cursor, result);
|
||||
stage = CLUTTER_ACTOR (shell_global_get_stage (priv->global));
|
||||
|
||||
meta_disable_unredirect_for_display (shell_global_get_display (shell_global_get ()));
|
||||
|
||||
g_signal_connect_after (stage, "actors-painted", G_CALLBACK (grab_window_screenshot), result);
|
||||
|
||||
clutter_actor_queue_redraw (stage);
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -607,7 +753,9 @@ shell_screenshot_pick_color (ShellScreenshot *screenshot,
|
||||
gpointer user_data)
|
||||
{
|
||||
ShellScreenshotPrivate *priv;
|
||||
g_autoptr (GTask) result = NULL;
|
||||
MetaDisplay *display;
|
||||
ClutterActor *stage;
|
||||
GTask *result;
|
||||
|
||||
g_return_if_fail (SHELL_IS_SCREENSHOT (screenshot));
|
||||
|
||||
@@ -621,14 +769,14 @@ shell_screenshot_pick_color (ShellScreenshot *screenshot,
|
||||
priv->screenshot_area.width = 1;
|
||||
priv->screenshot_area.height = 1;
|
||||
|
||||
do_grab_screenshot (screenshot,
|
||||
priv->screenshot_area.x,
|
||||
priv->screenshot_area.y,
|
||||
1,
|
||||
1,
|
||||
SHELL_SCREENSHOT_FLAG_NONE);
|
||||
display = shell_global_get_display (priv->global);
|
||||
stage = CLUTTER_ACTOR (shell_global_get_stage (priv->global));
|
||||
|
||||
g_task_return_boolean (result, TRUE);
|
||||
meta_disable_unredirect_for_display (display);
|
||||
|
||||
g_signal_connect_after (stage, "actors-painted", G_CALLBACK (grab_pixel), result);
|
||||
|
||||
clutter_actor_queue_redraw (stage);
|
||||
}
|
||||
|
||||
#if G_BYTE_ORDER == G_LITTLE_ENDIAN
|
||||
|
@@ -28,7 +28,7 @@
|
||||
/**
|
||||
* CRAdditionalSel:
|
||||
*
|
||||
* #CRAdditionalSel abstracts an additional selector.
|
||||
* #CRAdditionalSel abstracts an additionnal selector.
|
||||
* An additional selector is the selector part
|
||||
* that comes after the combination of type selectors.
|
||||
* It can be either "a class selector (the .class part),
|
||||
|
@@ -55,7 +55,7 @@ cr_attr_sel_new (void)
|
||||
*
|
||||
* Appends an attribute selector to the current list of
|
||||
* attribute selectors represented by a_this.
|
||||
* Returns CR_OK upon successful completion, an error code otherwise.
|
||||
* Returns CR_OK upon successfull completion, an error code otherwise.
|
||||
*/
|
||||
enum CRStatus
|
||||
cr_attr_sel_append_attr_sel (CRAttrSel * a_this, CRAttrSel * a_attr_sel)
|
||||
@@ -82,7 +82,7 @@ cr_attr_sel_append_attr_sel (CRAttrSel * a_this, CRAttrSel * a_attr_sel)
|
||||
*
|
||||
*Prepends an attribute selector to the list of
|
||||
*attributes selector represented by a_this.
|
||||
*Returns CR_OK upon successful completion, an error code otherwise.
|
||||
*Returns CR_OK upon successfull completion, an error code otherwise.
|
||||
*/
|
||||
enum CRStatus
|
||||
cr_attr_sel_prepend_attr_sel (CRAttrSel * a_this,
|
||||
|
@@ -58,7 +58,7 @@ struct _CRCascadePriv {
|
||||
*should call their ref/unref method instead if it wants
|
||||
*
|
||||
*Returns the newly built instance of CRCascade or NULL if
|
||||
*an error arose during construction.
|
||||
*an error arose during constrution.
|
||||
*/
|
||||
CRCascade *
|
||||
cr_cascade_new (CRStyleSheet * a_author_sheet,
|
||||
@@ -128,7 +128,7 @@ cr_cascade_get_sheet (CRCascade * a_this, enum CRStyleOrigin a_origin)
|
||||
*
|
||||
*Sets a stylesheet in the cascade
|
||||
*
|
||||
*Returns CR_OK upon successful completion, an error
|
||||
*Returns CR_OK upon successfull completion, an error
|
||||
*code otherwise.
|
||||
*/
|
||||
enum CRStatus
|
||||
|
@@ -313,7 +313,7 @@ cr_declaration_append (CRDeclaration * a_this, CRDeclaration * a_new)
|
||||
*@a_decls: the declaration to unlink.
|
||||
*
|
||||
*Unlinks the declaration from the declaration list.
|
||||
*case of a successful completion, NULL otherwise.
|
||||
*case of a successfull completion, NULL otherwise.
|
||||
*
|
||||
*Returns a pointer to the unlinked declaration in
|
||||
*/
|
||||
|
@@ -29,7 +29,7 @@
|
||||
*
|
||||
*The definition of the CRDocHandler class.
|
||||
*Contains methods to instantiate, destroy,
|
||||
*and initialize instances of #CRDocHandler
|
||||
*and initialyze instances of #CRDocHandler
|
||||
*to custom values.
|
||||
*/
|
||||
|
||||
@@ -98,7 +98,7 @@ cr_doc_handler_new (void)
|
||||
*Gets the private parsing context associated to the document handler
|
||||
*The private parsing context is used by libcroco only.
|
||||
*
|
||||
*Returns CR_OK upon successful completion, an error code otherwise.
|
||||
*Returns CR_OK upon successfull completion, an error code otherwise.
|
||||
*/
|
||||
enum CRStatus
|
||||
cr_doc_handler_get_ctxt (CRDocHandler const * a_this, gpointer * a_ctxt)
|
||||
@@ -117,7 +117,7 @@ cr_doc_handler_get_ctxt (CRDocHandler const * a_this, gpointer * a_ctxt)
|
||||
*
|
||||
*Sets the private parsing context.
|
||||
*This is used by libcroco only.
|
||||
*Returns CR_OK upon successful completion, an error code otherwise.
|
||||
*Returns CR_OK upon successfull completion, an error code otherwise.
|
||||
*/
|
||||
enum CRStatus
|
||||
cr_doc_handler_set_ctxt (CRDocHandler * a_this, gpointer a_ctxt)
|
||||
@@ -135,7 +135,7 @@ cr_doc_handler_set_ctxt (CRDocHandler * a_this, gpointer a_ctxt)
|
||||
*Gets the private parsing result.
|
||||
*The private parsing result is used by libcroco only.
|
||||
*
|
||||
*Returns CR_OK upon successful completion, an error code otherwise.
|
||||
*Returns CR_OK upon successfull completion, an error code otherwise.
|
||||
*/
|
||||
enum CRStatus
|
||||
cr_doc_handler_get_result (CRDocHandler const * a_this, gpointer * a_result)
|
||||
@@ -155,7 +155,7 @@ cr_doc_handler_get_result (CRDocHandler const * a_this, gpointer * a_result)
|
||||
*Sets the private parsing context.
|
||||
*This is used by libcroco only.
|
||||
*
|
||||
*Returns CR_OK upon successful completion, an error code otherwise.
|
||||
*Returns CR_OK upon successfull completion, an error code otherwise.
|
||||
*/
|
||||
enum CRStatus
|
||||
cr_doc_handler_set_result (CRDocHandler * a_this, gpointer a_result)
|
||||
@@ -175,7 +175,7 @@ cr_doc_handler_set_result (CRDocHandler * a_this, gpointer a_result)
|
||||
*test handlers. This is expected to change in a
|
||||
*near future, when the libcroco gets a bit debugged.
|
||||
*
|
||||
*Returns CR_OK upon successful completion, an error code otherwise.
|
||||
*Returns CR_OK upon successfull completion, an error code otherwise.
|
||||
*/
|
||||
enum CRStatus
|
||||
cr_doc_handler_set_default_sac_handler (CRDocHandler * a_this)
|
||||
@@ -216,7 +216,7 @@ cr_doc_handler_ref (CRDocHandler * a_this)
|
||||
|
||||
/**
|
||||
* cr_doc_handler_unref:
|
||||
*@a_this: the current instance of #CRDocHandler.
|
||||
*@a_this: the currrent instance of #CRDocHandler.
|
||||
*
|
||||
*Decreases the ref count of the current instance of #CRDocHandler.
|
||||
*If the ref count reaches '0' then, destroys the instance.
|
||||
|
@@ -105,7 +105,7 @@ cr_enc_handler_get_instance (enum CREncoding a_enc)
|
||||
*Given an encoding name (called an alias name)
|
||||
*the function returns the matching encoding type.
|
||||
*
|
||||
*Returns CR_OK upon successful completion, an error code otherwise.
|
||||
*Returns CR_OK upon successfull completion, an error code otherwise.
|
||||
*/
|
||||
enum CRStatus
|
||||
cr_enc_handler_resolve_enc_alias (const guchar * a_alias_name,
|
||||
@@ -143,7 +143,7 @@ cr_enc_handler_resolve_enc_alias (const guchar * a_alias_name,
|
||||
*
|
||||
*Converts a raw input buffer into an utf8 buffer.
|
||||
*
|
||||
*Returns CR_OK upon successful completion, an error code otherwise.
|
||||
*Returns CR_OK upon successfull completion, an error code otherwise.
|
||||
*/
|
||||
enum CRStatus
|
||||
cr_enc_handler_convert_input (CREncHandler * a_this,
|
||||
|
@@ -173,7 +173,7 @@ cr_font_family_new (enum CRFontFamilyType a_type, guchar * a_name)
|
||||
/**
|
||||
* cr_font_family_to_string:
|
||||
* @a_this: the current instance of #CRFontFamily.
|
||||
* @a_walk_font_family_list: whether the serialize the entire list.
|
||||
* @a_walk_font_family_list: wether the serialize the entire list.
|
||||
*
|
||||
* Returns the seriliazed font family. The caller has to free it using
|
||||
* g_free().
|
||||
@@ -215,7 +215,7 @@ cr_font_family_to_string (CRFontFamily const * a_this,
|
||||
* @a_this: the current instance of #CRFontFamily.
|
||||
* @a_name: the new name
|
||||
*
|
||||
* Returns CR_OK upon successful completion, an error code otherwise.
|
||||
* Returns CR_OK upon sucessful completion, an error code otherwise.
|
||||
*/
|
||||
enum CRStatus
|
||||
cr_font_family_set_name (CRFontFamily * a_this, guchar * a_name)
|
||||
@@ -292,7 +292,7 @@ cr_font_family_prepend (CRFontFamily * a_this,
|
||||
* cr_font_family_destroy:
|
||||
* @a_this: the current instance of #CRFontFamily.
|
||||
*
|
||||
* Returns CR_OK upon successful completion, an error code otherwise.
|
||||
* Returns CR_OK upon sucessful completion, an error code otherwise.
|
||||
*/
|
||||
enum CRStatus
|
||||
cr_font_family_destroy (CRFontFamily * a_this)
|
||||
@@ -413,7 +413,7 @@ cr_font_size_copy (CRFontSize * a_dst, CRFontSize const * a_src)
|
||||
* @a_this: the current instance of #CRFontSize.
|
||||
* @a_predefined: what to set.
|
||||
*
|
||||
* Returns CR_OK upon successful completion, an error code otherwise.
|
||||
* Returns CR_OK upon sucessful completion, an error code otherwise.
|
||||
*/
|
||||
enum CRStatus
|
||||
cr_font_size_set_predefined_absolute_font_size (CRFontSize *a_this,
|
||||
@@ -457,7 +457,7 @@ cr_font_size_set_relative_font_size (CRFontSize *a_this,
|
||||
* @a_num_type: the type of number to set.
|
||||
* @a_value: the actual value to set.
|
||||
*
|
||||
* Returns CR_OK upon successful completion, an error code otherwise.
|
||||
* Returns CR_OK upon succesful completion, an error code otherwise.
|
||||
*/
|
||||
enum CRStatus
|
||||
cr_font_size_set_absolute_font_size (CRFontSize *a_this,
|
||||
@@ -479,7 +479,7 @@ cr_font_size_set_absolute_font_size (CRFontSize *a_this,
|
||||
* cr_font_size_set_to_inherit:
|
||||
* @a_this: the current instance of #CRFontSize
|
||||
*
|
||||
* Returns CR_OK upon successful completion, an error code otherwise.
|
||||
* Returns CR_OK upon succesful completion, an error code otherwise.
|
||||
*/
|
||||
enum CRStatus
|
||||
cr_font_size_set_to_inherit (CRFontSize *a_this)
|
||||
|
@@ -346,7 +346,7 @@ cr_input_unref (CRInput * a_this)
|
||||
*the current instance has reached the end of its input buffer,
|
||||
*FALSE otherwise.
|
||||
*
|
||||
*Tests whether the current instance of
|
||||
*Tests wether the current instance of
|
||||
*#CRInput has reached its input buffer.
|
||||
*
|
||||
* Returns CR_OK upon successful completion, an error code otherwise.
|
||||
@@ -644,12 +644,12 @@ cr_input_consume_char (CRInput * a_this, guint32 a_char)
|
||||
*@a_this: the this pointer of the current instance of #CRInput.
|
||||
*@a_char: the character to consume.
|
||||
*@a_nb_char: in/out parameter. The number of characters to consume.
|
||||
*If set to a negative value, the function will consume all the occurrences
|
||||
*If set to a negative value, the function will consume all the occurences
|
||||
*of a_char found.
|
||||
*After return, if the return value equals CR_OK, this variable contains
|
||||
*the number of characters actually consumed.
|
||||
*
|
||||
*Consumes up to a_nb_char occurrences of the next contiguous characters
|
||||
*Consumes up to a_nb_char occurences of the next contiguous characters
|
||||
*which equal a_char. Note that the next character of the input stream
|
||||
**MUST* equal a_char to trigger the consumption, or else, the error
|
||||
*code CR_PARSING_ERROR is returned.
|
||||
|
@@ -258,7 +258,7 @@ cr_num_dup (CRNum const * a_this)
|
||||
*instance of #CRNum
|
||||
*@a_type: the new type of #CRNum.
|
||||
*
|
||||
* Returns CR_OK upon successful completion, an error code otherwise.
|
||||
* Returns CR_OK upon succesful completion, an error code otherwise.
|
||||
*/
|
||||
enum CRStatus
|
||||
cr_num_set (CRNum * a_this, gdouble a_val, enum CRNumType a_type)
|
||||
|
@@ -159,7 +159,7 @@ cr_om_parser_init_default_sac_handler (CROMParser * a_this)
|
||||
}
|
||||
|
||||
/*
|
||||
*initialize here the sac handler.
|
||||
*initialyze here the sac handler.
|
||||
*/
|
||||
sac_handler->start_document = start_document;
|
||||
sac_handler->end_document = end_document;
|
||||
@@ -667,7 +667,7 @@ property (CRDocHandler * a_this,
|
||||
g_return_if_fail (str);
|
||||
}
|
||||
|
||||
/*instantiates a new declaration */
|
||||
/*instanciates a new declaration */
|
||||
decl = cr_declaration_new (ctxt->cur_stmt, str, a_expression);
|
||||
g_return_if_fail (decl);
|
||||
str = NULL;
|
||||
@@ -846,7 +846,7 @@ cr_om_parser_new (CRInput * a_input)
|
||||
*
|
||||
*Parses the content of an in memory buffer.
|
||||
*
|
||||
*Returns CR_OK upon successful completion, an error code otherwise.
|
||||
*Returns CR_OK upon successfull completion, an error code otherwise.
|
||||
*/
|
||||
enum CRStatus
|
||||
cr_om_parser_parse_buf (CROMParser * a_this,
|
||||
@@ -895,7 +895,7 @@ cr_om_parser_parse_buf (CROMParser * a_this,
|
||||
*
|
||||
*The simpler way to parse an in memory css2 buffer.
|
||||
*
|
||||
*Returns CR_OK upon successful completion, an error code otherwise.
|
||||
*Returns CR_OK upon successfull completion, an error code otherwise.
|
||||
*/
|
||||
enum CRStatus
|
||||
cr_om_parser_simply_parse_buf (const guchar * a_buf,
|
||||
@@ -928,7 +928,7 @@ cr_om_parser_simply_parse_buf (const guchar * a_buf,
|
||||
* cr_om_parser_parse_file:
|
||||
*@a_this: the current instance of the cssom parser.
|
||||
*@a_file_uri: the uri of the file.
|
||||
*(only local file paths are supported so far)
|
||||
*(only local file paths are suppported so far)
|
||||
*@a_enc: the encoding of the file.
|
||||
*@a_result: out parameter. A pointer
|
||||
*the build css object model.
|
||||
@@ -936,7 +936,7 @@ cr_om_parser_simply_parse_buf (const guchar * a_buf,
|
||||
*Parses a css2 stylesheet contained
|
||||
*in a file.
|
||||
*
|
||||
* Returns CR_OK upon successful completion, an error code otherwise.
|
||||
* Returns CR_OK upon succesful completion, an error code otherwise.
|
||||
*/
|
||||
enum CRStatus
|
||||
cr_om_parser_parse_file (CROMParser * a_this,
|
||||
@@ -984,7 +984,7 @@ cr_om_parser_parse_file (CROMParser * a_this,
|
||||
*
|
||||
*The simpler method to parse a css2 file.
|
||||
*
|
||||
*Returns CR_OK upon successful completion, an error code otherwise.
|
||||
*Returns CR_OK upon successfull completion, an error code otherwise.
|
||||
*Note that this method uses cr_om_parser_parse_file() so both methods
|
||||
*have the same return values.
|
||||
*/
|
||||
|
@@ -45,7 +45,7 @@
|
||||
*that css UA must comply with two syntaxes.
|
||||
*
|
||||
*1/the specific syntax that defines the css language
|
||||
*for a given level of specification (e.g css2 syntax
|
||||
*for a given level of specificatin (e.g css2 syntax
|
||||
*defined in appendix D.1 of the css2 spec)
|
||||
*
|
||||
*2/the core (general) syntax that is there to allow
|
||||
@@ -136,8 +136,6 @@ struct _CRParserPriv {
|
||||
|
||||
#define CHARS_TAB_SIZE 12
|
||||
|
||||
#define RECURSIVE_CALLERS_LIMIT 100
|
||||
|
||||
/**
|
||||
* IS_NUM:
|
||||
*@a_char: the char to test.
|
||||
@@ -171,7 +169,7 @@ if ((status) != CR_OK) \
|
||||
*@a_is_exception: in case of error, if is TRUE, the status
|
||||
*is set to CR_PARSING_ERROR before goto error. If is false, the
|
||||
*real low level status is kept and will be returned by the
|
||||
*upper level function that called this macro. Usually,this must
|
||||
*upper level function that called this macro. Usally,this must
|
||||
*be set to FALSE.
|
||||
*
|
||||
*same as CHECK_PARSING_STATUS() but this one pushes an error
|
||||
@@ -207,7 +205,7 @@ CHECK_PARSING_STATUS (status, TRUE) \
|
||||
*Reads the next char from the input stream of the current parser.
|
||||
*In case of error, jumps to the "error:" label located in the
|
||||
*function where this macro is called.
|
||||
*@param a_this the current instance of #CRParser
|
||||
*@param a_this the curent instance of #CRParser
|
||||
*@param to_char a pointer to the guint32 char where to store
|
||||
*the character read.
|
||||
*/
|
||||
@@ -345,11 +343,9 @@ static enum CRStatus cr_parser_parse_selector_core (CRParser * a_this);
|
||||
|
||||
static enum CRStatus cr_parser_parse_declaration_core (CRParser * a_this);
|
||||
|
||||
static enum CRStatus cr_parser_parse_any_core (CRParser * a_this,
|
||||
guint n_calls);
|
||||
static enum CRStatus cr_parser_parse_any_core (CRParser * a_this);
|
||||
|
||||
static enum CRStatus cr_parser_parse_block_core (CRParser * a_this,
|
||||
guint n_calls);
|
||||
static enum CRStatus cr_parser_parse_block_core (CRParser * a_this);
|
||||
|
||||
static enum CRStatus cr_parser_parse_value_core (CRParser * a_this);
|
||||
|
||||
@@ -514,7 +510,7 @@ cr_parser_error_destroy (CRParserError * a_this)
|
||||
*@param a_this the current instance of #CRParser.
|
||||
*@param a_msg the error message.
|
||||
*@param a_status the error status.
|
||||
*@return CR_OK upon successful completion, an error code otherwise.
|
||||
*@return CR_OK upon successfull completion, an error code otherwise.
|
||||
*/
|
||||
static enum CRStatus
|
||||
cr_parser_push_error (CRParser * a_this,
|
||||
@@ -560,7 +556,7 @@ cr_parser_push_error (CRParser * a_this,
|
||||
*@param a_this the current instance of #CRParser.
|
||||
*@param a_clear_errs whether to clear the error stack
|
||||
*after the dump or not.
|
||||
*@return CR_OK upon successful completion, an error code
|
||||
*@return CR_OK upon successfull completion, an error code
|
||||
*otherwise.
|
||||
*/
|
||||
static enum CRStatus
|
||||
@@ -618,7 +614,7 @@ cr_parser_clear_errors (CRParser * a_this)
|
||||
*Same as cr_parser_try_to_skip_spaces() but this one skips
|
||||
*spaces and comments.
|
||||
*
|
||||
*Returns CR_OK upon successful completion, an error code otherwise.
|
||||
*Returns CR_OK upon successfull completion, an error code otherwise.
|
||||
*/
|
||||
enum CRStatus
|
||||
cr_parser_try_to_skip_spaces_and_comments (CRParser * a_this)
|
||||
@@ -755,7 +751,7 @@ cr_parser_parse_stylesheet_core (CRParser * a_this)
|
||||
*in chapter 4.1 in the css2 spec.
|
||||
*at-rule : ATKEYWORD S* any* [ block | ';' S* ];
|
||||
*@param a_this the current instance of #CRParser.
|
||||
*@return CR_OK upon successful completion, an error code
|
||||
*@return CR_OK upon successfull completion, an error code
|
||||
*otherwise.
|
||||
*/
|
||||
static enum CRStatus
|
||||
@@ -787,7 +783,7 @@ cr_parser_parse_atrule_core (CRParser * a_this)
|
||||
cr_parser_try_to_skip_spaces_and_comments (a_this);
|
||||
|
||||
do {
|
||||
status = cr_parser_parse_any_core (a_this, 0);
|
||||
status = cr_parser_parse_any_core (a_this);
|
||||
} while (status == CR_OK);
|
||||
|
||||
status = cr_tknzr_get_next_token (PRIVATE (a_this)->tknzr,
|
||||
@@ -798,7 +794,7 @@ cr_parser_parse_atrule_core (CRParser * a_this)
|
||||
cr_tknzr_unget_token (PRIVATE (a_this)->tknzr,
|
||||
token);
|
||||
token = NULL;
|
||||
status = cr_parser_parse_block_core (a_this, 0);
|
||||
status = cr_parser_parse_block_core (a_this);
|
||||
CHECK_PARSING_STATUS (status,
|
||||
FALSE);
|
||||
goto done;
|
||||
@@ -831,7 +827,7 @@ cr_parser_parse_atrule_core (CRParser * a_this)
|
||||
*4.1 of the css2 spec.
|
||||
*ruleset ::= selector? '{' S* declaration? [ ';' S* declaration? ]* '}' S*;
|
||||
*@param a_this the current instance of #CRParser.
|
||||
*@return CR_OK upon successful completion, an error code otherwise.
|
||||
*@return CR_OK upon successfull completion, an error code otherwise.
|
||||
*/
|
||||
static enum CRStatus
|
||||
cr_parser_parse_ruleset_core (CRParser * a_this)
|
||||
@@ -919,7 +915,7 @@ cr_parser_parse_ruleset_core (CRParser * a_this)
|
||||
*grammar.
|
||||
*selector : any+;
|
||||
*@param a_this the current instance of #CRParser.
|
||||
*@return CR_OK upon successful completion, an error code
|
||||
*@return CR_OK upon successfull completion, an error code
|
||||
*otherwise.
|
||||
*/
|
||||
static enum CRStatus
|
||||
@@ -933,11 +929,11 @@ cr_parser_parse_selector_core (CRParser * a_this)
|
||||
|
||||
RECORD_INITIAL_POS (a_this, &init_pos);
|
||||
|
||||
status = cr_parser_parse_any_core (a_this, 0);
|
||||
status = cr_parser_parse_any_core (a_this);
|
||||
CHECK_PARSING_STATUS (status, FALSE);
|
||||
|
||||
do {
|
||||
status = cr_parser_parse_any_core (a_this, 0);
|
||||
status = cr_parser_parse_any_core (a_this);
|
||||
|
||||
} while (status == CR_OK);
|
||||
|
||||
@@ -959,12 +955,10 @@ cr_parser_parse_selector_core (CRParser * a_this)
|
||||
*in chapter 4.1 of the css2 spec.
|
||||
*block ::= '{' S* [ any | block | ATKEYWORD S* | ';' ]* '}' S*;
|
||||
*@param a_this the current instance of #CRParser.
|
||||
*@param n_calls used to limit recursion depth
|
||||
*FIXME: code this function.
|
||||
*/
|
||||
static enum CRStatus
|
||||
cr_parser_parse_block_core (CRParser * a_this,
|
||||
guint n_calls)
|
||||
cr_parser_parse_block_core (CRParser * a_this)
|
||||
{
|
||||
CRToken *token = NULL;
|
||||
CRInputPos init_pos;
|
||||
@@ -972,9 +966,6 @@ cr_parser_parse_block_core (CRParser * a_this,
|
||||
|
||||
g_return_val_if_fail (a_this && PRIVATE (a_this), CR_BAD_PARAM_ERROR);
|
||||
|
||||
if (n_calls > RECURSIVE_CALLERS_LIMIT)
|
||||
return CR_ERROR;
|
||||
|
||||
RECORD_INITIAL_POS (a_this, &init_pos);
|
||||
|
||||
status = cr_tknzr_get_next_token (PRIVATE (a_this)->tknzr, &token);
|
||||
@@ -1004,13 +995,13 @@ cr_parser_parse_block_core (CRParser * a_this,
|
||||
} else if (token->type == CBO_TK) {
|
||||
cr_tknzr_unget_token (PRIVATE (a_this)->tknzr, token);
|
||||
token = NULL;
|
||||
status = cr_parser_parse_block_core (a_this, n_calls + 1);
|
||||
status = cr_parser_parse_block_core (a_this);
|
||||
CHECK_PARSING_STATUS (status, FALSE);
|
||||
goto parse_block_content;
|
||||
} else {
|
||||
cr_tknzr_unget_token (PRIVATE (a_this)->tknzr, token);
|
||||
token = NULL;
|
||||
status = cr_parser_parse_any_core (a_this, n_calls + 1);
|
||||
status = cr_parser_parse_any_core (a_this);
|
||||
CHECK_PARSING_STATUS (status, FALSE);
|
||||
goto parse_block_content;
|
||||
}
|
||||
@@ -1089,7 +1080,7 @@ cr_parser_parse_declaration_core (CRParser * a_this)
|
||||
*in chapter 4.1.
|
||||
*value ::= [ any | block | ATKEYWORD S* ]+;
|
||||
*@param a_this the current instance of #CRParser.
|
||||
*@return CR_OK upon successful completion, an error code otherwise.
|
||||
*@return CR_OK upon successfull completion, an error code otherwise.
|
||||
*/
|
||||
static enum CRStatus
|
||||
cr_parser_parse_value_core (CRParser * a_this)
|
||||
@@ -1117,7 +1108,7 @@ cr_parser_parse_value_core (CRParser * a_this)
|
||||
status = cr_tknzr_unget_token (PRIVATE (a_this)->tknzr,
|
||||
token);
|
||||
token = NULL;
|
||||
status = cr_parser_parse_block_core (a_this, 0);
|
||||
status = cr_parser_parse_block_core (a_this);
|
||||
CHECK_PARSING_STATUS (status, FALSE);
|
||||
ref++;
|
||||
goto continue_parsing;
|
||||
@@ -1131,7 +1122,7 @@ cr_parser_parse_value_core (CRParser * a_this)
|
||||
status = cr_tknzr_unget_token (PRIVATE (a_this)->tknzr,
|
||||
token);
|
||||
token = NULL;
|
||||
status = cr_parser_parse_any_core (a_this, 0);
|
||||
status = cr_parser_parse_any_core (a_this);
|
||||
if (status == CR_OK) {
|
||||
ref++;
|
||||
goto continue_parsing;
|
||||
@@ -1170,12 +1161,10 @@ cr_parser_parse_value_core (CRParser * a_this)
|
||||
* | FUNCTION | DASHMATCH | '(' any* ')' | '[' any* ']' ] S*;
|
||||
*
|
||||
*@param a_this the current instance of #CRParser.
|
||||
*@param n_calls used to limit recursion depth
|
||||
*@return CR_OK upon successful completion, an error code otherwise.
|
||||
*@return CR_OK upon successfull completion, an error code otherwise.
|
||||
*/
|
||||
static enum CRStatus
|
||||
cr_parser_parse_any_core (CRParser * a_this,
|
||||
guint n_calls)
|
||||
cr_parser_parse_any_core (CRParser * a_this)
|
||||
{
|
||||
CRToken *token1 = NULL,
|
||||
*token2 = NULL;
|
||||
@@ -1184,9 +1173,6 @@ cr_parser_parse_any_core (CRParser * a_this,
|
||||
|
||||
g_return_val_if_fail (a_this, CR_BAD_PARAM_ERROR);
|
||||
|
||||
if (n_calls > RECURSIVE_CALLERS_LIMIT)
|
||||
return CR_ERROR;
|
||||
|
||||
RECORD_INITIAL_POS (a_this, &init_pos);
|
||||
|
||||
status = cr_tknzr_get_next_token (PRIVATE (a_this)->tknzr, &token1);
|
||||
@@ -1225,7 +1211,7 @@ cr_parser_parse_any_core (CRParser * a_this,
|
||||
*We consider parameter as being an "any*" production.
|
||||
*/
|
||||
do {
|
||||
status = cr_parser_parse_any_core (a_this, n_calls + 1);
|
||||
status = cr_parser_parse_any_core (a_this);
|
||||
} while (status == CR_OK);
|
||||
|
||||
ENSURE_PARSING_COND (status == CR_PARSING_ERROR);
|
||||
@@ -1250,7 +1236,7 @@ cr_parser_parse_any_core (CRParser * a_this,
|
||||
}
|
||||
|
||||
do {
|
||||
status = cr_parser_parse_any_core (a_this, n_calls + 1);
|
||||
status = cr_parser_parse_any_core (a_this);
|
||||
} while (status == CR_OK);
|
||||
|
||||
ENSURE_PARSING_COND (status == CR_PARSING_ERROR);
|
||||
@@ -1278,7 +1264,7 @@ cr_parser_parse_any_core (CRParser * a_this,
|
||||
}
|
||||
|
||||
do {
|
||||
status = cr_parser_parse_any_core (a_this, n_calls + 1);
|
||||
status = cr_parser_parse_any_core (a_this);
|
||||
} while (status == CR_OK);
|
||||
|
||||
ENSURE_PARSING_COND (status == CR_PARSING_ERROR);
|
||||
@@ -1332,7 +1318,7 @@ cr_parser_parse_any_core (CRParser * a_this,
|
||||
*@param a_this the "this pointer" of the current instance of
|
||||
*#CRParser .
|
||||
*@param a_sel out parameter. The successfully parsed attribute selector.
|
||||
*@return CR_OK upon successful completion, an error code otherwise.
|
||||
*@return CR_OK upon successfull completion, an error code otherwise.
|
||||
*/
|
||||
static enum CRStatus
|
||||
cr_parser_parse_attribute_selector (CRParser * a_this,
|
||||
@@ -1471,7 +1457,7 @@ cr_parser_parse_attribute_selector (CRParser * a_this,
|
||||
*new instance of GString and set it content to the parsed property.
|
||||
*If not, the property is just appended to a_property's previous content.
|
||||
*In both cases, it is up to the caller to free a_property.
|
||||
*@return CR_OK upon successful completion, CR_PARSING_ERROR if the
|
||||
*@return CR_OK upon successfull completion, CR_PARSING_ERROR if the
|
||||
*next construction was not a "property", or an error code.
|
||||
*/
|
||||
static enum CRStatus
|
||||
@@ -1514,7 +1500,7 @@ cr_parser_parse_property (CRParser * a_this,
|
||||
*
|
||||
*TODO: handle parsing of 'RGB'
|
||||
*
|
||||
*Returns CR_OK upon successful completion, an error code otherwise.
|
||||
*Returns CR_OK upon successfull completion, an error code otherwise.
|
||||
*/
|
||||
enum CRStatus
|
||||
cr_parser_parse_term (CRParser * a_this, CRTerm ** a_term)
|
||||
@@ -1669,7 +1655,7 @@ cr_parser_parse_term (CRParser * a_this, CRTerm ** a_term)
|
||||
*and where pseudo is:
|
||||
*pseudo ::= ':' [ IDENT | FUNCTION S* IDENT S* ')' ]
|
||||
*
|
||||
*Returns CR_OK upon successful completion, an error code otherwise.
|
||||
*Returns CR_OK upon successfull completion, an error code otherwise.
|
||||
*/
|
||||
static enum CRStatus
|
||||
cr_parser_parse_simple_selector (CRParser * a_this, CRSimpleSel ** a_sel)
|
||||
@@ -1928,7 +1914,7 @@ cr_parser_parse_simple_selector (CRParser * a_this, CRSimpleSel ** a_sel)
|
||||
* cr_parser_parse_simple_sels:
|
||||
*@a_this: the this pointer of the current instance of #CRParser.
|
||||
*@a_start: a pointer to the
|
||||
*first character of the successfully parsed
|
||||
*first chararcter of the successfully parsed
|
||||
*string.
|
||||
*@a_end: a pointer to the last character of the successfully parsed
|
||||
*string.
|
||||
@@ -1936,7 +1922,7 @@ cr_parser_parse_simple_selector (CRParser * a_this, CRSimpleSel ** a_sel)
|
||||
*Parses a "selector" as defined by the css2 spec in appendix D.1:
|
||||
*selector ::= simple_selector [ combinator simple_selector ]*
|
||||
*
|
||||
*Returns CR_OK upon successful completion, an error code otherwise.
|
||||
*Returns CR_OK upon successfull completion, an error code otherwise.
|
||||
*/
|
||||
static enum CRStatus
|
||||
cr_parser_parse_simple_sels (CRParser * a_this,
|
||||
@@ -2134,7 +2120,7 @@ cr_parser_parse_selector (CRParser * a_this,
|
||||
*function ::= FUNCTION S* expr ')' S*
|
||||
*FUNCTION ::= ident'('
|
||||
*
|
||||
*Returns CR_OK upon successful completion, an error code otherwise.
|
||||
*Returns CR_OK upon successfull completion, an error code otherwise.
|
||||
*/
|
||||
static enum CRStatus
|
||||
cr_parser_parse_function (CRParser * a_this,
|
||||
@@ -2220,7 +2206,7 @@ cr_parser_parse_function (CRParser * a_this,
|
||||
* URI ::= url\({w}{string}{w}\)
|
||||
* |url\({w}([!#$%&*-~]|{nonascii}|{escape})*{w}\)
|
||||
*
|
||||
*Returns CR_OK upon successful completion, an error code otherwise.
|
||||
*Returns CR_OK upon successfull completion, an error code otherwise.
|
||||
*/
|
||||
static enum CRStatus
|
||||
cr_parser_parse_uri (CRParser * a_this, CRString ** a_str)
|
||||
@@ -2239,10 +2225,10 @@ cr_parser_parse_uri (CRParser * a_this, CRString ** a_str)
|
||||
/**
|
||||
* cr_parser_parse_string:
|
||||
*@a_this: the current instance of #CRParser.
|
||||
*@a_start: out parameter. Upon successful completion,
|
||||
*@a_start: out parameter. Upon successfull completion,
|
||||
*points to the beginning of the string, points to an undefined value
|
||||
*otherwise.
|
||||
*@a_end: out parameter. Upon successful completion, points to
|
||||
*@a_end: out parameter. Upon successfull completion, points to
|
||||
*the beginning of the string, points to an undefined value otherwise.
|
||||
*
|
||||
*Parses a string type as defined in css spec [4.1.1]:
|
||||
@@ -2251,7 +2237,7 @@ cr_parser_parse_uri (CRParser * a_this, CRString ** a_str)
|
||||
*string1 ::= \"([\t !#$%&(-~]|\\{nl}|\'|{nonascii}|{escape})*\"
|
||||
*string2 ::= \'([\t !#$%&(-~]|\\{nl}|\"|{nonascii}|{escape})*\'
|
||||
*
|
||||
*Returns CR_OK upon successful completion, an error code otherwise.
|
||||
*Returns CR_OK upon successfull completion, an error code otherwise.
|
||||
*/
|
||||
static enum CRStatus
|
||||
cr_parser_parse_string (CRParser * a_this, CRString ** a_str)
|
||||
@@ -2278,7 +2264,7 @@ cr_parser_parse_string (CRParser * a_this, CRString ** a_str)
|
||||
*the function just appends the parsed string to the one passed.
|
||||
*In both cases it is up to the caller to free *a_str.
|
||||
*
|
||||
*@return CR_OK upon successful completion, an error code
|
||||
*@return CR_OK upon successfull completion, an error code
|
||||
*otherwise.
|
||||
*/
|
||||
static enum CRStatus
|
||||
@@ -2311,7 +2297,7 @@ cr_parser_parse_ident (CRParser * a_this, CRString ** a_str)
|
||||
*@param a_end out parameter. A pointer to the first character of
|
||||
*the successfully parsed string.
|
||||
*
|
||||
*@return CR_OK upon successful completion, an error code otherwise.
|
||||
*@return CR_OK upon successfull completion, an error code otherwise.
|
||||
*/
|
||||
static enum CRStatus
|
||||
cr_parser_parse_stylesheet (CRParser * a_this)
|
||||
@@ -2789,7 +2775,7 @@ cr_parser_new (CRTknzr * a_tknzr)
|
||||
*of #CRParser. If set to FALSE, it is up to the caller to
|
||||
*eventually free it.
|
||||
*
|
||||
*Instantiates a new parser from a memory buffer.
|
||||
*Instanciates a new parser from a memory buffer.
|
||||
*
|
||||
*Returns the newly built parser, or NULL if an error arises.
|
||||
*/
|
||||
@@ -2870,7 +2856,7 @@ cr_parser_new_from_file (const guchar * a_file_uri, enum CREncoding a_enc)
|
||||
*
|
||||
*Sets a SAC document handler to the parser.
|
||||
*
|
||||
*Returns CR_OK upon successful completion, an error code otherwise.
|
||||
*Returns CR_OK upon successfull completion, an error code otherwise.
|
||||
*/
|
||||
enum CRStatus
|
||||
cr_parser_set_sac_handler (CRParser * a_this, CRDocHandler * a_handler)
|
||||
@@ -2895,7 +2881,7 @@ cr_parser_set_sac_handler (CRParser * a_this, CRDocHandler * a_handler)
|
||||
*
|
||||
*Gets the SAC document handler.
|
||||
*
|
||||
*Returns CR_OK upon successful completion, an error code
|
||||
*Returns CR_OK upon successfull completion, an error code
|
||||
*otherwise.
|
||||
*/
|
||||
enum CRStatus
|
||||
@@ -2915,7 +2901,7 @@ cr_parser_get_sac_handler (CRParser * a_this, CRDocHandler ** a_handler)
|
||||
*Sets the SAC handler associated to the current instance
|
||||
*of #CRParser to the default SAC handler.
|
||||
*
|
||||
*Returns CR_OK upon successful completion, an error code otherwise.
|
||||
*Returns CR_OK upon successfull completion, an error code otherwise.
|
||||
*/
|
||||
enum CRStatus
|
||||
cr_parser_set_default_sac_handler (CRParser * a_this)
|
||||
@@ -2944,7 +2930,7 @@ cr_parser_set_default_sac_handler (CRParser * a_this)
|
||||
* @a_this: the current instance of #CRParser.
|
||||
* @a_use_core_grammar: where to parse against the css core grammar.
|
||||
*
|
||||
* Returns CR_OK upon successful completion, an error code otherwise.
|
||||
* Returns CR_OK upon succesful completion, an error code otherwise.
|
||||
*/
|
||||
enum CRStatus
|
||||
cr_parser_set_use_core_grammar (CRParser * a_this,
|
||||
@@ -2960,9 +2946,9 @@ cr_parser_set_use_core_grammar (CRParser * a_this,
|
||||
/**
|
||||
* cr_parser_get_use_core_grammar:
|
||||
* @a_this: the current instance of #CRParser.
|
||||
* @a_use_core_grammar: whether to use the core grammar or not.
|
||||
* @a_use_core_grammar: wether to use the core grammar or not.
|
||||
*
|
||||
* Returns CR_OK upon successful completion, an error code otherwise.
|
||||
* Returns CR_OK upon succesful completion, an error code otherwise.
|
||||
*/
|
||||
enum CRStatus
|
||||
cr_parser_get_use_core_grammar (CRParser const * a_this,
|
||||
@@ -2984,7 +2970,7 @@ cr_parser_get_use_core_grammar (CRParser const * a_this,
|
||||
*
|
||||
*Parses a the given in parameter.
|
||||
*
|
||||
*Returns CR_OK upon successful completion, an error code otherwise.
|
||||
*Returns CR_OK upon successfull completion, an error code otherwise.
|
||||
*/
|
||||
enum CRStatus
|
||||
cr_parser_parse_file (CRParser * a_this,
|
||||
@@ -3176,7 +3162,7 @@ cr_parser_parse_prio (CRParser * a_this, CRString ** a_prio)
|
||||
*Parses a "declaration" as defined by the css2 spec in appendix D.1:
|
||||
*declaration ::= [property ':' S* expr prio?]?
|
||||
*
|
||||
*Returns CR_OK upon successful completion, an error code otherwise.
|
||||
*Returns CR_OK upon successfull completion, an error code otherwise.
|
||||
*/
|
||||
enum CRStatus
|
||||
cr_parser_parse_declaration (CRParser * a_this,
|
||||
@@ -3270,7 +3256,7 @@ cr_parser_parse_declaration (CRParser * a_this,
|
||||
*chapter 4.1 of the css2 spec.
|
||||
*statement : ruleset | at-rule;
|
||||
*
|
||||
*Returns CR_OK upon successful completion, an error code otherwise.
|
||||
*Returns CR_OK upon successfull completion, an error code otherwise.
|
||||
*/
|
||||
enum CRStatus
|
||||
cr_parser_parse_statement_core (CRParser * a_this)
|
||||
@@ -3334,7 +3320,7 @@ cr_parser_parse_statement_core (CRParser * a_this)
|
||||
*See the documentation of #CRDocHandler (the SAC handler) to know
|
||||
*when which SAC handler is called.
|
||||
*
|
||||
*Returns CR_OK upon successful completion, an error code otherwise.
|
||||
*Returns CR_OK upon successfull completion, an error code otherwise.
|
||||
*/
|
||||
enum CRStatus
|
||||
cr_parser_parse_ruleset (CRParser * a_this)
|
||||
@@ -3550,7 +3536,7 @@ cr_parser_parse_ruleset (CRParser * a_this)
|
||||
*import ::=
|
||||
*\@import [STRING|URI] S* [ medium [ ',' S* medium]* ]? ';' S*
|
||||
*
|
||||
*Returns CR_OK upon successful completion, an error code otherwise.
|
||||
*Returns CR_OK upon sucessfull completion, an error code otherwise.
|
||||
*/
|
||||
enum CRStatus
|
||||
cr_parser_parse_import (CRParser * a_this,
|
||||
@@ -3670,7 +3656,7 @@ cr_parser_parse_import (CRParser * a_this,
|
||||
*will corrupt the memory and lead to hard to debug
|
||||
*random crashes.
|
||||
*This is where C++ and its compile time
|
||||
*type checking mechanism (through STL containers) would
|
||||
*type checking mecanism (through STL containers) would
|
||||
*have prevented us to go through this hassle.
|
||||
*/
|
||||
for (cur = *a_media_list; cur; cur = cur->next) {
|
||||
@@ -3711,7 +3697,7 @@ cr_parser_parse_import (CRParser * a_this,
|
||||
*to notify media productions. See #CRDocHandler to know the callback called
|
||||
*during \@media parsing.
|
||||
*
|
||||
*Returns CR_OK upon successful completion, an error code otherwise.
|
||||
*Returns CR_OK upon successfull completion, an error code otherwise.
|
||||
*/
|
||||
enum CRStatus
|
||||
cr_parser_parse_media (CRParser * a_this)
|
||||
@@ -3881,7 +3867,7 @@ cr_parser_parse_media (CRParser * a_this)
|
||||
*encounters a construction that must
|
||||
*be reported to the calling application.
|
||||
*
|
||||
*Returns CR_OK upon successful completion, an error code otherwise.
|
||||
*Returns CR_OK upon successfull completion, an error code otherwise.
|
||||
*/
|
||||
enum CRStatus
|
||||
cr_parser_parse_page (CRParser * a_this)
|
||||
@@ -4128,11 +4114,11 @@ cr_parser_parse_page (CRParser * a_this)
|
||||
*set to NULL.
|
||||
*@a_charset_sym_location: the parsing location of the charset rule
|
||||
*
|
||||
*Parses a charset declaration as defined implicitly by the css2 spec in
|
||||
*Parses a charset declaration as defined implictly by the css2 spec in
|
||||
*appendix D.1:
|
||||
*charset ::= CHARSET_SYM S* STRING S* ';'
|
||||
*
|
||||
*Returns CR_OK upon successful completion, an error code otherwise.
|
||||
*Returns CR_OK upon successfull completion, an error code otherwise.
|
||||
*/
|
||||
enum CRStatus
|
||||
cr_parser_parse_charset (CRParser * a_this, CRString ** a_value,
|
||||
@@ -4223,7 +4209,7 @@ cr_parser_parse_charset (CRParser * a_this, CRString ** a_value,
|
||||
*
|
||||
*This function will call SAC handlers whenever it is necessary.
|
||||
*
|
||||
*Returns CR_OK upon successful completion, an error code otherwise.
|
||||
*Returns CR_OK upon successfull completion, an error code otherwise.
|
||||
*/
|
||||
enum CRStatus
|
||||
cr_parser_parse_font_face (CRParser * a_this)
|
||||
@@ -4380,7 +4366,7 @@ cr_parser_parse_font_face (CRParser * a_this)
|
||||
*input previously associated to the current instance of
|
||||
*#CRParser.
|
||||
*
|
||||
*Returns CR_OK upon successful completion, an error code otherwise.
|
||||
*Returns CR_OK upon succesful completion, an error code otherwise.
|
||||
*/
|
||||
enum CRStatus
|
||||
cr_parser_parse (CRParser * a_this)
|
||||
@@ -4430,7 +4416,7 @@ cr_parser_set_tknzr (CRParser * a_this, CRTknzr * a_tknzr)
|
||||
*
|
||||
*Getter of the parser's underlying tokenizer
|
||||
*
|
||||
*Returns CR_OK upon successful completion, an error code
|
||||
*Returns CR_OK upon succesful completion, an error code
|
||||
*otherwise
|
||||
*/
|
||||
enum CRStatus
|
||||
@@ -4450,7 +4436,7 @@ cr_parser_get_tknzr (CRParser * a_this, CRTknzr ** a_tknzr)
|
||||
*
|
||||
*Gets the current parsing location.
|
||||
*
|
||||
*Returns CR_OK upon successful completion, an error code
|
||||
*Returns CR_OK upon succesful completion, an error code
|
||||
*otherwise.
|
||||
*/
|
||||
enum CRStatus
|
||||
|
@@ -33,9 +33,9 @@
|
||||
|
||||
/**
|
||||
* cr_parsing_location_new:
|
||||
*Instantiates a new parsing location.
|
||||
*Instanciates a new parsing location.
|
||||
*
|
||||
*Returns the newly instantiated #CRParsingLocation.
|
||||
*Returns the newly instanciated #CRParsingLocation.
|
||||
*Must be freed by cr_parsing_location_destroy()
|
||||
*/
|
||||
CRParsingLocation *
|
||||
@@ -58,7 +58,7 @@ cr_parsing_location_new (void)
|
||||
*
|
||||
*Initializes the an instance of #CRparsingLocation.
|
||||
*
|
||||
*Returns CR_OK upon successful completion, an error code otherwise.
|
||||
*Returns CR_OK upon succesful completion, an error code otherwise.
|
||||
*/
|
||||
enum CRStatus
|
||||
cr_parsing_location_init (CRParsingLocation *a_this)
|
||||
@@ -77,7 +77,7 @@ cr_parsing_location_init (CRParsingLocation *a_this)
|
||||
*
|
||||
*Copies an instance of CRParsingLocation into another one.
|
||||
*
|
||||
*Returns CR_OK upon successful completion, an error code
|
||||
*Returns CR_OK upon succesful completion, an error code
|
||||
*otherwise.
|
||||
*/
|
||||
enum CRStatus
|
||||
|
@@ -156,7 +156,7 @@ cr_prop_list_prepend (CRPropList * a_this, CRPropList * a_to_prepend)
|
||||
*@a_prop_name: property name to append
|
||||
*@a_decl: the property value to append.
|
||||
*
|
||||
*Prepends a property to a list of properties
|
||||
*Prepends a propertie to a list of properties
|
||||
*
|
||||
*Returns the new property list.
|
||||
*/
|
||||
|
@@ -55,7 +55,7 @@ cr_simple_sel_new (void)
|
||||
*@a_this: the this pointer of the current instance of #CRSimpleSel.
|
||||
*@a_sel: the simple selector to append.
|
||||
*
|
||||
*Returns: the new list upon successful completion, an error code otherwise.
|
||||
*Returns: the new list upon successfull completion, an error code otherwise.
|
||||
*/
|
||||
CRSimpleSel *
|
||||
cr_simple_sel_append_simple_sel (CRSimpleSel * a_this, CRSimpleSel * a_sel)
|
||||
@@ -83,7 +83,7 @@ cr_simple_sel_append_simple_sel (CRSimpleSel * a_this, CRSimpleSel * a_sel)
|
||||
*
|
||||
*Prepends a simple selector to the current list of simple selectors.
|
||||
*
|
||||
*Returns the new list upon successful completion, an error code otherwise.
|
||||
*Returns the new list upon successfull completion, an error code otherwise.
|
||||
*/
|
||||
CRSimpleSel *
|
||||
cr_simple_sel_prepend_simple_sel (CRSimpleSel * a_this, CRSimpleSel * a_sel)
|
||||
@@ -210,7 +210,7 @@ cr_simple_sel_one_to_string (CRSimpleSel const * a_this)
|
||||
*Dumps the selector to a file.
|
||||
*TODO: add the support of unicode in the dump.
|
||||
*
|
||||
*Returns CR_OK upon successful completion, an error code
|
||||
*Returns CR_OK upon successfull completion, an error code
|
||||
*otherwise.
|
||||
*/
|
||||
enum CRStatus
|
||||
@@ -240,7 +240,7 @@ cr_simple_sel_dump (CRSimpleSel const * a_this, FILE * a_fp)
|
||||
*Computes the selector (combinator separated list of simple selectors)
|
||||
*as defined in the css2 spec in chapter 6.4.3
|
||||
*
|
||||
*Returns CR_OK upon successful completion, an error code otherwise.
|
||||
*Returns CR_OK upon successfull completion, an error code otherwise.
|
||||
*/
|
||||
enum CRStatus
|
||||
cr_simple_sel_compute_specificity (CRSimpleSel * a_this)
|
||||
|
@@ -68,7 +68,7 @@ typedef struct _CRSimpleSel CRSimpleSel ;
|
||||
*then been called 'universal selector')
|
||||
*
|
||||
*2/An additional selector that "specializes" the preceding type or
|
||||
*universal selector. The additional selector can be either
|
||||
*universal selector. The additionnal selector can be either
|
||||
*an id selector, or a class selector, or an attribute selector.
|
||||
*/
|
||||
struct _CRSimpleSel
|
||||
|
@@ -1037,7 +1037,7 @@ cr_statement_parse_from_buf (const guchar * a_buf, enum CREncoding a_encoding)
|
||||
*@a_buf: the buffer to parse.
|
||||
*@a_enc: the character encoding of a_buf.
|
||||
*
|
||||
*Parses a buffer that contains a ruleset statement an instantiates
|
||||
*Parses a buffer that contains a ruleset statement an instanciates
|
||||
*a #CRStatement of type RULESET_STMT.
|
||||
*
|
||||
*Returns the newly built instance of #CRStatement in case of successful parsing,
|
||||
@@ -1254,7 +1254,7 @@ cr_statement_at_media_rule_parse_from_buf (const guchar * a_buf,
|
||||
*in the \@media rule.
|
||||
*@a_media: the media string list. A list of GString pointers.
|
||||
*
|
||||
*Instantiates an instance of #CRStatement of type
|
||||
*Instanciates an instance of #CRStatement of type
|
||||
*AT_MEDIA_RULE_STMT (\@media ruleset).
|
||||
*
|
||||
*/
|
||||
@@ -1362,7 +1362,7 @@ cr_statement_new_at_import_rule (CRStyleSheet * a_container_sheet,
|
||||
*@a_encoding: the encoding of a_buf.
|
||||
*
|
||||
*Parses a buffer that contains an "\@import" rule and
|
||||
*instantiate a #CRStatement of type AT_IMPORT_RULE_STMT
|
||||
*instanciate a #CRStatement of type AT_IMPORT_RULE_STMT
|
||||
*
|
||||
*Returns the newly built instance of #CRStatement in case of
|
||||
*a successful parsing, NULL otherwise.
|
||||
@@ -2116,7 +2116,7 @@ cr_statement_ruleset_append_decl2 (CRStatement * a_this,
|
||||
*@a_this: the current statement.
|
||||
*@a_declaration: the declaration to append.
|
||||
*
|
||||
*Returns CR_OK upon successful completion, an error code
|
||||
*Returns CR_OK upon sucessful completion, an error code
|
||||
*otherwise.
|
||||
*/
|
||||
enum CRStatus
|
||||
@@ -2170,7 +2170,7 @@ cr_statement_at_import_rule_set_imported_sheet (CRStatement * a_this,
|
||||
*only if the function returns CR_OK.
|
||||
*
|
||||
*Gets the stylesheet contained by the \@import rule statement.
|
||||
*Returns CR_OK upon successful completion, an error code otherwise.
|
||||
*Returns CR_OK upon sucessful completion, an error code otherwise.
|
||||
*/
|
||||
enum CRStatus
|
||||
cr_statement_at_import_rule_get_imported_sheet (CRStatement * a_this,
|
||||
|
@@ -129,7 +129,7 @@ struct _CRAtCharsetRule
|
||||
CRString * charset ;
|
||||
};
|
||||
|
||||
/**The abstraction of the \@font-face rule.*/
|
||||
/**The abstaction of the \@font-face rule.*/
|
||||
typedef struct _CRAtFontFaceRule CRAtFontFaceRule ;
|
||||
struct _CRAtFontFaceRule
|
||||
{
|
||||
|
@@ -25,8 +25,8 @@
|
||||
#include "cr-string.h"
|
||||
|
||||
/**
|
||||
*Instantiates a #CRString
|
||||
*@return the newly instantiated #CRString
|
||||
*Instanciates a #CRString
|
||||
*@return the newly instanciated #CRString
|
||||
*Must be freed with cr_string_destroy().
|
||||
*/
|
||||
CRString *
|
||||
@@ -45,10 +45,10 @@ cr_string_new (void)
|
||||
}
|
||||
|
||||
/**
|
||||
*Instantiate a string and initialise it to
|
||||
*Instanciate a string and initialise it to
|
||||
*a_string.
|
||||
*@param a_string the initial string
|
||||
*@return the newly instantiated string.
|
||||
*@return the newly instanciated string.
|
||||
*/
|
||||
CRString *
|
||||
cr_string_new_from_string (const gchar * a_string)
|
||||
@@ -66,10 +66,10 @@ cr_string_new_from_string (const gchar * a_string)
|
||||
}
|
||||
|
||||
/**
|
||||
*Instantiates a #CRString from an instance of GString.
|
||||
*Instanciates a #CRString from an instance of GString.
|
||||
*@param a_string the input string that will be copied into
|
||||
*the newly instantiated #CRString
|
||||
*@return the newly instantiated #CRString.
|
||||
*the newly instanciated #CRString
|
||||
*@return the newly instanciated #CRString.
|
||||
*/
|
||||
CRString *
|
||||
cr_string_new_from_gstring (GString const *a_string)
|
||||
|
@@ -74,7 +74,7 @@ struct _CRStyleSheet
|
||||
gpointer app_data ;
|
||||
|
||||
/**
|
||||
*the reference count of this instance
|
||||
*the reference count of this insance
|
||||
*Please, don't never ever modify it
|
||||
*directly. Use cr_stylesheet_ref()
|
||||
*and cr_stylesheet_unref() instead.
|
||||
|
@@ -77,7 +77,7 @@ cr_term_clear (CRTerm * a_this)
|
||||
}
|
||||
|
||||
/**
|
||||
*Instantiate a #CRTerm.
|
||||
*Instanciate a #CRTerm.
|
||||
*@return the newly build instance
|
||||
*of #CRTerm.
|
||||
*/
|
||||
@@ -96,7 +96,7 @@ cr_term_new (void)
|
||||
}
|
||||
|
||||
/**
|
||||
*Parses an expression as defined by the css2 spec
|
||||
*Parses an expresion as defined by the css2 spec
|
||||
*and builds the expression as a list of terms.
|
||||
*@param a_buf the buffer to parse.
|
||||
*@return a pointer to the first term of the expression or
|
||||
|
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user