Compare commits
28 Commits
3.36.2
...
gbsneto/ea
Author | SHA1 | Date | |
---|---|---|---|
966d4b164c | |||
a3cf41734a | |||
76811b4ebc | |||
2721c306af | |||
402fd8ec29 | |||
fbe2e30f38 | |||
fb6ead2881 | |||
7ff7fb5d3b | |||
8030d9ad32 | |||
45bc850715 | |||
51a913730e | |||
0a4974ac8c | |||
1666fa195d | |||
a9df4e7516 | |||
343b3351f1 | |||
407b12c3cb | |||
455a8f3076 | |||
5067bda61a | |||
e138b6e3af | |||
9bc9d5165f | |||
26c2cb9f65 | |||
da44649e6f | |||
a0def23940 | |||
f49b58cf97 | |||
cadd9a99c0 | |||
7061889a29 | |||
764527c8c9 | |||
18742fcc32 |
@ -2,7 +2,7 @@
|
||||
/* exported BANNER_MESSAGE_KEY, BANNER_MESSAGE_TEXT_KEY, LOGO_KEY,
|
||||
DISABLE_USER_LIST_KEY, fadeInActor, fadeOutActor, cloneAndFadeOutActor */
|
||||
|
||||
const { Clutter, Gio, GLib } = imports.gi;
|
||||
const { Clutter, Gdm, Gio, GLib } = imports.gi;
|
||||
const Signals = imports.signals;
|
||||
|
||||
const Batch = imports.gdm.batch;
|
||||
@ -12,6 +12,15 @@ const Main = imports.ui.main;
|
||||
const Params = imports.misc.params;
|
||||
const SmartcardManager = imports.misc.smartcardManager;
|
||||
|
||||
Gio._promisify(Gdm.Client.prototype,
|
||||
'open_reauthentication_channel', 'open_reauthentication_channel_finish');
|
||||
Gio._promisify(Gdm.Client.prototype,
|
||||
'get_user_verifier', 'get_user_verifier_finish');
|
||||
Gio._promisify(Gdm.UserVerifierProxy.prototype,
|
||||
'call_begin_verification_for_user', 'call_begin_verification_for_user_finish');
|
||||
Gio._promisify(Gdm.UserVerifierProxy.prototype,
|
||||
'call_begin_verification', 'call_begin_verification_finish');
|
||||
|
||||
var PASSWORD_SERVICE_NAME = 'gdm-password';
|
||||
var FINGERPRINT_SERVICE_NAME = 'gdm-fingerprint';
|
||||
var SMARTCARD_SERVICE_NAME = 'gdm-smartcard';
|
||||
@ -168,14 +177,12 @@ var ShellUserVerifier = class {
|
||||
|
||||
this._checkForFingerprintReader();
|
||||
|
||||
if (userName) {
|
||||
// If possible, reauthenticate an already running session,
|
||||
// so any session specific credentials get updated appropriately
|
||||
this._client.open_reauthentication_channel(userName, this._cancellable,
|
||||
this._reauthenticationChannelOpened.bind(this));
|
||||
} else {
|
||||
this._client.get_user_verifier(this._cancellable, this._userVerifierGot.bind(this));
|
||||
}
|
||||
// If possible, reauthenticate an already running session,
|
||||
// so any session specific credentials get updated appropriately
|
||||
if (userName)
|
||||
this._openReauthenticationChannel(userName);
|
||||
else
|
||||
this._getUserVerifier();
|
||||
}
|
||||
|
||||
cancel() {
|
||||
@ -339,10 +346,11 @@ var ShellUserVerifier = class {
|
||||
this._verificationFailed(false);
|
||||
}
|
||||
|
||||
_reauthenticationChannelOpened(client, result) {
|
||||
async _openReauthenticationChannel(userName) {
|
||||
try {
|
||||
this._clearUserVerifier();
|
||||
this._userVerifier = client.open_reauthentication_channel_finish(result);
|
||||
this._userVerifier = await this._client.open_reauthentication_channel(
|
||||
userName, this._cancellable);
|
||||
} catch (e) {
|
||||
if (e.matches(Gio.IOErrorEnum, Gio.IOErrorEnum.CANCELLED))
|
||||
return;
|
||||
@ -351,8 +359,7 @@ var ShellUserVerifier = class {
|
||||
// Gdm emits org.freedesktop.DBus.Error.AccessDenied when there
|
||||
// is no session to reauthenticate. Fall back to performing
|
||||
// verification from this login session
|
||||
client.get_user_verifier(this._cancellable,
|
||||
this._userVerifierGot.bind(this));
|
||||
this._getUserVerifier();
|
||||
return;
|
||||
}
|
||||
|
||||
@ -366,10 +373,11 @@ var ShellUserVerifier = class {
|
||||
this._hold.release();
|
||||
}
|
||||
|
||||
_userVerifierGot(client, result) {
|
||||
async _getUserVerifier() {
|
||||
try {
|
||||
this._clearUserVerifier();
|
||||
this._userVerifier = client.get_user_verifier_finish(result);
|
||||
this._userVerifier =
|
||||
await this._client.get_user_verifier(this._cancellable);
|
||||
} catch (e) {
|
||||
if (e.matches(Gio.IOErrorEnum, Gio.IOErrorEnum.CANCELLED))
|
||||
return;
|
||||
@ -421,35 +429,25 @@ var ShellUserVerifier = class {
|
||||
}
|
||||
}
|
||||
|
||||
_startService(serviceName) {
|
||||
async _startService(serviceName) {
|
||||
this._hold.acquire();
|
||||
if (this._userName) {
|
||||
this._userVerifier.call_begin_verification_for_user(serviceName, this._userName, this._cancellable, (obj, result) => {
|
||||
try {
|
||||
obj.call_begin_verification_for_user_finish(result);
|
||||
} catch (e) {
|
||||
if (e.matches(Gio.IOErrorEnum, Gio.IOErrorEnum.CANCELLED))
|
||||
return;
|
||||
this._reportInitError('Failed to start verification for user', e);
|
||||
return;
|
||||
}
|
||||
|
||||
this._hold.release();
|
||||
});
|
||||
} else {
|
||||
this._userVerifier.call_begin_verification(serviceName, this._cancellable, (obj, result) => {
|
||||
try {
|
||||
obj.call_begin_verification_finish(result);
|
||||
} catch (e) {
|
||||
if (e.matches(Gio.IOErrorEnum, Gio.IOErrorEnum.CANCELLED))
|
||||
return;
|
||||
this._reportInitError('Failed to start verification', e);
|
||||
return;
|
||||
}
|
||||
|
||||
this._hold.release();
|
||||
});
|
||||
try {
|
||||
if (this._userName) {
|
||||
await this._userVerifier.call_begin_verification_for_user(
|
||||
serviceName, this._userName, this._cancellable);
|
||||
} else {
|
||||
await this._userVerifier.call_begin_verification(
|
||||
serviceName, this._cancellable);
|
||||
}
|
||||
} catch (e) {
|
||||
if (e.matches(Gio.IOErrorEnum, Gio.IOErrorEnum.CANCELLED))
|
||||
return;
|
||||
this._reportInitError(this._userName
|
||||
? 'Failed to start verification for user'
|
||||
: 'Failed to start verification', e);
|
||||
return;
|
||||
}
|
||||
this._hold.release();
|
||||
}
|
||||
|
||||
_beginVerification() {
|
||||
|
@ -1,7 +1,7 @@
|
||||
// -*- mode: js; js-indent-level: 4; indent-tabs-mode: nil -*-
|
||||
/* exported ExtensionState, ExtensionType, getCurrentExtension,
|
||||
getSettings, initTranslations, isOutOfDate, installImporter,
|
||||
serializeExtension, deserializeExtension */
|
||||
getSettings, initTranslations, openPrefs, isOutOfDate,
|
||||
installImporter, serializeExtension, deserializeExtension */
|
||||
|
||||
// Common utils for the extension system and the extension
|
||||
// preferences tool
|
||||
@ -153,6 +153,27 @@ function getSettings(schema) {
|
||||
return new Gio.Settings({ settings_schema: schemaObj });
|
||||
}
|
||||
|
||||
/**
|
||||
* openPrefs:
|
||||
*
|
||||
* Open the preference dialog of the current extension
|
||||
*/
|
||||
function openPrefs() {
|
||||
const extension = getCurrentExtension();
|
||||
|
||||
if (!extension)
|
||||
throw new Error('openPrefs() can only be called from extensions');
|
||||
|
||||
try {
|
||||
const extensionManager = imports.ui.main.extensionManager;
|
||||
extensionManager.openExtensionPrefs(extension.uuid, '', {});
|
||||
} catch (e) {
|
||||
if (e.name === 'ImportError')
|
||||
throw new Error('openPrefs() cannot be called from preferences');
|
||||
logError(e, 'Failed to open extension preferences');
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* versionCheck:
|
||||
* @param {string[]} required - an array of versions we're compatible with
|
||||
|
@ -6,6 +6,15 @@ const Signals = imports.signals;
|
||||
|
||||
const IBusCandidatePopup = imports.ui.ibusCandidatePopup;
|
||||
|
||||
Gio._promisify(IBus.Bus.prototype,
|
||||
'list_engines_async', 'list_engines_async_finish');
|
||||
Gio._promisify(IBus.Bus.prototype,
|
||||
'request_name_async', 'request_name_async_finish');
|
||||
Gio._promisify(IBus.Bus.prototype,
|
||||
'get_global_engine_async', 'get_global_engine_async_finish');
|
||||
Gio._promisify(IBus.Bus.prototype,
|
||||
'set_global_engine_async', 'set_global_engine_async_finish');
|
||||
|
||||
// Ensure runtime version matches
|
||||
_checkIBusVersion(1, 5, 2);
|
||||
|
||||
@ -102,16 +111,14 @@ var IBusManager = class {
|
||||
|
||||
_onConnected() {
|
||||
this._cancellable = new Gio.Cancellable();
|
||||
this._ibus.list_engines_async(-1, this._cancellable,
|
||||
this._initEngines.bind(this));
|
||||
this._ibus.request_name_async(IBus.SERVICE_PANEL,
|
||||
IBus.BusNameFlag.REPLACE_EXISTING, -1, this._cancellable,
|
||||
this._initPanelService.bind(this));
|
||||
this._initEngines();
|
||||
this._initPanelService();
|
||||
}
|
||||
|
||||
_initEngines(ibus, result) {
|
||||
async _initEngines() {
|
||||
try {
|
||||
let enginesList = this._ibus.list_engines_async_finish(result);
|
||||
const enginesList =
|
||||
await this._ibus.list_engines_async(-1, this._cancellable);
|
||||
for (let i = 0; i < enginesList.length; ++i) {
|
||||
let name = enginesList[i].get_name();
|
||||
this._engines.set(name, enginesList[i]);
|
||||
@ -126,9 +133,10 @@ var IBusManager = class {
|
||||
}
|
||||
}
|
||||
|
||||
_initPanelService(ibus, result) {
|
||||
async _initPanelService() {
|
||||
try {
|
||||
this._ibus.request_name_async_finish(result);
|
||||
await this._ibus.request_name_async(IBus.SERVICE_PANEL,
|
||||
IBus.BusNameFlag.REPLACE_EXISTING, -1, this._cancellable);
|
||||
} catch (e) {
|
||||
if (!e.matches(Gio.IOErrorEnum, Gio.IOErrorEnum.CANCELLED)) {
|
||||
logError(e);
|
||||
@ -163,19 +171,15 @@ var IBusManager = class {
|
||||
this._panelService.connect('set-content-type', this._setContentType.bind(this));
|
||||
} catch (e) {
|
||||
}
|
||||
// If an engine is already active we need to get its properties
|
||||
this._ibus.get_global_engine_async(-1, this._cancellable, (_bus, res) => {
|
||||
let engine;
|
||||
try {
|
||||
engine = this._ibus.get_global_engine_async_finish(res);
|
||||
if (!engine)
|
||||
return;
|
||||
} catch (e) {
|
||||
return;
|
||||
}
|
||||
|
||||
try {
|
||||
// If an engine is already active we need to get its properties
|
||||
const engine =
|
||||
await this._ibus.get_global_engine_async(-1, this._cancellable);
|
||||
this._engineChanged(this._ibus, engine.get_name());
|
||||
});
|
||||
this._updateReadiness();
|
||||
this._updateReadiness();
|
||||
} catch (e) {
|
||||
}
|
||||
}
|
||||
|
||||
_updateReadiness() {
|
||||
@ -223,7 +227,7 @@ var IBusManager = class {
|
||||
return this._engines.get(id);
|
||||
}
|
||||
|
||||
setEngine(id, callback) {
|
||||
async setEngine(id, callback) {
|
||||
// Send id even if id == this._currentEngineName
|
||||
// because 'properties-registered' signal can be emitted
|
||||
// while this._ibusSources == null on a lock screen.
|
||||
@ -233,18 +237,16 @@ var IBusManager = class {
|
||||
return;
|
||||
}
|
||||
|
||||
this._ibus.set_global_engine_async(id,
|
||||
this._MAX_INPUT_SOURCE_ACTIVATION_TIME,
|
||||
this._cancellable, (_bus, res) => {
|
||||
try {
|
||||
this._ibus.set_global_engine_async_finish(res);
|
||||
} catch (e) {
|
||||
if (!e.matches(Gio.IOErrorEnum, Gio.IOErrorEnum.CANCELLED))
|
||||
logError(e);
|
||||
}
|
||||
if (callback)
|
||||
callback();
|
||||
});
|
||||
try {
|
||||
await this._ibus.set_global_engine_async(id,
|
||||
this._MAX_INPUT_SOURCE_ACTIVATION_TIME,
|
||||
this._cancellable);
|
||||
} catch (e) {
|
||||
if (!e.matches(Gio.IOErrorEnum, Gio.IOErrorEnum.CANCELLED))
|
||||
logError(e);
|
||||
}
|
||||
if (callback)
|
||||
callback();
|
||||
}
|
||||
|
||||
preloadEngines(ids) {
|
||||
|
@ -4,6 +4,9 @@ const { Clutter, GLib, Gio, GObject, IBus } = imports.gi;
|
||||
|
||||
const Keyboard = imports.ui.status.keyboard;
|
||||
|
||||
Gio._promisify(IBus.Bus.prototype,
|
||||
'create_input_context_async', 'create_input_context_async_finish');
|
||||
|
||||
var HIDE_PANEL_TIME = 50;
|
||||
|
||||
var InputMethod = GObject.registerClass(
|
||||
@ -46,15 +49,11 @@ class InputMethod extends Clutter.InputMethod {
|
||||
this._currentSource = this._inputSourceManager.currentSource;
|
||||
}
|
||||
|
||||
_onConnected() {
|
||||
async _onConnected() {
|
||||
this._cancellable = new Gio.Cancellable();
|
||||
this._ibus.create_input_context_async('gnome-shell', -1,
|
||||
this._cancellable, this._setContext.bind(this));
|
||||
}
|
||||
|
||||
_setContext(bus, res) {
|
||||
try {
|
||||
this._context = this._ibus.create_input_context_async_finish(res);
|
||||
this._context = await this._ibus.create_input_context_async(
|
||||
'gnome-shell', -1, this._cancellable);
|
||||
} catch (e) {
|
||||
if (!e.matches(Gio.IOErrorEnum, Gio.IOErrorEnum.CANCELLED)) {
|
||||
logError(e);
|
||||
|
@ -50,25 +50,22 @@ function canLock() {
|
||||
}
|
||||
|
||||
|
||||
function registerSessionWithGDM() {
|
||||
async function registerSessionWithGDM() {
|
||||
log("Registering session with GDM");
|
||||
Gio.DBus.system.call('org.gnome.DisplayManager',
|
||||
'/org/gnome/DisplayManager/Manager',
|
||||
'org.gnome.DisplayManager.Manager',
|
||||
'RegisterSession',
|
||||
GLib.Variant.new('(a{sv})', [{}]), null,
|
||||
Gio.DBusCallFlags.NONE, -1, null,
|
||||
(source, result) => {
|
||||
try {
|
||||
source.call_finish(result);
|
||||
} catch (e) {
|
||||
if (!e.matches(Gio.DBusError, Gio.DBusError.UNKNOWN_METHOD))
|
||||
log(`Error registering session with GDM: ${e.message}`);
|
||||
else
|
||||
log("Not calling RegisterSession(): method not exported, GDM too old?");
|
||||
}
|
||||
}
|
||||
);
|
||||
try {
|
||||
await Gio.DBus.system.call(
|
||||
'org.gnome.DisplayManager',
|
||||
'/org/gnome/DisplayManager/Manager',
|
||||
'org.gnome.DisplayManager.Manager',
|
||||
'RegisterSession',
|
||||
GLib.Variant.new('(a{sv})', [{}]), null,
|
||||
Gio.DBusCallFlags.NONE, -1, null);
|
||||
} catch (e) {
|
||||
if (!e.matches(Gio.DBusError, Gio.DBusError.UNKNOWN_METHOD))
|
||||
log(`Error registering session with GDM: ${e.message}`);
|
||||
else
|
||||
log('Not calling RegisterSession(): method not exported, GDM too old?');
|
||||
}
|
||||
}
|
||||
|
||||
let _loginManager = null;
|
||||
@ -174,24 +171,19 @@ var LoginManagerSystemd = class {
|
||||
this._proxy.SuspendRemote(true);
|
||||
}
|
||||
|
||||
inhibit(reason, callback) {
|
||||
let inVariant = GLib.Variant.new('(ssss)',
|
||||
['sleep',
|
||||
'GNOME Shell',
|
||||
reason,
|
||||
'delay']);
|
||||
this._proxy.call_with_unix_fd_list('Inhibit', inVariant, 0, -1, null, null,
|
||||
(proxy, result) => {
|
||||
let fd = -1;
|
||||
try {
|
||||
let [outVariant_, fdList] = proxy.call_with_unix_fd_list_finish(result);
|
||||
fd = fdList.steal_fds()[0];
|
||||
callback(new Gio.UnixInputStream({ fd }));
|
||||
} catch (e) {
|
||||
logError(e, "Error getting systemd inhibitor");
|
||||
callback(null);
|
||||
}
|
||||
});
|
||||
async inhibit(reason, callback) {
|
||||
try {
|
||||
const inVariant = new GLib.Variant('(ssss)',
|
||||
['sleep', 'GNOME Shell', reason, 'delay']);
|
||||
const [outVariant_, fdList] =
|
||||
await this._proxy.call_with_unix_fd_list('Inhibit',
|
||||
inVariant, 0, -1, null, null);
|
||||
const [fd] = fdList.steal_fds();
|
||||
callback(new Gio.UnixInputStream({ fd }));
|
||||
} catch (e) {
|
||||
logError(e, 'Error getting systemd inhibitor');
|
||||
callback(null);
|
||||
}
|
||||
}
|
||||
|
||||
_prepareForSleep(proxy, sender, [aboutToSuspend]) {
|
||||
|
@ -57,9 +57,7 @@ var ObjectManager = class {
|
||||
// Start out inhibiting load until at least the proxy
|
||||
// manager is loaded and the remote objects are fetched
|
||||
this._numLoadInhibitors = 1;
|
||||
this._managerProxy.init_async(GLib.PRIORITY_DEFAULT,
|
||||
this._cancellable,
|
||||
this._onManagerProxyLoaded.bind(this));
|
||||
this._initManagerProxy();
|
||||
}
|
||||
|
||||
_tryToCompleteLoad() {
|
||||
@ -73,7 +71,7 @@ var ObjectManager = class {
|
||||
}
|
||||
}
|
||||
|
||||
_addInterface(objectPath, interfaceName, onFinished) {
|
||||
async _addInterface(objectPath, interfaceName, onFinished) {
|
||||
let info = this._interfaceInfos[interfaceName];
|
||||
|
||||
if (!info) {
|
||||
@ -89,40 +87,38 @@ var ObjectManager = class {
|
||||
g_interface_info: info,
|
||||
g_flags: Gio.DBusProxyFlags.DO_NOT_AUTO_START });
|
||||
|
||||
proxy.init_async(GLib.PRIORITY_DEFAULT, this._cancellable, (initable, result) => {
|
||||
try {
|
||||
initable.init_finish(result);
|
||||
} catch (e) {
|
||||
logError(e, `could not initialize proxy for interface ${interfaceName}`);
|
||||
|
||||
if (onFinished)
|
||||
onFinished();
|
||||
return;
|
||||
}
|
||||
|
||||
let isNewObject;
|
||||
if (!this._objects[objectPath]) {
|
||||
this._objects[objectPath] = {};
|
||||
isNewObject = true;
|
||||
} else {
|
||||
isNewObject = false;
|
||||
}
|
||||
|
||||
this._objects[objectPath][interfaceName] = proxy;
|
||||
|
||||
if (!this._interfaces[interfaceName])
|
||||
this._interfaces[interfaceName] = [];
|
||||
|
||||
this._interfaces[interfaceName].push(proxy);
|
||||
|
||||
if (isNewObject)
|
||||
this.emit('object-added', objectPath);
|
||||
|
||||
this.emit('interface-added', interfaceName, proxy);
|
||||
try {
|
||||
await proxy.init_async(GLib.PRIORITY_DEFAULT, this._cancellable);
|
||||
} catch (e) {
|
||||
logError(e, `could not initialize proxy for interface ${interfaceName}`);
|
||||
|
||||
if (onFinished)
|
||||
onFinished();
|
||||
});
|
||||
return;
|
||||
}
|
||||
|
||||
let isNewObject;
|
||||
if (!this._objects[objectPath]) {
|
||||
this._objects[objectPath] = {};
|
||||
isNewObject = true;
|
||||
} else {
|
||||
isNewObject = false;
|
||||
}
|
||||
|
||||
this._objects[objectPath][interfaceName] = proxy;
|
||||
|
||||
if (!this._interfaces[interfaceName])
|
||||
this._interfaces[interfaceName] = [];
|
||||
|
||||
this._interfaces[interfaceName].push(proxy);
|
||||
|
||||
if (isNewObject)
|
||||
this.emit('object-added', objectPath);
|
||||
|
||||
this.emit('interface-added', interfaceName, proxy);
|
||||
|
||||
if (onFinished)
|
||||
onFinished();
|
||||
}
|
||||
|
||||
_removeInterface(objectPath, interfaceName) {
|
||||
@ -151,9 +147,10 @@ var ObjectManager = class {
|
||||
}
|
||||
}
|
||||
|
||||
_onManagerProxyLoaded(initable, result) {
|
||||
async _initManagerProxy() {
|
||||
try {
|
||||
initable.init_finish(result);
|
||||
await this._managerProxy.init_async(
|
||||
GLib.PRIORITY_DEFAULT, this._cancellable);
|
||||
} catch (e) {
|
||||
logError(e, `could not initialize object manager for object ${this._serviceName}`);
|
||||
|
||||
|
@ -7,6 +7,8 @@ const PermissionStore = imports.misc.permissionStore;
|
||||
|
||||
const { loadInterfaceXML } = imports.misc.fileUtils;
|
||||
|
||||
Gio._promisify(Geoclue.Simple, 'new', 'new_finish');
|
||||
|
||||
const WeatherIntegrationIface = loadInterfaceXML('org.gnome.Shell.WeatherIntegration');
|
||||
|
||||
const WEATHER_BUS_NAME = 'org.gnome.Weather';
|
||||
@ -79,16 +81,7 @@ var WeatherClient = class {
|
||||
this._weatherApp = null;
|
||||
this._weatherProxy = null;
|
||||
|
||||
let nodeInfo = Gio.DBusNodeInfo.new_for_xml(WeatherIntegrationIface);
|
||||
Gio.DBusProxy.new(
|
||||
Gio.DBus.session,
|
||||
Gio.DBusProxyFlags.DO_NOT_AUTO_START | Gio.DBusProxyFlags.GET_INVALIDATED_PROPERTIES,
|
||||
nodeInfo.lookup_interface(WEATHER_INTEGRATION_IFACE),
|
||||
WEATHER_BUS_NAME,
|
||||
WEATHER_OBJECT_PATH,
|
||||
WEATHER_INTEGRATION_IFACE,
|
||||
null,
|
||||
this._onWeatherProxyReady.bind(this));
|
||||
this._createWeatherProxy();
|
||||
|
||||
this._settings = new Gio.Settings({
|
||||
schema_id: 'org.gnome.shell.weather',
|
||||
@ -146,9 +139,17 @@ var WeatherClient = class {
|
||||
(!this._needsAuth || this._weatherAuthorized);
|
||||
}
|
||||
|
||||
_onWeatherProxyReady(o, res) {
|
||||
async _createWeatherProxy() {
|
||||
const nodeInfo = Gio.DBusNodeInfo.new_for_xml(WeatherIntegrationIface);
|
||||
try {
|
||||
this._weatherProxy = Gio.DBusProxy.new_finish(res);
|
||||
this._weatherProxy = await Gio.DBusProxy.new(
|
||||
Gio.DBus.session,
|
||||
Gio.DBusProxyFlags.DO_NOT_AUTO_START | Gio.DBusProxyFlags.GET_INVALIDATED_PROPERTIES,
|
||||
nodeInfo.lookup_interface(WEATHER_INTEGRATION_IFACE),
|
||||
WEATHER_BUS_NAME,
|
||||
WEATHER_OBJECT_PATH,
|
||||
WEATHER_INTEGRATION_IFACE,
|
||||
null);
|
||||
} catch (e) {
|
||||
log(`Failed to create GNOME Weather proxy: ${e}`);
|
||||
return;
|
||||
@ -239,25 +240,23 @@ var WeatherClient = class {
|
||||
}
|
||||
}
|
||||
|
||||
_startGClueService() {
|
||||
async _startGClueService() {
|
||||
if (this._gclueStarting)
|
||||
return;
|
||||
|
||||
this._gclueStarting = true;
|
||||
|
||||
Geoclue.Simple.new('org.gnome.Shell', Geoclue.AccuracyLevel.CITY, null,
|
||||
(o, res) => {
|
||||
try {
|
||||
this._gclueService = Geoclue.Simple.new_finish(res);
|
||||
} catch (e) {
|
||||
log(`Failed to connect to Geoclue2 service: ${e.message}`);
|
||||
this._setLocation(this._mostRecentLocation);
|
||||
return;
|
||||
}
|
||||
this._gclueStarted = true;
|
||||
this._gclueService.get_client().distance_threshold = 100;
|
||||
this._updateLocationMonitoring();
|
||||
});
|
||||
try {
|
||||
this._gclueService = await Geoclue.Simple.new(
|
||||
'org.gnome.Shell', Geoclue.AccuracyLevel.CITY, null);
|
||||
} catch (e) {
|
||||
log(`Failed to connect to Geoclue2 service: ${e.message}`);
|
||||
this._setLocation(this._mostRecentLocation);
|
||||
return;
|
||||
}
|
||||
this._gclueStarted = true;
|
||||
this._gclueService.get_client().distance_threshold = 100;
|
||||
this._updateLocationMonitoring();
|
||||
}
|
||||
|
||||
_onGClueLocationChanged() {
|
||||
|
@ -157,6 +157,10 @@ var BaseAppView = GObject.registerClass({
|
||||
|
||||
this._items = new Map();
|
||||
this._orderedItems = [];
|
||||
|
||||
this._animateLaterId = 0;
|
||||
this._viewLoadedHandlerId = 0;
|
||||
this._viewIsReady = false;
|
||||
}
|
||||
|
||||
_childFocused(_actor) {
|
||||
@ -192,8 +196,6 @@ var BaseAppView = GObject.registerClass({
|
||||
this._items.set(icon.id, icon);
|
||||
});
|
||||
|
||||
this._animateLaterId = 0;
|
||||
this._viewLoadedHandlerId = 0;
|
||||
this._viewIsReady = true;
|
||||
this.emit('view-loaded');
|
||||
}
|
||||
@ -291,6 +293,11 @@ var BaseAppView = GObject.registerClass({
|
||||
}
|
||||
}
|
||||
|
||||
vfunc_unmap() {
|
||||
this._clearAnimateLater();
|
||||
super.vfunc_unmap();
|
||||
}
|
||||
|
||||
animateSwitch(animationDirection) {
|
||||
this.remove_all_transitions();
|
||||
this._grid.remove_all_transitions();
|
||||
@ -407,8 +414,6 @@ var AllView = GObject.registerClass({
|
||||
this._lastOvershootY = -1;
|
||||
this._lastOvershootTimeoutId = 0;
|
||||
|
||||
this._viewIsReady = false;
|
||||
|
||||
Main.overview.connect('hidden', () => this.goToPage(0));
|
||||
|
||||
this._redisplayWorkId = Main.initializeDeferredWork(this, this._redisplay.bind(this));
|
||||
@ -1371,12 +1376,12 @@ class FolderView extends BaseAppView {
|
||||
});
|
||||
layout.hookup_style(icon);
|
||||
let subSize = Math.floor(FOLDER_SUBICON_FRACTION * size);
|
||||
let scale = St.ThemeContext.get_for_stage(global.stage).scale_factor;
|
||||
|
||||
let numItems = this._orderedItems.length;
|
||||
let rtl = icon.get_text_direction() == Clutter.TextDirection.RTL;
|
||||
for (let i = 0; i < 4; i++) {
|
||||
let bin = new St.Bin({ width: subSize * scale, height: subSize * scale });
|
||||
const style = 'width: %dpx; height: %dpx;'.format(subSize, subSize);
|
||||
let bin = new St.Bin({ style });
|
||||
if (i < numItems)
|
||||
bin.child = this._orderedItems[i].app.create_icon_texture(subSize);
|
||||
layout.attach(bin, rtl ? (i + 1) % 2 : i % 2, Math.floor(i / 2), 1, 1);
|
||||
@ -2546,19 +2551,18 @@ var AppIconMenu = class AppIconMenu extends PopupMenu.PopupMenu {
|
||||
if (Shell.AppSystem.get_default().lookup_app('org.gnome.Software.desktop')) {
|
||||
this._appendSeparator();
|
||||
let item = this._appendMenuItem(_("Show Details"));
|
||||
item.connect('activate', () => {
|
||||
item.connect('activate', async () => {
|
||||
let id = this._source.app.get_id();
|
||||
let args = GLib.Variant.new('(ss)', [id, '']);
|
||||
Gio.DBus.get(Gio.BusType.SESSION, null, (o, res) => {
|
||||
let bus = Gio.DBus.get_finish(res);
|
||||
bus.call('org.gnome.Software',
|
||||
'/org/gnome/Software',
|
||||
'org.gtk.Actions', 'Activate',
|
||||
GLib.Variant.new('(sava{sv})',
|
||||
['details', [args], null]),
|
||||
null, 0, -1, null, null);
|
||||
Main.overview.hide();
|
||||
});
|
||||
const bus = await Gio.DBus.get(Gio.BusType.SESSION, null);
|
||||
bus.call(
|
||||
'org.gnome.Software',
|
||||
'/org/gnome/Software',
|
||||
'org.gtk.Actions', 'Activate',
|
||||
new GLib.Variant.new(
|
||||
'(sava{sv})', ['details', [args], null]),
|
||||
null, 0, -1, null);
|
||||
Main.overview.hide();
|
||||
});
|
||||
}
|
||||
}
|
||||
|
@ -199,46 +199,47 @@ class DBusEventSource extends EventSourceBase {
|
||||
|
||||
this._initialized = false;
|
||||
this._dbusProxy = new CalendarServer();
|
||||
this._dbusProxy.init_async(GLib.PRIORITY_DEFAULT, null, (object, result) => {
|
||||
let loaded = false;
|
||||
this._initProxy();
|
||||
}
|
||||
|
||||
try {
|
||||
this._dbusProxy.init_finish(result);
|
||||
loaded = true;
|
||||
} catch (e) {
|
||||
if (e.matches(Gio.DBusError, Gio.DBusError.TIMED_OUT)) {
|
||||
// Ignore timeouts and install signals as normal, because with high
|
||||
// probability the service will appear later on, and we will get a
|
||||
// NameOwnerChanged which will finish loading
|
||||
//
|
||||
// (But still _initialized to false, because the proxy does not know
|
||||
// about the HasCalendars property and would cause an exception trying
|
||||
// to read it)
|
||||
} else {
|
||||
log('Error loading calendars: %s'.format(e.message));
|
||||
return;
|
||||
}
|
||||
async _initProxy() {
|
||||
let loaded = false;
|
||||
|
||||
try {
|
||||
await this._dbusProxy.init_async(GLib.PRIORITY_DEFAULT, null);
|
||||
loaded = true;
|
||||
} catch (e) {
|
||||
// Ignore timeouts and install signals as normal, because with high
|
||||
// probability the service will appear later on, and we will get a
|
||||
// NameOwnerChanged which will finish loading
|
||||
//
|
||||
// (But still _initialized to false, because the proxy does not know
|
||||
// about the HasCalendars property and would cause an exception trying
|
||||
// to read it)
|
||||
if (!e.matches(Gio.DBusError, Gio.DBusError.TIMED_OUT)) {
|
||||
log('Error loading calendars: %s'.format(e.message));
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
this._dbusProxy.connectSignal('Changed', this._onChanged.bind(this));
|
||||
this._dbusProxy.connectSignal('Changed', this._onChanged.bind(this));
|
||||
|
||||
this._dbusProxy.connect('notify::g-name-owner', () => {
|
||||
if (this._dbusProxy.g_name_owner)
|
||||
this._onNameAppeared();
|
||||
else
|
||||
this._onNameVanished();
|
||||
});
|
||||
|
||||
this._dbusProxy.connect('g-properties-changed', () => {
|
||||
this.notify('has-calendars');
|
||||
});
|
||||
|
||||
this._initialized = loaded;
|
||||
if (loaded) {
|
||||
this.notify('has-calendars');
|
||||
this._dbusProxy.connect('notify::g-name-owner', () => {
|
||||
if (this._dbusProxy.g_name_owner)
|
||||
this._onNameAppeared();
|
||||
}
|
||||
else
|
||||
this._onNameVanished();
|
||||
});
|
||||
|
||||
this._dbusProxy.connect('g-properties-changed', () => {
|
||||
this.notify('has-calendars');
|
||||
});
|
||||
|
||||
this._initialized = loaded;
|
||||
if (loaded) {
|
||||
this.notify('has-calendars');
|
||||
this._onNameAppeared();
|
||||
}
|
||||
}
|
||||
|
||||
destroy() {
|
||||
|
@ -10,6 +10,7 @@ const MessageTray = imports.ui.messageTray;
|
||||
const ModalDialog = imports.ui.modalDialog;
|
||||
const ShellEntry = imports.ui.shellEntry;
|
||||
|
||||
Gio._promisify(Shell.NetworkAgent.prototype, 'init_async', 'init_finish');
|
||||
Gio._promisify(Shell.NetworkAgent.prototype,
|
||||
'search_vpn_plugin', 'search_vpn_plugin_finish');
|
||||
|
||||
@ -482,39 +483,37 @@ var VPNRequestHandler = class {
|
||||
}
|
||||
}
|
||||
|
||||
_readStdoutOldStyle() {
|
||||
this._dataStdout.read_line_async(GLib.PRIORITY_DEFAULT, null, (stream, result) => {
|
||||
let [line, len_] = this._dataStdout.read_line_finish_utf8(result);
|
||||
async _readStdoutOldStyle() {
|
||||
const [line, len_] =
|
||||
await this._dataStdout.read_line_async(GLib.PRIORITY_DEFAULT, null);
|
||||
|
||||
if (line == null) {
|
||||
// end of file
|
||||
this._stdout.close(null);
|
||||
return;
|
||||
}
|
||||
if (line === null) {
|
||||
// end of file
|
||||
this._stdout.close(null);
|
||||
return;
|
||||
}
|
||||
|
||||
this._vpnChildProcessLineOldStyle(line);
|
||||
this._vpnChildProcessLineOldStyle(line);
|
||||
|
||||
// try to read more!
|
||||
this._readStdoutOldStyle();
|
||||
});
|
||||
// try to read more!
|
||||
this._readStdoutOldStyle();
|
||||
}
|
||||
|
||||
_readStdoutNewStyle() {
|
||||
this._dataStdout.fill_async(-1, GLib.PRIORITY_DEFAULT, null, (stream, result) => {
|
||||
let cnt = this._dataStdout.fill_finish(result);
|
||||
async _readStdoutNewStyle() {
|
||||
const cnt =
|
||||
await this._dataStdout.fill_async(-1, GLib.PRIORITY_DEFAULT, null);
|
||||
|
||||
if (cnt == 0) {
|
||||
// end of file
|
||||
this._showNewStyleDialog();
|
||||
if (cnt === 0) {
|
||||
// end of file
|
||||
this._showNewStyleDialog();
|
||||
|
||||
this._stdout.close(null);
|
||||
return;
|
||||
}
|
||||
this._stdout.close(null);
|
||||
return;
|
||||
}
|
||||
|
||||
// Try to read more
|
||||
this._dataStdout.set_buffer_size(2 * this._dataStdout.get_buffer_size());
|
||||
this._readStdoutNewStyle();
|
||||
});
|
||||
// Try to read more
|
||||
this._dataStdout.set_buffer_size(2 * this._dataStdout.get_buffer_size());
|
||||
this._readStdoutNewStyle();
|
||||
}
|
||||
|
||||
_showNewStyleDialog() {
|
||||
@ -621,15 +620,17 @@ var NetworkAgent = class {
|
||||
this._native.connect('cancel-request', this._cancelRequest.bind(this));
|
||||
|
||||
this._initialized = false;
|
||||
this._native.init_async(GLib.PRIORITY_DEFAULT, null, (o, res) => {
|
||||
try {
|
||||
this._native.init_finish(res);
|
||||
this._initialized = true;
|
||||
} catch (e) {
|
||||
this._native = null;
|
||||
logError(e, 'error initializing the NetworkManager Agent');
|
||||
}
|
||||
});
|
||||
this._initNative();
|
||||
}
|
||||
|
||||
async _initNative() {
|
||||
try {
|
||||
await this._native.init_async(GLib.PRIORITY_DEFAULT, null);
|
||||
this._initialized = true;
|
||||
} catch (e) {
|
||||
this._native = null;
|
||||
logError(e, 'error initializing the NetworkManager Agent');
|
||||
}
|
||||
}
|
||||
|
||||
enable() {
|
||||
|
@ -7,6 +7,14 @@ var Tpl = null;
|
||||
var Tp = null;
|
||||
try {
|
||||
({ TelepathyGLib: Tp, TelepathyLogger: Tpl } = imports.gi);
|
||||
|
||||
Gio._promisify(Tp.Channel.prototype, 'close_async', 'close_finish');
|
||||
Gio._promisify(Tp.Channel.prototype,
|
||||
'send_message_async', 'send_message_finish');
|
||||
Gio._promisify(Tp.ChannelDispatchOperation.prototype,
|
||||
'claim_with_async', 'claim_with_finish');
|
||||
Gio._promisify(Tpl.LogManager.prototype,
|
||||
'get_filtered_events_async', 'get_filtered_events_finish');
|
||||
} catch (e) {
|
||||
log('Telepathy is not available, chat integration will be disabled.');
|
||||
}
|
||||
@ -215,7 +223,7 @@ class TelepathyClient extends Tp.BaseClient {
|
||||
|
||||
// We can only handle text channel, so close any other channel
|
||||
if (!(channel instanceof Tp.TextChannel)) {
|
||||
channel.close_async(null);
|
||||
channel.close_async();
|
||||
continue;
|
||||
}
|
||||
|
||||
@ -261,7 +269,7 @@ class TelepathyClient extends Tp.BaseClient {
|
||||
}
|
||||
}
|
||||
|
||||
_approveTextChannel(account, conn, channel, dispatchOp, context) {
|
||||
async _approveTextChannel(account, conn, channel, dispatchOp, context) {
|
||||
let [targetHandle_, targetHandleType] = channel.get_handle();
|
||||
|
||||
if (targetHandleType != Tp.HandleType.CONTACT) {
|
||||
@ -270,17 +278,15 @@ class TelepathyClient extends Tp.BaseClient {
|
||||
return;
|
||||
}
|
||||
|
||||
// Approve private text channels right away as we are going to handle it
|
||||
dispatchOp.claim_with_async(this, (o, result) => {
|
||||
try {
|
||||
dispatchOp.claim_with_finish(result);
|
||||
this._handlingChannels(account, conn, [channel], false);
|
||||
} catch (err) {
|
||||
log('Failed to Claim channel: %s'.format(err.toString()));
|
||||
}
|
||||
});
|
||||
|
||||
context.accept();
|
||||
|
||||
// Approve private text channels right away as we are going to handle it
|
||||
try {
|
||||
await dispatchOp.claim_with_async(this);
|
||||
this._handlingChannels(account, conn, [channel], false);
|
||||
} catch (err) {
|
||||
log('Failed to Claim channel: %s'.format(err.toString()));
|
||||
}
|
||||
}
|
||||
|
||||
_delegatedChannelsCb(_client, _channels) {
|
||||
@ -441,17 +447,14 @@ class ChatSource extends MessageTray.Source {
|
||||
}
|
||||
}
|
||||
|
||||
_getLogMessages() {
|
||||
async _getLogMessages() {
|
||||
let logManager = Tpl.LogManager.dup_singleton();
|
||||
let entity = Tpl.Entity.new_from_tp_contact(this._contact, Tpl.EntityType.CONTACT);
|
||||
|
||||
logManager.get_filtered_events_async(this._account, entity,
|
||||
Tpl.EventTypeMask.TEXT, SCROLLBACK_HISTORY_LINES,
|
||||
null, this._displayPendingMessages.bind(this));
|
||||
}
|
||||
|
||||
_displayPendingMessages(logManager, result) {
|
||||
let [success_, events] = logManager.get_filtered_events_finish(result);
|
||||
const [events] = await logManager.get_filtered_events_async(
|
||||
this._account, entity,
|
||||
Tpl.EventTypeMask.TEXT, SCROLLBACK_HISTORY_LINES,
|
||||
null);
|
||||
|
||||
let logMessages = events.map(e => ChatMessage.newFromTplTextEvent(e));
|
||||
this._ensureNotification();
|
||||
@ -509,9 +512,7 @@ class ChatSource extends MessageTray.Source {
|
||||
this._ackMessages();
|
||||
// The chat box has been destroyed so it can't
|
||||
// handle the channel any more.
|
||||
this._channel.close_async((channel, result) => {
|
||||
channel.close_finish(result);
|
||||
});
|
||||
this._channel.close_async();
|
||||
} else {
|
||||
// Don't indicate any unread messages when the notification
|
||||
// that represents them has been destroyed.
|
||||
@ -609,9 +610,7 @@ class ChatSource extends MessageTray.Source {
|
||||
}
|
||||
|
||||
let msg = Tp.ClientMessage.new_text(type, text);
|
||||
this._channel.send_message_async(msg, 0, (src, result) => {
|
||||
this._channel.send_message_finish(result);
|
||||
});
|
||||
this._channel.send_message_async(msg, 0);
|
||||
}
|
||||
|
||||
setChatState(state) {
|
||||
|
@ -29,8 +29,6 @@ const UserWidget = imports.ui.userWidget;
|
||||
|
||||
const { loadInterfaceXML } = imports.misc.fileUtils;
|
||||
|
||||
Gio._promisify(Gio.DBusConnection.prototype, 'call', 'call_finish');
|
||||
|
||||
const _ITEM_ICON_SIZE = 64;
|
||||
|
||||
const EndSessionDialogIface = loadInterfaceXML('org.gnome.SessionManager.EndSessionDialog');
|
||||
@ -280,7 +278,7 @@ class EndSessionDialog extends ModalDialog.ModalDialog {
|
||||
this._dbusImpl.export(Gio.DBus.session, '/org/gnome/SessionManager/EndSessionDialog');
|
||||
}
|
||||
|
||||
_onPkOfflineProxyCreated(proxy, error) {
|
||||
async _onPkOfflineProxyCreated(proxy, error) {
|
||||
if (error) {
|
||||
log(error.message);
|
||||
return;
|
||||
@ -295,15 +293,12 @@ class EndSessionDialog extends ModalDialog.ModalDialog {
|
||||
}
|
||||
|
||||
// It only makes sense to check for this permission if PackageKit is available.
|
||||
Polkit.Permission.new(
|
||||
'org.freedesktop.packagekit.trigger-offline-update', null, null,
|
||||
(source, res) => {
|
||||
try {
|
||||
this._updatesPermission = Polkit.Permission.new_finish(res);
|
||||
} catch (e) {
|
||||
log('No permission to trigger offline updates: %s'.format(e.toString()));
|
||||
}
|
||||
});
|
||||
try {
|
||||
this._updatesPermission = await Polkit.Permission.new(
|
||||
'org.freedesktop.packagekit.trigger-offline-update', null, null);
|
||||
} catch (e) {
|
||||
log('No permission to trigger offline updates: %s'.format(e.toString()));
|
||||
}
|
||||
}
|
||||
|
||||
_onDestroy() {
|
||||
|
@ -10,10 +10,21 @@ imports.gi.versions.Gtk = '3.0';
|
||||
imports.gi.versions.TelepathyGLib = '0.12';
|
||||
imports.gi.versions.TelepathyLogger = '0.2';
|
||||
|
||||
const { Clutter, Gio, GLib, GObject, Meta, Shell, St } = imports.gi;
|
||||
const { Clutter, Gio, GLib, GObject, Meta, Polkit, Shell, St } = imports.gi;
|
||||
const Gettext = imports.gettext;
|
||||
const System = imports.system;
|
||||
|
||||
Gio._promisify(Gio.DataInputStream.prototype, 'fill_async', 'fill_finish');
|
||||
Gio._promisify(Gio.DataInputStream.prototype,
|
||||
'read_line_async', 'read_line_finish');
|
||||
Gio._promisify(Gio.DBus, 'get', 'get_finish');
|
||||
Gio._promisify(Gio.DBusConnection.prototype, 'call', 'call_finish');
|
||||
Gio._promisify(Gio.DBusProxy, 'new', 'new_finish');
|
||||
Gio._promisify(Gio.DBusProxy.prototype, 'init_async', 'init_finish');
|
||||
Gio._promisify(Gio.DBusProxy.prototype,
|
||||
'call_with_unix_fd_list', 'call_with_unix_fd_list_finish');
|
||||
Gio._promisify(Polkit.Permission, 'new', 'new_finish');
|
||||
|
||||
let _localTimeZone = null;
|
||||
|
||||
// We can't import shell JS modules yet, because they may have
|
||||
|
@ -215,6 +215,24 @@ var ExtensionManager = class {
|
||||
return true;
|
||||
}
|
||||
|
||||
openExtensionPrefs(uuid, parentWindow, options) {
|
||||
const extension = this.lookup(uuid);
|
||||
if (!extension || !extension.hasPrefs)
|
||||
return false;
|
||||
|
||||
Gio.DBus.session.call(
|
||||
'org.gnome.Shell.Extensions',
|
||||
'/org/gnome/Shell/Extensions',
|
||||
'org.gnome.Shell.Extensions',
|
||||
'OpenExtensionPrefs',
|
||||
new GLib.Variant('(ssa{sv})', [uuid, parentWindow, options]),
|
||||
null,
|
||||
Gio.DBusCallFlags.NONE,
|
||||
-1,
|
||||
null);
|
||||
return true;
|
||||
}
|
||||
|
||||
notifyExtensionUpdate(uuid) {
|
||||
let extension = this.lookup(uuid);
|
||||
if (!extension)
|
||||
|
@ -114,8 +114,11 @@ class BaseIcon extends St.Bin {
|
||||
if (this._setSizeManually) {
|
||||
size = this.iconSize;
|
||||
} else {
|
||||
const { scaleFactor } =
|
||||
St.ThemeContext.get_for_stage(global.stage);
|
||||
|
||||
let [found, len] = node.lookup_length('icon-size', false);
|
||||
size = found ? len : ICON_SIZE;
|
||||
size = found ? len / scaleFactor : ICON_SIZE;
|
||||
}
|
||||
|
||||
if (this.iconSize == size && this._iconBin.child)
|
||||
|
@ -132,7 +132,9 @@ function start() {
|
||||
notifyError(msg, detail);
|
||||
});
|
||||
|
||||
Gio.DesktopAppInfo.set_desktop_env('GNOME');
|
||||
let currentDesktop = GLib.getenv('XDG_CURRENT_DESKTOP');
|
||||
if (!currentDesktop || !currentDesktop.split(':').includes('GNOME'))
|
||||
Gio.DesktopAppInfo.set_desktop_env('GNOME');
|
||||
|
||||
sessionMode = new SessionMode.SessionMode();
|
||||
sessionMode.connect('updated', _sessionUpdated);
|
||||
|
@ -90,18 +90,16 @@ class AppMenu extends PopupMenu.PopupMenu {
|
||||
|
||||
this.addMenuItem(new PopupMenu.PopupSeparatorMenuItem());
|
||||
|
||||
this._detailsItem = this.addAction(_("Show Details"), () => {
|
||||
this._detailsItem = this.addAction(_('Show Details'), async () => {
|
||||
let id = this._app.get_id();
|
||||
let args = GLib.Variant.new('(ss)', [id, '']);
|
||||
Gio.DBus.get(Gio.BusType.SESSION, null, (o, res) => {
|
||||
let bus = Gio.DBus.get_finish(res);
|
||||
bus.call('org.gnome.Software',
|
||||
'/org/gnome/Software',
|
||||
'org.gtk.Actions', 'Activate',
|
||||
GLib.Variant.new('(sava{sv})',
|
||||
['details', [args], null]),
|
||||
null, 0, -1, null, null);
|
||||
});
|
||||
const bus = await Gio.DBus.get(Gio.BusType.SESSION, null);
|
||||
bus.call(
|
||||
'org.gnome.Software',
|
||||
'/org/gnome/Software',
|
||||
'org.gtk.Actions', 'Activate',
|
||||
new GLib.Variant('(sava{sv})', ['details', [args], null]),
|
||||
null, 0, -1, null);
|
||||
});
|
||||
|
||||
this.addMenuItem(new PopupMenu.PopupSeparatorMenuItem());
|
||||
|
@ -204,7 +204,7 @@ var RemoteSearchProvider = class {
|
||||
g_interface_info: proxyInfo,
|
||||
g_interface_name: proxyInfo.name,
|
||||
gFlags });
|
||||
this.proxy.init_async(GLib.PRIORITY_DEFAULT, null, null);
|
||||
this.proxy.init_async(GLib.PRIORITY_DEFAULT, null);
|
||||
|
||||
this.appInfo = appInfo;
|
||||
this.id = appInfo.get_id();
|
||||
|
@ -498,6 +498,8 @@ var ScreenShield = class {
|
||||
if (Main.sessionMode.currentMode == 'unlock-dialog')
|
||||
Main.sessionMode.popMode('unlock-dialog');
|
||||
|
||||
this.emit('wake-up-screen');
|
||||
|
||||
if (this._isGreeter) {
|
||||
// We don't want to "deactivate" any more than
|
||||
// this. In particular, we don't want to drop
|
||||
@ -519,6 +521,9 @@ var ScreenShield = class {
|
||||
this._isModal = false;
|
||||
}
|
||||
|
||||
this._longLightbox.lightOff();
|
||||
this._shortLightbox.lightOff();
|
||||
|
||||
this._lockDialogGroup.ease({
|
||||
translation_y: -global.screen_height,
|
||||
duration: Overview.ANIMATION_TIME,
|
||||
@ -533,8 +538,6 @@ var ScreenShield = class {
|
||||
this._dialog = null;
|
||||
}
|
||||
|
||||
this._longLightbox.lightOff();
|
||||
this._shortLightbox.lightOff();
|
||||
this.actor.hide();
|
||||
|
||||
if (this._becameActiveId != 0) {
|
||||
|
@ -7,6 +7,13 @@ const GrabHelper = imports.ui.grabHelper;
|
||||
const Lightbox = imports.ui.lightbox;
|
||||
const Main = imports.ui.main;
|
||||
|
||||
Gio._promisify(Shell.Screenshot.prototype, 'pick_color', 'pick_color_finish');
|
||||
Gio._promisify(Shell.Screenshot.prototype, 'screenshot', 'screenshot_finish');
|
||||
Gio._promisify(Shell.Screenshot.prototype,
|
||||
'screenshot_window', 'screenshot_window_finish');
|
||||
Gio._promisify(Shell.Screenshot.prototype,
|
||||
'screenshot_area', 'screenshot_area_finish');
|
||||
|
||||
const { loadInterfaceXML } = imports.misc.fileUtils;
|
||||
|
||||
const ScreenshotIface = loadInterfaceXML('org.gnome.Shell.Screenshot');
|
||||
@ -156,7 +163,7 @@ var ScreenshotService = class {
|
||||
return [x, y, width, height];
|
||||
}
|
||||
|
||||
ScreenshotAreaAsync(params, invocation) {
|
||||
async ScreenshotAreaAsync(params, invocation) {
|
||||
let [x, y, width, height, flash, filename] = params;
|
||||
[x, y, width, height] = this._scaleArea(x, y, width, height);
|
||||
if (!this._checkArea(x, y, width, height)) {
|
||||
@ -173,21 +180,17 @@ var ScreenshotService = class {
|
||||
if (!stream)
|
||||
return;
|
||||
|
||||
screenshot.screenshot_area(x, y, width, height, stream,
|
||||
(o, res) => {
|
||||
try {
|
||||
let [success_, area] =
|
||||
screenshot.screenshot_area_finish(res);
|
||||
this._onScreenshotComplete(
|
||||
area, stream, file, flash, invocation);
|
||||
} catch (e) {
|
||||
this._removeShooterForSender(invocation.get_sender());
|
||||
invocation.return_value(new GLib.Variant('(bs)', [false, '']));
|
||||
}
|
||||
});
|
||||
try {
|
||||
let [area] =
|
||||
await screenshot.screenshot_area(x, y, width, height, stream);
|
||||
this._onScreenshotComplete(area, stream, file, flash, invocation);
|
||||
} catch (e) {
|
||||
this._removeShooterForSender(invocation.get_sender());
|
||||
invocation.return_value(new GLib.Variant('(bs)', [false, '']));
|
||||
}
|
||||
}
|
||||
|
||||
ScreenshotWindowAsync(params, invocation) {
|
||||
async ScreenshotWindowAsync(params, invocation) {
|
||||
let [includeFrame, includeCursor, flash, filename] = params;
|
||||
let screenshot = this._createScreenshot(invocation);
|
||||
if (!screenshot)
|
||||
@ -197,21 +200,17 @@ var ScreenshotService = class {
|
||||
if (!stream)
|
||||
return;
|
||||
|
||||
screenshot.screenshot_window(includeFrame, includeCursor, stream,
|
||||
(o, res) => {
|
||||
try {
|
||||
let [success_, area] =
|
||||
screenshot.screenshot_window_finish(res);
|
||||
this._onScreenshotComplete(
|
||||
area, stream, file, flash, invocation);
|
||||
} catch (e) {
|
||||
this._removeShooterForSender(invocation.get_sender());
|
||||
invocation.return_value(new GLib.Variant('(bs)', [false, '']));
|
||||
}
|
||||
});
|
||||
try {
|
||||
let [area] =
|
||||
await screenshot.screenshot_window(includeFrame, includeCursor, stream);
|
||||
this._onScreenshotComplete(area, stream, file, flash, invocation);
|
||||
} catch (e) {
|
||||
this._removeShooterForSender(invocation.get_sender());
|
||||
invocation.return_value(new GLib.Variant('(bs)', [false, '']));
|
||||
}
|
||||
}
|
||||
|
||||
ScreenshotAsync(params, invocation) {
|
||||
async ScreenshotAsync(params, invocation) {
|
||||
let [includeCursor, flash, filename] = params;
|
||||
let screenshot = this._createScreenshot(invocation);
|
||||
if (!screenshot)
|
||||
@ -221,18 +220,13 @@ var ScreenshotService = class {
|
||||
if (!stream)
|
||||
return;
|
||||
|
||||
screenshot.screenshot(includeCursor, stream,
|
||||
(o, res) => {
|
||||
try {
|
||||
let [success_, area] =
|
||||
screenshot.screenshot_finish(res);
|
||||
this._onScreenshotComplete(
|
||||
area, stream, file, flash, invocation);
|
||||
} catch (e) {
|
||||
this._removeShooterForSender(invocation.get_sender());
|
||||
invocation.return_value(new GLib.Variant('(bs)', [false, '']));
|
||||
}
|
||||
});
|
||||
try {
|
||||
let [area] = await screenshot.screenshot(includeCursor, stream);
|
||||
this._onScreenshotComplete(area, stream, file, flash, invocation);
|
||||
} catch (e) {
|
||||
this._removeShooterForSender(invocation.get_sender());
|
||||
invocation.return_value(new GLib.Variant('(bs)', [false, '']));
|
||||
}
|
||||
}
|
||||
|
||||
async SelectAreaAsync(params, invocation) {
|
||||
@ -273,19 +267,17 @@ var ScreenshotService = class {
|
||||
if (!screenshot)
|
||||
return;
|
||||
|
||||
screenshot.pick_color(coords.x, coords.y, (_o, res) => {
|
||||
let [success_, color] = screenshot.pick_color_finish(res);
|
||||
let { red, green, blue } = color;
|
||||
let retval = GLib.Variant.new('(a{sv})', [{
|
||||
color: GLib.Variant.new('(ddd)', [
|
||||
red / 255.0,
|
||||
green / 255.0,
|
||||
blue / 255.0,
|
||||
]),
|
||||
}]);
|
||||
this._removeShooterForSender(invocation.get_sender());
|
||||
invocation.return_value(retval);
|
||||
});
|
||||
const [color] = await screenshot.pick_color(coords.x, coords.y);
|
||||
const { red, green, blue } = color;
|
||||
const retval = GLib.Variant.new('(a{sv})', [{
|
||||
color: GLib.Variant.new('(ddd)', [
|
||||
red / 255.0,
|
||||
green / 255.0,
|
||||
blue / 255.0,
|
||||
]),
|
||||
}]);
|
||||
this._removeShooterForSender(invocation.get_sender());
|
||||
invocation.return_value(retval);
|
||||
} catch (e) {
|
||||
invocation.return_error_literal(
|
||||
Gio.IOErrorEnum, Gio.IOErrorEnum.CANCELLED,
|
||||
|
@ -316,17 +316,7 @@ var GnomeShellExtensions = class {
|
||||
}
|
||||
|
||||
OpenExtensionPrefs(uuid, parentWindow, options) {
|
||||
Gio.DBus.session.call(
|
||||
'org.gnome.Shell.Extensions',
|
||||
'/org/gnome/Shell/Extensions',
|
||||
'org.gnome.Shell.Extensions',
|
||||
'OpenExtensionPrefs',
|
||||
new GLib.Variant('(ssa{sv})', [uuid, parentWindow, options]),
|
||||
null,
|
||||
Gio.DBusCallFlags.NONE,
|
||||
-1,
|
||||
null,
|
||||
(conn, res) => conn.call_finish(res));
|
||||
Main.extensionManager.openExtensionPrefs(uuid, parentWindow, options);
|
||||
}
|
||||
|
||||
ReloadExtensionAsync(params, invocation) {
|
||||
|
@ -72,46 +72,45 @@ class Indicator extends PanelMenu.SystemIndicator {
|
||||
return null;
|
||||
}
|
||||
|
||||
// nDevices is the number of devices setup for the current default
|
||||
// adapter if one exists and is powered. If unpowered or unavailable,
|
||||
// nDevice is "1" if it had setup devices associated to it the last
|
||||
// time it was seen, and "-1" if not.
|
||||
//
|
||||
// nConnectedDevices is the number of devices connected to the default
|
||||
// adapter if one exists and is powered, or -1 if it's not available.
|
||||
_getNDevices() {
|
||||
let adapter = this._getDefaultAdapter();
|
||||
_getDeviceInfos(adapter) {
|
||||
if (!adapter)
|
||||
return [this._hadSetupDevices ? 1 : -1, -1];
|
||||
return [];
|
||||
|
||||
let nConnectedDevices = 0;
|
||||
let nDevices = 0;
|
||||
let deviceInfos = [];
|
||||
let [ret, iter] = this._model.iter_children(adapter);
|
||||
while (ret) {
|
||||
let isConnected = this._model.get_value(iter,
|
||||
GnomeBluetooth.Column.CONNECTED);
|
||||
if (isConnected)
|
||||
nConnectedDevices++;
|
||||
const isPaired = this._model.get_value(iter,
|
||||
GnomeBluetooth.Column.PAIRED);
|
||||
const isTrusted = this._model.get_value(iter,
|
||||
GnomeBluetooth.Column.TRUSTED);
|
||||
|
||||
if (isPaired || isTrusted) {
|
||||
deviceInfos.push({
|
||||
connected: this._model.get_value(iter,
|
||||
GnomeBluetooth.Column.CONNECTED),
|
||||
name: this._model.get_value(iter,
|
||||
GnomeBluetooth.Column.ALIAS),
|
||||
});
|
||||
}
|
||||
|
||||
let isPaired = this._model.get_value(iter,
|
||||
GnomeBluetooth.Column.PAIRED);
|
||||
let isTrusted = this._model.get_value(iter,
|
||||
GnomeBluetooth.Column.TRUSTED);
|
||||
if (isPaired || isTrusted)
|
||||
nDevices++;
|
||||
ret = this._model.iter_next(iter);
|
||||
}
|
||||
|
||||
if (this._hadSetupDevices != (nDevices > 0)) {
|
||||
if (this._hadSetupDevices !== (deviceInfos.length > 0)) {
|
||||
this._hadSetupDevices = !this._hadSetupDevices;
|
||||
global.settings.set_boolean(HAD_BLUETOOTH_DEVICES_SETUP, this._hadSetupDevices);
|
||||
}
|
||||
|
||||
return [nDevices, nConnectedDevices];
|
||||
return deviceInfos;
|
||||
}
|
||||
|
||||
_sync() {
|
||||
let [nDevices, nConnectedDevices] = this._getNDevices();
|
||||
let adapter = this._getDefaultAdapter();
|
||||
let devices = this._getDeviceInfos(adapter);
|
||||
const connectedDevices = devices.filter(dev => dev.connected);
|
||||
const nConnectedDevices = connectedDevices.length;
|
||||
const nDevices = devices.length;
|
||||
|
||||
let sensitive = !Main.sessionMode.isLocked && !Main.sessionMode.isGreeter;
|
||||
|
||||
this.menu.setSensitive(sensitive);
|
||||
@ -124,14 +123,16 @@ class Indicator extends PanelMenu.SystemIndicator {
|
||||
else
|
||||
this._item.visible = this._proxy.BluetoothHasAirplaneMode && !this._proxy.BluetoothAirplaneMode;
|
||||
|
||||
if (nConnectedDevices > 0)
|
||||
if (nConnectedDevices > 1)
|
||||
/* Translators: this is the number of connected bluetooth devices */
|
||||
this._item.label.text = ngettext("%d Connected", "%d Connected", nConnectedDevices).format(nConnectedDevices);
|
||||
else if (nConnectedDevices == -1)
|
||||
this._item.label.text = _("Off");
|
||||
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)
|
||||
this._item.label.text = _('Bluetooth Off');
|
||||
else
|
||||
this._item.label.text = _("On");
|
||||
this._item.label.text = _('Bluetooth On');
|
||||
|
||||
this._toggleItem.label.text = this._proxy.BluetoothAirplaneMode ? _("Turn On") : _("Turn Off");
|
||||
this._toggleItem.label.text = this._proxy.BluetoothAirplaneMode ? _('Turn On') : _('Turn Off');
|
||||
}
|
||||
});
|
||||
|
@ -199,36 +199,36 @@ var InputSourceSystemSettings = class extends InputSourceSettings {
|
||||
this._reload.bind(this));
|
||||
}
|
||||
|
||||
_reload() {
|
||||
Gio.DBus.system.call(this._BUS_NAME,
|
||||
this._BUS_PATH,
|
||||
this._BUS_PROPS_IFACE,
|
||||
'GetAll',
|
||||
new GLib.Variant('(s)', [this._BUS_IFACE]),
|
||||
null, Gio.DBusCallFlags.NONE, -1, null,
|
||||
(conn, result) => {
|
||||
let props;
|
||||
try {
|
||||
props = conn.call_finish(result).deep_unpack()[0];
|
||||
} catch (e) {
|
||||
log('Could not get properties from %s'.format(this._BUS_NAME));
|
||||
return;
|
||||
}
|
||||
let layouts = props['X11Layout'].unpack();
|
||||
let variants = props['X11Variant'].unpack();
|
||||
let options = props['X11Options'].unpack();
|
||||
async _reload() {
|
||||
let props;
|
||||
try {
|
||||
const result = await Gio.DBus.system.call(
|
||||
this._BUS_NAME,
|
||||
this._BUS_PATH,
|
||||
this._BUS_PROPS_IFACE,
|
||||
'GetAll',
|
||||
new GLib.Variant('(s)', [this._BUS_IFACE]),
|
||||
null, Gio.DBusCallFlags.NONE, -1, null);
|
||||
[props] = result.deep_unpack();
|
||||
} catch (e) {
|
||||
log('Could not get properties from %s'.format(this._BUS_NAME));
|
||||
return;
|
||||
}
|
||||
|
||||
if (layouts != this._layouts ||
|
||||
variants != this._variants) {
|
||||
this._layouts = layouts;
|
||||
this._variants = variants;
|
||||
this._emitInputSourcesChanged();
|
||||
}
|
||||
if (options != this._options) {
|
||||
this._options = options;
|
||||
this._emitKeyboardOptionsChanged();
|
||||
}
|
||||
});
|
||||
const layouts = props['X11Layout'].unpack();
|
||||
const variants = props['X11Variant'].unpack();
|
||||
const options = props['X11Options'].unpack();
|
||||
|
||||
if (layouts !== this._layouts ||
|
||||
variants !== this._variants) {
|
||||
this._layouts = layouts;
|
||||
this._variants = variants;
|
||||
this._emitInputSourcesChanged();
|
||||
}
|
||||
if (options !== this._options) {
|
||||
this._options = options;
|
||||
this._emitKeyboardOptionsChanged();
|
||||
}
|
||||
}
|
||||
|
||||
get inputSources() {
|
||||
|
@ -15,6 +15,10 @@ const Util = imports.misc.util;
|
||||
|
||||
const { loadInterfaceXML } = imports.misc.fileUtils;
|
||||
|
||||
Gio._promisify(NM.Client, 'new_async', 'new_finish');
|
||||
Gio._promisify(NM.Client.prototype,
|
||||
'check_connectivity_async', 'check_connectivity_finish');
|
||||
|
||||
const NMConnectionCategory = {
|
||||
INVALID: 'invalid',
|
||||
WIRED: 'wired',
|
||||
@ -1627,11 +1631,11 @@ class Indicator extends PanelMenu.SystemIndicator {
|
||||
this._ctypes[NM.SETTING_GSM_SETTING_NAME] = NMConnectionCategory.WWAN;
|
||||
this._ctypes[NM.SETTING_VPN_SETTING_NAME] = NMConnectionCategory.VPN;
|
||||
|
||||
NM.Client.new_async(null, this._clientGot.bind(this));
|
||||
this._getClient();
|
||||
}
|
||||
|
||||
_clientGot(obj, result) {
|
||||
this._client = NM.Client.new_finish(result);
|
||||
async _getClient() {
|
||||
this._client = await NM.Client.new_async(null);
|
||||
|
||||
this._activeConnections = [];
|
||||
this._connections = [];
|
||||
@ -1982,7 +1986,7 @@ class Indicator extends PanelMenu.SystemIndicator {
|
||||
}
|
||||
}
|
||||
|
||||
_portalHelperDone(proxy, emitter, parameters) {
|
||||
async _portalHelperDone(proxy, emitter, parameters) {
|
||||
let [path, result] = parameters;
|
||||
|
||||
if (result == PortalHelperResult.CANCELLED) {
|
||||
@ -1993,13 +1997,11 @@ class Indicator extends PanelMenu.SystemIndicator {
|
||||
} else if (result == PortalHelperResult.COMPLETED) {
|
||||
this._closeConnectivityCheck(path);
|
||||
} else if (result == PortalHelperResult.RECHECK) {
|
||||
this._client.check_connectivity_async(null, (client, res) => {
|
||||
try {
|
||||
let state = client.check_connectivity_finish(res);
|
||||
if (state >= NM.ConnectivityState.FULL)
|
||||
this._closeConnectivityCheck(path);
|
||||
} catch (e) { }
|
||||
});
|
||||
try {
|
||||
const state = await this._client.check_connectivity_async(null);
|
||||
if (state >= NM.ConnectivityState.FULL)
|
||||
this._closeConnectivityCheck(path);
|
||||
} catch (e) { }
|
||||
} else {
|
||||
log('Invalid result from portal helper: %s'.format(result));
|
||||
}
|
||||
|
@ -52,22 +52,21 @@ const BOLT_DBUS_PATH = '/org/freedesktop/bolt';
|
||||
var Client = class {
|
||||
constructor() {
|
||||
this._proxy = null;
|
||||
let nodeInfo = Gio.DBusNodeInfo.new_for_xml(BoltClientInterface);
|
||||
Gio.DBusProxy.new(Gio.DBus.system,
|
||||
Gio.DBusProxyFlags.DO_NOT_AUTO_START,
|
||||
nodeInfo.lookup_interface(BOLT_DBUS_CLIENT_IFACE),
|
||||
BOLT_DBUS_NAME,
|
||||
BOLT_DBUS_PATH,
|
||||
BOLT_DBUS_CLIENT_IFACE,
|
||||
null,
|
||||
this._onProxyReady.bind(this));
|
||||
|
||||
this.probing = false;
|
||||
this._getProxy();
|
||||
}
|
||||
|
||||
_onProxyReady(o, res) {
|
||||
async _getProxy() {
|
||||
let nodeInfo = Gio.DBusNodeInfo.new_for_xml(BoltClientInterface);
|
||||
try {
|
||||
this._proxy = Gio.DBusProxy.new_finish(res);
|
||||
this._proxy = await Gio.DBusProxy.new(
|
||||
Gio.DBus.system,
|
||||
Gio.DBusProxyFlags.DO_NOT_AUTO_START,
|
||||
nodeInfo.lookup_interface(BOLT_DBUS_CLIENT_IFACE),
|
||||
BOLT_DBUS_NAME,
|
||||
BOLT_DBUS_PATH,
|
||||
BOLT_DBUS_CLIENT_IFACE,
|
||||
null);
|
||||
} catch (e) {
|
||||
log('error creating bolt proxy: %s'.format(e.message));
|
||||
return;
|
||||
@ -243,14 +242,15 @@ class Indicator extends PanelMenu.SystemIndicator {
|
||||
|
||||
this._source = null;
|
||||
this._perm = null;
|
||||
this._createPermission();
|
||||
}
|
||||
|
||||
Polkit.Permission.new('org.freedesktop.bolt.enroll', null, null, (source, res) => {
|
||||
try {
|
||||
this._perm = Polkit.Permission.new_finish(res);
|
||||
} catch (e) {
|
||||
log('Failed to get PolKit permission: %s'.format(e.toString()));
|
||||
}
|
||||
});
|
||||
async _createPermission() {
|
||||
try {
|
||||
this._perm = await Polkit.Permission.new('org.freedesktop.bolt.enroll', null, null);
|
||||
} catch (e) {
|
||||
log('Failed to get PolKit permission: %s'.format(e.toString()));
|
||||
}
|
||||
}
|
||||
|
||||
_onDestroy() {
|
||||
|
@ -404,7 +404,7 @@ var WindowClone = GObject.registerClass({
|
||||
return true;
|
||||
}
|
||||
|
||||
return super.key_press_event(keyEvent);
|
||||
return super.vfunc_key_press_event(keyEvent);
|
||||
}
|
||||
|
||||
_onClicked() {
|
||||
|
@ -1,5 +1,5 @@
|
||||
project('gnome-shell', 'c',
|
||||
version: '3.36.0',
|
||||
version: '3.37.0',
|
||||
meson_version: '>= 0.47.0',
|
||||
license: 'GPLv2+'
|
||||
)
|
||||
|
411
po/eu.po
411
po/eu.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-03-21 18:07+0000\n"
|
||||
"PO-Revision-Date: 2020-03-24 15:55+0100\n"
|
||||
"POT-Creation-Date: 2020-03-31 07:15+0000\n"
|
||||
"PO-Revision-Date: 2020-04-02 12:15+0100\n"
|
||||
"Last-Translator: Ibai Oihanguren Sala <ibai@oihanguren.com>\n"
|
||||
"Language-Team: Basque <librezale@librezale.eus>\n"
|
||||
"Language: eu\n"
|
||||
@ -392,62 +392,12 @@ msgstr ""
|
||||
msgid "Network Login"
|
||||
msgstr "Sareko saio-hasiera"
|
||||
|
||||
#: js/extensionPrefs/data/metainfo/org.gnome.Extensions.metainfo.xml.in:5
|
||||
#: js/extensionPrefs/data/org.gnome.Extensions.desktop.in.in:4
|
||||
#: js/extensionPrefs/js/main.js:241
|
||||
#: js/extensionPrefs/data/ui/extensions-window.ui:61
|
||||
msgid "Extensions"
|
||||
msgstr "Hedapenak"
|
||||
|
||||
#: js/extensionPrefs/data/metainfo/org.gnome.Extensions.metainfo.xml.in:6
|
||||
#: js/extensionPrefs/js/main.js:242
|
||||
msgid "Manage your GNOME Extensions"
|
||||
msgstr "Kudeatu zure GNOME hedapenak"
|
||||
|
||||
#: js/extensionPrefs/data/metainfo/org.gnome.Extensions.metainfo.xml.in:35
|
||||
msgid ""
|
||||
"GNOME Extensions handles updating extensions, configuring extension "
|
||||
"preferences and removing or disabling unwanted extensions."
|
||||
msgstr ""
|
||||
|
||||
#: js/extensionPrefs/data/org.gnome.Extensions.desktop.in.in:7
|
||||
msgid "Configure GNOME Shell Extensions"
|
||||
msgstr "Konfiguratu GNOME Shell-eko gehigarriak"
|
||||
|
||||
#: js/extensionPrefs/js/main.js:163
|
||||
#, javascript-format
|
||||
msgid "Remove “%s”?"
|
||||
msgstr "Kendu “%s”?"
|
||||
|
||||
#: js/extensionPrefs/js/main.js:164
|
||||
msgid ""
|
||||
"If you remove the extension, you need to return to download it if you want "
|
||||
"to enable it again"
|
||||
msgstr ""
|
||||
"Hedapena kentzen bada, berriro deskargatu beharko da atzera gaitu nahi bada."
|
||||
|
||||
#: js/extensionPrefs/js/main.js:167 js/gdm/authPrompt.js:135
|
||||
#: js/ui/audioDeviceSelection.js:57 js/ui/components/networkAgent.js:109
|
||||
#: js/ui/components/polkitAgent.js:139 js/ui/endSessionDialog.js:374
|
||||
#: js/ui/extensionDownloader.js:177 js/ui/shellMountOperation.js:376
|
||||
#: js/ui/shellMountOperation.js:386 js/ui/status/network.js:913
|
||||
msgid "Cancel"
|
||||
msgstr "Utzi"
|
||||
|
||||
#: js/extensionPrefs/js/main.js:168
|
||||
msgid "Remove"
|
||||
msgstr "Kendu"
|
||||
|
||||
#: js/extensionPrefs/js/main.js:240
|
||||
msgid "translator-credits"
|
||||
msgstr "translator-credits"
|
||||
|
||||
#: js/extensionPrefs/js/main.js:284
|
||||
#: js/extensionPrefs/data/ui/extensions-window.ui:223
|
||||
#: js/dbusServices/extensions/ui/extension-prefs-dialog.ui:36
|
||||
#: subprojects/extensions-app/data/ui/extensions-window.ui:223
|
||||
msgid "Something’s gone wrong"
|
||||
msgstr "Zerbait gaizki joan da"
|
||||
|
||||
#: js/extensionPrefs/js/main.js:291
|
||||
#: js/dbusServices/extensions/ui/extension-prefs-dialog.ui:48
|
||||
msgid ""
|
||||
"We’re very sorry, but there’s been a problem: the settings for this "
|
||||
"extension can’t be displayed. We recommend that you report the issue to the "
|
||||
@ -456,104 +406,25 @@ msgstr ""
|
||||
"Barkatu, arazo bat gertatu da: hedapen honen ezarpenak ezin dira erakutsi. "
|
||||
"Arazoa hedapenaren egileei jakinarazi diezaiezun gomendatzen dizugu."
|
||||
|
||||
#: js/extensionPrefs/js/main.js:298
|
||||
#: js/dbusServices/extensions/ui/extension-prefs-dialog.ui:82
|
||||
msgid "Technical Details"
|
||||
msgstr "Xehetasun teknikoak"
|
||||
|
||||
#: js/extensionPrefs/js/main.js:333
|
||||
msgid "Copy Error"
|
||||
msgstr "Kopiatze-errorea"
|
||||
|
||||
#: js/extensionPrefs/js/main.js:360
|
||||
#: js/dbusServices/extensions/ui/extension-prefs-dialog.ui:165
|
||||
msgid "Homepage"
|
||||
msgstr "Webgune nagusia"
|
||||
|
||||
#: js/extensionPrefs/js/main.js:361
|
||||
#: js/dbusServices/extensions/ui/extension-prefs-dialog.ui:166
|
||||
msgid "Visit extension homepage"
|
||||
msgstr "Bisitatu hedapenaren webgunea"
|
||||
|
||||
#: js/extensionPrefs/js/main.js:478
|
||||
#, javascript-format
|
||||
msgid "%d extension will be updated on next login."
|
||||
msgid_plural "%d extensions will be updated on next login."
|
||||
msgstr[0] "Hedapen %d eguneratuko da hurrengo saio-hasieran."
|
||||
msgstr[1] "%d hedapen eguneratuko dira hurrengo saio-hasieran."
|
||||
|
||||
#: js/extensionPrefs/data/ui/extension-row.ui:100
|
||||
#: subprojects/extensions-tool/src/command-create.c:211
|
||||
#: subprojects/extensions-tool/src/main.c:173
|
||||
msgid "Description"
|
||||
msgstr "Azalpena"
|
||||
|
||||
#: js/extensionPrefs/data/ui/extension-row.ui:123
|
||||
#: subprojects/extensions-tool/src/main.c:185
|
||||
msgid "Version"
|
||||
msgstr "Bertsioa"
|
||||
|
||||
#: js/extensionPrefs/data/ui/extension-row.ui:151
|
||||
msgid "Author"
|
||||
msgstr "Egilea"
|
||||
|
||||
#: js/extensionPrefs/data/ui/extension-row.ui:175
|
||||
msgid "Website"
|
||||
msgstr "Webgunea"
|
||||
|
||||
#: js/extensionPrefs/data/ui/extension-row.ui:192
|
||||
msgid "Remove…"
|
||||
msgstr "Kendu…"
|
||||
|
||||
#: js/extensionPrefs/data/ui/extensions-window.ui:8
|
||||
msgid "Help"
|
||||
msgstr "Laguntza"
|
||||
|
||||
#: js/extensionPrefs/data/ui/extensions-window.ui:12
|
||||
msgid "About Extensions"
|
||||
msgstr "Hedapenei buruz"
|
||||
|
||||
#: js/extensionPrefs/data/ui/extensions-window.ui:27
|
||||
msgid ""
|
||||
"To find and add extensions, visit <a href=\"https://extensions.gnome.org"
|
||||
"\">extensions.gnome.org</a>."
|
||||
msgstr ""
|
||||
"Hedapenak aurkitu eta gehitzeko, bisitatu <a href=\"https://extensions.gnome."
|
||||
"org\">extensions.gnome.org</a>."
|
||||
|
||||
#: js/extensionPrefs/data/ui/extensions-window.ui:35
|
||||
msgid "Warning"
|
||||
msgstr "Abisua"
|
||||
|
||||
#: js/extensionPrefs/data/ui/extensions-window.ui:46
|
||||
msgid ""
|
||||
"Extensions can cause system issues, including performance problems. If you "
|
||||
"encounter problems with your system, it is recommended to disable all "
|
||||
"extensions."
|
||||
msgstr ""
|
||||
"Hedapenek arazoak sor ditzakete sisteman, errendimendu-arazoak barne. "
|
||||
"Sisteman arazoak aurkitzen badituzu, desgaitu hedapen guztiak."
|
||||
|
||||
#: js/extensionPrefs/data/ui/extensions-window.ui:134
|
||||
msgid "Manually Installed"
|
||||
msgstr "Eskuz instalatua"
|
||||
|
||||
#: js/extensionPrefs/data/ui/extensions-window.ui:158
|
||||
msgid "Built-In"
|
||||
msgstr "Integratua"
|
||||
|
||||
#: js/extensionPrefs/data/ui/extensions-window.ui:199
|
||||
msgid "No Installed Extensions"
|
||||
msgstr "Instalatu gabeko luzapenak"
|
||||
|
||||
#: js/extensionPrefs/data/ui/extensions-window.ui:235
|
||||
msgid ""
|
||||
"We’re very sorry, but it was not possible to get the list of installed "
|
||||
"extensions. Make sure you are logged into GNOME and try again."
|
||||
msgstr ""
|
||||
"Barkatu, ezin izan da instalatutako hedapenen zerrenda eskuratu. Ziurtatu "
|
||||
"GNOMEn saioa hasi duzula eta saiatu berriro."
|
||||
|
||||
#: js/extensionPrefs/data/ui/extensions-window.ui:288
|
||||
msgid "Log Out…"
|
||||
msgstr "Amaitu saioa…"
|
||||
#: js/gdm/authPrompt.js:135 js/ui/audioDeviceSelection.js:57
|
||||
#: js/ui/components/networkAgent.js:109 js/ui/components/polkitAgent.js:139
|
||||
#: js/ui/endSessionDialog.js:374 js/ui/extensionDownloader.js:181
|
||||
#: js/ui/shellMountOperation.js:376 js/ui/shellMountOperation.js:386
|
||||
#: js/ui/status/network.js:913 subprojects/extensions-app/js/main.js:148
|
||||
msgid "Cancel"
|
||||
msgstr "Utzi"
|
||||
|
||||
#. Cisco LEAP
|
||||
#: js/gdm/authPrompt.js:237 js/ui/components/networkAgent.js:204
|
||||
@ -835,44 +706,44 @@ msgstr "Ukatu sarbidea"
|
||||
msgid "Grant Access"
|
||||
msgstr "Baimendu sarbidea"
|
||||
|
||||
#: js/ui/appDisplay.js:898
|
||||
#: js/ui/appDisplay.js:932
|
||||
msgid "Unnamed Folder"
|
||||
msgstr "Izenik gabeko karpeta"
|
||||
|
||||
#: js/ui/appDisplay.js:921
|
||||
#: js/ui/appDisplay.js:955
|
||||
msgid "Frequently used applications will appear here"
|
||||
msgstr "Maiztasunez erabilitako aplikazioak hemen agertuko dira"
|
||||
|
||||
#: js/ui/appDisplay.js:1056
|
||||
#: js/ui/appDisplay.js:1090
|
||||
msgid "Frequent"
|
||||
msgstr "Erabilienak"
|
||||
|
||||
#: js/ui/appDisplay.js:1063
|
||||
#: js/ui/appDisplay.js:1097
|
||||
msgid "All"
|
||||
msgstr "Denak"
|
||||
|
||||
#. Translators: This is the heading of a list of open windows
|
||||
#: js/ui/appDisplay.js:2446 js/ui/panel.js:75
|
||||
#: js/ui/appDisplay.js:2473 js/ui/panel.js:75
|
||||
msgid "Open Windows"
|
||||
msgstr "Leiho irekiak"
|
||||
|
||||
#: js/ui/appDisplay.js:2466 js/ui/panel.js:82
|
||||
#: js/ui/appDisplay.js:2493 js/ui/panel.js:82
|
||||
msgid "New Window"
|
||||
msgstr "_Leiho berria"
|
||||
|
||||
#: js/ui/appDisplay.js:2477
|
||||
#: js/ui/appDisplay.js:2504
|
||||
msgid "Launch using Dedicated Graphics Card"
|
||||
msgstr "Abiarazi eskainitako txartel grafikoa erabiliz"
|
||||
|
||||
#: js/ui/appDisplay.js:2505 js/ui/dash.js:239
|
||||
#: js/ui/appDisplay.js:2532 js/ui/dash.js:239
|
||||
msgid "Remove from Favorites"
|
||||
msgstr "Kendu gogokoetatik"
|
||||
|
||||
#: js/ui/appDisplay.js:2511
|
||||
#: js/ui/appDisplay.js:2538
|
||||
msgid "Add to Favorites"
|
||||
msgstr "Gehitu gogokoei"
|
||||
|
||||
#: js/ui/appDisplay.js:2521 js/ui/panel.js:93
|
||||
#: js/ui/appDisplay.js:2548 js/ui/panel.js:93
|
||||
msgid "Show Details"
|
||||
msgstr "Erakutsi xehetasunak"
|
||||
|
||||
@ -902,7 +773,7 @@ msgstr "Aurikularrak"
|
||||
msgid "Headset"
|
||||
msgstr "Aurikular+mikrofonoa"
|
||||
|
||||
#: js/ui/audioDeviceSelection.js:68 js/ui/status/volume.js:269
|
||||
#: js/ui/audioDeviceSelection.js:68 js/ui/status/volume.js:270
|
||||
msgid "Microphone"
|
||||
msgstr "Mikrofonoa"
|
||||
|
||||
@ -932,7 +803,7 @@ msgstr "06"
|
||||
#: js/ui/calendar.js:70
|
||||
msgctxt "grid sunday"
|
||||
msgid "S"
|
||||
msgstr "S"
|
||||
msgstr "I"
|
||||
|
||||
#. Translators: Calendar grid abbreviation for Monday
|
||||
#: js/ui/calendar.js:72
|
||||
@ -956,7 +827,7 @@ msgstr "A"
|
||||
#: js/ui/calendar.js:78
|
||||
msgctxt "grid thursday"
|
||||
msgid "T"
|
||||
msgstr "A"
|
||||
msgstr "O"
|
||||
|
||||
#. Translators: Calendar grid abbreviation for Friday
|
||||
#: js/ui/calendar.js:80
|
||||
@ -968,7 +839,7 @@ msgstr "O"
|
||||
#: js/ui/calendar.js:82
|
||||
msgctxt "grid saturday"
|
||||
msgid "S"
|
||||
msgstr "S"
|
||||
msgstr "L"
|
||||
|
||||
#. *
|
||||
#. * Translators: The header displaying just the month name
|
||||
@ -1043,7 +914,7 @@ msgstr "Gertaerarik ez"
|
||||
msgid "Do Not Disturb"
|
||||
msgstr "Ez gogaitu"
|
||||
|
||||
#: js/ui/calendar.js:1171
|
||||
#: js/ui/calendar.js:1176
|
||||
msgid "Clear"
|
||||
msgstr "Garbitu"
|
||||
|
||||
@ -1191,7 +1062,7 @@ msgstr "Huts egin du. Saiatu berriro."
|
||||
|
||||
#. Translators: this is the other person changing their old IM name to their new
|
||||
#. IM name.
|
||||
#: js/ui/components/telepathyClient.js:787
|
||||
#: js/ui/components/telepathyClient.js:823
|
||||
#, javascript-format
|
||||
msgid "%s is now known as %s"
|
||||
msgstr "%s orain %s izenarekin ezagutzen da"
|
||||
@ -1239,102 +1110,102 @@ msgstr "Munduko erlojuak"
|
||||
msgid "Weather"
|
||||
msgstr "Eguraldia"
|
||||
|
||||
#: js/ui/dateMenu.js:404
|
||||
#: js/ui/dateMenu.js:418
|
||||
msgid "Select a location…"
|
||||
msgstr "Hautatu kokalekua…"
|
||||
|
||||
#: js/ui/dateMenu.js:417
|
||||
#: js/ui/dateMenu.js:426
|
||||
msgid "Loading…"
|
||||
msgstr "Kargatzen…"
|
||||
|
||||
#: js/ui/dateMenu.js:427
|
||||
#: js/ui/dateMenu.js:436
|
||||
msgid "Go online for weather information"
|
||||
msgstr "Konektatu eguraldiaren informazioa lortzeko"
|
||||
|
||||
#: js/ui/dateMenu.js:429
|
||||
#: js/ui/dateMenu.js:438
|
||||
msgid "Weather information is currently unavailable"
|
||||
msgstr "Eguraldiaren informazioa unean ez dago eskuragarri"
|
||||
|
||||
#: js/ui/endSessionDialog.js:37
|
||||
#: js/ui/endSessionDialog.js:39
|
||||
#, javascript-format
|
||||
msgctxt "title"
|
||||
msgid "Log Out %s"
|
||||
msgstr "Amaitu %s(r)en saioa"
|
||||
|
||||
#: js/ui/endSessionDialog.js:38
|
||||
#: js/ui/endSessionDialog.js:40
|
||||
msgctxt "title"
|
||||
msgid "Log Out"
|
||||
msgstr "Amaitu saioa"
|
||||
|
||||
#: js/ui/endSessionDialog.js:40
|
||||
#: js/ui/endSessionDialog.js:42
|
||||
#, 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 erabiltzailearen saioa automatikoki %d segundotan amaituko da."
|
||||
msgstr[1] "%s erabiltzailearen saioa automatikoki %d segundotan amaituko da."
|
||||
|
||||
#: js/ui/endSessionDialog.js:45
|
||||
#: js/ui/endSessionDialog.js:47
|
||||
#, 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] "Zure saioa automatikoki %d segundotan amaituko da."
|
||||
msgstr[1] "Zure saioa automatikoki %d segundotan amaituko da."
|
||||
|
||||
#: js/ui/endSessionDialog.js:51
|
||||
#: js/ui/endSessionDialog.js:53
|
||||
msgctxt "button"
|
||||
msgid "Log Out"
|
||||
msgstr "Amaitu saioa"
|
||||
|
||||
#: js/ui/endSessionDialog.js:56
|
||||
#: js/ui/endSessionDialog.js:58
|
||||
msgctxt "title"
|
||||
msgid "Power Off"
|
||||
msgstr "Itzali"
|
||||
|
||||
#: js/ui/endSessionDialog.js:57
|
||||
#: js/ui/endSessionDialog.js:59
|
||||
msgctxt "title"
|
||||
msgid "Install Updates & Power Off"
|
||||
msgstr "Instalatu eguneraketak eta itzali"
|
||||
|
||||
#: js/ui/endSessionDialog.js:59
|
||||
#: js/ui/endSessionDialog.js:61
|
||||
#, 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] "Sistema automatikoki segundo %dean itzaliko da."
|
||||
msgstr[1] "Sistema automatikoki %d segundotan itzaliko da."
|
||||
|
||||
#: js/ui/endSessionDialog.js:63
|
||||
#: js/ui/endSessionDialog.js:65
|
||||
msgctxt "checkbox"
|
||||
msgid "Install pending software updates"
|
||||
msgstr "Instalatu falta diren softwareen eguneraketak"
|
||||
|
||||
#: js/ui/endSessionDialog.js:66 js/ui/endSessionDialog.js:82
|
||||
#: js/ui/endSessionDialog.js:68 js/ui/endSessionDialog.js:84
|
||||
msgctxt "button"
|
||||
msgid "Restart"
|
||||
msgstr "Berrabiarazi"
|
||||
|
||||
#: js/ui/endSessionDialog.js:68
|
||||
#: js/ui/endSessionDialog.js:70
|
||||
msgctxt "button"
|
||||
msgid "Power Off"
|
||||
msgstr "Itzali"
|
||||
|
||||
#: js/ui/endSessionDialog.js:74
|
||||
#: js/ui/endSessionDialog.js:76
|
||||
msgctxt "title"
|
||||
msgid "Restart"
|
||||
msgstr "Berrabiarazi"
|
||||
|
||||
#: js/ui/endSessionDialog.js:76
|
||||
#: js/ui/endSessionDialog.js:78
|
||||
#, javascript-format
|
||||
msgid "The system will restart automatically in %d second."
|
||||
msgid_plural "The system will restart automatically in %d seconds."
|
||||
msgstr[0] "Sistema automatikoki segundo %dean berrabiaraziko da."
|
||||
msgstr[1] "Sistema automatikoki %d segundotan berrabiaraziko da."
|
||||
|
||||
#: js/ui/endSessionDialog.js:89
|
||||
#: js/ui/endSessionDialog.js:91
|
||||
msgctxt "title"
|
||||
msgid "Restart & Install Updates"
|
||||
msgstr "Berrabiarazi eta instalatu eguneraketak"
|
||||
|
||||
#: js/ui/endSessionDialog.js:91
|
||||
#: js/ui/endSessionDialog.js:93
|
||||
#, javascript-format
|
||||
msgid "The system will automatically restart and install updates in %d second."
|
||||
msgid_plural ""
|
||||
@ -1346,22 +1217,22 @@ msgstr[1] ""
|
||||
"Sistema automatikoki berrabiaraziko da eta eguneraketak instalatuko ditu %d "
|
||||
"segundotan."
|
||||
|
||||
#: js/ui/endSessionDialog.js:97 js/ui/endSessionDialog.js:116
|
||||
#: js/ui/endSessionDialog.js:99 js/ui/endSessionDialog.js:118
|
||||
msgctxt "button"
|
||||
msgid "Restart & Install"
|
||||
msgstr "Berrabiarazi eta instalatu"
|
||||
|
||||
#: js/ui/endSessionDialog.js:98
|
||||
#: js/ui/endSessionDialog.js:100
|
||||
msgctxt "button"
|
||||
msgid "Install & Power Off"
|
||||
msgstr "Instalatu eta itzali"
|
||||
|
||||
#: js/ui/endSessionDialog.js:99
|
||||
#: js/ui/endSessionDialog.js:101
|
||||
msgctxt "checkbox"
|
||||
msgid "Power off after updates are installed"
|
||||
msgstr "Itzali eguneraketa guztiak instalatu ondoren"
|
||||
|
||||
#: js/ui/endSessionDialog.js:106
|
||||
#: js/ui/endSessionDialog.js:108
|
||||
msgctxt "title"
|
||||
msgid "Restart & Install Upgrade"
|
||||
msgstr "Berrabiarazi eta instalatu bertsio-berritzea"
|
||||
@ -1369,7 +1240,7 @@ msgstr "Berrabiarazi eta instalatu bertsio-berritzea"
|
||||
#. 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:113
|
||||
#, javascript-format
|
||||
msgid ""
|
||||
"%s %s will be installed after restart. Upgrade installation can take a long "
|
||||
@ -1379,15 +1250,15 @@ msgstr ""
|
||||
"denbora luzea beharko du, ziurtatu zaitez babeskopia eginda daukazula eta "
|
||||
"ordenagailua entxufatuta dagoela."
|
||||
|
||||
#: js/ui/endSessionDialog.js:259
|
||||
#: js/ui/endSessionDialog.js:261
|
||||
msgid "Running on battery power: Please plug in before installing updates."
|
||||
msgstr "Bateriarekin lanean: entxufatu eguneraketak instalatu aurretik."
|
||||
|
||||
#: js/ui/endSessionDialog.js:268
|
||||
#: js/ui/endSessionDialog.js:270
|
||||
msgid "Some applications are busy or have unsaved work"
|
||||
msgstr "Aplikazio batzuk lanpetuta daude edo gorde gabeko lanak dituzte."
|
||||
|
||||
#: js/ui/endSessionDialog.js:273
|
||||
#: js/ui/endSessionDialog.js:275
|
||||
msgid "Other users are logged in"
|
||||
msgstr "Beste erabiltzaile batzuek saioa hasita dute."
|
||||
|
||||
@ -1403,24 +1274,24 @@ msgstr "%s (urrunekoa)"
|
||||
msgid "%s (console)"
|
||||
msgstr "%s (kontsola)"
|
||||
|
||||
#: js/ui/extensionDownloader.js:181
|
||||
#: js/ui/extensionDownloader.js:185
|
||||
msgid "Install"
|
||||
msgstr "Instalatu"
|
||||
|
||||
#: js/ui/extensionDownloader.js:187
|
||||
#: js/ui/extensionDownloader.js:191
|
||||
msgid "Install Extension"
|
||||
msgstr "Instalatu hedapena"
|
||||
|
||||
#: js/ui/extensionDownloader.js:188
|
||||
#: js/ui/extensionDownloader.js:192
|
||||
#, javascript-format
|
||||
msgid "Download and install “%s” from extensions.gnome.org?"
|
||||
msgstr "Deskargatu eta instalatu “%s” extensions.gnome.org gunetik?"
|
||||
|
||||
#: js/ui/extensionSystem.js:228
|
||||
#: js/ui/extensionSystem.js:233
|
||||
msgid "Extension Updates Available"
|
||||
msgstr "Hedapenen eguneraketak eskuragarri"
|
||||
|
||||
#: js/ui/extensionSystem.js:229
|
||||
#: js/ui/extensionSystem.js:234
|
||||
msgid "Extension updates are ready to be installed."
|
||||
msgstr "Hedapenen eguneraketak instalatzeko prest daude."
|
||||
|
||||
@ -1569,11 +1440,11 @@ msgstr "Ikusi iturburua"
|
||||
msgid "Web Page"
|
||||
msgstr "Web orria"
|
||||
|
||||
#: js/ui/main.js:274
|
||||
#: js/ui/main.js:277
|
||||
msgid "Logged in as a privileged user"
|
||||
msgstr "Erabiltzaile pribilegiatu gisa saioa hasita"
|
||||
|
||||
#: js/ui/main.js:275
|
||||
#: js/ui/main.js:278
|
||||
msgid ""
|
||||
"Running a session as a privileged user should be avoided for security "
|
||||
"reasons. If possible, you should log in as a normal user."
|
||||
@ -1582,15 +1453,15 @@ msgstr ""
|
||||
"litzateke segurtasuneko arrazoiak direla eta. Posible bada, erabiltzaile "
|
||||
"arrunt gisa hasi beharko zenuke saioa."
|
||||
|
||||
#: js/ui/main.js:281
|
||||
#: js/ui/main.js:317
|
||||
msgid "Screen Lock disabled"
|
||||
msgstr "Pantailaren blokeoa desgaituta dago"
|
||||
|
||||
#: js/ui/main.js:282
|
||||
#: js/ui/main.js:318
|
||||
msgid "Screen Locking requires the GNOME display manager."
|
||||
msgstr "Pantaila blokeatzeko GNOMEren pantaila-kudeatzailea behar da."
|
||||
|
||||
#: js/ui/messageTray.js:1554
|
||||
#: js/ui/messageTray.js:1551
|
||||
msgid "System Information"
|
||||
msgstr "Sistemaren informazioa"
|
||||
|
||||
@ -1797,13 +1668,13 @@ msgid "The PIM must be a number or empty."
|
||||
msgstr "PIM balioak zenbaki bat izan behar du edo hutsik egon behar du."
|
||||
|
||||
#. Translators: %s is the Disks application
|
||||
#: js/ui/shellMountOperation.js:469
|
||||
#: js/ui/shellMountOperation.js:465
|
||||
#, javascript-format
|
||||
msgid "Unable to start %s"
|
||||
msgstr "Ezin da %s abiarazi"
|
||||
|
||||
#. Translators: %s is the Disks application
|
||||
#: js/ui/shellMountOperation.js:471
|
||||
#: js/ui/shellMountOperation.js:467
|
||||
#, javascript-format
|
||||
msgid "Couldn’t find the %s application"
|
||||
msgstr "Ez da %s aplikazioa aurkitu"
|
||||
@ -2278,11 +2149,11 @@ msgstr "Thunderbolt baimen-errorea"
|
||||
msgid "Could not authorize the Thunderbolt device: %s"
|
||||
msgstr "Ezin izan da Thunderbolt gailua baimendu: %s"
|
||||
|
||||
#: js/ui/status/volume.js:150
|
||||
#: js/ui/status/volume.js:151
|
||||
msgid "Volume changed"
|
||||
msgstr "Bolumena aldatuta"
|
||||
|
||||
#: js/ui/status/volume.js:221
|
||||
#: js/ui/status/volume.js:222
|
||||
msgid "Volume"
|
||||
msgstr "Bolumena"
|
||||
|
||||
@ -2316,23 +2187,23 @@ msgstr "Barnekoa soilik"
|
||||
|
||||
#. Translators: This is a time format for a date in
|
||||
#. long format
|
||||
#: js/ui/unlockDialog.js:370
|
||||
#: js/ui/unlockDialog.js:371
|
||||
msgid "%A %B %-d"
|
||||
msgstr "%A %B %-d"
|
||||
|
||||
#: js/ui/unlockDialog.js:376
|
||||
#: js/ui/unlockDialog.js:377
|
||||
msgid "Swipe up to unlock"
|
||||
msgstr "Igaro hatza desblokeatzeko"
|
||||
|
||||
#: js/ui/unlockDialog.js:377
|
||||
#: js/ui/unlockDialog.js:378
|
||||
msgid "Click or press a key to unlock"
|
||||
msgstr "Egin klik edo sakatu tekla bat desblokeatzeko"
|
||||
|
||||
#: js/ui/unlockDialog.js:549
|
||||
#: js/ui/unlockDialog.js:550
|
||||
msgid "Unlock Window"
|
||||
msgstr "Desblokeatu leihoa"
|
||||
|
||||
#: js/ui/unlockDialog.js:558
|
||||
#: js/ui/unlockDialog.js:559
|
||||
msgid "Log in as another user"
|
||||
msgstr "Hasi saioa beste erabiltzaile baten gisan"
|
||||
|
||||
@ -2489,6 +2360,131 @@ msgstr "Pasahitza ezin da hutsa izan"
|
||||
msgid "Authentication dialog was dismissed by the user"
|
||||
msgstr "Erabiltzaileak autentifikatzeko elkarrizketa-koadroa itxi du"
|
||||
|
||||
#: subprojects/extensions-app/data/metainfo/org.gnome.Extensions.metainfo.xml.in:5
|
||||
#: subprojects/extensions-app/data/org.gnome.Extensions.desktop.in.in:4
|
||||
#: subprojects/extensions-app/js/main.js:182
|
||||
#: subprojects/extensions-app/data/ui/extensions-window.ui:61
|
||||
msgid "Extensions"
|
||||
msgstr "Hedapenak"
|
||||
|
||||
#: subprojects/extensions-app/data/metainfo/org.gnome.Extensions.metainfo.xml.in:6
|
||||
#: subprojects/extensions-app/js/main.js:183
|
||||
msgid "Manage your GNOME Extensions"
|
||||
msgstr "Kudeatu zure GNOME hedapenak"
|
||||
|
||||
#: subprojects/extensions-app/data/metainfo/org.gnome.Extensions.metainfo.xml.in:35
|
||||
msgid ""
|
||||
"GNOME Extensions handles updating extensions, configuring extension "
|
||||
"preferences and removing or disabling unwanted extensions."
|
||||
msgstr ""
|
||||
|
||||
#: subprojects/extensions-app/data/org.gnome.Extensions.desktop.in.in:7
|
||||
msgid "Configure GNOME Shell Extensions"
|
||||
msgstr "Konfiguratu GNOME Shell-eko gehigarriak"
|
||||
|
||||
#: subprojects/extensions-app/js/main.js:144
|
||||
#, javascript-format
|
||||
msgid "Remove “%s”?"
|
||||
msgstr "Kendu “%s”?"
|
||||
|
||||
#: subprojects/extensions-app/js/main.js:145
|
||||
msgid ""
|
||||
"If you remove the extension, you need to return to download it if you want "
|
||||
"to enable it again"
|
||||
msgstr ""
|
||||
"Hedapena kentzen bada, berriro deskargatu beharko da atzera gaitu nahi bada."
|
||||
|
||||
#: subprojects/extensions-app/js/main.js:149
|
||||
msgid "Remove"
|
||||
msgstr "Kendu"
|
||||
|
||||
#: subprojects/extensions-app/js/main.js:181
|
||||
msgid "translator-credits"
|
||||
msgstr "translator-credits"
|
||||
|
||||
#: subprojects/extensions-app/js/main.js:316
|
||||
#, javascript-format
|
||||
msgid "%d extension will be updated on next login."
|
||||
msgid_plural "%d extensions will be updated on next login."
|
||||
msgstr[0] "Hedapen %d eguneratuko da hurrengo saio-hasieran."
|
||||
msgstr[1] "%d hedapen eguneratuko dira hurrengo saio-hasieran."
|
||||
|
||||
#: subprojects/extensions-app/data/ui/extension-row.ui:100
|
||||
#: subprojects/extensions-tool/src/command-create.c:211
|
||||
#: subprojects/extensions-tool/src/main.c:173
|
||||
msgid "Description"
|
||||
msgstr "Azalpena"
|
||||
|
||||
#: subprojects/extensions-app/data/ui/extension-row.ui:123
|
||||
#: subprojects/extensions-tool/src/main.c:185
|
||||
msgid "Version"
|
||||
msgstr "Bertsioa"
|
||||
|
||||
#: subprojects/extensions-app/data/ui/extension-row.ui:151
|
||||
msgid "Author"
|
||||
msgstr "Egilea"
|
||||
|
||||
#: subprojects/extensions-app/data/ui/extension-row.ui:175
|
||||
msgid "Website"
|
||||
msgstr "Webgunea"
|
||||
|
||||
#: subprojects/extensions-app/data/ui/extension-row.ui:192
|
||||
msgid "Remove…"
|
||||
msgstr "Kendu…"
|
||||
|
||||
#: subprojects/extensions-app/data/ui/extensions-window.ui:8
|
||||
msgid "Help"
|
||||
msgstr "Laguntza"
|
||||
|
||||
#: subprojects/extensions-app/data/ui/extensions-window.ui:12
|
||||
msgid "About Extensions"
|
||||
msgstr "Hedapenei buruz"
|
||||
|
||||
#: subprojects/extensions-app/data/ui/extensions-window.ui:27
|
||||
msgid ""
|
||||
"To find and add extensions, visit <a href=\"https://extensions.gnome.org"
|
||||
"\">extensions.gnome.org</a>."
|
||||
msgstr ""
|
||||
"Hedapenak aurkitu eta gehitzeko, bisitatu <a href=\"https://extensions.gnome."
|
||||
"org\">extensions.gnome.org</a>."
|
||||
|
||||
#: subprojects/extensions-app/data/ui/extensions-window.ui:35
|
||||
msgid "Warning"
|
||||
msgstr "Abisua"
|
||||
|
||||
#: subprojects/extensions-app/data/ui/extensions-window.ui:46
|
||||
msgid ""
|
||||
"Extensions can cause system issues, including performance problems. If you "
|
||||
"encounter problems with your system, it is recommended to disable all "
|
||||
"extensions."
|
||||
msgstr ""
|
||||
"Hedapenek arazoak sor ditzakete sisteman, errendimendu-arazoak barne. "
|
||||
"Sisteman arazoak aurkitzen badituzu, desgaitu hedapen guztiak."
|
||||
|
||||
#: subprojects/extensions-app/data/ui/extensions-window.ui:134
|
||||
msgid "Manually Installed"
|
||||
msgstr "Eskuz instalatua"
|
||||
|
||||
#: subprojects/extensions-app/data/ui/extensions-window.ui:158
|
||||
msgid "Built-In"
|
||||
msgstr "Integratua"
|
||||
|
||||
#: subprojects/extensions-app/data/ui/extensions-window.ui:199
|
||||
msgid "No Installed Extensions"
|
||||
msgstr "Instalatu gabeko luzapenak"
|
||||
|
||||
#: subprojects/extensions-app/data/ui/extensions-window.ui:235
|
||||
msgid ""
|
||||
"We’re very sorry, but it was not possible to get the list of installed "
|
||||
"extensions. Make sure you are logged into GNOME and try again."
|
||||
msgstr ""
|
||||
"Barkatu, ezin izan da instalatutako hedapenen zerrenda eskuratu. Ziurtatu "
|
||||
"GNOMEn saioa hasi duzula eta saiatu berriro."
|
||||
|
||||
#: subprojects/extensions-app/data/ui/extensions-window.ui:288
|
||||
msgid "Log Out…"
|
||||
msgstr "Amaitu saioa…"
|
||||
|
||||
#. Translators: a file path to an extension directory
|
||||
#: subprojects/extensions-tool/src/command-create.c:125
|
||||
#, c-format
|
||||
@ -2826,6 +2822,9 @@ msgstr[1] "%u sarrera"
|
||||
msgid "System Sounds"
|
||||
msgstr "Sistemaren soinuak"
|
||||
|
||||
#~ msgid "Copy Error"
|
||||
#~ msgstr "Kopiatze-errorea"
|
||||
|
||||
#~ msgid "Next"
|
||||
#~ msgstr "Hurrengoa"
|
||||
|
||||
|
429
po/fa.po
429
po/fa.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-03-19 14:34+0000\n"
|
||||
"PO-Revision-Date: 2020-03-20 23:31+0000\n"
|
||||
"POT-Creation-Date: 2020-03-31 07:15+0000\n"
|
||||
"PO-Revision-Date: 2020-03-31 20:35+0430\n"
|
||||
"Last-Translator: Danial Behzadi <dani.behzi@ubuntu.com>\n"
|
||||
"Language-Team: Persian <>\n"
|
||||
"Language: fa\n"
|
||||
@ -366,63 +366,12 @@ msgstr ""
|
||||
msgid "Network Login"
|
||||
msgstr "ورود شبکهای"
|
||||
|
||||
#: js/extensionPrefs/data/metainfo/org.gnome.Extensions.metainfo.xml.in:5
|
||||
#: js/extensionPrefs/data/org.gnome.Extensions.desktop.in.in:4
|
||||
#: js/extensionPrefs/js/main.js:242
|
||||
#: js/extensionPrefs/data/ui/extensions-window.ui:61
|
||||
msgid "Extensions"
|
||||
msgstr "افزونهها"
|
||||
|
||||
#: js/extensionPrefs/data/metainfo/org.gnome.Extensions.metainfo.xml.in:6
|
||||
#: js/extensionPrefs/js/main.js:243
|
||||
msgid "Manage your GNOME Extensions"
|
||||
msgstr "مدیریت افزونههای پوستهٔ گنوم"
|
||||
|
||||
#: js/extensionPrefs/data/metainfo/org.gnome.Extensions.metainfo.xml.in:35
|
||||
msgid ""
|
||||
"GNOME Extensions handles updating extensions, configuring extension preferences "
|
||||
"and removing or disabling unwanted extensions."
|
||||
msgstr ""
|
||||
"افزونههای گنوم بهروز رسانی، پیکربندی، برداشتن یا از کار انداختن افزونهها را "
|
||||
"مدیریت میکند."
|
||||
|
||||
#: js/extensionPrefs/data/org.gnome.Extensions.desktop.in.in:7
|
||||
msgid "Configure GNOME Shell Extensions"
|
||||
msgstr "پیکربندی افزونههای پوستهٔ گنوم"
|
||||
|
||||
#: js/extensionPrefs/js/main.js:164
|
||||
#, javascript-format
|
||||
msgid "Remove “%s”?"
|
||||
msgstr "برداشتن «%s»؟"
|
||||
|
||||
#: js/extensionPrefs/js/main.js:165
|
||||
msgid ""
|
||||
"If you remove the extension, you need to return to download it if you want to "
|
||||
"enable it again"
|
||||
msgstr "اگر افزونه را بردارید، باید برای به کار انداختن دوبارهاش، بارگیریش کنید"
|
||||
|
||||
#: js/extensionPrefs/js/main.js:168 js/gdm/authPrompt.js:135
|
||||
#: js/ui/audioDeviceSelection.js:57 js/ui/components/networkAgent.js:109
|
||||
#: js/ui/components/polkitAgent.js:139 js/ui/endSessionDialog.js:374
|
||||
#: js/ui/extensionDownloader.js:177 js/ui/shellMountOperation.js:376
|
||||
#: js/ui/shellMountOperation.js:386 js/ui/status/network.js:913
|
||||
msgid "Cancel"
|
||||
msgstr "لغو"
|
||||
|
||||
#: js/extensionPrefs/js/main.js:169
|
||||
msgid "Remove"
|
||||
msgstr "حذف"
|
||||
|
||||
#: js/extensionPrefs/js/main.js:241
|
||||
msgid "translator-credits"
|
||||
msgstr "دانیال بهزادی <dani.behzi@ubuntu.com>"
|
||||
|
||||
#: js/extensionPrefs/js/main.js:285
|
||||
#: js/extensionPrefs/data/ui/extensions-window.ui:223
|
||||
#: js/dbusServices/extensions/ui/extension-prefs-dialog.ui:36
|
||||
#: subprojects/extensions-app/data/ui/extensions-window.ui:223
|
||||
msgid "Something’s gone wrong"
|
||||
msgstr "اشتباهی صورت گرفت"
|
||||
|
||||
#: js/extensionPrefs/js/main.js:292
|
||||
#: js/dbusServices/extensions/ui/extension-prefs-dialog.ui:48
|
||||
msgid ""
|
||||
"We’re very sorry, but there’s been a problem: the settings for this extension "
|
||||
"can’t be displayed. We recommend that you report the issue to the extension "
|
||||
@ -431,103 +380,25 @@ msgstr ""
|
||||
"متأسّفیم، ولی مشکلی وجود داشت: تنظیمات این افزونه نمیتواند نشان داده شوند. توصیه "
|
||||
"میکنیم مشکل را به نگارندهٔ افزونه گزارش دهید."
|
||||
|
||||
#: js/extensionPrefs/js/main.js:299
|
||||
#: js/dbusServices/extensions/ui/extension-prefs-dialog.ui:82
|
||||
msgid "Technical Details"
|
||||
msgstr "جزییات فنّی"
|
||||
|
||||
#: js/extensionPrefs/js/main.js:334
|
||||
msgid "Copy Error"
|
||||
msgstr "رونوشت از خطا"
|
||||
|
||||
#: js/extensionPrefs/js/main.js:361
|
||||
#: js/dbusServices/extensions/ui/extension-prefs-dialog.ui:165
|
||||
msgid "Homepage"
|
||||
msgstr "صفحهٔ خانگی"
|
||||
|
||||
#: js/extensionPrefs/js/main.js:362
|
||||
#: js/dbusServices/extensions/ui/extension-prefs-dialog.ui:166
|
||||
msgid "Visit extension homepage"
|
||||
msgstr "مشاهدهٔ صفحهٔ خانگی افزونه"
|
||||
|
||||
#: js/extensionPrefs/js/main.js:479
|
||||
#, javascript-format
|
||||
msgid "%d extension will be updated on next login."
|
||||
msgid_plural "%d extensions will be updated on next login."
|
||||
msgstr[0] "تعداد %Id افزونه در ورود بعدی بهروز خواهد شد."
|
||||
msgstr[1] "تعداد %Id افزونه در ورود بعدی بهروز خواهند شد."
|
||||
|
||||
#: js/extensionPrefs/data/ui/extension-row.ui:100
|
||||
#: subprojects/extensions-tool/src/command-create.c:211
|
||||
#: subprojects/extensions-tool/src/main.c:173
|
||||
msgid "Description"
|
||||
msgstr "شرح"
|
||||
|
||||
#: js/extensionPrefs/data/ui/extension-row.ui:123
|
||||
#: subprojects/extensions-tool/src/main.c:185
|
||||
msgid "Version"
|
||||
msgstr "نگارش"
|
||||
|
||||
#: js/extensionPrefs/data/ui/extension-row.ui:151
|
||||
msgid "Author"
|
||||
msgstr "نگارنده"
|
||||
|
||||
#: js/extensionPrefs/data/ui/extension-row.ui:175
|
||||
msgid "Website"
|
||||
msgstr "پایگاه وب"
|
||||
|
||||
#: js/extensionPrefs/data/ui/extension-row.ui:192
|
||||
msgid "Remove…"
|
||||
msgstr "برداشتن…"
|
||||
|
||||
#: js/extensionPrefs/data/ui/extensions-window.ui:8
|
||||
msgid "Help"
|
||||
msgstr "راهنما"
|
||||
|
||||
#: js/extensionPrefs/data/ui/extensions-window.ui:12
|
||||
msgid "About Extensions"
|
||||
msgstr "دربارهٔ افزونهها"
|
||||
|
||||
#: js/extensionPrefs/data/ui/extensions-window.ui:27
|
||||
msgid ""
|
||||
"To find and add extensions, visit <a href=\"https://extensions.gnome.org"
|
||||
"\">extensions.gnome.org</a>."
|
||||
msgstr ""
|
||||
"برای یافتن و افزودن افزونهها، <a href=\"https://extensions.gnome.org\">پایگاه "
|
||||
"افزونههای گنوم</a> را ببینید."
|
||||
|
||||
#: js/extensionPrefs/data/ui/extensions-window.ui:35
|
||||
msgid "Warning"
|
||||
msgstr "هشدار"
|
||||
|
||||
#: js/extensionPrefs/data/ui/extensions-window.ui:46
|
||||
msgid ""
|
||||
"Extensions can cause system issues, including performance problems. If you "
|
||||
"encounter problems with your system, it is recommended to disable all extensions."
|
||||
msgstr ""
|
||||
"افزونهها میتوانند موجب اشکالهای سامانهای مانند مشکلات اجرایی شوند. اگر با مشکلاتی "
|
||||
"روی سامانهتان مواجه شدید، پیشنهاد ميشود تمام افزونهها را از کار بندازید."
|
||||
|
||||
#: js/extensionPrefs/data/ui/extensions-window.ui:134
|
||||
msgid "Manually Installed"
|
||||
msgstr "نصبشده به صورت دستی"
|
||||
|
||||
#: js/extensionPrefs/data/ui/extensions-window.ui:158
|
||||
msgid "Built-In"
|
||||
msgstr "توکار"
|
||||
|
||||
#: js/extensionPrefs/data/ui/extensions-window.ui:199
|
||||
msgid "No Installed Extensions"
|
||||
msgstr "هیچ افزونهای نصب نشده"
|
||||
|
||||
#: js/extensionPrefs/data/ui/extensions-window.ui:235
|
||||
msgid ""
|
||||
"We’re very sorry, but it was not possible to get the list of installed "
|
||||
"extensions. Make sure you are logged into GNOME and try again."
|
||||
msgstr ""
|
||||
"متأسّفیم، ولی امکان گرفتن فهرست افزونههای نصبشده نبود. مطمئن شوید که به گنوم وارد "
|
||||
"شدهاید و دوباره تلاش کنید."
|
||||
|
||||
#: js/extensionPrefs/data/ui/extensions-window.ui:288
|
||||
msgid "Log Out…"
|
||||
msgstr "خروج…"
|
||||
#: js/gdm/authPrompt.js:135 js/ui/audioDeviceSelection.js:57
|
||||
#: js/ui/components/networkAgent.js:109 js/ui/components/polkitAgent.js:139
|
||||
#: js/ui/endSessionDialog.js:374 js/ui/extensionDownloader.js:181
|
||||
#: js/ui/shellMountOperation.js:376 js/ui/shellMountOperation.js:386
|
||||
#: js/ui/status/network.js:913 subprojects/extensions-app/js/main.js:148
|
||||
msgid "Cancel"
|
||||
msgstr "لغو"
|
||||
|
||||
#. Cisco LEAP
|
||||
#: js/gdm/authPrompt.js:237 js/ui/components/networkAgent.js:204
|
||||
@ -716,21 +587,21 @@ msgstr[1] "%Id سال پیش"
|
||||
#. Translators: Time in 24h format
|
||||
#: js/misc/util.js:237
|
||||
msgid "%H∶%M"
|
||||
msgstr "%OH:%OM"
|
||||
msgstr "%OH∶%OM"
|
||||
|
||||
#. Translators: this is the word "Yesterday" followed by a
|
||||
#. time string in 24h format. i.e. "Yesterday, 14:30"
|
||||
#: js/misc/util.js:243
|
||||
#, no-c-format
|
||||
msgid "Yesterday, %H∶%M"
|
||||
msgstr "دیروز، %OH:%OM"
|
||||
msgstr "دیروز، %OH∶%OM"
|
||||
|
||||
#. Translators: this is the week day name followed by a time
|
||||
#. string in 24h format. i.e. "Monday, 14:30"
|
||||
#: js/misc/util.js:249
|
||||
#, no-c-format
|
||||
msgid "%A, %H∶%M"
|
||||
msgstr "%A، %OH:%OM"
|
||||
msgstr "%A، %OH∶%OM"
|
||||
|
||||
#. Translators: this is the month name and day number
|
||||
#. followed by a time string in 24h format.
|
||||
@ -738,7 +609,7 @@ msgstr "%A، %OH:%OM"
|
||||
#: js/misc/util.js:255
|
||||
#, no-c-format
|
||||
msgid "%B %-d, %H∶%M"
|
||||
msgstr "%-Od %OB، %OH:%OM"
|
||||
msgstr "%-Od %OB، %OH∶%OM"
|
||||
|
||||
#. Translators: this is the month name, day number, year
|
||||
#. number followed by a time string in 24h format.
|
||||
@ -746,7 +617,7 @@ msgstr "%-Od %OB، %OH:%OM"
|
||||
#: js/misc/util.js:261
|
||||
#, no-c-format
|
||||
msgid "%B %-d %Y, %H∶%M"
|
||||
msgstr "%-Od %OB %Y، %OH:%OM"
|
||||
msgstr "%-Od %OB %Y، %OH∶%OM"
|
||||
|
||||
#. Show only the time if date is on today
|
||||
#. eslint-disable-line no-lonely-if
|
||||
@ -760,14 +631,14 @@ msgstr "%Ol∶%OM %Op"
|
||||
#: js/misc/util.js:272
|
||||
#, no-c-format
|
||||
msgid "Yesterday, %l∶%M %p"
|
||||
msgstr "دیروز، %OI:%OM"
|
||||
msgstr "دیروز، %Ol∶%OM %p"
|
||||
|
||||
#. Translators: this is the week day name followed by a time
|
||||
#. string in 12h format. i.e. "Monday, 2:30 pm"
|
||||
#: js/misc/util.js:278
|
||||
#, no-c-format
|
||||
msgid "%A, %l∶%M %p"
|
||||
msgstr "%A، %Ol:%OM %Op"
|
||||
msgstr "%A، %Ol∶%OM %Op"
|
||||
|
||||
#. Translators: this is the month name and day number
|
||||
#. followed by a time string in 12h format.
|
||||
@ -775,7 +646,7 @@ msgstr "%A، %Ol:%OM %Op"
|
||||
#: js/misc/util.js:284
|
||||
#, no-c-format
|
||||
msgid "%B %-d, %l∶%M %p"
|
||||
msgstr "%-Od %OB، %Ol:%OM %Op"
|
||||
msgstr "%-Od %OB، %Ol∶%OM %Op"
|
||||
|
||||
#. Translators: this is the month name, day number, year
|
||||
#. number followed by a time string in 12h format.
|
||||
@ -783,7 +654,7 @@ msgstr "%-Od %OB، %Ol:%OM %Op"
|
||||
#: js/misc/util.js:290
|
||||
#, no-c-format
|
||||
msgid "%B %-d %Y, %l∶%M %p"
|
||||
msgstr "%-Od %OB %Y، %Ol:%OM %Op"
|
||||
msgstr "%-Od %OB %Y، %Ol∶%OM %Op"
|
||||
|
||||
#. TRANSLATORS: this is the title of the wifi captive portal login window
|
||||
#: js/portalHelper/main.js:41
|
||||
@ -808,44 +679,44 @@ msgstr "رد دسترسی"
|
||||
msgid "Grant Access"
|
||||
msgstr "پذیرفتن دسترسی"
|
||||
|
||||
#: js/ui/appDisplay.js:898
|
||||
#: js/ui/appDisplay.js:932
|
||||
msgid "Unnamed Folder"
|
||||
msgstr "پوشهٔ بینام"
|
||||
|
||||
#: js/ui/appDisplay.js:921
|
||||
#: js/ui/appDisplay.js:955
|
||||
msgid "Frequently used applications will appear here"
|
||||
msgstr "برنامههای بیشتر استفاده شده در اینجا نمایش داده میشود"
|
||||
|
||||
#: js/ui/appDisplay.js:1056
|
||||
#: js/ui/appDisplay.js:1090
|
||||
msgid "Frequent"
|
||||
msgstr "پُر استفاده"
|
||||
|
||||
#: js/ui/appDisplay.js:1063
|
||||
#: js/ui/appDisplay.js:1097
|
||||
msgid "All"
|
||||
msgstr "همه"
|
||||
|
||||
#. Translators: This is the heading of a list of open windows
|
||||
#: js/ui/appDisplay.js:2446 js/ui/panel.js:75
|
||||
#: js/ui/appDisplay.js:2473 js/ui/panel.js:75
|
||||
msgid "Open Windows"
|
||||
msgstr "پنجرههای باز"
|
||||
|
||||
#: js/ui/appDisplay.js:2466 js/ui/panel.js:82
|
||||
#: js/ui/appDisplay.js:2493 js/ui/panel.js:82
|
||||
msgid "New Window"
|
||||
msgstr "پنجرهٔ جدید"
|
||||
|
||||
#: js/ui/appDisplay.js:2477
|
||||
#: js/ui/appDisplay.js:2504
|
||||
msgid "Launch using Dedicated Graphics Card"
|
||||
msgstr "اجرا با کارت گرافیک اختصاصی"
|
||||
|
||||
#: js/ui/appDisplay.js:2505 js/ui/dash.js:239
|
||||
#: js/ui/appDisplay.js:2532 js/ui/dash.js:239
|
||||
msgid "Remove from Favorites"
|
||||
msgstr "حذف از مورد پسندها"
|
||||
|
||||
#: js/ui/appDisplay.js:2511
|
||||
#: js/ui/appDisplay.js:2538
|
||||
msgid "Add to Favorites"
|
||||
msgstr "افزودن به مورد پسندها"
|
||||
|
||||
#: js/ui/appDisplay.js:2521 js/ui/panel.js:93
|
||||
#: js/ui/appDisplay.js:2548 js/ui/panel.js:93
|
||||
msgid "Show Details"
|
||||
msgstr "نمایش جزییات"
|
||||
|
||||
@ -875,7 +746,7 @@ msgstr "هدفونها"
|
||||
msgid "Headset"
|
||||
msgstr "هدست"
|
||||
|
||||
#: js/ui/audioDeviceSelection.js:68 js/ui/status/volume.js:269
|
||||
#: js/ui/audioDeviceSelection.js:68 js/ui/status/volume.js:270
|
||||
msgid "Microphone"
|
||||
msgstr "میکروفون"
|
||||
|
||||
@ -1016,7 +887,7 @@ msgstr "بدون رویداد"
|
||||
msgid "Do Not Disturb"
|
||||
msgstr "مزاحم نشوید"
|
||||
|
||||
#: js/ui/calendar.js:1171
|
||||
#: js/ui/calendar.js:1176
|
||||
msgid "Clear"
|
||||
msgstr "پاکسازی"
|
||||
|
||||
@ -1160,7 +1031,7 @@ msgstr "متاسفانه اثری نداشت! لطفاً دوباره تلاش
|
||||
|
||||
#. Translators: this is the other person changing their old IM name to their new
|
||||
#. IM name.
|
||||
#: js/ui/components/telepathyClient.js:787
|
||||
#: js/ui/components/telepathyClient.js:823
|
||||
#, javascript-format
|
||||
msgid "%s is now known as %s"
|
||||
msgstr "%s با عنوان %s شناخته میشود"
|
||||
@ -1204,106 +1075,106 @@ msgstr "اقزودن ساعتهای جهانی…"
|
||||
msgid "World Clocks"
|
||||
msgstr "ساعتهای جهانی"
|
||||
|
||||
#: js/ui/dateMenu.js:279
|
||||
#: js/ui/dateMenu.js:289
|
||||
msgid "Weather"
|
||||
msgstr "آبوهوا"
|
||||
|
||||
#: js/ui/dateMenu.js:394
|
||||
#: js/ui/dateMenu.js:418
|
||||
msgid "Select a location…"
|
||||
msgstr "موقعیتی را برگزینید…"
|
||||
|
||||
#: js/ui/dateMenu.js:407
|
||||
#: js/ui/dateMenu.js:426
|
||||
msgid "Loading…"
|
||||
msgstr "در حال بار کردن…"
|
||||
|
||||
#: js/ui/dateMenu.js:417
|
||||
#: js/ui/dateMenu.js:436
|
||||
msgid "Go online for weather information"
|
||||
msgstr "برای اطّلاعات آبوهوا برخط شوید"
|
||||
|
||||
#: js/ui/dateMenu.js:419
|
||||
#: js/ui/dateMenu.js:438
|
||||
msgid "Weather information is currently unavailable"
|
||||
msgstr "اطّلاعات آبوهو در حال حاضر موجود نیست"
|
||||
|
||||
#: js/ui/endSessionDialog.js:37
|
||||
#: js/ui/endSessionDialog.js:39
|
||||
#, javascript-format
|
||||
msgctxt "title"
|
||||
msgid "Log Out %s"
|
||||
msgstr "خروج از %s"
|
||||
|
||||
#: js/ui/endSessionDialog.js:38
|
||||
#: js/ui/endSessionDialog.js:40
|
||||
msgctxt "title"
|
||||
msgid "Log Out"
|
||||
msgstr "خروج"
|
||||
|
||||
#: js/ui/endSessionDialog.js:40
|
||||
#: js/ui/endSessionDialog.js:42
|
||||
#, 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 به طور خودکار در مدت %Id ثانیه از سامانه خارج خواهد شد."
|
||||
msgstr[1] "%s به طور خودکار در مدت %Id ثانیه از سامانه خارج خواهد شد."
|
||||
|
||||
#: js/ui/endSessionDialog.js:45
|
||||
#: js/ui/endSessionDialog.js:47
|
||||
#, 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] "پس از %Id ثانیه به طور خودکار از سامانه خارج میشوید."
|
||||
msgstr[1] "پس از %Id ثانیه به طور خودکار از سامانه خارج میشوید."
|
||||
|
||||
#: js/ui/endSessionDialog.js:51
|
||||
#: js/ui/endSessionDialog.js:53
|
||||
msgctxt "button"
|
||||
msgid "Log Out"
|
||||
msgstr "خروج"
|
||||
|
||||
#: js/ui/endSessionDialog.js:56
|
||||
#: js/ui/endSessionDialog.js:58
|
||||
msgctxt "title"
|
||||
msgid "Power Off"
|
||||
msgstr "خاموش کردن"
|
||||
|
||||
#: js/ui/endSessionDialog.js:57
|
||||
#: js/ui/endSessionDialog.js:59
|
||||
msgctxt "title"
|
||||
msgid "Install Updates & Power Off"
|
||||
msgstr "نصب بهروز رسانیها و خاموش کردن"
|
||||
|
||||
#: js/ui/endSessionDialog.js:59
|
||||
#: js/ui/endSessionDialog.js:61
|
||||
#, 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] "سامانه پس از %Id ثانیه به طور خودکار خاموش میشود."
|
||||
msgstr[1] "سامانه پس از %Id ثانیه به طور خودکار خاموش میشود."
|
||||
|
||||
#: js/ui/endSessionDialog.js:63
|
||||
#: js/ui/endSessionDialog.js:65
|
||||
msgctxt "checkbox"
|
||||
msgid "Install pending software updates"
|
||||
msgstr "نصب بهروز رسانیهایِ در انتظار"
|
||||
|
||||
#: js/ui/endSessionDialog.js:66 js/ui/endSessionDialog.js:82
|
||||
#: js/ui/endSessionDialog.js:68 js/ui/endSessionDialog.js:84
|
||||
msgctxt "button"
|
||||
msgid "Restart"
|
||||
msgstr "راهاندازی دوباره"
|
||||
|
||||
#: js/ui/endSessionDialog.js:68
|
||||
#: js/ui/endSessionDialog.js:70
|
||||
msgctxt "button"
|
||||
msgid "Power Off"
|
||||
msgstr "خاموش کردن"
|
||||
|
||||
#: js/ui/endSessionDialog.js:74
|
||||
#: js/ui/endSessionDialog.js:76
|
||||
msgctxt "title"
|
||||
msgid "Restart"
|
||||
msgstr "راهاندازی دوباره"
|
||||
|
||||
#: js/ui/endSessionDialog.js:76
|
||||
#: js/ui/endSessionDialog.js:78
|
||||
#, javascript-format
|
||||
msgid "The system will restart automatically in %d second."
|
||||
msgid_plural "The system will restart automatically in %d seconds."
|
||||
msgstr[0] "سامانه پس از %Id ثانیه به طور خودکار دوبارها راهاندازی میشود."
|
||||
msgstr[1] "سامانه پس از %Id ثانیه به طور خودکار دوبارها راهاندازی میشود."
|
||||
|
||||
#: js/ui/endSessionDialog.js:89
|
||||
#: js/ui/endSessionDialog.js:91
|
||||
msgctxt "title"
|
||||
msgid "Restart & Install Updates"
|
||||
msgstr "راهاندازی دوباره و نصب بهروز رسانیها"
|
||||
|
||||
#: js/ui/endSessionDialog.js:91
|
||||
#: js/ui/endSessionDialog.js:93
|
||||
#, javascript-format
|
||||
msgid "The system will automatically restart and install updates in %d second."
|
||||
msgid_plural ""
|
||||
@ -1315,22 +1186,22 @@ msgstr[1] ""
|
||||
"سامانه پس از %Id ثانیه به طور خودکار دوبارها راهاندازی میشود و بهروز رسانییها را "
|
||||
"نصب میکند."
|
||||
|
||||
#: js/ui/endSessionDialog.js:97 js/ui/endSessionDialog.js:116
|
||||
#: js/ui/endSessionDialog.js:99 js/ui/endSessionDialog.js:118
|
||||
msgctxt "button"
|
||||
msgid "Restart & Install"
|
||||
msgstr "راهاندازی دوباره و نصب"
|
||||
|
||||
#: js/ui/endSessionDialog.js:98
|
||||
#: js/ui/endSessionDialog.js:100
|
||||
msgctxt "button"
|
||||
msgid "Install & Power Off"
|
||||
msgstr "نصب و خاموش کردن"
|
||||
|
||||
#: js/ui/endSessionDialog.js:99
|
||||
#: js/ui/endSessionDialog.js:101
|
||||
msgctxt "checkbox"
|
||||
msgid "Power off after updates are installed"
|
||||
msgstr "خاموش کردن پس از نصب بهروز رسانیها"
|
||||
|
||||
#: js/ui/endSessionDialog.js:106
|
||||
#: js/ui/endSessionDialog.js:108
|
||||
msgctxt "title"
|
||||
msgid "Restart & Install Upgrade"
|
||||
msgstr "راهاندازی دوباره و نصب ارتقا"
|
||||
@ -1338,24 +1209,24 @@ 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:111
|
||||
#: js/ui/endSessionDialog.js:113
|
||||
#, javascript-format
|
||||
msgid ""
|
||||
"%s %s will be installed after restart. Upgrade installation can take a long time: "
|
||||
"ensure that you have backed up and that the computer is plugged in."
|
||||
msgstr ""
|
||||
"پس از راهاندازی دوباره %s %s نصب خواهد شد. نصب ارتقا ممکن است زمان زیادی بطول "
|
||||
"بکشد: مطمئن شوید که پشتیبان دارید و رایانه به برق متصل است."
|
||||
"پس از راهاندازی دوباره %s %s نصب خواهد شد. نصب ارتقا ممکن است زمان زیادی طول "
|
||||
"بکشد: مطمئن شوید که پشتیبان دارید و رایانه به برق وصل است."
|
||||
|
||||
#: js/ui/endSessionDialog.js:259
|
||||
#: js/ui/endSessionDialog.js:261
|
||||
msgid "Running on battery power: Please plug in before installing updates."
|
||||
msgstr "درحال استفاده از باتری: لطفاً پیش از نصب بهروز رسانیها، به برق بزنید."
|
||||
|
||||
#: js/ui/endSessionDialog.js:268
|
||||
#: js/ui/endSessionDialog.js:270
|
||||
msgid "Some applications are busy or have unsaved work"
|
||||
msgstr "برخی برنامهها مشغول بوده یا کار ذخیره نشده دارند"
|
||||
|
||||
#: js/ui/endSessionDialog.js:273
|
||||
#: js/ui/endSessionDialog.js:275
|
||||
msgid "Other users are logged in"
|
||||
msgstr "کاربران دیگری وارد شده هستند"
|
||||
|
||||
@ -1371,24 +1242,24 @@ msgstr "%s (دوردست)"
|
||||
msgid "%s (console)"
|
||||
msgstr "%s (پایانه)"
|
||||
|
||||
#: js/ui/extensionDownloader.js:181
|
||||
#: js/ui/extensionDownloader.js:185
|
||||
msgid "Install"
|
||||
msgstr "نصب"
|
||||
|
||||
#: js/ui/extensionDownloader.js:187
|
||||
#: js/ui/extensionDownloader.js:191
|
||||
msgid "Install Extension"
|
||||
msgstr "نصب افزونه"
|
||||
|
||||
#: js/ui/extensionDownloader.js:188
|
||||
#: js/ui/extensionDownloader.js:192
|
||||
#, javascript-format
|
||||
msgid "Download and install “%s” from extensions.gnome.org?"
|
||||
msgstr "بارگیری و نصب «%s» از extensions.gnome.org؟"
|
||||
|
||||
#: js/ui/extensionSystem.js:228
|
||||
#: js/ui/extensionSystem.js:233
|
||||
msgid "Extension Updates Available"
|
||||
msgstr "بهروز رسانیهای افزونه موجودند"
|
||||
|
||||
#: js/ui/extensionSystem.js:229
|
||||
#: js/ui/extensionSystem.js:234
|
||||
msgid "Extension updates are ready to be installed."
|
||||
msgstr "بهروز رسانیهای افزونهها آمادهٔ نصبند."
|
||||
|
||||
@ -1533,11 +1404,11 @@ msgstr "نمایش منبع"
|
||||
msgid "Web Page"
|
||||
msgstr "صفحهٔ وب"
|
||||
|
||||
#: js/ui/main.js:274
|
||||
#: js/ui/main.js:277
|
||||
msgid "Logged in as a privileged user"
|
||||
msgstr "واردشده به عنوان کاربری ممتاز"
|
||||
|
||||
#: js/ui/main.js:275
|
||||
#: js/ui/main.js:278
|
||||
msgid ""
|
||||
"Running a session as a privileged user should be avoided for security reasons. If "
|
||||
"possible, you should log in as a normal user."
|
||||
@ -1545,15 +1416,15 @@ msgstr ""
|
||||
"به دلایل امنیتی باید از اجرای یک نشست به عنوان کاربری ممتاز خودداری کرد. در صورت "
|
||||
"امکان، با کاربری عادی وارد شوید."
|
||||
|
||||
#: js/ui/main.js:281
|
||||
#: js/ui/main.js:317
|
||||
msgid "Screen Lock disabled"
|
||||
msgstr "قفل صفحه از کار افتاده"
|
||||
|
||||
#: js/ui/main.js:282
|
||||
#: js/ui/main.js:318
|
||||
msgid "Screen Locking requires the GNOME display manager."
|
||||
msgstr "قفل صفحه نیاز به مدیر نمایش گنوم دارد."
|
||||
|
||||
#: js/ui/messageTray.js:1554
|
||||
#: js/ui/messageTray.js:1551
|
||||
msgid "System Information"
|
||||
msgstr "اطلاعات سامانه"
|
||||
|
||||
@ -1759,13 +1630,13 @@ msgid "The PIM must be a number or empty."
|
||||
msgstr "PIM باید یک شماره یا خالی باشد."
|
||||
|
||||
#. Translators: %s is the Disks application
|
||||
#: js/ui/shellMountOperation.js:469
|
||||
#: js/ui/shellMountOperation.js:465
|
||||
#, javascript-format
|
||||
msgid "Unable to start %s"
|
||||
msgstr "نمیتوان %s را آغاز کرد"
|
||||
|
||||
#. Translators: %s is the Disks application
|
||||
#: js/ui/shellMountOperation.js:471
|
||||
#: js/ui/shellMountOperation.js:467
|
||||
#, javascript-format
|
||||
msgid "Couldn’t find the %s application"
|
||||
msgstr "نمیتوان برنامهٔ %s را یافت"
|
||||
@ -2236,11 +2107,11 @@ msgstr "خطای تأیید هویت تاندربولت"
|
||||
msgid "Could not authorize the Thunderbolt device: %s"
|
||||
msgstr "نمیتوان افزارهٔ تاندربولت را تأیید هویت کرد: %s"
|
||||
|
||||
#: js/ui/status/volume.js:150
|
||||
#: js/ui/status/volume.js:151
|
||||
msgid "Volume changed"
|
||||
msgstr "بلندی صدا تغییر کرد"
|
||||
|
||||
#: js/ui/status/volume.js:221
|
||||
#: js/ui/status/volume.js:222
|
||||
msgid "Volume"
|
||||
msgstr "بلندی صدا"
|
||||
|
||||
@ -2274,23 +2145,23 @@ msgstr "فقط داخلی"
|
||||
|
||||
#. Translators: This is a time format for a date in
|
||||
#. long format
|
||||
#: js/ui/unlockDialog.js:370
|
||||
#: js/ui/unlockDialog.js:371
|
||||
msgid "%A %B %-d"
|
||||
msgstr "%A %-Od %OB"
|
||||
|
||||
#: js/ui/unlockDialog.js:376
|
||||
#: js/ui/unlockDialog.js:377
|
||||
msgid "Swipe up to unlock"
|
||||
msgstr "برای قفلگشایی، بالا بکشید"
|
||||
|
||||
#: js/ui/unlockDialog.js:377
|
||||
#: js/ui/unlockDialog.js:378
|
||||
msgid "Click or press a key to unlock"
|
||||
msgstr "برای قفلگشایی، کلیک کرده یا دکمهای را بزنید"
|
||||
|
||||
#: js/ui/unlockDialog.js:549
|
||||
#: js/ui/unlockDialog.js:550
|
||||
msgid "Unlock Window"
|
||||
msgstr "گشودن قفل پنجره"
|
||||
|
||||
#: js/ui/unlockDialog.js:558
|
||||
#: js/ui/unlockDialog.js:559
|
||||
msgid "Log in as another user"
|
||||
msgstr "ورود به عنوان کاربری دیگر"
|
||||
|
||||
@ -2447,6 +2318,131 @@ msgstr "گذرواژه نمیتواند خالی باشد"
|
||||
msgid "Authentication dialog was dismissed by the user"
|
||||
msgstr "محاوره تایید هویت از طرف کاربر رد شد"
|
||||
|
||||
#: subprojects/extensions-app/data/metainfo/org.gnome.Extensions.metainfo.xml.in:5
|
||||
#: subprojects/extensions-app/data/org.gnome.Extensions.desktop.in.in:4
|
||||
#: subprojects/extensions-app/js/main.js:182
|
||||
#: subprojects/extensions-app/data/ui/extensions-window.ui:61
|
||||
msgid "Extensions"
|
||||
msgstr "افزونهها"
|
||||
|
||||
#: subprojects/extensions-app/data/metainfo/org.gnome.Extensions.metainfo.xml.in:6
|
||||
#: subprojects/extensions-app/js/main.js:183
|
||||
msgid "Manage your GNOME Extensions"
|
||||
msgstr "مدیریت افزونههای پوستهٔ گنوم"
|
||||
|
||||
#: subprojects/extensions-app/data/metainfo/org.gnome.Extensions.metainfo.xml.in:35
|
||||
msgid ""
|
||||
"GNOME Extensions handles updating extensions, configuring extension preferences "
|
||||
"and removing or disabling unwanted extensions."
|
||||
msgstr ""
|
||||
"افزونههای گنوم بهروز رسانی، پیکربندی، برداشتن یا از کار انداختن افزونهها را "
|
||||
"مدیریت میکند."
|
||||
|
||||
#: subprojects/extensions-app/data/org.gnome.Extensions.desktop.in.in:7
|
||||
msgid "Configure GNOME Shell Extensions"
|
||||
msgstr "پیکربندی افزونههای پوستهٔ گنوم"
|
||||
|
||||
#: subprojects/extensions-app/js/main.js:144
|
||||
#, javascript-format
|
||||
msgid "Remove “%s”?"
|
||||
msgstr "برداشتن «%s»؟"
|
||||
|
||||
#: subprojects/extensions-app/js/main.js:145
|
||||
msgid ""
|
||||
"If you remove the extension, you need to return to download it if you want to "
|
||||
"enable it again"
|
||||
msgstr "اگر افزونه را بردارید، باید برای به کار انداختن دوبارهاش، بارگیریش کنید"
|
||||
|
||||
#: subprojects/extensions-app/js/main.js:149
|
||||
msgid "Remove"
|
||||
msgstr "حذف"
|
||||
|
||||
#: subprojects/extensions-app/js/main.js:181
|
||||
msgid "translator-credits"
|
||||
msgstr "دانیال بهزادی <dani.behzi@ubuntu.com>"
|
||||
|
||||
#: subprojects/extensions-app/js/main.js:316
|
||||
#, javascript-format
|
||||
msgid "%d extension will be updated on next login."
|
||||
msgid_plural "%d extensions will be updated on next login."
|
||||
msgstr[0] "تعداد %Id افزونه در ورود بعدی بهروز خواهد شد."
|
||||
msgstr[1] "تعداد %Id افزونه در ورود بعدی بهروز خواهند شد."
|
||||
|
||||
#: subprojects/extensions-app/data/ui/extension-row.ui:100
|
||||
#: subprojects/extensions-tool/src/command-create.c:211
|
||||
#: subprojects/extensions-tool/src/main.c:173
|
||||
msgid "Description"
|
||||
msgstr "شرح"
|
||||
|
||||
#: subprojects/extensions-app/data/ui/extension-row.ui:123
|
||||
#: subprojects/extensions-tool/src/main.c:185
|
||||
msgid "Version"
|
||||
msgstr "نگارش"
|
||||
|
||||
#: subprojects/extensions-app/data/ui/extension-row.ui:151
|
||||
msgid "Author"
|
||||
msgstr "نگارنده"
|
||||
|
||||
#: subprojects/extensions-app/data/ui/extension-row.ui:175
|
||||
msgid "Website"
|
||||
msgstr "پایگاه وب"
|
||||
|
||||
#: subprojects/extensions-app/data/ui/extension-row.ui:192
|
||||
msgid "Remove…"
|
||||
msgstr "برداشتن…"
|
||||
|
||||
#: subprojects/extensions-app/data/ui/extensions-window.ui:8
|
||||
msgid "Help"
|
||||
msgstr "راهنما"
|
||||
|
||||
#: subprojects/extensions-app/data/ui/extensions-window.ui:12
|
||||
msgid "About Extensions"
|
||||
msgstr "دربارهٔ افزونهها"
|
||||
|
||||
#: subprojects/extensions-app/data/ui/extensions-window.ui:27
|
||||
msgid ""
|
||||
"To find and add extensions, visit <a href=\"https://extensions.gnome.org"
|
||||
"\">extensions.gnome.org</a>."
|
||||
msgstr ""
|
||||
"برای یافتن و افزودن افزونهها، <a href=\"https://extensions.gnome.org\">پایگاه "
|
||||
"افزونههای گنوم</a> را ببینید."
|
||||
|
||||
#: subprojects/extensions-app/data/ui/extensions-window.ui:35
|
||||
msgid "Warning"
|
||||
msgstr "هشدار"
|
||||
|
||||
#: subprojects/extensions-app/data/ui/extensions-window.ui:46
|
||||
msgid ""
|
||||
"Extensions can cause system issues, including performance problems. If you "
|
||||
"encounter problems with your system, it is recommended to disable all extensions."
|
||||
msgstr ""
|
||||
"افزونهها میتوانند موجب اشکالهای سامانهای مانند مشکلات اجرایی شوند. اگر با مشکلاتی "
|
||||
"روی سامانهتان مواجه شدید، پیشنهاد ميشود تمام افزونهها را از کار بندازید."
|
||||
|
||||
#: subprojects/extensions-app/data/ui/extensions-window.ui:134
|
||||
msgid "Manually Installed"
|
||||
msgstr "نصبشده به صورت دستی"
|
||||
|
||||
#: subprojects/extensions-app/data/ui/extensions-window.ui:158
|
||||
msgid "Built-In"
|
||||
msgstr "توکار"
|
||||
|
||||
#: subprojects/extensions-app/data/ui/extensions-window.ui:199
|
||||
msgid "No Installed Extensions"
|
||||
msgstr "هیچ افزونهای نصب نشده"
|
||||
|
||||
#: subprojects/extensions-app/data/ui/extensions-window.ui:235
|
||||
msgid ""
|
||||
"We’re very sorry, but it was not possible to get the list of installed "
|
||||
"extensions. Make sure you are logged into GNOME and try again."
|
||||
msgstr ""
|
||||
"متأسّفیم، ولی امکان گرفتن فهرست افزونههای نصبشده نبود. مطمئن شوید که به گنوم وارد "
|
||||
"شدهاید و دوباره تلاش کنید."
|
||||
|
||||
#: subprojects/extensions-app/data/ui/extensions-window.ui:288
|
||||
msgid "Log Out…"
|
||||
msgstr "خروج…"
|
||||
|
||||
#. Translators: a file path to an extension directory
|
||||
#: subprojects/extensions-tool/src/command-create.c:125
|
||||
#, c-format
|
||||
@ -2783,6 +2779,9 @@ msgstr[1] "%Iu ورودی"
|
||||
msgid "System Sounds"
|
||||
msgstr "صداهای سامانه"
|
||||
|
||||
#~ msgid "Copy Error"
|
||||
#~ msgstr "رونوشت از خطا"
|
||||
|
||||
#~ msgid "Username…"
|
||||
#~ msgstr "نامکاربری…"
|
||||
|
||||
|
485
po/fi.po
485
po/fi.po
@ -25,8 +25,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-02-21 09:52+0000\n"
|
||||
"PO-Revision-Date: 2020-02-22 17:34+0200\n"
|
||||
"POT-Creation-Date: 2020-03-31 07:15+0000\n"
|
||||
"PO-Revision-Date: 2020-04-02 12:43+0300\n"
|
||||
"Last-Translator: Jiri Grönroos <jiri.gronroos+l10n@iki.fi>\n"
|
||||
"Language-Team: suomi <lokalisointi-lista@googlegroups.com>\n"
|
||||
"Language: fi\n"
|
||||
@ -63,15 +63,6 @@ msgstr "Näytä kaikki sovellukset"
|
||||
msgid "Open the application menu"
|
||||
msgstr "Avaa sovellusvalikko"
|
||||
|
||||
#: data/org.gnome.Extensions.desktop.in.in:4 js/extensionPrefs/main.js:218
|
||||
#: js/extensionPrefs/ui/extensions-window.ui:61
|
||||
msgid "Extensions"
|
||||
msgstr "Laajennukset"
|
||||
|
||||
#: data/org.gnome.Extensions.desktop.in.in:7
|
||||
msgid "Configure GNOME Shell Extensions"
|
||||
msgstr "Hallitse Gnome Shell -laajennuksia"
|
||||
|
||||
#: data/org.gnome.Shell.desktop.in.in:4
|
||||
msgid "GNOME Shell"
|
||||
msgstr "Gnome Shell"
|
||||
@ -429,44 +420,12 @@ msgstr ""
|
||||
msgid "Network Login"
|
||||
msgstr "Verkkokirjautuminen"
|
||||
|
||||
#: js/extensionPrefs/main.js:140
|
||||
#, javascript-format
|
||||
msgid "Remove “%s”?"
|
||||
msgstr "Poista “%s”?"
|
||||
|
||||
#: js/extensionPrefs/main.js:141
|
||||
msgid ""
|
||||
"If you remove the extension, you need to return to download it if you want "
|
||||
"to enable it again"
|
||||
msgstr ""
|
||||
"Ota huomioon jos poistat laajennuksen; sinun tulee palata ja ladata se "
|
||||
"uudelleen, jos haluat sen uudelleen käyttöön"
|
||||
|
||||
#: js/extensionPrefs/main.js:144 js/ui/audioDeviceSelection.js:57
|
||||
#: js/ui/components/networkAgent.js:107 js/ui/components/polkitAgent.js:139
|
||||
#: js/ui/endSessionDialog.js:374 js/ui/extensionDownloader.js:165
|
||||
#: js/ui/shellMountOperation.js:376 js/ui/shellMountOperation.js:386
|
||||
#: js/ui/status/network.js:913
|
||||
msgid "Cancel"
|
||||
msgstr "Peru"
|
||||
|
||||
#: js/extensionPrefs/main.js:145
|
||||
msgid "Remove"
|
||||
msgstr "Poista"
|
||||
|
||||
#: js/extensionPrefs/main.js:217
|
||||
msgid "translator-credits"
|
||||
msgstr "Jiri Grönroos"
|
||||
|
||||
#: js/extensionPrefs/main.js:219
|
||||
msgid "Manage your GNOME Extensions"
|
||||
msgstr "Hallitse Gnome-laajennuksia"
|
||||
|
||||
#: js/extensionPrefs/main.js:261 js/extensionPrefs/ui/extensions-window.ui:222
|
||||
#: js/dbusServices/extensions/ui/extension-prefs-dialog.ui:36
|
||||
#: subprojects/extensions-app/data/ui/extensions-window.ui:223
|
||||
msgid "Something’s gone wrong"
|
||||
msgstr "Jokin meni pieleen"
|
||||
|
||||
#: js/extensionPrefs/main.js:268
|
||||
#: js/dbusServices/extensions/ui/extension-prefs-dialog.ui:48
|
||||
msgid ""
|
||||
"We’re very sorry, but there’s been a problem: the settings for this "
|
||||
"extension can’t be displayed. We recommend that you report the issue to the "
|
||||
@ -475,111 +434,31 @@ msgstr ""
|
||||
"Ongelma havaittu: tämän laajennuksen asetuksia ei voi näyttää. Suosittelemme "
|
||||
"ilmoittamaan ongelmasta laajennuksen tekijälle."
|
||||
|
||||
#: js/extensionPrefs/main.js:275
|
||||
#: js/dbusServices/extensions/ui/extension-prefs-dialog.ui:82
|
||||
msgid "Technical Details"
|
||||
msgstr "Tekniset tiedot"
|
||||
|
||||
#: js/extensionPrefs/main.js:310
|
||||
msgid "Copy Error"
|
||||
msgstr "Kopiointivirhe"
|
||||
|
||||
#: js/extensionPrefs/main.js:337
|
||||
#: js/dbusServices/extensions/ui/extension-prefs-dialog.ui:165
|
||||
msgid "Homepage"
|
||||
msgstr "Verkkosivu"
|
||||
|
||||
#: js/extensionPrefs/main.js:338
|
||||
#: js/dbusServices/extensions/ui/extension-prefs-dialog.ui:166
|
||||
msgid "Visit extension homepage"
|
||||
msgstr "Käy laajennuksen verkkosivulla"
|
||||
|
||||
#: js/extensionPrefs/main.js:449
|
||||
#, javascript-format
|
||||
msgid "%d extension will be updated on next login."
|
||||
msgid_plural "%d extensions will be updated on next login."
|
||||
msgstr[0] "%d laajennus päivitetään seuraavan kerran, kun kirjaudut sisään."
|
||||
msgstr[1] "%d laajennusta päivitetään seuraavan kerran, kun kirjaudut sisään."
|
||||
|
||||
#: js/extensionPrefs/ui/extension-row.ui:100
|
||||
#: subprojects/extensions-tool/src/command-create.c:211
|
||||
#: subprojects/extensions-tool/src/main.c:173
|
||||
msgid "Description"
|
||||
msgstr "Kuvaus"
|
||||
|
||||
#: js/extensionPrefs/ui/extension-row.ui:123
|
||||
#: subprojects/extensions-tool/src/main.c:185
|
||||
msgid "Version"
|
||||
msgstr "Versio"
|
||||
|
||||
#: js/extensionPrefs/ui/extension-row.ui:151
|
||||
msgid "Author"
|
||||
msgstr "Tekijä"
|
||||
|
||||
#: js/extensionPrefs/ui/extension-row.ui:175
|
||||
msgid "Website"
|
||||
msgstr "Verkkosivusto"
|
||||
|
||||
#: js/extensionPrefs/ui/extension-row.ui:192
|
||||
msgid "Remove…"
|
||||
msgstr "Poista…"
|
||||
|
||||
#: js/extensionPrefs/ui/extensions-window.ui:8
|
||||
msgid "Help"
|
||||
msgstr "Tuki"
|
||||
|
||||
#: js/extensionPrefs/ui/extensions-window.ui:12
|
||||
msgid "About Extensions"
|
||||
msgstr "Tietoja - Laajennukset"
|
||||
|
||||
#: js/extensionPrefs/ui/extensions-window.ui:27
|
||||
msgid ""
|
||||
"To find and add extensions, visit <a href=\"https://extensions.gnome.org"
|
||||
"\">extensions.gnome.org</a>."
|
||||
msgstr ""
|
||||
"Etsi ja asenna laajennuksia osoitteessa <a href=\"https://extensions.gnome."
|
||||
"org\">extensions.gnome.org</a>."
|
||||
|
||||
#: js/extensionPrefs/ui/extensions-window.ui:35
|
||||
msgid "Warning"
|
||||
msgstr "Varoitus"
|
||||
|
||||
#: js/extensionPrefs/ui/extensions-window.ui:46
|
||||
msgid ""
|
||||
"Extensions can cause system issues, including performance problems. If you "
|
||||
"encounter problems with your system, it is recommended to disable all "
|
||||
"extensions."
|
||||
msgstr ""
|
||||
"Laajennukset voivat aiheuttaa ongelmia järjestelmässä, myös suorituskykyyn. "
|
||||
"Jos kohtaat ongelmia järjestelmän kanssa, on suositeltavaa poistaa kaikki "
|
||||
"laajennukset käytöstä."
|
||||
|
||||
#: js/extensionPrefs/ui/extensions-window.ui:133
|
||||
msgid "Manually Installed"
|
||||
msgstr "Manuaalisesti asennettu"
|
||||
|
||||
#: js/extensionPrefs/ui/extensions-window.ui:157
|
||||
msgid "Built-In"
|
||||
msgstr "Sisäänrakennettu"
|
||||
|
||||
#: js/extensionPrefs/ui/extensions-window.ui:198
|
||||
msgid "No Installed Extensions"
|
||||
msgstr "Ei asennettuja laajennuksia"
|
||||
|
||||
#: js/extensionPrefs/ui/extensions-window.ui:234
|
||||
msgid ""
|
||||
"We’re very sorry, but it was not possible to get the list of installed "
|
||||
"extensions. Make sure you are logged into GNOME and try again."
|
||||
msgstr ""
|
||||
"Valitettavasti asennettujen laajennusten listaa ei voitu muodostaa. Varmista "
|
||||
"että olet kirjautunut Gnomeen ja yritä uudelleen."
|
||||
|
||||
#: js/extensionPrefs/ui/extensions-window.ui:287
|
||||
msgid "Log Out…"
|
||||
msgstr "Kirjaudu ulos…"
|
||||
#: js/gdm/authPrompt.js:135 js/ui/audioDeviceSelection.js:57
|
||||
#: js/ui/components/networkAgent.js:109 js/ui/components/polkitAgent.js:139
|
||||
#: js/ui/endSessionDialog.js:374 js/ui/extensionDownloader.js:181
|
||||
#: js/ui/shellMountOperation.js:376 js/ui/shellMountOperation.js:386
|
||||
#: js/ui/status/network.js:913 subprojects/extensions-app/js/main.js:148
|
||||
msgid "Cancel"
|
||||
msgstr "Peru"
|
||||
|
||||
#. Cisco LEAP
|
||||
#: js/gdm/authPrompt.js:236 js/ui/components/networkAgent.js:202
|
||||
#: js/ui/components/networkAgent.js:218 js/ui/components/networkAgent.js:242
|
||||
#: js/ui/components/networkAgent.js:263 js/ui/components/networkAgent.js:283
|
||||
#: js/ui/components/networkAgent.js:293 js/ui/components/polkitAgent.js:277
|
||||
#: js/gdm/authPrompt.js:237 js/ui/components/networkAgent.js:204
|
||||
#: js/ui/components/networkAgent.js:220 js/ui/components/networkAgent.js:244
|
||||
#: js/ui/components/networkAgent.js:265 js/ui/components/networkAgent.js:285
|
||||
#: js/ui/components/networkAgent.js:295 js/ui/components/polkitAgent.js:277
|
||||
#: js/ui/shellMountOperation.js:326
|
||||
msgid "Password"
|
||||
msgstr "Salasana"
|
||||
@ -602,8 +481,8 @@ msgstr "(esim. käyttäjä tai %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:917 js/ui/components/networkAgent.js:238
|
||||
#: js/ui/components/networkAgent.js:261 js/ui/components/networkAgent.js:279
|
||||
#: js/gdm/loginDialog.js:917 js/ui/components/networkAgent.js:240
|
||||
#: js/ui/components/networkAgent.js:263 js/ui/components/networkAgent.js:281
|
||||
msgid "Username"
|
||||
msgstr "Käyttäjätunnus"
|
||||
|
||||
@ -857,44 +736,44 @@ msgstr "Estä pääsy"
|
||||
msgid "Grant Access"
|
||||
msgstr "Salli pääsy"
|
||||
|
||||
#: js/ui/appDisplay.js:906
|
||||
#: js/ui/appDisplay.js:932
|
||||
msgid "Unnamed Folder"
|
||||
msgstr "Nimetön kansio"
|
||||
|
||||
#: js/ui/appDisplay.js:929
|
||||
#: js/ui/appDisplay.js:955
|
||||
msgid "Frequently used applications will appear here"
|
||||
msgstr "Usein käytetyt sovellukset ilmestyvät tänne"
|
||||
|
||||
#: js/ui/appDisplay.js:1064
|
||||
#: js/ui/appDisplay.js:1090
|
||||
msgid "Frequent"
|
||||
msgstr "Käytetyimmät"
|
||||
|
||||
#: js/ui/appDisplay.js:1071
|
||||
#: js/ui/appDisplay.js:1097
|
||||
msgid "All"
|
||||
msgstr "Kaikki"
|
||||
|
||||
#. Translators: This is the heading of a list of open windows
|
||||
#: js/ui/appDisplay.js:2450 js/ui/panel.js:75
|
||||
#: js/ui/appDisplay.js:2473 js/ui/panel.js:75
|
||||
msgid "Open Windows"
|
||||
msgstr "Avoimet ikkunat"
|
||||
|
||||
#: js/ui/appDisplay.js:2470 js/ui/panel.js:82
|
||||
#: js/ui/appDisplay.js:2493 js/ui/panel.js:82
|
||||
msgid "New Window"
|
||||
msgstr "Uusi ikkuna"
|
||||
|
||||
#: js/ui/appDisplay.js:2481
|
||||
#: js/ui/appDisplay.js:2504
|
||||
msgid "Launch using Dedicated Graphics Card"
|
||||
msgstr "Käynnistä erillisnäytönohjainta käyttäen"
|
||||
|
||||
#: js/ui/appDisplay.js:2509 js/ui/dash.js:239
|
||||
#: js/ui/appDisplay.js:2532 js/ui/dash.js:239
|
||||
msgid "Remove from Favorites"
|
||||
msgstr "Poista suosikeista"
|
||||
|
||||
#: js/ui/appDisplay.js:2515
|
||||
#: js/ui/appDisplay.js:2538
|
||||
msgid "Add to Favorites"
|
||||
msgstr "Lisää suosikkeihin"
|
||||
|
||||
#: js/ui/appDisplay.js:2525 js/ui/panel.js:93
|
||||
#: js/ui/appDisplay.js:2548 js/ui/panel.js:93
|
||||
msgid "Show Details"
|
||||
msgstr "Näytä tiedot"
|
||||
|
||||
@ -924,7 +803,7 @@ msgstr "Kuulokkeet"
|
||||
msgid "Headset"
|
||||
msgstr "Headset-kuulokkeet"
|
||||
|
||||
#: js/ui/audioDeviceSelection.js:68 js/ui/status/volume.js:269
|
||||
#: js/ui/audioDeviceSelection.js:68 js/ui/status/volume.js:270
|
||||
msgid "Microphone"
|
||||
msgstr "Mikrofoni"
|
||||
|
||||
@ -1042,30 +921,30 @@ msgid "All Day"
|
||||
msgstr "Koko päivä"
|
||||
|
||||
#. Translators: Shown on calendar heading when selected day occurs on current year
|
||||
#: js/ui/calendar.js:867
|
||||
#: js/ui/calendar.js:868
|
||||
msgctxt "calendar heading"
|
||||
msgid "%A, %B %-d"
|
||||
msgstr "%A, %-d. %Bta"
|
||||
|
||||
#. Translators: Shown on calendar heading when selected day occurs on different year
|
||||
#: js/ui/calendar.js:870
|
||||
#: js/ui/calendar.js:871
|
||||
msgctxt "calendar heading"
|
||||
msgid "%A, %B %-d, %Y"
|
||||
msgstr "%A, %-d. %Bta %Y"
|
||||
|
||||
#: js/ui/calendar.js:1096
|
||||
#: js/ui/calendar.js:1100
|
||||
msgid "No Notifications"
|
||||
msgstr "Ei ilmoituksia"
|
||||
|
||||
#: js/ui/calendar.js:1099
|
||||
#: js/ui/calendar.js:1103
|
||||
msgid "No Events"
|
||||
msgstr "Ei tapahtumia"
|
||||
|
||||
#: js/ui/calendar.js:1153
|
||||
#: js/ui/calendar.js:1157
|
||||
msgid "Do Not Disturb"
|
||||
msgstr "Älä häiritse"
|
||||
|
||||
#: js/ui/calendar.js:1167
|
||||
#: js/ui/calendar.js:1176
|
||||
msgid "Clear"
|
||||
msgstr "Tyhjennä"
|
||||
|
||||
@ -1112,81 +991,81 @@ msgstr "Asennettu udisks-versio ei tue PIM-asetusta"
|
||||
msgid "Open with %s"
|
||||
msgstr "Avaa käyttäen sovellusta %s"
|
||||
|
||||
#: js/ui/components/networkAgent.js:89
|
||||
#: js/ui/components/networkAgent.js:91
|
||||
msgid ""
|
||||
"Alternatively you can connect by pushing the “WPS” button on your router."
|
||||
msgstr ""
|
||||
"Vaihtoehtoisesti voit yhdistää painamalla reitittimesi “WPS”-painiketta."
|
||||
|
||||
#: js/ui/components/networkAgent.js:101 js/ui/status/network.js:223
|
||||
#: js/ui/components/networkAgent.js:103 js/ui/status/network.js:223
|
||||
#: js/ui/status/network.js:314 js/ui/status/network.js:916
|
||||
msgid "Connect"
|
||||
msgstr "Yhdistä"
|
||||
|
||||
#: js/ui/components/networkAgent.js:208
|
||||
#: js/ui/components/networkAgent.js:210
|
||||
msgid "Key"
|
||||
msgstr "Avain"
|
||||
|
||||
#: js/ui/components/networkAgent.js:246 js/ui/components/networkAgent.js:269
|
||||
#: js/ui/components/networkAgent.js:248 js/ui/components/networkAgent.js:271
|
||||
msgid "Private key password"
|
||||
msgstr "Yksityisen avaimen salasana"
|
||||
|
||||
#: js/ui/components/networkAgent.js:267
|
||||
#: js/ui/components/networkAgent.js:269
|
||||
msgid "Identity"
|
||||
msgstr "Identiteetti"
|
||||
|
||||
#: js/ui/components/networkAgent.js:281
|
||||
#: js/ui/components/networkAgent.js:283
|
||||
msgid "Service"
|
||||
msgstr "Palvelu"
|
||||
|
||||
#: js/ui/components/networkAgent.js:310 js/ui/components/networkAgent.js:338
|
||||
#: js/ui/components/networkAgent.js:685 js/ui/components/networkAgent.js:706
|
||||
#: js/ui/components/networkAgent.js:312 js/ui/components/networkAgent.js:340
|
||||
#: js/ui/components/networkAgent.js:679 js/ui/components/networkAgent.js:700
|
||||
msgid "Authentication required"
|
||||
msgstr "Tunnistautuminen vaaditaan"
|
||||
|
||||
#: js/ui/components/networkAgent.js:311 js/ui/components/networkAgent.js:686
|
||||
#: js/ui/components/networkAgent.js:313 js/ui/components/networkAgent.js:680
|
||||
#, javascript-format
|
||||
msgid ""
|
||||
"Passwords or encryption keys are required to access the wireless network "
|
||||
"“%s”."
|
||||
msgstr "Langaton verkko \"%s\" vaatii salasanan tai salausavaimia."
|
||||
|
||||
#: js/ui/components/networkAgent.js:315 js/ui/components/networkAgent.js:690
|
||||
#: js/ui/components/networkAgent.js:317 js/ui/components/networkAgent.js:684
|
||||
msgid "Wired 802.1X authentication"
|
||||
msgstr "Kiinteän 802.1X-yhteyden tunnistautuminen"
|
||||
|
||||
#: js/ui/components/networkAgent.js:317
|
||||
#: js/ui/components/networkAgent.js:319
|
||||
msgid "Network name"
|
||||
msgstr "Verkon nimi"
|
||||
|
||||
#: js/ui/components/networkAgent.js:322 js/ui/components/networkAgent.js:694
|
||||
#: js/ui/components/networkAgent.js:324 js/ui/components/networkAgent.js:688
|
||||
msgid "DSL authentication"
|
||||
msgstr "DSL-tunnistautuminen"
|
||||
|
||||
#: js/ui/components/networkAgent.js:329 js/ui/components/networkAgent.js:699
|
||||
#: js/ui/components/networkAgent.js:331 js/ui/components/networkAgent.js:693
|
||||
msgid "PIN code required"
|
||||
msgstr "PIN-koodi vaaditaan"
|
||||
|
||||
#: js/ui/components/networkAgent.js:330 js/ui/components/networkAgent.js:700
|
||||
#: js/ui/components/networkAgent.js:332 js/ui/components/networkAgent.js:694
|
||||
msgid "PIN code is needed for the mobile broadband device"
|
||||
msgstr "Mobiililaajakaista vaatii PIN-koodin"
|
||||
|
||||
#: js/ui/components/networkAgent.js:331
|
||||
#: js/ui/components/networkAgent.js:333
|
||||
msgid "PIN"
|
||||
msgstr "PIN"
|
||||
|
||||
#: js/ui/components/networkAgent.js:339 js/ui/components/networkAgent.js:691
|
||||
#: js/ui/components/networkAgent.js:695 js/ui/components/networkAgent.js:707
|
||||
#: js/ui/components/networkAgent.js:711
|
||||
#: js/ui/components/networkAgent.js:341 js/ui/components/networkAgent.js:685
|
||||
#: js/ui/components/networkAgent.js:689 js/ui/components/networkAgent.js:701
|
||||
#: js/ui/components/networkAgent.js:705
|
||||
#, javascript-format
|
||||
msgid "A password is required to connect to “%s”."
|
||||
msgstr "Salasana vaaditaan kohteeseen \"%s\" yhdistämiseksi."
|
||||
|
||||
#: js/ui/components/networkAgent.js:674 js/ui/status/network.js:1691
|
||||
#: js/ui/components/networkAgent.js:668 js/ui/status/network.js:1691
|
||||
msgid "Network Manager"
|
||||
msgstr "Verkon hallinta"
|
||||
|
||||
#: js/ui/components/networkAgent.js:710
|
||||
#: js/ui/components/networkAgent.js:704
|
||||
msgid "VPN password"
|
||||
msgstr "VPN-salasana"
|
||||
|
||||
@ -1212,7 +1091,7 @@ msgstr "Kirjautuminen epäonnistui. Yritä uudelleen."
|
||||
|
||||
#. Translators: this is the other person changing their old IM name to their new
|
||||
#. IM name.
|
||||
#: js/ui/components/telepathyClient.js:787
|
||||
#: js/ui/components/telepathyClient.js:823
|
||||
#, javascript-format
|
||||
msgid "%s is now known as %s"
|
||||
msgstr "%s on nyt nimeltään %s"
|
||||
@ -1256,94 +1135,94 @@ msgstr "Lisää maailmankelloja…"
|
||||
msgid "World Clocks"
|
||||
msgstr "Maailmankellot"
|
||||
|
||||
#: js/ui/dateMenu.js:276
|
||||
#: js/ui/dateMenu.js:289
|
||||
msgid "Weather"
|
||||
msgstr "Sää"
|
||||
|
||||
#: js/ui/dateMenu.js:391
|
||||
#: js/ui/dateMenu.js:418
|
||||
msgid "Select a location…"
|
||||
msgstr "Valitse sijainti…"
|
||||
|
||||
#: js/ui/dateMenu.js:404
|
||||
#: js/ui/dateMenu.js:426
|
||||
msgid "Loading…"
|
||||
msgstr "Ladataan…"
|
||||
|
||||
#: js/ui/dateMenu.js:414
|
||||
#: js/ui/dateMenu.js:436
|
||||
msgid "Go online for weather information"
|
||||
msgstr "Yhdistä verkkoon saadaksesi säätietoja"
|
||||
|
||||
#: js/ui/dateMenu.js:416
|
||||
#: js/ui/dateMenu.js:438
|
||||
msgid "Weather information is currently unavailable"
|
||||
msgstr "Säätiedot eivät ole juuri nyt saatavilla"
|
||||
|
||||
#: js/ui/endSessionDialog.js:37
|
||||
#: js/ui/endSessionDialog.js:39
|
||||
#, javascript-format
|
||||
msgctxt "title"
|
||||
msgid "Log Out %s"
|
||||
msgstr "Kirjaa %s ulos"
|
||||
|
||||
#: js/ui/endSessionDialog.js:38
|
||||
#: js/ui/endSessionDialog.js:40
|
||||
msgctxt "title"
|
||||
msgid "Log Out"
|
||||
msgstr "Kirjaudu ulos"
|
||||
|
||||
#: js/ui/endSessionDialog.js:40
|
||||
#: js/ui/endSessionDialog.js:42
|
||||
#, 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 - kirjaudutaan ulos automaattisesti %d sekunnin kuluttua."
|
||||
msgstr[1] "%s - kirjaudutaan ulos automaattisesti %d sekunnin kuluttua."
|
||||
|
||||
#: js/ui/endSessionDialog.js:45
|
||||
#: js/ui/endSessionDialog.js:47
|
||||
#, 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] "Sinut kirjataan ulos automaattisesti %d sekunnin kuluttua."
|
||||
msgstr[1] "Sinut kirjataan ulos automaattisesti %d sekunnin kuluttua."
|
||||
|
||||
#: js/ui/endSessionDialog.js:51
|
||||
#: js/ui/endSessionDialog.js:53
|
||||
msgctxt "button"
|
||||
msgid "Log Out"
|
||||
msgstr "Kirjaudu ulos"
|
||||
|
||||
#: js/ui/endSessionDialog.js:56
|
||||
#: js/ui/endSessionDialog.js:58
|
||||
msgctxt "title"
|
||||
msgid "Power Off"
|
||||
msgstr "Sammuta"
|
||||
|
||||
#: js/ui/endSessionDialog.js:57
|
||||
#: js/ui/endSessionDialog.js:59
|
||||
msgctxt "title"
|
||||
msgid "Install Updates & Power Off"
|
||||
msgstr "Asenna päivitykset ja sammuta"
|
||||
|
||||
#: js/ui/endSessionDialog.js:59
|
||||
#: js/ui/endSessionDialog.js:61
|
||||
#, 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] "Järjestelmä sammuu automaattisesti %d sekunnin kuluttua."
|
||||
msgstr[1] "Järjestelmä sammuu automaattisesti %d sekunnin kuluttua."
|
||||
|
||||
#: js/ui/endSessionDialog.js:63
|
||||
#: js/ui/endSessionDialog.js:65
|
||||
msgctxt "checkbox"
|
||||
msgid "Install pending software updates"
|
||||
msgstr "Asenna odottavat ohjelmistopäivitykset"
|
||||
|
||||
#: js/ui/endSessionDialog.js:66 js/ui/endSessionDialog.js:82
|
||||
#: js/ui/endSessionDialog.js:68 js/ui/endSessionDialog.js:84
|
||||
msgctxt "button"
|
||||
msgid "Restart"
|
||||
msgstr "Käynnistä uudelleen"
|
||||
|
||||
#: js/ui/endSessionDialog.js:68
|
||||
#: js/ui/endSessionDialog.js:70
|
||||
msgctxt "button"
|
||||
msgid "Power Off"
|
||||
msgstr "Sammuta"
|
||||
|
||||
#: js/ui/endSessionDialog.js:74
|
||||
#: js/ui/endSessionDialog.js:76
|
||||
msgctxt "title"
|
||||
msgid "Restart"
|
||||
msgstr "Käynnistä uudelleen"
|
||||
|
||||
#: js/ui/endSessionDialog.js:76
|
||||
#: js/ui/endSessionDialog.js:78
|
||||
#, javascript-format
|
||||
msgid "The system will restart automatically in %d second."
|
||||
msgid_plural "The system will restart automatically in %d seconds."
|
||||
@ -1352,12 +1231,12 @@ msgstr[0] ""
|
||||
msgstr[1] ""
|
||||
"Järjestelmä käynnistyy automaattisesti uudelleen %d sekunnin kuluttua."
|
||||
|
||||
#: js/ui/endSessionDialog.js:89
|
||||
#: js/ui/endSessionDialog.js:91
|
||||
msgctxt "title"
|
||||
msgid "Restart & Install Updates"
|
||||
msgstr "Käynnistä uudelleen ja asenna päivitykset"
|
||||
|
||||
#: js/ui/endSessionDialog.js:91
|
||||
#: js/ui/endSessionDialog.js:93
|
||||
#, javascript-format
|
||||
msgid "The system will automatically restart and install updates in %d second."
|
||||
msgid_plural ""
|
||||
@ -1369,22 +1248,22 @@ msgstr[1] ""
|
||||
"Järjestelmä käynnistyy automaattisesti uudelleen ja asentaa päivitykset %d "
|
||||
"sekunnin kuluttua."
|
||||
|
||||
#: js/ui/endSessionDialog.js:97 js/ui/endSessionDialog.js:116
|
||||
#: js/ui/endSessionDialog.js:99 js/ui/endSessionDialog.js:118
|
||||
msgctxt "button"
|
||||
msgid "Restart & Install"
|
||||
msgstr "Käynnistä uudelleen ja asenna"
|
||||
|
||||
#: js/ui/endSessionDialog.js:98
|
||||
#: js/ui/endSessionDialog.js:100
|
||||
msgctxt "button"
|
||||
msgid "Install & Power Off"
|
||||
msgstr "Asenna ja sammuta"
|
||||
|
||||
#: js/ui/endSessionDialog.js:99
|
||||
#: js/ui/endSessionDialog.js:101
|
||||
msgctxt "checkbox"
|
||||
msgid "Power off after updates are installed"
|
||||
msgstr "Sammuta päivitysten asennuksen jälkeen"
|
||||
|
||||
#: js/ui/endSessionDialog.js:106
|
||||
#: js/ui/endSessionDialog.js:108
|
||||
msgctxt "title"
|
||||
msgid "Restart & Install Upgrade"
|
||||
msgstr "Käynnistä uudelleen ja asenna päivitys"
|
||||
@ -1392,7 +1271,7 @@ msgstr "Käynnistä uudelleen ja asenna päivitys"
|
||||
#. 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:113
|
||||
#, javascript-format
|
||||
msgid ""
|
||||
"%s %s will be installed after restart. Upgrade installation can take a long "
|
||||
@ -1402,16 +1281,16 @@ msgstr ""
|
||||
"voi kestää kauan: varmista varmuuskopioidesi ajantasaisuus ja toimivuus. "
|
||||
"Kiinnitä kone myös verkkovirtaan."
|
||||
|
||||
#: js/ui/endSessionDialog.js:259
|
||||
#: js/ui/endSessionDialog.js:261
|
||||
msgid "Running on battery power: Please plug in before installing updates."
|
||||
msgstr ""
|
||||
"Laite käy akkuvirralla: kiinnitä verkkovirtaan ennen päivitysten asennusta."
|
||||
|
||||
#: js/ui/endSessionDialog.js:268
|
||||
#: js/ui/endSessionDialog.js:270
|
||||
msgid "Some applications are busy or have unsaved work"
|
||||
msgstr "Jotkin sovellukset ovat kiireisiä tai sisältävät tallentamatonta työtä"
|
||||
|
||||
#: js/ui/endSessionDialog.js:273
|
||||
#: js/ui/endSessionDialog.js:275
|
||||
msgid "Other users are logged in"
|
||||
msgstr "Muita käyttäjiä on kirjautuneena"
|
||||
|
||||
@ -1427,24 +1306,24 @@ msgstr "%s (etä)"
|
||||
msgid "%s (console)"
|
||||
msgstr "%s (konsoli)"
|
||||
|
||||
#: js/ui/extensionDownloader.js:169
|
||||
#: js/ui/extensionDownloader.js:185
|
||||
msgid "Install"
|
||||
msgstr "Asenna"
|
||||
|
||||
#: js/ui/extensionDownloader.js:175
|
||||
#: js/ui/extensionDownloader.js:191
|
||||
msgid "Install Extension"
|
||||
msgstr "Asenna laajennus"
|
||||
|
||||
#: js/ui/extensionDownloader.js:176
|
||||
#: js/ui/extensionDownloader.js:192
|
||||
#, javascript-format
|
||||
msgid "Download and install “%s” from extensions.gnome.org?"
|
||||
msgstr "Ladataanko ja asennetaanko ”%s” sivustolta extensions.gnome.org?"
|
||||
|
||||
#: js/ui/extensionSystem.js:228
|
||||
#: js/ui/extensionSystem.js:233
|
||||
msgid "Extension Updates Available"
|
||||
msgstr "Laajennusten päivityksiä saatavilla"
|
||||
|
||||
#: js/ui/extensionSystem.js:229
|
||||
#: js/ui/extensionSystem.js:234
|
||||
msgid "Extension updates are ready to be installed."
|
||||
msgstr "Laajennusten päivitykset ovat valmiina asennettavaksi."
|
||||
|
||||
@ -1593,11 +1472,11 @@ msgstr "Näytä lähde"
|
||||
msgid "Web Page"
|
||||
msgstr "Verkkosivusto"
|
||||
|
||||
#: js/ui/main.js:269
|
||||
#: js/ui/main.js:277
|
||||
msgid "Logged in as a privileged user"
|
||||
msgstr "Kirjautuneena etuoikeutettuna käyttäjänä"
|
||||
|
||||
#: js/ui/main.js:270
|
||||
#: js/ui/main.js:278
|
||||
msgid ""
|
||||
"Running a session as a privileged user should be avoided for security "
|
||||
"reasons. If possible, you should log in as a normal user."
|
||||
@ -1605,15 +1484,15 @@ msgstr ""
|
||||
"Istunnon suorittamista etuoikeutettuna käyttäjänä tulisi välttää "
|
||||
"tietoturvasyistä. Jos mahdollista, kirjaudu tavallisena käyttäjänä."
|
||||
|
||||
#: js/ui/main.js:276
|
||||
#: js/ui/main.js:317
|
||||
msgid "Screen Lock disabled"
|
||||
msgstr "Näytön lukitus pois käytöstä"
|
||||
|
||||
#: js/ui/main.js:277
|
||||
#: js/ui/main.js:318
|
||||
msgid "Screen Locking requires the GNOME display manager."
|
||||
msgstr "Näytön lukitus vaatii Gnomen kirjautumishallinnan."
|
||||
|
||||
#: js/ui/messageTray.js:1554
|
||||
#: js/ui/messageTray.js:1551
|
||||
msgid "System Information"
|
||||
msgstr "Järjestelmän tiedot"
|
||||
|
||||
@ -1699,12 +1578,12 @@ msgstr "Lopeta"
|
||||
msgid "Activities"
|
||||
msgstr "Toiminnot"
|
||||
|
||||
#: js/ui/panel.js:707
|
||||
#: js/ui/panel.js:713
|
||||
msgctxt "System menu in the top bar"
|
||||
msgid "System"
|
||||
msgstr "Järjestelmä"
|
||||
|
||||
#: js/ui/panel.js:820
|
||||
#: js/ui/panel.js:826
|
||||
msgid "Top Bar"
|
||||
msgstr "Yläpalkki"
|
||||
|
||||
@ -1820,13 +1699,13 @@ msgid "The PIM must be a number or empty."
|
||||
msgstr "PIM tulee olla numeerinen tai tyhjä."
|
||||
|
||||
#. Translators: %s is the Disks application
|
||||
#: js/ui/shellMountOperation.js:469
|
||||
#: js/ui/shellMountOperation.js:465
|
||||
#, javascript-format
|
||||
msgid "Unable to start %s"
|
||||
msgstr "Sovelluksen %s käynnistäminen ei onnistunut"
|
||||
|
||||
#. Translators: %s is the Disks application
|
||||
#: js/ui/shellMountOperation.js:471
|
||||
#: js/ui/shellMountOperation.js:467
|
||||
#, javascript-format
|
||||
msgid "Couldn’t find the %s application"
|
||||
msgstr "Sovellusta %s ei löytynyt"
|
||||
@ -2300,11 +2179,11 @@ msgstr "Thunderbolt-valtuutusvirhe"
|
||||
msgid "Could not authorize the Thunderbolt device: %s"
|
||||
msgstr "Thunderbolt-laitetta ei voitu valtuuttaa: %s"
|
||||
|
||||
#: js/ui/status/volume.js:150
|
||||
#: js/ui/status/volume.js:151
|
||||
msgid "Volume changed"
|
||||
msgstr "Äänenvoimakkuutta muutettu"
|
||||
|
||||
#: js/ui/status/volume.js:221
|
||||
#: js/ui/status/volume.js:222
|
||||
msgid "Volume"
|
||||
msgstr "Äänenvoimakkuus"
|
||||
|
||||
@ -2338,25 +2217,26 @@ msgstr "Vain sisäinen"
|
||||
|
||||
#. Translators: This is a time format for a date in
|
||||
#. long format
|
||||
#: js/ui/unlockDialog.js:372
|
||||
#, fuzzy
|
||||
#| msgctxt "calendar heading"
|
||||
#| msgid "%A, %B %-d"
|
||||
#: js/ui/unlockDialog.js:371
|
||||
msgid "%A %B %-d"
|
||||
msgstr "%A, %-d. %Bta"
|
||||
msgstr "%A, %-e. %Bta"
|
||||
|
||||
#: js/ui/unlockDialog.js:378
|
||||
#: js/ui/unlockDialog.js:377
|
||||
msgid "Swipe up to unlock"
|
||||
msgstr "Vedä ylös avataksesi lukituksen"
|
||||
|
||||
#: js/ui/unlockDialog.js:379
|
||||
#: js/ui/unlockDialog.js:378
|
||||
msgid "Click or press a key to unlock"
|
||||
msgstr "Napsauta tai paina näppäintä avataksesi lukituksen"
|
||||
|
||||
#: js/ui/unlockDialog.js:552
|
||||
#: js/ui/unlockDialog.js:550
|
||||
msgid "Unlock Window"
|
||||
msgstr "Lukituksen avausikkuna"
|
||||
|
||||
#: js/ui/unlockDialog.js:559
|
||||
msgid "Log in as another user"
|
||||
msgstr "Kirjaudu toisena käyttäjänä"
|
||||
|
||||
#: js/ui/viewSelector.js:181
|
||||
msgid "Applications"
|
||||
msgstr "Sovellukset"
|
||||
@ -2472,19 +2352,19 @@ msgstr "Sulje"
|
||||
msgid "Evolution Calendar"
|
||||
msgstr "Evolution-kalenteri"
|
||||
|
||||
#: src/main.c:460 subprojects/extensions-tool/src/main.c:249
|
||||
#: src/main.c:458 subprojects/extensions-tool/src/main.c:249
|
||||
msgid "Print version"
|
||||
msgstr "Tulosta versio"
|
||||
|
||||
#: src/main.c:466
|
||||
#: src/main.c:464
|
||||
msgid "Mode used by GDM for login screen"
|
||||
msgstr "GDM:n kirjautumisruudussa käyttämä tila"
|
||||
|
||||
#: src/main.c:472
|
||||
#: src/main.c:470
|
||||
msgid "Use a specific mode, e.g. “gdm” for login screen"
|
||||
msgstr "Käytä tiettyä tilaa (esim. “gdm”) kirjautumisnäkymää varten"
|
||||
|
||||
#: src/main.c:478
|
||||
#: src/main.c:476
|
||||
msgid "List possible modes"
|
||||
msgstr "Listaa mahdolliset tilat"
|
||||
|
||||
@ -2510,6 +2390,133 @@ msgstr "Salasana ei voi olla tyhjä"
|
||||
msgid "Authentication dialog was dismissed by the user"
|
||||
msgstr "Käyttäjä poistui tunnistautumisvalintaikkunasta"
|
||||
|
||||
#: subprojects/extensions-app/data/metainfo/org.gnome.Extensions.metainfo.xml.in:5
|
||||
#: subprojects/extensions-app/data/org.gnome.Extensions.desktop.in.in:4
|
||||
#: subprojects/extensions-app/js/main.js:182
|
||||
#: subprojects/extensions-app/data/ui/extensions-window.ui:61
|
||||
msgid "Extensions"
|
||||
msgstr "Laajennukset"
|
||||
|
||||
#: subprojects/extensions-app/data/metainfo/org.gnome.Extensions.metainfo.xml.in:6
|
||||
#: subprojects/extensions-app/js/main.js:183
|
||||
msgid "Manage your GNOME Extensions"
|
||||
msgstr "Hallitse Gnome-laajennuksia"
|
||||
|
||||
#: subprojects/extensions-app/data/metainfo/org.gnome.Extensions.metainfo.xml.in:35
|
||||
msgid ""
|
||||
"GNOME Extensions handles updating extensions, configuring extension "
|
||||
"preferences and removing or disabling unwanted extensions."
|
||||
msgstr ""
|
||||
|
||||
#: subprojects/extensions-app/data/org.gnome.Extensions.desktop.in.in:7
|
||||
msgid "Configure GNOME Shell Extensions"
|
||||
msgstr "Hallitse Gnome Shell -laajennuksia"
|
||||
|
||||
#: subprojects/extensions-app/js/main.js:144
|
||||
#, javascript-format
|
||||
msgid "Remove “%s”?"
|
||||
msgstr "Poista “%s”?"
|
||||
|
||||
#: subprojects/extensions-app/js/main.js:145
|
||||
msgid ""
|
||||
"If you remove the extension, you need to return to download it if you want "
|
||||
"to enable it again"
|
||||
msgstr ""
|
||||
"Ota huomioon jos poistat laajennuksen; sinun tulee palata ja ladata se "
|
||||
"uudelleen, jos haluat sen uudelleen käyttöön"
|
||||
|
||||
#: subprojects/extensions-app/js/main.js:149
|
||||
msgid "Remove"
|
||||
msgstr "Poista"
|
||||
|
||||
#: subprojects/extensions-app/js/main.js:181
|
||||
msgid "translator-credits"
|
||||
msgstr "Jiri Grönroos"
|
||||
|
||||
#: subprojects/extensions-app/js/main.js:316
|
||||
#, javascript-format
|
||||
msgid "%d extension will be updated on next login."
|
||||
msgid_plural "%d extensions will be updated on next login."
|
||||
msgstr[0] "%d laajennus päivitetään seuraavan kerran, kun kirjaudut sisään."
|
||||
msgstr[1] "%d laajennusta päivitetään seuraavan kerran, kun kirjaudut sisään."
|
||||
|
||||
#: subprojects/extensions-app/data/ui/extension-row.ui:100
|
||||
#: subprojects/extensions-tool/src/command-create.c:211
|
||||
#: subprojects/extensions-tool/src/main.c:173
|
||||
msgid "Description"
|
||||
msgstr "Kuvaus"
|
||||
|
||||
#: subprojects/extensions-app/data/ui/extension-row.ui:123
|
||||
#: subprojects/extensions-tool/src/main.c:185
|
||||
msgid "Version"
|
||||
msgstr "Versio"
|
||||
|
||||
#: subprojects/extensions-app/data/ui/extension-row.ui:151
|
||||
msgid "Author"
|
||||
msgstr "Tekijä"
|
||||
|
||||
#: subprojects/extensions-app/data/ui/extension-row.ui:175
|
||||
msgid "Website"
|
||||
msgstr "Verkkosivusto"
|
||||
|
||||
#: subprojects/extensions-app/data/ui/extension-row.ui:192
|
||||
msgid "Remove…"
|
||||
msgstr "Poista…"
|
||||
|
||||
#: subprojects/extensions-app/data/ui/extensions-window.ui:8
|
||||
msgid "Help"
|
||||
msgstr "Tuki"
|
||||
|
||||
#: subprojects/extensions-app/data/ui/extensions-window.ui:12
|
||||
msgid "About Extensions"
|
||||
msgstr "Tietoja - Laajennukset"
|
||||
|
||||
#: subprojects/extensions-app/data/ui/extensions-window.ui:27
|
||||
msgid ""
|
||||
"To find and add extensions, visit <a href=\"https://extensions.gnome.org"
|
||||
"\">extensions.gnome.org</a>."
|
||||
msgstr ""
|
||||
"Etsi ja asenna laajennuksia osoitteessa <a href=\"https://extensions.gnome."
|
||||
"org\">extensions.gnome.org</a>."
|
||||
|
||||
#: subprojects/extensions-app/data/ui/extensions-window.ui:35
|
||||
msgid "Warning"
|
||||
msgstr "Varoitus"
|
||||
|
||||
#: subprojects/extensions-app/data/ui/extensions-window.ui:46
|
||||
msgid ""
|
||||
"Extensions can cause system issues, including performance problems. If you "
|
||||
"encounter problems with your system, it is recommended to disable all "
|
||||
"extensions."
|
||||
msgstr ""
|
||||
"Laajennukset voivat aiheuttaa ongelmia järjestelmässä, myös suorituskykyyn. "
|
||||
"Jos kohtaat ongelmia järjestelmän kanssa, on suositeltavaa poistaa kaikki "
|
||||
"laajennukset käytöstä."
|
||||
|
||||
#: subprojects/extensions-app/data/ui/extensions-window.ui:134
|
||||
msgid "Manually Installed"
|
||||
msgstr "Manuaalisesti asennettu"
|
||||
|
||||
#: subprojects/extensions-app/data/ui/extensions-window.ui:158
|
||||
msgid "Built-In"
|
||||
msgstr "Sisäänrakennettu"
|
||||
|
||||
#: subprojects/extensions-app/data/ui/extensions-window.ui:199
|
||||
msgid "No Installed Extensions"
|
||||
msgstr "Ei asennettuja laajennuksia"
|
||||
|
||||
#: subprojects/extensions-app/data/ui/extensions-window.ui:235
|
||||
msgid ""
|
||||
"We’re very sorry, but it was not possible to get the list of installed "
|
||||
"extensions. Make sure you are logged into GNOME and try again."
|
||||
msgstr ""
|
||||
"Valitettavasti asennettujen laajennusten listaa ei voitu muodostaa. Varmista "
|
||||
"että olet kirjautunut Gnomeen ja yritä uudelleen."
|
||||
|
||||
#: subprojects/extensions-app/data/ui/extensions-window.ui:288
|
||||
msgid "Log Out…"
|
||||
msgstr "Kirjaudu ulos…"
|
||||
|
||||
#. Translators: a file path to an extension directory
|
||||
#: subprojects/extensions-tool/src/command-create.c:125
|
||||
#, c-format
|
||||
@ -2847,6 +2854,9 @@ msgstr[1] "%u sisääntuloa"
|
||||
msgid "System Sounds"
|
||||
msgstr "Järjestelmän äänet"
|
||||
|
||||
#~ msgid "Copy Error"
|
||||
#~ msgstr "Kopiointivirhe"
|
||||
|
||||
#~ msgid "Username…"
|
||||
#~ msgstr "Käyttäjänimi…"
|
||||
|
||||
@ -2876,9 +2886,6 @@ msgstr "Järjestelmän äänet"
|
||||
#~ msgstr[0] "%d uusi ilmoitus"
|
||||
#~ msgstr[1] "%d uutta ilmoitusta"
|
||||
|
||||
#~ msgid "Log in as another user"
|
||||
#~ msgstr "Kirjaudu toisena käyttäjänä"
|
||||
|
||||
#~ msgid "Browse in Software"
|
||||
#~ msgstr "Selaa ohjelmistokeskuksessa"
|
||||
|
||||
|
442
po/sr.po
442
po/sr.po
@ -5,25 +5,26 @@
|
||||
# Translators:
|
||||
# Милош Поповић <gpopac@gmail.com>, 2010—2011.
|
||||
# Мирослав Николић <miroslavnikolic@rocketmail.com>, 2011—2017.
|
||||
# Марко М. Костић <marko.m.kostic@gmail.com>, 2016.
|
||||
# Борисав Живановић <borisavzivanovic@gmail.com>, 2017—2018.
|
||||
# Марко М. Костић <marko.m.kostic@gmail.com>, 2016-2020.
|
||||
#
|
||||
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-03-19 14:34+0000\n"
|
||||
"PO-Revision-Date: 2020-03-21 15:30+0100\n"
|
||||
"POT-Creation-Date: 2020-03-31 07:15+0000\n"
|
||||
"PO-Revision-Date: 2020-04-02 21:42+0200\n"
|
||||
"Last-Translator: Марко М. Костић <marko.m.kostic@gmail.com>\n"
|
||||
"Language-Team: српски <gnome-sr@googlegroups.org>\n"
|
||||
"Language-Team: Serbian <gnome-sr@googlegroups.org>\n"
|
||||
"Language: sr\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Plural-Forms: nplurals=4; plural=n==1? 3 : n%10==1 && n%100!=11 ? 0 : n"
|
||||
"%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n"
|
||||
"%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2\n"
|
||||
"X-Project-Style: gnome\n"
|
||||
"X-Poedit-Bookmarks: -1,167,-1,-1,-1,-1,-1,-1,-1,-1\n"
|
||||
"X-Generator: Poedit 2.3\n"
|
||||
"X-Generator: Gtranslator 3.36.0\n"
|
||||
|
||||
#: data/50-gnome-shell-system.xml:6
|
||||
msgid "System"
|
||||
@ -67,7 +68,7 @@ msgid ""
|
||||
"dialog."
|
||||
msgstr ""
|
||||
"Дозвољава приступ унутрашњем отклањању грешака и алатима за праћење "
|
||||
"коришћењем „Alt-F2“ прозорчета."
|
||||
"коришћењем „Alt-F2“ прозорчета"
|
||||
|
||||
#: data/org.gnome.shell.gschema.xml.in:16
|
||||
msgid "UUIDs of extensions to enable"
|
||||
@ -389,71 +390,12 @@ msgstr "Застој првог плана се мења у режиму миш
|
||||
msgid "Network Login"
|
||||
msgstr "Мрежна пријава"
|
||||
|
||||
#: js/extensionPrefs/data/metainfo/org.gnome.Extensions.metainfo.xml.in:5
|
||||
#: js/extensionPrefs/data/org.gnome.Extensions.desktop.in.in:4
|
||||
#: js/extensionPrefs/js/main.js:242
|
||||
#: js/extensionPrefs/data/ui/extensions-window.ui:61
|
||||
msgid "Extensions"
|
||||
msgstr "Проширења"
|
||||
|
||||
#: js/extensionPrefs/data/metainfo/org.gnome.Extensions.metainfo.xml.in:6
|
||||
#: js/extensionPrefs/js/main.js:243
|
||||
msgid "Manage your GNOME Extensions"
|
||||
msgstr "Подесите проширења Гнома"
|
||||
|
||||
#: js/extensionPrefs/data/metainfo/org.gnome.Extensions.metainfo.xml.in:35
|
||||
msgid ""
|
||||
"GNOME Extensions handles updating extensions, configuring extension "
|
||||
"preferences and removing or disabling unwanted extensions."
|
||||
msgstr ""
|
||||
"Гномова проширења руководе ажурирањем проширења, подешавањем поставки "
|
||||
"проширења и уклањањем или онемогућавањем проширења."
|
||||
|
||||
#: js/extensionPrefs/data/org.gnome.Extensions.desktop.in.in:7
|
||||
msgid "Configure GNOME Shell Extensions"
|
||||
msgstr "Подесите проширења Гномове шкољке"
|
||||
|
||||
#: js/extensionPrefs/js/main.js:164
|
||||
#, javascript-format
|
||||
msgid "Remove “%s”?"
|
||||
msgstr "Уклонити „%s“?"
|
||||
|
||||
#: js/extensionPrefs/js/main.js:165
|
||||
msgid ""
|
||||
"If you remove the extension, you need to return to download it if you want "
|
||||
"to enable it again"
|
||||
msgstr ""
|
||||
"Уколико уклоните проширење, мораћете га поново преузети да бисте га поново "
|
||||
"омогућили"
|
||||
|
||||
#: js/extensionPrefs/js/main.js:168 js/gdm/authPrompt.js:135
|
||||
#: js/ui/audioDeviceSelection.js:57 js/ui/components/networkAgent.js:109
|
||||
#: js/ui/components/polkitAgent.js:139 js/ui/endSessionDialog.js:374
|
||||
#: js/ui/extensionDownloader.js:177 js/ui/shellMountOperation.js:376
|
||||
#: js/ui/shellMountOperation.js:386 js/ui/status/network.js:913
|
||||
msgid "Cancel"
|
||||
msgstr "Откажи"
|
||||
|
||||
#: js/extensionPrefs/js/main.js:169
|
||||
msgid "Remove"
|
||||
msgstr "Уклони"
|
||||
|
||||
#: js/extensionPrefs/js/main.js:241
|
||||
msgid "translator-credits"
|
||||
msgstr ""
|
||||
"Мирослав Николић <miroslavnikolic@rocketmail.com>\n"
|
||||
"Милош Поповић <gpopac@gmail.com>\n"
|
||||
"Борисав Живановић <borisavzivanovic@gmail.com>\n"
|
||||
"Марко М. Костић <marko.m.kostic@gmail.com>\n"
|
||||
"\n"
|
||||
" https://гном.срб/ — превд пројекта Гном на српски језик"
|
||||
|
||||
#: js/extensionPrefs/js/main.js:285
|
||||
#: js/extensionPrefs/data/ui/extensions-window.ui:223
|
||||
#: js/dbusServices/extensions/ui/extension-prefs-dialog.ui:36
|
||||
#: subprojects/extensions-app/data/ui/extensions-window.ui:223
|
||||
msgid "Something’s gone wrong"
|
||||
msgstr "Нешто је пошло наопако"
|
||||
|
||||
#: js/extensionPrefs/js/main.js:292
|
||||
#: js/dbusServices/extensions/ui/extension-prefs-dialog.ui:48
|
||||
msgid ""
|
||||
"We’re very sorry, but there’s been a problem: the settings for this "
|
||||
"extension can’t be displayed. We recommend that you report the issue to the "
|
||||
@ -462,107 +404,25 @@ msgstr ""
|
||||
"Веома нам је жао али се догодио проблем, не можемо приказати подешавања за "
|
||||
"ово проширење. Предлажемо вам да пријавите овај проблем творцима проширења."
|
||||
|
||||
#: js/extensionPrefs/js/main.js:299
|
||||
#: js/dbusServices/extensions/ui/extension-prefs-dialog.ui:82
|
||||
msgid "Technical Details"
|
||||
msgstr "Техничке појединости"
|
||||
|
||||
#: js/extensionPrefs/js/main.js:334
|
||||
msgid "Copy Error"
|
||||
msgstr "Грешка при копирању"
|
||||
|
||||
#: js/extensionPrefs/js/main.js:361
|
||||
#: js/dbusServices/extensions/ui/extension-prefs-dialog.ui:165
|
||||
msgid "Homepage"
|
||||
msgstr "Матична страна"
|
||||
|
||||
#: js/extensionPrefs/js/main.js:362
|
||||
#: js/dbusServices/extensions/ui/extension-prefs-dialog.ui:166
|
||||
msgid "Visit extension homepage"
|
||||
msgstr "Посети матичну страну проширењ"
|
||||
|
||||
#: js/extensionPrefs/js/main.js:479
|
||||
#, javascript-format
|
||||
msgid "%d extension will be updated on next login."
|
||||
msgid_plural "%d extensions will be updated on next login."
|
||||
msgstr[0] "%d проширење биће ажурирано током следећег пријављивања."
|
||||
msgstr[1] "%d проширења биће ажурирана током следећег пријављивања."
|
||||
msgstr[2] "%d проширења биће ажурирана током следећег пријављивања."
|
||||
msgstr[3] "Једно проширење биће ажурирано током следећег пријављивања."
|
||||
|
||||
#: js/extensionPrefs/data/ui/extension-row.ui:100
|
||||
#: subprojects/extensions-tool/src/command-create.c:211
|
||||
#: subprojects/extensions-tool/src/main.c:173
|
||||
msgid "Description"
|
||||
msgstr "Опис"
|
||||
|
||||
#: js/extensionPrefs/data/ui/extension-row.ui:123
|
||||
#: subprojects/extensions-tool/src/main.c:185
|
||||
msgid "Version"
|
||||
msgstr "Издање"
|
||||
|
||||
#: js/extensionPrefs/data/ui/extension-row.ui:151
|
||||
msgid "Author"
|
||||
msgstr "Творац"
|
||||
|
||||
#: js/extensionPrefs/data/ui/extension-row.ui:175
|
||||
msgid "Website"
|
||||
msgstr "Веб страница"
|
||||
|
||||
#: js/extensionPrefs/data/ui/extension-row.ui:192
|
||||
msgid "Remove…"
|
||||
msgstr "Уклони…"
|
||||
|
||||
#: js/extensionPrefs/data/ui/extensions-window.ui:8
|
||||
msgid "Help"
|
||||
msgstr "Помоћ"
|
||||
|
||||
#: js/extensionPrefs/data/ui/extensions-window.ui:12
|
||||
msgid "About Extensions"
|
||||
msgstr "О Проширењима"
|
||||
|
||||
#: js/extensionPrefs/data/ui/extensions-window.ui:27
|
||||
msgid ""
|
||||
"To find and add extensions, visit <a href=\"https://extensions.gnome.org"
|
||||
"\">extensions.gnome.org</a>."
|
||||
msgstr ""
|
||||
"Да бисте пронашли и додали проширења, посетите страницу <a href=\"https://"
|
||||
"extensions.gnome.org\">extensions.gnome.org</a>."
|
||||
|
||||
#: js/extensionPrefs/data/ui/extensions-window.ui:35
|
||||
msgid "Warning"
|
||||
msgstr "Упозорење"
|
||||
|
||||
#: js/extensionPrefs/data/ui/extensions-window.ui:46
|
||||
msgid ""
|
||||
"Extensions can cause system issues, including performance problems. If you "
|
||||
"encounter problems with your system, it is recommended to disable all "
|
||||
"extensions."
|
||||
msgstr ""
|
||||
"Проширења могу утицати на стабилност система, укључујући и на делотворност. "
|
||||
"Уколико приметите проблеме у раду, препоручујемо да онемогућите сва "
|
||||
"проширења."
|
||||
|
||||
#: js/extensionPrefs/data/ui/extensions-window.ui:134
|
||||
msgid "Manually Installed"
|
||||
msgstr "Ручно инсталирана"
|
||||
|
||||
#: js/extensionPrefs/data/ui/extensions-window.ui:158
|
||||
msgid "Built-In"
|
||||
msgstr "Уграђена"
|
||||
|
||||
#: js/extensionPrefs/data/ui/extensions-window.ui:199
|
||||
msgid "No Installed Extensions"
|
||||
msgstr "Неинсталирана проширења"
|
||||
|
||||
#: js/extensionPrefs/data/ui/extensions-window.ui:235
|
||||
msgid ""
|
||||
"We’re very sorry, but it was not possible to get the list of installed "
|
||||
"extensions. Make sure you are logged into GNOME and try again."
|
||||
msgstr ""
|
||||
"Нажалост, није било могуће добавити списак инсталираних проширења. Проверите "
|
||||
"да ли сте пријављени у Гном и пробајте поново."
|
||||
|
||||
#: js/extensionPrefs/data/ui/extensions-window.ui:288
|
||||
msgid "Log Out…"
|
||||
msgstr "Одјава…"
|
||||
#: js/gdm/authPrompt.js:135 js/ui/audioDeviceSelection.js:57
|
||||
#: js/ui/components/networkAgent.js:109 js/ui/components/polkitAgent.js:139
|
||||
#: js/ui/endSessionDialog.js:374 js/ui/extensionDownloader.js:181
|
||||
#: js/ui/shellMountOperation.js:376 js/ui/shellMountOperation.js:386
|
||||
#: js/ui/status/network.js:913 subprojects/extensions-app/js/main.js:148
|
||||
msgid "Cancel"
|
||||
msgstr "Откажи"
|
||||
|
||||
#. Cisco LEAP
|
||||
#: js/gdm/authPrompt.js:237 js/ui/components/networkAgent.js:204
|
||||
@ -866,44 +726,44 @@ msgstr "Забрани приступ"
|
||||
msgid "Grant Access"
|
||||
msgstr "Дозволи приступ"
|
||||
|
||||
#: js/ui/appDisplay.js:898
|
||||
#: js/ui/appDisplay.js:932
|
||||
msgid "Unnamed Folder"
|
||||
msgstr "Неименована фасцикла"
|
||||
|
||||
#: js/ui/appDisplay.js:921
|
||||
#: js/ui/appDisplay.js:955
|
||||
msgid "Frequently used applications will appear here"
|
||||
msgstr "Често коришћени програми ће се појавити овде"
|
||||
|
||||
#: js/ui/appDisplay.js:1056
|
||||
#: js/ui/appDisplay.js:1090
|
||||
msgid "Frequent"
|
||||
msgstr "Често"
|
||||
|
||||
#: js/ui/appDisplay.js:1063
|
||||
#: js/ui/appDisplay.js:1097
|
||||
msgid "All"
|
||||
msgstr "Све"
|
||||
|
||||
#. Translators: This is the heading of a list of open windows
|
||||
#: js/ui/appDisplay.js:2446 js/ui/panel.js:75
|
||||
#: js/ui/appDisplay.js:2473 js/ui/panel.js:75
|
||||
msgid "Open Windows"
|
||||
msgstr "Отвори прозоре"
|
||||
|
||||
#: js/ui/appDisplay.js:2466 js/ui/panel.js:82
|
||||
#: js/ui/appDisplay.js:2493 js/ui/panel.js:82
|
||||
msgid "New Window"
|
||||
msgstr "Нови прозор"
|
||||
|
||||
#: js/ui/appDisplay.js:2477
|
||||
#: js/ui/appDisplay.js:2504
|
||||
msgid "Launch using Dedicated Graphics Card"
|
||||
msgstr "Покрени са намењеном графичком картицом"
|
||||
|
||||
#: js/ui/appDisplay.js:2505 js/ui/dash.js:239
|
||||
#: js/ui/appDisplay.js:2532 js/ui/dash.js:239
|
||||
msgid "Remove from Favorites"
|
||||
msgstr "Уклони из омиљених"
|
||||
|
||||
#: js/ui/appDisplay.js:2511
|
||||
#: js/ui/appDisplay.js:2538
|
||||
msgid "Add to Favorites"
|
||||
msgstr "Додај у омиљене"
|
||||
|
||||
#: js/ui/appDisplay.js:2521 js/ui/panel.js:93
|
||||
#: js/ui/appDisplay.js:2548 js/ui/panel.js:93
|
||||
msgid "Show Details"
|
||||
msgstr "Прикажи детаље"
|
||||
|
||||
@ -933,7 +793,7 @@ msgstr "Слушалице"
|
||||
msgid "Headset"
|
||||
msgstr "Слушалице са микрофоном"
|
||||
|
||||
#: js/ui/audioDeviceSelection.js:68 js/ui/status/volume.js:269
|
||||
#: js/ui/audioDeviceSelection.js:68 js/ui/status/volume.js:270
|
||||
msgid "Microphone"
|
||||
msgstr "Микрофон"
|
||||
|
||||
@ -1074,7 +934,7 @@ msgstr "Без догађаја"
|
||||
msgid "Do Not Disturb"
|
||||
msgstr "Не узнемиравај"
|
||||
|
||||
#: js/ui/calendar.js:1171
|
||||
#: js/ui/calendar.js:1176
|
||||
msgid "Clear"
|
||||
msgstr "Очисти"
|
||||
|
||||
@ -1221,7 +1081,7 @@ msgstr "Погрешили сте! Покушајте поново."
|
||||
|
||||
#. Translators: this is the other person changing their old IM name to their new
|
||||
#. IM name.
|
||||
#: js/ui/components/telepathyClient.js:787
|
||||
#: js/ui/components/telepathyClient.js:823
|
||||
#, javascript-format
|
||||
msgid "%s is now known as %s"
|
||||
msgstr "„%s“ је сада познат као „%s“"
|
||||
@ -1265,38 +1125,38 @@ msgstr "Светски сатови…"
|
||||
msgid "World Clocks"
|
||||
msgstr "Светски сатови"
|
||||
|
||||
#: js/ui/dateMenu.js:279
|
||||
#: js/ui/dateMenu.js:289
|
||||
msgid "Weather"
|
||||
msgstr "Временска прогноза"
|
||||
|
||||
#: js/ui/dateMenu.js:394
|
||||
#: js/ui/dateMenu.js:418
|
||||
msgid "Select a location…"
|
||||
msgstr "Изаберите место…"
|
||||
|
||||
#: js/ui/dateMenu.js:407
|
||||
#: js/ui/dateMenu.js:426
|
||||
msgid "Loading…"
|
||||
msgstr "Учитавам…"
|
||||
|
||||
#: js/ui/dateMenu.js:417
|
||||
#: js/ui/dateMenu.js:436
|
||||
msgid "Go online for weather information"
|
||||
msgstr "Идите на мрежу за податке о временској прогнози."
|
||||
|
||||
#: js/ui/dateMenu.js:419
|
||||
#: js/ui/dateMenu.js:438
|
||||
msgid "Weather information is currently unavailable"
|
||||
msgstr "Подаци о временској прогнози тренутно нису доступни."
|
||||
|
||||
#: js/ui/endSessionDialog.js:37
|
||||
#: js/ui/endSessionDialog.js:39
|
||||
#, javascript-format
|
||||
msgctxt "title"
|
||||
msgid "Log Out %s"
|
||||
msgstr "Одјави корисника „%s“"
|
||||
|
||||
#: js/ui/endSessionDialog.js:38
|
||||
#: js/ui/endSessionDialog.js:40
|
||||
msgctxt "title"
|
||||
msgid "Log Out"
|
||||
msgstr "Одјави ме"
|
||||
|
||||
#: js/ui/endSessionDialog.js:40
|
||||
#: js/ui/endSessionDialog.js:42
|
||||
#, javascript-format
|
||||
msgid "%s will be logged out automatically in %d second."
|
||||
msgid_plural "%s will be logged out automatically in %d seconds."
|
||||
@ -1305,7 +1165,7 @@ msgstr[1] "%s ће бити одјављен за %d секунде."
|
||||
msgstr[2] "%s ће бити одјављен за %d секунди."
|
||||
msgstr[3] "%s ће бити одјављен за %d секунду."
|
||||
|
||||
#: js/ui/endSessionDialog.js:45
|
||||
#: js/ui/endSessionDialog.js:47
|
||||
#, javascript-format
|
||||
msgid "You will be logged out automatically in %d second."
|
||||
msgid_plural "You will be logged out automatically in %d seconds."
|
||||
@ -1314,22 +1174,22 @@ msgstr[1] "Бићете одјављени за %d секунде."
|
||||
msgstr[2] "Бићете одјављени за %d секунди."
|
||||
msgstr[3] "Бићете одјављени за %d секунду."
|
||||
|
||||
#: js/ui/endSessionDialog.js:51
|
||||
#: js/ui/endSessionDialog.js:53
|
||||
msgctxt "button"
|
||||
msgid "Log Out"
|
||||
msgstr "Одјави"
|
||||
|
||||
#: js/ui/endSessionDialog.js:56
|
||||
#: js/ui/endSessionDialog.js:58
|
||||
msgctxt "title"
|
||||
msgid "Power Off"
|
||||
msgstr "Искључи"
|
||||
|
||||
#: js/ui/endSessionDialog.js:57
|
||||
#: js/ui/endSessionDialog.js:59
|
||||
msgctxt "title"
|
||||
msgid "Install Updates & Power Off"
|
||||
msgstr "Инсталирај освежења и искључи"
|
||||
|
||||
#: js/ui/endSessionDialog.js:59
|
||||
#: js/ui/endSessionDialog.js:61
|
||||
#, javascript-format
|
||||
msgid "The system will power off automatically in %d second."
|
||||
msgid_plural "The system will power off automatically in %d seconds."
|
||||
@ -1338,27 +1198,27 @@ msgstr[1] "Рачунар ће се искључити за %d секунде."
|
||||
msgstr[2] "Рачунар ће се искључити за %d секунди."
|
||||
msgstr[3] "Рачунар ће се искључити за %d секунду."
|
||||
|
||||
#: js/ui/endSessionDialog.js:63
|
||||
#: js/ui/endSessionDialog.js:65
|
||||
msgctxt "checkbox"
|
||||
msgid "Install pending software updates"
|
||||
msgstr "Инсталирај освежења софтвера на чекању"
|
||||
|
||||
#: js/ui/endSessionDialog.js:66 js/ui/endSessionDialog.js:82
|
||||
#: js/ui/endSessionDialog.js:68 js/ui/endSessionDialog.js:84
|
||||
msgctxt "button"
|
||||
msgid "Restart"
|
||||
msgstr "Поново покрени"
|
||||
|
||||
#: js/ui/endSessionDialog.js:68
|
||||
#: js/ui/endSessionDialog.js:70
|
||||
msgctxt "button"
|
||||
msgid "Power Off"
|
||||
msgstr "Искључи"
|
||||
|
||||
#: js/ui/endSessionDialog.js:74
|
||||
#: js/ui/endSessionDialog.js:76
|
||||
msgctxt "title"
|
||||
msgid "Restart"
|
||||
msgstr "Поново покрени"
|
||||
|
||||
#: js/ui/endSessionDialog.js:76
|
||||
#: js/ui/endSessionDialog.js:78
|
||||
#, javascript-format
|
||||
msgid "The system will restart automatically in %d second."
|
||||
msgid_plural "The system will restart automatically in %d seconds."
|
||||
@ -1367,12 +1227,12 @@ msgstr[1] "Систем ће се поново покренути за %d сек
|
||||
msgstr[2] "Систем ће се поново покренути за %d секунди."
|
||||
msgstr[3] "Систем ће се поново покренути за %d секунду."
|
||||
|
||||
#: js/ui/endSessionDialog.js:89
|
||||
#: js/ui/endSessionDialog.js:91
|
||||
msgctxt "title"
|
||||
msgid "Restart & Install Updates"
|
||||
msgstr "Поново покрени и инсталирај ажурирања"
|
||||
|
||||
#: js/ui/endSessionDialog.js:91
|
||||
#: js/ui/endSessionDialog.js:93
|
||||
#, javascript-format
|
||||
msgid "The system will automatically restart and install updates in %d second."
|
||||
msgid_plural ""
|
||||
@ -1386,22 +1246,22 @@ msgstr[2] ""
|
||||
msgstr[3] ""
|
||||
"Систем ће се сам поново покренути и инсталирати ажурирања за %d секунду."
|
||||
|
||||
#: js/ui/endSessionDialog.js:97 js/ui/endSessionDialog.js:116
|
||||
#: js/ui/endSessionDialog.js:99 js/ui/endSessionDialog.js:118
|
||||
msgctxt "button"
|
||||
msgid "Restart & Install"
|
||||
msgstr "Поново покрени и инсталирај"
|
||||
|
||||
#: js/ui/endSessionDialog.js:98
|
||||
#: js/ui/endSessionDialog.js:100
|
||||
msgctxt "button"
|
||||
msgid "Install & Power Off"
|
||||
msgstr "Инсталирај и искључи"
|
||||
|
||||
#: js/ui/endSessionDialog.js:99
|
||||
#: js/ui/endSessionDialog.js:101
|
||||
msgctxt "checkbox"
|
||||
msgid "Power off after updates are installed"
|
||||
msgstr "Искључи након инсталирања освежења"
|
||||
|
||||
#: js/ui/endSessionDialog.js:106
|
||||
#: js/ui/endSessionDialog.js:108
|
||||
msgctxt "title"
|
||||
msgid "Restart & Install Upgrade"
|
||||
msgstr "Поново покрени и инсталирај надоградњу"
|
||||
@ -1409,7 +1269,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:111
|
||||
#: js/ui/endSessionDialog.js:113
|
||||
#, javascript-format
|
||||
msgid ""
|
||||
"%s %s will be installed after restart. Upgrade installation can take a long "
|
||||
@ -1419,15 +1279,15 @@ msgstr ""
|
||||
"понекад може да потраје: проверите да ли сте направили резерву ваших важних "
|
||||
"података и да ли је рачунар прикључен на мрежно напајање."
|
||||
|
||||
#: js/ui/endSessionDialog.js:259
|
||||
#: js/ui/endSessionDialog.js:261
|
||||
msgid "Running on battery power: Please plug in before installing updates."
|
||||
msgstr "На батерији сте, прикључите мрежно напајање пре инсталирања ажурирања."
|
||||
|
||||
#: js/ui/endSessionDialog.js:268
|
||||
#: js/ui/endSessionDialog.js:270
|
||||
msgid "Some applications are busy or have unsaved work"
|
||||
msgstr "Неки програми су заузети или имају несачувани рад"
|
||||
|
||||
#: js/ui/endSessionDialog.js:273
|
||||
#: js/ui/endSessionDialog.js:275
|
||||
msgid "Other users are logged in"
|
||||
msgstr "Други корисници су пријављени"
|
||||
|
||||
@ -1443,24 +1303,24 @@ msgstr "%s (удаљено)"
|
||||
msgid "%s (console)"
|
||||
msgstr "%s (љуска)"
|
||||
|
||||
#: js/ui/extensionDownloader.js:181
|
||||
#: js/ui/extensionDownloader.js:185
|
||||
msgid "Install"
|
||||
msgstr "Инсталирај"
|
||||
|
||||
#: js/ui/extensionDownloader.js:187
|
||||
#: js/ui/extensionDownloader.js:191
|
||||
msgid "Install Extension"
|
||||
msgstr "Инсталирај проширење"
|
||||
|
||||
#: js/ui/extensionDownloader.js:188
|
||||
#: js/ui/extensionDownloader.js:192
|
||||
#, javascript-format
|
||||
msgid "Download and install “%s” from extensions.gnome.org?"
|
||||
msgstr "Да преузмем и да инсталирам „%s“ са „extensions.gnome.org“-а?"
|
||||
|
||||
#: js/ui/extensionSystem.js:228
|
||||
#: js/ui/extensionSystem.js:233
|
||||
msgid "Extension Updates Available"
|
||||
msgstr "Доступна су ажурирања проширења"
|
||||
|
||||
#: js/ui/extensionSystem.js:229
|
||||
#: js/ui/extensionSystem.js:234
|
||||
msgid "Extension updates are ready to be installed."
|
||||
msgstr "Ажурирања проширења су доступна за инсталирање."
|
||||
|
||||
@ -1607,11 +1467,11 @@ msgstr "Прикажи код"
|
||||
msgid "Web Page"
|
||||
msgstr "Веб страница"
|
||||
|
||||
#: js/ui/main.js:274
|
||||
#: js/ui/main.js:277
|
||||
msgid "Logged in as a privileged user"
|
||||
msgstr "Пријављен као повлашћен корисник"
|
||||
|
||||
#: js/ui/main.js:275
|
||||
#: js/ui/main.js:278
|
||||
msgid ""
|
||||
"Running a session as a privileged user should be avoided for security "
|
||||
"reasons. If possible, you should log in as a normal user."
|
||||
@ -1619,15 +1479,15 @@ msgstr ""
|
||||
"Покретање сесије под повлашћеним корисничким налогом треба избегавати из "
|
||||
"безбедносних разлога. Ако је то могуће, пријавите се као обичан корисник."
|
||||
|
||||
#: js/ui/main.js:281
|
||||
#: js/ui/main.js:317
|
||||
msgid "Screen Lock disabled"
|
||||
msgstr "Закључавање екрана онемогућено"
|
||||
|
||||
#: js/ui/main.js:282
|
||||
#: js/ui/main.js:318
|
||||
msgid "Screen Locking requires the GNOME display manager."
|
||||
msgstr "Потребан је Гномов управник екрана за могућност закључавања екрана."
|
||||
|
||||
#: js/ui/messageTray.js:1554
|
||||
#: js/ui/messageTray.js:1551
|
||||
msgid "System Information"
|
||||
msgstr "Подаци о систему"
|
||||
|
||||
@ -1836,13 +1696,13 @@ msgid "The PIM must be a number or empty."
|
||||
msgstr "ЛИЧ (PIM) мора бити број или празно."
|
||||
|
||||
#. Translators: %s is the Disks application
|
||||
#: js/ui/shellMountOperation.js:469
|
||||
#: js/ui/shellMountOperation.js:465
|
||||
#, javascript-format
|
||||
msgid "Unable to start %s"
|
||||
msgstr "Не могу да покренем „%s“"
|
||||
|
||||
#. Translators: %s is the Disks application
|
||||
#: js/ui/shellMountOperation.js:471
|
||||
#: js/ui/shellMountOperation.js:467
|
||||
#, javascript-format
|
||||
msgid "Couldn’t find the %s application"
|
||||
msgstr "Нисам могао наћи програм %s"
|
||||
@ -2326,11 +2186,11 @@ msgstr "Грешка у овлашћивању Тандерболта"
|
||||
msgid "Could not authorize the Thunderbolt device: %s"
|
||||
msgstr "Не могу да овластим Тандерболт уређај: %s"
|
||||
|
||||
#: js/ui/status/volume.js:150
|
||||
#: js/ui/status/volume.js:151
|
||||
msgid "Volume changed"
|
||||
msgstr "Промена јачине звука"
|
||||
|
||||
#: js/ui/status/volume.js:221
|
||||
#: js/ui/status/volume.js:222
|
||||
msgid "Volume"
|
||||
msgstr "Јачина звука"
|
||||
|
||||
@ -2364,23 +2224,23 @@ msgstr "Само уграђени"
|
||||
|
||||
#. Translators: This is a time format for a date in
|
||||
#. long format
|
||||
#: js/ui/unlockDialog.js:370
|
||||
#: js/ui/unlockDialog.js:371
|
||||
msgid "%A %B %-d"
|
||||
msgstr "%A, %-d. %B"
|
||||
|
||||
#: js/ui/unlockDialog.js:376
|
||||
#: js/ui/unlockDialog.js:377
|
||||
msgid "Swipe up to unlock"
|
||||
msgstr "Превуци за откључавање"
|
||||
|
||||
#: js/ui/unlockDialog.js:377
|
||||
#: js/ui/unlockDialog.js:378
|
||||
msgid "Click or press a key to unlock"
|
||||
msgstr "Кликни или притисни тастер за откључавање"
|
||||
|
||||
#: js/ui/unlockDialog.js:549
|
||||
#: js/ui/unlockDialog.js:550
|
||||
msgid "Unlock Window"
|
||||
msgstr "Откључај прозор"
|
||||
|
||||
#: js/ui/unlockDialog.js:558
|
||||
#: js/ui/unlockDialog.js:559
|
||||
msgid "Log in as another user"
|
||||
msgstr "Пријавите се као други корисник"
|
||||
|
||||
@ -2539,6 +2399,143 @@ msgstr "Лозинка не може бити празна"
|
||||
msgid "Authentication dialog was dismissed by the user"
|
||||
msgstr "Корисник је одбацио прозорче за потврђивање идентитета"
|
||||
|
||||
#: subprojects/extensions-app/data/metainfo/org.gnome.Extensions.metainfo.xml.in:5
|
||||
#: subprojects/extensions-app/data/org.gnome.Extensions.desktop.in.in:4
|
||||
#: subprojects/extensions-app/js/main.js:182
|
||||
#: subprojects/extensions-app/data/ui/extensions-window.ui:61
|
||||
msgid "Extensions"
|
||||
msgstr "Проширења"
|
||||
|
||||
#: subprojects/extensions-app/data/metainfo/org.gnome.Extensions.metainfo.xml.in:6
|
||||
#: subprojects/extensions-app/js/main.js:183
|
||||
msgid "Manage your GNOME Extensions"
|
||||
msgstr "Подесите проширења Гнома"
|
||||
|
||||
#: subprojects/extensions-app/data/metainfo/org.gnome.Extensions.metainfo.xml.in:35
|
||||
msgid ""
|
||||
"GNOME Extensions handles updating extensions, configuring extension "
|
||||
"preferences and removing or disabling unwanted extensions."
|
||||
msgstr ""
|
||||
"Гномова проширења руководе ажурирањем проширења, подешавањем поставки "
|
||||
"проширења и уклањањем или онемогућавањем проширења."
|
||||
|
||||
#: subprojects/extensions-app/data/org.gnome.Extensions.desktop.in.in:7
|
||||
msgid "Configure GNOME Shell Extensions"
|
||||
msgstr "Подесите проширења Гномове шкољке"
|
||||
|
||||
#: subprojects/extensions-app/js/main.js:144
|
||||
#, javascript-format
|
||||
msgid "Remove “%s”?"
|
||||
msgstr "Уклонити „%s“?"
|
||||
|
||||
#: subprojects/extensions-app/js/main.js:145
|
||||
msgid ""
|
||||
"If you remove the extension, you need to return to download it if you want "
|
||||
"to enable it again"
|
||||
msgstr ""
|
||||
"Уколико уклоните проширење, мораћете га поново преузети да бисте га поново "
|
||||
"омогућили"
|
||||
|
||||
#: subprojects/extensions-app/js/main.js:149
|
||||
msgid "Remove"
|
||||
msgstr "Уклони"
|
||||
|
||||
#: subprojects/extensions-app/js/main.js:181
|
||||
msgid "translator-credits"
|
||||
msgstr ""
|
||||
"Мирослав Николић <miroslavnikolic@rocketmail.com>\n"
|
||||
"Милош Поповић <gpopac@gmail.com>\n"
|
||||
"Борисав Живановић <borisavzivanovic@gmail.com>\n"
|
||||
"Марко М. Костић <marko.m.kostic@gmail.com>\n"
|
||||
"\n"
|
||||
" https://гном.срб/ — превод пројекта Гном на српски језик"
|
||||
|
||||
#: subprojects/extensions-app/js/main.js:316
|
||||
#, javascript-format
|
||||
msgid "%d extension will be updated on next login."
|
||||
msgid_plural "%d extensions will be updated on next login."
|
||||
msgstr[0] "%d проширење биће ажурирано током следећег пријављивања."
|
||||
msgstr[1] "%d проширења биће ажурирана током следећег пријављивања."
|
||||
msgstr[2] "%d проширења биће ажурирана током следећег пријављивања."
|
||||
msgstr[3] "Једно проширење биће ажурирано током следећег пријављивања."
|
||||
|
||||
#: subprojects/extensions-app/data/ui/extension-row.ui:100
|
||||
#: subprojects/extensions-tool/src/command-create.c:211
|
||||
#: subprojects/extensions-tool/src/main.c:173
|
||||
msgid "Description"
|
||||
msgstr "Опис"
|
||||
|
||||
#: subprojects/extensions-app/data/ui/extension-row.ui:123
|
||||
#: subprojects/extensions-tool/src/main.c:185
|
||||
msgid "Version"
|
||||
msgstr "Издање"
|
||||
|
||||
#: subprojects/extensions-app/data/ui/extension-row.ui:151
|
||||
msgid "Author"
|
||||
msgstr "Творац"
|
||||
|
||||
#: subprojects/extensions-app/data/ui/extension-row.ui:175
|
||||
msgid "Website"
|
||||
msgstr "Веб страница"
|
||||
|
||||
#: subprojects/extensions-app/data/ui/extension-row.ui:192
|
||||
msgid "Remove…"
|
||||
msgstr "Уклони…"
|
||||
|
||||
#: subprojects/extensions-app/data/ui/extensions-window.ui:8
|
||||
msgid "Help"
|
||||
msgstr "Помоћ"
|
||||
|
||||
#: subprojects/extensions-app/data/ui/extensions-window.ui:12
|
||||
msgid "About Extensions"
|
||||
msgstr "О Проширењима"
|
||||
|
||||
#: subprojects/extensions-app/data/ui/extensions-window.ui:27
|
||||
msgid ""
|
||||
"To find and add extensions, visit <a href=\"https://extensions.gnome.org"
|
||||
"\">extensions.gnome.org</a>."
|
||||
msgstr ""
|
||||
"Да бисте пронашли и додали проширења, посетите страницу <a href=\"https://"
|
||||
"extensions.gnome.org\">extensions.gnome.org</a>."
|
||||
|
||||
#: subprojects/extensions-app/data/ui/extensions-window.ui:35
|
||||
msgid "Warning"
|
||||
msgstr "Упозорење"
|
||||
|
||||
#: subprojects/extensions-app/data/ui/extensions-window.ui:46
|
||||
msgid ""
|
||||
"Extensions can cause system issues, including performance problems. If you "
|
||||
"encounter problems with your system, it is recommended to disable all "
|
||||
"extensions."
|
||||
msgstr ""
|
||||
"Проширења могу утицати на стабилност система, укључујући и на делотворност. "
|
||||
"Уколико приметите проблеме у раду, препоручујемо да онемогућите сва "
|
||||
"проширења."
|
||||
|
||||
#: subprojects/extensions-app/data/ui/extensions-window.ui:134
|
||||
msgid "Manually Installed"
|
||||
msgstr "Ручно инсталирана"
|
||||
|
||||
#: subprojects/extensions-app/data/ui/extensions-window.ui:158
|
||||
msgid "Built-In"
|
||||
msgstr "Уграђена"
|
||||
|
||||
#: subprojects/extensions-app/data/ui/extensions-window.ui:199
|
||||
msgid "No Installed Extensions"
|
||||
msgstr "Неинсталирана проширења"
|
||||
|
||||
#: subprojects/extensions-app/data/ui/extensions-window.ui:235
|
||||
msgid ""
|
||||
"We’re very sorry, but it was not possible to get the list of installed "
|
||||
"extensions. Make sure you are logged into GNOME and try again."
|
||||
msgstr ""
|
||||
"Нажалост, није било могуће добавити списак инсталираних проширења. Проверите "
|
||||
"да ли сте пријављени у Гном и пробајте поново."
|
||||
|
||||
#: subprojects/extensions-app/data/ui/extensions-window.ui:288
|
||||
msgid "Log Out…"
|
||||
msgstr "Одјава…"
|
||||
|
||||
#. Translators: a file path to an extension directory
|
||||
#: subprojects/extensions-tool/src/command-create.c:125
|
||||
#, c-format
|
||||
@ -2879,6 +2876,9 @@ msgstr[3] "%u улаз"
|
||||
msgid "System Sounds"
|
||||
msgstr "Системски звуци"
|
||||
|
||||
#~ msgid "Copy Error"
|
||||
#~ msgstr "Грешка при копирању"
|
||||
|
||||
#~ msgid "Username…"
|
||||
#~ msgstr "Корисник…"
|
||||
|
||||
|
504
po/zh_TW.po
504
po/zh_TW.po
@ -8,16 +8,16 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: gnome-shell 3.3.90\n"
|
||||
"Report-Msgid-Bugs-To: https://gitlab.gnome.org/GNOME/gnome-shell/issues\n"
|
||||
"POT-Creation-Date: 2020-02-17 22:27+0000\n"
|
||||
"PO-Revision-Date: 2020-02-19 14:32+0800\n"
|
||||
"Last-Translator: Yi-Jyun Pan <pan93412@gmail.com>\n"
|
||||
"POT-Creation-Date: 2020-03-31 07:15+0000\n"
|
||||
"PO-Revision-Date: 2020-04-01 00:04+0800\n"
|
||||
"Last-Translator: Cheng-Chia Tseng <pswo10680@gmail.com>\n"
|
||||
"Language-Team: Chinese (Taiwan) <zh-l10n@lists.linux.org.tw>\n"
|
||||
"Language: zh_TW\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Plural-Forms: nplurals=1; plural=0;\n"
|
||||
"X-Generator: Poedit 2.2.4\n"
|
||||
"X-Generator: Poedit 2.3\n"
|
||||
|
||||
#: data/50-gnome-shell-system.xml:6
|
||||
msgid "System"
|
||||
@ -43,15 +43,6 @@ msgstr "顯示所有的應用程式"
|
||||
msgid "Open the application menu"
|
||||
msgstr "開啟應用程式選單"
|
||||
|
||||
#: data/org.gnome.Extensions.desktop.in.in:4 js/extensionPrefs/main.js:218
|
||||
#: js/extensionPrefs/ui/extensions-window.ui:61
|
||||
msgid "Extensions"
|
||||
msgstr "擴充套件"
|
||||
|
||||
#: data/org.gnome.Extensions.desktop.in.in:7
|
||||
msgid "Configure GNOME Shell Extensions"
|
||||
msgstr "設定 GNOME Shell 擴充套件"
|
||||
|
||||
#: data/org.gnome.Shell.desktop.in.in:4
|
||||
msgid "GNOME Shell"
|
||||
msgstr "GNOME Shell"
|
||||
@ -371,42 +362,12 @@ msgstr "在滑鼠模式中延遲焦點變更直到指標停止移動"
|
||||
msgid "Network Login"
|
||||
msgstr "網路登入"
|
||||
|
||||
#: js/extensionPrefs/main.js:140
|
||||
#, javascript-format
|
||||
msgid "Remove “%s”?"
|
||||
msgstr "移除“%s”?"
|
||||
|
||||
#: js/extensionPrefs/main.js:141
|
||||
msgid ""
|
||||
"If you remove the extension, you need to return to download it if you want "
|
||||
"to enable it again"
|
||||
msgstr "如果您移除擴充套件,如果需要再次啟用,就需要回去重新下載一次"
|
||||
|
||||
#: js/extensionPrefs/main.js:144 js/ui/audioDeviceSelection.js:57
|
||||
#: js/ui/components/networkAgent.js:107 js/ui/components/polkitAgent.js:139
|
||||
#: js/ui/endSessionDialog.js:374 js/ui/extensionDownloader.js:165
|
||||
#: js/ui/shellMountOperation.js:376 js/ui/shellMountOperation.js:386
|
||||
#: js/ui/status/network.js:913
|
||||
msgid "Cancel"
|
||||
msgstr "取消"
|
||||
|
||||
#: js/extensionPrefs/main.js:145
|
||||
msgid "Remove"
|
||||
msgstr "移除"
|
||||
|
||||
#: js/extensionPrefs/main.js:217
|
||||
msgid "translator-credits"
|
||||
msgstr ""
|
||||
|
||||
#: js/extensionPrefs/main.js:219
|
||||
msgid "Manage your GNOME Extensions"
|
||||
msgstr "管理 GNOME Shell 擴充套件"
|
||||
|
||||
#: js/extensionPrefs/main.js:261 js/extensionPrefs/ui/extensions-window.ui:222
|
||||
#: js/dbusServices/extensions/ui/extension-prefs-dialog.ui:36
|
||||
#: subprojects/extensions-app/data/ui/extensions-window.ui:223
|
||||
msgid "Something’s gone wrong"
|
||||
msgstr "有地方出錯了"
|
||||
|
||||
#: js/extensionPrefs/main.js:268
|
||||
#: js/dbusServices/extensions/ui/extension-prefs-dialog.ui:48
|
||||
msgid ""
|
||||
"We’re very sorry, but there’s been a problem: the settings for this "
|
||||
"extension can’t be displayed. We recommend that you report the issue to the "
|
||||
@ -415,108 +376,31 @@ msgstr ""
|
||||
"我們非常抱歉,發生了這個問題:無法顯示此擴充套件的設定。我們建議您回報此議題"
|
||||
"給擴充套件作者知曉。"
|
||||
|
||||
#: js/extensionPrefs/main.js:275
|
||||
#: js/dbusServices/extensions/ui/extension-prefs-dialog.ui:82
|
||||
msgid "Technical Details"
|
||||
msgstr "技術細節"
|
||||
|
||||
#: js/extensionPrefs/main.js:310
|
||||
msgid "Copy Error"
|
||||
msgstr "複製錯誤"
|
||||
|
||||
#: js/extensionPrefs/main.js:337
|
||||
#: js/dbusServices/extensions/ui/extension-prefs-dialog.ui:165
|
||||
msgid "Homepage"
|
||||
msgstr "首頁"
|
||||
|
||||
#: js/extensionPrefs/main.js:338
|
||||
#: js/dbusServices/extensions/ui/extension-prefs-dialog.ui:166
|
||||
msgid "Visit extension homepage"
|
||||
msgstr "造訪擴充套件首頁"
|
||||
|
||||
#: js/extensionPrefs/main.js:449
|
||||
#, javascript-format
|
||||
msgid "%d extension will be updated on next login."
|
||||
msgid_plural "%d extensions will be updated on next login."
|
||||
msgstr[0] "%d 個擴充套件會在下次登入時更新。"
|
||||
|
||||
#: js/extensionPrefs/ui/extension-row.ui:100
|
||||
#: subprojects/extensions-tool/src/command-create.c:211
|
||||
#: subprojects/extensions-tool/src/main.c:173
|
||||
msgid "Description"
|
||||
msgstr "描述"
|
||||
|
||||
#: js/extensionPrefs/ui/extension-row.ui:123
|
||||
#: subprojects/extensions-tool/src/main.c:185
|
||||
msgid "Version"
|
||||
msgstr "版本"
|
||||
|
||||
#: js/extensionPrefs/ui/extension-row.ui:151
|
||||
msgid "Author"
|
||||
msgstr "作者"
|
||||
|
||||
#: js/extensionPrefs/ui/extension-row.ui:175
|
||||
msgid "Website"
|
||||
msgstr "網站"
|
||||
|
||||
#: js/extensionPrefs/ui/extension-row.ui:192
|
||||
msgid "Remove…"
|
||||
msgstr "移除…"
|
||||
|
||||
#: js/extensionPrefs/ui/extensions-window.ui:8
|
||||
msgid "Help"
|
||||
msgstr "求助"
|
||||
|
||||
#: js/extensionPrefs/ui/extensions-window.ui:12
|
||||
msgid "About Extensions"
|
||||
msgstr "關於擴充套件"
|
||||
|
||||
#: js/extensionPrefs/ui/extensions-window.ui:27
|
||||
msgid ""
|
||||
"To find and add extensions, visit <a href=\"https://extensions.gnome.org"
|
||||
"\">extensions.gnome.org</a>."
|
||||
msgstr ""
|
||||
"要尋找並加入擴充套件,可以到 <a href=\"https://extensions.gnome.org"
|
||||
"\">extensions.gnome.org</a> 安裝。"
|
||||
|
||||
#: js/extensionPrefs/ui/extensions-window.ui:35
|
||||
msgid "Warning"
|
||||
msgstr "警告"
|
||||
|
||||
#: js/extensionPrefs/ui/extensions-window.ui:46
|
||||
msgid ""
|
||||
"Extensions can cause system issues, including performance problems. If you "
|
||||
"encounter problems with your system, it is recommended to disable all "
|
||||
"extensions."
|
||||
msgstr ""
|
||||
"擴充套件可能會造成系統問題,包含效能問題。如果您遇到系統問題,建議您先停用所"
|
||||
"有的擴充套件。"
|
||||
|
||||
#: js/extensionPrefs/ui/extensions-window.ui:133
|
||||
msgid "Manually Installed"
|
||||
msgstr "手動安裝"
|
||||
|
||||
#: js/extensionPrefs/ui/extensions-window.ui:157
|
||||
msgid "Built-In"
|
||||
msgstr "內建"
|
||||
|
||||
#: js/extensionPrefs/ui/extensions-window.ui:198
|
||||
msgid "No Installed Extensions"
|
||||
msgstr "沒有已安裝的擴充套件"
|
||||
|
||||
#: js/extensionPrefs/ui/extensions-window.ui:234
|
||||
msgid ""
|
||||
"We’re very sorry, but it was not possible to get the list of installed "
|
||||
"extensions. Make sure you are logged into GNOME and try again."
|
||||
msgstr ""
|
||||
"非常抱歉,但無法取得已安裝擴充套件的清單。請確定您已登入 GNOME 後重試。"
|
||||
|
||||
#: js/extensionPrefs/ui/extensions-window.ui:287
|
||||
msgid "Log Out…"
|
||||
msgstr "登出…"
|
||||
#: js/gdm/authPrompt.js:135 js/ui/audioDeviceSelection.js:57
|
||||
#: js/ui/components/networkAgent.js:109 js/ui/components/polkitAgent.js:139
|
||||
#: js/ui/endSessionDialog.js:374 js/ui/extensionDownloader.js:181
|
||||
#: js/ui/shellMountOperation.js:376 js/ui/shellMountOperation.js:386
|
||||
#: js/ui/status/network.js:913 subprojects/extensions-app/js/main.js:148
|
||||
msgid "Cancel"
|
||||
msgstr "取消"
|
||||
|
||||
#. Cisco LEAP
|
||||
#: js/gdm/authPrompt.js:235 js/ui/components/networkAgent.js:202
|
||||
#: js/ui/components/networkAgent.js:218 js/ui/components/networkAgent.js:242
|
||||
#: js/ui/components/networkAgent.js:263 js/ui/components/networkAgent.js:283
|
||||
#: js/ui/components/networkAgent.js:293 js/ui/components/polkitAgent.js:277
|
||||
#: js/gdm/authPrompt.js:237 js/ui/components/networkAgent.js:204
|
||||
#: js/ui/components/networkAgent.js:220 js/ui/components/networkAgent.js:244
|
||||
#: js/ui/components/networkAgent.js:265 js/ui/components/networkAgent.js:285
|
||||
#: js/ui/components/networkAgent.js:295 js/ui/components/polkitAgent.js:277
|
||||
#: js/ui/shellMountOperation.js:326
|
||||
msgid "Password"
|
||||
msgstr "密碼"
|
||||
@ -539,8 +423,8 @@ msgstr "(例如: user 或 %s)"
|
||||
#. TTLS and PEAP are actually much more complicated, but this complication
|
||||
#. is not visible here since we only care about phase2 authentication
|
||||
#. (and don't even care of which one)
|
||||
#: js/gdm/loginDialog.js:917 js/ui/components/networkAgent.js:238
|
||||
#: js/ui/components/networkAgent.js:261 js/ui/components/networkAgent.js:279
|
||||
#: js/gdm/loginDialog.js:917 js/ui/components/networkAgent.js:240
|
||||
#: js/ui/components/networkAgent.js:263 js/ui/components/networkAgent.js:281
|
||||
msgid "Username"
|
||||
msgstr "使用者名稱"
|
||||
|
||||
@ -789,44 +673,44 @@ msgstr "禁止存取"
|
||||
msgid "Grant Access"
|
||||
msgstr "授予存取權限"
|
||||
|
||||
#: js/ui/appDisplay.js:906
|
||||
#: js/ui/appDisplay.js:932
|
||||
msgid "Unnamed Folder"
|
||||
msgstr "未命名資料夾"
|
||||
|
||||
#: js/ui/appDisplay.js:929
|
||||
#: js/ui/appDisplay.js:955
|
||||
msgid "Frequently used applications will appear here"
|
||||
msgstr "經常使用的應用程式會出現在這裡"
|
||||
|
||||
#: js/ui/appDisplay.js:1064
|
||||
#: js/ui/appDisplay.js:1090
|
||||
msgid "Frequent"
|
||||
msgstr "常用"
|
||||
|
||||
#: js/ui/appDisplay.js:1071
|
||||
#: js/ui/appDisplay.js:1097
|
||||
msgid "All"
|
||||
msgstr "全部"
|
||||
|
||||
#. Translators: This is the heading of a list of open windows
|
||||
#: js/ui/appDisplay.js:2454 js/ui/panel.js:75
|
||||
#: js/ui/appDisplay.js:2473 js/ui/panel.js:75
|
||||
msgid "Open Windows"
|
||||
msgstr "開啟視窗"
|
||||
|
||||
#: js/ui/appDisplay.js:2474 js/ui/panel.js:82
|
||||
#: js/ui/appDisplay.js:2493 js/ui/panel.js:82
|
||||
msgid "New Window"
|
||||
msgstr "新視窗"
|
||||
|
||||
#: js/ui/appDisplay.js:2485
|
||||
#: js/ui/appDisplay.js:2504
|
||||
msgid "Launch using Dedicated Graphics Card"
|
||||
msgstr "使用獨立顯卡啟動"
|
||||
|
||||
#: js/ui/appDisplay.js:2513 js/ui/dash.js:239
|
||||
#: js/ui/appDisplay.js:2532 js/ui/dash.js:239
|
||||
msgid "Remove from Favorites"
|
||||
msgstr "自喜好中移除"
|
||||
|
||||
#: js/ui/appDisplay.js:2519
|
||||
#: js/ui/appDisplay.js:2538
|
||||
msgid "Add to Favorites"
|
||||
msgstr "加入喜好"
|
||||
|
||||
#: js/ui/appDisplay.js:2529 js/ui/panel.js:93
|
||||
#: js/ui/appDisplay.js:2548 js/ui/panel.js:93
|
||||
msgid "Show Details"
|
||||
msgstr "顯示詳細資訊"
|
||||
|
||||
@ -856,7 +740,7 @@ msgstr "頭戴式耳機"
|
||||
msgid "Headset"
|
||||
msgstr "耳機麥克風"
|
||||
|
||||
#: js/ui/audioDeviceSelection.js:68 js/ui/status/volume.js:269
|
||||
#: js/ui/audioDeviceSelection.js:68 js/ui/status/volume.js:270
|
||||
msgid "Microphone"
|
||||
msgstr "麥克風"
|
||||
|
||||
@ -974,30 +858,30 @@ msgid "All Day"
|
||||
msgstr "整天"
|
||||
|
||||
#. Translators: Shown on calendar heading when selected day occurs on current year
|
||||
#: js/ui/calendar.js:867
|
||||
#: js/ui/calendar.js:868
|
||||
msgctxt "calendar heading"
|
||||
msgid "%A, %B %-d"
|
||||
msgstr "%b%-d日%A"
|
||||
|
||||
#. Translators: Shown on calendar heading when selected day occurs on different year
|
||||
#: js/ui/calendar.js:870
|
||||
#: js/ui/calendar.js:871
|
||||
msgctxt "calendar heading"
|
||||
msgid "%A, %B %-d, %Y"
|
||||
msgstr "%Y年%b%-d日%A"
|
||||
|
||||
#: js/ui/calendar.js:1096
|
||||
#: js/ui/calendar.js:1100
|
||||
msgid "No Notifications"
|
||||
msgstr "沒有通知"
|
||||
|
||||
#: js/ui/calendar.js:1099
|
||||
#: js/ui/calendar.js:1103
|
||||
msgid "No Events"
|
||||
msgstr "沒有行程"
|
||||
|
||||
#: js/ui/calendar.js:1153
|
||||
#: js/ui/calendar.js:1157
|
||||
msgid "Do Not Disturb"
|
||||
msgstr "不要打擾"
|
||||
|
||||
#: js/ui/calendar.js:1167
|
||||
#: js/ui/calendar.js:1176
|
||||
msgid "Clear"
|
||||
msgstr "清除"
|
||||
|
||||
@ -1042,80 +926,80 @@ msgstr "安裝的 udisks 版本不支援設定 PIM"
|
||||
msgid "Open with %s"
|
||||
msgstr "用 %s 開啟"
|
||||
|
||||
#: js/ui/components/networkAgent.js:89
|
||||
#: js/ui/components/networkAgent.js:91
|
||||
msgid ""
|
||||
"Alternatively you can connect by pushing the “WPS” button on your router."
|
||||
msgstr "或者您可以按下路由器的「WPS」按鈕來連接看看。"
|
||||
|
||||
#: js/ui/components/networkAgent.js:101 js/ui/status/network.js:223
|
||||
#: js/ui/components/networkAgent.js:103 js/ui/status/network.js:223
|
||||
#: js/ui/status/network.js:314 js/ui/status/network.js:916
|
||||
msgid "Connect"
|
||||
msgstr "連線"
|
||||
|
||||
#: js/ui/components/networkAgent.js:208
|
||||
#: js/ui/components/networkAgent.js:210
|
||||
msgid "Key"
|
||||
msgstr "金鑰"
|
||||
|
||||
#: js/ui/components/networkAgent.js:246 js/ui/components/networkAgent.js:269
|
||||
#: js/ui/components/networkAgent.js:248 js/ui/components/networkAgent.js:271
|
||||
msgid "Private key password"
|
||||
msgstr "私密金鑰密碼"
|
||||
|
||||
#: js/ui/components/networkAgent.js:267
|
||||
#: js/ui/components/networkAgent.js:269
|
||||
msgid "Identity"
|
||||
msgstr "識別身分"
|
||||
|
||||
#: js/ui/components/networkAgent.js:281
|
||||
#: js/ui/components/networkAgent.js:283
|
||||
msgid "Service"
|
||||
msgstr "服務"
|
||||
|
||||
#: js/ui/components/networkAgent.js:310 js/ui/components/networkAgent.js:338
|
||||
#: js/ui/components/networkAgent.js:685 js/ui/components/networkAgent.js:706
|
||||
#: js/ui/components/networkAgent.js:312 js/ui/components/networkAgent.js:340
|
||||
#: js/ui/components/networkAgent.js:679 js/ui/components/networkAgent.js:700
|
||||
msgid "Authentication required"
|
||||
msgstr "要求核對"
|
||||
|
||||
#: js/ui/components/networkAgent.js:311 js/ui/components/networkAgent.js:686
|
||||
#: js/ui/components/networkAgent.js:313 js/ui/components/networkAgent.js:680
|
||||
#, javascript-format
|
||||
msgid ""
|
||||
"Passwords or encryption keys are required to access the wireless network "
|
||||
"“%s”."
|
||||
msgstr "需要密碼或是加密金鑰來存取無線網路「%s」。"
|
||||
|
||||
#: js/ui/components/networkAgent.js:315 js/ui/components/networkAgent.js:690
|
||||
#: js/ui/components/networkAgent.js:317 js/ui/components/networkAgent.js:684
|
||||
msgid "Wired 802.1X authentication"
|
||||
msgstr "有線網路 802.1X 核對"
|
||||
|
||||
#: js/ui/components/networkAgent.js:317
|
||||
#: js/ui/components/networkAgent.js:319
|
||||
msgid "Network name"
|
||||
msgstr "網路名稱"
|
||||
|
||||
#: js/ui/components/networkAgent.js:322 js/ui/components/networkAgent.js:694
|
||||
#: js/ui/components/networkAgent.js:324 js/ui/components/networkAgent.js:688
|
||||
msgid "DSL authentication"
|
||||
msgstr "DSL 核對"
|
||||
|
||||
#: js/ui/components/networkAgent.js:329 js/ui/components/networkAgent.js:699
|
||||
#: js/ui/components/networkAgent.js:331 js/ui/components/networkAgent.js:693
|
||||
msgid "PIN code required"
|
||||
msgstr "需要 PIN 碼"
|
||||
|
||||
#: js/ui/components/networkAgent.js:330 js/ui/components/networkAgent.js:700
|
||||
#: js/ui/components/networkAgent.js:332 js/ui/components/networkAgent.js:694
|
||||
msgid "PIN code is needed for the mobile broadband device"
|
||||
msgstr "這個行動寬頻裝置需要 PIN 碼"
|
||||
|
||||
#: js/ui/components/networkAgent.js:331
|
||||
#: js/ui/components/networkAgent.js:333
|
||||
msgid "PIN"
|
||||
msgstr "PIN:"
|
||||
msgstr "PIN 碼"
|
||||
|
||||
#: js/ui/components/networkAgent.js:339 js/ui/components/networkAgent.js:691
|
||||
#: js/ui/components/networkAgent.js:695 js/ui/components/networkAgent.js:707
|
||||
#: js/ui/components/networkAgent.js:711
|
||||
#: js/ui/components/networkAgent.js:341 js/ui/components/networkAgent.js:685
|
||||
#: js/ui/components/networkAgent.js:689 js/ui/components/networkAgent.js:701
|
||||
#: js/ui/components/networkAgent.js:705
|
||||
#, javascript-format
|
||||
msgid "A password is required to connect to “%s”."
|
||||
msgstr "連線至「%s」需要密碼。"
|
||||
|
||||
#: js/ui/components/networkAgent.js:674 js/ui/status/network.js:1691
|
||||
#: js/ui/components/networkAgent.js:668 js/ui/status/network.js:1691
|
||||
msgid "Network Manager"
|
||||
msgstr "網路管理員"
|
||||
|
||||
#: js/ui/components/networkAgent.js:710
|
||||
#: js/ui/components/networkAgent.js:704
|
||||
msgid "VPN password"
|
||||
msgstr "VPN 密碼"
|
||||
|
||||
@ -1141,7 +1025,7 @@ msgstr "抱歉,那沒有作用。請再試一次。"
|
||||
|
||||
#. Translators: this is the other person changing their old IM name to their new
|
||||
#. IM name.
|
||||
#: js/ui/components/telepathyClient.js:787
|
||||
#: js/ui/components/telepathyClient.js:823
|
||||
#, javascript-format
|
||||
msgid "%s is now known as %s"
|
||||
msgstr "%s 現在被稱為 %s"
|
||||
@ -1185,124 +1069,124 @@ msgstr "加入世界時鐘…"
|
||||
msgid "World Clocks"
|
||||
msgstr "世界時鐘"
|
||||
|
||||
#: js/ui/dateMenu.js:276
|
||||
#: js/ui/dateMenu.js:289
|
||||
msgid "Weather"
|
||||
msgstr "天氣"
|
||||
|
||||
#: js/ui/dateMenu.js:391
|
||||
#: js/ui/dateMenu.js:418
|
||||
msgid "Select a location…"
|
||||
msgstr "選擇位置…"
|
||||
|
||||
#: js/ui/dateMenu.js:404
|
||||
#: js/ui/dateMenu.js:426
|
||||
msgid "Loading…"
|
||||
msgstr "載入中…"
|
||||
|
||||
#: js/ui/dateMenu.js:414
|
||||
#: js/ui/dateMenu.js:436
|
||||
msgid "Go online for weather information"
|
||||
msgstr "上線以取得天氣資訊"
|
||||
|
||||
#: js/ui/dateMenu.js:416
|
||||
#: js/ui/dateMenu.js:438
|
||||
msgid "Weather information is currently unavailable"
|
||||
msgstr "天氣資訊目前不可使用"
|
||||
|
||||
#: js/ui/endSessionDialog.js:37
|
||||
#: js/ui/endSessionDialog.js:39
|
||||
#, javascript-format
|
||||
msgctxt "title"
|
||||
msgid "Log Out %s"
|
||||
msgstr "登出 %s"
|
||||
|
||||
#: js/ui/endSessionDialog.js:38
|
||||
#: js/ui/endSessionDialog.js:40
|
||||
msgctxt "title"
|
||||
msgid "Log Out"
|
||||
msgstr "登出"
|
||||
|
||||
#: js/ui/endSessionDialog.js:40
|
||||
#: js/ui/endSessionDialog.js:42
|
||||
#, 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 會在 %d 秒後自動登出。"
|
||||
|
||||
#: js/ui/endSessionDialog.js:45
|
||||
#: js/ui/endSessionDialog.js:47
|
||||
#, 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 秒後自動登出。"
|
||||
|
||||
#: js/ui/endSessionDialog.js:51
|
||||
#: js/ui/endSessionDialog.js:53
|
||||
msgctxt "button"
|
||||
msgid "Log Out"
|
||||
msgstr "登出"
|
||||
|
||||
#: js/ui/endSessionDialog.js:56
|
||||
#: js/ui/endSessionDialog.js:58
|
||||
msgctxt "title"
|
||||
msgid "Power Off"
|
||||
msgstr "關閉電源"
|
||||
|
||||
#: js/ui/endSessionDialog.js:57
|
||||
#: js/ui/endSessionDialog.js:59
|
||||
msgctxt "title"
|
||||
msgid "Install Updates & Power Off"
|
||||
msgstr "安裝更新並關機"
|
||||
|
||||
#: js/ui/endSessionDialog.js:59
|
||||
#: js/ui/endSessionDialog.js:61
|
||||
#, 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] "系統會在 %d 秒後關閉電源。"
|
||||
|
||||
#: js/ui/endSessionDialog.js:63
|
||||
#: js/ui/endSessionDialog.js:65
|
||||
msgctxt "checkbox"
|
||||
msgid "Install pending software updates"
|
||||
msgstr "安裝擱置的軟體更新"
|
||||
|
||||
#: js/ui/endSessionDialog.js:66 js/ui/endSessionDialog.js:82
|
||||
#: js/ui/endSessionDialog.js:68 js/ui/endSessionDialog.js:84
|
||||
msgctxt "button"
|
||||
msgid "Restart"
|
||||
msgstr "重新啟動"
|
||||
|
||||
#: js/ui/endSessionDialog.js:68
|
||||
#: js/ui/endSessionDialog.js:70
|
||||
msgctxt "button"
|
||||
msgid "Power Off"
|
||||
msgstr "關閉電源"
|
||||
|
||||
#: js/ui/endSessionDialog.js:74
|
||||
#: js/ui/endSessionDialog.js:76
|
||||
msgctxt "title"
|
||||
msgid "Restart"
|
||||
msgstr "重新啟動"
|
||||
|
||||
#: js/ui/endSessionDialog.js:76
|
||||
#: js/ui/endSessionDialog.js:78
|
||||
#, javascript-format
|
||||
msgid "The system will restart automatically in %d second."
|
||||
msgid_plural "The system will restart automatically in %d seconds."
|
||||
msgstr[0] "系統會在 %d 秒後自動重新啟動。"
|
||||
|
||||
#: js/ui/endSessionDialog.js:89
|
||||
#: js/ui/endSessionDialog.js:91
|
||||
msgctxt "title"
|
||||
msgid "Restart & Install Updates"
|
||||
msgstr "重新啟動並安裝更新"
|
||||
|
||||
#: js/ui/endSessionDialog.js:91
|
||||
#: js/ui/endSessionDialog.js:93
|
||||
#, javascript-format
|
||||
msgid "The system will automatically restart and install updates in %d second."
|
||||
msgid_plural ""
|
||||
"The system will automatically restart and install updates in %d seconds."
|
||||
msgstr[0] "系統會在 %d 秒後自動重新啟動。"
|
||||
|
||||
#: js/ui/endSessionDialog.js:97 js/ui/endSessionDialog.js:116
|
||||
#: js/ui/endSessionDialog.js:99 js/ui/endSessionDialog.js:118
|
||||
msgctxt "button"
|
||||
msgid "Restart & Install"
|
||||
msgstr "重新啟動並安裝"
|
||||
|
||||
#: js/ui/endSessionDialog.js:98
|
||||
#: js/ui/endSessionDialog.js:100
|
||||
msgctxt "button"
|
||||
msgid "Install & Power Off"
|
||||
msgstr "安裝並關機"
|
||||
|
||||
#: js/ui/endSessionDialog.js:99
|
||||
#: js/ui/endSessionDialog.js:101
|
||||
msgctxt "checkbox"
|
||||
msgid "Power off after updates are installed"
|
||||
msgstr "在安裝完更新之後關機"
|
||||
|
||||
#: js/ui/endSessionDialog.js:106
|
||||
#: js/ui/endSessionDialog.js:108
|
||||
msgctxt "title"
|
||||
msgid "Restart & Install Upgrade"
|
||||
msgstr "重新啟動並安裝升級"
|
||||
@ -1310,7 +1194,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:111
|
||||
#: js/ui/endSessionDialog.js:113
|
||||
#, javascript-format
|
||||
msgid ""
|
||||
"%s %s will be installed after restart. Upgrade installation can take a long "
|
||||
@ -1319,15 +1203,15 @@ msgstr ""
|
||||
"%s %s 將在重新啟動之後展開安裝。升級的過程可能會花上一段較長的時間:請確認您"
|
||||
"已有備份,並且已將電腦電源插上。"
|
||||
|
||||
#: js/ui/endSessionDialog.js:259
|
||||
#: js/ui/endSessionDialog.js:261
|
||||
msgid "Running on battery power: Please plug in before installing updates."
|
||||
msgstr "正於電池電源執行:請在安裝更新前插入電源線。"
|
||||
|
||||
#: js/ui/endSessionDialog.js:268
|
||||
#: js/ui/endSessionDialog.js:270
|
||||
msgid "Some applications are busy or have unsaved work"
|
||||
msgstr "部分應用程式忙碌中或有未儲存的工作"
|
||||
|
||||
#: js/ui/endSessionDialog.js:273
|
||||
#: js/ui/endSessionDialog.js:275
|
||||
msgid "Other users are logged in"
|
||||
msgstr "其他使用者已登入"
|
||||
|
||||
@ -1343,24 +1227,24 @@ msgstr "%s (遠端)"
|
||||
msgid "%s (console)"
|
||||
msgstr "%s (主控臺)"
|
||||
|
||||
#: js/ui/extensionDownloader.js:169
|
||||
#: js/ui/extensionDownloader.js:185
|
||||
msgid "Install"
|
||||
msgstr "安裝"
|
||||
|
||||
#: js/ui/extensionDownloader.js:175
|
||||
#: js/ui/extensionDownloader.js:191
|
||||
msgid "Install Extension"
|
||||
msgstr "安裝擴充套件"
|
||||
|
||||
#: js/ui/extensionDownloader.js:176
|
||||
#: js/ui/extensionDownloader.js:192
|
||||
#, javascript-format
|
||||
msgid "Download and install “%s” from extensions.gnome.org?"
|
||||
msgstr "是否從 extensions.gnome.org 下載並安裝「%s」?"
|
||||
|
||||
#: js/ui/extensionSystem.js:228
|
||||
#: js/ui/extensionSystem.js:233
|
||||
msgid "Extension Updates Available"
|
||||
msgstr "有擴充套件的更新"
|
||||
|
||||
#: js/ui/extensionSystem.js:229
|
||||
#: js/ui/extensionSystem.js:234
|
||||
msgid "Extension updates are ready to be installed."
|
||||
msgstr "擴充套件更新已準備好安裝。"
|
||||
|
||||
@ -1458,59 +1342,59 @@ msgstr "離開"
|
||||
msgid "Region & Language Settings"
|
||||
msgstr "地區和語言設定值"
|
||||
|
||||
#: js/ui/lookingGlass.js:659
|
||||
#: js/ui/lookingGlass.js:665
|
||||
msgid "No extensions installed"
|
||||
msgstr "沒有安裝擴充套件"
|
||||
|
||||
#. Translators: argument is an extension UUID.
|
||||
#: js/ui/lookingGlass.js:714
|
||||
#: js/ui/lookingGlass.js:720
|
||||
#, javascript-format
|
||||
msgid "%s has not emitted any errors."
|
||||
msgstr "%s 沒有發出任何錯誤。"
|
||||
|
||||
#: js/ui/lookingGlass.js:720
|
||||
#: js/ui/lookingGlass.js:726
|
||||
msgid "Hide Errors"
|
||||
msgstr "隱藏錯誤"
|
||||
|
||||
#: js/ui/lookingGlass.js:724 js/ui/lookingGlass.js:789
|
||||
#: js/ui/lookingGlass.js:730 js/ui/lookingGlass.js:795
|
||||
msgid "Show Errors"
|
||||
msgstr "顯示錯誤"
|
||||
|
||||
#: js/ui/lookingGlass.js:733
|
||||
#: js/ui/lookingGlass.js:739
|
||||
msgid "Enabled"
|
||||
msgstr "已啟用"
|
||||
|
||||
#. translators:
|
||||
#. * The device has been disabled
|
||||
#: js/ui/lookingGlass.js:736 subprojects/gvc/gvc-mixer-control.c:1892
|
||||
#: js/ui/lookingGlass.js:742 subprojects/gvc/gvc-mixer-control.c:1892
|
||||
msgid "Disabled"
|
||||
msgstr "已停用"
|
||||
|
||||
#: js/ui/lookingGlass.js:738
|
||||
#: js/ui/lookingGlass.js:744
|
||||
msgid "Error"
|
||||
msgstr "錯誤"
|
||||
|
||||
#: js/ui/lookingGlass.js:740
|
||||
#: js/ui/lookingGlass.js:746
|
||||
msgid "Out of date"
|
||||
msgstr "過期"
|
||||
|
||||
#: js/ui/lookingGlass.js:742
|
||||
#: js/ui/lookingGlass.js:748
|
||||
msgid "Downloading"
|
||||
msgstr "下載中"
|
||||
|
||||
#: js/ui/lookingGlass.js:771
|
||||
#: js/ui/lookingGlass.js:777
|
||||
msgid "View Source"
|
||||
msgstr "檢示來源"
|
||||
|
||||
#: js/ui/lookingGlass.js:780
|
||||
#: js/ui/lookingGlass.js:786
|
||||
msgid "Web Page"
|
||||
msgstr "網頁"
|
||||
|
||||
#: js/ui/main.js:267
|
||||
#: js/ui/main.js:277
|
||||
msgid "Logged in as a privileged user"
|
||||
msgstr "以特權使用者身分登入"
|
||||
|
||||
#: js/ui/main.js:268
|
||||
#: js/ui/main.js:278
|
||||
msgid ""
|
||||
"Running a session as a privileged user should be avoided for security "
|
||||
"reasons. If possible, you should log in as a normal user."
|
||||
@ -1518,15 +1402,15 @@ msgstr ""
|
||||
"因安全因素,應避免在特權使用者執行工作階段。如果可以,應以一般使用者身份登"
|
||||
"入。"
|
||||
|
||||
#: js/ui/main.js:274
|
||||
#: js/ui/main.js:317
|
||||
msgid "Screen Lock disabled"
|
||||
msgstr "已停用螢幕鎖定"
|
||||
|
||||
#: js/ui/main.js:275
|
||||
#: js/ui/main.js:318
|
||||
msgid "Screen Locking requires the GNOME display manager."
|
||||
msgstr "螢幕鎖定需要 GNOME 登入管理員。"
|
||||
|
||||
#: js/ui/messageTray.js:1554
|
||||
#: js/ui/messageTray.js:1551
|
||||
msgid "System Information"
|
||||
msgstr "系統資訊"
|
||||
|
||||
@ -1610,12 +1494,12 @@ msgstr "結束"
|
||||
msgid "Activities"
|
||||
msgstr "概覽"
|
||||
|
||||
#: js/ui/panel.js:707
|
||||
#: js/ui/panel.js:713
|
||||
msgctxt "System menu in the top bar"
|
||||
msgid "System"
|
||||
msgstr "系統"
|
||||
|
||||
#: js/ui/panel.js:820
|
||||
#: js/ui/panel.js:826
|
||||
msgid "Top Bar"
|
||||
msgstr "頂端列"
|
||||
|
||||
@ -1730,13 +1614,13 @@ msgid "The PIM must be a number or empty."
|
||||
msgstr "PIM 必須是數字或空白。"
|
||||
|
||||
#. Translators: %s is the Disks application
|
||||
#: js/ui/shellMountOperation.js:469
|
||||
#: js/ui/shellMountOperation.js:465
|
||||
#, javascript-format
|
||||
msgid "Unable to start %s"
|
||||
msgstr "無法啟動 %s"
|
||||
|
||||
#. Translators: %s is the Disks application
|
||||
#: js/ui/shellMountOperation.js:471
|
||||
#: js/ui/shellMountOperation.js:467
|
||||
#, javascript-format
|
||||
msgid "Couldn’t find the %s application"
|
||||
msgstr "找不到 %s 應用程式"
|
||||
@ -1832,11 +1716,11 @@ msgstr "右鍵"
|
||||
msgid "Dwell Click"
|
||||
msgstr "替代點選"
|
||||
|
||||
#: js/ui/status/keyboard.js:825
|
||||
#: js/ui/status/keyboard.js:826
|
||||
msgid "Keyboard"
|
||||
msgstr "鍵盤"
|
||||
|
||||
#: js/ui/status/keyboard.js:847
|
||||
#: js/ui/status/keyboard.js:848
|
||||
msgid "Show Keyboard Layout"
|
||||
msgstr "顯示鍵盤配置"
|
||||
|
||||
@ -2202,11 +2086,11 @@ msgstr "Thunderbolt 授權錯誤"
|
||||
msgid "Could not authorize the Thunderbolt device: %s"
|
||||
msgstr "無法授權該 Thunderbolt 裝置:%s"
|
||||
|
||||
#: js/ui/status/volume.js:150
|
||||
#: js/ui/status/volume.js:151
|
||||
msgid "Volume changed"
|
||||
msgstr "音量已變更"
|
||||
|
||||
#: js/ui/status/volume.js:221
|
||||
#: js/ui/status/volume.js:222
|
||||
msgid "Volume"
|
||||
msgstr "音量"
|
||||
|
||||
@ -2240,22 +2124,26 @@ msgstr "僅內建"
|
||||
|
||||
#. Translators: This is a time format for a date in
|
||||
#. long format
|
||||
#: js/ui/unlockDialog.js:372
|
||||
#: js/ui/unlockDialog.js:371
|
||||
msgid "%A %B %-d"
|
||||
msgstr "%b%-d日%A"
|
||||
|
||||
#: js/ui/unlockDialog.js:378
|
||||
#: js/ui/unlockDialog.js:377
|
||||
msgid "Swipe up to unlock"
|
||||
msgstr "向上滑動解鎖"
|
||||
|
||||
#: js/ui/unlockDialog.js:379
|
||||
#: js/ui/unlockDialog.js:378
|
||||
msgid "Click or press a key to unlock"
|
||||
msgstr "點選或按按鍵解鎖"
|
||||
|
||||
#: js/ui/unlockDialog.js:552
|
||||
#: js/ui/unlockDialog.js:550
|
||||
msgid "Unlock Window"
|
||||
msgstr "解鎖視窗"
|
||||
|
||||
#: js/ui/unlockDialog.js:559
|
||||
msgid "Log in as another user"
|
||||
msgstr "以另一個使用者身分登入"
|
||||
|
||||
#: js/ui/viewSelector.js:181
|
||||
msgid "Applications"
|
||||
msgstr "應用程式"
|
||||
@ -2370,19 +2258,19 @@ msgstr "關閉"
|
||||
msgid "Evolution Calendar"
|
||||
msgstr "Evolution 行事曆"
|
||||
|
||||
#: src/main.c:460 subprojects/extensions-tool/src/main.c:249
|
||||
#: src/main.c:458 subprojects/extensions-tool/src/main.c:249
|
||||
msgid "Print version"
|
||||
msgstr "顯示版本"
|
||||
|
||||
#: src/main.c:466
|
||||
#: src/main.c:464
|
||||
msgid "Mode used by GDM for login screen"
|
||||
msgstr "GDM 在登入畫面使用的模式"
|
||||
|
||||
#: src/main.c:472
|
||||
#: src/main.c:470
|
||||
msgid "Use a specific mode, e.g. “gdm” for login screen"
|
||||
msgstr "使用指定的模式,例如「gdm」為登入畫面"
|
||||
|
||||
#: src/main.c:478
|
||||
#: src/main.c:476
|
||||
msgid "List possible modes"
|
||||
msgstr "列出可能的模式"
|
||||
|
||||
@ -2408,6 +2296,130 @@ msgstr "密碼不能為空白"
|
||||
msgid "Authentication dialog was dismissed by the user"
|
||||
msgstr "核對對話盒被使用者取消了"
|
||||
|
||||
#: subprojects/extensions-app/data/metainfo/org.gnome.Extensions.metainfo.xml.in:5
|
||||
#: subprojects/extensions-app/data/org.gnome.Extensions.desktop.in.in:4
|
||||
#: subprojects/extensions-app/js/main.js:182
|
||||
#: subprojects/extensions-app/data/ui/extensions-window.ui:61
|
||||
msgid "Extensions"
|
||||
msgstr "擴充套件"
|
||||
|
||||
#: subprojects/extensions-app/data/metainfo/org.gnome.Extensions.metainfo.xml.in:6
|
||||
#: subprojects/extensions-app/js/main.js:183
|
||||
msgid "Manage your GNOME Extensions"
|
||||
msgstr "管理 GNOME Shell 擴充套件"
|
||||
|
||||
#: subprojects/extensions-app/data/metainfo/org.gnome.Extensions.metainfo.xml.in:35
|
||||
msgid ""
|
||||
"GNOME Extensions handles updating extensions, configuring extension "
|
||||
"preferences and removing or disabling unwanted extensions."
|
||||
msgstr ""
|
||||
"GNOME 擴充套件,能處理擴充套件的更新、調整擴充套件偏好設定、移除或停用不想用"
|
||||
"的擴充套件等。"
|
||||
|
||||
#: subprojects/extensions-app/data/org.gnome.Extensions.desktop.in.in:7
|
||||
msgid "Configure GNOME Shell Extensions"
|
||||
msgstr "設定 GNOME Shell 擴充套件"
|
||||
|
||||
#: subprojects/extensions-app/js/main.js:144
|
||||
#, javascript-format
|
||||
msgid "Remove “%s”?"
|
||||
msgstr "移除“%s”?"
|
||||
|
||||
#: subprojects/extensions-app/js/main.js:145
|
||||
msgid ""
|
||||
"If you remove the extension, you need to return to download it if you want "
|
||||
"to enable it again"
|
||||
msgstr "如果您移除擴充套件,如果需要再次啟用,就需要回去重新下載一次"
|
||||
|
||||
#: subprojects/extensions-app/js/main.js:149
|
||||
msgid "Remove"
|
||||
msgstr "移除"
|
||||
|
||||
#: subprojects/extensions-app/js/main.js:181
|
||||
msgid "translator-credits"
|
||||
msgstr "Cheng-Chia Tseng <pswo10680@gmail.com>, 2020."
|
||||
|
||||
#: subprojects/extensions-app/js/main.js:316
|
||||
#, javascript-format
|
||||
msgid "%d extension will be updated on next login."
|
||||
msgid_plural "%d extensions will be updated on next login."
|
||||
msgstr[0] "%d 個擴充套件會在下次登入時更新。"
|
||||
|
||||
#: subprojects/extensions-app/data/ui/extension-row.ui:100
|
||||
#: subprojects/extensions-tool/src/command-create.c:211
|
||||
#: subprojects/extensions-tool/src/main.c:173
|
||||
msgid "Description"
|
||||
msgstr "描述"
|
||||
|
||||
#: subprojects/extensions-app/data/ui/extension-row.ui:123
|
||||
#: subprojects/extensions-tool/src/main.c:185
|
||||
msgid "Version"
|
||||
msgstr "版本"
|
||||
|
||||
#: subprojects/extensions-app/data/ui/extension-row.ui:151
|
||||
msgid "Author"
|
||||
msgstr "作者"
|
||||
|
||||
#: subprojects/extensions-app/data/ui/extension-row.ui:175
|
||||
msgid "Website"
|
||||
msgstr "網站"
|
||||
|
||||
#: subprojects/extensions-app/data/ui/extension-row.ui:192
|
||||
msgid "Remove…"
|
||||
msgstr "移除…"
|
||||
|
||||
#: subprojects/extensions-app/data/ui/extensions-window.ui:8
|
||||
msgid "Help"
|
||||
msgstr "求助"
|
||||
|
||||
#: subprojects/extensions-app/data/ui/extensions-window.ui:12
|
||||
msgid "About Extensions"
|
||||
msgstr "關於擴充套件"
|
||||
|
||||
#: subprojects/extensions-app/data/ui/extensions-window.ui:27
|
||||
msgid ""
|
||||
"To find and add extensions, visit <a href=\"https://extensions.gnome.org"
|
||||
"\">extensions.gnome.org</a>."
|
||||
msgstr ""
|
||||
"要尋找並加入擴充套件,可以到 <a href=\"https://extensions.gnome.org"
|
||||
"\">extensions.gnome.org</a> 安裝。"
|
||||
|
||||
#: subprojects/extensions-app/data/ui/extensions-window.ui:35
|
||||
msgid "Warning"
|
||||
msgstr "警告"
|
||||
|
||||
#: subprojects/extensions-app/data/ui/extensions-window.ui:46
|
||||
msgid ""
|
||||
"Extensions can cause system issues, including performance problems. If you "
|
||||
"encounter problems with your system, it is recommended to disable all "
|
||||
"extensions."
|
||||
msgstr ""
|
||||
"擴充套件可能會造成系統問題,包含效能問題。如果您遇到系統問題,建議您先停用所"
|
||||
"有的擴充套件。"
|
||||
|
||||
#: subprojects/extensions-app/data/ui/extensions-window.ui:134
|
||||
msgid "Manually Installed"
|
||||
msgstr "手動安裝"
|
||||
|
||||
#: subprojects/extensions-app/data/ui/extensions-window.ui:158
|
||||
msgid "Built-In"
|
||||
msgstr "內建"
|
||||
|
||||
#: subprojects/extensions-app/data/ui/extensions-window.ui:199
|
||||
msgid "No Installed Extensions"
|
||||
msgstr "沒有已安裝的擴充套件"
|
||||
|
||||
#: subprojects/extensions-app/data/ui/extensions-window.ui:235
|
||||
msgid ""
|
||||
"We’re very sorry, but it was not possible to get the list of installed "
|
||||
"extensions. Make sure you are logged into GNOME and try again."
|
||||
msgstr ""
|
||||
"非常抱歉,但無法取得已安裝擴充套件的清單。請確定您已登入 GNOME 後重試。"
|
||||
|
||||
#: subprojects/extensions-app/data/ui/extensions-window.ui:288
|
||||
msgid "Log Out…"
|
||||
msgstr "登出…"
|
||||
|
||||
#. Translators: a file path to an extension directory
|
||||
#: subprojects/extensions-tool/src/command-create.c:125
|
||||
#, c-format
|
||||
@ -2742,6 +2754,9 @@ msgstr[0] "%u 輸入"
|
||||
msgid "System Sounds"
|
||||
msgstr "系統音效"
|
||||
|
||||
#~ msgid "Copy Error"
|
||||
#~ msgstr "複製錯誤"
|
||||
|
||||
#~ msgid "Browse in Software"
|
||||
#~ msgstr "在《軟體》中瀏覽"
|
||||
|
||||
@ -2785,9 +2800,6 @@ msgstr "系統音效"
|
||||
#~ msgid_plural "%d new notifications"
|
||||
#~ msgstr[0] "%d 個新通知"
|
||||
|
||||
#~ msgid "Log in as another user"
|
||||
#~ msgstr "以另一個使用者身分登入"
|
||||
|
||||
#~ msgid ""
|
||||
#~ "Keybinding that pauses and resumes all running tweens, for debugging "
|
||||
#~ "purposes"
|
||||
|
@ -109,11 +109,17 @@ load_folder (GHashTable *folders,
|
||||
|
||||
while ((name = g_dir_read_name (dir)))
|
||||
{
|
||||
g_autofree gchar *stripped_name = NULL;
|
||||
g_autofree gchar *filename = NULL;
|
||||
g_autoptr(GKeyFile) keyfile = NULL;
|
||||
|
||||
if (!g_str_has_suffix (name, ".directory"))
|
||||
continue;
|
||||
|
||||
stripped_name = g_strndup (name, strlen (name) - strlen (".directory"));
|
||||
|
||||
/* First added wins */
|
||||
if (g_hash_table_contains (folders, name))
|
||||
if (g_hash_table_contains (folders, stripped_name))
|
||||
continue;
|
||||
|
||||
filename = g_build_filename (path, name, NULL);
|
||||
@ -128,7 +134,8 @@ load_folder (GHashTable *folders,
|
||||
NULL, NULL);
|
||||
|
||||
if (translated != NULL)
|
||||
g_hash_table_insert (folders, g_strdup (name), translated);
|
||||
g_hash_table_insert (folders, g_steal_pointer (&stripped_name),
|
||||
translated);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -418,6 +418,9 @@ st_icon_update (StIcon *icon)
|
||||
priv->opacity_handler_id = 0;
|
||||
}
|
||||
|
||||
if (priv->gicon == NULL && priv->fallback_gicon == NULL)
|
||||
return;
|
||||
|
||||
if (!st_widget_get_resource_scale (ST_WIDGET (icon), &resource_scale))
|
||||
return;
|
||||
|
||||
|
@ -1619,3 +1619,18 @@ st_texture_cache_rescan_icon_theme (StTextureCache *cache)
|
||||
|
||||
return gtk_icon_theme_rescan_if_needed (priv->icon_theme);
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* st_texture_cache_invalidate:
|
||||
* @cache: a #StTextureCache
|
||||
*
|
||||
* Invalidates the texture cache, and evicts all icons.
|
||||
*/
|
||||
void
|
||||
st_texture_cache_invalidate (StTextureCache *cache)
|
||||
{
|
||||
g_return_if_fail (ST_IS_TEXTURE_CACHE (cache));
|
||||
|
||||
st_texture_cache_evict_icons (cache);
|
||||
}
|
||||
|
@ -115,4 +115,6 @@ CoglTexture * st_texture_cache_load (StTextureCache *cache,
|
||||
|
||||
gboolean st_texture_cache_rescan_icon_theme (StTextureCache *cache);
|
||||
|
||||
void st_texture_cache_invalidate (StTextureCache *cache);
|
||||
|
||||
#endif /* __ST_TEXTURE_CACHE_H__ */
|
||||
|
@ -176,7 +176,11 @@ st_theme_context_set_property (GObject *object,
|
||||
int scale_factor = g_value_get_int (value);
|
||||
if (scale_factor != context->scale_factor)
|
||||
{
|
||||
StTextureCache *cache = st_texture_cache_get_default ();
|
||||
|
||||
context->scale_factor = scale_factor;
|
||||
|
||||
st_texture_cache_invalidate (cache);
|
||||
st_theme_context_changed (context);
|
||||
}
|
||||
|
||||
|
@ -117,6 +117,8 @@ struct _StThemeNode {
|
||||
CoglPipeline *color_pipeline;
|
||||
|
||||
StThemeNodePaintState cached_state;
|
||||
|
||||
int scale_factor;
|
||||
};
|
||||
|
||||
void _st_theme_node_ensure_background (StThemeNode *node);
|
||||
|
@ -219,6 +219,8 @@ st_theme_node_new (StThemeContext *context,
|
||||
if (theme == NULL && parent_node != NULL)
|
||||
theme = parent_node->theme;
|
||||
|
||||
g_object_get (context, "scale-factor", &node->scale_factor, NULL);
|
||||
|
||||
g_set_object (&node->theme, theme);
|
||||
node->element_type = element_type;
|
||||
node->element_id = g_strdup (element_id);
|
||||
@ -345,6 +347,7 @@ st_theme_node_equal (StThemeNode *node_a, StThemeNode *node_b)
|
||||
node_a->context != node_b->context ||
|
||||
node_a->theme != node_b->theme ||
|
||||
node_a->element_type != node_b->element_type ||
|
||||
node_a->scale_factor != node_b->scale_factor ||
|
||||
g_strcmp0 (node_a->element_id, node_b->element_id) ||
|
||||
g_strcmp0 (node_a->inline_style, node_b->inline_style))
|
||||
return FALSE;
|
||||
@ -396,6 +399,7 @@ st_theme_node_hash (StThemeNode *node)
|
||||
hash = hash * 33 + GPOINTER_TO_UINT (node->context);
|
||||
hash = hash * 33 + GPOINTER_TO_UINT (node->theme);
|
||||
hash = hash * 33 + ((guint) node->element_type);
|
||||
hash = hash * 33 + ((guint) node->scale_factor);
|
||||
|
||||
if (node->element_id != NULL)
|
||||
hash = hash * 33 + g_str_hash (node->element_id);
|
||||
@ -975,9 +979,7 @@ get_length_from_term (StThemeNode *node,
|
||||
} type = ABSOLUTE;
|
||||
|
||||
double multiplier = 1.0;
|
||||
int scale_factor;
|
||||
|
||||
g_object_get (node->context, "scale-factor", &scale_factor, NULL);
|
||||
|
||||
if (term->type != TERM_NUMBER)
|
||||
{
|
||||
@ -992,7 +994,7 @@ get_length_from_term (StThemeNode *node,
|
||||
{
|
||||
case NUM_LENGTH_PX:
|
||||
type = ABSOLUTE;
|
||||
multiplier = 1 * scale_factor;
|
||||
multiplier = 1 * node->scale_factor;
|
||||
break;
|
||||
case NUM_LENGTH_PT:
|
||||
type = POINTS;
|
||||
@ -1123,14 +1125,10 @@ get_length_from_term_int (StThemeNode *node,
|
||||
{
|
||||
double value;
|
||||
GetFromTermResult result;
|
||||
int scale_factor;
|
||||
|
||||
result = get_length_from_term (node, term, use_parent_font, &value);
|
||||
if (result == VALUE_FOUND)
|
||||
{
|
||||
g_object_get (node->context, "scale-factor", &scale_factor, NULL);
|
||||
*length = (int) ((value / scale_factor) + 0.5) * scale_factor;
|
||||
}
|
||||
*length = (int) ((value / node->scale_factor) + 0.5) * node->scale_factor;
|
||||
return result;
|
||||
}
|
||||
|
||||
@ -3012,7 +3010,6 @@ StBorderImage *
|
||||
st_theme_node_get_border_image (StThemeNode *node)
|
||||
{
|
||||
int i;
|
||||
int scale_factor;
|
||||
|
||||
if (node->border_image_computed)
|
||||
return node->border_image;
|
||||
@ -3021,7 +3018,6 @@ st_theme_node_get_border_image (StThemeNode *node)
|
||||
node->border_image_computed = TRUE;
|
||||
|
||||
ensure_properties (node);
|
||||
g_object_get (node->context, "scale-factor", &scale_factor, NULL);
|
||||
|
||||
for (i = node->n_properties - 1; i >= 0; i--)
|
||||
{
|
||||
@ -3126,7 +3122,7 @@ st_theme_node_get_border_image (StThemeNode *node)
|
||||
|
||||
node->border_image = st_border_image_new (file,
|
||||
border_top, border_right, border_bottom, border_left,
|
||||
scale_factor);
|
||||
node->scale_factor);
|
||||
|
||||
g_object_unref (file);
|
||||
|
||||
@ -3967,6 +3963,9 @@ st_theme_node_geometry_equal (StThemeNode *node,
|
||||
|
||||
g_return_val_if_fail (ST_IS_THEME_NODE (other), FALSE);
|
||||
|
||||
if (node->scale_factor != other->scale_factor)
|
||||
return FALSE;
|
||||
|
||||
_st_theme_node_ensure_geometry (node);
|
||||
_st_theme_node_ensure_geometry (other);
|
||||
|
||||
|
@ -38,7 +38,7 @@
|
||||
</description>
|
||||
|
||||
<releases>
|
||||
<release version="3.36.0" date="2020-03-07"/>
|
||||
<release version="3.37.0" date="2020-03-31"/>
|
||||
</releases>
|
||||
|
||||
<screenshots>
|
||||
|
@ -93,6 +93,7 @@
|
||||
<object class="GtkSwitch">
|
||||
<property name="visible">True</property>
|
||||
<property name="action-name">win.user-extensions-enabled</property>
|
||||
<property name="valign">center</property>
|
||||
</object>
|
||||
<packing>
|
||||
<property name="pack_type">end</property>
|
||||
|
@ -201,10 +201,7 @@ var ExtensionsWindow = GObject.registerClass({
|
||||
null,
|
||||
Gio.DBusCallFlags.NONE,
|
||||
-1,
|
||||
null,
|
||||
(o, res) => {
|
||||
o.call_finish(res);
|
||||
});
|
||||
null);
|
||||
}
|
||||
|
||||
_sortList(row1, row2) {
|
||||
|
@ -1,5 +1,5 @@
|
||||
project('gnome-extensions-app',
|
||||
version: '3.36.0',
|
||||
version: '3.37.0',
|
||||
meson_version: '>= 0.47.0',
|
||||
license: 'GPLv2+'
|
||||
)
|
||||
|
@ -1,5 +1,5 @@
|
||||
project('gnome-extensions-tool', 'c',
|
||||
version: '3.36.0',
|
||||
version: '3.37.0',
|
||||
meson_version: '>= 0.47.0',
|
||||
license: 'GPLv2+'
|
||||
)
|
||||
|
@ -1,5 +1,5 @@
|
||||
project('shew', 'c',
|
||||
version: '3.36.0',
|
||||
version: '3.37.0',
|
||||
meson_version: '>= 0.47.0',
|
||||
license: 'LGPLv2+',
|
||||
)
|
||||
|
Reference in New Issue
Block a user