Compare commits
11 Commits
3.37.90
...
wip/carlos
Author | SHA1 | Date | |
---|---|---|---|
f0cf611e1b | |||
beddbc0583 | |||
2f840174cb | |||
015559a207 | |||
98d6c4e8dd | |||
1675b54738 | |||
44cbd1e718 | |||
0dc1e1e99a | |||
1029e683d3 | |||
cf1d09b482 | |||
a436226266 |
@ -32,6 +32,7 @@
|
||||
<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>
|
||||
|
||||
|
146
js/perf/basic.js
Normal file
146
js/perf/basic.js
Normal file
@ -0,0 +1,146 @@
|
||||
// -*- 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,7 +70,8 @@ let WINDOW_CONFIGS = [
|
||||
{ width: 640, height: 480, alpha: true, maximized: false, count: 10, metric: 'overviewFps10Alpha' },
|
||||
];
|
||||
|
||||
function *run() {
|
||||
async function run() {
|
||||
/* eslint-disable no-await-in-loop */
|
||||
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");
|
||||
@ -84,7 +85,7 @@ function *run() {
|
||||
Scripting.scriptEvent('overviewShowDone');
|
||||
});
|
||||
|
||||
yield Scripting.sleep(1000);
|
||||
await 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
|
||||
@ -92,49 +93,50 @@ function *run() {
|
||||
// a clean set of numbers.
|
||||
if ((i % 2) == 0) {
|
||||
let config = WINDOW_CONFIGS[i / 2];
|
||||
yield Scripting.destroyTestWindows();
|
||||
await Scripting.destroyTestWindows();
|
||||
|
||||
for (let k = 0; k < config.count; k++) {
|
||||
yield Scripting.createTestWindow({ width: config.width,
|
||||
await Scripting.createTestWindow({ width: config.width,
|
||||
height: config.height,
|
||||
alpha: config.alpha,
|
||||
maximized: config.maximized });
|
||||
}
|
||||
|
||||
yield Scripting.waitTestWindows();
|
||||
yield Scripting.sleep(1000);
|
||||
yield Scripting.waitLeisure();
|
||||
await Scripting.waitTestWindows();
|
||||
await Scripting.sleep(1000);
|
||||
await Scripting.waitLeisure();
|
||||
}
|
||||
|
||||
Scripting.scriptEvent('overviewShowStart');
|
||||
Main.overview.show();
|
||||
|
||||
yield Scripting.waitLeisure();
|
||||
await Scripting.waitLeisure();
|
||||
Main.overview.hide();
|
||||
yield Scripting.waitLeisure();
|
||||
await Scripting.waitLeisure();
|
||||
|
||||
System.gc();
|
||||
yield Scripting.sleep(1000);
|
||||
await Scripting.sleep(1000);
|
||||
Scripting.collectStatistics();
|
||||
Scripting.scriptEvent('afterShowHide');
|
||||
}
|
||||
|
||||
yield Scripting.destroyTestWindows();
|
||||
yield Scripting.sleep(1000);
|
||||
await Scripting.destroyTestWindows();
|
||||
await Scripting.sleep(1000);
|
||||
|
||||
Main.overview.show();
|
||||
yield Scripting.waitLeisure();
|
||||
await 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;
|
||||
yield Scripting.waitLeisure();
|
||||
await Scripting.waitLeisure();
|
||||
Scripting.scriptEvent('applicationsShowDone');
|
||||
// eslint-disable-next-line require-atomic-updates
|
||||
Main.overview.dash.showAppsButton.checked = false;
|
||||
yield Scripting.waitLeisure();
|
||||
await Scripting.waitLeisure();
|
||||
}
|
||||
/* eslint-enable no-await-in-loop */
|
||||
}
|
||||
|
||||
let showingOverview = false;
|
||||
|
@ -94,7 +94,8 @@ function extractBootTimestamp() {
|
||||
return result;
|
||||
}
|
||||
|
||||
function *run() {
|
||||
async function run() {
|
||||
/* eslint-disable no-await-in-loop */
|
||||
Scripting.defineScriptEvent("desktopShown", "Finished initial animation");
|
||||
Scripting.defineScriptEvent("overviewShowStart", "Starting to show the overview");
|
||||
Scripting.defineScriptEvent("overviewShowDone", "Overview finished showing");
|
||||
@ -110,7 +111,7 @@ function *run() {
|
||||
Scripting.defineScriptEvent("geditLaunch", "gedit application launch");
|
||||
Scripting.defineScriptEvent("geditFirstFrame", "first frame of gedit window drawn");
|
||||
|
||||
yield Scripting.waitLeisure();
|
||||
await Scripting.waitLeisure();
|
||||
Scripting.scriptEvent('desktopShown');
|
||||
|
||||
let interfaceSettings = new Gio.Settings({
|
||||
@ -120,22 +121,22 @@ function *run() {
|
||||
|
||||
Scripting.scriptEvent('overviewShowStart');
|
||||
Main.overview.show();
|
||||
yield Scripting.waitLeisure();
|
||||
await Scripting.waitLeisure();
|
||||
Scripting.scriptEvent('overviewShowDone');
|
||||
|
||||
yield Scripting.sleep(1000);
|
||||
await Scripting.sleep(1000);
|
||||
|
||||
Scripting.scriptEvent('applicationsShowStart');
|
||||
// eslint-disable-next-line require-atomic-updates
|
||||
Main.overview.dash.showAppsButton.checked = true;
|
||||
|
||||
yield Scripting.waitLeisure();
|
||||
await Scripting.waitLeisure();
|
||||
Scripting.scriptEvent('applicationsShowDone');
|
||||
|
||||
yield Scripting.sleep(1000);
|
||||
await Scripting.sleep(1000);
|
||||
|
||||
Main.overview.hide();
|
||||
yield Scripting.waitLeisure();
|
||||
await Scripting.waitLeisure();
|
||||
|
||||
// --------------------- //
|
||||
// Tests of redraw speed //
|
||||
@ -145,46 +146,46 @@ function *run() {
|
||||
global.frame_finish_timestamp = true;
|
||||
|
||||
for (let k = 0; k < 5; k++)
|
||||
yield Scripting.createTestWindow({ maximized: true });
|
||||
yield Scripting.waitTestWindows();
|
||||
await Scripting.createTestWindow({ maximized: true });
|
||||
await Scripting.waitTestWindows();
|
||||
|
||||
yield Scripting.sleep(1000);
|
||||
await Scripting.sleep(1000);
|
||||
|
||||
Scripting.scriptEvent('mainViewDrawStart');
|
||||
yield waitAndDraw(1000);
|
||||
await waitAndDraw(1000);
|
||||
Scripting.scriptEvent('mainViewDrawDone');
|
||||
|
||||
Main.overview.show();
|
||||
Scripting.waitLeisure();
|
||||
|
||||
yield Scripting.sleep(1500);
|
||||
await Scripting.sleep(1500);
|
||||
|
||||
Scripting.scriptEvent('overviewDrawStart');
|
||||
yield waitAndDraw(1000);
|
||||
await waitAndDraw(1000);
|
||||
Scripting.scriptEvent('overviewDrawDone');
|
||||
|
||||
yield Scripting.destroyTestWindows();
|
||||
await Scripting.destroyTestWindows();
|
||||
Main.overview.hide();
|
||||
|
||||
yield Scripting.createTestWindow({ maximized: true,
|
||||
await Scripting.createTestWindow({ maximized: true,
|
||||
redraws: true });
|
||||
yield Scripting.waitTestWindows();
|
||||
await Scripting.waitTestWindows();
|
||||
|
||||
yield Scripting.sleep(1000);
|
||||
await Scripting.sleep(1000);
|
||||
|
||||
Scripting.scriptEvent('redrawTestStart');
|
||||
yield Scripting.sleep(1000);
|
||||
await Scripting.sleep(1000);
|
||||
Scripting.scriptEvent('redrawTestDone');
|
||||
|
||||
yield Scripting.sleep(1000);
|
||||
await Scripting.sleep(1000);
|
||||
Scripting.scriptEvent('collectTimings');
|
||||
|
||||
yield Scripting.destroyTestWindows();
|
||||
await Scripting.destroyTestWindows();
|
||||
|
||||
global.frame_timestamps = false;
|
||||
global.frame_finish_timestamp = false;
|
||||
|
||||
yield Scripting.sleep(1000);
|
||||
await Scripting.sleep(1000);
|
||||
|
||||
let appSys = Shell.AppSystem.get_default();
|
||||
let app = appSys.lookup_app('org.gnome.gedit.desktop');
|
||||
@ -197,21 +198,22 @@ function *run() {
|
||||
throw new Error('gedit was already running');
|
||||
|
||||
while (windows.length == 0) {
|
||||
yield waitSignal(global.display, 'window-created');
|
||||
await waitSignal(global.display, 'window-created');
|
||||
windows = app.get_windows();
|
||||
}
|
||||
|
||||
let actor = windows[0].get_compositor_private();
|
||||
yield waitSignal(actor, 'first-frame');
|
||||
await waitSignal(actor, 'first-frame');
|
||||
Scripting.scriptEvent('geditFirstFrame');
|
||||
|
||||
yield Scripting.sleep(1000);
|
||||
await Scripting.sleep(1000);
|
||||
|
||||
windows[0].delete(global.get_current_time());
|
||||
|
||||
yield Scripting.sleep(1000);
|
||||
await Scripting.sleep(1000);
|
||||
|
||||
interfaceSettings.set_boolean('enable-animations', true);
|
||||
/* eslint-enable no-await-in-loop */
|
||||
}
|
||||
|
||||
let overviewShowStart;
|
||||
|
@ -134,7 +134,14 @@ function _easeActor(actor, params) {
|
||||
actor.set_easing_mode(params.mode);
|
||||
delete params.mode;
|
||||
|
||||
let cleanup = () => Meta.enable_unredirect_for_display(global.display);
|
||||
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 callback = _makeEaseCallback(params, cleanup);
|
||||
|
||||
// cancel overwritten transitions
|
||||
@ -149,9 +156,9 @@ function _easeActor(actor, params) {
|
||||
.find(t => t !== null);
|
||||
|
||||
if (transition && transition.delay)
|
||||
transition.connect('started', () => Meta.disable_unredirect_for_display(global.display));
|
||||
transition.connect('started', () => prepare());
|
||||
else
|
||||
Meta.disable_unredirect_for_display(global.display);
|
||||
prepare();
|
||||
|
||||
if (transition) {
|
||||
transition.set({ repeatCount, autoReverse });
|
||||
@ -191,7 +198,14 @@ function _easeActorProperty(actor, propName, target, params) {
|
||||
if (actor instanceof Clutter.Actor && !actor.mapped)
|
||||
duration = 0;
|
||||
|
||||
let cleanup = () => Meta.enable_unredirect_for_display(global.display);
|
||||
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 callback = _makeEaseCallback(params, cleanup);
|
||||
|
||||
// cancel overwritten transition
|
||||
@ -203,7 +217,7 @@ function _easeActorProperty(actor, propName, target, params) {
|
||||
if (!isReversed)
|
||||
obj[prop] = target;
|
||||
|
||||
Meta.disable_unredirect_for_display(global.display);
|
||||
prepare();
|
||||
callback(true);
|
||||
|
||||
return;
|
||||
@ -222,9 +236,9 @@ function _easeActorProperty(actor, propName, target, params) {
|
||||
transition.set_to(target);
|
||||
|
||||
if (transition.delay)
|
||||
transition.connect('started', () => Meta.disable_unredirect_for_display(global.display));
|
||||
transition.connect('started', () => prepare());
|
||||
else
|
||||
Meta.disable_unredirect_for_display(global.display);
|
||||
prepare();
|
||||
|
||||
transition.connect('stopped', (t, finished) => callback(finished));
|
||||
}
|
||||
|
@ -21,16 +21,13 @@ 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 a generator function that yields when it want to let the main
|
||||
// as an async function that uses await when it wants to let the main
|
||||
// loop run.
|
||||
//
|
||||
// yield Scripting.sleep(1000);
|
||||
// await Scripting.sleep(1000);
|
||||
// main.overview.show();
|
||||
// yield Scripting.waitLeisure();
|
||||
// await 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:
|
||||
@ -285,13 +282,11 @@ function _collect(scriptModule, outputFile) {
|
||||
}
|
||||
|
||||
async function _runPerfScript(scriptModule, outputFile) {
|
||||
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 {
|
||||
await scriptModule.run();
|
||||
} catch (err) {
|
||||
log(`Script failed: ${err}\n${err.stack}`);
|
||||
Meta.exit(Meta.ExitCode.ERROR);
|
||||
}
|
||||
|
||||
try {
|
||||
|
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-07-22 01:49+0000\n"
|
||||
"POT-Creation-Date: 2020-08-10 23:58+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:369 js/ui/extensionDownloader.js:183
|
||||
#: js/ui/endSessionDialog.js:438 js/ui/extensionDownloader.js:183
|
||||
#: js/ui/shellMountOperation.js:376 js/ui/shellMountOperation.js:386
|
||||
#: js/ui/status/network.js:916 subprojects/extensions-app/js/main.js:149
|
||||
#: js/ui/status/network.js:940 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:1254
|
||||
#: js/gdm/loginDialog.js:1253
|
||||
msgid "Login Window"
|
||||
msgstr "Finestra d'entrada"
|
||||
|
||||
@ -510,77 +510,89 @@ msgid "(or swipe finger)"
|
||||
msgstr "(o passeu el dit)"
|
||||
|
||||
#. Translators: The name of the power-off action in search
|
||||
#: js/misc/systemActions.js:93
|
||||
#: js/misc/systemActions.js:91
|
||||
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:96
|
||||
msgid "power off;shutdown;reboot;restart;halt;stop"
|
||||
#: js/misc/systemActions.js:94
|
||||
msgid "power off;shutdown;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:101
|
||||
#: js/misc/systemActions.js:107
|
||||
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:104
|
||||
#: js/misc/systemActions.js:110
|
||||
msgid "lock screen"
|
||||
msgstr "bloca la pantalla"
|
||||
|
||||
#. Translators: The name of the logout action in search
|
||||
#: js/misc/systemActions.js:109
|
||||
#: js/misc/systemActions.js:115
|
||||
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:112
|
||||
#: js/misc/systemActions.js:118
|
||||
msgid "logout;log out;sign off"
|
||||
msgstr "desconnecta;sortida;surt"
|
||||
|
||||
#. Translators: The name of the suspend action in search
|
||||
#: js/misc/systemActions.js:117
|
||||
#: js/misc/systemActions.js:123
|
||||
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:120
|
||||
#: js/misc/systemActions.js:126
|
||||
msgid "suspend;sleep"
|
||||
msgstr "atura temporalment;dorm"
|
||||
|
||||
#. Translators: The name of the switch user action in search
|
||||
#: js/misc/systemActions.js:125
|
||||
#: js/misc/systemActions.js:131
|
||||
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:128
|
||||
#: js/misc/systemActions.js:134
|
||||
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:135
|
||||
#: js/misc/systemActions.js:141
|
||||
msgid "lock orientation;unlock orientation;screen;rotation"
|
||||
msgstr "bloqueja l'orientació;desbloqueja l'orientació;pantalla;rotació"
|
||||
|
||||
#: js/misc/systemActions.js:255
|
||||
#: js/misc/systemActions.js:266
|
||||
msgctxt "search-result"
|
||||
msgid "Unlock Screen Rotation"
|
||||
msgstr "Desbloqueja la rotació de la pantalla"
|
||||
|
||||
#: js/misc/systemActions.js:256
|
||||
#: js/misc/systemActions.js:267
|
||||
msgctxt "search-result"
|
||||
msgid "Lock Screen Rotation"
|
||||
msgstr "Bloqueja la rotació de la pantalla"
|
||||
@ -751,31 +763,31 @@ msgid "Unnamed Folder"
|
||||
msgstr "Carpeta sense nom"
|
||||
|
||||
#. Translators: This is the heading of a list of open windows
|
||||
#: js/ui/appDisplay.js:2767 js/ui/panel.js:75
|
||||
#: js/ui/appDisplay.js:2762 js/ui/panel.js:75
|
||||
msgid "Open Windows"
|
||||
msgstr "Obre finestres"
|
||||
|
||||
#: js/ui/appDisplay.js:2786 js/ui/panel.js:82
|
||||
#: js/ui/appDisplay.js:2781 js/ui/panel.js:82
|
||||
msgid "New Window"
|
||||
msgstr "Finestra nova"
|
||||
|
||||
#: js/ui/appDisplay.js:2802
|
||||
#: js/ui/appDisplay.js:2797
|
||||
msgid "Launch using Integrated Graphics Card"
|
||||
msgstr "Inicia usant una targeta gràfica integrada"
|
||||
|
||||
#: js/ui/appDisplay.js:2803
|
||||
#: js/ui/appDisplay.js:2798
|
||||
msgid "Launch using Discrete Graphics Card"
|
||||
msgstr "Inicia usant una targeta gràfica discreta"
|
||||
|
||||
#: js/ui/appDisplay.js:2831 js/ui/dash.js:239
|
||||
#: js/ui/appDisplay.js:2826 js/ui/dash.js:239
|
||||
msgid "Remove from Favorites"
|
||||
msgstr "Suprimeix dels preferits"
|
||||
|
||||
#: js/ui/appDisplay.js:2837
|
||||
#: js/ui/appDisplay.js:2832
|
||||
msgid "Add to Favorites"
|
||||
msgstr "Afegeix als preferits"
|
||||
|
||||
#: js/ui/appDisplay.js:2847 js/ui/panel.js:93
|
||||
#: js/ui/appDisplay.js:2842 js/ui/panel.js:93
|
||||
msgid "Show Details"
|
||||
msgstr "Mostra els detalls"
|
||||
|
||||
@ -974,8 +986,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:227
|
||||
#: js/ui/status/network.js:318 js/ui/status/network.js:919
|
||||
#: js/ui/components/networkAgent.js:104 js/ui/status/network.js:252
|
||||
#: js/ui/status/network.js:343 js/ui/status/network.js:943
|
||||
msgid "Connect"
|
||||
msgstr "Connecta"
|
||||
|
||||
@ -1040,7 +1052,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:1694
|
||||
#: js/ui/components/networkAgent.js:669 js/ui/status/network.js:1718
|
||||
msgid "Network Manager"
|
||||
msgstr "Gestor de connexions de xarxa"
|
||||
|
||||
@ -1166,86 +1178,91 @@ msgstr "El temps"
|
||||
msgid "Select weather location…"
|
||||
msgstr "Trieu una ubicació pel temps…"
|
||||
|
||||
#: js/ui/endSessionDialog.js:37
|
||||
#: js/ui/endSessionDialog.js:39
|
||||
#, javascript-format
|
||||
msgctxt "title"
|
||||
msgid "Log Out %s"
|
||||
msgstr "Sortida %s"
|
||||
|
||||
#: js/ui/endSessionDialog.js:38
|
||||
#: js/ui/endSessionDialog.js:40
|
||||
msgctxt "title"
|
||||
msgid "Log Out"
|
||||
msgstr "Sortida"
|
||||
|
||||
#: js/ui/endSessionDialog.js:40
|
||||
#: js/ui/endSessionDialog.js:43
|
||||
#, 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:45
|
||||
#: js/ui/endSessionDialog.js:49
|
||||
#, 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:51
|
||||
#: js/ui/endSessionDialog.js:56
|
||||
msgctxt "button"
|
||||
msgid "Log Out"
|
||||
msgstr "Surt"
|
||||
|
||||
#: js/ui/endSessionDialog.js:56
|
||||
#: js/ui/endSessionDialog.js:62
|
||||
msgctxt "title"
|
||||
msgid "Power Off"
|
||||
msgstr "Apagada"
|
||||
|
||||
#: js/ui/endSessionDialog.js:57
|
||||
#: js/ui/endSessionDialog.js:63
|
||||
msgctxt "title"
|
||||
msgid "Install Updates & Power Off"
|
||||
msgstr "Instal·la les actualitzacions i apaga"
|
||||
|
||||
#: js/ui/endSessionDialog.js:59
|
||||
#: js/ui/endSessionDialog.js:66
|
||||
#, 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:63
|
||||
#: js/ui/endSessionDialog.js:70 js/ui/endSessionDialog.js:89
|
||||
msgctxt "checkbox"
|
||||
msgid "Install pending software updates"
|
||||
msgstr "Instal·la les actualitzacions pendents"
|
||||
|
||||
#: js/ui/endSessionDialog.js:66 js/ui/endSessionDialog.js:82
|
||||
msgctxt "button"
|
||||
msgid "Restart"
|
||||
msgstr "Reinicia"
|
||||
|
||||
#: js/ui/endSessionDialog.js:68
|
||||
#: js/ui/endSessionDialog.js:74
|
||||
msgctxt "button"
|
||||
msgid "Power Off"
|
||||
msgstr "Apaga"
|
||||
|
||||
#: js/ui/endSessionDialog.js:74
|
||||
#: js/ui/endSessionDialog.js:81
|
||||
msgctxt "title"
|
||||
msgid "Restart"
|
||||
msgstr "Reinici"
|
||||
|
||||
#: js/ui/endSessionDialog.js:76
|
||||
#: js/ui/endSessionDialog.js:82
|
||||
msgctxt "title"
|
||||
msgid "Install Updates & Restart"
|
||||
msgstr "Instal·la les actualitzacions i reinicia"
|
||||
|
||||
#: js/ui/endSessionDialog.js:85
|
||||
#, 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:89
|
||||
#: js/ui/endSessionDialog.js:93
|
||||
msgctxt "button"
|
||||
msgid "Restart"
|
||||
msgstr "Reinicia"
|
||||
|
||||
#: js/ui/endSessionDialog.js:101
|
||||
msgctxt "title"
|
||||
msgid "Restart & Install Updates"
|
||||
msgstr "Reinicia i instal·la les actualitzacions"
|
||||
|
||||
#: js/ui/endSessionDialog.js:91
|
||||
#: js/ui/endSessionDialog.js:104
|
||||
#, javascript-format
|
||||
msgid ""
|
||||
"The system will automatically restart and install updates in %d second."
|
||||
@ -1258,22 +1275,22 @@ msgstr[1] ""
|
||||
"Es reiniciarà l'ordinador automàticament i s'instal·laran les "
|
||||
"actualitzacions d'aquí %d segons."
|
||||
|
||||
#: js/ui/endSessionDialog.js:97 js/ui/endSessionDialog.js:116
|
||||
#: js/ui/endSessionDialog.js:111 js/ui/endSessionDialog.js:132
|
||||
msgctxt "button"
|
||||
msgid "Restart & Install"
|
||||
msgstr "Reinicia i instal·la"
|
||||
|
||||
#: js/ui/endSessionDialog.js:98
|
||||
#: js/ui/endSessionDialog.js:113
|
||||
msgctxt "button"
|
||||
msgid "Install & Power Off"
|
||||
msgstr "Instal·la i apaga"
|
||||
|
||||
#: js/ui/endSessionDialog.js:99
|
||||
#: js/ui/endSessionDialog.js:114
|
||||
msgctxt "checkbox"
|
||||
msgid "Power off after updates are installed"
|
||||
msgstr "Apaga després d'instal·lar les actualitzacions"
|
||||
|
||||
#: js/ui/endSessionDialog.js:106
|
||||
#: js/ui/endSessionDialog.js:121
|
||||
msgctxt "title"
|
||||
msgid "Restart & Install Upgrade"
|
||||
msgstr "Reinicia i instal·la l'actualització"
|
||||
@ -1281,7 +1298,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:111
|
||||
#: js/ui/endSessionDialog.js:126
|
||||
#, javascript-format
|
||||
msgid ""
|
||||
"%s %s will be installed after restart. Upgrade installation can take a long "
|
||||
@ -1291,30 +1308,35 @@ 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:259
|
||||
msgid "Running on battery power: Please plug in before installing updates."
|
||||
#: js/ui/endSessionDialog.js:284
|
||||
msgid "Low battery power: please plug in before installing updates."
|
||||
msgstr ""
|
||||
"S'està utilitzant la bateria. Connecteu l'ordinador a la xarxa elèctrica "
|
||||
"abans d'instal·lar les actualitzacions."
|
||||
"Hi ha poca bateria. Connecteu l'ordinador a la xarxa elèctrica abans "
|
||||
"d'instal·lar les actualitzacions."
|
||||
|
||||
#: js/ui/endSessionDialog.js:268
|
||||
#: js/ui/endSessionDialog.js:293
|
||||
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:273
|
||||
#: js/ui/endSessionDialog.js:298
|
||||
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:583
|
||||
#: js/ui/endSessionDialog.js:685
|
||||
#, javascript-format
|
||||
msgid "%s (remote)"
|
||||
msgstr "%s (remot)"
|
||||
|
||||
#. Translators: Console here refers to a tty like a VT console
|
||||
#: js/ui/endSessionDialog.js:586
|
||||
#: js/ui/endSessionDialog.js:688
|
||||
#, javascript-format
|
||||
msgid "%s (console)"
|
||||
msgstr "%s (consola)"
|
||||
@ -1419,15 +1441,15 @@ msgid "Leave On"
|
||||
msgstr "Deixa-ho actiu"
|
||||
|
||||
#: js/ui/kbdA11yDialog.js:55 js/ui/status/bluetooth.js:156
|
||||
#: js/ui/status/network.js:1291
|
||||
#: js/ui/status/network.js:1315
|
||||
msgid "Turn On"
|
||||
msgstr "Activa"
|
||||
|
||||
#: js/ui/kbdA11yDialog.js:63 js/ui/status/bluetooth.js:156
|
||||
#: 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/network.js:160 js/ui/status/network.js:344
|
||||
#: js/ui/status/network.js:1315 js/ui/status/network.js:1427
|
||||
#: js/ui/status/nightLight.js:41 js/ui/status/rfkill.js:81
|
||||
#: js/ui/status/rfkill.js:108
|
||||
#: js/ui/status/rfkill.js:110
|
||||
msgid "Turn Off"
|
||||
msgstr "Desactiva"
|
||||
|
||||
@ -1488,11 +1510,11 @@ msgstr "Mostra el codi font"
|
||||
msgid "Web Page"
|
||||
msgstr "Pàgina web"
|
||||
|
||||
#: js/ui/main.js:297
|
||||
#: js/ui/main.js:294
|
||||
msgid "Logged in as a privileged user"
|
||||
msgstr "Sessió iniciada com a usuari privilegiat"
|
||||
|
||||
#: js/ui/main.js:298
|
||||
#: js/ui/main.js:295
|
||||
msgid ""
|
||||
"Running a session as a privileged user should be avoided for security "
|
||||
"reasons. If possible, you should log in as a normal user."
|
||||
@ -1500,11 +1522,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:337
|
||||
#: js/ui/main.js:334
|
||||
msgid "Screen Lock disabled"
|
||||
msgstr "La pantalla de bloqueig està inhabilitada"
|
||||
|
||||
#: js/ui/main.js:338
|
||||
#: js/ui/main.js:335
|
||||
msgid "Screen Locking requires the GNOME display manager."
|
||||
msgstr "El bloqueig de pantalla requereix el gestor de pantalla del GNOME."
|
||||
|
||||
@ -1597,7 +1619,7 @@ msgctxt "System menu in the top bar"
|
||||
msgid "System"
|
||||
msgstr "Sistema"
|
||||
|
||||
#: js/ui/panel.js:827
|
||||
#: js/ui/panel.js:825
|
||||
msgid "Top Bar"
|
||||
msgstr "Barra superior"
|
||||
|
||||
@ -1772,7 +1794,7 @@ msgstr "Text gran"
|
||||
msgid "Bluetooth"
|
||||
msgstr "Bluetooth"
|
||||
|
||||
#: js/ui/status/bluetooth.js:49 js/ui/status/network.js:595
|
||||
#: js/ui/status/bluetooth.js:49 js/ui/status/network.js:619
|
||||
msgid "Bluetooth Settings"
|
||||
msgstr "Paràmetres del Bluetooth"
|
||||
|
||||
@ -1856,19 +1878,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:70
|
||||
#: js/ui/status/network.js:71
|
||||
msgid "<unknown>"
|
||||
msgstr "<desconegut>"
|
||||
|
||||
#. Translators: %s is a network identifier
|
||||
#: js/ui/status/network.js:424 js/ui/status/network.js:1320
|
||||
#: js/ui/status/network.js:449 js/ui/status/network.js:1344
|
||||
#, 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:427
|
||||
#: js/ui/status/network.js:452
|
||||
#, javascript-format
|
||||
msgid "%s Connected"
|
||||
msgstr "Connectat %s"
|
||||
@ -1877,26 +1899,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:432
|
||||
#: js/ui/status/network.js:457
|
||||
#, javascript-format
|
||||
msgid "%s Unmanaged"
|
||||
msgstr "%s no gestionat"
|
||||
|
||||
#. Translators: %s is a network identifier
|
||||
#: js/ui/status/network.js:435
|
||||
#: js/ui/status/network.js:460
|
||||
#, javascript-format
|
||||
msgid "%s Disconnecting"
|
||||
msgstr "%s s'està desconnectant"
|
||||
|
||||
#. Translators: %s is a network identifier
|
||||
#: js/ui/status/network.js:442 js/ui/status/network.js:1312
|
||||
#: js/ui/status/network.js:467 js/ui/status/network.js:1336
|
||||
#, 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:445
|
||||
#: js/ui/status/network.js:470
|
||||
#, javascript-format
|
||||
msgid "%s Requires Authentication"
|
||||
msgstr "%s requereix autenticació"
|
||||
@ -1904,7 +1926,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:453
|
||||
#: js/ui/status/network.js:478
|
||||
#, javascript-format
|
||||
msgid "Firmware Missing For %s"
|
||||
msgstr "Manca el microprogramari per %s"
|
||||
@ -1912,159 +1934,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:457
|
||||
#: js/ui/status/network.js:482
|
||||
#, javascript-format
|
||||
msgid "%s Unavailable"
|
||||
msgstr "%s no disponible"
|
||||
|
||||
#. Translators: %s is a network identifier
|
||||
#: js/ui/status/network.js:460
|
||||
#: js/ui/status/network.js:485
|
||||
#, javascript-format
|
||||
msgid "%s Connection Failed"
|
||||
msgstr "%s ha fallat la connexió"
|
||||
|
||||
#: js/ui/status/network.js:472
|
||||
#: js/ui/status/network.js:497
|
||||
msgid "Wired Settings"
|
||||
msgstr "Paràmetres de la xarxa amb fil"
|
||||
|
||||
#: js/ui/status/network.js:515
|
||||
#: js/ui/status/network.js:540
|
||||
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:562 js/ui/status/network.js:1317
|
||||
#: js/ui/status/network.js:586 js/ui/status/network.js:1341
|
||||
#, 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:566
|
||||
#: js/ui/status/network.js:590
|
||||
#, javascript-format
|
||||
msgid "%s Disabled"
|
||||
msgstr "%s Inhabilitat"
|
||||
|
||||
#: js/ui/status/network.js:607
|
||||
#: js/ui/status/network.js:631
|
||||
msgid "Connect to Internet"
|
||||
msgstr "Connecta a Internet"
|
||||
|
||||
#: js/ui/status/network.js:811
|
||||
#: js/ui/status/network.js:835
|
||||
msgid "Airplane Mode is On"
|
||||
msgstr "El mode d'avió és actiu"
|
||||
|
||||
#: js/ui/status/network.js:812
|
||||
#: js/ui/status/network.js:836
|
||||
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:813
|
||||
#: js/ui/status/network.js:837
|
||||
msgid "Turn Off Airplane Mode"
|
||||
msgstr "Desactiva el mode d'avió"
|
||||
|
||||
#: js/ui/status/network.js:822
|
||||
#: js/ui/status/network.js:846
|
||||
msgid "Wi-Fi is Off"
|
||||
msgstr "La xarxa sense fil està desactivada"
|
||||
|
||||
#: js/ui/status/network.js:823
|
||||
#: js/ui/status/network.js:847
|
||||
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:824
|
||||
#: js/ui/status/network.js:848
|
||||
msgid "Turn On Wi-Fi"
|
||||
msgstr "Activa la xarxa sense fil"
|
||||
|
||||
#: js/ui/status/network.js:849
|
||||
#: js/ui/status/network.js:873
|
||||
msgid "Wi-Fi Networks"
|
||||
msgstr "Xarxes sense fil"
|
||||
|
||||
#: js/ui/status/network.js:851
|
||||
#: js/ui/status/network.js:875
|
||||
msgid "Select a network"
|
||||
msgstr "Trieu una xarxa"
|
||||
|
||||
#: js/ui/status/network.js:883
|
||||
#: js/ui/status/network.js:907
|
||||
msgid "No Networks"
|
||||
msgstr "Cap xarxa"
|
||||
|
||||
#: js/ui/status/network.js:904 js/ui/status/rfkill.js:106
|
||||
#: js/ui/status/network.js:928 js/ui/status/rfkill.js:108
|
||||
msgid "Use hardware switch to turn off"
|
||||
msgstr "Utilitza l'interruptor de maquinari per a desactivar-la"
|
||||
|
||||
#: js/ui/status/network.js:1181
|
||||
#: js/ui/status/network.js:1205
|
||||
msgid "Select Network"
|
||||
msgstr "Trieu una xarxa"
|
||||
|
||||
#: js/ui/status/network.js:1187
|
||||
#: js/ui/status/network.js:1211
|
||||
msgid "Wi-Fi Settings"
|
||||
msgstr "Paràmetres de la xarxa sense fil"
|
||||
|
||||
#. Translators: %s is a network identifier
|
||||
#: js/ui/status/network.js:1308
|
||||
#: js/ui/status/network.js:1332
|
||||
#, javascript-format
|
||||
msgid "%s Hotspot Active"
|
||||
msgstr "Hostpot %s actiu"
|
||||
|
||||
#. Translators: %s is a network identifier
|
||||
#: js/ui/status/network.js:1323
|
||||
#: js/ui/status/network.js:1347
|
||||
#, javascript-format
|
||||
msgid "%s Not Connected"
|
||||
msgstr "%s no està connectat"
|
||||
|
||||
#: js/ui/status/network.js:1420
|
||||
#: js/ui/status/network.js:1444
|
||||
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:1423
|
||||
#: js/ui/status/network.js:1447
|
||||
msgid "authentication required"
|
||||
msgstr "cal autenticació"
|
||||
|
||||
#: js/ui/status/network.js:1425
|
||||
#: js/ui/status/network.js:1449
|
||||
msgid "connection failed"
|
||||
msgstr "ha fallat la connexió"
|
||||
|
||||
#: js/ui/status/network.js:1476
|
||||
#: js/ui/status/network.js:1500
|
||||
msgid "VPN Settings"
|
||||
msgstr "Paràmetres de la VPN"
|
||||
|
||||
#: js/ui/status/network.js:1493
|
||||
#: js/ui/status/network.js:1517
|
||||
msgid "VPN"
|
||||
msgstr "VPN"
|
||||
|
||||
#: js/ui/status/network.js:1503
|
||||
#: js/ui/status/network.js:1527
|
||||
msgid "VPN Off"
|
||||
msgstr "VPN apagada"
|
||||
|
||||
#: js/ui/status/network.js:1564 js/ui/status/rfkill.js:84
|
||||
#: js/ui/status/network.js:1588 js/ui/status/rfkill.js:84
|
||||
msgid "Network Settings"
|
||||
msgstr "Paràmetres de xarxa"
|
||||
|
||||
#: js/ui/status/network.js:1593
|
||||
#: js/ui/status/network.js:1617
|
||||
#, 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:1597
|
||||
#: js/ui/status/network.js:1621
|
||||
#, 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:1601
|
||||
#: js/ui/status/network.js:1625
|
||||
#, 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:1735
|
||||
#: js/ui/status/network.js:1759
|
||||
msgid "Connection failed"
|
||||
msgstr "Ha fallat la connexió"
|
||||
|
||||
#: js/ui/status/network.js:1736
|
||||
#: js/ui/status/network.js:1760
|
||||
msgid "Activation of network connection failed"
|
||||
msgstr "Ha fallat l'activació de la connexió de xarxa"
|
||||
|
||||
@ -2119,11 +2141,11 @@ msgstr "%d∶%02d per a completar la càrrega (%d %%)"
|
||||
msgid "%d %%"
|
||||
msgstr "%d %%"
|
||||
|
||||
#: js/ui/status/remoteAccess.js:43
|
||||
#: js/ui/status/remoteAccess.js:45
|
||||
msgid "Screen is Being Shared"
|
||||
msgstr "Es comparteix la pantalla"
|
||||
|
||||
#: js/ui/status/remoteAccess.js:45
|
||||
#: js/ui/status/remoteAccess.js:47
|
||||
msgid "Turn off"
|
||||
msgstr "Desactiva"
|
||||
|
||||
@ -2134,30 +2156,34 @@ msgstr "Desactiva"
|
||||
msgid "Airplane Mode On"
|
||||
msgstr "El mode d'avió és actiu"
|
||||
|
||||
#: js/ui/status/system.js:102
|
||||
#: js/ui/status/system.js:104
|
||||
msgid "Lock"
|
||||
msgstr "Bloqueja"
|
||||
|
||||
#: js/ui/status/system.js:115
|
||||
#: js/ui/status/system.js:116
|
||||
msgid "Power Off / Log Out"
|
||||
msgstr "Apaga / Surt"
|
||||
|
||||
#: js/ui/status/system.js:118
|
||||
msgid "Log Out"
|
||||
msgstr "Surt"
|
||||
|
||||
#: js/ui/status/system.js:130
|
||||
msgid "Switch User…"
|
||||
msgstr "Canvia d'usuari…"
|
||||
|
||||
#: js/ui/status/system.js:144
|
||||
#: js/ui/status/system.js:119
|
||||
msgid "Suspend"
|
||||
msgstr "Atura temporalment"
|
||||
|
||||
#: js/ui/status/system.js:156
|
||||
#: 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
|
||||
msgid "Log Out"
|
||||
msgstr "Surt"
|
||||
|
||||
#: js/ui/status/system.js:165
|
||||
msgid "Switch User…"
|
||||
msgstr "Canvia d'usuari…"
|
||||
|
||||
#: js/ui/status/thunderbolt.js:263
|
||||
msgid "Thunderbolt"
|
||||
msgstr "Thunderbolt"
|
||||
@ -2262,21 +2288,21 @@ msgid "“%s” is ready"
|
||||
msgstr "«%s» ja està a punt"
|
||||
|
||||
#. Translators: This string should be shorter than 30 characters
|
||||
#: js/ui/windowManager.js:55
|
||||
#: js/ui/windowManager.js:60
|
||||
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:64
|
||||
#: js/ui/windowManager.js:69
|
||||
msgid "Revert Settings"
|
||||
msgstr "Descarta els canvis"
|
||||
|
||||
#: js/ui/windowManager.js:67
|
||||
#: js/ui/windowManager.js:72
|
||||
msgid "Keep Changes"
|
||||
msgstr "Mantén els canvis"
|
||||
|
||||
#: js/ui/windowManager.js:86
|
||||
#: js/ui/windowManager.js:91
|
||||
#, javascript-format
|
||||
msgid "Settings changes will revert in %d second"
|
||||
msgid_plural "Settings changes will revert in %d seconds"
|
||||
@ -2285,7 +2311,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:546
|
||||
#: js/ui/windowManager.js:551
|
||||
#, javascript-format
|
||||
msgid "%d × %d"
|
||||
msgstr "%d × %d"
|
||||
|
295
po/es.po
295
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-07-27 06:59+0000\n"
|
||||
"PO-Revision-Date: 2020-07-29 09:47+0200\n"
|
||||
"POT-Creation-Date: 2020-08-10 23:58+0000\n"
|
||||
"PO-Revision-Date: 2020-08-13 10:39+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"
|
||||
@ -446,9 +446,9 @@ msgstr "Visitar la página web de la extensión"
|
||||
|
||||
#: 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/endSessionDialog.js:438 js/ui/extensionDownloader.js:183
|
||||
#: js/ui/shellMountOperation.js:376 js/ui/shellMountOperation.js:386
|
||||
#: js/ui/status/network.js:916 subprojects/extensions-app/js/main.js:149
|
||||
#: js/ui/status/network.js:940 subprojects/extensions-app/js/main.js:149
|
||||
msgid "Cancel"
|
||||
msgstr "Cancelar"
|
||||
|
||||
@ -484,7 +484,7 @@ msgstr "(ej., usuario o %s)"
|
||||
msgid "Username"
|
||||
msgstr "Nombre de usuario"
|
||||
|
||||
#: js/gdm/loginDialog.js:1254
|
||||
#: js/gdm/loginDialog.js:1253
|
||||
msgid "Login Window"
|
||||
msgstr "Ventana de inicio de sesión"
|
||||
|
||||
@ -502,71 +502,84 @@ msgid "(or swipe finger)"
|
||||
msgstr "(o pase el dedo)"
|
||||
|
||||
#. Translators: The name of the power-off action in search
|
||||
#: js/misc/systemActions.js:93
|
||||
#: js/misc/systemActions.js:91
|
||||
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:96
|
||||
msgid "power off;shutdown;reboot;restart;halt;stop"
|
||||
#: js/misc/systemActions.js:94
|
||||
#| msgid "power off;shutdown;reboot;restart;halt;stop"
|
||||
msgid "power off;shutdown;halt;stop"
|
||||
msgstr "apagar;apagado;reinicio;reiniciar;detener;parar"
|
||||
|
||||
#. Translators: The name of the restart action in search
|
||||
#: js/misc/systemActions.js:99
|
||||
#| msgid "Restart"
|
||||
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:101
|
||||
#: js/misc/systemActions.js:107
|
||||
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:104
|
||||
#: js/misc/systemActions.js:110
|
||||
msgid "lock screen"
|
||||
msgstr "bloquear;pantalla"
|
||||
|
||||
#. Translators: The name of the logout action in search
|
||||
#: js/misc/systemActions.js:109
|
||||
#: js/misc/systemActions.js:115
|
||||
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:112
|
||||
#: js/misc/systemActions.js:118
|
||||
msgid "logout;log out;sign off"
|
||||
msgstr "cerrar;sesión;salir"
|
||||
|
||||
#. Translators: The name of the suspend action in search
|
||||
#: js/misc/systemActions.js:117
|
||||
#: js/misc/systemActions.js:123
|
||||
msgctxt "search-result"
|
||||
msgid "Suspend"
|
||||
msgstr "Suspender"
|
||||
|
||||
#. Translators: A list of keywords that match the suspend action, separated by semicolons
|
||||
#: js/misc/systemActions.js:120
|
||||
#: js/misc/systemActions.js:126
|
||||
msgid "suspend;sleep"
|
||||
msgstr "suspender;dormir"
|
||||
|
||||
#. Translators: The name of the switch user action in search
|
||||
#: js/misc/systemActions.js:125
|
||||
#: js/misc/systemActions.js:131
|
||||
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:128
|
||||
#: js/misc/systemActions.js:134
|
||||
msgid "switch user"
|
||||
msgstr "cambiar;usuario"
|
||||
|
||||
#. Translators: A list of keywords that match the lock orientation action, separated by semicolons
|
||||
#: js/misc/systemActions.js:135
|
||||
#: js/misc/systemActions.js:141
|
||||
msgid "lock orientation;unlock orientation;screen;rotation"
|
||||
msgstr "bloquear orientación;desbloquear orientación;pantalla;rotación"
|
||||
|
||||
#: js/misc/systemActions.js:255
|
||||
#: js/misc/systemActions.js:266
|
||||
msgctxt "search-result"
|
||||
msgid "Unlock Screen Rotation"
|
||||
msgstr "Desbloquear la rotación de la pantalla"
|
||||
|
||||
#: js/misc/systemActions.js:256
|
||||
#: js/misc/systemActions.js:267
|
||||
msgctxt "search-result"
|
||||
msgid "Lock Screen Rotation"
|
||||
msgstr "Bloquear la rotación de la pantalla"
|
||||
@ -736,31 +749,31 @@ msgid "Unnamed Folder"
|
||||
msgstr "Carpeta sin nombre"
|
||||
|
||||
#. Translators: This is the heading of a list of open windows
|
||||
#: js/ui/appDisplay.js:2767 js/ui/panel.js:75
|
||||
#: js/ui/appDisplay.js:2762 js/ui/panel.js:75
|
||||
msgid "Open Windows"
|
||||
msgstr "Ventanas abiertas"
|
||||
|
||||
#: js/ui/appDisplay.js:2786 js/ui/panel.js:82
|
||||
#: js/ui/appDisplay.js:2781 js/ui/panel.js:82
|
||||
msgid "New Window"
|
||||
msgstr "Ventana nueva"
|
||||
|
||||
#: js/ui/appDisplay.js:2802
|
||||
#: js/ui/appDisplay.js:2797
|
||||
msgid "Launch using Integrated Graphics Card"
|
||||
msgstr "Lanzar usando la tarjeta gráfica integrada"
|
||||
|
||||
#: js/ui/appDisplay.js:2803
|
||||
#: js/ui/appDisplay.js:2798
|
||||
msgid "Launch using Discrete Graphics Card"
|
||||
msgstr "Lanzar usando la tarjeta gráfica discreta"
|
||||
|
||||
#: js/ui/appDisplay.js:2831 js/ui/dash.js:239
|
||||
#: js/ui/appDisplay.js:2826 js/ui/dash.js:239
|
||||
msgid "Remove from Favorites"
|
||||
msgstr "Quitar de los favoritos"
|
||||
|
||||
#: js/ui/appDisplay.js:2837
|
||||
#: js/ui/appDisplay.js:2832
|
||||
msgid "Add to Favorites"
|
||||
msgstr "Añadir a los favoritos"
|
||||
|
||||
#: js/ui/appDisplay.js:2847 js/ui/panel.js:93
|
||||
#: js/ui/appDisplay.js:2842 js/ui/panel.js:93
|
||||
msgid "Show Details"
|
||||
msgstr "Mostrar detalles"
|
||||
|
||||
@ -960,8 +973,8 @@ msgid ""
|
||||
msgstr ""
|
||||
"Alternativamente puede conectarse pulsando el botón «WPS» de su router."
|
||||
|
||||
#: js/ui/components/networkAgent.js:104 js/ui/status/network.js:227
|
||||
#: js/ui/status/network.js:318 js/ui/status/network.js:919
|
||||
#: js/ui/components/networkAgent.js:104 js/ui/status/network.js:252
|
||||
#: js/ui/status/network.js:343 js/ui/status/network.js:943
|
||||
msgid "Connect"
|
||||
msgstr "Conectar"
|
||||
|
||||
@ -1026,7 +1039,7 @@ msgstr "PIN"
|
||||
msgid "A password is required to connect to “%s”."
|
||||
msgstr "Se requiere una contraseña para conectarse a «%s»."
|
||||
|
||||
#: js/ui/components/networkAgent.js:669 js/ui/status/network.js:1694
|
||||
#: js/ui/components/networkAgent.js:669 js/ui/status/network.js:1718
|
||||
msgid "Network Manager"
|
||||
msgstr "Gestor de la red"
|
||||
|
||||
@ -1152,86 +1165,94 @@ msgstr "Meteorología"
|
||||
msgid "Select weather location…"
|
||||
msgstr "Seleccionar ubicación meteorológica…"
|
||||
|
||||
#: js/ui/endSessionDialog.js:37
|
||||
#: js/ui/endSessionDialog.js:39
|
||||
#, javascript-format
|
||||
msgctxt "title"
|
||||
msgid "Log Out %s"
|
||||
msgstr "Cerrar la sesión %s"
|
||||
|
||||
#: js/ui/endSessionDialog.js:38
|
||||
#: js/ui/endSessionDialog.js:40
|
||||
msgctxt "title"
|
||||
msgid "Log Out"
|
||||
msgstr "Cerrar la sesión"
|
||||
|
||||
#: js/ui/endSessionDialog.js:40
|
||||
#: js/ui/endSessionDialog.js:43
|
||||
#, 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:45
|
||||
#: js/ui/endSessionDialog.js:49
|
||||
#, 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:51
|
||||
#: js/ui/endSessionDialog.js:56
|
||||
msgctxt "button"
|
||||
msgid "Log Out"
|
||||
msgstr "Cerrar la sesión"
|
||||
|
||||
#: js/ui/endSessionDialog.js:56
|
||||
#: js/ui/endSessionDialog.js:62
|
||||
msgctxt "title"
|
||||
msgid "Power Off"
|
||||
msgstr "Apagar"
|
||||
|
||||
#: js/ui/endSessionDialog.js:57
|
||||
#: js/ui/endSessionDialog.js:63
|
||||
msgctxt "title"
|
||||
msgid "Install Updates & Power Off"
|
||||
msgstr "Instalar actualizaciones y apagar"
|
||||
|
||||
#: js/ui/endSessionDialog.js:59
|
||||
#: js/ui/endSessionDialog.js:66
|
||||
#, 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:63
|
||||
#: js/ui/endSessionDialog.js:70 js/ui/endSessionDialog.js:89
|
||||
msgctxt "checkbox"
|
||||
msgid "Install pending software updates"
|
||||
msgstr "Instalar las actualizaciones de software pendientes"
|
||||
|
||||
#: js/ui/endSessionDialog.js:66 js/ui/endSessionDialog.js:82
|
||||
msgctxt "button"
|
||||
msgid "Restart"
|
||||
msgstr "Reiniciar"
|
||||
|
||||
#: js/ui/endSessionDialog.js:68
|
||||
#: js/ui/endSessionDialog.js:74
|
||||
msgctxt "button"
|
||||
msgid "Power Off"
|
||||
msgstr "Apagar"
|
||||
|
||||
#: js/ui/endSessionDialog.js:74
|
||||
#: js/ui/endSessionDialog.js:81
|
||||
msgctxt "title"
|
||||
msgid "Restart"
|
||||
msgstr "Reiniciar"
|
||||
|
||||
#: js/ui/endSessionDialog.js:76
|
||||
#: js/ui/endSessionDialog.js:82
|
||||
#, fuzzy
|
||||
#| msgctxt "title"
|
||||
#| msgid "Install Updates & Power Off"
|
||||
msgctxt "title"
|
||||
msgid "Install Updates & Restart"
|
||||
msgstr "Instalar actualizaciones y apagar"
|
||||
|
||||
#: js/ui/endSessionDialog.js:85
|
||||
#, 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:89
|
||||
#: js/ui/endSessionDialog.js:93
|
||||
msgctxt "button"
|
||||
msgid "Restart"
|
||||
msgstr "Reiniciar"
|
||||
|
||||
#: js/ui/endSessionDialog.js:101
|
||||
msgctxt "title"
|
||||
msgid "Restart & Install Updates"
|
||||
msgstr "Reiniciar e instalar actualizaciones"
|
||||
|
||||
#: js/ui/endSessionDialog.js:91
|
||||
#: js/ui/endSessionDialog.js:104
|
||||
#, javascript-format
|
||||
msgid "The system will automatically restart and install updates in %d second."
|
||||
msgid_plural ""
|
||||
@ -1243,22 +1264,22 @@ msgstr[1] ""
|
||||
"El sistema se reiniciará automáticamente e instalará las actualizaciones en "
|
||||
"%d segundos."
|
||||
|
||||
#: js/ui/endSessionDialog.js:97 js/ui/endSessionDialog.js:116
|
||||
#: js/ui/endSessionDialog.js:111 js/ui/endSessionDialog.js:132
|
||||
msgctxt "button"
|
||||
msgid "Restart & Install"
|
||||
msgstr "Reiniciar e instalar"
|
||||
|
||||
#: js/ui/endSessionDialog.js:98
|
||||
#: js/ui/endSessionDialog.js:113
|
||||
msgctxt "button"
|
||||
msgid "Install & Power Off"
|
||||
msgstr "Instalar y apagar"
|
||||
|
||||
#: js/ui/endSessionDialog.js:99
|
||||
#: js/ui/endSessionDialog.js:114
|
||||
msgctxt "checkbox"
|
||||
msgid "Power off after updates are installed"
|
||||
msgstr "Apagar después de instalar las actualizaciones"
|
||||
|
||||
#: js/ui/endSessionDialog.js:106
|
||||
#: js/ui/endSessionDialog.js:121
|
||||
msgctxt "title"
|
||||
msgid "Restart & Install Upgrade"
|
||||
msgstr "Reiniciar e instalar actualizaciones"
|
||||
@ -1266,7 +1287,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:111
|
||||
#: js/ui/endSessionDialog.js:126
|
||||
#, javascript-format
|
||||
msgid ""
|
||||
"%s %s will be installed after restart. Upgrade installation can take a long "
|
||||
@ -1276,27 +1297,34 @@ 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:259
|
||||
msgid "Running on battery power: Please plug in before installing updates."
|
||||
#: js/ui/endSessionDialog.js:284
|
||||
#, fuzzy
|
||||
#| msgid "Running on battery power: Please plug in before installing updates."
|
||||
msgid "Low battery power: please plug in before installing updates."
|
||||
msgstr ""
|
||||
"Funcionando con batería: conéctese antes de instalar las actualizaciones."
|
||||
|
||||
#: js/ui/endSessionDialog.js:268
|
||||
#: js/ui/endSessionDialog.js:293
|
||||
msgid "Some applications are busy or have unsaved work"
|
||||
msgstr "Algunas aplicaciones están ocupadas o tienen trabajo sin guardar"
|
||||
|
||||
#: js/ui/endSessionDialog.js:273
|
||||
#: js/ui/endSessionDialog.js:298
|
||||
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 ""
|
||||
|
||||
#. Translators: Remote here refers to a remote session, like a ssh login
|
||||
#: js/ui/endSessionDialog.js:583
|
||||
#: js/ui/endSessionDialog.js:685
|
||||
#, javascript-format
|
||||
msgid "%s (remote)"
|
||||
msgstr "%s (remoto)"
|
||||
|
||||
#. Translators: Console here refers to a tty like a VT console
|
||||
#: js/ui/endSessionDialog.js:586
|
||||
#: js/ui/endSessionDialog.js:688
|
||||
#, javascript-format
|
||||
msgid "%s (console)"
|
||||
msgstr "%s (consola)"
|
||||
@ -1399,15 +1427,15 @@ msgid "Leave On"
|
||||
msgstr "Dejar activada"
|
||||
|
||||
#: js/ui/kbdA11yDialog.js:55 js/ui/status/bluetooth.js:156
|
||||
#: js/ui/status/network.js:1291
|
||||
#: js/ui/status/network.js:1315
|
||||
msgid "Turn On"
|
||||
msgstr "Encendido"
|
||||
|
||||
#: js/ui/kbdA11yDialog.js:63 js/ui/status/bluetooth.js:156
|
||||
#: 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/network.js:160 js/ui/status/network.js:344
|
||||
#: js/ui/status/network.js:1315 js/ui/status/network.js:1427
|
||||
#: js/ui/status/nightLight.js:41 js/ui/status/rfkill.js:81
|
||||
#: js/ui/status/rfkill.js:108
|
||||
#: js/ui/status/rfkill.js:110
|
||||
msgid "Turn Off"
|
||||
msgstr "Apagar"
|
||||
|
||||
@ -1468,11 +1496,11 @@ msgstr "Ver fuente"
|
||||
msgid "Web Page"
|
||||
msgstr "Página web"
|
||||
|
||||
#: js/ui/main.js:297
|
||||
#: js/ui/main.js:294
|
||||
msgid "Logged in as a privileged user"
|
||||
msgstr "Sesión iniciada como usuario con privilegios"
|
||||
|
||||
#: js/ui/main.js:298
|
||||
#: js/ui/main.js:295
|
||||
msgid ""
|
||||
"Running a session as a privileged user should be avoided for security "
|
||||
"reasons. If possible, you should log in as a normal user."
|
||||
@ -1480,11 +1508,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:337
|
||||
#: js/ui/main.js:334
|
||||
msgid "Screen Lock disabled"
|
||||
msgstr "Pantalla de bloqueo desactivada"
|
||||
|
||||
#: js/ui/main.js:338
|
||||
#: js/ui/main.js:335
|
||||
msgid "Screen Locking requires the GNOME display manager."
|
||||
msgstr "La pantalla de bloqueo necesita el gestor de pantallas de GNOME."
|
||||
|
||||
@ -1577,7 +1605,7 @@ msgctxt "System menu in the top bar"
|
||||
msgid "System"
|
||||
msgstr "Sistema"
|
||||
|
||||
#: js/ui/panel.js:827
|
||||
#: js/ui/panel.js:825
|
||||
msgid "Top Bar"
|
||||
msgstr "Barra superior"
|
||||
|
||||
@ -1754,7 +1782,7 @@ msgstr "Texto grande"
|
||||
msgid "Bluetooth"
|
||||
msgstr "Bluetooth"
|
||||
|
||||
#: js/ui/status/bluetooth.js:49 js/ui/status/network.js:595
|
||||
#: js/ui/status/bluetooth.js:49 js/ui/status/network.js:619
|
||||
msgid "Bluetooth Settings"
|
||||
msgstr "Configuración de Bluetooth"
|
||||
|
||||
@ -1838,18 +1866,18 @@ msgstr ""
|
||||
"Los servicios de ubicación se pueden cambiar en cualquier momento desde la "
|
||||
"configuración de privacidad."
|
||||
|
||||
#: js/ui/status/network.js:70
|
||||
#: js/ui/status/network.js:71
|
||||
msgid "<unknown>"
|
||||
msgstr "<desconocido>"
|
||||
|
||||
#. Translators: %s is a network identifier
|
||||
#: js/ui/status/network.js:424 js/ui/status/network.js:1320
|
||||
#: js/ui/status/network.js:449 js/ui/status/network.js:1344
|
||||
#, javascript-format
|
||||
msgid "%s Off"
|
||||
msgstr "%s apagada"
|
||||
|
||||
#. Translators: %s is a network identifier
|
||||
#: js/ui/status/network.js:427
|
||||
#: js/ui/status/network.js:452
|
||||
#, javascript-format
|
||||
msgid "%s Connected"
|
||||
msgstr "%s conectada"
|
||||
@ -1857,189 +1885,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:432
|
||||
#: js/ui/status/network.js:457
|
||||
#, javascript-format
|
||||
msgid "%s Unmanaged"
|
||||
msgstr "%s sin gestionar"
|
||||
|
||||
#. Translators: %s is a network identifier
|
||||
#: js/ui/status/network.js:435
|
||||
#: js/ui/status/network.js:460
|
||||
#, javascript-format
|
||||
msgid "%s Disconnecting"
|
||||
msgstr "Desconectando %s"
|
||||
|
||||
#. Translators: %s is a network identifier
|
||||
#: js/ui/status/network.js:442 js/ui/status/network.js:1312
|
||||
#: js/ui/status/network.js:467 js/ui/status/network.js:1336
|
||||
#, 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:445
|
||||
#: js/ui/status/network.js:470
|
||||
#, 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:453
|
||||
#: js/ui/status/network.js:478
|
||||
#, 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:457
|
||||
#: js/ui/status/network.js:482
|
||||
#, javascript-format
|
||||
msgid "%s Unavailable"
|
||||
msgstr "%s no disponible"
|
||||
|
||||
#. Translators: %s is a network identifier
|
||||
#: js/ui/status/network.js:460
|
||||
#: js/ui/status/network.js:485
|
||||
#, javascript-format
|
||||
msgid "%s Connection Failed"
|
||||
msgstr "Falló la conexión %s"
|
||||
|
||||
#: js/ui/status/network.js:472
|
||||
#: js/ui/status/network.js:497
|
||||
msgid "Wired Settings"
|
||||
msgstr "Configuración de red cableada"
|
||||
|
||||
#: js/ui/status/network.js:515
|
||||
#: js/ui/status/network.js:540
|
||||
msgid "Mobile Broadband Settings"
|
||||
msgstr "Configuración de banda ancha móvil"
|
||||
|
||||
#. Translators: %s is a network identifier
|
||||
#: js/ui/status/network.js:562 js/ui/status/network.js:1317
|
||||
#: js/ui/status/network.js:586 js/ui/status/network.js:1341
|
||||
#, 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:566
|
||||
#: js/ui/status/network.js:590
|
||||
#, javascript-format
|
||||
msgid "%s Disabled"
|
||||
msgstr "%s desactivado"
|
||||
|
||||
#: js/ui/status/network.js:607
|
||||
#: js/ui/status/network.js:631
|
||||
msgid "Connect to Internet"
|
||||
msgstr "Conectar a Internet"
|
||||
|
||||
#: js/ui/status/network.js:811
|
||||
#: js/ui/status/network.js:835
|
||||
msgid "Airplane Mode is On"
|
||||
msgstr "El modo avión está activado"
|
||||
|
||||
#: js/ui/status/network.js:812
|
||||
#: js/ui/status/network.js:836
|
||||
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:813
|
||||
#: js/ui/status/network.js:837
|
||||
msgid "Turn Off Airplane Mode"
|
||||
msgstr "Apagar el modo avión"
|
||||
|
||||
#: js/ui/status/network.js:822
|
||||
#: js/ui/status/network.js:846
|
||||
msgid "Wi-Fi is Off"
|
||||
msgstr "La Wi-Fi está desactivada"
|
||||
|
||||
#: js/ui/status/network.js:823
|
||||
#: js/ui/status/network.js:847
|
||||
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:824
|
||||
#: js/ui/status/network.js:848
|
||||
msgid "Turn On Wi-Fi"
|
||||
msgstr "Activar la Wi-Fi"
|
||||
|
||||
#: js/ui/status/network.js:849
|
||||
#: js/ui/status/network.js:873
|
||||
msgid "Wi-Fi Networks"
|
||||
msgstr "Redes Wi-Fi"
|
||||
|
||||
#: js/ui/status/network.js:851
|
||||
#: js/ui/status/network.js:875
|
||||
msgid "Select a network"
|
||||
msgstr "Seleccionar una red"
|
||||
|
||||
#: js/ui/status/network.js:883
|
||||
#: js/ui/status/network.js:907
|
||||
msgid "No Networks"
|
||||
msgstr "No hay redes"
|
||||
|
||||
#: js/ui/status/network.js:904 js/ui/status/rfkill.js:106
|
||||
#: js/ui/status/network.js:928 js/ui/status/rfkill.js:108
|
||||
msgid "Use hardware switch to turn off"
|
||||
msgstr "Usar el interruptor hardware para apagar"
|
||||
|
||||
#: js/ui/status/network.js:1181
|
||||
#: js/ui/status/network.js:1205
|
||||
msgid "Select Network"
|
||||
msgstr "Seleccionar red"
|
||||
|
||||
#: js/ui/status/network.js:1187
|
||||
#: js/ui/status/network.js:1211
|
||||
msgid "Wi-Fi Settings"
|
||||
msgstr "Configuración de Wi-Fi"
|
||||
|
||||
#. Translators: %s is a network identifier
|
||||
#: js/ui/status/network.js:1308
|
||||
#: js/ui/status/network.js:1332
|
||||
#, javascript-format
|
||||
msgid "%s Hotspot Active"
|
||||
msgstr "Punto de acceso %s activo"
|
||||
|
||||
#. Translators: %s is a network identifier
|
||||
#: js/ui/status/network.js:1323
|
||||
#: js/ui/status/network.js:1347
|
||||
#, javascript-format
|
||||
msgid "%s Not Connected"
|
||||
msgstr "%s no conectado"
|
||||
|
||||
#: js/ui/status/network.js:1420
|
||||
#: js/ui/status/network.js:1444
|
||||
msgid "connecting…"
|
||||
msgstr "conectando…"
|
||||
|
||||
#. Translators: this is for network connections that require some kind of key or password
|
||||
#: js/ui/status/network.js:1423
|
||||
#: js/ui/status/network.js:1447
|
||||
msgid "authentication required"
|
||||
msgstr "se necesita autenticación"
|
||||
|
||||
#: js/ui/status/network.js:1425
|
||||
#: js/ui/status/network.js:1449
|
||||
msgid "connection failed"
|
||||
msgstr "falló la conexión"
|
||||
|
||||
#: js/ui/status/network.js:1476
|
||||
#: js/ui/status/network.js:1500
|
||||
msgid "VPN Settings"
|
||||
msgstr "Configuración de VPN"
|
||||
|
||||
#: js/ui/status/network.js:1493
|
||||
#: js/ui/status/network.js:1517
|
||||
msgid "VPN"
|
||||
msgstr "VPN"
|
||||
|
||||
#: js/ui/status/network.js:1503
|
||||
#: js/ui/status/network.js:1527
|
||||
msgid "VPN Off"
|
||||
msgstr "VPN apagada"
|
||||
|
||||
#: js/ui/status/network.js:1564 js/ui/status/rfkill.js:84
|
||||
#: js/ui/status/network.js:1588 js/ui/status/rfkill.js:84
|
||||
msgid "Network Settings"
|
||||
msgstr "Configuración de la red"
|
||||
|
||||
#: js/ui/status/network.js:1593
|
||||
#: js/ui/status/network.js:1617
|
||||
#, 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:1597
|
||||
#: js/ui/status/network.js:1621
|
||||
#, 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:1601
|
||||
#: js/ui/status/network.js:1625
|
||||
#, 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:1735
|
||||
#: js/ui/status/network.js:1759
|
||||
msgid "Connection failed"
|
||||
msgstr "Falló la conexión"
|
||||
|
||||
#: js/ui/status/network.js:1736
|
||||
#: js/ui/status/network.js:1760
|
||||
msgid "Activation of network connection failed"
|
||||
msgstr "Falló la activación de la conexión de red"
|
||||
|
||||
@ -2094,11 +2122,11 @@ msgstr "%d∶%02d para la carga completa (%d %%)"
|
||||
msgid "%d %%"
|
||||
msgstr "%d %%"
|
||||
|
||||
#: js/ui/status/remoteAccess.js:43
|
||||
#: js/ui/status/remoteAccess.js:45
|
||||
msgid "Screen is Being Shared"
|
||||
msgstr "Se está compartiendo la pantalla"
|
||||
|
||||
#: js/ui/status/remoteAccess.js:45
|
||||
#: js/ui/status/remoteAccess.js:47
|
||||
msgid "Turn off"
|
||||
msgstr "Apagar"
|
||||
|
||||
@ -2109,30 +2137,36 @@ msgstr "Apagar"
|
||||
msgid "Airplane Mode On"
|
||||
msgstr "Modo avión activado"
|
||||
|
||||
#: js/ui/status/system.js:102
|
||||
#: js/ui/status/system.js:104
|
||||
msgid "Lock"
|
||||
msgstr "Bloquear"
|
||||
|
||||
#: js/ui/status/system.js:115
|
||||
#: js/ui/status/system.js:116
|
||||
msgid "Power Off / Log Out"
|
||||
msgstr "Apagar / cerrar sesión"
|
||||
|
||||
#: js/ui/status/system.js:118
|
||||
msgid "Log Out"
|
||||
msgstr "Cerrar la sesión"
|
||||
|
||||
#: js/ui/status/system.js:130
|
||||
msgid "Switch User…"
|
||||
msgstr "Cambiar de usuario…"
|
||||
|
||||
#: js/ui/status/system.js:144
|
||||
#: js/ui/status/system.js:119
|
||||
msgid "Suspend"
|
||||
msgstr "Suspender"
|
||||
|
||||
#: js/ui/status/system.js:156
|
||||
#: js/ui/status/system.js:130
|
||||
#, fuzzy
|
||||
#| msgid "Restarting…"
|
||||
msgid "Restart…"
|
||||
msgstr "Reiniciando…"
|
||||
|
||||
#: js/ui/status/system.js:141
|
||||
msgid "Power Off…"
|
||||
msgstr "Apagar…"
|
||||
|
||||
#: js/ui/status/system.js:154
|
||||
msgid "Log Out"
|
||||
msgstr "Cerrar la sesión"
|
||||
|
||||
#: js/ui/status/system.js:165
|
||||
msgid "Switch User…"
|
||||
msgstr "Cambiar de usuario…"
|
||||
|
||||
#: js/ui/status/thunderbolt.js:263
|
||||
msgid "Thunderbolt"
|
||||
msgstr "Thunderbolt"
|
||||
@ -2240,22 +2274,22 @@ msgid "“%s” is ready"
|
||||
msgstr "«%s» está preparado"
|
||||
|
||||
#. Translators: This string should be shorter than 30 characters
|
||||
#: js/ui/windowManager.js:55
|
||||
#: js/ui/windowManager.js:60
|
||||
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:64
|
||||
#: js/ui/windowManager.js:69
|
||||
msgid "Revert Settings"
|
||||
msgstr "Revertir configuración"
|
||||
|
||||
#: js/ui/windowManager.js:67
|
||||
#: js/ui/windowManager.js:72
|
||||
msgid "Keep Changes"
|
||||
msgstr "Mantener cambios"
|
||||
|
||||
#: js/ui/windowManager.js:86
|
||||
#: js/ui/windowManager.js:91
|
||||
#, javascript-format
|
||||
msgid "Settings changes will revert in %d second"
|
||||
msgid_plural "Settings changes will revert in %d seconds"
|
||||
@ -2264,7 +2298,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:546
|
||||
#: js/ui/windowManager.js:551
|
||||
#, javascript-format
|
||||
msgid "%d × %d"
|
||||
msgstr "%d × %d"
|
||||
@ -3562,9 +3596,6 @@ msgstr "Sonidos del sistema"
|
||||
#~ msgid "Power"
|
||||
#~ msgstr "Energía"
|
||||
|
||||
#~ msgid "Restart"
|
||||
#~ msgstr "Reiniciar"
|
||||
|
||||
#~ msgid "Volume, network, battery"
|
||||
#~ msgstr "Volumen, red, batería"
|
||||
|
||||
|
@ -51,6 +51,8 @@ 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)
|
||||
|
||||
@ -295,6 +297,8 @@ 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()
|
||||
|
||||
|
@ -1361,9 +1361,15 @@ shell_global_get_pointer (ShellGlobal *global,
|
||||
{
|
||||
ClutterModifierType raw_mods;
|
||||
MetaCursorTracker *tracker;
|
||||
graphene_point_t point;
|
||||
|
||||
tracker = meta_cursor_tracker_get_for_display (global->meta_display);
|
||||
meta_cursor_tracker_get_pointer (tracker, x, y, &raw_mods);
|
||||
meta_cursor_tracker_get_pointer (tracker, &point, &raw_mods);
|
||||
|
||||
if (x)
|
||||
*x = point.x;
|
||||
if (y)
|
||||
*y = point.y;
|
||||
|
||||
*mods = raw_mods & CLUTTER_MODIFIER_MASK;
|
||||
}
|
||||
|
@ -181,6 +181,7 @@ draw_cursor_image (cairo_surface_t *surface,
|
||||
int x, y;
|
||||
int xhot, yhot;
|
||||
double xscale, yscale;
|
||||
graphene_point_t point;
|
||||
|
||||
display = shell_global_get_display (shell_global_get ());
|
||||
tracker = meta_cursor_tracker_get_for_display (display);
|
||||
@ -190,9 +191,11 @@ draw_cursor_image (cairo_surface_t *surface,
|
||||
return;
|
||||
|
||||
screenshot_region = cairo_region_create_rectangle (&area);
|
||||
meta_cursor_tracker_get_pointer (tracker, &x, &y, NULL);
|
||||
meta_cursor_tracker_get_pointer (tracker, &point, NULL);
|
||||
x = point.x;
|
||||
y = point.y;
|
||||
|
||||
if (!cairo_region_contains_point (screenshot_region, x, y))
|
||||
if (!cairo_region_contains_point (screenshot_region, point.x, point.y))
|
||||
{
|
||||
cairo_region_destroy (screenshot_region);
|
||||
return;
|
||||
|
@ -136,6 +136,8 @@ struct _CRParserPriv {
|
||||
|
||||
#define CHARS_TAB_SIZE 12
|
||||
|
||||
#define RECURSIVE_CALLERS_LIMIT 100
|
||||
|
||||
/**
|
||||
* IS_NUM:
|
||||
*@a_char: the char to test.
|
||||
@ -343,9 +345,11 @@ 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);
|
||||
static enum CRStatus cr_parser_parse_any_core (CRParser * a_this,
|
||||
guint n_calls);
|
||||
|
||||
static enum CRStatus cr_parser_parse_block_core (CRParser * a_this);
|
||||
static enum CRStatus cr_parser_parse_block_core (CRParser * a_this,
|
||||
guint n_calls);
|
||||
|
||||
static enum CRStatus cr_parser_parse_value_core (CRParser * a_this);
|
||||
|
||||
@ -783,7 +787,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);
|
||||
status = cr_parser_parse_any_core (a_this, 0);
|
||||
} while (status == CR_OK);
|
||||
|
||||
status = cr_tknzr_get_next_token (PRIVATE (a_this)->tknzr,
|
||||
@ -794,7 +798,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);
|
||||
status = cr_parser_parse_block_core (a_this, 0);
|
||||
CHECK_PARSING_STATUS (status,
|
||||
FALSE);
|
||||
goto done;
|
||||
@ -929,11 +933,11 @@ cr_parser_parse_selector_core (CRParser * a_this)
|
||||
|
||||
RECORD_INITIAL_POS (a_this, &init_pos);
|
||||
|
||||
status = cr_parser_parse_any_core (a_this);
|
||||
status = cr_parser_parse_any_core (a_this, 0);
|
||||
CHECK_PARSING_STATUS (status, FALSE);
|
||||
|
||||
do {
|
||||
status = cr_parser_parse_any_core (a_this);
|
||||
status = cr_parser_parse_any_core (a_this, 0);
|
||||
|
||||
} while (status == CR_OK);
|
||||
|
||||
@ -955,10 +959,12 @@ 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)
|
||||
cr_parser_parse_block_core (CRParser * a_this,
|
||||
guint n_calls)
|
||||
{
|
||||
CRToken *token = NULL;
|
||||
CRInputPos init_pos;
|
||||
@ -966,6 +972,9 @@ 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);
|
||||
@ -995,13 +1004,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);
|
||||
status = cr_parser_parse_block_core (a_this, n_calls + 1);
|
||||
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);
|
||||
status = cr_parser_parse_any_core (a_this, n_calls + 1);
|
||||
CHECK_PARSING_STATUS (status, FALSE);
|
||||
goto parse_block_content;
|
||||
}
|
||||
@ -1108,7 +1117,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);
|
||||
status = cr_parser_parse_block_core (a_this, 0);
|
||||
CHECK_PARSING_STATUS (status, FALSE);
|
||||
ref++;
|
||||
goto continue_parsing;
|
||||
@ -1122,7 +1131,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);
|
||||
status = cr_parser_parse_any_core (a_this, 0);
|
||||
if (status == CR_OK) {
|
||||
ref++;
|
||||
goto continue_parsing;
|
||||
@ -1161,10 +1170,12 @@ 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 successfull completion, an error code otherwise.
|
||||
*/
|
||||
static enum CRStatus
|
||||
cr_parser_parse_any_core (CRParser * a_this)
|
||||
cr_parser_parse_any_core (CRParser * a_this,
|
||||
guint n_calls)
|
||||
{
|
||||
CRToken *token1 = NULL,
|
||||
*token2 = NULL;
|
||||
@ -1173,6 +1184,9 @@ 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);
|
||||
@ -1211,7 +1225,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);
|
||||
status = cr_parser_parse_any_core (a_this, n_calls + 1);
|
||||
} while (status == CR_OK);
|
||||
|
||||
ENSURE_PARSING_COND (status == CR_PARSING_ERROR);
|
||||
@ -1236,7 +1250,7 @@ cr_parser_parse_any_core (CRParser * a_this)
|
||||
}
|
||||
|
||||
do {
|
||||
status = cr_parser_parse_any_core (a_this);
|
||||
status = cr_parser_parse_any_core (a_this, n_calls + 1);
|
||||
} while (status == CR_OK);
|
||||
|
||||
ENSURE_PARSING_COND (status == CR_PARSING_ERROR);
|
||||
@ -1264,7 +1278,7 @@ cr_parser_parse_any_core (CRParser * a_this)
|
||||
}
|
||||
|
||||
do {
|
||||
status = cr_parser_parse_any_core (a_this);
|
||||
status = cr_parser_parse_any_core (a_this, n_calls + 1);
|
||||
} while (status == CR_OK);
|
||||
|
||||
ENSURE_PARSING_COND (status == CR_PARSING_ERROR);
|
||||
|
@ -26,6 +26,7 @@
|
||||
#include <math.h>
|
||||
#include <string.h>
|
||||
#include <meta/main.h>
|
||||
#include <meta/meta-backend.h>
|
||||
|
||||
static ClutterActor *stage;
|
||||
static StThemeNode *root;
|
||||
@ -533,6 +534,7 @@ test_inline_style (void)
|
||||
int
|
||||
main (int argc, char **argv)
|
||||
{
|
||||
MetaBackend *backend;
|
||||
StTheme *theme;
|
||||
StThemeContext *context;
|
||||
PangoFontDescription *font_desc;
|
||||
@ -556,7 +558,8 @@ main (int argc, char **argv)
|
||||
theme = st_theme_new (file, NULL, NULL);
|
||||
g_object_unref (file);
|
||||
|
||||
stage = clutter_stage_new ();
|
||||
backend = meta_get_backend ();
|
||||
stage = meta_backend_get_stage (backend);
|
||||
context = st_theme_context_get_for_stage (CLUTTER_STAGE (stage));
|
||||
st_theme_context_set_theme (context, theme);
|
||||
|
||||
|
Reference in New Issue
Block a user