From 6623a374036e0f2458d4b36e268f6e4dcc19a2d7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Florian=20M=C3=BCllner?= Date: Wed, 20 May 2015 17:44:50 +0200 Subject: [PATCH 1/7] Add top-icons extension --- extensions/top-icons/extension.js | 96 +++++++++++++++++++++++++++ extensions/top-icons/meson.build | 5 ++ extensions/top-icons/metadata.json.in | 10 +++ extensions/top-icons/stylesheet.css | 1 + meson.build | 1 + 5 files changed, 113 insertions(+) create mode 100644 extensions/top-icons/extension.js create mode 100644 extensions/top-icons/meson.build create mode 100644 extensions/top-icons/metadata.json.in create mode 100644 extensions/top-icons/stylesheet.css diff --git a/extensions/top-icons/extension.js b/extensions/top-icons/extension.js new file mode 100644 index 00000000..79e2f423 --- /dev/null +++ b/extensions/top-icons/extension.js @@ -0,0 +1,96 @@ +// -*- mode: js; js-indent-level: 4; indent-tabs-mode: nil -*- +/* exported init */ + +const { Clutter, Shell, St } = imports.gi; +const Main = imports.ui.main; +const PanelMenu = imports.ui.panelMenu; +const System = imports.system; + +const PANEL_ICON_SIZE = 16; + +const STANDARD_TRAY_ICON_IMPLEMENTATIONS = [ + 'bluetooth-applet', + 'gnome-sound-applet', + 'nm-applet', + 'gnome-power-manager', + 'keyboard', + 'a11y-keyboard', + 'kbd-scrolllock', + 'kbd-numlock', + 'kbd-capslock', + 'ibus-ui-gtk', +]; + +class SysTray { + constructor() { + this._icons = []; + this._tray = null; + } + + _onTrayIconAdded(o, icon) { + let wmClass = icon.wm_class ? icon.wm_class.toLowerCase() : ''; + if (STANDARD_TRAY_ICON_IMPLEMENTATIONS.includes(wmClass)) + return; + + let button = new PanelMenu.Button(0.5, null, true); + + let scaleFactor = St.ThemeContext.get_for_stage(global.stage).scale_factor; + let iconSize = PANEL_ICON_SIZE * scaleFactor; + + icon.set({ + width: iconSize, + height: iconSize, + x_align: Clutter.ActorAlign.CENTER, + y_align: Clutter.ActorAlign.CENTER, + }); + + let iconBin = new St.Widget({ + layout_manager: new Clutter.BinLayout(), + }); + iconBin.add_actor(icon); + button.add_actor(iconBin); + + this._icons.push(icon); + + button.connect('button-release-event', (actor, event) => { + icon.click(event); + }); + button.connect('key-press-event', (actor, event) => { + icon.click(event); + }); + + icon.connect('destroy', () => { + button.destroy(); + }); + + let role = wmClass || `${icon}`; + Main.panel.addToStatusArea(role, button); + } + + _onTrayIconRemoved(o, icon) { + let parent = icon.get_parent(); + parent.destroy(); + this._icons.splice(this._icons.indexOf(icon), 1); + } + + enable() { + this._tray = new Shell.TrayManager(); + this._tray.connect('tray-icon-added', + this._onTrayIconAdded.bind(this)); + this._tray.connect('tray-icon-removed', + this._onTrayIconRemoved.bind(this)); + this._tray.manage_screen(Main.panel); + } + + disable() { + this._icons.forEach(icon => icon.get_parent().destroy()); + this._icons = []; + + this._tray = null; + System.gc(); // force finalizing tray to unmanage screen + } +} + +function init() { + return new SysTray(); +} diff --git a/extensions/top-icons/meson.build b/extensions/top-icons/meson.build new file mode 100644 index 00000000..48504f63 --- /dev/null +++ b/extensions/top-icons/meson.build @@ -0,0 +1,5 @@ +extension_data += configure_file( + input: metadata_name + '.in', + output: metadata_name, + configuration: metadata_conf +) diff --git a/extensions/top-icons/metadata.json.in b/extensions/top-icons/metadata.json.in new file mode 100644 index 00000000..f1e2436f --- /dev/null +++ b/extensions/top-icons/metadata.json.in @@ -0,0 +1,10 @@ +{ +"extension-id": "@extension_id@", +"uuid": "@uuid@", +"settings-schema": "@gschemaname@", +"gettext-domain": "@gettext_domain@", +"name": "Top Icons", +"description": "Shows legacy tray icons on top", +"shell-version": [ "@shell_current@" ], +"url": "http://94.247.144.115/repo/topicons/" +} diff --git a/extensions/top-icons/stylesheet.css b/extensions/top-icons/stylesheet.css new file mode 100644 index 00000000..25134b65 --- /dev/null +++ b/extensions/top-icons/stylesheet.css @@ -0,0 +1 @@ +/* This extensions requires no special styling */ diff --git a/meson.build b/meson.build index 41a7e99d..f754767c 100644 --- a/meson.build +++ b/meson.build @@ -45,6 +45,7 @@ all_extensions = default_extensions all_extensions += [ 'auto-move-windows', 'native-window-placement', + 'top-icons', 'user-theme' ] -- 2.38.1 From a38891b5a6b0ba51998298963988bf146b2e1f86 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Florian=20M=C3=BCllner?= Date: Wed, 20 May 2015 18:05:41 +0200 Subject: [PATCH 2/7] Add dash-to-dock extension --- extensions/dash-to-dock/Settings.ui | 2660 +++++++++++++++++ extensions/dash-to-dock/appIconIndicators.js | 1078 +++++++ extensions/dash-to-dock/appIcons.js | 1273 ++++++++ extensions/dash-to-dock/dash.js | 1072 +++++++ extensions/dash-to-dock/dbusmenuUtils.js | 274 ++ extensions/dash-to-dock/docking.js | 1967 ++++++++++++ extensions/dash-to-dock/extension.js | 21 + extensions/dash-to-dock/fileManager1API.js | 226 ++ extensions/dash-to-dock/intellihide.js | 321 ++ extensions/dash-to-dock/launcherAPI.js | 281 ++ extensions/dash-to-dock/locations.js | 293 ++ extensions/dash-to-dock/media/glossy.svg | 139 + .../media/highlight_stacked_bg.svg | 82 + .../media/highlight_stacked_bg_h.svg | 82 + extensions/dash-to-dock/media/logo.svg | 528 ++++ extensions/dash-to-dock/media/screenshot.jpg | Bin 0 -> 111454 bytes extensions/dash-to-dock/meson.build | 27 + extensions/dash-to-dock/metadata.json.in | 12 + extensions/dash-to-dock/po/ar.po | 573 ++++ extensions/dash-to-dock/po/cs.po | 552 ++++ extensions/dash-to-dock/po/de.po | 586 ++++ extensions/dash-to-dock/po/el.po | 444 +++ extensions/dash-to-dock/po/es.po | 521 ++++ extensions/dash-to-dock/po/eu.po | 543 ++++ extensions/dash-to-dock/po/fr.po | 529 ++++ extensions/dash-to-dock/po/gl.po | 438 +++ extensions/dash-to-dock/po/hu.po | 440 +++ extensions/dash-to-dock/po/id.po | 450 +++ extensions/dash-to-dock/po/it.po | 517 ++++ extensions/dash-to-dock/po/ja.po | 585 ++++ extensions/dash-to-dock/po/nb.po | 506 ++++ extensions/dash-to-dock/po/nl.po | 662 ++++ extensions/dash-to-dock/po/pl.po | 558 ++++ extensions/dash-to-dock/po/pt.po | 509 ++++ extensions/dash-to-dock/po/pt_BR.po | 513 ++++ extensions/dash-to-dock/po/ru.po | 626 ++++ extensions/dash-to-dock/po/sk.po | 454 +++ extensions/dash-to-dock/po/sr.po | 470 +++ extensions/dash-to-dock/po/sr@latin.po | 469 +++ extensions/dash-to-dock/po/sv.po | 545 ++++ extensions/dash-to-dock/po/tr.po | 525 ++++ extensions/dash-to-dock/po/uk_UA.po | 575 ++++ extensions/dash-to-dock/po/zh_CN.po | 626 ++++ extensions/dash-to-dock/po/zh_TW.po | 542 ++++ extensions/dash-to-dock/prefs.js | 838 ++++++ ....shell.extensions.dash-to-dock.gschema.xml | 551 ++++ extensions/dash-to-dock/stylesheet.css | 231 ++ extensions/dash-to-dock/theming.js | 553 ++++ extensions/dash-to-dock/utils.js | 308 ++ extensions/dash-to-dock/windowPreview.js | 598 ++++ meson.build | 1 + po/ar.po | 568 +++- po/cs.po | 553 +++- po/de.po | 587 +++- po/el.po | 451 ++- po/es.po | 528 +++- po/eu.po | 582 +++- po/fr.po | 537 +++- po/gl.po | 445 ++- po/hu.po | 441 ++- po/id.po | 451 ++- po/it.po | 516 +++- po/ja.po | 620 +++- po/nb.po | 509 +++- po/nl.po | 663 +++- po/pl.po | 565 +++- po/pt.po | 520 +++- po/pt_BR.po | 519 +++- po/ru.po | 634 +++- po/sk.po | 456 ++- po/sr.po | 478 ++- po/sr@latin.po | 489 ++- po/sv.po | 546 +++- po/tr.po | 554 +++- po/zh_CN.po | 643 +++- po/zh_TW.po | 559 +++- 76 files changed, 40473 insertions(+), 115 deletions(-) create mode 100644 extensions/dash-to-dock/Settings.ui create mode 100644 extensions/dash-to-dock/appIconIndicators.js create mode 100644 extensions/dash-to-dock/appIcons.js create mode 100644 extensions/dash-to-dock/dash.js create mode 100644 extensions/dash-to-dock/dbusmenuUtils.js create mode 100644 extensions/dash-to-dock/docking.js create mode 100644 extensions/dash-to-dock/extension.js create mode 100644 extensions/dash-to-dock/fileManager1API.js create mode 100644 extensions/dash-to-dock/intellihide.js create mode 100644 extensions/dash-to-dock/launcherAPI.js create mode 100644 extensions/dash-to-dock/locations.js create mode 100644 extensions/dash-to-dock/media/glossy.svg create mode 100644 extensions/dash-to-dock/media/highlight_stacked_bg.svg create mode 100644 extensions/dash-to-dock/media/highlight_stacked_bg_h.svg create mode 100644 extensions/dash-to-dock/media/logo.svg create mode 100644 extensions/dash-to-dock/media/screenshot.jpg create mode 100644 extensions/dash-to-dock/meson.build create mode 100644 extensions/dash-to-dock/metadata.json.in create mode 100644 extensions/dash-to-dock/po/ar.po create mode 100644 extensions/dash-to-dock/po/cs.po create mode 100644 extensions/dash-to-dock/po/de.po create mode 100644 extensions/dash-to-dock/po/el.po create mode 100644 extensions/dash-to-dock/po/es.po create mode 100644 extensions/dash-to-dock/po/eu.po create mode 100644 extensions/dash-to-dock/po/fr.po create mode 100644 extensions/dash-to-dock/po/gl.po create mode 100644 extensions/dash-to-dock/po/hu.po create mode 100644 extensions/dash-to-dock/po/id.po create mode 100644 extensions/dash-to-dock/po/it.po create mode 100644 extensions/dash-to-dock/po/ja.po create mode 100644 extensions/dash-to-dock/po/nb.po create mode 100644 extensions/dash-to-dock/po/nl.po create mode 100644 extensions/dash-to-dock/po/pl.po create mode 100644 extensions/dash-to-dock/po/pt.po create mode 100644 extensions/dash-to-dock/po/pt_BR.po create mode 100644 extensions/dash-to-dock/po/ru.po create mode 100644 extensions/dash-to-dock/po/sk.po create mode 100644 extensions/dash-to-dock/po/sr.po create mode 100644 extensions/dash-to-dock/po/sr@latin.po create mode 100644 extensions/dash-to-dock/po/sv.po create mode 100644 extensions/dash-to-dock/po/tr.po create mode 100644 extensions/dash-to-dock/po/uk_UA.po create mode 100644 extensions/dash-to-dock/po/zh_CN.po create mode 100644 extensions/dash-to-dock/po/zh_TW.po create mode 100644 extensions/dash-to-dock/prefs.js create mode 100644 extensions/dash-to-dock/schemas/org.gnome.shell.extensions.dash-to-dock.gschema.xml create mode 100644 extensions/dash-to-dock/stylesheet.css create mode 100644 extensions/dash-to-dock/theming.js create mode 100644 extensions/dash-to-dock/utils.js create mode 100644 extensions/dash-to-dock/windowPreview.js diff --git a/extensions/dash-to-dock/Settings.ui b/extensions/dash-to-dock/Settings.ui new file mode 100644 index 00000000..d2560de5 --- /dev/null +++ b/extensions/dash-to-dock/Settings.ui @@ -0,0 +1,2660 @@ + + + + + 1 + 0.050000000000000003 + 0.25 + + + 0 + 12 + 12 + 12 + 12 + vertical + + + 0 + + + 0 + none + + + 100 + 80 + + + 0 + 12 + 12 + 12 + 12 + 32 + + + 0 + 1 + When set to minimize, double clicking minimizes all the windows of the application. + 1 + 40 + + + + 0 + 1 + + + + + + 0 + 1 + Shift+Click action + + + 0 + 0 + + + + + + 0 + center + + Raise window + Minimize window + Launch new instance + Cycle through windows + Minimize or overview + Show window previews + Minimize or show previews + Focus or show previews + Focus, minimize or show previews + Quit + + + 1 + 0 + 2 + + + + + + + + + + 100 + 80 + + + 0 + 12 + 12 + 12 + 12 + 32 + + + 0 + 1 + Behavior for Middle-Click. + 1 + 40 + + + + 0 + 1 + + + + + + 0 + 1 + Middle-Click action + + + 0 + 0 + + + + + + 0 + center + + Raise window + Minimize window + Launch new instance + Cycle through windows + Minimize or overview + Show window previews + Minimize or show previews + Focus or show previews + Focus, minimize or show previews + Quit + + + 1 + 0 + 2 + + + + + + + + + + 100 + 80 + + + 0 + 12 + 12 + 12 + 12 + 32 + + + 0 + 1 + Behavior for Shift+Middle-Click. + 1 + 40 + + + + 0 + 1 + + + + + + 0 + 1 + Shift+Middle-Click action + + + 0 + 0 + + + + + + 0 + center + + Raise window + Minimize window + Launch new instance + Cycle through windows + Minimize or overview + Show window previews + Minimize or show previews + Focus or show previews + Focus, minimize or show previews + Quit + + + 1 + 0 + 2 + + + + + + + + + + + + + + + + + 1 + 0.01 + 0.10 + + + 0.33 + 1 + 0.01 + 0.10 + + + 10 + 1 + 5 + + + 0 + 12 + 12 + 12 + 12 + vertical + + + 0 + + + + 0 + none + + + 100 + 80 + + + 0 + 12 + 12 + 12 + 12 + vertical + 12 + + + 0 + 32 + + + 1 + 0 + center + Enable Unity7 like glossy backlit items + + + + + + center + + + + + + + 0 + + + 1 + 0 + start + Use dominant color + + + + + + + + + + 0 + 32 + + + + 1 + 0 + + + + + + 0 + 1 + Customize indicator style + fill + + + 0 + 0 + + + + + + + + 0 + 1 + vertical + 12 + + + 0 + 32 + + + 1 + 0 + Color + + + + + + 1 + + + + + + + 0 + 32 + + + 1 + 0 + Border color + + + + + + 1 + + + + + + + 0 + 32 + + + 1 + 0 + Border width + + + + + + dot_border_width_adjustment + + + + + + + + + + + + + + + + + + + + 1 + 0.050000000000000003 + 0.25 + + + 16 + 128 + 1 + 10 + + + 6 + 6 + 6 + 6 + + + + + 0 + 24 + 24 + 24 + 24 + vertical + 24 + + + 0 + + + + 0 + none + + + + + 0 + 12 + 12 + 12 + 12 + 32 + + + 0 + 1 + start + Show the dock on + + 0 + 0 + + + + + + 0 + center + + + 1 + 0 + + + + + + Show on all monitors. + 12 + + + 0 + 2 + 2 + + + + + + + + + + + + + + + + 100 + + + 0 + 12 + 12 + 12 + 12 + 32 + + + 0 + 1 + Position on screen + + + + + + 0 + 32 + + + Left + end + center + + + + + + + Bottom + center + + position_left_button + + + + + + Top + center + + + position_left_button + + + + + + Right + center + + position_left_button + + + + + + + + + + + + + + + + + + + 0 + + + + 0 + none + + + 100 + 80 + + + 0 + 12 + 12 + 12 + 12 + 32 + + + 0 + 1 + start + Hide the dock when it obstructs a window of the current application. More refined settings are available. + 1 + + + + 0 + 1 + + + + + + 0 + 1 + start + Intelligent autohide + + + 0 + 0 + + + + + + 0 + 6 + + + 1 + center + center + + + + 0 + emblem-system-symbolic + + + + + + + + end + center + + + + 1 + 0 + 2 + + + + + + + + + + + + + + + + + 0 + + + + 0 + none + + + 100 + 80 + + + 0 + 12 + 12 + 12 + 12 + 32 + + + 0 + Dock size limit + + + 0 + 0 + + + + + + 1 + baseline + 1 + dock_size_adjustment + 0 + 2 + right + + + 1 + 0 + + + + + + Panel mode: extend to the screen edge + 12 + + + 0 + 1 + 2 + + + + + + + + + + + + 0 + 12 + 12 + 12 + 12 + 32 + + + 0 + Icon size limit + + + 0 + 0 + + + + + + 1 + baseline + 1 + icon_size_adjustment + 1 + 0 + right + + + 1 + 0 + + + + + + Fixed icon size: scroll to reveal other icons + 12 + + + 0 + 1 + 2 + + + + + + + + + + + + + + + + + + + 0 + Position and size + + + + + + + 1 + + + 0 + 24 + 24 + 24 + 24 + vertical + 24 + + + 0 + + + + 0 + none + + + + + 0 + 12 + 12 + 12 + 12 + 32 + + + end + center + + 1 + 0 + + + + + + 0 + 1 + start + Show favorite applications + + + 0 + 0 + + + + + + + + + + + + 0 + 12 + 12 + 12 + 12 + 32 + + + end + center + + 1 + 0 + + + + + + 0 + 1 + start + Show running applications + + + 0 + 0 + + + + + + Isolate workspaces. + start + 12 + + + 0 + 2 + 2 + + + + + + Isolate monitors. + start + 12 + + + 0 + 3 + 2 + + + + + + 3 + + + + 0 + Show open windows previews. + 1 + + + + 0 + 1 + 2 + + + + + + + + + + + + 0 + 12 + 12 + 12 + 12 + 32 + + + end + center + + 1 + 0 + 2 + + + + + + 0 + 1 + If disabled, these settings are accessible from gnome-tweak-tool or the extension website. + 1 + + + + 0 + 1 + + + + + + 0 + 1 + start + Show <i>Applications</i> icon + 1 + + + 0 + 0 + + + + + + Move the applications button at the beginning of the dock. + start + 12 + + + 0 + 2 + 2 + + + + + + 3 + + + + + 0 + start + Animate <i>Show Applications</i>. + 1 + + + + 0 + 3 + 2 + + + + + + + + + + + + 0 + 12 + 12 + 12 + 12 + 32 + + + end + center + + 1 + 0 + + + + + + 0 + 1 + start + Show trash can + + + 0 + 0 + + + + + + + + + + + + 0 + 12 + 12 + 12 + 12 + 32 + + + end + center + + 1 + 0 + + + + + + 0 + 1 + start + Show mounted volumes and devices + + + 0 + 0 + + + + + + + + + + + + + + + + + + + 0 + Launchers + + + + + + + 2 + + + 0 + 24 + 24 + 24 + 24 + vertical + 24 + + + 0 + + + + 0 + none + + + + + 0 + 12 + 12 + 12 + 12 + 32 + + + 0 + start + 1 + Enable Super+(0-9) as shortcuts to activate apps. It can also be used together with Shift and Ctrl. + 1 + 1 + + + + 0 + 1 + + + + + + 0 + 1 + start + Use keyboard shortcuts to activate apps + + + 0 + 0 + + + + + + 0 + 6 + + + 1 + center + center + + + + 0 + emblem-system-symbolic + + + + + + + + end + center + + + + 1 + 0 + 2 + + + + + + + + + + + + + + + + + 0 + + + + 0 + none + + + + + 0 + 12 + 12 + 12 + 12 + 32 + + + 0 + 1 + start + Behaviour when clicking on the icon of a running application. + 1 + + + + 0 + 1 + + + + + + 0 + 1 + start + Click action + + + 0 + 0 + + + + + + 0 + 6 + + + 1 + center + + + 0 + emblem-system-symbolic + + + + + + + + 0 + center + + Raise window + Minimize + Launch new instance + Cycle through windows + Minimize or overview + Show window previews + Minimize or show previews + Focus or show previews + Focus, minimize or show previews + + + + + 1 + 0 + 2 + + + + + + + + + + + + + + + + + 0 + + + + 0 + none + + + + + 0 + 12 + 12 + 12 + 12 + 32 + + + 0 + 1 + start + Behaviour when scrolling on the icon of an application. + 1 + + + + 0 + 1 + + + + + + 0 + 1 + start + Scroll action + + + 0 + 0 + + + + + + 0 + 6 + + + 0 + center + + Do nothing + Cycle through windows + Switch workspace + + + + + 1 + 0 + 2 + + + + + + + + + + + + + + + + + + + 0 + start + Behavior + + + + + + + 3 + + + 0 + 24 + 24 + 24 + 24 + vertical + 24 + + + 0 + + + + none + + + + + 0 + 12 + 12 + 12 + 12 + 32 + + + 0 + 1 + start + Few customizations meant to integrate the dock with the default GNOME theme. Alternatively, specific options can be enabled below. + 1 + + + + 0 + 1 + + + + + + 0 + 1 + start + Use built-in theme + + + 0 + 0 + + + + + + end + center + + 1 + 0 + 2 + + + + + + + + + + + + + + + + + 0 + + + + 0 + none + + + + + 0 + 12 + 12 + 12 + 12 + 32 + + + end + center + + 1 + 0 + 2 + + + + + + 0 + 1 + start + Save space reducing padding and border radius. + + + + 0 + 1 + + + + + + 0 + 1 + start + Shrink the dash + + + 0 + 0 + + + + + + + + + + + + 0 + 12 + 12 + 12 + 12 + 32 + + + 0 + 1 + start + Customize windows counter indicators + + + 0 + 0 + + + + + + 0 + 6 + + + 1 + center + center + + + + 0 + emblem-system-symbolic + + + + + + + + 0 + + Default + Dots + Squares + Dashes + Segmented + Solid + Ciliora + Metro + + + + + 1 + 0 + 2 + + + + + + + + + + + + + + + 0 + 12 + 12 + 12 + 12 + 32 + + + 0 + 1 + start + Set the background color for the dash. + 1 + + + + 0 + 1 + + + + + + 0 + 1 + start + Customize the dash color + + + 0 + 0 + + + + + + 0 + 6 + + + 1 + center + center + + + + + + end + center + + + + 1 + 0 + 2 + + + + + + + + + + + + 0 + vertical + + + 0 + 12 + 12 + 12 + 12 + 32 + + + 0 + 1 + start + Tune the dash background opacity. + + + + 0 + 1 + + + + + + 0 + 1 + start + Customize opacity + + + 0 + 0 + + + + + + 0 + 6 + + + 1 + center + center + + + 0 + emblem-system-symbolic + + + + + + + + 0 + center + + Default + Fixed + Dynamic + + + + + 1 + 0 + 2 + + + + + + + + 0 + 12 + 12 + 12 + 12 + 32 + + + 0 + Opacity + + + + + 1 + 1 + custom_opacity_adjustement + + 0 + 0 + 0 + 2 + right + + + + + + + + + + + + 100 + 80 + + + 0 + 32 + + + 1 + 0 + center + start + Force straight corner + + + + + + center + 3 + + + + + + + + + + + + + + + + + + 0 + Appearance + + + + + + + 4 + + + 0 + 0 + 24 + 24 + 1 + 1 + vertical + 5 + + + + + + 0 + <b>Dash to Dock</b> + 1 + + + + + 0 + center + + + 0 + end + version: + + + + + 0 + start + ... + + + + + + + 0 + Moves the dash out of the overview transforming it in a dock + center + 1 + + + + + 0 + center + 5 + + + 0 + Created by + + + + + Michele (<a href="mailto:micxgx@gmail.com">micxgx@gmail.com</a>) + 1 + + + + + + + Webpage + 1 + center + + https://micheleg.github.io/dash-to-dock/ + + + + + 1 + end + <span size="small">This program comes with ABSOLUTELY NO WARRANTY. +See the <a href="https://www.gnu.org/licenses/old-licenses/gpl-2.0.html">GNU General Public License, version 2 or later</a> for details.</span> + 1 + center + 1 + + + + + + + 0 + About + + + + + + + 1 + 0.01 + 0.10000000000000001 + + + 1 + 0.01 + 0.10000000000000001 + + + 0 + 12 + 12 + 12 + 12 + vertical + + + 0 + + + + 0 + none + + + 100 + 80 + + + 0 + 12 + 12 + 12 + 12 + vertical + 12 + + + 0 + 32 + + + + 1 + 0 + + + + + + 0 + 1 + Customize minimum and maximum opacity values + fill + + + 0 + 0 + + + + + + + + 0 + 12 + 12 + 12 + 12 + 32 + + + 0 + Minimum opacity + + + + + 1 + 1 + min_opacity_adjustement + + 0 + 0 + 0 + 2 + right + + + + + + + + 0 + 12 + 12 + 12 + 12 + 32 + + + 0 + Maximum opacity + + + + + 1 + 1 + max_opacity_adjustement + + 0 + 0 + 0 + 2 + right + + + + + + + + + + + + + + + + + + + 1000 + 50 + 250 + + + 10 + 0.25 + 1 + + + 0 + 12 + 12 + 12 + 12 + vertical + + + 0 + + + + 0 + none + + + 100 + 80 + + + 0 + 12 + 12 + 12 + 12 + 32 + + + end + center + + 1 + 0 + 2 + + + + + + 0 + 1 + Number overlay + + + 0 + 0 + + + + + + 0 + Temporarily show the application numbers over the icons, corresponding to the shortcut. + 1 + 40 + + + + 0 + 1 + + + + + + + + + + 100 + 80 + + + 0 + 12 + 12 + 12 + 12 + 32 + + + end + center + + 1 + 0 + 2 + + + + + + 0 + 1 + start + Show the dock if it is hidden + + + 0 + 0 + + + + + + 0 + If using autohide, the dock will appear for a short time when triggering the shortcut. + 1 + 40 + + + + 0 + 1 + + + + + + + + + + 100 + 80 + + + 0 + 12 + 12 + 12 + 12 + 32 + + + 0 + center + 12 + + 1 + 0 + + + + + + 0 + 1 + Shortcut for the options above + + + 0 + 0 + + + + + + 0 + Syntax: <Shift>, <Ctrl>, <Alt>, <Super> + 1 + 40 + + + + 0 + 1 + + + + + + + + + + + + + + + 0 + 12 + 12 + 12 + 12 + 1 + 6 + 32 + + + end + shortcut_time_adjustment + 3 + + 1 + 0 + + + + + + 0 + 1 + Hide timeout (s) + + + 0 + 0 + + + + + + + + + + + + + + + + + 1 + 0.050000000000000003 + 0.25 + + + 0 + 12 + 12 + 12 + 12 + vertical + + + 0 + + + + 0 + none + + + + + 0 + 12 + 12 + 12 + 12 + 32 + + + 0 + 1 + start + Show the dock by mouse hover on the screen edge. + 1 + + + + 0 + 1 + + + + + + 0 + 1 + Autohide + + + 0 + 0 + + + + + + end + center + + 1 + 0 + 2 + + + + + + Push to show: require pressure to show the dock + + + 0 + 3 + 2 + + + + + + Enable in fullscreen mode + 12 + + + 0 + 2 + 2 + + + + + + + + + + + + 0 + 12 + 12 + 12 + 12 + 32 + + + 0 + 1 + start + Show the dock when it doesn't obstruct application windows. + 1 + + + + 0 + 1 + + + + + + 0 + 1 + Dodge windows + + + 0 + 0 + + + + + + end + center + + 1 + 0 + 2 + + + + + + 0 + vertical + + + All windows + 12 + + 1 + + + + + + Only focused application's windows + + 1 + all_windows_radio_button + + + + + + Only maximized windows + + 1 + all_windows_radio_button + + + + + 0 + 2 + 2 + + + + + + + + + + + + 0 + 12 + 12 + 12 + 12 + 1 + 6 + 32 + + + end + animation_time_adjustment + 3 + + 1 + 0 + + + + + + 0 + 1 + Animation duration (s) + + + 0 + 0 + + + + + + end + hide_timeout_adjustment + 3 + + 1 + 1 + + + + + + end + show_timeout_adjustment + 3 + + 1 + 2 + + + + + + 0.000 + pressure_threshold_adjustment + + 1 + 3 + + + + + + 0 + 1 + Hide timeout (s) + + + 0 + 1 + + + + + + 0 + 1 + Show timeout (s) + + + 0 + 2 + + + + + + 0 + 1 + Pressure threshold + + + 0 + 3 + + + + + + + + + + + + + + + + diff --git a/extensions/dash-to-dock/appIconIndicators.js b/extensions/dash-to-dock/appIconIndicators.js new file mode 100644 index 00000000..f015a80f --- /dev/null +++ b/extensions/dash-to-dock/appIconIndicators.js @@ -0,0 +1,1078 @@ +const Cairo = imports.cairo; +const Clutter = imports.gi.Clutter; +const GdkPixbuf = imports.gi.GdkPixbuf +const Gio = imports.gi.Gio; +const Graphene = imports.gi.Graphene; +const Gtk = imports.gi.Gtk; +const Main = imports.ui.main; +const Pango = imports.gi.Pango; +const Shell = imports.gi.Shell; +const St = imports.gi.St; + +const Util = imports.misc.util; + +const Me = imports.misc.extensionUtils.getCurrentExtension(); +const Docking = Me.imports.docking; +const Utils = Me.imports.utils; + +let tracker = Shell.WindowTracker.get_default(); + +const RunningIndicatorStyle = { + DEFAULT: 0, + DOTS: 1, + SQUARES: 2, + DASHES: 3, + SEGMENTED: 4, + SOLID: 5, + CILIORA: 6, + METRO: 7 +}; + +const MAX_WINDOWS_CLASSES = 4; + + +/* + * This is the main indicator class to be used. The desired bahviour is + * obtained by composing the desired classes below based on the settings. + * + */ +var AppIconIndicator = class DashToDock_AppIconIndicator { + + constructor(source) { + this._indicators = []; + + // Unity indicators always enabled for now + let unityIndicator = new UnityIndicator(source); + this._indicators.push(unityIndicator); + + // Choose the style for the running indicators + let runningIndicator = null; + let runningIndicatorStyle; + + let settings = Docking.DockManager.settings; + if (settings.get_boolean('apply-custom-theme' )) { + runningIndicatorStyle = RunningIndicatorStyle.DOTS; + } else { + runningIndicatorStyle = settings.get_enum('running-indicator-style'); + } + + switch (runningIndicatorStyle) { + case RunningIndicatorStyle.DEFAULT: + runningIndicator = new RunningIndicatorDefault(source); + break; + + case RunningIndicatorStyle.DOTS: + runningIndicator = new RunningIndicatorDots(source); + break; + + case RunningIndicatorStyle.SQUARES: + runningIndicator = new RunningIndicatorSquares(source); + break; + + case RunningIndicatorStyle.DASHES: + runningIndicator = new RunningIndicatorDashes(source); + break; + + case RunningIndicatorStyle.SEGMENTED: + runningIndicator = new RunningIndicatorSegmented(source); + break; + + case RunningIndicatorStyle.SOLID: + runningIndicator = new RunningIndicatorSolid(source); + break; + + case RunningIndicatorStyle.CILIORA: + runningIndicator = new RunningIndicatorCiliora(source); + break; + + case RunningIndicatorStyle.METRO: + runningIndicator = new RunningIndicatorMetro(source); + break; + + default: + runningIndicator = new RunningIndicatorBase(source); + } + + this._indicators.push(runningIndicator); + } + + update() { + for (let i=0; i { + this._signalsHandler.destroy(); + }); + } + + update() { + } + + destroy() { + this._source.disconnect(this._sourceDestroyId); + this._signalsHandler.destroy(); + } +}; + +/* + * A base indicator class for running style, from which all other EunningIndicators should derive, + * providing some basic methods, variables definitions and their update, css style classes handling. + * + */ +var RunningIndicatorBase = class DashToDock_RunningIndicatorBase extends IndicatorBase { + + constructor(source) { + super(source) + + this._side = Utils.getPosition(); + this._nWindows = 0; + + this._dominantColorExtractor = new DominantColorExtractor(this._source.app); + + // These statuses take into account the workspace/monitor isolation + this._isFocused = false; + this._isRunning = false; + } + + update() { + // Limit to 1 to MAX_WINDOWS_CLASSES windows classes + this._nWindows = Math.min(this._source.getInterestingWindows().length, MAX_WINDOWS_CLASSES); + + // We need to check the number of windows, as the focus might be + // happening on another monitor if using isolation + if (tracker.focus_app == this._source.app && this._nWindows > 0) + this._isFocused = true; + else + this._isFocused = false; + + // In the case of workspace isolation, we need to hide the dots of apps with + // no windows in the current workspace + if ((this._source.app.state != Shell.AppState.STOPPED || this._source.isLocation()) && this._nWindows > 0) + this._isRunning = true; + else + this._isRunning = false; + + this._updateCounterClass(); + this._updateFocusClass(); + this._updateDefaultDot(); + } + + _updateCounterClass() { + for (let i = 1; i <= MAX_WINDOWS_CLASSES; i++) { + let className = 'running' + i; + if (i != this._nWindows) + this._source.remove_style_class_name(className); + else + this._source.add_style_class_name(className); + } + } + + _updateFocusClass() { + if (this._isFocused) + this._source.add_style_class_name('focused'); + else + this._source.remove_style_class_name('focused'); + } + + _updateDefaultDot() { + if (this._isRunning) + this._source._dot.show(); + else + this._source._dot.hide(); + } + + _hideDefaultDot() { + // I use opacity to hide the default dot because the show/hide function + // are used by the parent class. + this._source._dot.opacity = 0; + } + + _restoreDefaultDot() { + this._source._dot.opacity = 255; + } + + _enableBacklight() { + + let colorPalette = this._dominantColorExtractor._getColorPalette(); + + // Fallback + if (colorPalette === null) { + this._source._iconContainer.set_style( + 'border-radius: 5px;' + + 'background-gradient-direction: vertical;' + + 'background-gradient-start: #e0e0e0;' + + 'background-gradient-end: darkgray;' + ); + + return; + } + + this._source._iconContainer.set_style( + 'border-radius: 5px;' + + 'background-gradient-direction: vertical;' + + 'background-gradient-start: ' + colorPalette.original + ';' + + 'background-gradient-end: ' + colorPalette.darker + ';' + ); + + } + + _disableBacklight() { + this._source._iconContainer.set_style(null); + } + + destroy() { + this._disableBacklight(); + // Remove glossy background if the children still exists + if (this._source._iconContainer.get_children().length > 1) + this._source._iconContainer.get_children()[1].set_style(null); + this._restoreDefaultDot(); + + super.destroy(); + } +}; + +// We add a css class so third parties themes can limit their indicaor customization +// to the case we do nothing +var RunningIndicatorDefault = class DashToDock_RunningIndicatorDefault extends RunningIndicatorBase { + + constructor(source) { + super(source); + this._source.add_style_class_name('default'); + } + + destroy() { + this._source.remove_style_class_name('default'); + super.destroy(); + } +}; + +var RunningIndicatorDots = class DashToDock_RunningIndicatorDots extends RunningIndicatorBase { + + constructor(source) { + super(source) + + this._hideDefaultDot(); + + this._area = new St.DrawingArea({x_expand: true, y_expand: true}); + + // We draw for the bottom case and rotate the canvas for other placements + //set center of rotatoins to the center + this._area.set_pivot_point(0.5, 0.5); + // prepare transformation matrix + let m = new Graphene.Matrix(); + m.init_identity(); + let v = new Graphene.Vec3(); + v.init(0, 0, 1); + + switch (this._side) { + case St.Side.TOP: + m.xx = -1; + m.rotate(180, v); + break + + case St.Side.BOTTOM: + // nothing + break; + + case St.Side.LEFT: + m.yy = -1; + m.rotate(90, v); + break; + + case St.Side.RIGHT: + m.rotate(-90, v); + break + } + + this._area.set_transform(m); + + this._area.connect('repaint', this._updateIndicator.bind(this)); + this._source._iconContainer.add_child(this._area); + + let keys = ['custom-theme-running-dots-color', + 'custom-theme-running-dots-border-color', + 'custom-theme-running-dots-border-width', + 'custom-theme-customize-running-dots', + 'unity-backlit-items', + 'running-indicator-dominant-color']; + + keys.forEach(function(key) { + this._signalsHandler.add([ + Docking.DockManager.settings, + 'changed::' + key, + this.update.bind(this) + ]); + }, this); + + // Apply glossy background + // TODO: move to enable/disableBacklit to apply itonly to the running apps? + // TODO: move to css class for theming support + this._glossyBackgroundStyle = 'background-image: url(\'' + Me.path + '/media/glossy.svg\');' + + 'background-size: contain;'; + } + + update() { + super.update(); + + // Enable / Disable the backlight of running apps + if (!Docking.DockManager.settings.get_boolean('apply-custom-theme') && + Docking.DockManager.settings.get_boolean('unity-backlit-items')) { + this._source._iconContainer.get_children()[1].set_style(this._glossyBackgroundStyle); + if (this._isRunning) + this._enableBacklight(); + else + this._disableBacklight(); + } else { + this._disableBacklight(); + this._source._iconContainer.get_children()[1].set_style(null); + } + + if (this._area) + this._area.queue_repaint(); + } + + _computeStyle() { + + let [width, height] = this._area.get_surface_size(); + this._width = height; + this._height = width; + + // By defaut re-use the style - background color, and border width and color - + // of the default dot + let themeNode = this._source._dot.get_theme_node(); + this._borderColor = themeNode.get_border_color(this._side); + this._borderWidth = themeNode.get_border_width(this._side); + this._bodyColor = themeNode.get_background_color(); + + let settings = Docking.DockManager.settings; + if (!settings.get_boolean('apply-custom-theme')) { + // Adjust for the backlit case + if (settings.get_boolean('unity-backlit-items')) { + // Use dominant color for dots too if the backlit is enables + let colorPalette = this._dominantColorExtractor._getColorPalette(); + + // Slightly adjust the styling + this._borderWidth = 2; + + if (colorPalette !== null) { + this._borderColor = Clutter.color_from_string(colorPalette.lighter)[1] ; + this._bodyColor = Clutter.color_from_string(colorPalette.darker)[1]; + } else { + // Fallback + this._borderColor = Clutter.color_from_string('white')[1]; + this._bodyColor = Clutter.color_from_string('gray')[1]; + } + } + + // Apply dominant color if requested + if (settings.get_boolean('running-indicator-dominant-color')) { + let colorPalette = this._dominantColorExtractor._getColorPalette(); + if (colorPalette !== null) { + this._bodyColor = Clutter.color_from_string(colorPalette.original)[1]; + } + } + + // Finally, use customize style if requested + if (settings.get_boolean('custom-theme-customize-running-dots')) { + this._borderColor = Clutter.color_from_string(settings.get_string('custom-theme-running-dots-border-color'))[1]; + this._borderWidth = settings.get_int('custom-theme-running-dots-border-width'); + this._bodyColor = Clutter.color_from_string(settings.get_string('custom-theme-running-dots-color'))[1]; + } + } + + // Define the radius as an arbitrary size, but keep large enough to account + // for the drawing of the border. + this._radius = Math.max(this._width/22, this._borderWidth/2); + this._padding = 0; // distance from the margin + this._spacing = this._radius + this._borderWidth; // separation between the dots + } + + _updateIndicator() { + + let area = this._area; + let cr = this._area.get_context(); + + this._computeStyle(); + this._drawIndicator(cr); + cr.$dispose(); + } + + _drawIndicator(cr) { + // Draw the required numbers of dots + let n = this._nWindows; + + cr.setLineWidth(this._borderWidth); + Clutter.cairo_set_source_color(cr, this._borderColor); + + // draw for the bottom case: + cr.translate((this._width - (2*n)*this._radius - (n-1)*this._spacing)/2, this._height - this._padding); + for (let i = 0; i < n; i++) { + cr.newSubPath(); + cr.arc((2*i+1)*this._radius + i*this._spacing, -this._radius - this._borderWidth/2, this._radius, 0, 2*Math.PI); + } + + cr.strokePreserve(); + Clutter.cairo_set_source_color(cr, this._bodyColor); + cr.fill(); + } + + destroy() { + this._area.destroy(); + super.destroy(); + } +}; + +// Adapted from dash-to-panel by Jason DeRose +// https://github.com/jderose9/dash-to-panel +var RunningIndicatorCiliora = class DashToDock_RunningIndicatorCiliora extends RunningIndicatorDots { + + _drawIndicator(cr) { + if (this._isRunning) { + + let size = Math.max(this._width/20, this._borderWidth); + let spacing = size; // separation between the dots + let lineLength = this._width - (size*(this._nWindows-1)) - (spacing*(this._nWindows-1)); + let padding = this._borderWidth; + // For the backlit case here we don't want the outer border visible + if (Docking.DockManager.settings.get_boolean('unity-backlit-items') && + !Docking.DockManager.settings.get_boolean('custom-theme-customize-running-dots')) + padding = 0; + let yOffset = this._height - padding - size; + + cr.setLineWidth(this._borderWidth); + Clutter.cairo_set_source_color(cr, this._borderColor); + + cr.translate(0, yOffset); + cr.newSubPath(); + cr.rectangle(0, 0, lineLength, size); + for (let i = 1; i < this._nWindows; i++) { + cr.newSubPath(); + cr.rectangle(lineLength + (i*spacing) + ((i-1)*size), 0, size, size); + } + + cr.strokePreserve(); + Clutter.cairo_set_source_color(cr, this._bodyColor); + cr.fill(); + } + } +}; + +// Adapted from dash-to-panel by Jason DeRose +// https://github.com/jderose9/dash-to-panel +var RunningIndicatorSegmented = class DashToDock_RunningIndicatorSegmented extends RunningIndicatorDots { + + _drawIndicator(cr) { + if (this._isRunning) { + let size = Math.max(this._width/20, this._borderWidth); + let spacing = Math.ceil(this._width/18); // separation between the dots + let dashLength = Math.ceil((this._width - ((this._nWindows-1)*spacing))/this._nWindows); + let lineLength = this._width - (size*(this._nWindows-1)) - (spacing*(this._nWindows-1)); + let padding = this._borderWidth; + // For the backlit case here we don't want the outer border visible + if (Docking.DockManager.settings.get_boolean('unity-backlit-items') && + !Docking.DockManager.settings.get_boolean('custom-theme-customize-running-dots')) + padding = 0; + let yOffset = this._height - padding - size; + + cr.setLineWidth(this._borderWidth); + Clutter.cairo_set_source_color(cr, this._borderColor); + + cr.translate(0, yOffset); + for (let i = 0; i < this._nWindows; i++) { + cr.newSubPath(); + cr.rectangle(i*dashLength + i*spacing, 0, dashLength, size); + } + + cr.strokePreserve(); + Clutter.cairo_set_source_color(cr, this._bodyColor); + cr.fill() + } + } +}; + +// Adapted from dash-to-panel by Jason DeRose +// https://github.com/jderose9/dash-to-panel +var RunningIndicatorSolid = class DashToDock_RunningIndicatorSolid extends RunningIndicatorDots { + + _drawIndicator(cr) { + if (this._isRunning) { + + let size = Math.max(this._width/20, this._borderWidth); + let padding = this._borderWidth; + // For the backlit case here we don't want the outer border visible + if (Docking.DockManager.settings.get_boolean('unity-backlit-items') && + !Docking.DockManager.settings.get_boolean('custom-theme-customize-running-dots')) + padding = 0; + let yOffset = this._height - padding - size; + + cr.setLineWidth(this._borderWidth); + Clutter.cairo_set_source_color(cr, this._borderColor); + + cr.translate(0, yOffset); + cr.newSubPath(); + cr.rectangle(0, 0, this._width, size); + + cr.strokePreserve(); + Clutter.cairo_set_source_color(cr, this._bodyColor); + cr.fill(); + + } + } +}; + +// Adapted from dash-to-panel by Jason DeRose +// https://github.com/jderose9/dash-to-panel +var RunningIndicatorSquares = class DashToDock_RunningIndicatorSquares extends RunningIndicatorDots { + + _drawIndicator(cr) { + if (this._isRunning) { + let size = Math.max(this._width/11, this._borderWidth); + let padding = this._borderWidth; + let spacing = Math.ceil(this._width/18); // separation between the dots + let yOffset = this._height - padding - size; + + cr.setLineWidth(this._borderWidth); + Clutter.cairo_set_source_color(cr, this._borderColor); + + cr.translate(Math.floor((this._width - this._nWindows*size - (this._nWindows-1)*spacing)/2), yOffset); + for (let i = 0; i < this._nWindows; i++) { + cr.newSubPath(); + cr.rectangle(i*size + i*spacing, 0, size, size); + } + cr.strokePreserve(); + Clutter.cairo_set_source_color(cr, this._bodyColor); + cr.fill(); + } + } +} + +// Adapted from dash-to-panel by Jason DeRose +// https://github.com/jderose9/dash-to-panel +var RunningIndicatorDashes = class DashToDock_RunningIndicatorDashes extends RunningIndicatorDots { + + _drawIndicator(cr) { + if (this._isRunning) { + let size = Math.max(this._width/20, this._borderWidth); + let padding = this._borderWidth; + let spacing = Math.ceil(this._width/18); // separation between the dots + let dashLength = Math.floor(this._width/4) - spacing; + let yOffset = this._height - padding - size; + + cr.setLineWidth(this._borderWidth); + Clutter.cairo_set_source_color(cr, this._borderColor); + + cr.translate(Math.floor((this._width - this._nWindows*dashLength - (this._nWindows-1)*spacing)/2), yOffset); + for (let i = 0; i < this._nWindows; i++) { + cr.newSubPath(); + cr.rectangle(i*dashLength + i*spacing, 0, dashLength, size); + } + + cr.strokePreserve(); + Clutter.cairo_set_source_color(cr, this._bodyColor); + cr.fill(); + } + } +} + +// Adapted from dash-to-panel by Jason DeRose +// https://github.com/jderose9/dash-to-panel +var RunningIndicatorMetro = class DashToDock_RunningIndicatorMetro extends RunningIndicatorDots { + + constructor(source) { + super(source); + this._source.add_style_class_name('metro'); + } + + destroy() { + this._source.remove_style_class_name('metro'); + super.destroy(); + } + + _drawIndicator(cr) { + if (this._isRunning) { + let size = Math.max(this._width/20, this._borderWidth); + let padding = 0; + // For the backlit case here we don't want the outer border visible + if (Docking.DockManager.settings.get_boolean('unity-backlit-items') && + !Docking.DockManager.settings.get_boolean('custom-theme-customize-running-dots')) + padding = 0; + let yOffset = this._height - padding - size; + + let n = this._nWindows; + if(n <= 1) { + cr.translate(0, yOffset); + Clutter.cairo_set_source_color(cr, this._bodyColor); + cr.newSubPath(); + cr.rectangle(0, 0, this._width, size); + cr.fill(); + } else { + let blackenedLength = (1/48)*this._width; // need to scale with the SVG for the stacked highlight + let darkenedLength = this._isFocused ? (2/48)*this._width : (10/48)*this._width; + let blackenedColor = this._bodyColor.shade(.3); + let darkenedColor = this._bodyColor.shade(.7); + + cr.translate(0, yOffset); + + Clutter.cairo_set_source_color(cr, this._bodyColor); + cr.newSubPath(); + cr.rectangle(0, 0, this._width - darkenedLength - blackenedLength, size); + cr.fill(); + Clutter.cairo_set_source_color(cr, blackenedColor); + cr.newSubPath(); + cr.rectangle(this._width - darkenedLength - blackenedLength, 0, 1, size); + cr.fill(); + Clutter.cairo_set_source_color(cr, darkenedColor); + cr.newSubPath(); + cr.rectangle(this._width - darkenedLength, 0, darkenedLength, size); + cr.fill(); + } + } + } +} + +/* + * Unity like notification and progress indicators + */ +var UnityIndicator = class DashToDock_UnityIndicator extends IndicatorBase { + + constructor(source) { + + super(source); + + this._notificationBadgeLabel = new St.Label(); + this._notificationBadgeBin = new St.Bin({ + child: this._notificationBadgeLabel, + x_align: Clutter.ActorAlign.END, + y_align: Clutter.ActorAlign.START, + x_expand: true, y_expand: true + }); + this._notificationBadgeLabel.add_style_class_name('notification-badge'); + this._notificationBadgeLabel.clutter_text.ellipsize = Pango.EllipsizeMode.MIDDLE; + this._notificationBadgeBin.hide(); + + this._source._iconContainer.add_child(this._notificationBadgeBin); + this.updateNotificationBadgeStyle(); + + const remoteEntry = this._source.remoteModel.lookupById(this._source.app.id); + this._signalsHandler.add([ + remoteEntry, + ['count-changed', 'count-visible-changed'], + (sender, { count, count_visible }) => + this.setNotificationCount(count_visible ? count : 0) + ], [ + remoteEntry, + ['progress-changed', 'progress-visible-changed'], + (sender, { progress, progress_visible }) => + this.setProgress(progress_visible ? progress : -1) + ], [ + remoteEntry, + 'urgent-changed', + (sender, { urgent }) => this.setUrgent(urgent) + ], [ + St.ThemeContext.get_for_stage(global.stage), + 'changed', + this.updateNotificationBadgeStyle.bind(this) + ], [ + this._source._iconContainer, + 'notify::size', + this.updateNotificationBadgeStyle.bind(this) + ]); + + this._isUrgent = false; + } + + updateNotificationBadgeStyle() { + let themeContext = St.ThemeContext.get_for_stage(global.stage); + let fontDesc = themeContext.get_font(); + let defaultFontSize = fontDesc.get_size() / 1024; + let fontSize = defaultFontSize * 0.9; + let iconSize = Main.overview.dash.iconSize; + let defaultIconSize = Docking.DockManager.settings.get_default_value( + 'dash-max-icon-size').unpack(); + + if (!fontDesc.get_size_is_absolute()) { + // fontSize was exprimed in points, so convert to pixel + fontSize /= 0.75; + } + + fontSize = Math.round((iconSize / defaultIconSize) * fontSize); + let leftMargin = Math.round((iconSize / defaultIconSize) * 3); + + this._notificationBadgeLabel.set_style( + 'font-size: ' + fontSize + 'px;' + + 'margin-left: ' + leftMargin + 'px' + ); + } + + _notificationBadgeCountToText(count) { + if (count <= 9999) { + return count.toString(); + } else if (count < 1e5) { + let thousands = count / 1e3; + return thousands.toFixed(1).toString() + "k"; + } else if (count < 1e6) { + let thousands = count / 1e3; + return thousands.toFixed(0).toString() + "k"; + } else if (count < 1e8) { + let millions = count / 1e6; + return millions.toFixed(1).toString() + "M"; + } else if (count < 1e9) { + let millions = count / 1e6; + return millions.toFixed(0).toString() + "M"; + } else { + let billions = count / 1e9; + return billions.toFixed(1).toString() + "B"; + } + } + + setNotificationCount(count) { + if (count > 0) { + let text = this._notificationBadgeCountToText(count); + this._notificationBadgeLabel.set_text(text); + this._notificationBadgeBin.show(); + } else { + this._notificationBadgeBin.hide(); + } + } + + _showProgressOverlay() { + if (this._progressOverlayArea) { + this._updateProgressOverlay(); + return; + } + + this._progressOverlayArea = new St.DrawingArea({x_expand: true, y_expand: true}); + this._progressOverlayArea.add_style_class_name('progress-bar'); + this._progressOverlayArea.connect('repaint', () => { + this._drawProgressOverlay(this._progressOverlayArea); + }); + + this._source._iconContainer.add_child(this._progressOverlayArea); + let node = this._progressOverlayArea.get_theme_node(); + + let [hasColor, color] = node.lookup_color('-progress-bar-background', false); + if (hasColor) + this._progressbar_background = color + else + this._progressbar_background = new Clutter.Color({red: 204, green: 204, blue: 204, alpha: 255}); + + [hasColor, color] = node.lookup_color('-progress-bar-border', false); + if (hasColor) + this._progressbar_border = color; + else + this._progressbar_border = new Clutter.Color({red: 230, green: 230, blue: 230, alpha: 255}); + + this._updateProgressOverlay(); + } + + _hideProgressOverlay() { + if (this._progressOverlayArea) + this._progressOverlayArea.destroy(); + this._progressOverlayArea = null; + this._progressbar_background = null; + this._progressbar_border = null; + } + + _updateProgressOverlay() { + if (this._progressOverlayArea) + this._progressOverlayArea.queue_repaint(); + } + + _drawProgressOverlay(area) { + let scaleFactor = St.ThemeContext.get_for_stage(global.stage).scale_factor; + let [surfaceWidth, surfaceHeight] = area.get_surface_size(); + let cr = area.get_context(); + + let iconSize = this._source.icon.iconSize * scaleFactor; + + let x = Math.floor((surfaceWidth - iconSize) / 2); + let y = Math.floor((surfaceHeight - iconSize) / 2); + + let lineWidth = Math.floor(1.0 * scaleFactor); + let padding = Math.floor(iconSize * 0.05); + let width = iconSize - 2.0*padding; + let height = Math.floor(Math.min(18.0*scaleFactor, 0.20*iconSize)); + x += padding; + y += iconSize - height - padding; + + cr.setLineWidth(lineWidth); + + // Draw the outer stroke + let stroke = new Cairo.LinearGradient(0, y, 0, y + height); + let fill = null; + stroke.addColorStopRGBA(0.5, 0.5, 0.5, 0.5, 0.1); + stroke.addColorStopRGBA(0.9, 0.8, 0.8, 0.8, 0.4); + Utils.drawRoundedLine(cr, x + lineWidth/2.0, y + lineWidth/2.0, width, height, true, true, stroke, fill); + + // Draw the background + x += lineWidth; + y += lineWidth; + width -= 2.0*lineWidth; + height -= 2.0*lineWidth; + + stroke = Cairo.SolidPattern.createRGBA(0.20, 0.20, 0.20, 0.9); + fill = new Cairo.LinearGradient(0, y, 0, y + height); + fill.addColorStopRGBA(0.4, 0.25, 0.25, 0.25, 1.0); + fill.addColorStopRGBA(0.9, 0.35, 0.35, 0.35, 1.0); + Utils.drawRoundedLine(cr, x + lineWidth/2.0, y + lineWidth/2.0, width, height, true, true, stroke, fill); + + // Draw the finished bar + x += lineWidth; + y += lineWidth; + width -= 2.0*lineWidth; + height -= 2.0*lineWidth; + + let finishedWidth = Math.ceil(this._progress * width); + + let bg = this._progressbar_background; + let bd = this._progressbar_border; + + stroke = Cairo.SolidPattern.createRGBA(bd.red/255, bd.green/255, bd.blue/255, bd.alpha/255); + fill = Cairo.SolidPattern.createRGBA(bg.red/255, bg.green/255, bg.blue/255, bg.alpha/255); + + if (Clutter.get_default_text_direction() == Clutter.TextDirection.RTL) + Utils.drawRoundedLine(cr, x + lineWidth/2.0 + width - finishedWidth, y + lineWidth/2.0, finishedWidth, height, true, true, stroke, fill); + else + Utils.drawRoundedLine(cr, x + lineWidth/2.0, y + lineWidth/2.0, finishedWidth, height, true, true, stroke, fill); + + cr.$dispose(); + } + + setProgress(progress) { + if (progress < 0) { + this._hideProgressOverlay(); + } else { + this._progress = Math.min(progress, 1.0); + this._showProgressOverlay(); + } + } + + setUrgent(urgent) { + const icon = this._source.icon._iconBin; + if (urgent) { + if (!this._isUrgent) { + icon.set_pivot_point(0.5, 0.5); + this._source.iconAnimator.addAnimation(icon, 'dance'); + this._isUrgent = true; + } + } else { + if (this._isUrgent) { + this._source.iconAnimator.removeAnimation(icon, 'dance'); + this._isUrgent = false; + } + icon.rotation_angle_z = 0; + } + } +} + + +// We need an icons theme object, this is the only way I managed to get +// pixel buffers that can be used for calculating the backlight color +let themeLoader = null; + +// Global icon cache. Used for Unity7 styling. +let iconCacheMap = new Map(); +// Max number of items to store +// We don't expect to ever reach this number, but let's put an hard limit to avoid +// even the remote possibility of the cached items to grow indefinitely. +const MAX_CACHED_ITEMS = 1000; +// When the size exceed it, the oldest 'n' ones are deleted +const BATCH_SIZE_TO_DELETE = 50; +// The icon size used to extract the dominant color +const DOMINANT_COLOR_ICON_SIZE = 64; + +// Compute dominant color frim the app icon. +// The color is cached for efficiency. +var DominantColorExtractor = class DashToDock_DominantColorExtractor { + + constructor(app) { + this._app = app; + } + + /** + * Try to get the pixel buffer for the current icon, if not fail gracefully + */ + _getIconPixBuf() { + let iconTexture = this._app.create_icon_texture(16); + + if (themeLoader === null) { + let ifaceSettings = new Gio.Settings({ schema: "org.gnome.desktop.interface" }); + + themeLoader = new Gtk.IconTheme(), + themeLoader.set_custom_theme(ifaceSettings.get_string('icon-theme')); // Make sure the correct theme is loaded + } + + // Unable to load the icon texture, use fallback + if (iconTexture instanceof St.Icon === false) { + return null; + } + + iconTexture = iconTexture.get_gicon(); + + // Unable to load the icon texture, use fallback + if (iconTexture === null) { + return null; + } + + if (iconTexture instanceof Gio.FileIcon) { + // Use GdkPixBuf to load the pixel buffer from the provided file path + return GdkPixbuf.Pixbuf.new_from_file(iconTexture.get_file().get_path()); + } + + // Get the pixel buffer from the icon theme + let icon_info = themeLoader.lookup_icon(iconTexture.get_names()[0], DOMINANT_COLOR_ICON_SIZE, 0); + if (icon_info !== null) + return icon_info.load_icon(); + else + return null; + } + + /** + * The backlight color choosing algorithm was mostly ported to javascript from the + * Unity7 C++ source of Canonicals: + * https://bazaar.launchpad.net/~unity-team/unity/trunk/view/head:/launcher/LauncherIcon.cpp + * so it more or less works the same way. + */ + _getColorPalette() { + if (iconCacheMap.get(this._app.get_id())) { + // We already know the answer + return iconCacheMap.get(this._app.get_id()); + } + + let pixBuf = this._getIconPixBuf(); + if (pixBuf == null) + return null; + + let pixels = pixBuf.get_pixels(), + offset = 0; + + let total = 0, + rTotal = 0, + gTotal = 0, + bTotal = 0; + + let resample_y = 1, + resample_x = 1; + + // Resampling of large icons + // We resample icons larger than twice the desired size, as the resampling + // to a size s + // DOMINANT_COLOR_ICON_SIZE < s < 2*DOMINANT_COLOR_ICON_SIZE, + // most of the case exactly DOMINANT_COLOR_ICON_SIZE as the icon size is tipycally + // a multiple of it. + let width = pixBuf.get_width(); + let height = pixBuf.get_height(); + + // Resample + if (height >= 2* DOMINANT_COLOR_ICON_SIZE) + resample_y = Math.floor(height/DOMINANT_COLOR_ICON_SIZE); + + if (width >= 2* DOMINANT_COLOR_ICON_SIZE) + resample_x = Math.floor(width/DOMINANT_COLOR_ICON_SIZE); + + if (resample_x !==1 || resample_y !== 1) + pixels = this._resamplePixels(pixels, resample_x, resample_y); + + // computing the limit outside the for (where it would be repeated at each iteration) + // for performance reasons + let limit = pixels.length; + for (let offset = 0; offset < limit; offset+=4) { + let r = pixels[offset], + g = pixels[offset + 1], + b = pixels[offset + 2], + a = pixels[offset + 3]; + + let saturation = (Math.max(r,g, b) - Math.min(r,g, b)); + let relevance = 0.1 * 255 * 255 + 0.9 * a * saturation; + + rTotal += r * relevance; + gTotal += g * relevance; + bTotal += b * relevance; + + total += relevance; + } + + total = total * 255; + + let r = rTotal / total, + g = gTotal / total, + b = bTotal / total; + + let hsv = Utils.ColorUtils.RGBtoHSV(r * 255, g * 255, b * 255); + + if (hsv.s > 0.15) + hsv.s = 0.65; + hsv.v = 0.90; + + let rgb = Utils.ColorUtils.HSVtoRGB(hsv.h, hsv.s, hsv.v); + + // Cache the result. + let backgroundColor = { + lighter: Utils.ColorUtils.ColorLuminance(rgb.r, rgb.g, rgb.b, 0.2), + original: Utils.ColorUtils.ColorLuminance(rgb.r, rgb.g, rgb.b, 0), + darker: Utils.ColorUtils.ColorLuminance(rgb.r, rgb.g, rgb.b, -0.5) + }; + + if (iconCacheMap.size >= MAX_CACHED_ITEMS) { + //delete oldest cached values (which are in order of insertions) + let ctr=0; + for (let key of iconCacheMap.keys()) { + if (++ctr > BATCH_SIZE_TO_DELETE) + break; + iconCacheMap.delete(key); + } + } + + iconCacheMap.set(this._app.get_id(), backgroundColor); + + return backgroundColor; + } + + /** + * Downsample large icons before scanning for the backlight color to + * improve performance. + * + * @param pixBuf + * @param pixels + * @param resampleX + * @param resampleY + * + * @return []; + */ + _resamplePixels (pixels, resampleX, resampleY) { + let resampledPixels = []; + // computing the limit outside the for (where it would be repeated at each iteration) + // for performance reasons + let limit = pixels.length / (resampleX * resampleY) / 4; + for (let i = 0; i < limit; i++) { + let pixel = i * resampleX * resampleY; + + resampledPixels.push(pixels[pixel * 4]); + resampledPixels.push(pixels[pixel * 4 + 1]); + resampledPixels.push(pixels[pixel * 4 + 2]); + resampledPixels.push(pixels[pixel * 4 + 3]); + } + + return resampledPixels; + } +}; diff --git a/extensions/dash-to-dock/appIcons.js b/extensions/dash-to-dock/appIcons.js new file mode 100644 index 00000000..d04230e6 --- /dev/null +++ b/extensions/dash-to-dock/appIcons.js @@ -0,0 +1,1273 @@ +// -*- mode: js; js-indent-level: 4; indent-tabs-mode: nil -*- + +const Clutter = imports.gi.Clutter; +const GdkPixbuf = imports.gi.GdkPixbuf +const Gio = imports.gi.Gio; +const GLib = imports.gi.GLib; +const GObject = imports.gi.GObject; +const Signals = imports.signals; +const Meta = imports.gi.Meta; +const Shell = imports.gi.Shell; +const St = imports.gi.St; + +// Use __ () and N__() for the extension gettext domain, and reuse +// the shell domain with the default _() and N_() +const Gettext = imports.gettext.domain('gnome-shell-extensions'); +const __ = Gettext.gettext; +const N__ = function(e) { return e }; + +const AppDisplay = imports.ui.appDisplay; +const AppFavorites = imports.ui.appFavorites; +const Dash = imports.ui.dash; +const DND = imports.ui.dnd; +const IconGrid = imports.ui.iconGrid; +const Main = imports.ui.main; +const PopupMenu = imports.ui.popupMenu; +const Util = imports.misc.util; +const Workspace = imports.ui.workspace; + +const ExtensionUtils = imports.misc.extensionUtils; +const Me = ExtensionUtils.getCurrentExtension(); +const Docking = Me.imports.docking; +const Utils = Me.imports.utils; +const WindowPreview = Me.imports.windowPreview; +const AppIconIndicators = Me.imports.appIconIndicators; +const DbusmenuUtils = Me.imports.dbusmenuUtils; + +let tracker = Shell.WindowTracker.get_default(); + +const clickAction = { + SKIP: 0, + MINIMIZE: 1, + LAUNCH: 2, + CYCLE_WINDOWS: 3, + MINIMIZE_OR_OVERVIEW: 4, + PREVIEWS: 5, + MINIMIZE_OR_PREVIEWS: 6, + FOCUS_OR_PREVIEWS: 7, + FOCUS_MINIMIZE_OR_PREVIEWS: 8, + QUIT: 9 +}; + +const scrollAction = { + DO_NOTHING: 0, + CYCLE_WINDOWS: 1, + SWITCH_WORKSPACE: 2 +}; + +let recentlyClickedAppLoopId = 0; +let recentlyClickedApp = null; +let recentlyClickedAppWindows = null; +let recentlyClickedAppIndex = 0; +let recentlyClickedAppMonitor = -1; + +/** + * Extend AppIcon + * + * - Apply a css class based on the number of windows of each application (#N); + * - Customized indicators for running applications in place of the default "dot" style which is hidden (#N); + * a class of the form "running#N" is applied to the AppWellIcon actor. + * like the original .running one. + * - Add a .focused style to the focused app + * - Customize click actions. + * - Update minimization animation target + * - Update menu if open on windows change + */ +var MyAppIcon = GObject.registerClass( +class MyAppIcon extends Dash.DashIcon { + // settings are required inside. + _init(remoteModel, app, monitorIndex, iconAnimator) { + super._init(app); + + // a prefix is required to avoid conflicting with the parent class variable + this.monitorIndex = monitorIndex; + this._signalsHandler = new Utils.GlobalSignalsHandler(); + this.remoteModel = remoteModel; + this.iconAnimator = iconAnimator; + this._indicator = null; + + let appInfo = app.get_app_info(); + this._location = appInfo ? appInfo.get_string('XdtdUri') : null; + + this._updateIndicatorStyle(); + + // Monitor windows-changes instead of app state. + // Keep using the same Id and function callback (that is extended) + if (this._stateChangedId > 0) { + this.app.disconnect(this._stateChangedId); + this._stateChangedId = 0; + } + + this._windowsChangedId = this.app.connect('windows-changed', + this.onWindowsChanged.bind(this)); + this._focusAppChangeId = tracker.connect('notify::focus-app', + this._onFocusAppChanged.bind(this)); + + // In Wayland sessions, this signal is needed to track the state of windows dragged + // from one monitor to another. As this is triggered quite often (whenever a new winow + // of any application opened or moved to a different desktop), + // we restrict this signal to the case when 'isolate-monitors' is true, + // and if there are at least 2 monitors. + if (Docking.DockManager.settings.get_boolean('isolate-monitors') && + Main.layoutManager.monitors.length > 1) { + this._signalsHandler.removeWithLabel('isolate-monitors'); + this._signalsHandler.addWithLabel('isolate-monitors', [ + global.display, + 'window-entered-monitor', + this._onWindowEntered.bind(this) + ]); + } + + this._progressOverlayArea = null; + this._progress = 0; + + let keys = ['apply-custom-theme', + 'running-indicator-style', + ]; + + keys.forEach(function(key) { + this._signalsHandler.add([ + Docking.DockManager.settings, + 'changed::' + key, + this._updateIndicatorStyle.bind(this) + ]); + }, this); + + if (this._location) { + this._signalsHandler.add([ + Docking.DockManager.getDefault().fm1Client, + 'windows-changed', + this.onWindowsChanged.bind(this) + ]); + } + + this._numberOverlay(); + + this._previewMenuManager = null; + this._previewMenu = null; + } + + _onDestroy() { + super._onDestroy(); + + // This is necessary due to an upstream bug + // https://bugzilla.gnome.org/show_bug.cgi?id=757556 + // It can be safely removed once it get solved upstrea. + if (this._menu) + this._menu.close(false); + + // Disconect global signals + + if (this._windowsChangedId > 0) + this.app.disconnect(this._windowsChangedId); + this._windowsChangedId = 0; + + if (this._focusAppChangeId > 0) { + tracker.disconnect(this._focusAppChangeId); + this._focusAppChangeId = 0; + } + + this._signalsHandler.destroy(); + } + + // TOOD Rename this function + _updateIndicatorStyle() { + + if (this._indicator !== null) { + this._indicator.destroy(); + this._indicator = null; + } + this._indicator = new AppIconIndicators.AppIconIndicator(this); + this._indicator.update(); + } + + _onWindowEntered(metaScreen, monitorIndex, metaWin) { + let app = Shell.WindowTracker.get_default().get_window_app(metaWin); + if (app && app.get_id() == this.app.get_id()) + this.onWindowsChanged(); + } + + vfunc_scroll_event(scrollEvent) { + let settings = Docking.DockManager.settings; + let isEnabled = settings.get_enum('scroll-action') === scrollAction.CYCLE_WINDOWS; + if (!isEnabled) + return Clutter.EVENT_PROPAGATE; + + // We only activate windows of running applications, i.e. we never open new windows + // We check if the app is running, and that the # of windows is > 0 in + // case we use workspace isolation, + let appIsRunning = this.app.state == Shell.AppState.RUNNING + && this.getInterestingWindows().length > 0; + + if (!appIsRunning) + return Clutter.EVENT_PROPAGATE; + + if (this._optionalScrollCycleWindowsDeadTimeId) + return Clutter.EVENT_PROPAGATE; + else + this._optionalScrollCycleWindowsDeadTimeId = GLib.timeout_add( + GLib.PRIORITY_DEFAULT, 250, () => { + this._optionalScrollCycleWindowsDeadTimeId = 0; + }); + + let direction = null; + + switch (scrollEvent.direction) { + case Clutter.ScrollDirection.UP: + direction = Meta.MotionDirection.UP; + break; + case Clutter.ScrollDirection.DOWN: + direction = Meta.MotionDirection.DOWN; + break; + case Clutter.ScrollDirection.SMOOTH: + let [, dy] = Clutter.get_current_event().get_scroll_delta(); + if (dy < 0) + direction = Meta.MotionDirection.UP; + else if (dy > 0) + direction = Meta.MotionDirection.DOWN; + break; + } + + let focusedApp = tracker.focus_app; + if (!Main.overview._shown) { + let reversed = direction === Meta.MotionDirection.UP; + if (this.app == focusedApp) + this._cycleThroughWindows(reversed); + else { + // Activate the first window + let windows = this.getInterestingWindows(); + if (windows.length > 0) { + let w = windows[0]; + Main.activateWindow(w); + } + } + } + else + this.app.activate(); + return Clutter.EVENT_STOP; + } + + onWindowsChanged() { + + if (this._menu && this._menu.isOpen) + this._menu.update(); + + this._indicator.update(); + this.updateIconGeometry(); + } + + /** + * Update taraget for minimization animation + */ + updateIconGeometry() { + // If (for unknown reason) the actor is not on the stage the reported size + // and position are random values, which might exceeds the integer range + // resulting in an error when assigned to the a rect. This is a more like + // a workaround to prevent flooding the system with errors. + if (this.get_stage() == null) + return; + + let rect = new Meta.Rectangle(); + + [rect.x, rect.y] = this.get_transformed_position(); + [rect.width, rect.height] = this.get_transformed_size(); + + let windows = this.getWindows(); + if (Docking.DockManager.settings.get_boolean('multi-monitor')) { + let monitorIndex = this.monitorIndex; + windows = windows.filter(function(w) { + return w.get_monitor() == monitorIndex; + }); + } + windows.forEach(function(w) { + w.set_icon_geometry(rect); + }); + } + + _updateRunningStyle() { + // The logic originally in this function has been moved to + // AppIconIndicatorBase._updateDefaultDot(). However it cannot be removed as + // it called by the parent constructor. + } + + popupMenu() { + this._removeMenuTimeout(); + this.fake_release(); + this._draggable.fakeRelease(); + + if (!this._menu) { + this._menu = new MyAppIconMenu(this, this.remoteModel); + this._menu.connect('activate-window', (menu, window) => { + this.activateWindow(window); + }); + this._menu.connect('open-state-changed', (menu, isPoppedUp) => { + if (!isPoppedUp) + this._onMenuPoppedDown(); + else { + // Setting the max-height is s useful if part of the menu is + // scrollable so the minimum height is smaller than the natural height. + let monitor_index = Main.layoutManager.findIndexForActor(this); + let workArea = Main.layoutManager.getWorkAreaForMonitor(monitor_index); + let position = Utils.getPosition(); + this._isHorizontal = ( position == St.Side.TOP || + position == St.Side.BOTTOM); + // If horizontal also remove the height of the dash + let fixedDock = Docking.DockManager.settings.get_boolean('dock-fixed'); + let additional_margin = this._isHorizontal && !fixedDock ? Main.overview.dash.height : 0; + let verticalMargins = this._menu.actor.margin_top + this._menu.actor.margin_bottom; + // Also set a max width to the menu, so long labels (long windows title) get truncated + this._menu.actor.style = ('max-height: ' + Math.round(workArea.height - additional_margin - verticalMargins) + 'px;' + + 'max-width: 400px'); + } + }); + let id = Main.overview.connect('hiding', () => { + this._menu.close(); + }); + this._menu.actor.connect('destroy', function() { + Main.overview.disconnect(id); + }); + + this._menuManager.addMenu(this._menu); + } + + this.emit('menu-state-changed', true); + + this.set_hover(true); + this._menu.popup(); + this._menuManager.ignoreRelease(); + this.emit('sync-tooltip'); + + return false; + } + + _onFocusAppChanged() { + this._indicator.update(); + } + + activate(button) { + let event = Clutter.get_current_event(); + let modifiers = event ? event.get_state() : 0; + let focusedApp = tracker.focus_app; + + // Only consider SHIFT and CONTROL as modifiers (exclude SUPER, CAPS-LOCK, etc.) + modifiers = modifiers & (Clutter.ModifierType.SHIFT_MASK | Clutter.ModifierType.CONTROL_MASK); + + // We don't change the CTRL-click behaviour: in such case we just chain + // up the parent method and return. + if (modifiers & Clutter.ModifierType.CONTROL_MASK) { + // Keep default behaviour: launch new window + // By calling the parent method I make it compatible + // with other extensions tweaking ctrl + click + super.activate(button); + return; + } + + // We check what type of click we have and if the modifier SHIFT is + // being used. We then define what buttonAction should be for this + // event. + let buttonAction = 0; + let settings = Docking.DockManager.settings; + if (button && button == 2 ) { + if (modifiers & Clutter.ModifierType.SHIFT_MASK) + buttonAction = settings.get_enum('shift-middle-click-action'); + else + buttonAction = settings.get_enum('middle-click-action'); + } + else if (button && button == 1) { + if (modifiers & Clutter.ModifierType.SHIFT_MASK) + buttonAction = settings.get_enum('shift-click-action'); + else + buttonAction = settings.get_enum('click-action'); + } + + // We check if the app is running, and that the # of windows is > 0 in + // case we use workspace isolation. + let windows = this.getInterestingWindows(); + let appIsRunning = (this.app.state == Shell.AppState.RUNNING || this.isLocation()) + && windows.length > 0; + + // Some action modes (e.g. MINIMIZE_OR_OVERVIEW) require overview to remain open + // This variable keeps track of this + let shouldHideOverview = true; + + // We customize the action only when the application is already running + if (appIsRunning) { + switch (buttonAction) { + case clickAction.MINIMIZE: + // In overview just activate the app, unless the acion is explicitely + // requested with a keyboard modifier + if (!Main.overview._shown || modifiers){ + // If we have button=2 or a modifier, allow minimization even if + // the app is not focused + if (this.app == focusedApp || button == 2 || modifiers & Clutter.ModifierType.SHIFT_MASK) { + // minimize all windows on double click and always in the case of primary click without + // additional modifiers + let click_count = 0; + if (Clutter.EventType.CLUTTER_BUTTON_PRESS) + click_count = event.get_click_count(); + let all_windows = (button == 1 && ! modifiers) || click_count > 1; + this._minimizeWindow(all_windows); + } + else + this._activateAllWindows(); + } + else { + let w = windows[0]; + Main.activateWindow(w); + } + break; + + case clickAction.MINIMIZE_OR_OVERVIEW: + // When a single window is present, toggle minimization + // If only one windows is present toggle minimization, but only when trigggered with the + // simple click action (no modifiers, no middle click). + if (windows.length == 1 && !modifiers && button == 1) { + let w = windows[0]; + if (this.app == focusedApp) { + // Window is raised, minimize it + this._minimizeWindow(w); + } else { + // Window is minimized, raise it + Main.activateWindow(w); + } + // Launch overview when multiple windows are present + // TODO: only show current app windows when gnome shell API will allow it + } else { + shouldHideOverview = false; + Main.overview.toggle(); + } + break; + + case clickAction.CYCLE_WINDOWS: + if (!Main.overview._shown){ + if (this.app == focusedApp) + this._cycleThroughWindows(); + else { + // Activate the first window + let w = windows[0]; + Main.activateWindow(w); + } + } + else + this.app.activate(); + break; + + case clickAction.FOCUS_OR_PREVIEWS: + if (this.app == focusedApp && + (windows.length > 1 || modifiers || button != 1)) { + this._windowPreviews(); + } else { + // Activate the first window + let w = windows[0]; + Main.activateWindow(w); + } + break; + + case clickAction.FOCUS_MINIMIZE_OR_PREVIEWS: + if (this.app == focusedApp) { + if (windows.length > 1 || modifiers || button != 1) + this._windowPreviews(); + else if (!Main.overview.visible) + this._minimizeWindow(); + } else { + // Activate the first window + let w = windows[0]; + Main.activateWindow(w); + } + break; + + case clickAction.LAUNCH: + this.launchNewWindow(); + break; + + case clickAction.PREVIEWS: + if (!Main.overview._shown) { + // If only one windows is present just switch to it, but only when trigggered with the + // simple click action (no modifiers, no middle click). + if (windows.length == 1 && !modifiers && button == 1) { + let w = windows[0]; + Main.activateWindow(w); + } else + this._windowPreviews(); + } + else { + this.app.activate(); + } + break; + + case clickAction.MINIMIZE_OR_PREVIEWS: + // When a single window is present, toggle minimization + // If only one windows is present toggle minimization, but only when trigggered with the + // simple click action (no modifiers, no middle click). + if (!Main.overview._shown){ + if (windows.length == 1 && !modifiers && button == 1) { + let w = windows[0]; + if (this.app == focusedApp) { + // Window is raised, minimize it + this._minimizeWindow(w); + } else { + // Window is minimized, raise it + Main.activateWindow(w); + } + } else { + // Launch previews when multiple windows are present + this._windowPreviews(); + } + } else { + this.app.activate(); + } + break; + + case clickAction.QUIT: + this.closeAllWindows(); + break; + + case clickAction.SKIP: + let w = windows[0]; + Main.activateWindow(w); + break; + } + } + else { + this.launchNewWindow(); + } + + // Hide overview except when action mode requires it + if(shouldHideOverview) { + Main.overview.hide(); + } + } + + shouldShowTooltip() { + return this.hover && (!this._menu || !this._menu.isOpen) && + (!this._previewMenu || !this._previewMenu.isOpen); + } + + _windowPreviews() { + if (!this._previewMenu) { + this._previewMenuManager = new PopupMenu.PopupMenuManager(this); + + this._previewMenu = new WindowPreview.WindowPreviewMenu(this); + + this._previewMenuManager.addMenu(this._previewMenu); + + this._previewMenu.connect('open-state-changed', (menu, isPoppedUp) => { + if (!isPoppedUp) + this._onMenuPoppedDown(); + }); + let id = Main.overview.connect('hiding', () => { + this._previewMenu.close(); + }); + this._previewMenu.actor.connect('destroy', function() { + Main.overview.disconnect(id); + }); + + } + + if (this._previewMenu.isOpen) + this._previewMenu.close(); + else + this._previewMenu.popup(); + + return false; + } + + // Try to do the right thing when attempting to launch a new window of an app. In + // particular, if the application doens't allow to launch a new window, activate + // the existing window instead. + launchNewWindow(p) { + let appInfo = this.app.get_app_info(); + let actions = appInfo.list_actions(); + if (this.app.can_open_new_window()) { + this.animateLaunch(); + // This is used as a workaround for a bug resulting in no new windows being opened + // for certain running applications when calling open_new_window(). + // + // https://bugzilla.gnome.org/show_bug.cgi?id=756844 + // + // Similar to what done when generating the popupMenu entries, if the application provides + // a "New Window" action, use it instead of directly requesting a new window with + // open_new_window(), which fails for certain application, notably Nautilus. + if (actions.indexOf('new-window') == -1) { + this.app.open_new_window(-1); + } + else { + let i = actions.indexOf('new-window'); + if (i !== -1) + this.app.launch_action(actions[i], global.get_current_time(), -1); + } + } + else { + // Try to manually activate the first window. Otherwise, when the app is activated by + // switching to a different workspace, a launch spinning icon is shown and disappers only + // after a timeout. + let windows = this.getWindows(); + if (windows.length > 0) + Main.activateWindow(windows[0]) + else + this.app.activate(); + } + } + + _numberOverlay() { + // Add label for a Hot-Key visual aid + this._numberOverlayLabel = new St.Label(); + this._numberOverlayBin = new St.Bin({ + child: this._numberOverlayLabel, + x_align: Clutter.ActorAlign.START, + y_align: Clutter.ActorAlign.START, + x_expand: true, y_expand: true + }); + this._numberOverlayLabel.add_style_class_name('number-overlay'); + this._numberOverlayOrder = -1; + this._numberOverlayBin.hide(); + + this._iconContainer.add_child(this._numberOverlayBin); + + } + + updateNumberOverlay() { + // We apply an overall scale factor that might come from a HiDPI monitor. + // Clutter dimensions are in physical pixels, but CSS measures are in logical + // pixels, so make sure to consider the scale. + let scaleFactor = St.ThemeContext.get_for_stage(global.stage).scale_factor; + // Set the font size to something smaller than the whole icon so it is + // still visible. The border radius is large to make the shape circular + let [minWidth, natWidth] = this._iconContainer.get_preferred_width(-1); + let font_size = Math.round(Math.max(12, 0.3*natWidth) / scaleFactor); + let size = Math.round(font_size*1.2); + this._numberOverlayLabel.set_style( + 'font-size: ' + font_size + 'px;' + + 'border-radius: ' + this.icon.iconSize + 'px;' + + 'width: ' + size + 'px; height: ' + size +'px;' + ); + } + + setNumberOverlay(number) { + this._numberOverlayOrder = number; + this._numberOverlayLabel.set_text(number.toString()); + } + + toggleNumberOverlay(activate) { + if (activate && this._numberOverlayOrder > -1) { + this.updateNumberOverlay(); + this._numberOverlayBin.show(); + } + else + this._numberOverlayBin.hide(); + } + + _minimizeWindow(param) { + // Param true make all app windows minimize + let windows = this.getInterestingWindows(); + let current_workspace = global.workspace_manager.get_active_workspace(); + for (let i = 0; i < windows.length; i++) { + let w = windows[i]; + if (w.get_workspace() == current_workspace && w.showing_on_its_workspace()) { + w.minimize(); + // Just minimize one window. By specification it should be the + // focused window on the current workspace. + if(!param) + break; + } + } + } + + // By default only non minimized windows are activated. + // This activates all windows in the current workspace. + _activateAllWindows() { + // First activate first window so workspace is switched if needed. + // We don't do this if isolation is on! + if (!Docking.DockManager.settings.get_boolean('isolate-workspaces') && + !Docking.DockManager.settings.get_boolean('isolate-monitors')) + this.app.activate(); + + // then activate all other app windows in the current workspace + let windows = this.getInterestingWindows(); + let activeWorkspace = global.workspace_manager.get_active_workspace_index(); + + if (windows.length <= 0) + return; + + let activatedWindows = 0; + + for (let i = windows.length - 1; i >= 0; i--) { + if (windows[i].get_workspace().index() == activeWorkspace) { + Main.activateWindow(windows[i]); + activatedWindows++; + } + } + } + + //This closes all windows of the app. + closeAllWindows() { + let windows = this.getInterestingWindows(); + for (let i = 0; i < windows.length; i++) + windows[i].delete(global.get_current_time()); + } + + _cycleThroughWindows(reversed) { + // Store for a little amount of time last clicked app and its windows + // since the order changes upon window interaction + let MEMORY_TIME=3000; + + let app_windows = this.getInterestingWindows(); + + if (app_windows.length <1) + return + + if (recentlyClickedAppLoopId > 0) + GLib.source_remove(recentlyClickedAppLoopId); + recentlyClickedAppLoopId = GLib.timeout_add( + GLib.PRIORITY_DEFAULT, MEMORY_TIME, this._resetRecentlyClickedApp); + + // If there isn't already a list of windows for the current app, + // or the stored list is outdated, use the current windows list. + let monitorIsolation = Docking.DockManager.settings.get_boolean('isolate-monitors'); + if (!recentlyClickedApp || + recentlyClickedApp.get_id() != this.app.get_id() || + recentlyClickedAppWindows.length != app_windows.length || + (recentlyClickedAppMonitor != this.monitorIndex && monitorIsolation)) { + recentlyClickedApp = this.app; + recentlyClickedAppWindows = app_windows; + recentlyClickedAppMonitor = this.monitorIndex; + recentlyClickedAppIndex = 0; + } + + if (reversed) { + recentlyClickedAppIndex--; + if (recentlyClickedAppIndex < 0) recentlyClickedAppIndex = recentlyClickedAppWindows.length - 1; + } else { + recentlyClickedAppIndex++; + } + let index = recentlyClickedAppIndex % recentlyClickedAppWindows.length; + let window = recentlyClickedAppWindows[index]; + + Main.activateWindow(window); + } + + _resetRecentlyClickedApp() { + if (recentlyClickedAppLoopId > 0) + GLib.source_remove(recentlyClickedAppLoopId); + recentlyClickedAppLoopId=0; + recentlyClickedApp =null; + recentlyClickedAppWindows = null; + recentlyClickedAppIndex = 0; + recentlyClickedAppMonitor = -1; + + return false; + } + + getWindows() { + return getWindows(this.app, this._location); + } + + // Filter out unnecessary windows, for instance + // nautilus desktop window. + getInterestingWindows() { + return getInterestingWindows(this.app, this.monitorIndex, this._location); + } + + // Does the Icon represent a location rather than an App + isLocation() { + return this._location != null; + } +}); +/** + * Extend AppIconMenu + * + * - set popup arrow side based on dash orientation + * - Add close windows option based on quitfromdash extension + * (https://github.com/deuill/shell-extension-quitfromdash) + * - Add open windows thumbnails instead of list + * - update menu when application windows change + */ +const MyAppIconMenu = class DashToDock_MyAppIconMenu extends AppDisplay.AppIconMenu { + + constructor(source, remoteModel) { + let side = Utils.getPosition(); + + // Damm it, there has to be a proper way of doing this... + // As I can't call the parent parent constructor (?) passing the side + // parameter, I overwite what I need later + super(source); + + // Change the initialized side where required. + this._arrowSide = side; + this._boxPointer._arrowSide = side; + this._boxPointer._userArrowSide = side; + + this._signalsHandler = new Utils.GlobalSignalsHandler(); + + if (remoteModel && DbusmenuUtils.haveDBusMenu()) { + const [onQuicklist, onDynamicSection] = Utils.splitHandler((sender, { quicklist }, dynamicSection) => { + dynamicSection.removeAll(); + if (quicklist) { + quicklist.get_children().forEach(remoteItem => + dynamicSection.addMenuItem(DbusmenuUtils.makePopupMenuItem(remoteItem, false))); + } + }); + + this._signalsHandler.add([ + remoteModel.lookupById(this._source.app.id), + 'quicklist-changed', + onQuicklist + ], [ + this, + 'dynamic-section-changed', + onDynamicSection + ]); + } + } + + destroy() { + this._signalsHandler.destroy(); + super.destroy(); + } + + _rebuildMenu() { + this.removeAll(); + + if (Docking.DockManager.settings.get_boolean('show-windows-preview')) { + // Display the app windows menu items and the separator between windows + // of the current desktop and other windows. + + this._allWindowsMenuItem = new PopupMenu.PopupSubMenuMenuItem(__('All Windows'), false); + this._allWindowsMenuItem.hide(); + this.addMenuItem(this._allWindowsMenuItem); + + if (!this._source.app.is_window_backed()) { + this._appendSeparator(); + + let appInfo = this._source.app.get_app_info(); + let actions = appInfo.list_actions(); + if (this._source.app.can_open_new_window() && + actions.indexOf('new-window') == -1) { + this._newWindowMenuItem = this._appendMenuItem(_('New Window')); + this._newWindowMenuItem.connect('activate', () => { + if (this._source.app.state == Shell.AppState.STOPPED) + this._source.animateLaunch(); + + this._source.app.open_new_window(-1); + this.emit('activate-window', null); + }); + this._appendSeparator(); + } + + + if (AppDisplay.discreteGpuAvailable && + this._source.app.state == Shell.AppState.STOPPED && + actions.indexOf('activate-discrete-gpu') == -1) { + this._onDiscreteGpuMenuItem = this._appendMenuItem(_('Launch using Dedicated Graphics Card')); + this._onDiscreteGpuMenuItem.connect('activate', () => { + if (this._source.app.state == Shell.AppState.STOPPED) + this._source.animateLaunch(); + + this._source.app.launch(0, -1, true); + this.emit('activate-window', null); + }); + } + + for (let i = 0; i < actions.length; i++) { + let action = actions[i]; + let item = this._appendMenuItem(appInfo.get_action_name(action)); + item.connect('activate', (emitter, event) => { + this._source.app.launch_action(action, event.get_time(), -1); + this.emit('activate-window', null); + }); + } + + let canFavorite = global.settings.is_writable('favorite-apps') && + !this._source.isLocation(); + + if (canFavorite) { + this._appendSeparator(); + + let isFavorite = AppFavorites.getAppFavorites().isFavorite(this._source.app.get_id()); + + if (isFavorite) { + let item = this._appendMenuItem(_('Remove from Favorites')); + item.connect('activate', () => { + let favs = AppFavorites.getAppFavorites(); + favs.removeFavorite(this._source.app.get_id()); + }); + } else { + let item = this._appendMenuItem(_('Add to Favorites')); + item.connect('activate', () => { + let favs = AppFavorites.getAppFavorites(); + favs.addFavorite(this._source.app.get_id()); + }); + } + } + + if (Shell.AppSystem.get_default().lookup_app('org.gnome.Software.desktop') && + !this._source.isLocation()) { + this._appendSeparator(); + let item = this._appendMenuItem(_('Show Details')); + item.connect('activate', () => { + let id = this._source.app.get_id(); + let args = GLib.Variant.new('(ss)', [id, '']); + Gio.DBus.get(Gio.BusType.SESSION, null, + function(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(); + }); + }); + } + } + + } else { + if (super._rebuildMenu) + super._rebuildMenu(); + else + super._redisplay(); + } + + // dynamic menu + const items = this._getMenuItems(); + let i = items.length; + if (Shell.AppSystem.get_default().lookup_app('org.gnome.Software.desktop')) { + i -= 2; + } + if (global.settings.is_writable('favorite-apps')) { + i -= 2; + } + if (i < 0) { + i = 0; + } + const dynamicSection = new PopupMenu.PopupMenuSection(); + this.addMenuItem(dynamicSection, i); + this.emit('dynamic-section-changed', dynamicSection); + + // quit menu + this._appendSeparator(); + this._quitfromDashMenuItem = this._appendMenuItem(_('Quit')); + this._quitfromDashMenuItem.connect('activate', () => { + this._source.closeAllWindows(); + }); + + this.update(); + } + + // update menu content when application windows change. This is desirable as actions + // acting on windows (closing) are performed while the menu is shown. + update() { + + let windows = this._source.getInterestingWindows(); + + // update, show or hide the quit menu + if ( windows.length > 0) { + let quitFromDashMenuText = ""; + if (windows.length == 1) + this._quitfromDashMenuItem.label.set_text(_('Quit')); + else + this._quitfromDashMenuItem.label.set_text(__('Quit %d Windows').format(windows.length)); + + this._quitfromDashMenuItem.actor.show(); + + } else { + this._quitfromDashMenuItem.actor.hide(); + } + + if(Docking.DockManager.settings.get_boolean('show-windows-preview')){ + + // update, show, or hide the allWindows menu + // Check if there are new windows not already displayed. In such case, repopulate the allWindows + // menu. Windows removal is already handled by each preview being connected to the destroy signal + let old_windows = this._allWindowsMenuItem.menu._getMenuItems().map(function(item){ + return item._window; + }); + + let new_windows = windows.filter(function(w) {return old_windows.indexOf(w) < 0;}); + if (new_windows.length > 0) { + this._populateAllWindowMenu(windows); + + // Try to set the width to that of the submenu. + // TODO: can't get the actual size, getting a bit less. + // Temporary workaround: add 15px to compensate + this._allWindowsMenuItem.width = this._allWindowsMenuItem.menu.actor.width + 15; + + } + + // The menu is created hidden and never hidded after being shown. Instead, a singlal + // connected to its items destroy will set is insensitive if no more windows preview are shown. + if (windows.length > 0){ + this._allWindowsMenuItem.show(); + this._allWindowsMenuItem.setSensitive(true); + } + } + + // Update separators + this._getMenuItems().forEach(item => { + if ('label' in item) { + this._updateSeparatorVisibility(item); + } + }); + } + + _populateAllWindowMenu(windows) { + + this._allWindowsMenuItem.menu.removeAll(); + + if (windows.length > 0) { + + let activeWorkspace = global.workspace_manager.get_active_workspace(); + let separatorShown = windows[0].get_workspace() != activeWorkspace; + + for (let i = 0; i < windows.length; i++) { + let window = windows[i]; + if (!separatorShown && window.get_workspace() != activeWorkspace) { + this._allWindowsMenuItem.menu.addMenuItem(new PopupMenu.PopupSeparatorMenuItem()); + separatorShown = true; + } + + let item = new WindowPreview.WindowPreviewMenuItem(window); + this._allWindowsMenuItem.menu.addMenuItem(item); + item.connect('activate', () => { + this.emit('activate-window', window); + }); + + // This is to achieve a more gracefull transition when the last windows is closed. + item.connect('destroy', () => { + if(this._allWindowsMenuItem.menu._getMenuItems().length == 1) // It's still counting the item just going to be destroyed + this._allWindowsMenuItem.setSensitive(false); + }); + } + } + } +}; +Signals.addSignalMethods(MyAppIconMenu.prototype); + +function getWindows(app, location) { + if (location != null && Docking.DockManager.getDefault().fm1Client) { + return Docking.DockManager.getDefault().fm1Client.getWindows(location); + } else { + return app.get_windows(); + } +} + +// Filter out unnecessary windows, for instance +// nautilus desktop window. +function getInterestingWindows(app, monitorIndex, location) { + let windows = getWindows(app, location).filter(function(w) { + return !w.skip_taskbar; + }); + + let settings = Docking.DockManager.settings; + + // When using workspace isolation, we filter out windows + // that are not in the current workspace + if (settings.get_boolean('isolate-workspaces')) + windows = windows.filter(function(w) { + return w.get_workspace().index() == global.workspace_manager.get_active_workspace_index(); + }); + + if (settings.get_boolean('isolate-monitors')) + windows = windows.filter(function(w) { + return w.get_monitor() == monitorIndex; + }); + + return windows; +} + +/** + * A ShowAppsIcon improved class. + * + * - set label position based on dash orientation (Note, I am reusing most machinery of the appIcon class) + * - implement a popupMenu based on the AppIcon code (Note, I am reusing most machinery of the appIcon class) + * + */ + +var MyShowAppsIcon = GObject.registerClass({ + Signals: { + 'menu-state-changed': { param_types: [GObject.TYPE_BOOLEAN] }, + 'sync-tooltip': {} + } +} +, class DashToDock_MyShowAppsIcon extends Dash.ShowAppsIcon { + _init() { + super._init(); + + // Re-use appIcon methods + let appIconPrototype = AppDisplay.AppIcon.prototype; + this.toggleButton.y_expand = false; + this.toggleButton.connect('popup-menu', + appIconPrototype._onKeyboardPopupMenu.bind(this)); + this.toggleButton.connect('clicked', + this._removeMenuTimeout.bind(this)); + + this.reactive = true; + this.toggleButton.popupMenu = () => this.popupMenu.call(this); + this.toggleButton._removeMenuTimeout = () => this._removeMenuTimeout.call(this); + + this._menu = null; + this._menuManager = new PopupMenu.PopupMenuManager(this); + this._menuTimeoutId = 0; + } + + vfunc_leave_event(leaveEvent) + { + return AppDisplay.AppIcon.prototype.vfunc_leave_event.call( + this.toggleButton, leaveEvent); + } + + vfunc_button_press_event(buttonPressEvent) + { + return AppDisplay.AppIcon.prototype.vfunc_button_press_event.call( + this.toggleButton, buttonPressEvent); + } + + vfunc_touch_event(touchEvent) + { + return AppDisplay.AppIcon.prototype.vfunc_touch_event.call( + this.toggleButton, touchEvent); + } + + showLabel() { + itemShowLabel.call(this); + } + + _onMenuPoppedDown() { + AppDisplay.AppIcon.prototype._onMenuPoppedDown.apply(this, arguments); + } + + _setPopupTimeout() { + AppDisplay.AppIcon.prototype._onMenuPoppedDown.apply(this, arguments); + } + + _removeMenuTimeout() { + AppDisplay.AppIcon.prototype._removeMenuTimeout.apply(this, arguments); + } + + popupMenu() { + this._removeMenuTimeout(); + this.toggleButton.fake_release(); + + if (!this._menu) { + this._menu = new MyShowAppsIconMenu(this); + this._menu.connect('open-state-changed', (menu, isPoppedUp) => { + if (!isPoppedUp) + this._onMenuPoppedDown(); + }); + let id = Main.overview.connect('hiding', () => { + this._menu.close(); + }); + this._menu.actor.connect('destroy', function() { + Main.overview.disconnect(id); + }); + this._menuManager.addMenu(this._menu); + } + + this.emit('menu-state-changed', true); + + this.toggleButton.set_hover(true); + this._menu.popup(); + this._menuManager.ignoreRelease(); + this.emit('sync-tooltip'); + + return false; + } +}); + + +/** + * A menu for the showAppsIcon + */ +var MyShowAppsIconMenu = class DashToDock_MyShowAppsIconMenu extends MyAppIconMenu { + _rebuildMenu() { + this.removeAll(); + + /* Translators: %s is "Settings", which is automatically translated. You + can also translate the full message if this fits better your language. */ + let name = __('Dash to Dock %s').format(_('Settings')) + let item = this._appendMenuItem(name); + + item.connect('activate', function () { + if (typeof ExtensionUtils.openPrefs === 'function') { + ExtensionUtils.openPrefs(); + } else { + Util.spawn(["gnome-shell-extension-prefs", Me.metadata.uuid]); + } + }); + } +}; + +/** + * This function is used for both extendShowAppsIcon and extendDashItemContainer + */ +function itemShowLabel() { + // Check if the label is still present at all. When switching workpaces, the + // item might have been destroyed in between. + if (!this._labelText || this.label.get_stage() == null) + return; + + this.label.set_text(this._labelText); + this.label.opacity = 0; + this.label.show(); + + let [stageX, stageY] = this.get_transformed_position(); + let node = this.label.get_theme_node(); + + let itemWidth = this.allocation.x2 - this.allocation.x1; + let itemHeight = this.allocation.y2 - this.allocation.y1; + + let labelWidth = this.label.get_width(); + let labelHeight = this.label.get_height(); + + let x, y, xOffset, yOffset; + + let position = Utils.getPosition(); + this._isHorizontal = ((position == St.Side.TOP) || (position == St.Side.BOTTOM)); + let labelOffset = node.get_length('-x-offset'); + + switch (position) { + case St.Side.LEFT: + yOffset = Math.floor((itemHeight - labelHeight) / 2); + y = stageY + yOffset; + xOffset = labelOffset; + x = stageX + this.get_width() + xOffset; + break; + case St.Side.RIGHT: + yOffset = Math.floor((itemHeight - labelHeight) / 2); + y = stageY + yOffset; + xOffset = labelOffset; + x = Math.round(stageX) - labelWidth - xOffset; + break; + case St.Side.TOP: + y = stageY + labelOffset + itemHeight; + xOffset = Math.floor((itemWidth - labelWidth) / 2); + x = stageX + xOffset; + break; + case St.Side.BOTTOM: + yOffset = labelOffset; + y = stageY - labelHeight - yOffset; + xOffset = Math.floor((itemWidth - labelWidth) / 2); + x = stageX + xOffset; + break; + } + + // keep the label inside the screen border + // Only needed fot the x coordinate. + + // Leave a few pixel gap + let gap = 5; + let monitor = Main.layoutManager.findMonitorForActor(this); + if (x - monitor.x < gap) + x += monitor.x - x + labelOffset; + else if (x + labelWidth > monitor.x + monitor.width - gap) + x -= x + labelWidth - (monitor.x + monitor.width) + gap; + + this.label.remove_all_transitions(); + this.label.set_position(x, y); + this.label.ease({ + opacity: 255, + duration: Dash.DASH_ITEM_LABEL_SHOW_TIME, + mode: Clutter.AnimationMode.EASE_OUT_QUAD + }); +} diff --git a/extensions/dash-to-dock/dash.js b/extensions/dash-to-dock/dash.js new file mode 100644 index 00000000..bac49c25 --- /dev/null +++ b/extensions/dash-to-dock/dash.js @@ -0,0 +1,1072 @@ +// -*- mode: js; js-indent-level: 4; indent-tabs-mode: nil -*- + +const Clutter = imports.gi.Clutter; +const Gio = imports.gi.Gio; +const GLib = imports.gi.GLib; +const GObject = imports.gi.GObject; +const Meta = imports.gi.Meta; +const Shell = imports.gi.Shell; +const St = imports.gi.St; + +const AppDisplay = imports.ui.appDisplay; +const AppFavorites = imports.ui.appFavorites; +const Dash = imports.ui.dash; +const DND = imports.ui.dnd; +const IconGrid = imports.ui.iconGrid; +const Main = imports.ui.main; +const PopupMenu = imports.ui.popupMenu; +const Util = imports.misc.util; +const Workspace = imports.ui.workspace; + +const Me = imports.misc.extensionUtils.getCurrentExtension(); +const Docking = Me.imports.docking; +const Utils = Me.imports.utils; +const AppIcons = Me.imports.appIcons; +const Locations = Me.imports.locations; + +const DASH_ANIMATION_TIME = Dash.DASH_ANIMATION_TIME; +const DASH_ITEM_LABEL_HIDE_TIME = Dash.DASH_ITEM_LABEL_HIDE_TIME; +const DASH_ITEM_HOVER_TIMEOUT = Dash.DASH_ITEM_HOVER_TIMEOUT; + +/** + * Extend DashItemContainer + * + * - set label position based on dash orientation + * + */ +let MyDashItemContainer = GObject.registerClass( +class DashToDock_MyDashItemContainer extends Dash.DashItemContainer { + + showLabel() { + return AppIcons.itemShowLabel.call(this); + } +}); + +const MyDashIconsVerticalLayout = GObject.registerClass( + class DashToDock_MyDashIconsVerticalLayout extends Clutter.BoxLayout { + _init() { + super._init({ + orientation: Clutter.Orientation.VERTICAL, + }); + } + + vfunc_get_preferred_height(container, forWidth) { + const [natHeight] = super.vfunc_get_preferred_height(container, forWidth); + return [natHeight, 0]; + } +}); + + +const baseIconSizes = [16, 22, 24, 32, 48, 64, 96, 128]; + +/** + * This class is a fork of the upstream dash class (ui.dash.js) + * + * Summary of changes: + * - disconnect global signals adding a destroy method; + * - play animations even when not in overview mode + * - set a maximum icon size + * - show running and/or favorite applications + * - hide showApps label when the custom menu is shown. + * - add scrollview + * ensure actor is visible on keyfocus inseid the scrollview + * - add 128px icon size, might be usefull for hidpi display + * - sync minimization application target position. + * - keep running apps ordered. + */ +var MyDash = GObject.registerClass({ + Signals: { + 'menu-closed': {}, + 'icon-size-changed': {}, + } +}, class DashToDock_MyDash extends St.Widget { + + _init(remoteModel, monitorIndex) { + // Initialize icon variables and size + this._maxWidth = -1; + this._maxHeight = -1; + this.iconSize = Docking.DockManager.settings.get_int('dash-max-icon-size'); + this._availableIconSizes = baseIconSizes; + this._shownInitially = false; + this._initializeIconSize(this.iconSize); + + this._separator = null; + + this._remoteModel = remoteModel; + this._monitorIndex = monitorIndex; + this._position = Utils.getPosition(); + this._isHorizontal = ((this._position == St.Side.TOP) || + (this._position == St.Side.BOTTOM)); + this._signalsHandler = new Utils.GlobalSignalsHandler(); + + this._dragPlaceholder = null; + this._dragPlaceholderPos = -1; + this._animatingPlaceholdersCount = 0; + this._showLabelTimeoutId = 0; + this._resetHoverTimeoutId = 0; + this._labelShowing = false; + + super._init({ + name: 'dash', + offscreen_redirect: Clutter.OffscreenRedirect.ALWAYS, + layout_manager: new Clutter.BinLayout() + }); + + this._dashContainer = new St.BoxLayout({ + x_align: Clutter.ActorAlign.CENTER, + y_align: this._isHorizontal ? Clutter.ActorAlign.CENTER: Clutter.ActorAlign.START, + vertical: !this._isHorizontal, + y_expand: this._isHorizontal, + x_expand: !this._isHorizontal, + pack_start: Docking.DockManager.settings.get_boolean('show-apps-at-top') + }); + + this._scrollView = new St.ScrollView({ + name: 'dashtodockDashScrollview', + // TODO: Fix scrolling + hscrollbar_policy: this._isHorizontal ? St.PolicyType.EXTERNAL : St.PolicyType.NEVER, + vscrollbar_policy: this._isHorizontal ? St.PolicyType.NEVER : St.PolicyType.EXTERNAL, + x_expand: this._isHorizontal, + y_expand: !this._isHorizontal, + enable_mouse_scrolling: false + }); + + if (Docking.DockManager.settings.get_boolean('extend-height')) { + if (!this._isHorizontal) { + this._scrollView.y_align = Clutter.ActorAlign.START; + } else { + this._scrollView.x_align = Clutter.ActorAlign.START; + } + } + + this._scrollView.connect('scroll-event', this._onScrollEvent.bind(this)); + + let rtl = Clutter.get_default_text_direction() == Clutter.TextDirection.RTL; + this._box = new St.BoxLayout({ + vertical: !this._isHorizontal, + clip_to_allocation: false, + ...(!this._isHorizontal ? { layout_manager: new MyDashIconsVerticalLayout() } : {}), + x_align: rtl ? Clutter.ActorAlign.END : Clutter.ActorAlign.START, + y_align: this._isHorizontal ? Clutter.ActorAlign.CENTER: Clutter.ActorAlign.START, + y_expand: !this._isHorizontal, + x_expand: this._isHorizontal + }); + this._box._delegate = this; + this._dashContainer.add_actor(this._scrollView); + this._scrollView.add_actor(this._box); + + this._showAppsIcon = new AppIcons.MyShowAppsIcon(); + this._showAppsIcon.show(false); + this._showAppsIcon.icon.setIconSize(this.iconSize); + this._showAppsIcon.x_expand = false; + this._showAppsIcon.y_expand = false; + if (!this._isHorizontal) + this._showAppsIcon.y_align = Clutter.ActorAlign.START; + this._hookUpLabel(this._showAppsIcon); + this._showAppsIcon.connect('menu-state-changed', (_icon, opened) => { + this._itemMenuStateChanged(this._showAppsIcon, opened); + }); + + this._dashContainer.add_child(this._showAppsIcon); + + this._background = new St.Widget({ + style_class: 'dash-background', + y_expand: this._isHorizontal, + x_expand: !this._isHorizontal, + }); + + const sizerBox = new Clutter.Actor(); + sizerBox.add_constraint(new Clutter.BindConstraint({ + source: this._isHorizontal ? this._showAppsIcon.icon : this._dashContainer, + coordinate: Clutter.BindCoordinate.HEIGHT, + })); + sizerBox.add_constraint(new Clutter.BindConstraint({ + source: this._isHorizontal ? this._dashContainer : this._showAppsIcon.icon, + coordinate: Clutter.BindCoordinate.WIDTH, + })); + this._background.add_child(sizerBox); + + this.add_child(this._background); + this.add_child(this._dashContainer); + + this._workId = Main.initializeDeferredWork(this._box, this._redisplay.bind(this)); + + this._shellSettings = new Gio.Settings({ + schema_id: 'org.gnome.shell' + }); + + this._appSystem = Shell.AppSystem.get_default(); + + this.iconAnimator = new Docking.IconAnimator(this); + + this._signalsHandler.add([ + this._appSystem, + 'installed-changed', + () => { + AppFavorites.getAppFavorites().reload(); + this._queueRedisplay(); + } + ], [ + AppFavorites.getAppFavorites(), + 'changed', + this._queueRedisplay.bind(this) + ], [ + this._appSystem, + 'app-state-changed', + this._queueRedisplay.bind(this) + ], [ + Main.overview, + 'item-drag-begin', + this._onItemDragBegin.bind(this) + ], [ + Main.overview, + 'item-drag-end', + this._onItemDragEnd.bind(this) + ], [ + Main.overview, + 'item-drag-cancelled', + this._onItemDragCancelled.bind(this) + ], [ + Main.overview, + 'window-drag-begin', + this._onWindowDragBegin.bind(this) + ], [ + Main.overview, + 'window-drag-cancelled', + this._onWindowDragEnd.bind(this) + ], [ + Main.overview, + 'window-drag-end', + this._onWindowDragEnd.bind(this) + ]); + + this.connect('destroy', this._onDestroy.bind(this)); + } + + vfunc_get_preferred_height(forWidth) { + let [minHeight, natHeight] = super.vfunc_get_preferred_height.call(this, forWidth); + if (!this._isHorizontal && this._maxHeight !== -1 && natHeight > this._maxHeight) + return [minHeight, this._maxHeight] + else + return [minHeight, natHeight] + } + + vfunc_get_preferred_width(forHeight) { + let [minWidth, natWidth] = super.vfunc_get_preferred_width.call(this, forHeight); + if (this._isHorizontal && this._maxWidth !== -1 && natWidth > this._maxWidth) + return [minWidth, this._maxWidth] + else + return [minWidth, natWidth] + } + + get _container() { + return this._dashContainer; + } + + _onDestroy() { + this.iconAnimator.destroy(); + this._signalsHandler.destroy(); + } + + + _onItemDragBegin() { + return Dash.Dash.prototype._onItemDragBegin.call(this, ...arguments); + } + + _onItemDragCancelled() { + return Dash.Dash.prototype._onItemDragCancelled.call(this, ...arguments); + } + + _onItemDragEnd() { + return Dash.Dash.prototype._onItemDragEnd.call(this, ...arguments); + } + + _endItemDrag() { + return Dash.Dash.prototype._endItemDrag.call(this, ...arguments); + } + + _onItemDragMotion() { + return Dash.Dash.prototype._onItemDragMotion.call(this, ...arguments); + } + + _appIdListToHash() { + return Dash.Dash.prototype._appIdListToHash.call(this, ...arguments); + } + + _queueRedisplay() { + return Dash.Dash.prototype._queueRedisplay.call(this, ...arguments); + } + + _hookUpLabel() { + return Dash.Dash.prototype._hookUpLabel.call(this, ...arguments); + } + + _syncLabel() { + return Dash.Dash.prototype._syncLabel.call(this, ...arguments); + } + + _clearDragPlaceholder() { + return Dash.Dash.prototype._clearDragPlaceholder.call(this, ...arguments); + } + + _clearEmptyDropTarget() { + return Dash.Dash.prototype._clearEmptyDropTarget.call(this, ...arguments); + } + + handleDragOver(source, actor, x, y, time) { + let ret; + if (this._isHorizontal) { + ret = Dash.Dash.prototype.handleDragOver.call(this, source, actor, x, y, time); + + if (ret == DND.DragMotionResult.CONTINUE) + return ret; + } else { + Object.defineProperty(this._box, 'height', { + configurable: true, + get: () => this._box.get_children().reduce((a, c) => a + c.height, 0), + }); + + let replacedPlaceholderWidth = false; + if (this._dragPlaceholder) { + replacedPlaceholderWidth = true; + Object.defineProperty(this._dragPlaceholder, 'width', { + configurable: true, + get: () => this._dragPlaceholder.height, + }); + } + + ret = Dash.Dash.prototype.handleDragOver.call(this, source, actor, y, x, time); + + delete this._box.height; + if (replacedPlaceholderWidth && this._dragPlaceholder) + delete this._dragPlaceholder.width; + + if (ret == DND.DragMotionResult.CONTINUE) + return ret; + + if (this._dragPlaceholder) { + this._dragPlaceholder.child.set_width(this.iconSize / 2); + this._dragPlaceholder.child.set_height(this.iconSize); + + let pos = this._dragPlaceholderPos; + if (this._isHorizontal && (Clutter.get_default_text_direction() == Clutter.TextDirection.RTL)) + pos = this._box.get_children() - 1 - pos; + + if (pos != this._dragPlaceholderPos) { + this._dragPlaceholderPos = pos; + this._box.set_child_at_index(this._dragPlaceholder, + this._dragPlaceholderPos) + } + } + } + + if (this._dragPlaceholder) { + // Ensure the next and previous icon are visible when moving the placeholder + // (I assume there's room for both of them) + if (this._dragPlaceholderPos > 0) + ensureActorVisibleInScrollView(this._scrollView, + this._box.get_children()[this._dragPlaceholderPos - 1]); + + if (this._dragPlaceholderPos < this._box.get_children().length - 1) + ensureActorVisibleInScrollView(this._scrollView, + this._box.get_children()[this._dragPlaceholderPos + 1]); + } + + return ret; + } + + acceptDrop() { + return Dash.Dash.prototype.acceptDrop.call(this, ...arguments); + } + + _onWindowDragBegin() { + return Dash.Dash.prototype._onWindowDragBegin.call(this, ...arguments); + } + + _onWindowDragEnd() { + return Dash.Dash.prototype._onWindowDragEnd.call(this, ...arguments); + } + + _onScrollEvent(actor, event) { + // If scroll is not used because the icon is resized, let the scroll event propagate. + if (!Docking.DockManager.settings.get_boolean('icon-size-fixed')) + return Clutter.EVENT_PROPAGATE; + + // reset timeout to avid conflicts with the mousehover event + if (this._ensureAppIconVisibilityTimeoutId > 0) { + GLib.source_remove(this._ensureAppIconVisibilityTimeoutId); + this._ensureAppIconVisibilityTimeoutId = 0; + } + + // Skip to avoid double events mouse + // TODO: Horizontal events are emulated, potentially due to a conflict + // with the workspace switching gesture. + if (!this._isHorizontal && event.is_pointer_emulated()) { + return Clutter.EVENT_STOP; + } + + let adjustment, delta = 0; + + if (this._isHorizontal) + adjustment = this._scrollView.get_hscroll_bar().get_adjustment(); + else + adjustment = this._scrollView.get_vscroll_bar().get_adjustment(); + + let increment = adjustment.step_increment; + + if (this._isHorizontal) { + switch (event.get_scroll_direction()) { + case Clutter.ScrollDirection.LEFT: + delta = -increment; + break; + case Clutter.ScrollDirection.RIGHT: + delta = +increment; + break; + case Clutter.ScrollDirection.SMOOTH: + let [dx, dy] = event.get_scroll_delta(); + // TODO: Handle y + //delta = dy * increment; + // Also consider horizontal component, for instance touchpad + delta = dx * increment; + break; + } + } else { + switch (event.get_scroll_direction()) { + case Clutter.ScrollDirection.UP: + delta = -increment; + break; + case Clutter.ScrollDirection.DOWN: + delta = +increment; + break; + case Clutter.ScrollDirection.SMOOTH: + let [, dy] = event.get_scroll_delta(); + delta = dy * increment; + break; + } + } + + const value = adjustment.get_value(); + + // TODO: Remove this if possible. + if (Number.isNaN(value)) { + adjustment.set_value(delta); + } else { + adjustment.set_value(value + delta); + } + + return Clutter.EVENT_STOP; + } + + _createAppItem(app) { + let appIcon = new AppIcons.MyAppIcon(this._remoteModel, app, + this._monitorIndex, this.iconAnimator); + + if (appIcon._draggable) { + appIcon._draggable.connect('drag-begin', () => { + appIcon.opacity = 50; + }); + appIcon._draggable.connect('drag-end', () => { + appIcon.opacity = 255; + }); + } + + appIcon.connect('menu-state-changed', (appIcon, opened) => { + this._itemMenuStateChanged(item, opened); + }); + + let item = new MyDashItemContainer(); + item.setChild(appIcon); + + appIcon.connect('notify::hover', () => { + if (appIcon.hover) { + this._ensureAppIconVisibilityTimeoutId = GLib.timeout_add( + GLib.PRIORITY_DEFAULT, 100, () => { + ensureActorVisibleInScrollView(this._scrollView, appIcon); + this._ensureAppIconVisibilityTimeoutId = 0; + return GLib.SOURCE_REMOVE; + }); + } + else { + if (this._ensureAppIconVisibilityTimeoutId > 0) { + GLib.source_remove(this._ensureAppIconVisibilityTimeoutId); + this._ensureAppIconVisibilityTimeoutId = 0; + } + } + }); + + appIcon.connect('clicked', (actor) => { + ensureActorVisibleInScrollView(this._scrollView, actor); + }); + + appIcon.connect('key-focus-in', (actor) => { + let [x_shift, y_shift] = ensureActorVisibleInScrollView(this._scrollView, actor); + + // This signal is triggered also by mouse click. The popup menu is opened at the original + // coordinates. Thus correct for the shift which is going to be applied to the scrollview. + if (appIcon._menu) { + appIcon._menu._boxPointer.xOffset = -x_shift; + appIcon._menu._boxPointer.yOffset = -y_shift; + } + }); + + // Override default AppIcon label_actor, now the + // accessible_name is set at DashItemContainer.setLabelText + appIcon.label_actor = null; + item.setLabelText(app.get_name()); + + appIcon.icon.setIconSize(this.iconSize); + this._hookUpLabel(item, appIcon); + + return item; + } + + /** + * Return an array with the "proper" appIcons currently in the dash + */ + getAppIcons() { + // Only consider children which are "proper" + // icons (i.e. ignoring drag placeholders) and which are not + // animating out (which means they will be destroyed at the end of + // the animation) + let iconChildren = this._box.get_children().filter(function(actor) { + return actor.child && + !!actor.child.icon && + !actor.animatingOut; + }); + + let appIcons = iconChildren.map(function(actor) { + return actor.child; + }); + + return appIcons; + } + + _updateAppsIconGeometry() { + let appIcons = this.getAppIcons(); + appIcons.forEach(function(icon) { + icon.updateIconGeometry(); + }); + } + + _itemMenuStateChanged(item, opened) { + Dash.Dash.prototype._itemMenuStateChanged.call(this, item, opened); + + if (!opened) { + // I want to listen from outside when a menu is closed. I used to + // add a custom signal to the appIcon, since gnome 3.8 the signal + // calling this callback was added upstream. + this.emit('menu-closed'); + } + } + + _adjustIconSize() { + // For the icon size, we only consider children which are "proper" + // icons (i.e. ignoring drag placeholders) and which are not + // animating out (which means they will be destroyed at the end of + // the animation) + let iconChildren = this._box.get_children().filter(actor => { + return actor.child && + actor.child._delegate && + actor.child._delegate.icon && + !actor.animatingOut; + }); + + iconChildren.push(this._showAppsIcon); + + if (this._maxWidth === -1 && this._maxHeight === -1) + return; + + // Check if the container is present in the stage. This avoids critical + // errors when unlocking the screen + if (!this._container.get_stage()) + return; + + const themeNode = this.get_theme_node(); + const maxAllocation = new Clutter.ActorBox({ + x1: 0, + y1: 0, + x2: this._isHorizontal ? this._maxWidth : 42 /* whatever */, + y2: this._isHorizontal ? 42 : this._maxHeight + }); + let maxContent = themeNode.get_content_box(maxAllocation); + let availWidth; + if (this._isHorizontal) + availWidth = maxContent.x2 - maxContent.x1; + else + availWidth = maxContent.y2 - maxContent.y1; + let spacing = themeNode.get_length('spacing'); + + let firstButton = iconChildren[0].child; + let firstIcon = firstButton._delegate.icon; + + // Enforce valid spacings during the size request + firstIcon.icon.ensure_style(); + const [, , iconWidth, iconHeight] = firstIcon.icon.get_preferred_size(); + const [, , buttonWidth, buttonHeight] = firstButton.get_preferred_size(); + + // Subtract icon padding and box spacing from the available height + if (this._isHorizontal) + // Subtract icon padding and box spacing from the available width + availWidth -= iconChildren.length * (buttonWidth - iconWidth) + + (iconChildren.length - 1) * spacing; + else + availWidth -= iconChildren.length * (buttonHeight - iconHeight) + + (iconChildren.length - 1) * spacing; + + // let availHeight = this._maxHeight; + // availHeight -= this._background.get_theme_node().get_vertical_padding(); + // availHeight -= themeNode.get_vertical_padding(); + // availHeight -= buttonHeight - iconHeight; + + const maxIconSize = // TODO: Math.min( + availWidth / iconChildren.length // ); , availHeight); + let scaleFactor = St.ThemeContext.get_for_stage(global.stage).scale_factor; + let iconSizes = this._availableIconSizes.map(s => s * scaleFactor); + + let newIconSize = this._availableIconSizes[0]; + for (let i = 0; i < iconSizes.length; i++) { + if (iconSizes[i] <= maxIconSize) + newIconSize = this._availableIconSizes[i]; + } + + if (newIconSize == this.iconSize) + return; + + let oldIconSize = this.iconSize; + this.iconSize = newIconSize; + this.emit('icon-size-changed'); + + let scale = oldIconSize / newIconSize; + for (let i = 0; i < iconChildren.length; i++) { + let icon = iconChildren[i].child._delegate.icon; + + // Set the new size immediately, to keep the icons' sizes + // in sync with this.iconSize + icon.setIconSize(this.iconSize); + + // Don't animate the icon size change when the overview + // is transitioning, not visible or when initially filling + // the dash + if (!Main.overview.visible || Main.overview.animationInProgress || + !this._shownInitially) + continue; + + let [targetWidth, targetHeight] = icon.icon.get_size(); + + // Scale the icon's texture to the previous size and + // tween to the new size + icon.icon.set_size(icon.icon.width * scale, + icon.icon.height * scale); + + icon.icon.ease({ + width: targetWidth, + height: targetHeight, + duration: DASH_ANIMATION_TIME, + mode: Clutter.AnimationMode.EASE_OUT_QUAD, + }); + } + + if (this._separator) { + if (this._isHorizontal) { + this._separator.ease({ + height: this.iconSize, + duration: DASH_ANIMATION_TIME, + mode: Clutter.AnimationMode.EASE_OUT_QUAD, + }); + } else { + this._separator.ease({ + width: this.iconSize, + duration: DASH_ANIMATION_TIME, + mode: Clutter.AnimationMode.EASE_OUT_QUAD, + }); + } + } + } + + _redisplay() { + let favorites = AppFavorites.getAppFavorites().getFavoriteMap(); + + let running = this._appSystem.get_running(); + let settings = Docking.DockManager.settings; + + if (settings.get_boolean('isolate-workspaces') || + settings.get_boolean('isolate-monitors')) { + // When using isolation, we filter out apps that have no windows in + // the current workspace + let monitorIndex = this._monitorIndex; + running = running.filter(function(_app) { + return AppIcons.getInterestingWindows(_app, monitorIndex).length != 0; + }); + } + + let children = this._box.get_children().filter(actor => { + return actor.child && + actor.child._delegate && + actor.child._delegate.app; + }); + // Apps currently in the dash + let oldApps = children.map(actor => actor.child._delegate.app); + // Apps supposed to be in the dash + let newApps = []; + + if (settings.get_boolean('show-favorites')) { + for (let id in favorites) + newApps.push(favorites[id]); + } + + if (settings.get_boolean('show-running')) { + for (let i = 0; i < running.length; i++) { + let app = running[i]; + if (settings.get_boolean('show-favorites') && app.get_id() in favorites) + continue; + newApps.push(app); + } + } + + if (settings.get_boolean('show-mounts')) { + if (!this._removables) { + this._removables = new Locations.Removables(); + this._signalsHandler.addWithLabel('show-mounts', + [ this._removables, + 'changed', + this._queueRedisplay.bind(this) ]); + } + Array.prototype.push.apply(newApps, this._removables.getApps()); + } else if (this._removables) { + this._signalsHandler.removeWithLabel('show-mounts'); + this._removables.destroy(); + this._removables = null; + } + + if (settings.get_boolean('show-trash')) { + if (!this._trash) { + this._trash = new Locations.Trash(); + this._signalsHandler.addWithLabel('show-trash', + [ this._trash, + 'changed', + this._queueRedisplay.bind(this) ]); + } + newApps.push(this._trash.getApp()); + } else if (this._trash) { + this._signalsHandler.removeWithLabel('show-trash'); + this._trash.destroy(); + this._trash = null; + } + + // Figure out the actual changes to the list of items; we iterate + // over both the list of items currently in the dash and the list + // of items expected there, and collect additions and removals. + // Moves are both an addition and a removal, where the order of + // the operations depends on whether we encounter the position + // where the item has been added first or the one from where it + // was removed. + // There is an assumption that only one item is moved at a given + // time; when moving several items at once, everything will still + // end up at the right position, but there might be additional + // additions/removals (e.g. it might remove all the launchers + // and add them back in the new order even if a smaller set of + // additions and removals is possible). + // If above assumptions turns out to be a problem, we might need + // to use a more sophisticated algorithm, e.g. Longest Common + // Subsequence as used by diff. + + let addedItems = []; + let removedActors = []; + + let newIndex = 0; + let oldIndex = 0; + while (newIndex < newApps.length || oldIndex < oldApps.length) { + let oldApp = oldApps.length > oldIndex ? oldApps[oldIndex] : null; + let newApp = newApps.length > newIndex ? newApps[newIndex] : null; + + // No change at oldIndex/newIndex + if (oldApp == newApp) { + oldIndex++; + newIndex++; + continue; + } + + // App removed at oldIndex + if (oldApp && !newApps.includes(oldApp)) { + removedActors.push(children[oldIndex]); + oldIndex++; + continue; + } + + // App added at newIndex + if (newApp && !oldApps.includes(newApp)) { + addedItems.push({ app: newApp, + item: this._createAppItem(newApp), + pos: newIndex }); + newIndex++; + continue; + } + + // App moved + let nextApp = newApps.length > newIndex + 1 + ? newApps[newIndex + 1] : null; + let insertHere = nextApp && nextApp == oldApp; + let alreadyRemoved = removedActors.reduce((result, actor) => { + let removedApp = actor.child._delegate.app; + return result || removedApp == newApp; + }, false); + + if (insertHere || alreadyRemoved) { + let newItem = this._createAppItem(newApp); + addedItems.push({ app: newApp, + item: newItem, + pos: newIndex + removedActors.length }); + newIndex++; + } else { + removedActors.push(children[oldIndex]); + oldIndex++; + } + } + + for (let i = 0; i < addedItems.length; i++) { + this._box.insert_child_at_index(addedItems[i].item, + addedItems[i].pos); + } + + for (let i = 0; i < removedActors.length; i++) { + let item = removedActors[i]; + + // Don't animate item removal when the overview is transitioning + // or hidden + if (!Main.overview.animationInProgress) + item.animateOutAndDestroy(); + else + item.destroy(); + } + + this._adjustIconSize(); + + // Skip animations on first run when adding the initial set + // of items, to avoid all items zooming in at once + + let animate = this._shownInitially && + !Main.overview.animationInProgress; + + if (!this._shownInitially) + this._shownInitially = true; + + for (let i = 0; i < addedItems.length; i++) + addedItems[i].item.show(animate); + + // Update separator + const nFavorites = Object.keys(favorites).length; + const nIcons = children.length + addedItems.length - removedActors.length; + if (nFavorites > 0 && nFavorites < nIcons) { + if (!this._separator) { + if (!this._isHorizontal) { + this._separator = new St.Widget({ + style_class: 'vertical-dash-separator', + x_align: Clutter.ActorAlign.CENTER, + width: this.iconSize, + }); + } else { + this._separator = new St.Widget({ + style_class: 'dash-separator', + y_align: Clutter.ActorAlign.CENTER, + height: this.iconSize, + }); + } + + this._box.add_child(this._separator); + } + let pos = nFavorites; + if (this._dragPlaceholder) + pos++; + this._box.set_child_at_index(this._separator, pos); + } else if (this._separator) { + this._separator.destroy(); + this._separator = null; + } + + // Workaround for https://bugzilla.gnome.org/show_bug.cgi?id=692744 + // Without it, StBoxLayout may use a stale size cache + this._box.queue_relayout(); + // TODO + // This is required for icon reordering when the scrollview is used. + this._updateAppsIconGeometry(); + + // This will update the size, and the corresponding number for each icon + this._updateNumberOverlay(); + } + + _updateNumberOverlay() { + let appIcons = this.getAppIcons(); + let counter = 1; + appIcons.forEach(function(icon) { + if (counter < 10){ + icon.setNumberOverlay(counter); + counter++; + } else if (counter == 10) { + icon.setNumberOverlay(0); + counter++; + } else { + // No overlay after 10 + icon.setNumberOverlay(-1); + } + icon.updateNumberOverlay(); + }); + + } + + toggleNumberOverlay(activate) { + let appIcons = this.getAppIcons(); + appIcons.forEach(function(icon) { + icon.toggleNumberOverlay(activate); + }); + } + + _initializeIconSize(max_size) { + let max_allowed = baseIconSizes[baseIconSizes.length-1]; + max_size = Math.min(max_size, max_allowed); + + if (Docking.DockManager.settings.get_boolean('icon-size-fixed')) + this._availableIconSizes = [max_size]; + else { + this._availableIconSizes = baseIconSizes.filter(function(val) { + return (val vvalue + vpageSize - voffset) + vvalue = Math.min(vupper -vpageSize, y2 + voffset - vpageSize); + + if (x1 < hvalue + hoffset) + hvalue = Math.max(0, x1 - hoffset); + else if (hvalue < hupper - hpageSize && x2 > hvalue + hpageSize - hoffset) + hvalue = Math.min(hupper - hpageSize, x2 + hoffset - hpageSize); + + if (vvalue !== vvalue0) { + vadjustment.ease(vvalue, { + mode: Clutter.AnimationMode.EASE_OUT_QUAD, + duration: Util.SCROLL_TIME + }); + } + + if (hvalue !== hvalue0) { + hadjustment.ease(hvalue, { + mode: Clutter.AnimationMode.EASE_OUT_QUAD, + duration: Util.SCROLL_TIME + }); + } + + return [hvalue- hvalue0, vvalue - vvalue0]; +} diff --git a/extensions/dash-to-dock/dbusmenuUtils.js b/extensions/dash-to-dock/dbusmenuUtils.js new file mode 100644 index 00000000..0d2793d0 --- /dev/null +++ b/extensions/dash-to-dock/dbusmenuUtils.js @@ -0,0 +1,274 @@ +// -*- mode: js; js-indent-level: 4; indent-tabs-mode: nil -*- + +const Atk = imports.gi.Atk; +const Clutter = imports.gi.Clutter; +let Dbusmenu = null; /* Dynamically imported */ +const Gio = imports.gi.Gio; +const GLib = imports.gi.GLib; +const St = imports.gi.St; + +const PopupMenu = imports.ui.popupMenu; + +const Me = imports.misc.extensionUtils.getCurrentExtension(); +const Utils = Me.imports.utils; + +// Dbusmenu features not (yet) supported: +// +// * The CHILD_DISPLAY property +// +// This seems to have only one possible value in the Dbusmenu API, so +// there's little point in depending on it--the code in libdbusmenu sets it +// if and only if an item has children, so for our purposes it's simpler +// and more intuitive to just check children.length. (This does ignore the +// possibility of a program not using libdbusmenu and setting CHILD_DISPLAY +// independently, perhaps to indicate that an childless menu item should +// nevertheless be displayed like a submenu.) +// +// * Children more than two levels deep +// +// PopupMenu doesn't seem to support submenus in submenus. +// +// * Shortcut keys +// +// If these keys are supposed to be installed as global shortcuts, we'd +// have to query these aggressively and not wait for the DBus menu to be +// mapped to a popup menu. A shortcut key that only works once the popup +// menu is open and has key focus is possibly of marginal value. + +function haveDBusMenu() { + if (Dbusmenu) + return Dbusmenu; + + try { + Dbusmenu = imports.gi.Dbusmenu; + return Dbusmenu; + } catch (e) { + log(`Failed to import DBusMenu, quicklists are not avaialble: ${e}`); + return null; + } +} + + +function makePopupMenuItem(dbusmenuItem, deep) { + // These are the only properties guaranteed to be available when the root + // item is first announced. Other properties might be loaded already, but + // be sure to connect to Dbusmenu.MENUITEM_SIGNAL_PROPERTY_CHANGED to get + // the most up-to-date values in case they aren't. + const itemType = dbusmenuItem.property_get(Dbusmenu.MENUITEM_PROP_TYPE); + const label = dbusmenuItem.property_get(Dbusmenu.MENUITEM_PROP_LABEL); + const visible = dbusmenuItem.property_get_bool(Dbusmenu.MENUITEM_PROP_VISIBLE); + const enabled = dbusmenuItem.property_get_bool(Dbusmenu.MENUITEM_PROP_ENABLED); + const accessibleDesc = dbusmenuItem.property_get(Dbusmenu.MENUITEM_PROP_ACCESSIBLE_DESC); + //const childDisplay = dbusmenuItem.property_get(Dbusmenu.MENUITEM_PROP_CHILD_DISPLAY); + + let item; + const signalsHandler = new Utils.GlobalSignalsHandler(); + const wantIcon = itemType === Dbusmenu.CLIENT_TYPES_IMAGE; + + // If the basic type of the menu item needs to change, call this. + const recreateItem = () => { + const newItem = makePopupMenuItem(dbusmenuItem, deep); + const parentMenu = item._parent; + parentMenu.addMenuItem(newItem); + // Reminder: Clutter thinks of later entries in the child list as + // "above" earlier ones, so "above" here means "below" in terms of the + // menu's vertical order. + parentMenu.actor.set_child_above_sibling(newItem.actor, item.actor); + if (newItem.menu) { + parentMenu.actor.set_child_above_sibling(newItem.menu.actor, newItem.actor); + } + parentMenu.actor.remove_child(item.actor); + item.destroy(); + item = null; + }; + + const updateDisposition = () => { + const disposition = dbusmenuItem.property_get(Dbusmenu.MENUITEM_PROP_DISPOSITION); + let icon_name = null; + switch (disposition) { + case Dbusmenu.MENUITEM_DISPOSITION_ALERT: + case Dbusmenu.MENUITEM_DISPOSITION_WARNING: + icon_name = 'dialog-warning-symbolic'; + break; + case Dbusmenu.MENUITEM_DISPOSITION_INFORMATIVE: + icon_name = 'dialog-information-symbolic'; + break; + } + if (icon_name) { + item._dispositionIcon = new St.Icon({ + icon_name, + style_class: 'popup-menu-icon', + y_align: Clutter.ActorAlign.CENTER, + y_expand: true, + }); + let expander; + for (let child = item.label.get_next_sibling();; child = child.get_next_sibling()) { + if (!child) { + expander = new St.Bin({ + style_class: 'popup-menu-item-expander', + x_expand: true, + }); + item.actor.add_child(expander); + break; + } else if (child instanceof St.Widget && child.has_style_class_name('popup-menu-item-expander')) { + expander = child; + break; + } + } + item.actor.insert_child_above(item._dispositionIcon, expander); + } else if (item._dispositionIcon) { + item.actor.remove_child(item._dispositionIcon); + item._dispositionIcon = null; + } + }; + + const updateIcon = () => { + if (!wantIcon) { + return; + } + const iconData = dbusmenuItem.property_get_byte_array(Dbusmenu.MENUITEM_PROP_ICON_DATA); + const iconName = dbusmenuItem.property_get(Dbusmenu.MENUITEM_PROP_ICON_NAME); + if (iconName) { + item.icon.icon_name = iconName; + } else if (iconData.length) { + item.icon.gicon = Gio.BytesIcon.new(iconData); + } + }; + + const updateOrnament = () => { + const toggleType = dbusmenuItem.property_get(Dbusmenu.MENUITEM_PROP_TOGGLE_TYPE); + switch (toggleType) { + case Dbusmenu.MENUITEM_TOGGLE_CHECK: + item.actor.accessible_role = Atk.Role.CHECK_MENU_ITEM; + break; + case Dbusmenu.MENUITEM_TOGGLE_RADIO: + item.actor.accessible_role = Atk.Role.RADIO_MENU_ITEM; + break; + default: + item.actor.accessible_role = Atk.Role.MENU_ITEM; + } + let ornament = PopupMenu.Ornament.NONE; + const state = dbusmenuItem.property_get_int(Dbusmenu.MENUITEM_PROP_TOGGLE_STATE); + if (state === Dbusmenu.MENUITEM_TOGGLE_STATE_UNKNOWN) { + // PopupMenu doesn't natively support an "unknown" ornament, but we + // can hack one in: + item.setOrnament(ornament); + item.actor.add_accessible_state(Atk.StateType.INDETERMINATE); + item._ornamentLabel.text = '\u2501'; + item.actor.remove_style_pseudo_class('checked'); + } else { + item.actor.remove_accessible_state(Atk.StateType.INDETERMINATE); + if (state === Dbusmenu.MENUITEM_TOGGLE_STATE_CHECKED) { + if (toggleType === Dbusmenu.MENUITEM_TOGGLE_CHECK) { + ornament = PopupMenu.Ornament.CHECK; + } else if (toggleType === Dbusmenu.MENUITEM_TOGGLE_RADIO) { + ornament = PopupMenu.Ornament.DOT; + } + item.actor.add_style_pseudo_class('checked'); + } else { + item.actor.remove_style_pseudo_class('checked'); + } + item.setOrnament(ornament); + } + }; + + const onPropertyChanged = (dbusmenuItem, name, value) => { + // `value` is null when a property is cleared, so handle those cases + // with sensible defaults. + switch (name) { + case Dbusmenu.MENUITEM_PROP_TYPE: + recreateItem(); + break; + case Dbusmenu.MENUITEM_PROP_ENABLED: + item.setSensitive(value ? value.unpack() : false); + break; + case Dbusmenu.MENUITEM_PROP_LABEL: + item.label.text = value ? value.unpack() : ''; + break; + case Dbusmenu.MENUITEM_PROP_VISIBLE: + item.actor.visible = value ? value.unpack() : false; + break; + case Dbusmenu.MENUITEM_PROP_DISPOSITION: + updateDisposition(); + break; + case Dbusmenu.MENUITEM_PROP_ACCESSIBLE_DESC: + item.actor.get_accessible().accessible_description = value && value.unpack() || ''; + break; + case Dbusmenu.MENUITEM_PROP_ICON_DATA: + case Dbusmenu.MENUITEM_PROP_ICON_NAME: + updateIcon(); + break; + case Dbusmenu.MENUITEM_PROP_TOGGLE_TYPE: + case Dbusmenu.MENUITEM_PROP_TOGGLE_STATE: + updateOrnament(); + break; + } + }; + + + // Start actually building the menu item. + const children = dbusmenuItem.get_children(); + if (children.length && !deep) { + // Make a submenu. + item = new PopupMenu.PopupSubMenuMenuItem(label, wantIcon); + const updateChildren = () => { + const children = dbusmenuItem.get_children(); + if (!children.length) { + return recreateItem(); + } + item.menu.removeAll(); + children.forEach(remoteChild => + item.menu.addMenuItem(makePopupMenuItem(remoteChild, true))); + }; + updateChildren(); + signalsHandler.add( + [dbusmenuItem, Dbusmenu.MENUITEM_SIGNAL_CHILD_ADDED, updateChildren], + [dbusmenuItem, Dbusmenu.MENUITEM_SIGNAL_CHILD_MOVED, updateChildren], + [dbusmenuItem, Dbusmenu.MENUITEM_SIGNAL_CHILD_REMOVED, updateChildren]); + + } else { + // Don't make a submenu. + if (!deep) { + // We only have the potential to get a submenu if we aren't deep. + signalsHandler.add( + [dbusmenuItem, Dbusmenu.MENUITEM_SIGNAL_CHILD_ADDED, recreateItem], + [dbusmenuItem, Dbusmenu.MENUITEM_SIGNAL_CHILD_MOVED, recreateItem], + [dbusmenuItem, Dbusmenu.MENUITEM_SIGNAL_CHILD_REMOVED, recreateItem]); + } + + if (itemType === Dbusmenu.CLIENT_TYPES_SEPARATOR) { + item = new PopupMenu.PopupSeparatorMenuItem(); + } else if (wantIcon) { + item = new PopupMenu.PopupImageMenuItem(label, null); + item.icon = item._icon; + } else { + item = new PopupMenu.PopupMenuItem(label); + } + } + + // Set common initial properties. + item.actor.visible = visible; + item.setSensitive(enabled); + if (accessibleDesc) { + item.actor.get_accessible().accessible_description = accessibleDesc; + } + updateDisposition(); + updateIcon(); + updateOrnament(); + + // Prevent an initial resize flicker. + if (wantIcon) { + item.icon.icon_size = 16; + } + + signalsHandler.add([dbusmenuItem, Dbusmenu.MENUITEM_SIGNAL_PROPERTY_CHANGED, onPropertyChanged]); + + // Connections on item will be lost when item is disposed; there's no need + // to add them to signalsHandler. + item.connect('activate', () => { + dbusmenuItem.handle_event(Dbusmenu.MENUITEM_EVENT_ACTIVATED, new GLib.Variant('i', 0), Math.floor(Date.now()/1000)); + }); + item.connect('destroy', () => signalsHandler.destroy()); + + return item; +} diff --git a/extensions/dash-to-dock/docking.js b/extensions/dash-to-dock/docking.js new file mode 100644 index 00000000..daa9de59 --- /dev/null +++ b/extensions/dash-to-dock/docking.js @@ -0,0 +1,1967 @@ +// -*- mode: js; js-indent-level: 4; indent-tabs-mode: nil -*- + +const Clutter = imports.gi.Clutter; +const GLib = imports.gi.GLib; +const GObject = imports.gi.GObject; +const Meta = imports.gi.Meta; +const Shell = imports.gi.Shell; +const St = imports.gi.St; +const Params = imports.misc.params; + +const Main = imports.ui.main; +const Dash = imports.ui.dash; +const IconGrid = imports.ui.iconGrid; +const Overview = imports.ui.overview; +const OverviewControls = imports.ui.overviewControls; +const PointerWatcher = imports.ui.pointerWatcher; +const Signals = imports.signals; +const SearchController = imports.ui.searchController; +const WorkspaceSwitcherPopup= imports.ui.workspaceSwitcherPopup; +const Layout = imports.ui.layout; +const LayoutManager = imports.ui.main.layoutManager; + +const ExtensionUtils = imports.misc.extensionUtils; +const Me = ExtensionUtils.getCurrentExtension(); +const Utils = Me.imports.utils; +const Intellihide = Me.imports.intellihide; +const Theming = Me.imports.theming; +const MyDash = Me.imports.dash; +const LauncherAPI = Me.imports.launcherAPI; +const FileManager1API = Me.imports.fileManager1API; + +const DOCK_DWELL_CHECK_INTERVAL = 100; + +var State = { + HIDDEN: 0, + SHOWING: 1, + SHOWN: 2, + HIDING: 3 +}; + +const scrollAction = { + DO_NOTHING: 0, + CYCLE_WINDOWS: 1, + SWITCH_WORKSPACE: 2 +}; + +/** + * Ported from GNOME Shell 3.38 + * + * In GNOME Shell 40+ the dash is always visible, + * we need to re-include a spacer because our dash + * is not always visible. + */ +var DashSpacer = GObject.registerClass( + class DashSpacer extends Clutter.Actor { + _init(source) { + super._init(); + + this._bindConstraint = new Clutter.BindConstraint({ + source, + coordinate: Clutter.BindCoordinate.SIZE, + }); + this.add_constraint(this._bindConstraint); + } + + setMaxSize(size) { + // Handles overview controls trying to set the dash' max size. + } + + vfunc_get_preferred_width(forHeight) { + if (this._bindConstraint) + return this._bindConstraint.source.get_preferred_width(forHeight); + return super.vfunc_get_preferred_width(forHeight); + } + + vfunc_get_preferred_height(forWidth) { + if (this._bindConstraint) + return this._bindConstraint.source.get_preferred_height(forWidth); + return super.vfunc_get_preferred_height(forWidth); + } + } +); + + +/** + * A simple St.Widget with one child whose allocation takes into account the + * slide out of its child via the _slidex parameter ([0:1]). + * + * Required since I want to track the input region of this container which is + * based on its allocation even if the child overlows the parent actor. By doing + * this the region of the dash that is slideout is not steling anymore the input + * regions making the extesion usable when the primary monitor is the right one. + * + * The slidex parameter can be used to directly animate the sliding. The parent + * must have a WEST (SOUTH) anchor_point to achieve the sliding to the RIGHT (BOTTOM) + * side. +*/ +var DashSlideContainer = GObject.registerClass({ + Properties: { + 'side': GObject.ParamSpec.enum( + 'side', 'side', 'side', + GObject.ParamFlags.READWRITE | GObject.ParamFlags.CONSTRUCT_ONLY, + St.Side, St.Side.LEFT), + 'slidex': GObject.ParamSpec.double( + 'slidex', 'slidex', 'slidex', + GObject.ParamFlags.READWRITE | GObject.ParamFlags.CONSTRUCT, + 0, 1, 1), + } +}, class DashToDock_DashSlideContainer extends St.Bin { + + _init(params = {}) { + super._init(params); + + // slide parameter: 1 = visible, 0 = hidden. + this._slidex = params.slidex || 1; + this._slideoutSize = 0; // minimum size when slided out + } + + vfunc_allocate(box, flags) { + let contentBox = this.get_theme_node().get_content_box(box); + + this.set_allocation(box); + + if (this.child == null) + return; + + let availWidth = contentBox.x2 - contentBox.x1; + let availHeight = contentBox.y2 - contentBox.y1; + let [, , natChildWidth, natChildHeight] = + this.child.get_preferred_size(); + + let childWidth = natChildWidth; + let childHeight = natChildHeight; + + let childBox = new Clutter.ActorBox(); + + let slideoutSize = this._slideoutSize; + + if (this.side == St.Side.LEFT) { + childBox.x1 = (this._slidex -1) * (childWidth - slideoutSize); + childBox.x2 = slideoutSize + this._slidex*(childWidth - slideoutSize); + childBox.y1 = 0; + childBox.y2 = childBox.y1 + childHeight; + } + else if ((this.side == St.Side.RIGHT) || (this.side == St.Side.BOTTOM)) { + childBox.x1 = 0; + childBox.x2 = childWidth; + childBox.y1 = 0; + childBox.y2 = childBox.y1 + childHeight; + } + else if (this.side == St.Side.TOP) { + childBox.x1 = 0; + childBox.x2 = childWidth; + childBox.y1 = (this._slidex -1) * (childHeight - slideoutSize); + childBox.y2 = slideoutSize + this._slidex * (childHeight - slideoutSize); + } + + this.child.allocate(childBox); + + this.child.set_clip(-childBox.x1, -childBox.y1, + -childBox.x1+availWidth, -childBox.y1 + availHeight); + } + + /** + * Just the child width but taking into account the slided out part + */ + vfunc_get_preferred_width(forHeight) { + let [minWidth, natWidth] = super.vfunc_get_preferred_width(forHeight); + if ((this.side == St.Side.LEFT) || (this.side == St.Side.RIGHT)) { + minWidth = (minWidth - this._slideoutSize) * this._slidex + this._slideoutSize; + natWidth = (natWidth - this._slideoutSize) * this._slidex + this._slideoutSize; + } + return [minWidth, natWidth]; + } + + /** + * Just the child height but taking into account the slided out part + */ + vfunc_get_preferred_height(forWidth) { + let [minHeight, natHeight] = super.vfunc_get_preferred_height(forWidth); + if ((this.side == St.Side.TOP) || (this.side == St.Side.BOTTOM)) { + minHeight = (minHeight - this._slideoutSize) * this._slidex + this._slideoutSize; + natHeight = (natHeight - this._slideoutSize) * this._slidex + this._slideoutSize; + } + return [minHeight, natHeight]; + } + + set slidex(value) { + if (value == this._slidex) + return; + + this._slidex = value; + this.notify('slidex'); + + this.queue_relayout(); + } + + get slidex() { + return this._slidex; + } +}); + +var DockedDash = GObject.registerClass({ + Signals: { + 'showing': {}, + 'hiding': {}, + } +}, class DashToDock extends St.Bin { + + _init(remoteModel, monitorIndex) { + this._rtl = (Clutter.get_default_text_direction() == Clutter.TextDirection.RTL); + + // Load settings + let settings = DockManager.settings; + this._remoteModel = remoteModel; + this._monitorIndex = monitorIndex; + // Connect global signals + this._signalsHandler = new Utils.GlobalSignalsHandler(); + + this._bindSettingsChanges(); + + this._position = Utils.getPosition(); + this._isHorizontal = ((this._position == St.Side.TOP) || (this._position == St.Side.BOTTOM)); + + // Temporary ignore hover events linked to autohide for whatever reason + this._ignoreHover = false; + this._oldignoreHover = null; + // This variables are linked to the settings regardles of autohide or intellihide + // being temporary disable. Get set by _updateVisibilityMode; + this._autohideIsEnabled = null; + this._intellihideIsEnabled = null; + this._fixedIsEnabled = null; + + // Create intellihide object to monitor windows overlapping + this._intellihide = new Intellihide.Intellihide(this._monitorIndex); + + // initialize dock state + this._dockState = State.HIDDEN; + + // Put dock on the required monitor + this._monitor = Main.layoutManager.monitors[this._monitorIndex]; + + // this store size and the position where the dash is shown; + // used by intellihide module to check window overlap. + this.staticBox = new Clutter.ActorBox(); + + // Initialize pressure barrier variables + this._canUsePressure = false; + this._pressureBarrier = null; + this._barrier = null; + this._removeBarrierTimeoutId = 0; + + // Initialize dwelling system variables + this._dockDwelling = false; + this._dockWatch = null; + this._dockDwellUserTime = 0; + this._dockDwellTimeoutId = 0 + + // Create a new dash object + this.dash = new MyDash.MyDash(this._remoteModel, this._monitorIndex); + + if (Main.overview.isDummy || !settings.get_boolean('show-show-apps-button')) + this.dash.hideShowAppsButton(); + + // Create the main actor and the containers for sliding in and out and + // centering, turn on track hover + + let positionStyleClass = ['top', 'right', 'bottom', 'left']; + // This is the centering actor + super._init({ + name: 'dashtodockContainer', + reactive: false, + style_class: positionStyleClass[this._position], + }); + + // This is the sliding actor whose allocation is to be tracked for input regions + this._slider = new DashSlideContainer({ + side: this._position, + slidex: 0, + ...(this._isHorizontal ? { + x_align: Clutter.ActorAlign.CENTER, + } : { + y_align: Clutter.ActorAlign.CENTER, + }) + }); + + // This is the actor whose hover status us tracked for autohide + this._box = new St.BoxLayout({ + name: 'dashtodockBox', + reactive: true, + track_hover: true + }); + this._box.connect('notify::hover', this._hoverChanged.bind(this)); + + this._signalsHandler.add([ + // update when workarea changes, for instance if other extensions modify the struts + //(like moving th panel at the bottom) + global.display, + 'workareas-changed', + this._resetPosition.bind(this) + ], [ + global.display, + 'in-fullscreen-changed', + this._updateBarrier.bind(this) + ], [ + // Monitor windows overlapping + this._intellihide, + 'status-changed', + this._updateDashVisibility.bind(this) + ], [ + // sync hover after a popupmenu is closed + this.dash, + 'menu-closed', + () => { this._box.sync_hover() } + ]); + + if (!Main.overview.isDummy) { + this._signalsHandler.add([ + Main.overview, + 'item-drag-begin', + this._onDragStart.bind(this) + ], [ + Main.overview, + 'item-drag-end', + this._onDragEnd.bind(this) + ], [ + Main.overview, + 'item-drag-cancelled', + this._onDragEnd.bind(this) + ], [ + Main.overview, + 'showing', + this._onOverviewShowing.bind(this) + ], [ + Main.overview, + 'hiding', + this._onOverviewHiding.bind(this) + ], + [ + Main.overview, + 'hidden', + this._onOverviewHidden.bind(this) + ]); + } + + this._injectionsHandler = new Utils.InjectionsHandler(); + this._themeManager = new Theming.ThemeManager(this); + + // Since the actor is not a topLevel child and its parent is now not added to the Chrome, + // the allocation change of the parent container (slide in and slideout) doesn't trigger + // anymore an update of the input regions. Force the update manually. + this.connect('notify::allocation', + Main.layoutManager._queueUpdateRegions.bind(Main.layoutManager)); + + + // Since Clutter has no longer ClutterAllocationFlags, + // "allocation-changed" signal has been removed. MR !1245 + this.dash._container.connect('notify::allocation', this._updateStaticBox.bind(this)); + this._slider.connect(this._isHorizontal ? 'notify::x' : 'notify::y', this._updateStaticBox.bind(this)); + + // Load optional features that need to be activated for one dock only + if (this._monitorIndex == settings.get_int('preferred-monitor')) + this._enableExtraFeatures(); + // Load optional features that need to be activated once per dock + this._optionalScrollWorkspaceSwitch(); + + // Delay operations that require the shell to be fully loaded and with + // user theme applied. + + this._paintId = global.stage.connect('after-paint', this._initialize.bind(this)); + + // Reserve space for the dash in the overview. + this._dashSpacer = new DashSpacer(this._box); + + // Add dash container actor and the container to the Chrome. + this.set_child(this._slider); + this._slider.set_child(this._box); + this._box.add_actor(this.dash); + + // Add aligning container without tracking it for input region + Main.uiGroup.add_child(this); + if (Main.uiGroup.contains(global.top_window_group)) + Main.uiGroup.set_child_below_sibling(this, global.top_window_group); + + if (settings.get_boolean('dock-fixed')) { + // Note: tracking the fullscreen directly on the slider actor causes some hiccups when fullscreening + // windows of certain applications + Main.layoutManager._trackActor(this, {affectsInputRegion: false, trackFullscreen: true}); + Main.layoutManager._trackActor(this._slider, {affectsStruts: true}); + } + else + Main.layoutManager._trackActor(this._slider); + + // Create and apply height/width constraint to the dash. + if (this._isHorizontal) { + this.connect('notify::width', () => { + this.dash.setMaxSize(this.width, this.height); + }); + } else { + this.connect('notify::height', () => { + this.dash.setMaxSize(this.width, this.height) + }); + } + + if (this._position == St.Side.RIGHT) + this.connect('notify::width', () => this.translation_x = -this.width); + else if (this._position == St.Side.BOTTOM) + this.connect('notify::height', () => this.translation_y = -this.height); + + // Set initial position + this._resetPosition(); + + this.connect('destroy', this._onDestroy.bind(this)); + } + + _untrackDock() { + Main.layoutManager._untrackActor(this); + Main.layoutManager._untrackActor(this._slider); + + } + + _trackDock() { + if (DockManager.settings.get_boolean('dock-fixed')) { + if (Main.layoutManager._findActor(this) == -1) + Main.layoutManager._trackActor(this, { affectsInputRegion: false, trackFullscreen: true }); + if (Main.layoutManager._findActor(this._slider) == -1) + Main.layoutManager._trackActor(this._slider, { affectsStruts: true }); + } else { + if (Main.layoutManager._findActor(this._slider) == -1) + Main.layoutManager._trackActor(this._slider); + } + } + + _initialize() { + log('[dash-to-dock] initializing...'); + + if (this._paintId > 0) { + global.stage.disconnect(this._paintId); + this._paintId = 0; + } + + // Apply custome css class according to the settings + this._themeManager.updateCustomTheme(); + + this._updateVisibilityMode(); + + // In case we are already inside the overview when the extension is loaded, + // for instance on unlocking the screen if it was locked with the overview open. + if (Main.overview.visibleTarget) { + this._onOverviewShowing(); + } + + // Setup pressure barrier (GS38+ only) + this._updatePressureBarrier(); + this._updateBarrier(); + + // setup dwelling system if pressure barriers are not available + this._setupDockDwellIfNeeded(); + } + + _onDestroy() { + // Disconnect global signals + this._signalsHandler.destroy(); + // The dash, intellihide and themeManager have global signals as well internally + this.dash.destroy(); + this._intellihide.destroy(); + this._themeManager.destroy(); + + this._injectionsHandler.destroy(); + + if (this._marginLater) { + Meta.later_remove(this._marginLater); + delete this._marginLater; + } + + // Remove barrier timeout + if (this._removeBarrierTimeoutId > 0) + GLib.source_remove(this._removeBarrierTimeoutId); + + // Remove existing barrier + this._removeBarrier(); + + // Remove pointer watcher + if (this._dockWatch) { + PointerWatcher.getPointerWatcher()._removeWatch(this._dockWatch); + this._dockWatch = null; + } + } + + _bindSettingsChanges() { + let settings = DockManager.settings; + this._signalsHandler.add([ + settings, + 'changed::scroll-action', + () => { this._optionalScrollWorkspaceSwitch(); } + ], [ + settings, + 'changed::dash-max-icon-size', + () => { this.dash.setIconSize(settings.get_int('dash-max-icon-size')); } + ], [ + settings, + 'changed::icon-size-fixed', + () => { this.dash.setIconSize(settings.get_int('dash-max-icon-size')); } + ], [ + settings, + 'changed::show-favorites', + () => { this.dash.resetAppIcons(); } + ], [ + settings, + 'changed::show-trash', + () => { this.dash.resetAppIcons(); }, + Utils.SignalsHandlerFlags.CONNECT_AFTER, + ], [ + settings, + 'changed::show-mounts', + () => { this.dash.resetAppIcons(); }, + Utils.SignalsHandlerFlags.CONNECT_AFTER + ], [ + settings, + 'changed::show-running', + () => { this.dash.resetAppIcons(); } + ], [ + settings, + 'changed::show-apps-at-top', + () => { this.dash.updateShowAppsButton(); } + ], [ + settings, + 'changed::show-show-apps-button', + () => { + if (!Main.overview.isDummy && + settings.get_boolean('show-show-apps-button')) + this.dash.showShowAppsButton(); + else + this.dash.hideShowAppsButton(); + } + ], [ + settings, + 'changed::dock-fixed', + () => { + this._untrackDock(); + this._trackDock(); + + this._resetPosition(); + + // Add or remove barrier depending on if dock-fixed + this._updateBarrier(); + + this._updateVisibilityMode(); + } + ], [ + settings, + 'changed::intellihide', + this._updateVisibilityMode.bind(this) + ], [ + settings, + 'changed::intellihide-mode', + () => { this._intellihide.forceUpdate(); } + ], [ + settings, + 'changed::autohide', + () => { + this._updateVisibilityMode(); + this._updateBarrier(); + } + ], [ + settings, + 'changed::autohide-in-fullscreen', + this._updateBarrier.bind(this) + ], + [ + settings, + 'changed::extend-height', + this._resetPosition.bind(this) + ], [ + settings, + 'changed::height-fraction', + this._resetPosition.bind(this) + ], [ + settings, + 'changed::require-pressure-to-show', + () => { + // Remove pointer watcher + if (this._dockWatch) { + PointerWatcher.getPointerWatcher()._removeWatch(this._dockWatch); + this._dockWatch = null; + } + this._setupDockDwellIfNeeded(); + this._updateBarrier(); + } + ], [ + settings, + 'changed::pressure-threshold', + () => { + this._updatePressureBarrier(); + this._updateBarrier(); + } + ]); + + } + + /** + * This is call when visibility settings change + */ + _updateVisibilityMode() { + let settings = DockManager.settings; + if (settings.get_boolean('dock-fixed')) { + this._fixedIsEnabled = true; + this._autohideIsEnabled = false; + this._intellihideIsEnabled = false; + } + else { + this._fixedIsEnabled = false; + this._autohideIsEnabled = settings.get_boolean('autohide') + this._intellihideIsEnabled = settings.get_boolean('intellihide') + } + + if (this._autohideIsEnabled) + this.add_style_class_name('autohide'); + else + this.remove_style_class_name('autohide'); + + if (this._intellihideIsEnabled) + this._intellihide.enable(); + else + this._intellihide.disable(); + + this._updateDashVisibility(); + } + + /** + * Show/hide dash based on, in order of priority: + * overview visibility + * fixed mode + * intellihide + * autohide + * overview visibility + */ + _updateDashVisibility() { + if (Main.overview.visibleTarget) + return; + + let settings = DockManager.settings; + + if (this._fixedIsEnabled) { + this._removeAnimations(); + this._animateIn(settings.get_double('animation-time'), 0); + } + else if (this._intellihideIsEnabled) { + if (this._intellihide.getOverlapStatus()) { + this._ignoreHover = false; + // Do not hide if autohide is enabled and mouse is hover + if (!this._box.hover || !this._autohideIsEnabled) + this._animateOut(settings.get_double('animation-time'), 0); + } + else { + this._ignoreHover = true; + this._removeAnimations(); + this._animateIn(settings.get_double('animation-time'), 0); + } + } + else { + if (this._autohideIsEnabled) { + this._ignoreHover = false; + + if (this._box.hover) + this._animateIn(settings.get_double('animation-time'), 0); + else + this._animateOut(settings.get_double('animation-time'), 0); + } + else + this._animateOut(settings.get_double('animation-time'), 0); + } + } + + _onOverviewShowing() { + this.add_style_class_name('overview'); + + this._ignoreHover = true; + this._intellihide.disable(); + this._removeAnimations(); + // The overview uses the monitor's work area to calculate background size. + // If our dock is fixed, it will shrink the monitor's work area unexpectedly. + this._untrackDock(); + this._animateIn(DockManager.settings.get_double('animation-time'), 0); + } + + _onOverviewHiding() { + this._ignoreHover = false; + this._intellihide.enable(); + this._trackDock(); + this._updateDashVisibility(); + } + + _onOverviewHidden() { + this.remove_style_class_name('overview'); + } + + _hoverChanged() { + if (!this._ignoreHover) { + // Skip if dock is not in autohide mode for instance because it is shown + // by intellihide. + if (this._autohideIsEnabled) { + if (this._box.hover) + this._show(); + else + this._hide(); + } + } + } + + getDockState() { + return this._dockState; + } + + _show() { + this._delayedHide = false; + if ((this._dockState == State.HIDDEN) || (this._dockState == State.HIDING)) { + if (this._dockState == State.HIDING) + // suppress all potential queued transitions - i.e. added but not started, + // always give priority to show + this._removeAnimations(); + + this.emit('showing'); + this._animateIn(DockManager.settings.get_double('animation-time'), 0); + } + } + + _hide() { + // If no hiding animation is running or queued + if ((this._dockState == State.SHOWN) || (this._dockState == State.SHOWING)) { + let settings = DockManager.settings; + let delay = settings.get_double('hide-delay'); + + if (this._dockState == State.SHOWING) { + // if a show already started, let it finish; queue hide without removing the show. + // to obtain this, we wait for the animateIn animation to be completed + this._delayedHide = true; + return; + } + + this.emit('hiding'); + this._animateOut(settings.get_double('animation-time'), delay); + } + } + + _animateIn(time, delay) { + this._dockState = State.SHOWING; + this.dash.iconAnimator.start(); + this._delayedHide = false; + + this._slider.ease_property('slidex', 1, { + duration: time * 1000, + delay: delay * 1000, + mode: Clutter.AnimationMode.EASE_OUT_QUAD, + onComplete: () => { + this._dockState = State.SHOWN; + // Remove barrier so that mouse pointer is released and can access monitors on other side of dock + // NOTE: Delay needed to keep mouse from moving past dock and re-hiding dock immediately. This + // gives users an opportunity to hover over the dock + if (this._removeBarrierTimeoutId > 0) + GLib.source_remove(this._removeBarrierTimeoutId); + + if (!this._delayedHide) { + this._removeBarrierTimeoutId = GLib.timeout_add( + GLib.PRIORITY_DEFAULT, 100, this._removeBarrier.bind(this)); + } else { + this._hide(); + } + } + }); + } + + _animateOut(time, delay) { + this._dockState = State.HIDING; + + this._slider.ease_property('slidex', 0, { + duration: time * 1000, + delay: delay * 1000, + mode: Clutter.AnimationMode.EASE_OUT_QUAD, + onComplete: () => { + this._dockState = State.HIDDEN; + // Remove queued barried removal if any + if (this._removeBarrierTimeoutId > 0) + GLib.source_remove(this._removeBarrierTimeoutId); + this._updateBarrier(); + this.dash.iconAnimator.pause(); + } + }); + } + + /** + * Dwelling system based on the GNOME Shell 3.14 messageTray code. + */ + _setupDockDwellIfNeeded() { + // If we don't have extended barrier features, then we need + // to support the old tray dwelling mechanism. + if (!global.display.supports_extended_barriers() || + !DockManager.settings.get_boolean('require-pressure-to-show')) { + let pointerWatcher = PointerWatcher.getPointerWatcher(); + this._dockWatch = pointerWatcher.addWatch(DOCK_DWELL_CHECK_INTERVAL, this._checkDockDwell.bind(this)); + this._dockDwelling = false; + this._dockDwellUserTime = 0; + } + } + + _checkDockDwell(x, y) { + + let workArea = Main.layoutManager.getWorkAreaForMonitor(this._monitor.index) + let shouldDwell; + // Check for the correct screen edge, extending the sensitive area to the whole workarea, + // minus 1 px to avoid conflicting with other active corners. + if (this._position == St.Side.LEFT) + shouldDwell = (x == this._monitor.x) && (y > workArea.y) && (y < workArea.y + workArea.height); + else if (this._position == St.Side.RIGHT) + shouldDwell = (x == this._monitor.x + this._monitor.width - 1) && (y > workArea.y) && (y < workArea.y + workArea.height); + else if (this._position == St.Side.TOP) + shouldDwell = (y == this._monitor.y) && (x > workArea.x) && (x < workArea.x + workArea.width); + else if (this._position == St.Side.BOTTOM) + shouldDwell = (y == this._monitor.y + this._monitor.height - 1) && (x > workArea.x) && (x < workArea.x + workArea.width); + + if (shouldDwell) { + // We only set up dwell timeout when the user is not hovering over the dock + // already (!this._box.hover). + // The _dockDwelling variable is used so that we only try to + // fire off one dock dwell - if it fails (because, say, the user has the mouse down), + // we don't try again until the user moves the mouse up and down again. + if (!this._dockDwelling && !this._box.hover && (this._dockDwellTimeoutId == 0)) { + // Save the interaction timestamp so we can detect user input + let focusWindow = global.display.focus_window; + this._dockDwellUserTime = focusWindow ? focusWindow.user_time : 0; + + this._dockDwellTimeoutId = GLib.timeout_add( + GLib.PRIORITY_DEFAULT, + DockManager.settings.get_double('show-delay') * 1000, + this._dockDwellTimeout.bind(this)); + GLib.Source.set_name_by_id(this._dockDwellTimeoutId, '[dash-to-dock] this._dockDwellTimeout'); + } + this._dockDwelling = true; + } + else { + this._cancelDockDwell(); + this._dockDwelling = false; + } + } + + _cancelDockDwell() { + if (this._dockDwellTimeoutId != 0) { + GLib.source_remove(this._dockDwellTimeoutId); + this._dockDwellTimeoutId = 0; + } + } + + _dockDwellTimeout() { + this._dockDwellTimeoutId = 0; + + if (!DockManager.settings.get_boolean('autohide-in-fullscreen') && + this._monitor.inFullscreen) + return GLib.SOURCE_REMOVE; + + // We don't want to open the tray when a modal dialog + // is up, so we check the modal count for that. When we are in the + // overview we have to take the overview's modal push into account + if (Main.modalCount > (Main.overview.visible ? 1 : 0)) + return GLib.SOURCE_REMOVE; + + // If the user interacted with the focus window since we started the tray + // dwell (by clicking or typing), don't activate the message tray + let focusWindow = global.display.focus_window; + let currentUserTime = focusWindow ? focusWindow.user_time : 0; + if (currentUserTime != this._dockDwellUserTime) + return GLib.SOURCE_REMOVE; + + // Reuse the pressure version function, the logic is the same + this._onPressureSensed(); + return GLib.SOURCE_REMOVE; + } + + _updatePressureBarrier() { + let settings = DockManager.settings; + this._canUsePressure = global.display.supports_extended_barriers(); + let pressureThreshold = settings.get_double('pressure-threshold'); + + // Remove existing pressure barrier + if (this._pressureBarrier) { + this._pressureBarrier.destroy(); + this._pressureBarrier = null; + } + + if (this._barrier) { + this._barrier.destroy(); + this._barrier = null; + } + + // Create new pressure barrier based on pressure threshold setting + if (this._canUsePressure) { + this._pressureBarrier = new Layout.PressureBarrier(pressureThreshold, settings.get_double('show-delay')*1000, + Shell.ActionMode.NORMAL | Shell.ActionMode.OVERVIEW); + this._pressureBarrier.connect('trigger', (barrier) => { + if (!settings.get_boolean('autohide-in-fullscreen') && this._monitor.inFullscreen) + return; + this._onPressureSensed(); + }); + } + } + + /** + * handler for mouse pressure sensed + */ + _onPressureSensed() { + if (Main.overview.visibleTarget) + return; + + // In case the mouse move away from the dock area before hovering it, in such case the leave event + // would never be triggered and the dock would stay visible forever. + let triggerTimeoutId = GLib.timeout_add(GLib.PRIORITY_DEFAULT, 250, () => { + triggerTimeoutId = 0; + + let [x, y, mods] = global.get_pointer(); + let shouldHide = true; + switch (this._position) { + case St.Side.LEFT: + if (x <= this.staticBox.x2 && + x >= this._monitor.x && + y >= this._monitor.y && + y <= this._monitor.y + this._monitor.height) { + shouldHide = false; + } + break; + case St.Side.RIGHT: + if (x >= this.staticBox.x1 && + x <= this._monitor.x + this._monitor.width && + y >= this._monitor.y && + y <= this._monitor.y + this._monitor.height) { + shouldHide = false; + } + break; + case St.Side.TOP: + if (x >= this._monitor.x && + x <= this._monitor.x + this._monitor.width && + y <= this.staticBox.y2 && + y >= this._monitor.y) { + shouldHide = false; + } + break; + case St.Side.BOTTOM: + if (x >= this._monitor.x && + x <= this._monitor.x + this._monitor.width && + y >= this.staticBox.y1 && + y <= this._monitor.y + this._monitor.height) { + shouldHide = false; + } + } + if (shouldHide) { + this._hoverChanged(); + return GLib.SOURCE_REMOVE; + } + else { + return GLib.SOURCE_CONTINUE; + } + + }); + + this._show(); + } + + /** + * Remove pressure barrier + */ + _removeBarrier() { + if (this._barrier) { + if (this._pressureBarrier) + this._pressureBarrier.removeBarrier(this._barrier); + this._barrier.destroy(); + this._barrier = null; + } + this._removeBarrierTimeoutId = 0; + return false; + } + + /** + * Update pressure barrier size + */ + _updateBarrier() { + // Remove existing barrier + this._removeBarrier(); + + // The barrier needs to be removed in fullscreen with autohide disabled, otherwise the mouse can + // get trapped on monitor. + if (this._monitor.inFullscreen && + !DockManager.settings.get_boolean('autohide-in-fullscreen')) + return + + // Manually reset pressure barrier + // This is necessary because we remove the pressure barrier when it is triggered to show the dock + if (this._pressureBarrier) { + this._pressureBarrier._reset(); + this._pressureBarrier._isTriggered = false; + } + + // Create new barrier + // The barrier extends to the whole workarea, minus 1 px to avoid conflicting with other active corners + // Note: dash in fixed position doesn't use pressure barrier. + if (this._canUsePressure && this._autohideIsEnabled && + DockManager.settings.get_boolean('require-pressure-to-show')) { + let x1, x2, y1, y2, direction; + let workArea = Main.layoutManager.getWorkAreaForMonitor(this._monitor.index) + + if (this._position == St.Side.LEFT) { + x1 = this._monitor.x + 1; + x2 = x1; + y1 = workArea.y + 1; + y2 = workArea.y + workArea.height - 1; + direction = Meta.BarrierDirection.POSITIVE_X; + } + else if (this._position == St.Side.RIGHT) { + x1 = this._monitor.x + this._monitor.width - 1; + x2 = x1; + y1 = workArea.y + 1; + y2 = workArea.y + workArea.height - 1; + direction = Meta.BarrierDirection.NEGATIVE_X; + } + else if (this._position == St.Side.TOP) { + x1 = workArea.x + 1; + x2 = workArea.x + workArea.width - 1; + y1 = this._monitor.y; + y2 = y1; + direction = Meta.BarrierDirection.POSITIVE_Y; + } + else if (this._position == St.Side.BOTTOM) { + x1 = workArea.x + 1; + x2 = workArea.x + workArea.width - 1; + y1 = this._monitor.y + this._monitor.height; + y2 = y1; + direction = Meta.BarrierDirection.NEGATIVE_Y; + } + + if (this._pressureBarrier && this._dockState == State.HIDDEN) { + this._barrier = new Meta.Barrier({ + display: global.display, + x1: x1, + x2: x2, + y1: y1, + y2: y2, + directions: direction + }); + this._pressureBarrier.addBarrier(this._barrier); + } + } + } + + _isPrimaryMonitor() { + return (this._monitorIndex == Main.layoutManager.primaryIndex); + } + + _resetPosition() { + // Ensure variables linked to settings are updated. + this._updateVisibilityMode(); + + let extendHeight = DockManager.settings.get_boolean('extend-height'); + + // Note: do not use the workarea coordinates in the direction on which the dock is placed, + // to avoid a loop [position change -> workArea change -> position change] with + // fixed dock. + let workArea = Main.layoutManager.getWorkAreaForMonitor(this._monitorIndex); + + + let fraction = DockManager.settings.get_double('height-fraction'); + + if (extendHeight) + fraction = 1; + else if ((fraction < 0) || (fraction > 1)) + fraction = 0.95; + + if (this._isHorizontal) { + this.width = Math.round(fraction * workArea.width); + + let pos_y = this._monitor.y; + if (this._position == St.Side.BOTTOM) + pos_y += this._monitor.height; + + this.x = workArea.x + Math.round((1 - fraction) / 2 * workArea.width); + this.y = pos_y; + + if (extendHeight) { + this.dash._container.set_width(this.width); + this.add_style_class_name('extended'); + } else { + this.dash._container.set_width(-1); + this.remove_style_class_name('extended'); + } + } else { + this.height = Math.round(fraction * workArea.height); + + let pos_x = this._monitor.x; + if (this._position == St.Side.RIGHT) + pos_x += this._monitor.width; + + this.x = pos_x; + this.y = workArea.y + Math.round((1 - fraction) / 2 * workArea.height); + + this._signalsHandler.removeWithLabel('verticalOffsetChecker'); + + if (extendHeight) { + this.dash._container.set_height(this.height); + this.add_style_class_name('extended'); + } else { + this.dash._container.set_height(-1); + this.remove_style_class_name('extended'); + } + } + } + + _updateStaticBox() { + this.staticBox.init_rect( + this.x + this._slider.x - (this._position == St.Side.RIGHT ? this._box.width : 0), + this.y + this._slider.y - (this._position == St.Side.BOTTOM ? this._box.height : 0), + this._box.width, + this._box.height + ); + + this._intellihide.updateTargetBox(this.staticBox); + } + + _removeAnimations() { + this._slider.remove_all_transitions(); + } + + _onDragStart() { + this._oldignoreHover = this._ignoreHover; + this._ignoreHover = true; + this._animateIn(DockManager.settings.get_double('animation-time'), 0); + } + + _onDragEnd() { + if (this._oldignoreHover !== null) + this._ignoreHover = this._oldignoreHover; + this._oldignoreHover = null; + this._box.sync_hover(); + } + + /** + * Show dock and give key focus to it + */ + _onAccessibilityFocus() { + this._box.navigate_focus(null, St.DirectionType.TAB_FORWARD, false); + this._animateIn(DockManager.settings.get_double('animation-time'), 0); + } + + // Optional features to be enabled only for the main Dock + _enableExtraFeatures() { + // Restore dash accessibility + Main.ctrlAltTabManager.addGroup( + this.dash, _('Dash'), 'user-bookmarks-symbolic', + {focusCallback: this._onAccessibilityFocus.bind(this)}); + } + + /** + * Switch workspace by scrolling over the dock + */ + _optionalScrollWorkspaceSwitch() { + let label = 'optionalScrollWorkspaceSwitch'; + + function isEnabled() { + return DockManager.settings.get_enum('scroll-action') === scrollAction.SWITCH_WORKSPACE; + } + + DockManager.settings.connect('changed::scroll-action', () => { + if (isEnabled.bind(this)()) + enable.bind(this)(); + else + disable.bind(this)(); + }); + + if (isEnabled.bind(this)()) + enable.bind(this)(); + + function enable() { + this._signalsHandler.removeWithLabel(label); + + this._signalsHandler.addWithLabel(label, [ + this._box, + 'scroll-event', + onScrollEvent.bind(this) + ]); + } + + function disable() { + this._signalsHandler.removeWithLabel(label); + + if (this._optionalScrollWorkspaceSwitchDeadTimeId) { + GLib.source_remove(this._optionalScrollWorkspaceSwitchDeadTimeId); + this._optionalScrollWorkspaceSwitchDeadTimeId = 0; + } + } + + // This was inspired to desktop-scroller@obsidien.github.com + function onScrollEvent(actor, event) { + // When in overview change workspace only in windows view + if (Main.overview.visible) + return false; + + let activeWs = global.workspace_manager.get_active_workspace(); + let direction = null; + + switch (event.get_scroll_direction()) { + case Clutter.ScrollDirection.UP: + direction = Meta.MotionDirection.LEFT; + break; + case Clutter.ScrollDirection.DOWN: + direction = Meta.MotionDirection.RIGHT; + break; + case Clutter.ScrollDirection.SMOOTH: + let [dx, dy] = event.get_scroll_delta(); + if (dy < 0) + direction = Meta.MotionDirection.LEFT; + else if (dy > 0) + direction = Meta.MotionDirection.RIGHT; + break; + } + + if (direction !== null) { + // Prevent scroll events from triggering too many workspace switches + // by adding a 250ms deadtime between each scroll event. + // Usefull on laptops when using a touchpad. + + // During the deadtime do nothing + if (this._optionalScrollWorkspaceSwitchDeadTimeId) + return false; + else + this._optionalScrollWorkspaceSwitchDeadTimeId = GLib.timeout_add( + GLib.PRIORITY_DEFAULT, 250, () => { + this._optionalScrollWorkspaceSwitchDeadTimeId = 0; + }); + + let ws; + + ws = activeWs.get_neighbor(direction) + + if (Main.wm._workspaceSwitcherPopup == null) + // Support Workspace Grid extension showing their custom Grid Workspace Switcher + if (global.workspace_manager.workspace_grid !== undefined) { + Main.wm._workspaceSwitcherPopup = + global.workspace_manager.workspace_grid.getWorkspaceSwitcherPopup(); + } else { + Main.wm._workspaceSwitcherPopup = new WorkspaceSwitcherPopup.WorkspaceSwitcherPopup(); + } + // Set the actor non reactive, so that it doesn't prevent the + // clicks events from reaching the dash actor. I can't see a reason + // why it should be reactive. + Main.wm._workspaceSwitcherPopup.reactive = false; + Main.wm._workspaceSwitcherPopup.connect('destroy', function() { + Main.wm._workspaceSwitcherPopup = null; + }); + + // If Workspace Grid is installed, let them handle the scroll behaviour. + if (global.workspace_manager.workspace_grid !== undefined) + ws = global.workspace_manager.workspace_grid.actionMoveWorkspace(direction); + else + Main.wm.actionMoveWorkspace(ws); + + // Do not show workspaceSwitcher in overview + if (!Main.overview.visible) + Main.wm._workspaceSwitcherPopup.display(direction, ws.index()); + + return true; + } + else + return false; + } + } + + _activateApp(appIndex) { + let children = this.dash._box.get_children().filter(function(actor) { + return actor.child && + actor.child.app; + }); + + // Apps currently in the dash + let apps = children.map(function(actor) { + return actor.child; + }); + + // Activate with button = 1, i.e. same as left click + let button = 1; + if (appIndex < apps.length) + apps[appIndex].activate(button); + } +}); + +/* + * Handle keybaord shortcuts + */ +const DashToDock_KeyboardShortcuts_NUM_HOTKEYS = 10; + +var KeyboardShortcuts = class DashToDock_KeyboardShortcuts { + + constructor() { + this._signalsHandler = new Utils.GlobalSignalsHandler(); + + this._hotKeysEnabled = false; + if (DockManager.settings.get_boolean('hot-keys')) + this._enableHotKeys(); + + this._signalsHandler.add([ + DockManager.settings, + 'changed::hot-keys', + () => { + if (DockManager.settings.get_boolean('hot-keys')) + this._enableHotKeys.bind(this)(); + else + this._disableHotKeys.bind(this)(); + } + ]); + + this._optionalNumberOverlay(); + } + + destroy() { + // Remove keybindings + this._disableHotKeys(); + this._disableExtraShortcut(); + this._signalsHandler.destroy(); + } + + _enableHotKeys() { + if (this._hotKeysEnabled) + return; + + // Setup keyboard bindings for dash elements + let keys = ['app-hotkey-', 'app-shift-hotkey-', 'app-ctrl-hotkey-']; + keys.forEach( function(key) { + for (let i = 0; i < DashToDock_KeyboardShortcuts_NUM_HOTKEYS; i++) { + let appNum = i; + Main.wm.addKeybinding(key + (i + 1), DockManager.settings, + Meta.KeyBindingFlags.IGNORE_AUTOREPEAT, + Shell.ActionMode.NORMAL | Shell.ActionMode.OVERVIEW, + () => { + DockManager.getDefault().mainDock._activateApp(appNum); + this._showOverlay(); + }); + } + }, this); + + this._hotKeysEnabled = true; + } + + _disableHotKeys() { + if (!this._hotKeysEnabled) + return; + + let keys = ['app-hotkey-', 'app-shift-hotkey-', 'app-ctrl-hotkey-']; + keys.forEach( function(key) { + for (let i = 0; i < DashToDock_KeyboardShortcuts_NUM_HOTKEYS; i++) + Main.wm.removeKeybinding(key + (i + 1)); + }, this); + + this._hotKeysEnabled = false; + } + + _optionalNumberOverlay() { + let settings = DockManager.settings; + this._shortcutIsSet = false; + // Enable extra shortcut if either 'overlay' or 'show-dock' are true + if (settings.get_boolean('hot-keys') && + (settings.get_boolean('hotkeys-overlay') || settings.get_boolean('hotkeys-show-dock'))) + this._enableExtraShortcut(); + + this._signalsHandler.add([ + settings, + 'changed::hot-keys', + this._checkHotkeysOptions.bind(this) + ], [ + settings, + 'changed::hotkeys-overlay', + this._checkHotkeysOptions.bind(this) + ], [ + settings, + 'changed::hotkeys-show-dock', + this._checkHotkeysOptions.bind(this) + ]); + } + + _checkHotkeysOptions() { + let settings = DockManager.settings; + + if (settings.get_boolean('hot-keys') && + (settings.get_boolean('hotkeys-overlay') || settings.get_boolean('hotkeys-show-dock'))) + this._enableExtraShortcut(); + else + this._disableExtraShortcut(); + } + + _enableExtraShortcut() { + if (!this._shortcutIsSet) { + Main.wm.addKeybinding('shortcut', DockManager.settings, + Meta.KeyBindingFlags.IGNORE_AUTOREPEAT, + Shell.ActionMode.NORMAL | Shell.ActionMode.OVERVIEW, + this._showOverlay.bind(this)); + this._shortcutIsSet = true; + } + } + + _disableExtraShortcut() { + if (this._shortcutIsSet) { + Main.wm.removeKeybinding('shortcut'); + this._shortcutIsSet = false; + } + } + + _showOverlay() { + for (let dock of DockManager.allDocks) { + if (DockManager.settings.get_boolean('hotkeys-overlay')) + dock.dash.toggleNumberOverlay(true); + + // Restart the counting if the shortcut is pressed again + if (dock._numberOverlayTimeoutId) { + GLib.source_remove(dock._numberOverlayTimeoutId); + dock._numberOverlayTimeoutId = 0; + } + + // Hide the overlay/dock after the timeout + let timeout = DockManager.settings.get_double('shortcut-timeout') * 1000; + dock._numberOverlayTimeoutId = GLib.timeout_add( + GLib.PRIORITY_DEFAULT, timeout, () => { + dock._numberOverlayTimeoutId = 0; + dock.dash.toggleNumberOverlay(false); + // Hide the dock again if necessary + dock._updateDashVisibility(); + }); + + // Show the dock if it is hidden + if (DockManager.settings.get_boolean('hotkeys-show-dock')) { + let showDock = (dock._intellihideIsEnabled || dock._autohideIsEnabled); + if (showDock) + dock._show(); + } + } + } +}; + +/** + * Isolate overview to open new windows for inactive apps + * Note: the future implementaion is not fully contained here. Some bits are around in other methods of other classes. + * This class just take care of enabling/disabling the option. + */ +var WorkspaceIsolation = class DashToDock_WorkspaceIsolation { + + constructor() { + + let settings = DockManager.settings; + + this._signalsHandler = new Utils.GlobalSignalsHandler(); + this._injectionsHandler = new Utils.InjectionsHandler(); + + this._signalsHandler.add([ + settings, + 'changed::isolate-workspaces', + () => { + DockManager.allDocks.forEach((dock) => + dock.dash.resetAppIcons()); + if (settings.get_boolean('isolate-workspaces') || + settings.get_boolean('isolate-monitors')) + this._enable.bind(this)(); + else + this._disable.bind(this)(); + } + ],[ + settings, + 'changed::isolate-monitors', + () => { + DockManager.allDocks.forEach((dock) => + dock.dash.resetAppIcons()); + if (settings.get_boolean('isolate-workspaces') || + settings.get_boolean('isolate-monitors')) + this._enable.bind(this)(); + else + this._disable.bind(this)(); + } + ]); + + if (settings.get_boolean('isolate-workspaces') || + settings.get_boolean('isolate-monitors')) + this._enable(); + + } + + _enable() { + + // ensure I never double-register/inject + // although it should never happen + this._disable(); + + DockManager.allDocks.forEach((dock) => { + this._signalsHandler.addWithLabel('isolation', [ + global.display, + 'restacked', + dock.dash._queueRedisplay.bind(dock.dash) + ], [ + global.window_manager, + 'switch-workspace', + dock.dash._queueRedisplay.bind(dock.dash) + ]); + + // This last signal is only needed for monitor isolation, as windows + // might migrate from one monitor to another without triggering 'restacked' + if (DockManager.settings.get_boolean('isolate-monitors')) + this._signalsHandler.addWithLabel('isolation', [ + global.display, + 'window-entered-monitor', + dock.dash._queueRedisplay.bind(dock.dash) + ]); + + }, this); + + // here this is the Shell.App + function IsolatedOverview() { + // These lines take care of Nautilus for icons on Desktop + let windows = this.get_windows().filter(function(w) { + return w.get_workspace().index() == global.workspace_manager.get_active_workspace_index(); + }); + if (windows.length == 1) + if (windows[0].skip_taskbar) + return this.open_new_window(-1); + + if (this.is_on_workspace(global.workspace_manager.get_active_workspace())) + return Main.activateWindow(windows[0]); + return this.open_new_window(-1); + } + + this._injectionsHandler.addWithLabel('isolation', [ + Shell.App.prototype, + 'activate', + IsolatedOverview + ]); + } + + _disable () { + this._signalsHandler.removeWithLabel('isolation'); + this._injectionsHandler.removeWithLabel('isolation'); + } + + destroy() { + this._signalsHandler.destroy(); + this._injectionsHandler.destroy(); + } +}; + + +var DockManager = class DashToDock_DockManager { + + constructor() { + if (Me.imports.extension.dockManager) + throw new Error('DashToDock has been already initialized'); + + Me.imports.extension.dockManager = this; + + this._remoteModel = new LauncherAPI.LauncherEntryRemoteModel(); + this._signalsHandler = new Utils.GlobalSignalsHandler(); + this._settings = ExtensionUtils.getSettings('org.gnome.shell.extensions.dash-to-dock'); + this._oldDash = Main.overview.isDummy ? null : Main.overview.dash; + + this._ensureFileManagerClient(); + + /* Array of all the docks created */ + this._allDocks = []; + this._createDocks(); + + // status variable: true when the overview is shown through the dash + // applications button. + this._forcedOverview = false; + + // Connect relevant signals to the toggling function + this._bindSettingsChanges(); + } + + static getDefault() { + return Me.imports.extension.dockManager + } + + static get allDocks() { + return DockManager.getDefault()._allDocks; + } + + static get settings() { + return DockManager.getDefault()._settings; + } + + get fm1Client() { + return this._fm1Client; + } + + get mainDock() { + return this._allDocks.length ? this._allDocks[0] : null; + } + + _ensureFileManagerClient() { + let supportsLocations = ['show-trash', 'show-mounts'].some((s) => { + return this._settings.get_boolean(s); + }); + + if (supportsLocations) { + if (!this._fm1Client) + this._fm1Client = new FileManager1API.FileManager1Client(); + } else if (this._fm1Client) { + this._fm1Client.destroy(); + this._fm1Client = null; + } + } + + _toggle() { + if (this._toggleLater) + Meta.later_remove(this._toggleLater); + + this._toggleLater = Meta.later_add(Meta.LaterType.BEFORE_REDRAW, () => { + delete this._toggleLater; + this._restoreDash(); + this._deleteDocks(); + this._createDocks(); + this.emit('toggled'); + }); + } + + _bindSettingsChanges() { + // Connect relevant signals to the toggling function + this._signalsHandler.add([ + Meta.MonitorManager.get(), + 'monitors-changed', + this._toggle.bind(this) + ], [ + Main.sessionMode, + 'updated', + this._toggle.bind(this) + ], [ + this._settings, + 'changed::multi-monitor', + this._toggle.bind(this) + ], [ + this._settings, + 'changed::preferred-monitor', + this._toggle.bind(this) + ], [ + this._settings, + 'changed::dock-position', + this._toggle.bind(this) + ], [ + this._settings, + 'changed::extend-height', + this._adjustPanelCorners.bind(this) + ], [ + this._settings, + 'changed::dock-fixed', + this._adjustPanelCorners.bind(this) + ], [ + this._settings, + 'changed::show-trash', + () => this._ensureFileManagerClient() + ], [ + this._settings, + 'changed::show-mounts', + () => this._ensureFileManagerClient() + ]); + } + + _createDocks() { + + // If there are no monitors (headless configurations, but it can also happen temporary while disconnecting + // and reconnecting monitors), just do nothing. When a monitor will be connected we we'll be notified and + // and thus create the docks. This prevents pointing trying to access monitors throughout the code, were we + // are assuming that at least the primary monitor is present. + if (Main.layoutManager.monitors.length <= 0) { + return; + } + + this._preferredMonitorIndex = this._settings.get_int('preferred-monitor'); + // In case of multi-monitor, we consider the dock on the primary monitor to be the preferred (main) one + // regardless of the settings + // The dock goes on the primary monitor also if the settings are incosistent (e.g. desired monitor not connected). + if (this._settings.get_boolean('multi-monitor') || + this._preferredMonitorIndex < 0 || this._preferredMonitorIndex > Main.layoutManager.monitors.length - 1 + ) { + this._preferredMonitorIndex = Main.layoutManager.primaryIndex; + } else { + // Gdk and shell monitors numbering differ at least under wayland: + // While the primary monitor appears to be always index 0 in Gdk, + // the shell can assign a different number (Main.layoutManager.primaryMonitor) + // This ensure the indexing in the settings (Gdk) and in the shell are matched, + // i.e. that we start counting from the primaryMonitorIndex + this._preferredMonitorIndex = (Main.layoutManager.primaryIndex + this._preferredMonitorIndex) % Main.layoutManager.monitors.length ; + } + + // First we create the main Dock, to get the extra features to bind to this one + let dock = new DockedDash(this._remoteModel, this._preferredMonitorIndex); + this._allDocks.push(dock); + + // connect app icon into the view selector + dock.dash.showAppsButton.connect('notify::checked', this._onShowAppsButtonToggled.bind(this)); + + // Make the necessary changes to Main.overview.dash + this._prepareMainDash(); + + // Adjust corners if necessary + this._adjustPanelCorners(); + + if (this._settings.get_boolean('multi-monitor')) { + let nMon = Main.layoutManager.monitors.length; + for (let iMon = 0; iMon < nMon; iMon++) { + if (iMon == this._preferredMonitorIndex) + continue; + let dock = new DockedDash(this._remoteModel, iMon); + this._allDocks.push(dock); + // connect app icon into the view selector + dock.dash.showAppsButton.connect('notify::checked', this._onShowAppsButtonToggled.bind(this)); + } + } + + // Load optional features. We load *after* the docks are created, since + // we need to connect the signals to all dock instances. + this._workspaceIsolation = new WorkspaceIsolation(); + this._keyboardShortcuts = new KeyboardShortcuts(); + } + + _prepareMainDash() { + // Ensure Main.overview.dash is set to our dash in dummy mode + // while just use the default getter otherwise. + // The getter must be dynamic and not set only when we've a dummy + // overview because the mode can change dynamically. + let defaultDashGetter = Object.getOwnPropertyDescriptor( + Main.overview.constructor.prototype, 'dash').get; + Object.defineProperty(Main.overview, 'dash', { + configurable: true, + get: () => Main.overview.isDummy ? + this.mainDock.dash : defaultDashGetter.call(Main.overview), + }); + + if (Main.overview.isDummy) + return; + + this._signalsHandler.removeWithLabel('old-dash-changes'); + + // Hide usual Dash + this._oldDash.hide(); + + // Also set dash width to 1, so it's almost not taken into account by code + // calculaing the reserved space in the overview. The reason to keep it at 1 is + // to allow its visibility change to trigger an allocaion of the appGrid which + // in turn is triggergin the appsIcon spring animation, required when no other + // actors has this effect, i.e in horizontal mode and without the workspaceThumnails + // 1 static workspace only) + this._oldDash.set_height(1); + + this._signalsHandler.addWithLabel('old-dash-changes', [ + this._oldDash, + 'notify::visible', + () => this._prepareMainDash() + ], [ + this._oldDash, + 'notify::width', + () => this._prepareMainDash() + ]); + + // Pretend I'm the dash: meant to make appgrid swarm animation come from + // the right position of the appShowButton. + let overviewControls = Main.overview._overview._controls; + overviewControls.dash = this.mainDock.dash; + overviewControls._searchController._showAppsButton = this.mainDock.dash.showAppsButton; + + if (this.mainDock.dash._isHorizontal) { + overviewControls._dashSpacer = this.mainDock._dashSpacer; + Main.overview._overview._controls.add_child(this.mainDock._dashSpacer); + Main.overview._overview._controls.layout_manager._dash = this.mainDock._dashSpacer; + } + } + + _deleteDocks() { + if (!this._allDocks.length) + return; + + // Remove extra features + this._workspaceIsolation.destroy(); + this._keyboardShortcuts.destroy(); + + // Delete all docks + this._allDocks.forEach(d => d.destroy()); + this._allDocks = []; + } + + _restoreDash() { + Object.defineProperty(Main.overview, 'dash', + Object.getOwnPropertyDescriptor( + Main.overview.constructor.prototype, 'dash')); + + if (!this._oldDash) + return; + + this._signalsHandler.removeWithLabel('old-dash-changes'); + + let overviewControls = Main.overview._overview._controls; + Main.overview._overview._controls.layout_manager._dash = this._oldDash; + if (this.mainDock._dashSpacer) { + Main.overview._overview._controls.remove_child(this.mainDock._dashSpacer); + } + + overviewControls.dash = this._oldDash; + overviewControls._searchController._showAppsButton = this._oldDash.showAppsButton; + Main.overview.dash.show(); + Main.overview.dash.set_height(-1); // reset default dash size + // This force the recalculation of the icon size + Main.overview.dash._maxHeight = -1; + } + + get searchController() { + return Main.overview._overview.controls._searchController; + } + + _onShowAppsButtonToggled(button) { + const checked = button.checked; + const overviewControls = Main.overview._overview.controls; + + if (!Main.overview.visible) { + this.mainDock.dash.showAppsButton._fromDesktop = true; + Main.overview.show(OverviewControls.ControlsState.APP_GRID); + } else { + if (!checked && this.mainDock.dash.showAppsButton._fromDesktop) { + Main.overview.hide(); + this.mainDock.dash.showAppsButton._fromDesktop = false; + } else { + // TODO: I'm not sure how reliable this is, we might need to move the + // _onShowAppsButtonToggled logic into the extension. + if (!checked) { + this.mainDock.dash.showAppsButton._fromDesktop = false; + } + + // Instead of "syncing" the stock button, let's call its callback directly. + overviewControls._onShowAppsButtonToggled.call(overviewControls); + } + } + + // Because we "disconnected" from the search controller, we have to manage its state. + this.searchController._setSearchActive(false); + } + + destroy() { + this._signalsHandler.destroy(); + if (this._toggleLater) { + Meta.later_remove(this._toggleLater); + delete this._toggleLater; + } + this._restoreDash(); + this._deleteDocks(); + this._revertPanelCorners(); + if (this._oldSelectorMargin) + Main.overview._overview.controls._searchController.margin_bottom = this._oldSelectorMargin; + if (this._fm1Client) { + this._fm1Client.destroy(); + this._fm1Client = null; + } + this._remoteModel.destroy(); + this._settings.run_dispose(); + this._settings = null; + this._oldDash = null; + + Me.imports.extension.dockManager = null; + } + + /** + * Adjust Panel corners + */ + _adjustPanelCorners() { + let position = Utils.getPosition(); + let isHorizontal = ((position == St.Side.TOP) || (position == St.Side.BOTTOM)); + let extendHeight = this._settings.get_boolean('extend-height'); + let fixedIsEnabled = this._settings.get_boolean('dock-fixed'); + let dockOnPrimary = this._settings.get_boolean('multi-monitor') || + this._preferredMonitorIndex == Main.layoutManager.primaryIndex; + + if (!isHorizontal && dockOnPrimary && extendHeight && fixedIsEnabled) { + Main.panel._rightCorner.hide(); + Main.panel._leftCorner.hide(); + } + else + this._revertPanelCorners(); + } + + _revertPanelCorners() { + Main.panel._leftCorner.show(); + Main.panel._rightCorner.show(); + } +}; +Signals.addSignalMethods(DockManager.prototype); + +// This class drives long-running icon animations, to keep them running in sync +// with each other, and to save CPU by pausing them when the dock is hidden. +var IconAnimator = class DashToDock_IconAnimator { + constructor(actor) { + this._count = 0; + this._started = false; + this._animations = { + dance: [], + }; + this._timeline = new Clutter.Timeline({ + duration: 3000, + repeat_count: -1, + actor + }); + + this._timeline.connect('new-frame', () => { + const progress = this._timeline.get_progress(); + const danceRotation = progress < 1/6 ? 15*Math.sin(progress*24*Math.PI) : 0; + const dancers = this._animations.dance; + for (let i = 0, iMax = dancers.length; i < iMax; i++) { + dancers[i].target.rotation_angle_z = danceRotation; + } + }); + } + + destroy() { + this._timeline.stop(); + this._timeline = null; + for (const name in this._animations) { + const pairs = this._animations[name]; + for (let i = 0, iMax = pairs.length; i < iMax; i++) { + const pair = pairs[i]; + pair.target.disconnect(pair.targetDestroyId); + } + } + this._animations = null; + } + + pause() { + if (this._started && this._count > 0) { + this._timeline.stop(); + } + this._started = false; + } + + start() { + if (!this._started && this._count > 0) { + this._timeline.start(); + } + this._started = true; + } + + addAnimation(target, name) { + const targetDestroyId = target.connect('destroy', () => this.removeAnimation(target, name)); + this._animations[name].push({ target, targetDestroyId }); + if (this._started && this._count === 0) { + this._timeline.start(); + } + this._count++; + } + + removeAnimation(target, name) { + const pairs = this._animations[name]; + for (let i = 0, iMax = pairs.length; i < iMax; i++) { + const pair = pairs[i]; + if (pair.target === target) { + target.disconnect(pair.targetDestroyId); + pairs.splice(i, 1); + this._count--; + if (this._started && this._count === 0) { + this._timeline.stop(); + } + return; + } + } + } +}; diff --git a/extensions/dash-to-dock/extension.js b/extensions/dash-to-dock/extension.js new file mode 100644 index 00000000..4b43d773 --- /dev/null +++ b/extensions/dash-to-dock/extension.js @@ -0,0 +1,21 @@ +// -*- mode: js; js-indent-level: 4; indent-tabs-mode: nil -*- + +const ExtensionUtils = imports.misc.extensionUtils; +const Me = ExtensionUtils.getCurrentExtension(); +const Docking = Me.imports.docking; + +// We declare this with var so it can be accessed by other extensions in +// GNOME Shell 3.26+ (mozjs52+). +var dockManager; + +function init() { + ExtensionUtils.initTranslations('gnome-shell-extensions'); +} + +function enable() { + new Docking.DockManager(); +} + +function disable() { + dockManager.destroy(); +} diff --git a/extensions/dash-to-dock/fileManager1API.js b/extensions/dash-to-dock/fileManager1API.js new file mode 100644 index 00000000..64ec6219 --- /dev/null +++ b/extensions/dash-to-dock/fileManager1API.js @@ -0,0 +1,226 @@ +// -*- mode: js; js-indent-level: 4; indent-tabs-mode: nil -*- + +const Gio = imports.gi.Gio; +const Signals = imports.signals; + +const Me = imports.misc.extensionUtils.getCurrentExtension(); +const Utils = Me.imports.utils; + +const FileManager1Iface = '\ + \ + \ + '; + +const FileManager1Proxy = Gio.DBusProxy.makeProxyWrapper(FileManager1Iface); + +/** + * This class implements a client for the org.freedesktop.FileManager1 dbus + * interface, and specifically for the OpenWindowsWithLocations property + * which is published by Nautilus, but is not an official part of the interface. + * + * The property is a map from window identifiers to a list of locations open in + * the window. + * + * While OpeWindowsWithLocations is part of upstream Nautilus, for many years + * prior, Ubuntu patched Nautilus to publish XUbuntuOpenLocationsXids, which is + * similar but uses Xids as the window identifiers instead of gtk window paths. + * + * When an old or unpatched Nautilus is running, we will observe the properties + * to always be empty arrays, but there will not be any correctness issues. + */ +var FileManager1Client = class DashToDock_FileManager1Client { + + constructor() { + this._signalsHandler = new Utils.GlobalSignalsHandler(); + this._cancellable = new Gio.Cancellable(); + + this._locationMap = new Map(); + this._proxy = new FileManager1Proxy(Gio.DBus.session, + "org.freedesktop.FileManager1", + "/org/freedesktop/FileManager1", + (initable, error) => { + // Use async construction to avoid blocking on errors. + if (error) { + if (!error.matches(Gio.IOErrorEnum, Gio.IOErrorEnum.CANCELLED)) + global.log(error); + } else { + this._updateLocationMap(); + } + }, this._cancellable); + + this._signalsHandler.add([ + this._proxy, + 'g-properties-changed', + this._onPropertyChanged.bind(this) + ], [ + // We must additionally listen for Screen events to know when to + // rebuild our location map when the set of available windows changes. + global.workspace_manager, + 'workspace-switched', + this._updateLocationMap.bind(this) + ], [ + global.display, + 'window-entered-monitor', + this._updateLocationMap.bind(this) + ], [ + global.display, + 'window-left-monitor', + this._updateLocationMap.bind(this) + ]); + } + + destroy() { + this._cancellable.cancel(); + this._signalsHandler.destroy(); + this._proxy.run_dispose(); + } + + /** + * Return an array of windows that are showing a location or + * sub-directories of that location. + */ + getWindows(location) { + let ret = new Set(); + let locationEsc = location; + + if (!location.endsWith('/')) { + locationEsc += '/'; + } + + for (let [k,v] of this._locationMap) { + if ((k + '/').startsWith(locationEsc)) { + for (let l of v) { + ret.add(l); + } + } + } + return Array.from(ret); + } + + _onPropertyChanged(proxy, changed, invalidated) { + let property = changed.unpack(); + if (property && + ('XUbuntuOpenLocationsXids' in property || + 'OpenWindowsWithLocations' in property)) { + this._updateLocationMap(); + } + } + + _updateLocationMap() { + let properties = this._proxy.get_cached_property_names(); + if (properties == null) { + // Nothing to check yet. + return; + } + + if (properties.includes('OpenWindowsWithLocations')) { + this._updateFromPaths(); + } else if (properties.includes('XUbuntuOpenLocationsXids')) { + this._updateFromXids(); + } + } + + _updateFromPaths() { + let pathToLocations = this._proxy.OpenWindowsWithLocations; + let pathToWindow = getPathToWindow(); + + let locationToWindow = new Map(); + for (let path in pathToLocations) { + let locations = pathToLocations[path]; + for (let i = 0; i < locations.length; i++) { + let l = locations[i]; + // Use a set to deduplicate when a window has a + // location open in multiple tabs. + if (!locationToWindow.has(l)) { + locationToWindow.set(l, new Set()); + } + let window = pathToWindow.get(path); + if (window != null) { + locationToWindow.get(l).add(window); + } + } + } + this._locationMap = locationToWindow; + this.emit('windows-changed'); + } + + _updateFromXids() { + let xidToLocations = this._proxy.XUbuntuOpenLocationsXids; + let xidToWindow = getXidToWindow(); + + let locationToWindow = new Map(); + for (let xid in xidToLocations) { + let locations = xidToLocations[xid]; + for (let i = 0; i < locations.length; i++) { + let l = locations[i]; + // Use a set to deduplicate when a window has a + // location open in multiple tabs. + if (!locationToWindow.has(l)) { + locationToWindow.set(l, new Set()); + } + let window = xidToWindow.get(parseInt(xid)); + if (window != null) { + locationToWindow.get(l).add(window); + } + } + } + this._locationMap = locationToWindow; + this.emit('windows-changed'); + } +} +Signals.addSignalMethods(FileManager1Client.prototype); + +/** + * Construct a map of gtk application window object paths to MetaWindows. + */ +function getPathToWindow() { + let pathToWindow = new Map(); + + for (let i = 0; i < global.workspace_manager.n_workspaces; i++) { + let ws = global.workspace_manager.get_workspace_by_index(i); + ws.list_windows().map(function(w) { + let path = w.get_gtk_window_object_path(); + if (path != null) { + pathToWindow.set(path, w); + } + }); + } + return pathToWindow; +} + +/** + * Construct a map of XIDs to MetaWindows. + * + * This is somewhat annoying as you cannot lookup a window by + * XID in any way, and must iterate through all of them looking + * for a match. + */ +function getXidToWindow() { + let xidToWindow = new Map(); + + for (let i = 0; i < global.workspace_manager.n_workspaces; i++) { + let ws = global.workspace_manager.get_workspace_by_index(i); + ws.list_windows().map(function(w) { + let xid = guessWindowXID(w); + if (xid != null) { + xidToWindow.set(parseInt(xid), w); + } + }); + } + return xidToWindow; +} + +/** + * Guesses the X ID of a window. + * + * This is the basic implementation that is sufficient for Nautilus + * windows. The pixel-saver extension has a much more complex + * implementation if we ever need it. + */ +function guessWindowXID(win) { + try { + return win.get_description().match(/0x[0-9a-f]+/)[0]; + } catch (err) { + return null; + } +} diff --git a/extensions/dash-to-dock/intellihide.js b/extensions/dash-to-dock/intellihide.js new file mode 100644 index 00000000..9c10938e --- /dev/null +++ b/extensions/dash-to-dock/intellihide.js @@ -0,0 +1,321 @@ +// -*- mode: js; js-indent-level: 4; indent-tabs-mode: nil -*- + +const GLib = imports.gi.GLib; +const Meta = imports.gi.Meta; +const Shell = imports.gi.Shell; + +const Main = imports.ui.main; +const Signals = imports.signals; + +const Me = imports.misc.extensionUtils.getCurrentExtension(); +const Docking = Me.imports.docking; +const Utils = Me.imports.utils; + +// A good compromise between reactivity and efficiency; to be tuned. +const INTELLIHIDE_CHECK_INTERVAL = 100; + +const OverlapStatus = { + UNDEFINED: -1, + FALSE: 0, + TRUE: 1 +}; + +const IntellihideMode = { + ALL_WINDOWS: 0, + FOCUS_APPLICATION_WINDOWS: 1, + MAXIMIZED_WINDOWS : 2 +}; + +// List of windows type taken into account. Order is important (keep the original +// enum order). +const handledWindowTypes = [ + Meta.WindowType.NORMAL, + Meta.WindowType.DOCK, + Meta.WindowType.DIALOG, + Meta.WindowType.MODAL_DIALOG, + Meta.WindowType.TOOLBAR, + Meta.WindowType.MENU, + Meta.WindowType.UTILITY, + Meta.WindowType.SPLASHSCREEN +]; + +/** + * A rough and ugly implementation of the intellihide behaviour. + * Intallihide object: emit 'status-changed' signal when the overlap of windows + * with the provided targetBoxClutter.ActorBox changes; + */ +var Intellihide = class DashToDock_Intellihide { + + constructor(monitorIndex) { + // Load settings + this._monitorIndex = monitorIndex; + + this._signalsHandler = new Utils.GlobalSignalsHandler(); + this._tracker = Shell.WindowTracker.get_default(); + this._focusApp = null; // The application whose window is focused. + this._topApp = null; // The application whose window is on top on the monitor with the dock. + + this._isEnabled = false; + this.status = OverlapStatus.UNDEFINED; + this._targetBox = null; + + this._checkOverlapTimeoutContinue = false; + this._checkOverlapTimeoutId = 0; + + this._trackedWindows = new Map(); + + // Connect global signals + this._signalsHandler.add([ + // Add signals on windows created from now on + global.display, + 'window-created', + this._windowCreated.bind(this) + ], [ + // triggered for instance when the window list order changes, + // included when the workspace is switched + global.display, + 'restacked', + this._checkOverlap.bind(this) + ], [ + // when windows are alwasy on top, the focus window can change + // without the windows being restacked. Thus monitor window focus change. + this._tracker, + 'notify::focus-app', + this._checkOverlap.bind(this) + ], [ + // update wne monitor changes, for instance in multimonitor when monitor are attached + Meta.MonitorManager.get(), + 'monitors-changed', + this._checkOverlap.bind(this) + ]); + } + + destroy() { + // Disconnect global signals + this._signalsHandler.destroy(); + + // Remove residual windows signals + this.disable(); + } + + enable() { + this._isEnabled = true; + this._status = OverlapStatus.UNDEFINED; + global.get_window_actors().forEach(function(wa) { + this._addWindowSignals(wa); + }, this); + this._doCheckOverlap(); + } + + disable() { + this._isEnabled = false; + + for (let wa of this._trackedWindows.keys()) { + this._removeWindowSignals(wa); + } + this._trackedWindows.clear(); + + if (this._checkOverlapTimeoutId > 0) { + GLib.source_remove(this._checkOverlapTimeoutId); + this._checkOverlapTimeoutId = 0; + } + } + + _windowCreated(display, metaWindow) { + this._addWindowSignals(metaWindow.get_compositor_private()); + } + + _addWindowSignals(wa) { + if (!this._handledWindow(wa)) + return; + let signalId = wa.connect('notify::allocation', this._checkOverlap.bind(this)); + this._trackedWindows.set(wa, signalId); + wa.connect('destroy', this._removeWindowSignals.bind(this)); + } + + _removeWindowSignals(wa) { + if (this._trackedWindows.get(wa)) { + wa.disconnect(this._trackedWindows.get(wa)); + this._trackedWindows.delete(wa); + } + + } + + updateTargetBox(box) { + this._targetBox = box; + this._checkOverlap(); + } + + forceUpdate() { + this._status = OverlapStatus.UNDEFINED; + this._doCheckOverlap(); + } + + getOverlapStatus() { + return (this._status == OverlapStatus.TRUE); + } + + _checkOverlap() { + if (!this._isEnabled || (this._targetBox == null)) + return; + + /* Limit the number of calls to the doCheckOverlap function */ + if (this._checkOverlapTimeoutId) { + this._checkOverlapTimeoutContinue = true; + return + } + + this._doCheckOverlap(); + + this._checkOverlapTimeoutId = GLib.timeout_add( + GLib.PRIORITY_DEFAULT, INTELLIHIDE_CHECK_INTERVAL, () => { + this._doCheckOverlap(); + if (this._checkOverlapTimeoutContinue) { + this._checkOverlapTimeoutContinue = false; + return GLib.SOURCE_CONTINUE; + } else { + this._checkOverlapTimeoutId = 0; + return GLib.SOURCE_REMOVE; + } + }); + } + + _doCheckOverlap() { + + if (!this._isEnabled || (this._targetBox == null)) + return; + + let overlaps = OverlapStatus.FALSE; + let windows = global.get_window_actors(); + + if (windows.length > 0) { + /* + * Get the top window on the monitor where the dock is placed. + * The idea is that we dont want to overlap with the windows of the topmost application, + * event is it's not the focused app -- for instance because in multimonitor the user + * select a window in the secondary monitor. + */ + + let topWindow = null; + for (let i = windows.length - 1; i >= 0; i--) { + let meta_win = windows[i].get_meta_window(); + if (this._handledWindow(windows[i]) && (meta_win.get_monitor() == this._monitorIndex)) { + topWindow = meta_win; + break; + } + } + + if (topWindow !== null) { + this._topApp = this._tracker.get_window_app(topWindow); + // If there isn't a focused app, use that of the window on top + this._focusApp = this._tracker.focus_app || this._topApp + + windows = windows.filter(this._intellihideFilterInteresting, this); + + for (let i = 0; i < windows.length; i++) { + let win = windows[i].get_meta_window(); + + if (win) { + let rect = win.get_frame_rect(); + + let test = (rect.x < this._targetBox.x2) && + (rect.x + rect.width > this._targetBox.x1) && + (rect.y < this._targetBox.y2) && + (rect.y + rect.height > this._targetBox.y1); + + if (test) { + overlaps = OverlapStatus.TRUE; + break; + } + } + } + } + } + + if (this._status !== overlaps) { + this._status = overlaps; + this.emit('status-changed', this._status); + } + + } + + // Filter interesting windows to be considered for intellihide. + // Consider all windows visible on the current workspace. + // Optionally skip windows of other applications + _intellihideFilterInteresting(wa) { + let meta_win = wa.get_meta_window(); + if (!this._handledWindow(wa)) + return false; + + let currentWorkspace = global.workspace_manager.get_active_workspace_index(); + let wksp = meta_win.get_workspace(); + let wksp_index = wksp.index(); + + // Depending on the intellihide mode, exclude non-relevent windows + switch (Docking.DockManager.settings.get_enum('intellihide-mode')) { + case IntellihideMode.ALL_WINDOWS: + // Do nothing + break; + + case IntellihideMode.FOCUS_APPLICATION_WINDOWS: + // Skip windows of other apps + if (this._focusApp) { + // The DropDownTerminal extension is not an application per se + // so we match its window by wm class instead + if (meta_win.get_wm_class() == 'DropDownTerminalWindow') + return true; + + let currentApp = this._tracker.get_window_app(meta_win); + let focusWindow = global.display.get_focus_window() + + // Consider half maximized windows side by side + // and windows which are alwayson top + if((currentApp != this._focusApp) && (currentApp != this._topApp) + && !((focusWindow && focusWindow.maximized_vertically && !focusWindow.maximized_horizontally) + && (meta_win.maximized_vertically && !meta_win.maximized_horizontally) + && meta_win.get_monitor() == focusWindow.get_monitor()) + && !meta_win.is_above()) + return false; + } + break; + + case IntellihideMode.MAXIMIZED_WINDOWS: + // Skip unmaximized windows + if (!meta_win.maximized_vertically && !meta_win.maximized_horizontally) + return false; + break; + } + + if ( wksp_index == currentWorkspace && meta_win.showing_on_its_workspace() ) + return true; + else + return false; + + } + + // Filter windows by type + // inspired by Opacify@gnome-shell.localdomain.pl + _handledWindow(wa) { + let metaWindow = wa.get_meta_window(); + + if (!metaWindow) + return false; + + // The DropDownTerminal extension uses the POPUP_MENU window type hint + // so we match its window by wm class instead + if (metaWindow.get_wm_class() == 'DropDownTerminalWindow') + return true; + + let wtype = metaWindow.get_window_type(); + for (let i = 0; i < handledWindowTypes.length; i++) { + var hwtype = handledWindowTypes[i]; + if (hwtype == wtype) + return true; + else if (hwtype > wtype) + return false; + } + return false; + } +}; + +Signals.addSignalMethods(Intellihide.prototype); diff --git a/extensions/dash-to-dock/launcherAPI.js b/extensions/dash-to-dock/launcherAPI.js new file mode 100644 index 00000000..55f44f7a --- /dev/null +++ b/extensions/dash-to-dock/launcherAPI.js @@ -0,0 +1,281 @@ +// -*- mode: js; js-indent-level: 4; indent-tabs-mode: nil -*- + +const Gio = imports.gi.Gio; + +const Me = imports.misc.extensionUtils.getCurrentExtension(); +const DbusmenuUtils = Me.imports.dbusmenuUtils; + +const Dbusmenu = DbusmenuUtils.haveDBusMenu(); + +var LauncherEntryRemoteModel = class DashToDock_LauncherEntryRemoteModel { + + constructor() { + this._entrySourceStacks = new Map(); + this._remoteMaps = new Map(); + + this._launcher_entry_dbus_signal_id = + Gio.DBus.session.signal_subscribe(null, // sender + 'com.canonical.Unity.LauncherEntry', // iface + 'Update', // member + null, // path + null, // arg0 + Gio.DBusSignalFlags.NONE, + (connection, sender_name, object_path, interface_name, signal_name, parameters) => + this._onUpdate(sender_name, ...parameters.deep_unpack())); + + this._dbus_name_owner_changed_signal_id = + Gio.DBus.session.signal_subscribe('org.freedesktop.DBus', // sender + 'org.freedesktop.DBus', // interface + 'NameOwnerChanged', // member + '/org/freedesktop/DBus', // path + null, // arg0 + Gio.DBusSignalFlags.NONE, + (connection, sender_name, object_path, interface_name, signal_name, parameters) => + this._onDBusNameChange(...parameters.deep_unpack().slice(1))); + + this._acquireUnityDBus(); + } + + destroy() { + if (this._launcher_entry_dbus_signal_id) { + Gio.DBus.session.signal_unsubscribe(this._launcher_entry_dbus_signal_id); + } + + if (this._dbus_name_owner_changed_signal_id) { + Gio.DBus.session.signal_unsubscribe(this._dbus_name_owner_changed_signal_id); + } + + this._releaseUnityDBus(); + } + + _lookupStackById(appId) { + let sourceStack = this._entrySourceStacks.get(appId); + if (!sourceStack) { + this._entrySourceStacks.set(appId, sourceStack = new PropertySourceStack(new LauncherEntry(), launcherEntryDefaults)); + } + return sourceStack; + } + + lookupById(appId) { + return this._lookupStackById(appId).target; + } + + _acquireUnityDBus() { + if (!this._unity_bus_id) { + this._unity_bus_id = Gio.DBus.session.own_name('com.canonical.Unity', + Gio.BusNameOwnerFlags.ALLOW_REPLACEMENT | Gio.BusNameOwnerFlags.REPLACE, + null, () => this._unity_bus_id = 0); + } + } + + _releaseUnityDBus() { + if (this._unity_bus_id) { + Gio.DBus.session.unown_name(this._unity_bus_id); + this._unity_bus_id = 0; + } + } + + _onDBusNameChange(before, after) { + if (!before || !this._remoteMaps.size) { + return; + } + const remoteMap = this._remoteMaps.get(before); + if (!remoteMap) { + return; + } + this._remoteMaps.delete(before); + if (after && !this._remoteMaps.has(after)) { + this._remoteMaps.set(after, remoteMap); + } else { + for (const [appId, remote] of remoteMap) { + const sourceStack = this._entrySourceStacks.get(appId); + const changed = sourceStack.remove(remote); + if (changed) { + sourceStack.target._emitChangedEvents(changed); + } + } + } + } + + _onUpdate(senderName, appUri, properties) { + if (!senderName) { + return; + } + + const appId = appUri.replace(/(^\w+:|^)\/\//, ''); + if (!appId) { + return; + } + + let remoteMap = this._remoteMaps.get(senderName); + if (!remoteMap) { + this._remoteMaps.set(senderName, remoteMap = new Map()); + } + let remote = remoteMap.get(appId); + if (!remote) { + remoteMap.set(appId, remote = Object.assign({}, launcherEntryDefaults)); + } + for (const name in properties) { + if (name === 'quicklist' && Dbusmenu) { + const quicklistPath = properties[name].unpack(); + if (quicklistPath && (!remote._quicklistMenuClient || remote._quicklistMenuClient.dbus_object !== quicklistPath)) { + remote.quicklist = null; + let menuClient = remote._quicklistMenuClient; + if (menuClient) { + menuClient.dbus_object = quicklistPath; + } else { + // This property should not be enumerable + Object.defineProperty(remote, '_quicklistMenuClient', { + writable: true, + value: menuClient = new Dbusmenu.Client({ dbus_name: senderName, dbus_object: quicklistPath }), + }); + } + const handler = () => { + const root = menuClient.get_root(); + if (remote.quicklist !== root) { + remote.quicklist = root; + if (sourceStack.isTop(remote)) { + sourceStack.target.quicklist = root; + sourceStack.target._emitChangedEvents(['quicklist']); + } + } + }; + menuClient.connect(Dbusmenu.CLIENT_SIGNAL_ROOT_CHANGED, handler); + } + } else { + remote[name] = properties[name].unpack(); + } + } + + const sourceStack = this._lookupStackById(appId); + sourceStack.target._emitChangedEvents(sourceStack.update(remote)); + } +}; + +const launcherEntryDefaults = { + count: 0, + progress: 0, + urgent: false, + quicklist: null, + 'count-visible': false, + 'progress-visible': false, +}; + +const LauncherEntry = class DashToDock_LauncherEntry { + constructor() { + this._connections = new Map(); + this._handlers = new Map(); + this._nextId = 0; + } + + connect(eventNames, callback) { + if (typeof eventNames === 'string') { + eventNames = [eventNames]; + } + callback(this, this); + const id = this._nextId++; + const handler = { id, callback }; + eventNames.forEach(name => { + let handlerList = this._handlers.get(name); + if (!handlerList) { + this._handlers.set(name, handlerList = []); + } + handlerList.push(handler); + }); + this._connections.set(id, eventNames); + return id; + } + + disconnect(id) { + const eventNames = this._connections.get(id); + if (!eventNames) { + return; + } + this._connections.delete(id); + eventNames.forEach(name => { + const handlerList = this._handlers.get(name); + if (handlerList) { + for (let i = 0, iMax = handlerList.length; i < iMax; i++) { + if (handlerList[i].id === id) { + handlerList.splice(i, 1); + break; + } + } + } + }); + } + + _emitChangedEvents(propertyNames) { + const handlers = new Set(); + propertyNames.forEach(name => { + const handlerList = this._handlers.get(name + '-changed'); + if (handlerList) { + for (let i = 0, iMax = handlerList.length; i < iMax; i++) { + handlers.add(handlerList[i]); + } + } + }); + Array.from(handlers).sort((x, y) => x.id - y.id).forEach(handler => handler.callback(this, this)); + } +} + +for (const name in launcherEntryDefaults) { + const jsName = name.replace(/-/g, '_'); + LauncherEntry.prototype[jsName] = launcherEntryDefaults[name]; + if (jsName !== name) { + Object.defineProperty(LauncherEntry.prototype, name, { + get() { + return this[jsName]; + }, + set(value) { + this[jsName] = value; + }, + }); + } +} + +const PropertySourceStack = class DashToDock_PropertySourceStack { + constructor(target, bottom) { + this.target = target; + this._bottom = bottom; + this._stack = []; + } + + isTop(source) { + return this._stack.length > 0 && this._stack[this._stack.length - 1] === source; + } + + update(source) { + if (!this.isTop(source)) { + this.remove(source); + this._stack.push(source); + } + return this._assignFrom(source); + } + + remove(source) { + const stack = this._stack; + const top = stack[stack.length - 1]; + if (top === source) { + stack.length--; + return this._assignFrom(stack.length > 0 ? stack[stack.length - 1] : this._bottom); + } + for (let i = 0, iMax = stack.length; i < iMax; i++) { + if (stack[i] === source) { + stack.splice(i, 1); + break; + } + } + } + + _assignFrom(source) { + const changedProperties = []; + for (const name in source) { + if (this.target[name] !== source[name]) { + this.target[name] = source[name]; + changedProperties.push(name); + } + } + return changedProperties; + } +} diff --git a/extensions/dash-to-dock/locations.js b/extensions/dash-to-dock/locations.js new file mode 100644 index 00000000..7636ff40 --- /dev/null +++ b/extensions/dash-to-dock/locations.js @@ -0,0 +1,293 @@ +// -*- mode: js; js-indent-level: 4; indent-tabs-mode: nil -*- + +const Gio = imports.gi.Gio; +const GLib = imports.gi.GLib; +const Gtk = imports.gi.Gtk; +const Shell = imports.gi.Shell; +const Signals = imports.signals; + +// Use __ () and N__() for the extension gettext domain, and reuse +// the shell domain with the default _() and N_() +const Gettext = imports.gettext.domain('gnome-shell-extensions'); +const __ = Gettext.gettext; +const N__ = function(e) { return e }; + +const Me = imports.misc.extensionUtils.getCurrentExtension(); +const Utils = Me.imports.utils; + +const UPDATE_TRASH_DELAY = 500; + +/** + * This class maintains a Shell.App representing the Trash and keeps it + * up-to-date as the trash fills and is emptied over time. + */ +var Trash = class DashToDock_Trash { + + constructor() { + this._file = Gio.file_new_for_uri('trash://'); + try { + this._monitor = this._file.monitor_directory(0, null); + this._signalId = this._monitor.connect( + 'changed', + this._onTrashChange.bind(this) + ); + } catch (e) { + log(`Impossible to monitor trash: ${e}`) + } + this._lastEmpty = true; + this._empty = true; + this._schedUpdateId = 0; + this._updateTrash(); + } + + destroy() { + if (this._monitor) { + this._monitor.disconnect(this._signalId); + this._monitor.run_dispose(); + } + this._file.run_dispose(); + } + + _onTrashChange() { + if (this._schedUpdateId) { + GLib.source_remove(this._schedUpdateId); + } + this._schedUpdateId = GLib.timeout_add( + GLib.PRIORITY_DEFAULT, UPDATE_TRASH_DELAY, () => { + this._schedUpdateId = 0; + this._updateTrash(); + return GLib.SOURCE_REMOVE; + }); + } + + _updateTrash() { + try { + let children = this._file.enumerate_children('*', 0, null); + this._empty = children.next_file(null) == null; + children.close(null); + } catch (e) { + log(`Impossible to enumerate trash children: ${e}`) + return; + } + + this._ensureApp(); + } + + _ensureApp() { + if (this._trashApp == null || + this._lastEmpty != this._empty) { + let trashKeys = new GLib.KeyFile(); + trashKeys.set_string('Desktop Entry', 'Name', __('Trash')); + trashKeys.set_string('Desktop Entry', 'Icon', + this._empty ? 'user-trash' : 'user-trash-full'); + trashKeys.set_string('Desktop Entry', 'Type', 'Application'); + trashKeys.set_string('Desktop Entry', 'Exec', 'gio open trash:///'); + trashKeys.set_string('Desktop Entry', 'StartupNotify', 'false'); + trashKeys.set_string('Desktop Entry', 'XdtdUri', 'trash:///'); + if (!this._empty) { + trashKeys.set_string('Desktop Entry', 'Actions', 'empty-trash;'); + trashKeys.set_string('Desktop Action empty-trash', 'Name', __('Empty Trash')); + trashKeys.set_string('Desktop Action empty-trash', 'Exec', + 'dbus-send --print-reply --dest=org.gnome.Nautilus /org/gnome/Nautilus org.gnome.Nautilus.FileOperations.EmptyTrash'); + } + + let trashAppInfo = Gio.DesktopAppInfo.new_from_keyfile(trashKeys); + this._trashApp = new Shell.App({appInfo: trashAppInfo}); + this._lastEmpty = this._empty; + + this.emit('changed'); + } + } + + getApp() { + this._ensureApp(); + return this._trashApp; + } +} +Signals.addSignalMethods(Trash.prototype); + +/** + * This class maintains Shell.App representations for removable devices + * plugged into the system, and keeps the list of Apps up-to-date as + * devices come and go and are mounted and unmounted. + */ +var Removables = class DashToDock_Removables { + + constructor() { + this._signalsHandler = new Utils.GlobalSignalsHandler(); + + this._monitor = Gio.VolumeMonitor.get(); + this._volumeApps = [] + this._mountApps = [] + + this._monitor.get_volumes().forEach( + (volume) => { + this._onVolumeAdded(this._monitor, volume); + } + ); + + this._monitor.get_mounts().forEach( + (mount) => { + this._onMountAdded(this._monitor, mount); + } + ); + + this._signalsHandler.add([ + this._monitor, + 'mount-added', + this._onMountAdded.bind(this) + ], [ + this._monitor, + 'mount-removed', + this._onMountRemoved.bind(this) + ], [ + this._monitor, + 'volume-added', + this._onVolumeAdded.bind(this) + ], [ + this._monitor, + 'volume-removed', + this._onVolumeRemoved.bind(this) + ]); + } + + destroy() { + this._signalsHandler.destroy(); + this._monitor.run_dispose(); + } + + _getWorkingIconName(icon) { + if (icon instanceof Gio.EmblemedIcon) { + icon = icon.get_icon(); + } + if (icon instanceof Gio.ThemedIcon) { + let iconTheme = Gtk.IconTheme.get_default(); + let names = icon.get_names(); + for (let i = 0; i < names.length; i++) { + let iconName = names[i]; + if (iconTheme.has_icon(iconName)) { + return iconName; + } + } + return ''; + } else { + return icon.to_string(); + } + } + + _onVolumeAdded(monitor, volume) { + if (!volume.can_mount()) { + return; + } + + if (volume.get_identifier('class') == 'network') { + return; + } + + let activationRoot = volume.get_activation_root(); + if (!activationRoot) { + // Can't offer to mount a device if we don't know + // where to mount it. + // These devices are usually ejectable so you + // don't normally unmount them anyway. + return; + } + + let escapedUri = activationRoot.get_uri() + let uri = GLib.uri_unescape_string(escapedUri, null); + + let volumeKeys = new GLib.KeyFile(); + volumeKeys.set_string('Desktop Entry', 'Name', volume.get_name()); + volumeKeys.set_string('Desktop Entry', 'Icon', this._getWorkingIconName(volume.get_icon())); + volumeKeys.set_string('Desktop Entry', 'Type', 'Application'); + volumeKeys.set_string('Desktop Entry', 'Exec', 'gio open "' + uri + '"'); + volumeKeys.set_string('Desktop Entry', 'StartupNotify', 'false'); + volumeKeys.set_string('Desktop Entry', 'XdtdUri', escapedUri); + volumeKeys.set_string('Desktop Entry', 'Actions', 'mount;'); + volumeKeys.set_string('Desktop Action mount', 'Name', __('Mount')); + volumeKeys.set_string('Desktop Action mount', 'Exec', 'gio mount "' + uri + '"'); + let volumeAppInfo = Gio.DesktopAppInfo.new_from_keyfile(volumeKeys); + let volumeApp = new Shell.App({appInfo: volumeAppInfo}); + this._volumeApps.push(volumeApp); + this.emit('changed'); + } + + _onVolumeRemoved(monitor, volume) { + for (let i = 0; i < this._volumeApps.length; i++) { + let app = this._volumeApps[i]; + if (app.get_name() == volume.get_name()) { + this._volumeApps.splice(i, 1); + } + } + this.emit('changed'); + } + + _onMountAdded(monitor, mount) { + // Filter out uninteresting mounts + if (!mount.can_eject() && !mount.can_unmount()) + return; + if (mount.is_shadowed()) + return; + + let volume = mount.get_volume(); + if (!volume || volume.get_identifier('class') == 'network') { + return; + } + + let escapedUri = mount.get_root().get_uri() + let uri = GLib.uri_unescape_string(escapedUri, null); + + let mountKeys = new GLib.KeyFile(); + mountKeys.set_string('Desktop Entry', 'Name', mount.get_name()); + mountKeys.set_string('Desktop Entry', 'Icon', + this._getWorkingIconName(volume.get_icon())); + mountKeys.set_string('Desktop Entry', 'Type', 'Application'); + mountKeys.set_string('Desktop Entry', 'Exec', 'gio open "' + uri + '"'); + mountKeys.set_string('Desktop Entry', 'StartupNotify', 'false'); + mountKeys.set_string('Desktop Entry', 'XdtdUri', escapedUri); + mountKeys.set_string('Desktop Entry', 'Actions', 'unmount;'); + if (mount.can_eject()) { + mountKeys.set_string('Desktop Action unmount', 'Name', __('Eject')); + mountKeys.set_string('Desktop Action unmount', 'Exec', + 'gio mount -e "' + uri + '"'); + } else { + mountKeys.set_string('Desktop Entry', 'Actions', 'unmount;'); + mountKeys.set_string('Desktop Action unmount', 'Name', __('Unmount')); + mountKeys.set_string('Desktop Action unmount', 'Exec', + 'gio mount -u "' + uri + '"'); + } + let mountAppInfo = Gio.DesktopAppInfo.new_from_keyfile(mountKeys); + let mountApp = new Shell.App({appInfo: mountAppInfo}); + this._mountApps.push(mountApp); + this.emit('changed'); + } + + _onMountRemoved(monitor, mount) { + for (let i = 0; i < this._mountApps.length; i++) { + let app = this._mountApps[i]; + if (app.get_name() == mount.get_name()) { + this._mountApps.splice(i, 1); + } + } + this.emit('changed'); + } + + getApps() { + // When we have both a volume app and a mount app, we prefer + // the mount app. + let apps = new Map(); + this._volumeApps.map(function(app) { + apps.set(app.get_name(), app); + }); + this._mountApps.map(function(app) { + apps.set(app.get_name(), app); + }); + + let ret = []; + for (let app of apps.values()) { + ret.push(app); + } + return ret; + } +} +Signals.addSignalMethods(Removables.prototype); diff --git a/extensions/dash-to-dock/media/glossy.svg b/extensions/dash-to-dock/media/glossy.svg new file mode 100644 index 00000000..55b71baa --- /dev/null +++ b/extensions/dash-to-dock/media/glossy.svg @@ -0,0 +1,139 @@ + + + + + + + + + + + + + + + + + + + + + + + + + image/svg+xml + + + + + + + + + + diff --git a/extensions/dash-to-dock/media/highlight_stacked_bg.svg b/extensions/dash-to-dock/media/highlight_stacked_bg.svg new file mode 100644 index 00000000..19be5a9d --- /dev/null +++ b/extensions/dash-to-dock/media/highlight_stacked_bg.svg @@ -0,0 +1,82 @@ + + + + + + image/svg+xml + + + + + + + + + + + + + diff --git a/extensions/dash-to-dock/media/highlight_stacked_bg_h.svg b/extensions/dash-to-dock/media/highlight_stacked_bg_h.svg new file mode 100644 index 00000000..eeaa8691 --- /dev/null +++ b/extensions/dash-to-dock/media/highlight_stacked_bg_h.svg @@ -0,0 +1,82 @@ + + + + + + image/svg+xml + + + + + + + + + + + + + diff --git a/extensions/dash-to-dock/media/logo.svg b/extensions/dash-to-dock/media/logo.svg new file mode 100644 index 00000000..eebd0b1d --- /dev/null +++ b/extensions/dash-to-dock/media/logo.svg @@ -0,0 +1,528 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + image/svg+xml + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Dash to Dock + Michele + + + + + + + + + + + + + + + + + + + + + + diff --git a/extensions/dash-to-dock/media/screenshot.jpg b/extensions/dash-to-dock/media/screenshot.jpg new file mode 100644 index 0000000000000000000000000000000000000000..4e9b4c6754a0a6d7ff43840812fa807c0937b2da GIT binary patch literal 111454 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ð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 literal 0 HcmV?d00001 diff --git a/extensions/dash-to-dock/meson.build b/extensions/dash-to-dock/meson.build new file mode 100644 index 00000000..35ba2ecf --- /dev/null +++ b/extensions/dash-to-dock/meson.build @@ -0,0 +1,27 @@ +extension_data += configure_file( + input: metadata_name + '.in', + output: metadata_name, + configuration: metadata_conf +) + +extension_sources += files( + 'appIconIndicators.js', + 'appIcons.js', + 'dash.js', + 'dbusmenuUtils.js', + 'docking.js', + 'extension.js', + 'fileManager1API.js', + 'intellihide.js', + 'launcherAPI.js', + 'locations.js', + 'prefs.js', + 'Settings.ui', + 'theming.js', + 'utils.js', + 'windowPreview.js' +) + +extension_schemas += files(join_paths('schemas', metadata_conf.get('gschemaname') + '.gschema.xml')) + +install_subdir('media', install_dir: join_paths(extensiondir, uuid)) diff --git a/extensions/dash-to-dock/metadata.json.in b/extensions/dash-to-dock/metadata.json.in new file mode 100644 index 00000000..641a935c --- /dev/null +++ b/extensions/dash-to-dock/metadata.json.in @@ -0,0 +1,12 @@ +{ +"extension-id": "@extension_id@", +"uuid": "@uuid@", +"settings-schema": "@gschemaname@", +"gettext-domain": "@gettext_domain@", +"original-author": "micxgx@gmail.com", +"name": "Dash to Dock", +"description": "A dock for the Gnome Shell. This extension moves the dash out of the overview transforming it in a dock for an easier launching of applications and a faster switching between windows and desktops. Side and bottom placement options are available.", +"shell-version": [ "@shell_current@" ], +"version": 66, +"url": "https://micheleg.github.io/dash-to-dock/" +} diff --git a/extensions/dash-to-dock/po/ar.po b/extensions/dash-to-dock/po/ar.po new file mode 100644 index 00000000..3bc311dd --- /dev/null +++ b/extensions/dash-to-dock/po/ar.po @@ -0,0 +1,573 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. +# FIRST AUTHOR , YEAR. +# +msgid "" +msgstr "" +"Project-Id-Version: Dash to Dock\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-06-04 12:35+0100\n" +"PO-Revision-Date: 2015-04-18 18:01+0100\n" +"Last-Translator: Jean-Baptiste Le Cz \n" +"Language-Team: Faissal Chamekh \n" +"Language: ar_DZ\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=6; plural=(n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n%100>=3 " +"&& n%100<=10 ? 3 : n%100>=11 && n%100<=99 ? 4 : 5);\n" +"X-Generator: Poedit 1.7.5\n" +"X-Poedit-SourceCharset: UTF-8\n" + +#: prefs.js:113 +msgid "Primary monitor" +msgstr "الشاشة الرئيسية" + +#: prefs.js:122 prefs.js:129 +msgid "Secondary monitor " +msgstr "الشاشة الثانوية" + +#: prefs.js:154 Settings.ui.h:29 +msgid "Right" +msgstr "يمين" + +#: prefs.js:155 Settings.ui.h:26 +msgid "Left" +msgstr "يسار" + +#: prefs.js:205 +msgid "Intelligent autohide customization" +msgstr "تخصيص الإخفاء التلقائي" + +#: prefs.js:212 prefs.js:393 prefs.js:450 +msgid "Reset to defaults" +msgstr "العودة للافتراضي" + +#: prefs.js:386 +#, fuzzy +msgid "Show dock and application numbers" +msgstr "أظهر التطبيقات قيد التشغيل" + +#: prefs.js:443 +#, fuzzy +msgid "Customize middle-click behavior" +msgstr "خصّص الإعتام" + +#: prefs.js:514 +#, fuzzy +msgid "Customize running indicators" +msgstr "أظهر التطبيقات قيد التشغيل" + +#: appIcons.js:804 +msgid "All Windows" +msgstr "جميع النوافذ" + +#: Settings.ui.h:1 +#, fuzzy +msgid "Customize indicator style" +msgstr "خصّص الإعتام" + +#: Settings.ui.h:2 +msgid "Color" +msgstr "اللون" + +#: Settings.ui.h:3 +msgid "Border color" +msgstr "لون الحواف" + +#: Settings.ui.h:4 +msgid "Border width" +msgstr "عرض الحواف" + +#: Settings.ui.h:5 +msgid "Number overlay" +msgstr "عدد التراكب" + +#: Settings.ui.h:6 +msgid "" +"Temporarily show the application numbers over the icons, corresponding to " +"the shortcut." +msgstr "" +"عرض أرقام التطبيق مؤقتا على الرموز، المقابلة" +"للاختصار." +"" + +#: Settings.ui.h:7 +#, fuzzy +msgid "Show the dock if it is hidden" +msgstr "أظهر المرساة فوق" + +#: Settings.ui.h:8 +msgid "" +"If using autohide, the dock will appear for a short time when triggering the " +"shortcut." +msgstr "" +"إذا اُستخدم الإخفاء التلقائي الشريط سيظهر لوقت قصير عند الضغط" +"على الإختصار." +"" + +#: Settings.ui.h:9 +msgid "Shortcut for the options above" +msgstr "الإختصار للخيارات في الأعلى" + +#: Settings.ui.h:10 +msgid "Syntax: , , , " +msgstr "البنية: , , , " + +#: Settings.ui.h:11 +msgid "Hide timeout (s)" +msgstr "زمن الاختفاء (ثا)" + +#: Settings.ui.h:12 +msgid "" +"When set to minimize, double clicking minimizes all the windows of the " +"application." +msgstr "" +"عند التصغير النقر المزدوج سيصغر جميع نوافذ" +"التطبيق." +"" +"" + +#: Settings.ui.h:13 +msgid "Shift+Click action" +msgstr "حدث Shift+Click" + +#: Settings.ui.h:14 +#, fuzzy +msgid "Raise window" +msgstr "صغّر النافذة" + +#: Settings.ui.h:15 +msgid "Minimize window" +msgstr "صغّر النافذة" + +#: Settings.ui.h:16 +msgid "Launch new instance" +msgstr "شغّل نسخة جديدة" + +#: Settings.ui.h:17 +msgid "Cycle through windows" +msgstr "التبديل بين النوافذ" + +#: Settings.ui.h:18 +msgid "Quit" +msgstr "خروج" + +#: Settings.ui.h:19 +msgid "Behavior for Middle-Click." +msgstr "سلوك الزر المتوسط." + +#: Settings.ui.h:20 +#, fuzzy +msgid "Middle-Click action" +msgstr "حدث النقر" + +#: Settings.ui.h:21 +msgid "Behavior for Shift+Middle-Click." +msgstr "سلوك Shift+Middle-Click." + +#: Settings.ui.h:22 +#, fuzzy +msgid "Shift+Middle-Click action" +msgstr "حدث Shift+Click" + +#: Settings.ui.h:23 +msgid "Show the dock on" +msgstr "أظهر المرساة فوق" + +#: Settings.ui.h:24 +#, fuzzy +msgid "Show on all monitors." +msgstr "الشاشة الثانوية" + +#: Settings.ui.h:25 +msgid "Position on screen" +msgstr "الموضع على الشاشة" + +#: Settings.ui.h:27 +msgid "Bottom" +msgstr "أسفل" + +#: Settings.ui.h:28 +msgid "Top" +msgstr "أعلى" + +#: Settings.ui.h:30 +msgid "" +"Hide the dock when it obstructs a window of the current application. More " +"refined settings are available." +msgstr "إخفاء المرساة عندما تحجب نافذة التطبيق الحالي. تخصيصات أكثر متوفرة." + +#: Settings.ui.h:31 +msgid "Intelligent autohide" +msgstr "إخفاء تلقائي ذكي" + +#: Settings.ui.h:32 +msgid "Dock size limit" +msgstr "حدّ حجم المرساة" + +#: Settings.ui.h:33 +msgid "Panel mode: extend to the screen edge" +msgstr "نمط الشريط: تمديد إلى حواف الشاشة" + +#: Settings.ui.h:34 +msgid "Icon size limit" +msgstr "حدّ حجم الأيقونة" + +#: Settings.ui.h:35 +msgid "Fixed icon size: scroll to reveal other icons" +msgstr "حجم أيقونات ثابت: استعمل التمرير لكشف أيقونات أخرى" + +#: Settings.ui.h:36 +msgid "Position and size" +msgstr "الموضع والحجم" + +#: Settings.ui.h:37 +msgid "Show favorite applications" +msgstr "أظهر التطبيقات المفضّلة" + +#: Settings.ui.h:38 +msgid "Show running applications" +msgstr "أظهر التطبيقات قيد التشغيل" + +#: Settings.ui.h:39 +msgid "Isolate workspaces." +msgstr "عزل مساحات العمل." + +#: Settings.ui.h:40 +msgid "Show open windows previews." +msgstr "عرض معاينات النوافذ المفتوحة." + +#: Settings.ui.h:41 +msgid "" +"If disabled, these settings are accessible from gnome-tweak-tool or the " +"extension website." +msgstr "" +"إذا تم تعطيله هذه الإعدادت يمكن الوصول إليها من gnome-tweak-tool أو " +"موقع الإضافات." +"" + +#: Settings.ui.h:42 +#, fuzzy +msgid "Show Applications icon" +msgstr "أظهر أيقونة التطبيقات أولا" + +#: Settings.ui.h:43 +msgid "Move the applications button at the beginning of the dock." +msgstr "تحريك زر التطبيقات في بداية الشريط." + +#: Settings.ui.h:44 +#, fuzzy +msgid "Animate Show Applications." +msgstr "أظهر أيقونة التطبيقات أولا" + +#: Settings.ui.h:45 +msgid "Launchers" +msgstr "المشغلات" + +#: Settings.ui.h:46 +msgid "" +"Enable Super+(0-9) as shortcuts to activate apps. It can also be used " +"together with Shift and Ctrl." +msgstr "" +"تفعيل Super+(0-9) كاختصار لتمكين التطبيقات. يمكن أيضاً استخدامها " +"معاً مع Shift و Ctrl" +"" + +#: Settings.ui.h:47 +msgid "Use keyboard shortcuts to activate apps" +msgstr "استخدام إختصارات لوحة المفاتيح لتفعيل التطبيقات" + +#: Settings.ui.h:48 +#, fuzzy +msgid "Behaviour when clicking on the icon of a running application." +msgstr "التصرّف عن النقر على أيقونة التطبيق قيد التشغيل." + +#: Settings.ui.h:49 +msgid "Click action" +msgstr "حدث النقر" + +#: Settings.ui.h:50 +msgid "Minimize" +msgstr "صغّر" + +#: Settings.ui.h:51 +#, fuzzy +msgid "Minimize or overview" +msgstr "صغّر النافذة" + +#: Settings.ui.h:52 +#, fuzzy +msgid "Behaviour when scrolling on the icon of an application." +msgstr "التصرّف عن النقر على أيقونة التطبيق قيد التشغيل." + +#: Settings.ui.h:53 +#, fuzzy +msgid "Scroll action" +msgstr "حدث النقر" + +#: Settings.ui.h:54 +msgid "Do nothing" +msgstr "لا تفعل شيئا" + +#: Settings.ui.h:55 +#, fuzzy +msgid "Switch workspace" +msgstr "تبديل مساحة عمل واحدة في نفس الوقت" + +#: Settings.ui.h:56 +msgid "Behavior" +msgstr "السلوك" + +#: Settings.ui.h:57 +msgid "" +"Few customizations meant to integrate the dock with the default GNOME theme. " +"Alternatively, specific options can be enabled below." +msgstr "" +"القليل من التخصيصات يعني إضافة الشريط مع سِمَة غنوم. " +"بدلاً من هذا, خيارات محددة يُمكن اختيارها من الأسفل." +"" + +#: Settings.ui.h:58 +msgid "Use built-in theme" +msgstr "استعمل السمة المضمّنة" + +#: Settings.ui.h:59 +msgid "Save space reducing padding and border radius." +msgstr "حفظ المساحة يقلل من الحشو ونصف قطر الحافة." + +#: Settings.ui.h:60 +msgid "Shrink the dash" +msgstr "تقليص المرساة" + +#: Settings.ui.h:61 +msgid "Show a dot for each windows of the application." +msgstr "أظهر نقطة لكل نوافذة من التطبيق." + +#: Settings.ui.h:62 +msgid "Show windows counter indicators" +msgstr "أظهر مؤشرات عدد النوافذ" + +#: Settings.ui.h:63 +msgid "Set the background color for the dash." +msgstr "تعيين لون الخلفية لشَرِطة" + +#: Settings.ui.h:64 +msgid "Customize the dash color" +msgstr "تخصيص لون الشَرِطة" + +#: Settings.ui.h:65 +msgid "Tune the dash background opacity." +msgstr "ضبط إعتام خلفية المرساة." + +#: Settings.ui.h:66 +msgid "Customize opacity" +msgstr "خصّص الإعتام" + +#: Settings.ui.h:67 +msgid "Opacity" +msgstr "العتمة" + +#: Settings.ui.h:68 +msgid "Force straight corner\n" +msgstr "الزاوي المستقيمة\n" + +#: Settings.ui.h:70 +msgid "Appearance" +msgstr "المظهر" + +#: Settings.ui.h:71 +msgid "version: " +msgstr "الإصدار:" + +#: Settings.ui.h:72 +msgid "Moves the dash out of the overview transforming it in a dock" +msgstr "تحريك الشريط خارج النظرة العامة في الشَرِطة" + +#: Settings.ui.h:73 +msgid "Created by" +msgstr "أنشئ من طرف" + +#: Settings.ui.h:74 +msgid "Webpage" +msgstr "صفحة الويب" + +#: Settings.ui.h:75 +msgid "" +"This program comes with ABSOLUTELY NO WARRANTY.\n" +"See the GNU General Public License, version 2 or later for details." +msgstr "" +"هذا البرنامج يأتي بدون أي ضمانات.\n" +"لمزيد من المعلومات أنظر رخصة غنو العمومية، الإصدارة 2 فما فوق." + +#: Settings.ui.h:77 +msgid "About" +msgstr "حول" + +#: Settings.ui.h:78 +msgid "Show the dock by mouse hover on the screen edge." +msgstr "أظهر المرساة بتمرير الفأرة على حافة النافذة" + +#: Settings.ui.h:79 +msgid "Autohide" +msgstr "إخفاء تلقائي" + +#: Settings.ui.h:80 +msgid "Push to show: require pressure to show the dock" +msgstr "اضغط للإظهار: يتطلب ضغطا لإظهار المرساة" + +#: Settings.ui.h:81 +msgid "Enable in fullscreen mode" +msgstr "تمكين في وضع ملئ الشاشة" + +#: Settings.ui.h:82 +msgid "Show the dock when it doesn't obstruct application windows." +msgstr "إظهار المرساة عندما لا تحجب نوافذ التطبيق." + +#: Settings.ui.h:83 +msgid "Dodge windows" +msgstr "حيلة النوافذ" + +#: Settings.ui.h:84 +msgid "All windows" +msgstr "جميع النوافذ" + +#: Settings.ui.h:85 +msgid "Only focused application's windows" +msgstr "نوافذ التطبيق المركزة فقط" + +#: Settings.ui.h:86 +#, fuzzy +msgid "Only maximized windows" +msgstr "صغّر النافذة" + +#: Settings.ui.h:87 +msgid "Animation duration (s)" +msgstr "مدة التحريك (ثا)" + +#: Settings.ui.h:88 +msgid "0.000" +msgstr "0.000" + +#: Settings.ui.h:89 +msgid "Show timeout (s)" +msgstr "زمن الظهور (ثا)" + +#: Settings.ui.h:90 +msgid "Pressure threshold" +msgstr "عتبة الضغط" + +#~ msgid "Switch workspace by scrolling on the dock" +#~ msgstr "بدّل مساحة العمل عند التمرير فوق المرساة" + +#~ msgid "Main Settings" +#~ msgstr "الخصائص الأساسية" + +#~ msgid "Dock Position" +#~ msgstr "موضع المرساة" + +#~ msgid "Dock is fixed and always visible" +#~ msgstr "المرساة ثابتة وظاهرة دائما" + +#~ msgid "Show delay [ms]" +#~ msgstr "تأخير الظهور (ميلي ثانية)" + +#~ msgid "Hide delay [ms]" +#~ msgstr "تأخير الإخفاء (ميلي ثانية)" + +#~ msgid "Application based intellihide" +#~ msgstr "إخفاء تلقائي على حسب التطبيق" + +#~ msgid "Show the dock on following monitor (if attached)" +#~ msgstr "أظهر المرساة في الشاشة الحالية (إن وُصلت)" + +#~ msgid "Primary (default)" +#~ msgstr "الأساسية (الافتراضي)" + +#~ msgid "1" +#~ msgstr "1" + +#~ msgid "2" +#~ msgstr "2" + +#~ msgid "3" +#~ msgstr "3" + +#~ msgid "4" +#~ msgstr "4" + +#~ msgid "Max height" +#~ msgstr "الارتفاع الأقصى" + +#~ msgid "Expand (experimental and buggy)" +#~ msgstr "تمديد (تجريبي)" + +#~ msgid "Maximum icon size" +#~ msgstr "الحجم الأقصى للأيقونة" + +#~ msgid "16" +#~ msgstr "16" + +#~ msgid "24" +#~ msgstr "24" + +#~ msgid "32" +#~ msgstr "32" + +#~ msgid "48" +#~ msgstr "48" + +#~ msgid "64" +#~ msgstr "64" + +#~ msgid "Optional features" +#~ msgstr "ميزات إضافية" + +#~ msgid "Deadtime between each workspace switching [ms]" +#~ msgstr "الوقت بين تبديل كل مساحة عمل" + +#~ msgid "Only a 1px wide area close to the screen edge is active" +#~ msgstr "مساحة بعرض 1 بكسل فقط قريبة من حافة الشاشة هي النشطة" + +#~ msgid "All the area of the dock is active" +#~ msgstr "جميع مناطق المرساة نشطة" + +#~ msgid "Customize actions on mouse click" +#~ msgstr "خصّص حدث النقر على الفأرة" + +#~ msgid "Action on clicking on running app" +#~ msgstr "الحدث عن النقر على تطبيق قيد التشغيل" + +#~ msgid "Minimize window on shift+click (double click for all app windows)" +#~ msgstr "" +#~ "تصغير النافذة عند النقر مع shift (الضغط المزدوج بالنسبة لكل نوافذ التطبيق)" + +#~ msgid "Make message tray insensitive to mouse events" +#~ msgstr "اجعل رسالة التنبيه غير حساسة لأحداث الفأرة" + +#~ msgid "Appearence and Themes" +#~ msgstr "المظهر والسمة" + +#~ msgid "" +#~ "A customized theme is built in the extension. This is meant to work with " +#~ "the default Adwaita theme: the dash is shrunk to save space, its " +#~ "background transparency reduced, and custom indicators for the number of " +#~ "windows of each application are added." +#~ msgstr "" +#~ "تم تضمين سمة مخصّصة للإضافة، هذا يعني أنها تعمل مع السمة الافتراضية " +#~ "Adwaita: تقليص المرساة لكسب مساحة، إنقاص شفافيتها، كذلك تم إضافة مؤشرات " +#~ "لعدد نوافذ التطبيق." + +#~ msgid "" +#~ "Alternatively, for a better integration with custom themes, each " +#~ "customization can be applied indipendently" +#~ msgstr "بدلا من هذا، لتكاملية أفضل مع سمات مخصّصة، كل تخصيص يطبّق على حدة" + +#~ msgid "Shrink the dash size by reducing padding" +#~ msgstr "مساحة المرساة بإنقاص الحشو" + +#~ msgid "Only when in autohide" +#~ msgstr "فقط عند الإخفاء التلقائي" diff --git a/extensions/dash-to-dock/po/cs.po b/extensions/dash-to-dock/po/cs.po new file mode 100644 index 00000000..dc4f9a98 --- /dev/null +++ b/extensions/dash-to-dock/po/cs.po @@ -0,0 +1,552 @@ +# Translation for cs +# Copyright (C) 2014 Michele +# This file is distributed under the same license as the dash-to-dock package. +# Jiří Doubravský , 2015. +# +msgid "" +msgstr "" +"Project-Id-Version: Dash to Dock\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2020-05-16 13:48+0200\n" +"PO-Revision-Date: 2020-05-16 13:54+0200\n" +"Last-Translator: Daniel Rusek \n" +"Language-Team: CZECH \n" +"Language: cs\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Poedit 2.3\n" +"Plural-Forms: nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2;\n" + +#: prefs.js:268 +msgid "Primary monitor" +msgstr "Hlavní obrazovka" + +#: prefs.js:277 prefs.js:284 +msgid "Secondary monitor " +msgstr "Sekundární obrazovka " + +#: prefs.js:309 Settings.ui.h:28 +msgid "Right" +msgstr "Vpravo" + +#: prefs.js:310 Settings.ui.h:25 +msgid "Left" +msgstr "Vlevo" + +#: prefs.js:360 +msgid "Intelligent autohide customization" +msgstr "Přizpůsobení chytrého skrývání" + +#: prefs.js:367 prefs.js:560 prefs.js:616 +msgid "Reset to defaults" +msgstr "Obnovit výchozí nastavení" + +#: prefs.js:553 +msgid "Show dock and application numbers" +msgstr "Zobrazování doku a čísel aplikací" + +#: prefs.js:609 +msgid "Customize middle-click behavior" +msgstr "Nastavit chování prostředního tlačítka" + +#: prefs.js:692 +msgid "Customize running indicators" +msgstr "Nastavit indikátory spuštěných aplikací" + +#: prefs.js:804 Settings.ui.h:74 +msgid "Customize opacity" +msgstr "Přizpůsobení průhlednosti" + +#: appIcons.js:797 +msgid "All Windows" +msgstr "Všechna okna" + +#: appIcons.js:916 +#, javascript-format +msgid "Quit %d Windows" +msgstr "Ukončit %d oken" + +#. Translators: %s is "Settings", which is automatically translated. You +#. can also translate the full message if this fits better your language. +#: appIcons.js:1134 +#, javascript-format +msgid "Dash to Dock %s" +msgstr "%s Dash to Docku" + +#: locations.js:65 +msgid "Trash" +msgstr "Koš" + +#: locations.js:74 +msgid "Empty Trash" +msgstr "Vyprázdnit koš" + +#: locations.js:192 +msgid "Mount" +msgstr "Připojit" + +#: locations.js:235 +msgid "Eject" +msgstr "Vysunout" + +#: locations.js:240 +msgid "Unmount" +msgstr "Odpojit" + +#: Settings.ui.h:1 +msgid "" +"When set to minimize, double clicking minimizes all the windows of the " +"application." +msgstr "" +"Pokud je nastavena minimalizace, dvojklik minimalizuje všechna okna aplikace." + +#: Settings.ui.h:2 +msgid "Shift+Click action" +msgstr "Shift + levé tlačítko" + +#: Settings.ui.h:3 +msgid "Raise window" +msgstr "Přenést okno do popředí" + +#: Settings.ui.h:4 +msgid "Minimize window" +msgstr "Minimalizovat okno" + +#: Settings.ui.h:5 +msgid "Launch new instance" +msgstr "Spustit novou instanci" + +#: Settings.ui.h:6 +msgid "Cycle through windows" +msgstr "Přepínat mezi okny" + +#: Settings.ui.h:7 +msgid "Minimize or overview" +msgstr "Minimalizovat nebo zobrazit přehled" + +#: Settings.ui.h:8 +msgid "Show window previews" +msgstr "Zobrazit náhledy oken" + +#: Settings.ui.h:9 +msgid "Minimize or show previews" +msgstr "Minimalizovat nebo zobrazit náhledy oken" + +#: Settings.ui.h:10 +msgid "Focus or show previews" +msgstr "Zaměřit nebo zobrazit náhledy oken" + +#: Settings.ui.h:11 +msgid "Quit" +msgstr "Ukončit" + +#: Settings.ui.h:12 +msgid "Behavior for Middle-Click." +msgstr "Chování při kliknutím prostředního tlačítka" + +#: Settings.ui.h:13 +msgid "Middle-Click action" +msgstr "Prostřední tlačítko" + +#: Settings.ui.h:14 +msgid "Behavior for Shift+Middle-Click." +msgstr "Chování při kliknutím prostředního tlačítka a stiknuté klávese Shift" + +#: Settings.ui.h:15 +msgid "Shift+Middle-Click action" +msgstr "Shift + prostřední tlačítko" + +#: Settings.ui.h:16 +msgid "Enable Unity7 like glossy backlit items" +msgstr "Podsvícení ikon jako v Unity 7" + +#: Settings.ui.h:17 +msgid "Use dominant color" +msgstr "Použít převládající barvu ikony" + +#: Settings.ui.h:18 +msgid "Customize indicator style" +msgstr "Vlastní styl indikátorů" + +#: Settings.ui.h:19 +msgid "Color" +msgstr "Barva" + +#: Settings.ui.h:20 +msgid "Border color" +msgstr "Barva ohraničení" + +#: Settings.ui.h:21 +msgid "Border width" +msgstr "Šířka ohraničení" + +#: Settings.ui.h:22 +msgid "Show the dock on" +msgstr "Kde zobrazit dok" + +#: Settings.ui.h:23 +msgid "Show on all monitors." +msgstr "Zobrazit na všech obrazovkách" + +#: Settings.ui.h:24 +msgid "Position on screen" +msgstr "Umístění na obrazovce" + +#: Settings.ui.h:26 +msgid "Bottom" +msgstr "Dole" + +#: Settings.ui.h:27 +msgid "Top" +msgstr "Nahoře" + +#: Settings.ui.h:29 +msgid "" +"Hide the dock when it obstructs a window of the current application. More " +"refined settings are available." +msgstr "" +"Skrýt dok, pokud překáží oknu aktivní aplikace. K dispozici jsou podrobnější " +"nastavení." + +#: Settings.ui.h:30 +msgid "Intelligent autohide" +msgstr "Chytré skrývání" + +#: Settings.ui.h:31 +msgid "Dock size limit" +msgstr "Maximální velikost doku" + +#: Settings.ui.h:32 +msgid "Panel mode: extend to the screen edge" +msgstr "Režim panelu (roztáhnout dok po celé délce obrazovky)" + +#: Settings.ui.h:33 +msgid "Icon size limit" +msgstr "Maximální velikost ikon" + +#: Settings.ui.h:34 +msgid "Fixed icon size: scroll to reveal other icons" +msgstr "" +"Neměnná velikost ikon (rolováním na doku je možné zobrazit další ikony)" + +#: Settings.ui.h:35 +msgid "Position and size" +msgstr "Umístění a velikost" + +#: Settings.ui.h:36 +msgid "Show favorite applications" +msgstr "Zobrazit oblíbené aplikace" + +#: Settings.ui.h:37 +msgid "Show running applications" +msgstr "Zobrazit spuštěné aplikace" + +#: Settings.ui.h:38 +msgid "Isolate workspaces." +msgstr "Izolovat pracovní plochy" + +#: Settings.ui.h:39 +msgid "Isolate monitors." +msgstr "Izolovat obrazovky" + +#: Settings.ui.h:40 +msgid "Show open windows previews." +msgstr "Zobrazit náhledy oken" + +#: Settings.ui.h:41 +msgid "" +"If disabled, these settings are accessible from gnome-tweak-tool or the " +"extension website." +msgstr "" +"Pokud je zakázáno, jsou tato nastavení dostupná z GNOME Tweaks nebo z webové " +"stránky GNOME Shell Extensions." + +#: Settings.ui.h:42 +msgid "Show Applications icon" +msgstr "Tlačítko přístupu ke všem aplikacím" + +#: Settings.ui.h:43 +msgid "Move the applications button at the beginning of the dock." +msgstr "Přesunout tlačítko přístupu ke všem aplikacím na začátek doku" + +#: Settings.ui.h:44 +msgid "Animate Show Applications." +msgstr "Animace při zobrazení všech aplikací" + +#: Settings.ui.h:45 +msgid "Show trash can" +msgstr "Zobrazit koš" + +#: Settings.ui.h:46 +msgid "Show mounted volumes and devices" +msgstr "Zobrazit připojené svazky a zařízení" + +#: Settings.ui.h:47 +msgid "Launchers" +msgstr "Spouštěče" + +#: Settings.ui.h:48 +msgid "" +"Enable Super+(0-9) as shortcuts to activate apps. It can also be used " +"together with Shift and Ctrl." +msgstr "" +"Povolit klávesovou zkratku Super+[0-9] pro spuštění aplikací; tuto " +"klávesovou zkratku lze též použít s klávesami Shift a Ctrl." + +#: Settings.ui.h:49 +msgid "Use keyboard shortcuts to activate apps" +msgstr "Klávesová zkratka pro aktivaci aplikací" + +#: Settings.ui.h:50 +msgid "Behaviour when clicking on the icon of a running application." +msgstr "Chování při kliknutí na ikonu běžící aplikace" + +#: Settings.ui.h:51 +msgid "Click action" +msgstr "Kliknutí tlačítkem myši" + +#: Settings.ui.h:52 +msgid "Minimize" +msgstr "Minimalizovat" + +#: Settings.ui.h:53 +msgid "Behaviour when scrolling on the icon of an application." +msgstr "Chování při rolování na ikoně běžící aplikace" + +#: Settings.ui.h:54 +msgid "Scroll action" +msgstr "Rolování kolečkem myši" + +#: Settings.ui.h:55 +msgid "Do nothing" +msgstr "Nedělat nic" + +#: Settings.ui.h:56 +msgid "Switch workspace" +msgstr "Přepnout pracovní plochu" + +#: Settings.ui.h:57 +msgid "Behavior" +msgstr "Chování" + +#: Settings.ui.h:58 +msgid "" +"Few customizations meant to integrate the dock with the default GNOME theme. " +"Alternatively, specific options can be enabled below." +msgstr "" +"Nastavení kvůli integraci doku s výchozím motivem GNOME; jinak lze použít " +"samostatné předvolby níže." + +#: Settings.ui.h:59 +msgid "Use built-in theme" +msgstr "Použít výchozí motiv doku" + +#: Settings.ui.h:60 +msgid "Save space reducing padding and border radius." +msgstr "Prostorově méně náročné zobrazení (zmenšení volného místa kolem ikon)" + +#: Settings.ui.h:61 +msgid "Shrink the dash" +msgstr "Zmenšený dok" + +#: Settings.ui.h:62 +msgid "Customize windows counter indicators" +msgstr "Indikátory počtu otevřených oken" + +#: Settings.ui.h:63 +msgid "Default" +msgstr "Výchozí" + +#: Settings.ui.h:64 +msgid "Dots" +msgstr "Tečky" + +#: Settings.ui.h:65 +msgid "Squares" +msgstr "Čtverečky" + +#: Settings.ui.h:66 +msgid "Dashes" +msgstr "Čárky" + +#: Settings.ui.h:67 +msgid "Segmented" +msgstr "Dělená linka" + +#: Settings.ui.h:68 +msgid "Solid" +msgstr "Plná linka" + +#: Settings.ui.h:69 +msgid "Ciliora" +msgstr "Styl Ciliora" + +#: Settings.ui.h:70 +msgid "Metro" +msgstr "Styl Metro" + +#: Settings.ui.h:71 +msgid "Set the background color for the dash." +msgstr "Nastavit barvu pozadí doku" + +#: Settings.ui.h:72 +msgid "Customize the dash color" +msgstr "Vlastní barva doku" + +#: Settings.ui.h:73 +msgid "Tune the dash background opacity." +msgstr "Nastavit průhlednost doku" + +#: Settings.ui.h:75 +msgid "Fixed" +msgstr "Neměnná" + +#: Settings.ui.h:76 +msgid "Dynamic" +msgstr "Dynamická" + +#: Settings.ui.h:77 +msgid "Opacity" +msgstr "Průhlednost" + +#: Settings.ui.h:78 +msgid "Force straight corner" +msgstr "Zakázat zaoblené rohy" + +#: Settings.ui.h:79 +msgid "Appearance" +msgstr "Vzhled" + +#: Settings.ui.h:80 +msgid "version: " +msgstr "verze: " + +#: Settings.ui.h:81 +msgid "Moves the dash out of the overview transforming it in a dock" +msgstr "Vytvoří dok z přehledu činností a oblíbených aplikací" + +#: Settings.ui.h:82 +msgid "Created by" +msgstr "Autor" + +#: Settings.ui.h:83 +msgid "Webpage" +msgstr "Webová stránka" + +#: Settings.ui.h:84 +msgid "" +"This program comes with ABSOLUTELY NO WARRANTY.\n" +"See the GNU General Public License, version 2 or later for details." +msgstr "" +"Na tento program NEJSOU POSKYTOVÁNY ZÁRUKY.\n" +"Podrobněji viz GNU General Public License, verze 2 nebo pozdější." + +#: Settings.ui.h:86 +msgid "About" +msgstr "O tomto doplňku" + +#: Settings.ui.h:87 +msgid "Customize minimum and maximum opacity values" +msgstr "Nastavit minimální a maximální hodnoty průhlednosti" + +#: Settings.ui.h:88 +msgid "Minimum opacity" +msgstr "Minimální průhlednost" + +#: Settings.ui.h:89 +msgid "Maximum opacity" +msgstr "Maximální průhlednost" + +#: Settings.ui.h:90 +msgid "Number overlay" +msgstr "Čísla aplikací" + +#: Settings.ui.h:91 +msgid "" +"Temporarily show the application numbers over the icons, corresponding to " +"the shortcut." +msgstr "Krátce ukázat čísla aplikací odpovídající klávesové zkratce" + +#: Settings.ui.h:92 +msgid "Show the dock if it is hidden" +msgstr "Zobrazit dok, pokud je skrytý" + +#: Settings.ui.h:93 +msgid "" +"If using autohide, the dock will appear for a short time when triggering the " +"shortcut." +msgstr "" +"Pokud je nastaveno automatické skrývání, stisknutím klávesové zkratky se dok " +"krátce zobrazí." + +#: Settings.ui.h:94 +msgid "Shortcut for the options above" +msgstr "Klávesová zkratka" + +#: Settings.ui.h:95 +msgid "Syntax: , , , " +msgstr "Syntaxe: , , , " + +#: Settings.ui.h:96 +msgid "Hide timeout (s)" +msgstr "Prodleva při skrytí (s)" + +#: Settings.ui.h:97 +msgid "Show the dock by mouse hover on the screen edge." +msgstr "Zobrazit dok najetím myši ke kraji obrazovky" + +#: Settings.ui.h:98 +msgid "Autohide" +msgstr "Automatické skrývání" + +#: Settings.ui.h:99 +msgid "Push to show: require pressure to show the dock" +msgstr "Zobrazit dok až po zatlačení na kraj obrazovky" + +#: Settings.ui.h:100 +msgid "Enable in fullscreen mode" +msgstr "Povolit celoobrazovkový režim" + +#: Settings.ui.h:101 +msgid "Show the dock when it doesn't obstruct application windows." +msgstr "Zobrazit dok pokud nepřekáží oknům aplikací" + +#: Settings.ui.h:102 +msgid "Dodge windows" +msgstr "Uhýbání oknům" + +#: Settings.ui.h:103 +msgid "All windows" +msgstr "Všechna okna" + +#: Settings.ui.h:104 +msgid "Only focused application's windows" +msgstr "Pouze aktivní okna" + +#: Settings.ui.h:105 +msgid "Only maximized windows" +msgstr "Pouze maximalizovaná okna" + +#: Settings.ui.h:106 +msgid "Animation duration (s)" +msgstr "Trvání animace (s)" + +#: Settings.ui.h:107 +msgid "Show timeout (s)" +msgstr "Prodleva při zobrazení (s)" + +#: Settings.ui.h:108 +msgid "Pressure threshold" +msgstr "Míra tlaku (px)" + +#~ msgid "Show a dot for each windows of the application." +#~ msgstr "Zobrazit u ikon tečku indikující každé otevřené okno aplikace" + +#~ msgid "Show windows counter indicators" +#~ msgstr "Indikátory počtu oken" + +#~ msgid "Adaptive" +#~ msgstr "Adaptivní" diff --git a/extensions/dash-to-dock/po/de.po b/extensions/dash-to-dock/po/de.po new file mode 100644 index 00000000..65f840f0 --- /dev/null +++ b/extensions/dash-to-dock/po/de.po @@ -0,0 +1,586 @@ +# Translation for de +# Copyright (C) 2014 Michele +# This file is distributed under the same license as the dash-to-dock package. +# Morris Jobke , 2014. +# Jonatan Zeidler , 2012 +# jonius , 2012 +# +msgid "" +msgstr "" +"Project-Id-Version: Dash to Dock\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-06-04 12:35+0100\n" +"PO-Revision-Date: 2017-12-11 19:21+0100\n" +"Last-Translator: Klaus Staedtler \n" +"Language-Team: jonius \n" +"Language: de\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Poedit 2.0.4\n" + +# Konjugation wegen Stellung im Satz +#: prefs.js:113 +msgid "Primary monitor" +msgstr "Primärer Anzeige" + +# Konjugation wegen Stellung im Satz +#: prefs.js:122 prefs.js:129 +msgid "Secondary monitor " +msgstr "Sekundärer Anzeige" + +#: prefs.js:154 Settings.ui.h:29 +msgid "Right" +msgstr "Rechts" + +#: prefs.js:155 Settings.ui.h:26 +msgid "Left" +msgstr "Links" + +#: prefs.js:205 +msgid "Intelligent autohide customization" +msgstr "Automatisches Ausblenden anpassen" + +# Verwende Übersetzung aus Nautilus +#: prefs.js:212 prefs.js:393 prefs.js:450 +msgid "Reset to defaults" +msgstr "Auf Vorgaben zurücksetzen" + +#: prefs.js:386 +msgid "Show dock and application numbers" +msgstr "Zeige Dock und Anwendungsnummern" + +#: prefs.js:443 +msgid "Customize middle-click behavior" +msgstr "Verhalten des mittleren Klick anpassen" + +#: prefs.js:514 +msgid "Customize running indicators" +msgstr "Laufende Anzeigen anpassen" + +#: appIcons.js:804 +msgid "All Windows" +msgstr "Alle Fenster" + +#: Settings.ui.h:1 +msgid "Customize indicator style" +msgstr "Anzeigenstil anpassen" + +#: Settings.ui.h:2 +msgid "Color" +msgstr "Farbe" + +#: Settings.ui.h:3 +msgid "Border color" +msgstr "Randfarbe" + +#: Settings.ui.h:4 +msgid "Border width" +msgstr "Randbreite" + +#: Settings.ui.h:5 +msgid "Number overlay" +msgstr "Nummer der Überlagung" + +#: Settings.ui.h:6 +msgid "" +"Temporarily show the application numbers over the icons, corresponding to " +"the shortcut." +msgstr "" +"Zeige vorübergehend die Nummer der Anwendung über den Icons, passend zum " +"Tastaturkürzel." + +#: Settings.ui.h:7 +msgid "Show the dock if it is hidden" +msgstr "Dock anzeigen wenn es versteckt ist" + +#: Settings.ui.h:8 +msgid "" +"If using autohide, the dock will appear for a short time when triggering the " +"shortcut." +msgstr "" +"Wenn automatisches Ausblenden benutzt wird, erscheint kurzzeitig das Dock " +"durch drücken des Tastaturkürzels." + +#: Settings.ui.h:9 +msgid "Shortcut for the options above" +msgstr "Tastaturkürzel für die obigen Aktionen" + +#: Settings.ui.h:10 +msgid "Syntax: , , , " +msgstr "Syntax: , , , " + +#: Settings.ui.h:11 +msgid "Hide timeout (s)" +msgstr "Ausblende-Verzögerung in s" + +#: Settings.ui.h:12 +msgid "" +"When set to minimize, double clicking minimizes all the windows of the " +"application." +msgstr "" +"Wenn auf »Minimieren« eingestellt, können durch Doppelklick alle Fenster der " +"Anwendung gleichzeitig minimiert werden." + +#: Settings.ui.h:13 +msgid "Shift+Click action" +msgstr "Wirkung bei Umschalttaste + Mausklick" + +#: Settings.ui.h:14 +msgid "Raise window" +msgstr "Fenster anheben" + +#: Settings.ui.h:15 +msgid "Minimize window" +msgstr "Minimieren" + +#: Settings.ui.h:16 +msgid "Launch new instance" +msgstr "Neues Fenster" + +# Vielleicht einen Tick besser als „umschalten“? +#: Settings.ui.h:17 +msgid "Cycle through windows" +msgstr "Zwischen den Fenstern der Anwendung wechseln" + +#: Settings.ui.h:18 +msgid "Quit" +msgstr "Beenden" + +#: Settings.ui.h:19 +msgid "Behavior for Middle-Click." +msgstr "Verhalten bei Mittel-Klick " + +#: Settings.ui.h:20 +#, fuzzy +msgid "Middle-Click action" +msgstr "Wirkung bei Mausklick" + +#: Settings.ui.h:21 +msgid "Behavior for Shift+Middle-Click." +msgstr "Verhalten bei Umschalttaste+Mittel-Klick." + +#: Settings.ui.h:22 +#, fuzzy +msgid "Shift+Middle-Click action" +msgstr "Wirkung bei Umschalttaste + Mausklick" + +#: Settings.ui.h:23 +msgid "Show the dock on" +msgstr "Dock anzeigen auf" + +# Konjugation wegen Stellung im Satz +#: Settings.ui.h:24 +msgid "Show on all monitors." +msgstr "Auf allen Bildschirmen anzeigen" + +#: Settings.ui.h:25 +msgid "Position on screen" +msgstr "Position auf Bildschirm" + +#: Settings.ui.h:27 +msgid "Bottom" +msgstr "Unten" + +#: Settings.ui.h:28 +msgid "Top" +msgstr "Oben" + +#: Settings.ui.h:30 +msgid "" +"Hide the dock when it obstructs a window of the current application. More " +"refined settings are available." +msgstr "" +"Das Dock automatisch ausblenden, falls es ein Fenster der laufenden " +"Anwendung überlagert. Einstellungen können weiter verfeinert werden." + +#: Settings.ui.h:31 +msgid "Intelligent autohide" +msgstr "Automatisch ausblenden" + +#: Settings.ui.h:32 +msgid "Dock size limit" +msgstr "Maximale Dockgröße" + +#: Settings.ui.h:33 +msgid "Panel mode: extend to the screen edge" +msgstr "Panelmodus: bis zu Bildschirmkanten ausdehnen" + +#: Settings.ui.h:34 +msgid "Icon size limit" +msgstr "Maximale Icongröße" + +#: Settings.ui.h:35 +msgid "Fixed icon size: scroll to reveal other icons" +msgstr "Feste Icongröße: andere Icons durch Scrollen sichtbar machen" + +#: Settings.ui.h:36 +msgid "Position and size" +msgstr "Position und Größe" + +#: Settings.ui.h:37 +msgid "Show favorite applications" +msgstr "Favoriten anzeigen" + +#: Settings.ui.h:38 +msgid "Show running applications" +msgstr "Laufende Anwendungen anzeigen" + +#: Settings.ui.h:39 +msgid "Isolate workspaces." +msgstr "Isoliere Arbeitsflächen." + +#: Settings.ui.h:40 +msgid "Show open windows previews." +msgstr "Zeige Vorschau der geöffneten Fenster" + +#: Settings.ui.h:41 +msgid "" +"If disabled, these settings are accessible from gnome-tweak-tool or the " +"extension website." +msgstr "" +"Falls deaktiviert, sind diese Einstellungen über Gnome-Tweak-Tool oder die " +"Erweiterungsseite erreichbar." + +# Durchkopplung von Kompositum +#: Settings.ui.h:42 +msgid "Show Applications icon" +msgstr "Symbol Anwendungen anzeigen anzeigen" + +#: Settings.ui.h:43 +msgid "Move the applications button at the beginning of the dock." +msgstr "Anwendungen-anzeigen-Button an den Anfang verschieben." + +# Durchkopplung von Kompositum +#: Settings.ui.h:44 +msgid "Animate Show Applications." +msgstr "Symbol Anwendungen anzeigen animieren" + +#: Settings.ui.h:45 +msgid "Launchers" +msgstr "Starter" + +#: Settings.ui.h:46 +msgid "" +"Enable Super+(0-9) as shortcuts to activate apps. It can also be used " +"together with Shift and Ctrl." +msgstr "" +"Benutze Super+(0-9) als Tastaturkürzel um Anwendungen zu aktivieren. Kann " +"auch zusammen mit Umschalttaste und Strg. genutzt werden." + +#: Settings.ui.h:47 +msgid "Use keyboard shortcuts to activate apps" +msgstr "Benutze Tastaturkürzel um Anwendungen zu aktivieren" + +#: Settings.ui.h:48 +msgid "Behaviour when clicking on the icon of a running application." +msgstr "Verhalten bei Mausklick auf das Icon einer laufenden Anwendung." + +#: Settings.ui.h:49 +msgid "Click action" +msgstr "Wirkung bei Mausklick" + +#: Settings.ui.h:50 +msgid "Minimize" +msgstr "Minimieren" + +#: Settings.ui.h:51 +msgid "Minimize or overview" +msgstr "Minimieren oder Übersicht" + +#: Settings.ui.h:52 +#, fuzzy +msgid "Behaviour when scrolling on the icon of an application." +msgstr "Verhalten bei Mausklick auf das Icon einer laufenden Anwendung." + +#: Settings.ui.h:53 +#, fuzzy +msgid "Scroll action" +msgstr "Wirkung bei Mausklick" + +#: Settings.ui.h:54 +msgid "Do nothing" +msgstr "Nichts tun" + +#: Settings.ui.h:55 +msgid "Switch workspace" +msgstr "Arbeitsfläche umschalten" + +# Verwende Übersetzung aus Nautilus +#: Settings.ui.h:56 +msgid "Behavior" +msgstr "Verhalten" + +#: Settings.ui.h:57 +msgid "" +"Few customizations meant to integrate the dock with the default GNOME theme. " +"Alternatively, specific options can be enabled below." +msgstr "" +"Einige Anpassungen, durch die das Dock besser in das standardmäßige GNOME-" +"Thema eingepasst werden soll. Alternativ können im Folgenden besondere " +"Einstellungen vorgenommen werden." + +#: Settings.ui.h:58 +msgid "Use built-in theme" +msgstr "Angepasstes Thema dieser Erweiterung nutzen" + +#: Settings.ui.h:59 +msgid "Save space reducing padding and border radius." +msgstr "Platz sparen, indem Innenabstand und Eckenradius verkleinert werden." + +#: Settings.ui.h:60 +msgid "Shrink the dash" +msgstr "Dash verkleinern" + +#: Settings.ui.h:61 +msgid "Show a dot for each windows of the application." +msgstr "Für jedes Fenster einer Anwendung einen kleinen Indikator einblenden." + +#: Settings.ui.h:62 +msgid "Show windows counter indicators" +msgstr "Indikatoren für Fensterzahl" + +#: Settings.ui.h:63 +msgid "Set the background color for the dash." +msgstr "Setze Hintergrundfarbe für das Dash" + +#: Settings.ui.h:64 +msgid "Customize the dash color" +msgstr "Farbe des Dash anpassen" + +#: Settings.ui.h:65 +msgid "Tune the dash background opacity." +msgstr "Die Hintergrundtransparenz des Dash einstellen." + +#: Settings.ui.h:66 +msgid "Customize opacity" +msgstr "Transparenz anpassen" + +#: Settings.ui.h:67 +msgid "Opacity" +msgstr "Transparenz" + +#: Settings.ui.h:68 +msgid "Force straight corner\n" +msgstr "Erzwinge rechte Ecke\n" + +#: Settings.ui.h:70 +msgid "Appearance" +msgstr "Erscheinungsbild" + +#: Settings.ui.h:71 +msgid "version: " +msgstr "Version: " + +#: Settings.ui.h:72 +msgid "Moves the dash out of the overview transforming it in a dock" +msgstr "Verwandelt das Dash aus dem Übersichtsmodus in ein Dock" + +#: Settings.ui.h:73 +msgid "Created by" +msgstr "Erstellt von" + +#: Settings.ui.h:74 +msgid "Webpage" +msgstr "Internetseite" + +#: Settings.ui.h:75 +msgid "" +"This program comes with ABSOLUTELY NO WARRANTY.\n" +"See the GNU General Public License, version 2 or later for details." +msgstr "" +"Für dieses Programm besteht KEINERLEI GARANTIE.\n" +" Details finden Sie in der GNU General Public License, Version 2 oder später." + +# Verwende Übersetzung aus Nautilus +#: Settings.ui.h:77 +msgid "About" +msgstr "Info" + +#: Settings.ui.h:78 +msgid "Show the dock by mouse hover on the screen edge." +msgstr "Dock einblenden, wenn Mauszeiger an Bildschirmkante anliegt." + +#: Settings.ui.h:79 +msgid "Autohide" +msgstr "Automatisch ausblenden" + +#: Settings.ui.h:80 +msgid "Push to show: require pressure to show the dock" +msgstr "" +"Anstoßen erforderlich: Dock nur einblenden, wenn Mauszeiger schnell gegen " +"Bildschirmkante stößt" + +#: Settings.ui.h:81 +msgid "Enable in fullscreen mode" +msgstr "Im Vollbildmodus einschalten" + +#: Settings.ui.h:82 +msgid "Show the dock when it doesn't obstruct application windows." +msgstr "Dock einblenden, falls es keine Anwendungsfenster überlagert." + +#: Settings.ui.h:83 +msgid "Dodge windows" +msgstr "Fenstern ausweichen" + +#: Settings.ui.h:84 +msgid "All windows" +msgstr "Alle Fenster" + +#: Settings.ui.h:85 +msgid "Only focused application's windows" +msgstr "Nur Anwendungsfenster mit Fokus" + +#: Settings.ui.h:86 +msgid "Only maximized windows" +msgstr "Nur maximierte Fenster" + +# Nach DIN 1313 werden Einheiten nicht in Klammern gesetzt +#: Settings.ui.h:87 +msgid "Animation duration (s)" +msgstr "Animationsdauer in s" + +#: Settings.ui.h:88 +msgid "0.000" +msgstr "0,000" + +#: Settings.ui.h:89 +msgid "Show timeout (s)" +msgstr "Einblende-Verzögerung in s" + +#: Settings.ui.h:90 +msgid "Pressure threshold" +msgstr "Stoßschwellwert" + +#: Settings.ui.h:91 +msgid "Isolate monitors." +msgstr "Isoliere Monitore." + +#, fuzzy +#~ msgid "" +#~ "With fixed icon size, only the edge of the dock and the Show " +#~ "Applications icon are active." +#~ msgstr "" +#~ "Falls es zu viele Symbole auf dem Dock werden, dann bleibt nur " +#~ "Anwendungen anzeigen aktiv." + +#~ msgid "Switch workspace by scrolling on the dock" +#~ msgstr "Arbeitsfläche durch Scrollen wechseln" + +#~ msgid "Only consider windows of the focused application" +#~ msgstr "Nur Fenster der fokussierten Anwendung einbeziehen" + +#~ msgid "Main Settings" +#~ msgstr "Grundeinstellungen" + +#~ msgid "Dock Position" +#~ msgstr "Dock-Position" + +#~ msgid "Dock is fixed and always visible" +#~ msgstr "Das Dock hat eine feste Position und ist immer sichtbar" + +#~ msgid "Show delay [ms]" +#~ msgstr "Einblendeverzögerung [ms]" + +#~ msgid "Hide delay [ms]" +#~ msgstr "Ausblendeverzögerung [ms]" + +#~ msgid "Application based intellihide" +#~ msgstr "Anwendungsbasiertes intelligentes Verstecken" + +#~ msgid "Show the dock on following monitor (if attached)" +#~ msgstr "Zeige Dock auf folgendem Monitor (falls angeschlossen)" + +#~ msgid "Primary (default)" +#~ msgstr "Primäranzeige (Standard)" + +#~ msgid "1" +#~ msgstr "1" + +#~ msgid "2" +#~ msgstr "2" + +#~ msgid "3" +#~ msgstr "3" + +#~ msgid "4" +#~ msgstr "4" + +#~ msgid "Max height" +#~ msgstr "Maximale Höhe" + +#~ msgid "Expand (experimental and buggy)" +#~ msgstr "Komplette Höhe (experimentell und fehlerbehaftet)" + +#~ msgid "Maximum icon size" +#~ msgstr "Maximale Symbolgröße" + +#~ msgid "16" +#~ msgstr "16" + +#~ msgid "24" +#~ msgstr "24" + +#~ msgid "32" +#~ msgstr "32" + +#~ msgid "48" +#~ msgstr "48" + +#~ msgid "64" +#~ msgstr "64" + +#~ msgid "Optional features" +#~ msgstr "Optionale Funktionen" + +#~ msgid "Deadtime between each workspace switching [ms]" +#~ msgstr "Stillstandszeit zwischen Arbeitsflächenwechsel [ms]" + +#~ msgid "Only a 1px wide area close to the screen edge is active" +#~ msgstr "Nur einen 1 Pixel-breiten Bereich am Rand nutzen" + +#~ msgid "All the area of the dock is active" +#~ msgstr "Den gesamten Bereich des Docks nutzen" + +#~ msgid "Customize actions on mouse click" +#~ msgstr "Aktion bei Mausklick anpassen" + +#~ msgid "Action on clicking on running app" +#~ msgstr "Aktion beim Klicken auf eine laufende Anwendung" + +#~ msgid "Minimize window on shift+click (double click for all app windows)" +#~ msgstr "" +#~ "Fenster mit Shift+Klick minimieren (Doppelklick für alle Fenster der " +#~ "Anwendung)" + +#~ msgid "Appearence and Themes" +#~ msgstr "Erscheinungsbild und Themen" + +#~ msgid "" +#~ "A customized theme is built in the extension. This is meant to work with " +#~ "the default Adwaita theme: the dash is shrunk to save space, its " +#~ "background transparency reduced, and custom indicators for the number of " +#~ "windows of each application are added." +#~ msgstr "" +#~ "Ein angepasstes Thema ist in dieser Erweiterung enthalten. Es ist für das " +#~ "Vorgabe-Adwaita-Thema gedacht: Das Dash ist schmaler, um Platz zu sparen, " +#~ "die Hintergrundtransparenz ist reduziert und für jede Anwendung wird ein " +#~ "Indikator für die Anzahl der Fenster eingefügt." + +#~ msgid "" +#~ "Alternatively, for a better integration with custom themes, each " +#~ "customization can be applied indipendently" +#~ msgstr "" +#~ "Alternativ können für eine bessere Integration Anpassungen vorgenommen " +#~ "werden" + +#~ msgid "Shrink the dash size by reducing padding" +#~ msgstr "Das Dash schmaler machen durch Verkleinern des Abstands zum Rand" + +#~ msgid "Apply custom theme (work only with the default Adwaita theme)" +#~ msgstr "" +#~ "Benutzerdefiniertes Theme verwenden (funktioniert nur mit dem Standard-" +#~ "Adwaita-Theme)" diff --git a/extensions/dash-to-dock/po/el.po b/extensions/dash-to-dock/po/el.po new file mode 100644 index 00000000..88285213 --- /dev/null +++ b/extensions/dash-to-dock/po/el.po @@ -0,0 +1,444 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. +# FIRST AUTHOR , YEAR. +# Δημήτριος-Ρωμανός Ησαΐας , 2017. +# Vangelis Skarmoutsos , 2017. +# +msgid "" +msgstr "" +"Project-Id-Version: Dash to Dock\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-06-04 12:35+0100\n" +"PO-Revision-Date: 2017-09-29 21:48+0300\n" +"Last-Translator: Vangelis Skarmoutsos \n" +"Language-Team:\n" +"Language: el\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Poedit 2.0.3\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#: prefs.js:113 +msgid "Primary monitor" +msgstr "Κύρια οθόνη" + +#: prefs.js:122 prefs.js:129 +msgid "Secondary monitor " +msgstr "Δευτερεύουσα οθόνη " + +#: prefs.js:154 Settings.ui.h:29 +msgid "Right" +msgstr "Δεξιά" + +#: prefs.js:155 Settings.ui.h:26 +msgid "Left" +msgstr "Αριστερά" + +#: prefs.js:205 +msgid "Intelligent autohide customization" +msgstr "Προσαρμογή έξυπνης απόκρυψης" + +#: prefs.js:212 prefs.js:393 prefs.js:450 +msgid "Reset to defaults" +msgstr "Επαναφορά στις προεπιλογές" + +#: prefs.js:386 +msgid "Show dock and application numbers" +msgstr "Προβολή της μπάρας και της αρίθμησης εφαρμογών" + +#: prefs.js:443 +msgid "Customize middle-click behavior" +msgstr "Προσαρμογή συμπεριφοράς μεσαίου κλικ" + +#: prefs.js:514 +msgid "Customize running indicators" +msgstr "Προσαρμογή δεικτών τρεχόντων εφαρμογών" + +#: appIcons.js:804 +msgid "All Windows" +msgstr "Όλα τα παράθυρα" + +#: Settings.ui.h:1 +msgid "Customize indicator style" +msgstr "Προσαρμογή του στυλ του δείκτη" + +#: Settings.ui.h:2 +msgid "Color" +msgstr "Χρώμα" + +#: Settings.ui.h:3 +msgid "Border color" +msgstr "Χρώμα περιγράμματος" + +#: Settings.ui.h:4 +msgid "Border width" +msgstr "Πλάτος περιγράμματος" + +#: Settings.ui.h:5 +msgid "Number overlay" +msgstr "Επίστρωση αριθμού" + +#: Settings.ui.h:6 +msgid "" +"Temporarily show the application numbers over the icons, corresponding to " +"the shortcut." +msgstr "" +"Προσωρινή εμφάνιση αριθμών εφαρμογής πάνω από τα εικονίδια, που αντιστοιχούν " +"στη συντόμευση πληκτρολογίου." + +#: Settings.ui.h:7 +msgid "Show the dock if it is hidden" +msgstr "Προβολή της μπάρας αν είναι κρυμμένη" + +#: Settings.ui.h:8 +msgid "" +"If using autohide, the dock will appear for a short time when triggering the " +"shortcut." +msgstr "" +"Αν χρησιμοποιείται η αυτόματη απόκρυψη, η μπάρα θα εμφανίζεται για λίγο " +"χρόνο όταν πατιέται η συντόμευση." + +#: Settings.ui.h:9 +msgid "Shortcut for the options above" +msgstr "Συντόμευση για τις παραπάνω επιλογές" + +#: Settings.ui.h:10 +msgid "Syntax: , , , " +msgstr "Σύνταξη: , , , " + +#: Settings.ui.h:11 +msgid "Hide timeout (s)" +msgstr "Καθυστέρηση απόκρυψης" + +#: Settings.ui.h:12 +msgid "" +"When set to minimize, double clicking minimizes all the windows of the " +"application." +msgstr "" +"Όταν είναι ρυθμισμένο στην ελαχιστοποίηση, το διπλό κλικ ελαχιστοποιεί όλα " +"τα παράθυρα της εφαρμογής." + +#: Settings.ui.h:13 +msgid "Shift+Click action" +msgstr "Λειτουργία του Shift+Click" + +#: Settings.ui.h:14 +msgid "Raise window" +msgstr "Ανύψωση παραθύρου" + +#: Settings.ui.h:15 +msgid "Minimize window" +msgstr "Ελαχιστοποίηση παραθύρου" + +#: Settings.ui.h:16 +msgid "Launch new instance" +msgstr "Εκκίνηση νέου παραθύρου" + +#: Settings.ui.h:17 +msgid "Cycle through windows" +msgstr "Περιήγηση στα ανοικτά παράθυρα" + +#: Settings.ui.h:18 +msgid "Quit" +msgstr "Έξοδος" + +#: Settings.ui.h:19 +msgid "Behavior for Middle-Click." +msgstr "Συμπεριφορά μεσαίου κλικ." + +#: Settings.ui.h:20 +msgid "Middle-Click action" +msgstr "Λειτουργία του μεσαίου κλικ" + +#: Settings.ui.h:21 +msgid "Behavior for Shift+Middle-Click." +msgstr "Συμπεριφορά Shift+Μεσαίο κλικ." + +#: Settings.ui.h:22 +msgid "Shift+Middle-Click action" +msgstr "Λειτουργία του Shift+Μεσαίο κλικ" + +#: Settings.ui.h:23 +msgid "Show the dock on" +msgstr "Εμφάνιση της μπάρας στην" + +#: Settings.ui.h:24 +msgid "Show on all monitors." +msgstr "Εμφάνιση σε όλες τις οθόνες." + +#: Settings.ui.h:25 +msgid "Position on screen" +msgstr "Θέση στην οθόνη" + +#: Settings.ui.h:27 +msgid "Bottom" +msgstr "Κάτω" + +#: Settings.ui.h:28 +msgid "Top" +msgstr "Πάνω" + +#: Settings.ui.h:30 +msgid "" +"Hide the dock when it obstructs a window of the the current application. " +"More refined settings are available." +msgstr "" +"Απόκρυψη της μπάρας όταν εμποδίζει ένα παράθυρο της τρέχουσας εφαρμογής. Πιο " +"εξειδικευμένες επιλογές είναι επίσης διαθέσιμες." + +#: Settings.ui.h:31 +msgid "Intelligent autohide" +msgstr "Έξυπνη απόκρυψη" + +#: Settings.ui.h:32 +msgid "Dock size limit" +msgstr "Περιορισμός μεγέθους μπάρας" + +#: Settings.ui.h:33 +msgid "Panel mode: extend to the screen edge" +msgstr "Λειτουργιά πάνελ: επέκταση της μπάρας ως τις άκρες της οθόνης" + +#: Settings.ui.h:34 +msgid "Icon size limit" +msgstr "Περιορισμός μεγέθους εικονιδίων" + +#: Settings.ui.h:35 +msgid "Fixed icon size: scroll to reveal other icons" +msgstr "" +"Σταθερό μέγεθος εικονιδίων: κύλιση για την εμφάνιση περαιτέρω εικονιδίων" + +#: Settings.ui.h:36 +msgid "Position and size" +msgstr "Θέση και μέγεθος" + +#: Settings.ui.h:37 +msgid "Show favorite applications" +msgstr "Εμφάνιση αγαπημένων εφαρμογών" + +#: Settings.ui.h:38 +msgid "Show running applications" +msgstr "Εμφάνιση εκτελούμενων εφαρμογών" + +#: Settings.ui.h:39 +msgid "Isolate workspaces." +msgstr "Απομόνωση χώρων εργασίας." + +#: Settings.ui.h:40 +msgid "Show open windows previews." +msgstr "Εμφάνιση προεπισκόπησης ανοικτών παραθύρων." + +#: Settings.ui.h:41 +msgid "" +"If disabled, these settings are accessible from gnome-tweak-tool or the " +"extension website." +msgstr "" +"Αν είναι απενεργοποιημένο, αυτές οι ρυθμίσεις είναι προσβάσιμες από το " +"εργαλείο μικρορυθμίσεων του GNOME ή τον ιστοτόπο επεκτάσεων." + +#: Settings.ui.h:42 +msgid "Show Applications icon" +msgstr "Εμφάνιση εικονιδίου Εφαρμογές" + +#: Settings.ui.h:43 +msgid "Move the applications button at the beginning of the dock." +msgstr "Μετακίνηση του πλήκτρου εφαρμογών στην αρχή της μπάρας." + +#: Settings.ui.h:44 +msgid "Animate Show Applications." +msgstr "Ενεργοποίηση γραφικών κατά την Εμφάνιση Εφαρμογών." + +#: Settings.ui.h:45 +msgid "Launchers" +msgstr "Εκκινητές" + +#: Settings.ui.h:46 +msgid "" +"Enable Super+(0-9) as shortcuts to activate apps. It can also be used " +"together with Shift and Ctrl." +msgstr "" +"Ενεργοποίηση του Super+(0-9) ως συντομεύσεις για την ενεργοποίηση εφαρμογών. " +"Μπορεί επίσης να χρησιμοποιηθεί με το Shift και το Ctrl." + +#: Settings.ui.h:47 +msgid "Use keyboard shortcuts to activate apps" +msgstr "Χρήση συντομεύσεων πληκτρολογίου για την ενεργοποίηση εφαρμογών" + +#: Settings.ui.h:48 +msgid "Behaviour when clicking on the icon of a running application." +msgstr "Συμπεριφορά κατά το κλικ σε εικονίδιο τρέχουσας εφαρμογής." + +#: Settings.ui.h:49 +msgid "Click action" +msgstr "Συμπεριφορά κλικ" + +#: Settings.ui.h:50 +msgid "Minimize" +msgstr "Ελαχιστοποίηση" + +#: Settings.ui.h:51 +msgid "Minimize or overview" +msgstr "Ελαχιστοποίηση ή επισκόπηση" + +#: Settings.ui.h:52 +msgid "Behaviour when scrolling on the icon of an application." +msgstr "Συμπεριφορά κατά την κύλιση σε εικονίδιο τρέχουσας εφαρμογής." + +#: Settings.ui.h:53 +msgid "Scroll action" +msgstr "Συμπεριφορά κύλισης" + +#: Settings.ui.h:54 +msgid "Do nothing" +msgstr "Καμία δράση" + +#: Settings.ui.h:55 +msgid "Switch workspace" +msgstr "Αλλαγή χώρου εργασίας" + +#: Settings.ui.h:56 +msgid "Behavior" +msgstr "Συμπεριφορά" + +#: Settings.ui.h:57 +msgid "" +"Few customizations meant to integrate the dock with the default GNOME theme. " +"Alternatively, specific options can be enabled below." +msgstr "" +"Μερικές προσαρμογές στοχεύουν στο να ενοποιήσουν την μπάρα με το " +"προκαθορισμένο θέμα του GNOME. Εναλλακτικά, ειδικές επιλογές μπορούν να " +"ενεργοποιηθούν παρακάτω." + +#: Settings.ui.h:58 +msgid "Use built-in theme" +msgstr "Χρήση ενσωματωμένου θέματος" + +#: Settings.ui.h:59 +msgid "Save space reducing padding and border radius." +msgstr "Εξοικονόμηση χώρου μειώνοντας τα κενά και τα περιθώρια." + +#: Settings.ui.h:60 +msgid "Shrink the dash" +msgstr "Σμίκρυνση της μπάρας" + +#: Settings.ui.h:61 +msgid "Show a dot for each windows of the application." +msgstr "Εμφανίζει μία τελεία για κάθε παράθυρο της εφαρμογής." + +#: Settings.ui.h:62 +msgid "Show windows counter indicators" +msgstr "Εμφάνιση μετρητή παραθύρων" + +#: Settings.ui.h:63 +msgid "Set the background color for the dash." +msgstr "Ορισμός χρώματος φόντου της μπάρας." + +#: Settings.ui.h:64 +msgid "Customize the dash color" +msgstr "Προσαρμογή του χρώματος της μπάρας" + +#: Settings.ui.h:65 +msgid "Tune the dash background opacity." +msgstr "Αλλαγή της αδιαφάνειας του φόντου της μπάρας." + +#: Settings.ui.h:66 +msgid "Customize opacity" +msgstr "Προσαρμογή αδιαφάνειας" + +#: Settings.ui.h:67 +msgid "Opacity" +msgstr "Αδιαφάνεια" + +#: Settings.ui.h:68 +msgid "Force straight corner\n" +msgstr "Εξαναγκασμός ευθείας γωνίας\n" + +#: Settings.ui.h:70 +msgid "Appearance" +msgstr "Εμφάνιση" + +#: Settings.ui.h:71 +msgid "version: " +msgstr "έκδοση: " + +#: Settings.ui.h:72 +msgid "Moves the dash out of the overview transforming it in a dock" +msgstr "" +"Μετακινεί το ταμπλό και εκτός της προεπισκόπησης μετατρέποντάς το σε μπάρα " +"εφαρμογών" + +#: Settings.ui.h:73 +msgid "Created by" +msgstr "Δημιουργήθηκε από" + +#: Settings.ui.h:74 +msgid "Webpage" +msgstr "Ιστοσελίδα" + +#: Settings.ui.h:75 +msgid "" +"This program comes with ABSOLUTELY NO WARRANTY.\n" +"See the GNU General Public License, version 2 or later for details." +msgstr "" +"Αυτό πρόγραμμα παρέχεται χωρίς ΑΠΟΛΥΤΩΣ ΚΑΜΙΑ ΕΓΓΥΗΣΗ.\n" +"Για λεπτομέρειες δείτε την Γενική δημόσια άδεια GNU, έκδοση 2 ή νεότερη. " + +#: Settings.ui.h:77 +msgid "About" +msgstr "Περί" + +#: Settings.ui.h:78 +msgid "Show the dock by mouse hover on the screen edge." +msgstr "Εμφάνιση της μπάρας όταν το ποντίκι πηγαίνει στην άκρη της οθόνης." + +#: Settings.ui.h:79 +msgid "Autohide" +msgstr "Αυτόματη απόκρυψη" + +#: Settings.ui.h:80 +msgid "Push to show: require pressure to show the dock" +msgstr "Πίεση για εμφάνιση: απαιτείται πίεση για την εμφάνιση της μπάρας" + +#: Settings.ui.h:81 +msgid "Enable in fullscreen mode" +msgstr "Ενεργοποίηση σε κατάσταση πλήρους οθόνης" + +#: Settings.ui.h:82 +msgid "Show the dock when it doesn't obstruct application windows." +msgstr "Εμφάνιση της μπάρας όταν δεν εμποδίζει τα παράθυρά των εφαρμογών." + +#: Settings.ui.h:83 +msgid "Dodge windows" +msgstr "Αποφυγή παραθύρων" + +#: Settings.ui.h:84 +msgid "All windows" +msgstr "Όλα τα παράθυρα" + +#: Settings.ui.h:85 +msgid "Only focused application's windows" +msgstr "Μόνο τα παράθυρα της εστιασμένης εφαρμογής" + +#: Settings.ui.h:86 +msgid "Only maximized windows" +msgstr "Μόνο μεγιστοποιημένα παράθυρα" + +#: Settings.ui.h:87 +msgid "Animation duration (s)" +msgstr "Διάρκεια κίνησης γραφικών (s)" + +#: Settings.ui.h:88 +msgid "0.000" +msgstr "0.000" + +#: Settings.ui.h:89 +msgid "Show timeout (s)" +msgstr "Χρονικό όριο εμφάνισης" + +#: Settings.ui.h:90 +msgid "Pressure threshold" +msgstr "Ελάχιστη πίεση" diff --git a/extensions/dash-to-dock/po/es.po b/extensions/dash-to-dock/po/es.po new file mode 100644 index 00000000..0bdfaa67 --- /dev/null +++ b/extensions/dash-to-dock/po/es.po @@ -0,0 +1,521 @@ +# Dash to Dock spanish translation. +# This file is distributed under the same license as the Dash to Dock package. +# Hugo Olabera , 2015. +# +msgid "" +msgstr "" +"Project-Id-Version: \n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2019-03-06 01:57-0600\n" +"PO-Revision-Date: 2020-03-23 11:25+0100\n" +"Last-Translator: Adolfo Jayme Barrientos \n" +"Language-Team: \n" +"Language: es\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Poedit 2.3\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#: prefs.js:264 +msgid "Primary monitor" +msgstr "Monitor principal" + +#: prefs.js:273 prefs.js:280 +msgid "Secondary monitor " +msgstr "Monitor secundario" + +#: prefs.js:305 Settings.ui.h:28 +msgid "Right" +msgstr "Derecha" + +#: prefs.js:306 Settings.ui.h:25 +msgid "Left" +msgstr "Izquierda" + +#: prefs.js:356 +msgid "Intelligent autohide customization" +msgstr "Personalización de ocultamiento inteligente" + +#: prefs.js:363 prefs.js:548 prefs.js:604 +msgid "Reset to defaults" +msgstr "Restablecer la configuración predeterminada" + +#: prefs.js:541 +msgid "Show dock and application numbers" +msgstr "Mostrar dock y números de aplicación" + +#: prefs.js:597 +msgid "Customize middle-click behavior" +msgstr "Personalizar comportamiento del botón central" + +#: prefs.js:680 +msgid "Customize running indicators" +msgstr "Personalizar indicadores de ejecución" + +#: appIcons.js:790 +msgid "All Windows" +msgstr "Todas las ventanas" + +#. Translators: %s is "Settings", which is automatically translated. You +#. can also translate the full message if this fits better your language. +#: appIcons.js:1092 +#, javascript-format +msgid "Dash to Dock %s" +msgstr "%s • Dash to Dock" + +#: Settings.ui.h:1 +msgid "" +"When set to minimize, double clicking minimizes all the windows of the " +"application." +msgstr "" +"Cuando se selecciona minimizar, una pulsación doble minimiza todas las " +"ventanas de la aplicación." + +#: Settings.ui.h:2 +msgid "Shift+Click action" +msgstr "Acción de Mayús + pulsación" + +#: Settings.ui.h:3 +msgid "Raise window" +msgstr "Elevar ventana" + +#: Settings.ui.h:4 +msgid "Minimize window" +msgstr "Minimizar ventana" + +#: Settings.ui.h:5 +msgid "Launch new instance" +msgstr "Iniciar una instancia nueva" + +#: Settings.ui.h:6 +msgid "Cycle through windows" +msgstr "Alternar entre ventanas" + +#: Settings.ui.h:7 +msgid "Minimize or overview" +msgstr "Minimizar o vista de actividades" + +#: Settings.ui.h:8 +msgid "Show window previews" +msgstr "Mostrar previsualizaciones de ventanas" + +#: Settings.ui.h:9 +msgid "Minimize or show previews" +msgstr "Minimizar o mostrar previsualizaciones" + +#: Settings.ui.h:10 +msgid "Focus or show previews" +msgstr "Focalizar o mostrar previsualizaciones" + +#: Settings.ui.h:11 +msgid "Quit" +msgstr "Salir" + +#: Settings.ui.h:12 +msgid "Behavior for Middle-Click." +msgstr "Comportamiento del botón central" + +#: Settings.ui.h:13 +msgid "Middle-Click action" +msgstr "Acción del botón central" + +#: Settings.ui.h:14 +msgid "Behavior for Shift+Middle-Click." +msgstr "Comportamiento de Mayús + botón central" + +#: Settings.ui.h:15 +msgid "Shift+Middle-Click action" +msgstr "Acción de Mayús + botón central" + +#: Settings.ui.h:16 +msgid "Enable Unity7 like glossy backlit items" +msgstr "Activar elementos retroiluminados a la Unity 7" + +#: Settings.ui.h:17 +msgid "Use dominant color" +msgstr "Utilizar el color dominante" + +#: Settings.ui.h:18 +msgid "Customize indicator style" +msgstr "Personalizar estilo del indicador" + +#: Settings.ui.h:19 +msgid "Color" +msgstr "Color" + +#: Settings.ui.h:20 +msgid "Border color" +msgstr "Color del borde" + +#: Settings.ui.h:21 +msgid "Border width" +msgstr "Grosor del borde" + +#: Settings.ui.h:22 +msgid "Show the dock on" +msgstr "Mostrar el dock en" + +#: Settings.ui.h:23 +msgid "Show on all monitors." +msgstr "Mostrar en todos los monitores." + +#: Settings.ui.h:24 +msgid "Position on screen" +msgstr "Posición en pantalla" + +#: Settings.ui.h:26 +msgid "Bottom" +msgstr "Inferior" + +#: Settings.ui.h:27 +msgid "Top" +msgstr "Superior" + +#: Settings.ui.h:29 +msgid "" +"Hide the dock when it obstructs a window of the current application. More " +"refined settings are available." +msgstr "" +"Ocultar el dock cuando cubre una ventana de la aplicación activa. Otras " +"opciones disponibles." + +#: Settings.ui.h:30 +msgid "Intelligent autohide" +msgstr "Ocultamiento automático inteligente" + +#: Settings.ui.h:31 +msgid "Dock size limit" +msgstr "Tamaño máximo del dock" + +#: Settings.ui.h:32 +msgid "Panel mode: extend to the screen edge" +msgstr "Modo panel: extender hasta los bordes de la pantalla" + +#: Settings.ui.h:33 +msgid "Icon size limit" +msgstr "Tamaño máximo de los iconos" + +#: Settings.ui.h:34 +msgid "Fixed icon size: scroll to reveal other icons" +msgstr "Tamaño fijo de los iconos: desplazarse para mostrar otros" + +#: Settings.ui.h:35 +msgid "Position and size" +msgstr "Posición y tamaño" + +#: Settings.ui.h:36 +msgid "Show favorite applications" +msgstr "Mostrar aplicaciones favoritas" + +#: Settings.ui.h:37 +msgid "Show running applications" +msgstr "Mostrar aplicaciones en ejecución" + +#: Settings.ui.h:38 +msgid "Isolate workspaces." +msgstr "Aislar los espacios de trabajo." + +#: Settings.ui.h:39 +msgid "Isolate monitors." +msgstr "Aislar los monitores." + +#: Settings.ui.h:40 +msgid "Show open windows previews." +msgstr "Mostrar vista rápida de ventanas." + +#: Settings.ui.h:41 +msgid "" +"If disabled, these settings are accessible from gnome-tweak-tool or the " +"extension website." +msgstr "" +"Si se desactiva, estas opciones estarán disponibles en Retoques de GNOME y " +"el sitio web de la extensión." + +#: Settings.ui.h:42 +msgid "Show Applications icon" +msgstr "Mostrar el icono Aplicaciones" + +#: Settings.ui.h:43 +msgid "Move the applications button at the beginning of the dock." +msgstr "Mover el botón de aplicaciones al comienzo del dock" + +#: Settings.ui.h:44 +msgid "Animate Show Applications." +msgstr "Animar Mostrar aplicaciones" + +#: Settings.ui.h:45 +msgid "Launchers" +msgstr "Lanzadores" + +#: Settings.ui.h:46 +msgid "" +"Enable Super+(0-9) as shortcuts to activate apps. It can also be used " +"together with Shift and Ctrl." +msgstr "" +"Activar Súper + (0-9) como atajos para activar aplicaciones. Pueden " +"emplearse en conjunto con Mayús y Ctrl." + +#: Settings.ui.h:47 +msgid "Use keyboard shortcuts to activate apps" +msgstr "Usar atajos de teclado para activar aplicaciones" + +#: Settings.ui.h:48 +msgid "Behaviour when clicking on the icon of a running application." +msgstr "Comportamiento al pulsar el icono de una aplicación en ejecución" + +#: Settings.ui.h:49 +msgid "Click action" +msgstr "Acción al pulsar" + +#: Settings.ui.h:50 +msgid "Minimize" +msgstr "Minimizar" + +#: Settings.ui.h:51 +msgid "Behaviour when scrolling on the icon of an application." +msgstr "Comportamiento al usar la rueda sobre el icono de una aplicación." + +#: Settings.ui.h:52 +msgid "Scroll action" +msgstr "Acción al desplazarse" + +#: Settings.ui.h:53 +msgid "Do nothing" +msgstr "No hacer nada" + +#: Settings.ui.h:54 +msgid "Switch workspace" +msgstr "Cambiar de espacio de trabajo." + +#: Settings.ui.h:55 +msgid "Behavior" +msgstr "Comportamiento" + +#: Settings.ui.h:56 +msgid "" +"Few customizations meant to integrate the dock with the default GNOME theme. " +"Alternatively, specific options can be enabled below." +msgstr "" +"Utilizar el tema predeterminado de GNOME. Alternativamente, pueden elegirse " +"ciertas opciones más abajo." + +#: Settings.ui.h:57 +msgid "Use built-in theme" +msgstr "Utilizar el tema incorporado" + +#: Settings.ui.h:58 +msgid "Save space reducing padding and border radius." +msgstr "Reducir los márgenes para ganar espacio" + +#: Settings.ui.h:59 +msgid "Shrink the dash" +msgstr "Encoger el tablero" + +#: Settings.ui.h:60 +msgid "Customize windows counter indicators" +msgstr "Personalizar los contadores de ventanas" + +#: Settings.ui.h:61 +msgid "Default" +msgstr "Predeterminado" + +#: Settings.ui.h:62 +msgid "Dots" +msgstr "Puntos" + +#: Settings.ui.h:63 +msgid "Squares" +msgstr "Cuadrados" + +#: Settings.ui.h:64 +msgid "Dashes" +msgstr "Rayas" + +#: Settings.ui.h:65 +msgid "Segmented" +msgstr "Segmentado" + +#: Settings.ui.h:66 +msgid "Solid" +msgstr "Sólido" + +#: Settings.ui.h:67 +msgid "Ciliora" +msgstr "Ciliora" + +#: Settings.ui.h:68 +msgid "Metro" +msgstr "Metro" + +#: Settings.ui.h:69 +msgid "Set the background color for the dash." +msgstr "Escoger el color de fondo del dock." + +#: Settings.ui.h:70 +msgid "Customize the dash color" +msgstr "Personalizar el color del dock" + +#: Settings.ui.h:71 +msgid "Tune the dash background opacity." +msgstr "Ajustar la opacidad del fondo del dock." + +#: prefs.js:792 Settings.ui.h:72 +msgid "Customize opacity" +msgstr "Personalizar opacidad" + +#: Settings.ui.h:73 +msgid "Fixed" +msgstr "Fijo" + +#: Settings.ui.h:74 +msgid "Dynamic" +msgstr "Dinámico" + +#: Settings.ui.h:75 +msgid "Opacity" +msgstr "Opacidad" + +#: Settings.ui.h:76 +msgid "Force straight corner" +msgstr "Forzar esquinas rectas" + +#: Settings.ui.h:78 +msgid "Appearance" +msgstr "Apariencia" + +#: Settings.ui.h:79 +msgid "version: " +msgstr "versión: " + +#: Settings.ui.h:80 +msgid "Moves the dash out of the overview transforming it in a dock" +msgstr "" +"Mueve el panel fuera de la vista de actividades trasformándolo en un dock" + +#: Settings.ui.h:81 +msgid "Created by" +msgstr "Creado por" + +#: Settings.ui.h:82 +msgid "Webpage" +msgstr "Sitio web" + +#: Settings.ui.h:83 +msgid "" +"This program comes with ABSOLUTELY NO WARRANTY.\n" +"See the GNU General Public License, version 2 or later for details." +msgstr "" +"Este programa viene SIN NINGUNA GARANTÍA.\n" +"Consulte la Licencia Pública General de GNU, versión 2 o posterior para obtener " +"más detalles." + +#: Settings.ui.h:85 +msgid "About" +msgstr "Acerca de" + +#: Settings.ui.h:86 +msgid "Customize minimum and maximum opacity values" +msgstr "Personalizar los valores mínimo y máximo de opacidad" + +#: Settings.ui.h:87 +msgid "Minimum opacity" +msgstr "Opacidad mínima" + +#: Settings.ui.h:88 +msgid "Maximum opacity" +msgstr "Opacidad máxima" + +#: Settings.ui.h:89 +msgid "Number overlay" +msgstr "Número sobrepuesto" + +#: Settings.ui.h:90 +msgid "" +"Temporarily show the application numbers over the icons, corresponding to " +"the shortcut." +msgstr "" +"Al usar atajos, mostrar momentáneamente el número de aplicación sobre los " +"iconos." + +#: Settings.ui.h:91 +msgid "Show the dock if it is hidden" +msgstr "Mostrar el dock si está oculto" + +#: Settings.ui.h:92 +msgid "" +"If using autohide, the dock will appear for a short time when triggering the " +"shortcut." +msgstr "" +"Si se activa el ocultamiento automático, el dock aparecerá momentáneamente " +"al usar el atajo." + +#: Settings.ui.h:93 +msgid "Shortcut for the options above" +msgstr "Atajo para las opciones anteriores" + +#: Settings.ui.h:94 +msgid "Syntax: , , , " +msgstr "Sintaxis: , , , " + +#: Settings.ui.h:95 +msgid "Hide timeout (s)" +msgstr "Tiempo de ocultación (s)" + +#: Settings.ui.h:96 +msgid "Show the dock by mouse hover on the screen edge." +msgstr "Mostrar el dock al mover el puntero al borde de la pantalla" + +#: Settings.ui.h:97 +msgid "Autohide" +msgstr "Ocultar automáticamente" + +#: Settings.ui.h:98 +msgid "Push to show: require pressure to show the dock" +msgstr "Empujar para mostrar: requiere hacer presión para mostrar el dock" + +#: Settings.ui.h:99 +msgid "Enable in fullscreen mode" +msgstr "Activar en modo de pantalla completa" + +#: Settings.ui.h:100 +msgid "Show the dock when it doesn't obstruct application windows." +msgstr "Mostrar el dock cuando no cubra otras ventanas de aplicaciones." + +#: Settings.ui.h:101 +msgid "Dodge windows" +msgstr "Esquivar las ventanas" + +#: Settings.ui.h:102 +msgid "All windows" +msgstr "Todas las ventanas" + +#: Settings.ui.h:103 +msgid "Only focused application's windows" +msgstr "Solo las ventanas de la aplicación activa" + +#: Settings.ui.h:104 +msgid "Only maximized windows" +msgstr "Solo las ventanas maximizadas" + +#: Settings.ui.h:105 +msgid "Animation duration (s)" +msgstr "Duración de la animación (s)" + +#: Settings.ui.h:106 +msgid "Show timeout (s)" +msgstr "Tiempo de aparición (s)" + +#: Settings.ui.h:107 +msgid "Pressure threshold" +msgstr "Nivel de presión" + +#: Settings.ui.h:108 +msgid "Show trash can" +msgstr "Mostrar el icono Papelera" + +#: Settings.ui.h:109 +msgid "Show mounted volumes and devices" +msgstr "Mostrar los dispositivos montados" diff --git a/extensions/dash-to-dock/po/eu.po b/extensions/dash-to-dock/po/eu.po new file mode 100644 index 00000000..fa780b1b --- /dev/null +++ b/extensions/dash-to-dock/po/eu.po @@ -0,0 +1,543 @@ +# Dash to Dock Basque translation. +# This file is distributed under the same license as the Dash to Dock package. +# Ibai Oihanguren Sala , 2020. +# +msgid "" +msgstr "" +"Project-Id-Version: \n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2020-03-22 23:54+0100\n" +"PO-Revision-Date: 2020-03-22 23:54+0100\n" +"Last-Translator: Ibai Oihanguren Sala \n" +"Language-Team: \n" +"Language: eu\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: prefs.js:268 +msgid "Primary monitor" +msgstr "Monitore nagusia" + +#: prefs.js:277 prefs.js:284 +msgid "Secondary monitor " +msgstr "Bigarren monitorea " + +#: prefs.js:309 Settings.ui.h:29 +msgid "Right" +msgstr "Eskuinean" + +#: prefs.js:310 Settings.ui.h:26 +msgid "Left" +msgstr "Ezkerrean" + +#: prefs.js:360 +msgid "Intelligent autohide customization" +msgstr "Ezkutatze adimentsuaren pertsonalizazioa" + +#: prefs.js:367 prefs.js:560 prefs.js:616 +msgid "Reset to defaults" +msgstr "Berrezarri balio lehenetsiak" + +#: prefs.js:553 +msgid "Show dock and application numbers" +msgstr "Erakutsi atrakea eta aplikazioen zenbakiak" + +#: prefs.js:609 +msgid "Customize middle-click behavior" +msgstr "Pertsonalizatu erdiko klikaren portaera" + +#: prefs.js:692 +msgid "Customize running indicators" +msgstr "Pertsonalizatu martxan egotearen adierazleak" + +#: prefs.js:804 Settings.ui.h:75 +msgid "Customize opacity" +msgstr "Pertsonalizatu opakutasuna" + +#: appIcons.js:792 +msgid "All Windows" +msgstr "Leiho guztiak" + +#. Translators: %s is "Settings", which is automatically translated. You +#. can also translate the full message if this fits better your language. +#: appIcons.js:1119 +#, javascript-format +msgid "Dash to Dock %s" +msgstr "Dash to Dock %s" + +#: locations.js:65 +msgid "Trash" +msgstr "Zakarrontzia" + +#: locations.js:74 +msgid "Empty Trash" +msgstr "Hustu zakarrontzia" + +#: locations.js:189 +msgid "Mount" +msgstr "Muntatu" + +#: locations.js:232 +msgid "Eject" +msgstr "Egotzi" + +#: locations.js:237 +msgid "Unmount" +msgstr "Desmuntatu" + +#: Settings.ui.h:1 +msgid "" +"When set to minimize, double clicking minimizes all the windows of the " +"application." +msgstr "" +"Minimizatzea hautatuz gero, klik bikoitzak aplikazioaren leiho guztiak " +"minimizatzen ditu." + +#: Settings.ui.h:2 +msgid "Shift+Click action" +msgstr "Maius+Klik ekintza" + +#: Settings.ui.h:3 +msgid "Raise window" +msgstr "Goratu leihoa" + +#: Settings.ui.h:4 +msgid "Minimize window" +msgstr "Minimizatu leihoa" + +#: Settings.ui.h:5 +msgid "Launch new instance" +msgstr "Abiarazi instantzia berria" + +#: Settings.ui.h:6 +msgid "Cycle through windows" +msgstr "Txandakatu leihoak" + +#: Settings.ui.h:7 +msgid "Minimize or overview" +msgstr "Minimizatu edo ikuspegi orokorra" + +#: Settings.ui.h:8 +msgid "Show window previews" +msgstr "Erakutsi leihoen aurrebistak" + +#: Settings.ui.h:9 +msgid "Minimize or show previews" +msgstr "Minimizatu edo erakutsi aurrebistak" + +#: Settings.ui.h:10 +msgid "Focus or show previews" +msgstr "Fokuratu edo erakutsi aurrebistak" + +#: Settings.ui.h:11 +msgid "Quit" +msgstr "Irten" + +#: Settings.ui.h:12 +msgid "Behavior for Middle-Click." +msgstr "Erdiko klikaren portaera" + +#: Settings.ui.h:13 +msgid "Middle-Click action" +msgstr "Erdiko klikaren ekintza" + +#: Settings.ui.h:14 +msgid "Behavior for Shift+Middle-Click." +msgstr "Maius+Erdiko klikaren portaera" + +#: Settings.ui.h:15 +msgid "Shift+Middle-Click action" +msgstr "Maius+Erdiko klikaren ekintza" + +#: Settings.ui.h:16 +msgid "Enable Unity7 like glossy backlit items" +msgstr "Gaitu Unity7 erako atzeko argidun elementu distiratsuak" + +#: Settings.ui.h:17 +msgid "Apply glossy effect." +msgstr "Aplikatu efektu distiratsua." + +#: Settings.ui.h:18 +msgid "Use dominant color" +msgstr "Erabili kolore nagusia" + +#: Settings.ui.h:19 +msgid "Customize indicator style" +msgstr "Pertsonalizatu adierazleen estiloa" + +#: Settings.ui.h:20 +msgid "Color" +msgstr "Kolorea" + +#: Settings.ui.h:21 +msgid "Border color" +msgstr "Ertzaren kolorea" + +#: Settings.ui.h:22 +msgid "Border width" +msgstr "Ertzaren zabalera" + +#: Settings.ui.h:23 +msgid "Show the dock on" +msgstr "Erakutsi atrakea hemen" + +#: Settings.ui.h:24 +msgid "Show on all monitors." +msgstr "Erakutsi monitore guztietan." + +#: Settings.ui.h:25 +msgid "Position on screen" +msgstr "Pantailako posizioa" + +#: Settings.ui.h:27 +msgid "Bottom" +msgstr "Behean" + +#: Settings.ui.h:28 +msgid "Top" +msgstr "Goian" + +#: Settings.ui.h:30 +msgid "" +"Hide the dock when it obstructs a window of the current application. More " +"refined settings are available." +msgstr "" +"Ezkutatu atrakea uneko aplikazioaren leiho bat eragozten duenean. Ezarpen " +"zehatzagoak erabilgarri daude." + +#: Settings.ui.h:31 +msgid "Intelligent autohide" +msgstr "Ezkutatze adimentsua" + +#: Settings.ui.h:32 +msgid "Dock size limit" +msgstr "Atrakearen tamaina-muga" + +#: Settings.ui.h:33 +msgid "Panel mode: extend to the screen edge" +msgstr "Panel modua: hedatu pantailaren ertzetara" + +#: Settings.ui.h:34 +msgid "Icon size limit" +msgstr "Ikonoen tamaina-muga" + +#: Settings.ui.h:35 +msgid "Fixed icon size: scroll to reveal other icons" +msgstr "Ikono-tamaina finkoa: korritu beste ikonoak erakusteko" + +#: Settings.ui.h:36 +msgid "Position and size" +msgstr "Posizioa eta tamaina" + +#: Settings.ui.h:37 +msgid "Show favorite applications" +msgstr "Erakutsi gogoko aplikazioak" + +#: Settings.ui.h:38 +msgid "Show running applications" +msgstr "Erakutsi martxan dauden aplikazioak" + +#: Settings.ui.h:39 +msgid "Isolate workspaces." +msgstr "Isolatu laneako areak." + +#: Settings.ui.h:40 +msgid "Isolate monitors." +msgstr "Isolatu monitoreak." + +#: Settings.ui.h:41 +msgid "Show open windows previews." +msgstr "Erakutsi irekitako leihoen aurrebistak." + +#: Settings.ui.h:42 +msgid "" +"If disabled, these settings are accessible from gnome-tweak-tool or the " +"extension website." +msgstr "" +"Desgaituz gero, ezarpen hauek gnome-tweak-tool aplikazioan edo hedapenen " +"webgunean daude erabilgarri." + +#: Settings.ui.h:43 +msgid "Show Applications icon" +msgstr "Erakutsi Aplikazioak ikonoa" + +#: Settings.ui.h:44 +msgid "Move the applications button at the beginning of the dock." +msgstr "Eraman aplikazioen botoia atrakearen hasierara." + +#: Settings.ui.h:45 +msgid "Animate Show Applications." +msgstr "Animatu Erakutsi aplikazioak ekintza." + +#: Settings.ui.h:46 +msgid "Show trash can" +msgstr "Erakutsi zakarrontzia" + +#: Settings.ui.h:47 +msgid "Show mounted volumes and devices" +msgstr "Erakutsi muntatutako bolumen eta gailuak" + +#: Settings.ui.h:48 +msgid "Launchers" +msgstr "Abiarazleak" + +#: Settings.ui.h:49 +msgid "" +"Enable Super+(0-9) as shortcuts to activate apps. It can also be used " +"together with Shift and Ctrl." +msgstr "" +"Gaitu Super+(0-9) aplikazioak aktibatzeko laster-tekla gisa. Maius eta Ktrl " +"teklekin batera ere erabil daiteke." + +#: Settings.ui.h:50 +msgid "Use keyboard shortcuts to activate apps" +msgstr "Erabili laster-teklak aplikazioak aktibatzeko" + +#: Settings.ui.h:51 +msgid "Behaviour when clicking on the icon of a running application." +msgstr "Martxan dagoen aplikazio baten ikonoak klik egitean duen portaera." + +#: Settings.ui.h:52 +msgid "Click action" +msgstr "Klik ekintza" + +#: Settings.ui.h:53 +msgid "Minimize" +msgstr "Minimizatu" + +#: Settings.ui.h:54 +msgid "Behaviour when scrolling on the icon of an application." +msgstr "Aplikazio baten ikonoaren gainean sagua korritzean duen portaera." + +#: Settings.ui.h:55 +msgid "Scroll action" +msgstr "Korritze-ekintza" + +#: Settings.ui.h:56 +msgid "Do nothing" +msgstr "Ez egin ezer" + +#: Settings.ui.h:57 +msgid "Switch workspace" +msgstr "Aldatu laneko areaz" + +#: Settings.ui.h:58 +msgid "Behavior" +msgstr "Portaera" + +#: Settings.ui.h:59 +msgid "" +"Few customizations meant to integrate the dock with the default GNOME theme. " +"Alternatively, specific options can be enabled below." +msgstr "" +"Atrakea GNOMEren gai lehenetsiarekin integratzeko ezarritako pertsonalizazio " +"txikiak. Honen ordez aukera zehatzak gaitu daitezke jarraian." + +#: Settings.ui.h:60 +msgid "Use built-in theme" +msgstr "Erabili integrazio gaia" + +#: Settings.ui.h:61 +msgid "Save space reducing padding and border radius." +msgstr "Hartu leku gutxiago betegarria eta ertzen erradioa txikituz." + +#: Settings.ui.h:62 +msgid "Shrink the dash" +msgstr "Txikiagotu abiarazle-panela" + +#: Settings.ui.h:63 +msgid "Customize windows counter indicators" +msgstr "Pertsonalizatu leiho kopuruen adierazleak" + +#: Settings.ui.h:64 +msgid "Default" +msgstr "Lehenetsia" + +#: Settings.ui.h:65 +msgid "Dots" +msgstr "Puntuak" + +#: Settings.ui.h:66 +msgid "Squares" +msgstr "Laukiak" + +#: Settings.ui.h:67 +msgid "Dashes" +msgstr "Marrak" + +#: Settings.ui.h:68 +msgid "Segmented" +msgstr "Zatikatua" + +#: Settings.ui.h:69 +msgid "Solid" +msgstr "Solidoa" + +#: Settings.ui.h:70 +msgid "Ciliora" +msgstr "Ciliora" + +#: Settings.ui.h:71 +msgid "Metro" +msgstr "Metro" + +#: Settings.ui.h:72 +msgid "Set the background color for the dash." +msgstr "Ezarri abiarazle-panelaren atzeko planoko kolorea" + +#: Settings.ui.h:73 +msgid "Customize the dash color" +msgstr "Personalizatu abiarazle-panelaren kolorea" + +#: Settings.ui.h:74 +msgid "Tune the dash background opacity." +msgstr "Doitu abiarazle-panelaren atzeko planoaren opakutasuna." + +#: Settings.ui.h:76 +msgid "Fixed" +msgstr "Finkoa" + +#: Settings.ui.h:77 +msgid "Dynamic" +msgstr "Dinamikoa" + +#: Settings.ui.h:78 +msgid "Opacity" +msgstr "Opakutasuna" + +#: Settings.ui.h:79 +msgid "Force straight corner\n" +msgstr "Behartu erpin zuzena\n" + +#: Settings.ui.h:80 +msgid "Appearance" +msgstr "Itxura" + +#: Settings.ui.h:81 +msgid "version: " +msgstr "bertsioa: " + +#: Settings.ui.h:82 +msgid "Moves the dash out of the overview transforming it in a dock" +msgstr "Abiarazle-panela ikuspegi orokorretik ateratzen du, atrake bihurtuz" + +#: Settings.ui.h:83 +msgid "Created by" +msgstr "Sortzaileak" + +#: Settings.ui.h:84 +msgid "Webpage" +msgstr "Webgunea" + +#: Settings.ui.h:85 +msgid "" +"This program comes with ABSOLUTELY NO WARRANTY.\n" +"See the GNU General Public License, version 2 or later for " +"details." +msgstr "" +"Programa honek ez du inolako bermerik.\n" +"Xehetasun gehiagorako, ikusi GNUren Lizentzia Publiko Orokorra, 2. bertsioa edo " +"berriagoa" + +#: Settings.ui.h:87 +msgid "About" +msgstr "Honi buruz" + +#: Settings.ui.h:88 +msgid "Customize minimum and maximum opacity values" +msgstr "Pertsonalizatu opakutasun minimo eta maximoa" + +#: Settings.ui.h:89 +msgid "Minimum opacity" +msgstr "Opakutasun minimoa" + +#: Settings.ui.h:90 +msgid "Maximum opacity" +msgstr "Opakutasun maximoa" + +#: Settings.ui.h:91 +msgid "Number overlay" +msgstr "Gainjarritako zenbakiak" + +#: Settings.ui.h:92 +msgid "" +"Temporarily show the application numbers over the icons, corresponding to " +"the shortcut." +msgstr "" +"Erakutsi une batez laster-teklei dagozkien aplikazio-zenbakiak ikonoen " +"gainean." + +#: Settings.ui.h:93 +msgid "Show the dock if it is hidden" +msgstr "Erakutsi atrakea ezkutatua badago" + +#: Settings.ui.h:94 +msgid "" +"If using autohide, the dock will appear for a short time when triggering the " +"shortcut." +msgstr "" +"Ezkutatze automatikoa erabiltzean, laster-tekla sakatuz atrakea une baterako " +"azalduko da." + +#: Settings.ui.h:95 +msgid "Shortcut for the options above" +msgstr "Goiko aukeretarako laster-teklak" + +#: Settings.ui.h:96 +msgid "Syntax: , , , " +msgstr "Sintaxia: , , , " + +#: Settings.ui.h:97 +msgid "Hide timeout (s)" +msgstr "Ezkutatzeko denbora-muga (s)" + +#: Settings.ui.h:98 +msgid "Show the dock by mouse hover on the screen edge." +msgstr "Erakutsi atrakea sagua pantailaren ertzera eramatean." + +#: Settings.ui.h:99 +msgid "Autohide" +msgstr "Ezkutatze automatikoa" + +#: Settings.ui.h:100 +msgid "Push to show: require pressure to show the dock" +msgstr "Bultzatu erakusteko: presio pixka bat egin behar da atrakea erakusteko" + +#: Settings.ui.h:101 +msgid "Enable in fullscreen mode" +msgstr "Gaitu pantaila osoko moduan" + +#: Settings.ui.h:102 +msgid "Show the dock when it doesn't obstruct application windows." +msgstr "Erakutsi atrakea aplikazioaren leihoak eragozten ez dituenean." + +#: Settings.ui.h:103 +msgid "Dodge windows" +msgstr "Saihestu leihoak" + +#: Settings.ui.h:104 +msgid "All windows" +msgstr "Leiho guztiak" + +#: Settings.ui.h:105 +msgid "Only focused application's windows" +msgstr "Fokuratutako aplikazioen leihoetan soilik" + +#: Settings.ui.h:106 +msgid "Only maximized windows" +msgstr "Maximizatutako leihoetan soilik" + +#: Settings.ui.h:107 +msgid "Animation duration (s)" +msgstr "Animazioaren iraupena (s)" + +#: Settings.ui.h:108 +msgid "Show timeout (s)" +msgstr "Erakusteko denbora-muga (s)" + +#: Settings.ui.h:109 +msgid "Pressure threshold" +msgstr "Presio-atalasea" diff --git a/extensions/dash-to-dock/po/fr.po b/extensions/dash-to-dock/po/fr.po new file mode 100644 index 00000000..c5a13e8a --- /dev/null +++ b/extensions/dash-to-dock/po/fr.po @@ -0,0 +1,529 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. +# FIRST AUTHOR , YEAR. +# +msgid "" +msgstr "" +"Project-Id-Version: Dash to Dock\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2019-12-07 16:40+0900\n" +"PO-Revision-Date: 2019-12-07 16:52+0900\n" +"Last-Translator: Julien Humbert \n" +"Language-Team: Jean-Baptiste Le Cz \n" +"Language: fr\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Poedit 2.2.4\n" + +#: prefs.js:268 +msgid "Primary monitor" +msgstr "Moniteur principal" + +#: prefs.js:277 prefs.js:284 +msgid "Secondary monitor " +msgstr "Moniteur secondaire " + +#: prefs.js:309 Settings.ui.h:28 +msgid "Right" +msgstr "Droite" + +#: prefs.js:310 Settings.ui.h:25 +msgid "Left" +msgstr "Gauche" + +#: prefs.js:360 +msgid "Intelligent autohide customization" +msgstr "Personnalisation du masquage automatique" + +#: prefs.js:367 prefs.js:560 prefs.js:616 +msgid "Reset to defaults" +msgstr "Restaurer la configuration par défaut" + +#: prefs.js:553 +msgid "Show dock and application numbers" +msgstr "Afficher le dock et le numéro d’application" + +#: prefs.js:609 +msgid "Customize middle-click behavior" +msgstr "Personnaliser le comportement du clic milieu" + +#: prefs.js:692 +msgid "Customize running indicators" +msgstr "Régler les indicateurs de fenêtres" + +#: prefs.js:804 Settings.ui.h:74 +msgid "Customize opacity" +msgstr "Régler l’opacité du dock" + +#: appIcons.js:810 +msgid "All Windows" +msgstr "Toutes les fenêtres" + +#. Translators: %s is "Settings", which is automatically translated. You +#. can also translate the full message if this fits better your language. +#: appIcons.js:1127 +#, javascript-format +msgid "Dash to Dock %s" +msgstr "Dash to Dock %s" + +#: Settings.ui.h:1 +msgid "" +"When set to minimize, double clicking minimizes all the windows of the " +"application." +msgstr "" +"Quand réglé sur Minimiser, double-cliquer minimise toutes les fenêtres de " +"l’application." + +#: Settings.ui.h:2 +msgid "Shift+Click action" +msgstr "Action Maj+Clic" + +#: Settings.ui.h:3 +msgid "Raise window" +msgstr "Faire apparaître la fenêtre" + +#: Settings.ui.h:4 +msgid "Minimize window" +msgstr "Minimiser la fenêtre" + +#: Settings.ui.h:5 +msgid "Launch new instance" +msgstr "Lancer une nouvelle fenêtre" + +#: Settings.ui.h:6 +msgid "Cycle through windows" +msgstr "Cycler sur les fenêtres" + +#: Settings.ui.h:7 +msgid "Minimize or overview" +msgstr "Minimiser ou lancer l’exposé" + +#: Settings.ui.h:8 +msgid "Show window previews" +msgstr "Afficher des aperçus de fenêtres" + +#: Settings.ui.h:9 +msgid "Minimize or show previews" +msgstr "Minimiser ou afficher l’aperçu des fenêtres" + +#: Settings.ui.h:10 +msgid "Focus or show previews" +msgstr "Activer ou afficher l’aperçu des fenêtres" + +#: Settings.ui.h:11 +msgid "Quit" +msgstr "Quitter" + +#: Settings.ui.h:12 +msgid "Behavior for Middle-Click." +msgstr "Comportement pour le clic milieu." + +#: Settings.ui.h:13 +msgid "Middle-Click action" +msgstr "Action du clic milieu" + +#: Settings.ui.h:14 +msgid "Behavior for Shift+Middle-Click." +msgstr "Comportement pour Maj+Clic milieu." + +#: Settings.ui.h:15 +msgid "Shift+Middle-Click action" +msgstr "Action de Maj+Clic milieu" + +#: Settings.ui.h:16 +msgid "Enable Unity7 like glossy backlit items" +msgstr "Activer un fond brillant à la Unity 7" + +#: Settings.ui.h:17 +msgid "Use dominant color" +msgstr "Utiliser la couleur dominante" + +#: Settings.ui.h:18 +msgid "Customize indicator style" +msgstr "Régler le style des indicateurs" + +#: Settings.ui.h:19 +msgid "Color" +msgstr "Couleur" + +#: Settings.ui.h:20 +msgid "Border color" +msgstr "Couleur de la bordure" + +#: Settings.ui.h:21 +msgid "Border width" +msgstr "Épaisseur de la bordure" + +#: Settings.ui.h:22 +msgid "Show the dock on" +msgstr "Afficher le dock sur le" + +#: Settings.ui.h:23 +msgid "Show on all monitors." +msgstr "Afficher sur tous les écrans." + +#: Settings.ui.h:24 +msgid "Position on screen" +msgstr "Position sur l’écran" + +#: Settings.ui.h:26 +msgid "Bottom" +msgstr "Bas" + +#: Settings.ui.h:27 +msgid "Top" +msgstr "Haut" + +#: Settings.ui.h:29 +msgid "" +"Hide the dock when it obstructs a window of the current application. More " +"refined settings are available." +msgstr "" +"Cache le dock quand il gêne l’application principale. D’autres paramètres " +"plus spécifiques sont disponibles." + +#: Settings.ui.h:30 +msgid "Intelligent autohide" +msgstr "Masquage intelligent" + +#: Settings.ui.h:31 +msgid "Dock size limit" +msgstr "Taille maximum du dock" + +#: Settings.ui.h:32 +msgid "Panel mode: extend to the screen edge" +msgstr "Mode barre : étendre aux bords de l’écran" + +#: Settings.ui.h:33 +msgid "Icon size limit" +msgstr "Taille maximum des icônes" + +#: Settings.ui.h:34 +msgid "Fixed icon size: scroll to reveal other icons" +msgstr "Taille des icônes fixe : faire défiler pour voir les autres icônes" + +#: Settings.ui.h:35 +msgid "Position and size" +msgstr "Position et taille" + +#: Settings.ui.h:36 +msgid "Show favorite applications" +msgstr "Afficher les applications favorites" + +#: Settings.ui.h:37 +msgid "Show running applications" +msgstr "Afficher les applications en cours" + +#: Settings.ui.h:38 +msgid "Isolate workspaces." +msgstr "Isoler les espaces de travail." + +#: Settings.ui.h:39 +msgid "Isolate monitors." +msgstr "Isoler les moniteurs." + +#: Settings.ui.h:40 +msgid "Show open windows previews." +msgstr "Afficher des aperçus de fenêtres." + +#: Settings.ui.h:41 +msgid "" +"If disabled, these settings are accessible from gnome-tweak-tool or the " +"extension website." +msgstr "" +"Si désactivés, ces paramètres sont accessibles via gnome-tweak-tool ou le " +"site d’extension GNOME." + +#: Settings.ui.h:42 +msgid "Show Applications icon" +msgstr "Afficher le raccourci Afficher les Applications" + +#: Settings.ui.h:43 +msgid "Move the applications button at the beginning of the dock." +msgstr "Placer le bouton des applications en première position." + +#: Settings.ui.h:44 +msgid "Animate Show Applications." +msgstr "Animer le raccourci Afficher les Applications." + +#: Settings.ui.h:45 +msgid "Show trash can" +msgstr "Afficher la corbeille" + +#: Settings.ui.h:46 +msgid "Show mounted volumes and devices" +msgstr "Afficher les appareils et volumes montés" + +#: Settings.ui.h:47 +msgid "Launchers" +msgstr "Lanceurs" + +#: Settings.ui.h:48 +msgid "" +"Enable Super+(0-9) as shortcuts to activate apps. It can also be used " +"together with Shift and Ctrl." +msgstr "" +"Activer Super+(0-9) comme raccourcis pour activer les applications. On peut " +"l’utiliser aussi avec Maj et Ctrl." + +#: Settings.ui.h:49 +msgid "Use keyboard shortcuts to activate apps" +msgstr "Utiliser des raccourcis clavier pour activer les applications" + +#: Settings.ui.h:50 +msgid "Behaviour when clicking on the icon of a running application." +msgstr "Comportement du clic sur l’icône d’une application ouverte." + +#: Settings.ui.h:51 +msgid "Click action" +msgstr "Action du clic" + +#: Settings.ui.h:52 +msgid "Minimize" +msgstr "Minimiser la fenêtre" + +#: Settings.ui.h:53 +msgid "Behaviour when scrolling on the icon of an application." +msgstr "Comportement lors du défilement sur l’icône d’une application." + +#: Settings.ui.h:54 +msgid "Scroll action" +msgstr "Action du défilement" + +#: Settings.ui.h:55 +msgid "Do nothing" +msgstr "Ne rien faire" + +#: Settings.ui.h:56 +msgid "Switch workspace" +msgstr "Changer d’espace de travail" + +#: Settings.ui.h:57 +msgid "Behavior" +msgstr "Comportement" + +#: Settings.ui.h:58 +msgid "" +"Few customizations meant to integrate the dock with the default GNOME theme. " +"Alternatively, specific options can be enabled below." +msgstr "" +"Assortir le dock avec le thème par défaut. Sinon, vous pouvez personnaliser " +"quelques paramètres ci-dessous." + +#: Settings.ui.h:59 +msgid "Use built-in theme" +msgstr "Utiliser le thème par défaut" + +#: Settings.ui.h:60 +msgid "Save space reducing padding and border radius." +msgstr "Réduire la taille des marges pour gagner de la place." + +#: Settings.ui.h:61 +msgid "Shrink the dash" +msgstr "Réduire les marges" + +#: Settings.ui.h:62 +msgid "Customize windows counter indicators" +msgstr "Personnaliser l’indicateur du compteur de fenêtres" + +#: Settings.ui.h:63 +msgid "Default" +msgstr "Défaut" + +#: Settings.ui.h:64 +msgid "Dots" +msgstr "Points" + +#: Settings.ui.h:65 +msgid "Squares" +msgstr "Carrés" + +#: Settings.ui.h:66 +msgid "Dashes" +msgstr "Tirets" + +#: Settings.ui.h:67 +msgid "Segmented" +msgstr "Segments" + +#: Settings.ui.h:68 +msgid "Solid" +msgstr "Solides" + +#: Settings.ui.h:69 +msgid "Ciliora" +msgstr "Ciliora" + +#: Settings.ui.h:70 +msgid "Metro" +msgstr "Métro" + +#: Settings.ui.h:71 +msgid "Set the background color for the dash." +msgstr "Choisir la couleur de fond du dock." + +#: Settings.ui.h:72 +msgid "Customize the dash color" +msgstr "Changer la couleur du dock" + +#: Settings.ui.h:73 +msgid "Tune the dash background opacity." +msgstr "Régler l’opacité en fond du dock." + +#: Settings.ui.h:75 +msgid "Fixed" +msgstr "Fixe" + +#: Settings.ui.h:76 +msgid "Dynamic" +msgstr "Dynamique" + +#: Settings.ui.h:77 +msgid "Opacity" +msgstr "Opacité" + +#: Settings.ui.h:78 +msgid "Force straight corner\n" +msgstr "Forcer des coins droits\n" + +#: Settings.ui.h:80 +msgid "Appearance" +msgstr "Apparence" + +#: Settings.ui.h:81 +msgid "version: " +msgstr "Version : " + +#: Settings.ui.h:82 +msgid "Moves the dash out of the overview transforming it in a dock" +msgstr "Place le dash hors de l’aperçu des fenêtres, le transformant en dock" + +#: Settings.ui.h:83 +msgid "Created by" +msgstr "Conçu par" + +#: Settings.ui.h:84 +msgid "Webpage" +msgstr "Site web" + +#: Settings.ui.h:85 +msgid "" +"This program comes with ABSOLUTELY NO WARRANTY.\n" +"See the GNU General Public License, version 2 or later for details." +msgstr "" +"Ce programme est distribué SANS AUCUNE GARANTIE.\n" +"Consultez la Licence Générale Publique GNU version 2 ou plus récente pour plus " +"d’informations." + +#: Settings.ui.h:87 +msgid "About" +msgstr "À propos" + +#: Settings.ui.h:88 +msgid "Customize minimum and maximum opacity values" +msgstr "Personnaliser les valeurs minimum et maximum de l’opacité" + +#: Settings.ui.h:89 +msgid "Minimum opacity" +msgstr "Opacité minimum" + +#: Settings.ui.h:90 +msgid "Maximum opacity" +msgstr "Opacité maximum" + +#: Settings.ui.h:91 +msgid "Number overlay" +msgstr "Numéro d’application" + +#: Settings.ui.h:92 +msgid "" +"Temporarily show the application numbers over the icons, corresponding to " +"the shortcut." +msgstr "" +"Afficher temporairement les numéros d’application sur les icônes, " +"correspondant au raccourci clavier." + +#: Settings.ui.h:93 +msgid "Show the dock if it is hidden" +msgstr "Afficher le dock s’il est caché" + +#: Settings.ui.h:94 +msgid "" +"If using autohide, the dock will appear for a short time when triggering the " +"shortcut." +msgstr "" +"Si le masquage automatique est actif, le dock apparaîtra temporairement lors " +"de l’utilisation du raccourci." + +#: Settings.ui.h:95 +msgid "Shortcut for the options above" +msgstr "Raccourci pour les options dessus" + +#: Settings.ui.h:96 +msgid "Syntax: , , , " +msgstr "Syntaxe : , , , " + +#: Settings.ui.h:97 +msgid "Hide timeout (s)" +msgstr "Délai de masquage (s)" + +#: Settings.ui.h:98 +msgid "Show the dock by mouse hover on the screen edge." +msgstr "Afficher le dock en survolant le bord de l’écran." + +#: Settings.ui.h:99 +msgid "Autohide" +msgstr "Masquage automatique" + +#: Settings.ui.h:100 +msgid "Push to show: require pressure to show the dock" +msgstr "Pousser pour Afficher : requiert une pression pour afficher le dock" + +#: Settings.ui.h:101 +msgid "Enable in fullscreen mode" +msgstr "Activer en mode plein-écran" + +#: Settings.ui.h:102 +msgid "Show the dock when it doesn't obstruct application windows." +msgstr "Afficher le dock quand il ne gêne pas les fenêtres." + +#: Settings.ui.h:103 +msgid "Dodge windows" +msgstr "Masquage automatique intelligent" + +#: Settings.ui.h:104 +msgid "All windows" +msgstr "Toutes les fenêtres" + +#: Settings.ui.h:105 +msgid "Only focused application's windows" +msgstr "Seulement la fenêtre de l’application active" + +#: Settings.ui.h:106 +msgid "Only maximized windows" +msgstr "Seulement les fenêtres maximisées" + +#: Settings.ui.h:107 +msgid "Animation duration (s)" +msgstr "Durée de l’animation (s)" + +#: Settings.ui.h:108 +msgid "Show timeout (s)" +msgstr "Délai d’apparition (s)" + +#: Settings.ui.h:109 +msgid "Pressure threshold" +msgstr "Seuil de pression" + +#~ msgid "Adaptive" +#~ msgstr "Adaptatif" + +#~ msgid "Show a dot for each windows of the application." +#~ msgstr "Afficher un point pour chaque fenêtre ouverte de l’application." + +#~ msgid "0.000" +#~ msgstr "0.000" diff --git a/extensions/dash-to-dock/po/gl.po b/extensions/dash-to-dock/po/gl.po new file mode 100644 index 00000000..15f8122f --- /dev/null +++ b/extensions/dash-to-dock/po/gl.po @@ -0,0 +1,438 @@ +# Dash to Dock galician translation. +# This file is distributed under the same license as the Dash to Dock package. +# Xosé M. Lamas , 2018. +# +msgid "" +msgstr "" +"Project-Id-Version: \n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2018-03-30 11:27-0400\n" +"PO-Revision-Date: 2018-03-30 16:42-0500\n" +"Last-Translator: Xosé M. Lamas \n" +"Language-Team: \n" +"Language: gl\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Poedit 2.0.3\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#: prefs.js:113 +msgid "Primary monitor" +msgstr "Monitor principal" + +#: prefs.js:122 prefs.js:129 +msgid "Secondary monitor " +msgstr "Monitor secundario" + +#: prefs.js:154 Settings.ui.h:29 +msgid "Right" +msgstr "Dereita" + +#: prefs.js:155 Settings.ui.h:26 +msgid "Left" +msgstr "Esquerda" + +#: prefs.js:205 +msgid "Intelligent autohide customization" +msgstr "Personalización de agochamento intelixente" + +#: prefs.js:212 prefs.js:393 prefs.js:450 +msgid "Reset to defaults" +msgstr "Restablecer aos valores por omisión" + +#: prefs.js:386 +msgid "Show dock and application numbers" +msgstr "Mostrar dock e números do aplicativo" + +#: prefs.js:443 +msgid "Customize middle-click behavior" +msgstr "Personalizar comportamento do botón central" + +#: prefs.js:514 +msgid "Customize running indicators" +msgstr "Personalizar indicadores en execución" + +#: appIcons.js:804 +msgid "All Windows" +msgstr "Todas as ventás" + +#: Settings.ui.h:1 +msgid "Customize indicator style" +msgstr "Personalizar estilo do indicador" + +#: Settings.ui.h:2 +msgid "Color" +msgstr "Cor" + +#: Settings.ui.h:3 +msgid "Border color" +msgstr "Cor do borde" + +#: Settings.ui.h:4 +msgid "Border width" +msgstr "Ancho do borde" + +#: Settings.ui.h:5 +msgid "Number overlay" +msgstr "Número na vista extendida" + +#: Settings.ui.h:6 +msgid "" +"Temporarily show the application numbers over the icons, corresponding to " +"the shortcut." +msgstr "" +"Mostrar brevemente o número de aplicativo sobre a icona que corresponda " +"ao atallo." + +#: Settings.ui.h:7 +msgid "Show the dock if it is hidden" +msgstr "Mostrar o dock si está agochado" + +#: Settings.ui.h:8 +msgid "" +"If using autohide, the dock will appear for a short time when triggering the " +"shortcut." +msgstr "" +"Si se activa o agochamento automático, o dock aparecerá brevemente " +"ao utilizar o atallo." + +#: Settings.ui.h:9 +msgid "Shortcut for the options above" +msgstr "Atallo para os axustes de arriba" + +#: Settings.ui.h:10 +msgid "Syntax: , , , " +msgstr "Sintaxe: , , , " + +#: Settings.ui.h:11 +msgid "Hide timeout (s)" +msgstr "Tempo en agocharse (s)" + +#: Settings.ui.h:12 +msgid "" +"When set to minimize, double clicking minimizes all the windows of the " +"application." +msgstr "" +"Cando se establece minimizar, facendo duplo click minimiza todas as ventás " +"do aplicativo." + +#: Settings.ui.h:13 +msgid "Shift+Click action" +msgstr "Acción de Maiús + pulsación" + +#: Settings.ui.h:14 +msgid "Raise window" +msgstr "Elevar ventá" + +#: Settings.ui.h:15 +msgid "Minimize window" +msgstr "Minimizar ventá" + +#: Settings.ui.h:16 +msgid "Launch new instance" +msgstr "Iniciar unha nova instancia" + +#: Settings.ui.h:17 +msgid "Cycle through windows" +msgstr "Alternar entre ventás" + +#: Settings.ui.h:18 +msgid "Quit" +msgstr "Saír" + +#: Settings.ui.h:19 +msgid "Behavior for Middle-Click." +msgstr "Comportamento do botón central" + +#: Settings.ui.h:20 +msgid "Middle-Click action" +msgstr "Acción do botón central" + +#: Settings.ui.h:21 +msgid "Behavior for Shift+Middle-Click." +msgstr "Comportamento de Maiús + botón central" + +#: Settings.ui.h:22 +msgid "Shift+Middle-Click action" +msgstr "Acción de Maiús + botón central" + +#: Settings.ui.h:23 +msgid "Show the dock on" +msgstr "Mostrar o dock en" + +#: Settings.ui.h:24 +msgid "Show on all monitors." +msgstr "Mostrar en todos os monitores." + +#: Settings.ui.h:25 +msgid "Position on screen" +msgstr "Posición na pantalla" + +#: Settings.ui.h:27 +msgid "Bottom" +msgstr "Inferior" + +#: Settings.ui.h:28 +msgid "Top" +msgstr "Superior" + +#: Settings.ui.h:30 +msgid "" +"Hide the dock when it obstructs a window of the current application. More " +"refined settings are available." +msgstr "" +"Agochar o dock cando obstrúe a ventá do aplicativo actual. Dispoñibles " +"máis opcións." + +#: Settings.ui.h:31 +msgid "Intelligent autohide" +msgstr "Agochamento automático intelixente" + +#: Settings.ui.h:32 +msgid "Dock size limit" +msgstr "Tamaño máximo do dock" + +#: Settings.ui.h:33 +msgid "Panel mode: extend to the screen edge" +msgstr "Modo panel: extender ate os bordes da pantalla" + +#: Settings.ui.h:34 +msgid "Icon size limit" +msgstr "Tamaño máximo das iconas" + +#: Settings.ui.h:35 +msgid "Fixed icon size: scroll to reveal other icons" +msgstr "Tamaño fixo das iconas: desprazarse para mostrar outros" + +#: Settings.ui.h:36 +msgid "Position and size" +msgstr "Posición e tamaño" + +#: Settings.ui.h:37 +msgid "Show favorite applications" +msgstr "Mostrar aplicativos favoritos" + +#: Settings.ui.h:38 +msgid "Show running applications" +msgstr "Mostrar aplicativos en execución" + +#: Settings.ui.h:39 +msgid "Isolate workspaces." +msgstr "Illar os espazos de traballo." + +#: Settings.ui.h:40 +msgid "Show open windows previews." +msgstr "Mostrar vista rápida de ventás." + +#: Settings.ui.h:41 +msgid "" +"If disabled, these settings are accessible from gnome-tweak-tool or the " +"extension website." +msgstr "" +"Si está deshabilitado, estas opcions están dispoñibles desde gnome-tweak-tool " +"ou desde o sitio web de extensións." + +#: Settings.ui.h:42 +msgid "Show Applications icon" +msgstr "Mostrar a icona Aplicativos" + +#: Settings.ui.h:43 +msgid "Move the applications button at the beginning of the dock." +msgstr "Mover o botón de aplicativos ao principio do dock" + +#: Settings.ui.h:44 +msgid "Animate Show Applications." +msgstr "Animar Mostrar aplicativos" + +#: Settings.ui.h:45 +msgid "Launchers" +msgstr "Lanzadores" + +#: Settings.ui.h:46 +msgid "" +"Enable Super+(0-9) as shortcuts to activate apps. It can also be used " +"together with Shift and Ctrl." +msgstr "" +"Habilitar Súper+(0-9) como atallos para activar aplicativos. Tamén puede " +"ser utilizado xunto con Maiús e Ctrl." + +#: Settings.ui.h:47 +msgid "Use keyboard shortcuts to activate apps" +msgstr "Usar atallos de teclado para activar aplicativos" + +#: Settings.ui.h:48 +msgid "Behaviour when clicking on the icon of a running application." +msgstr "Comportamiento ao pulsar na icona de un aplicativo en execución." + +#: Settings.ui.h:49 +msgid "Click action" +msgstr "Acción de pulsación" + +#: Settings.ui.h:50 +msgid "Minimize" +msgstr "Minimizar" + +#: Settings.ui.h:51 +msgid "Minimize or overview" +msgstr "Minimizar ou vista de actividades" + +#: Settings.ui.h:52 +msgid "Behaviour when scrolling on the icon of an application." +msgstr "Comportamiento ao utilizar a roda sobre a icona de un aplicativo." + +#: Settings.ui.h:53 +msgid "Scroll action" +msgstr "Acción de desprazamento" + +#: Settings.ui.h:54 +msgid "Do nothing" +msgstr "Non facer nada" + +#: Settings.ui.h:55 +msgid "Switch workspace" +msgstr "Cambiar de espazo de traballo." + +#: Settings.ui.h:56 +msgid "Behavior" +msgstr "Comportamento" + +#: Settings.ui.h:57 +msgid "" +"Few customizations meant to integrate the dock with the default GNOME theme. " +"Alternatively, specific options can be enabled below." +msgstr "" +"Utilizar o decorado predeterminado de GNOME. De xeito alternativo, poden habilitarse " +"certos axustes aquí abaixo." + +#: Settings.ui.h:58 +msgid "Use built-in theme" +msgstr "Utilizar o decorado incorporado" + +#: Settings.ui.h:59 +msgid "Save space reducing padding and border radius." +msgstr "Reducir as marxes para gañar espazo." + +#: Settings.ui.h:60 +msgid "Shrink the dash" +msgstr "Comprimir o taboleiro" + +#: Settings.ui.h:61 +msgid "Show a dot for each windows of the application." +msgstr "Mostrar un punto por cada ventá do aplicativo." + +#: Settings.ui.h:62 +msgid "Show windows counter indicators" +msgstr "Mostrar contador de ventás" + +#: Settings.ui.h:63 +msgid "Set the background color for the dash." +msgstr "Escoller a cor de fondo do taboleiro." + +#: Settings.ui.h:64 +msgid "Customize the dash color" +msgstr "Personalizar a cor do dock" + +#: Settings.ui.h:65 +msgid "Tune the dash background opacity." +msgstr "Axustar a opacidade do fondo." + +#: Settings.ui.h:66 +msgid "Customize opacity" +msgstr "Personalizar opacidade" + +#: Settings.ui.h:67 +msgid "Opacity" +msgstr "Opacidade" + +#: Settings.ui.h:68 +msgid "Force straight corner\n" +msgstr "Forzar esquinas rectas\n" + +#: Settings.ui.h:70 +msgid "Appearance" +msgstr "Aparencia" + +#: Settings.ui.h:71 +msgid "version: " +msgstr "versión: " + +#: Settings.ui.h:72 +msgid "Moves the dash out of the overview transforming it in a dock" +msgstr "" +"Move o panel da vista de actividades transformándoo nun dock" + +#: Settings.ui.h:73 +msgid "Created by" +msgstr "Creado por" + +#: Settings.ui.h:74 +msgid "Webpage" +msgstr "Sitio web" + +#: Settings.ui.h:75 +msgid "" +"This program comes with ABSOLUTELY NO WARRANTY.\n" +"See the GNU General Public License, version 2 or later for details." +msgstr "" +"Este programa ven SIN GARANTÍA ALGUNHA.\n" +"Consulte a Licenza Pública Xeral de GNU, versión 2 ou posterior para obter " +"máis detalles." + +#: Settings.ui.h:77 +msgid "About" +msgstr "Sobre o" + +#: Settings.ui.h:78 +msgid "Show the dock by mouse hover on the screen edge." +msgstr "Mostrar o dock ao pasar o punteiro sobre o borde da pantalla." + +#: Settings.ui.h:79 +msgid "Autohide" +msgstr "Agochar automáticamente" + +#: Settings.ui.h:80 +msgid "Push to show: require pressure to show the dock" +msgstr "Empurrar para mostrasr: require facer presión para mostrar o dock" + +#: Settings.ui.h:81 +msgid "Enable in fullscreen mode" +msgstr "Activar en modo de pantalla completa" + +#: Settings.ui.h:82 +msgid "Show the dock when it doesn't obstruct application windows." +msgstr "Mostrar o dock cando non cubra outras ventás de aplicativos." + +#: Settings.ui.h:83 +msgid "Dodge windows" +msgstr "Evitar as ventás" + +#: Settings.ui.h:84 +msgid "All windows" +msgstr "Todas as ventás" + +#: Settings.ui.h:85 +msgid "Only focused application's windows" +msgstr "Só as ventás do aplicativo activo" + +#: Settings.ui.h:86 +msgid "Only maximized windows" +msgstr "Só as ventás maximizadas" + +#: Settings.ui.h:87 +msgid "Animation duration (s)" +msgstr "Duración da animación (s)" + +#: Settings.ui.h:88 +msgid "0.000" +msgstr "0.000" + +#: Settings.ui.h:89 +msgid "Show timeout (s)" +msgstr "Tempo de aparición" + +#: Settings.ui.h:90 +msgid "Pressure threshold" +msgstr "Límite de presión" diff --git a/extensions/dash-to-dock/po/hu.po b/extensions/dash-to-dock/po/hu.po new file mode 100644 index 00000000..36235281 --- /dev/null +++ b/extensions/dash-to-dock/po/hu.po @@ -0,0 +1,440 @@ +# Hungarian translation for dash-to-dock. +# Copyright (C) 2017 Free Software Foundation, Inc. +# This file is distributed under the same license as the dash-to-dock package. +# +# Balázs Úr , 2017. +msgid "" +msgstr "" +"Project-Id-Version: dash-to-dock master\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-06-04 12:35+0100\n" +"PO-Revision-Date: 2017-04-10 22:02+0100\n" +"Last-Translator: Balázs Úr \n" +"Language-Team: Hungarian \n" +"Language: hu\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Lokalize 2.0\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#: prefs.js:113 +msgid "Primary monitor" +msgstr "Elsődleges kijelző" + +#: prefs.js:122 prefs.js:129 +msgid "Secondary monitor " +msgstr "Másodlagos kijelző" + +#: prefs.js:154 Settings.ui.h:29 +msgid "Right" +msgstr "Jobb" + +#: prefs.js:155 Settings.ui.h:26 +msgid "Left" +msgstr "Bal" + +#: prefs.js:205 +msgid "Intelligent autohide customization" +msgstr "Intelligens automatikus elrejtés személyre szabása" + +#: prefs.js:212 prefs.js:393 prefs.js:450 +msgid "Reset to defaults" +msgstr "Visszaállítás az alapértékekre" + +#: prefs.js:386 +msgid "Show dock and application numbers" +msgstr "A dokk és az alkalmazás számainak megjelenítése" + +#: prefs.js:443 +msgid "Customize middle-click behavior" +msgstr "Középső kattintás viselkedésének személyre szabása" + +#: prefs.js:514 +msgid "Customize running indicators" +msgstr "Futásjelzők személyre szabása" + +#: appIcons.js:804 +msgid "All Windows" +msgstr "Összes Ablak" + +#: Settings.ui.h:1 +msgid "Customize indicator style" +msgstr "Jelző stílusának személyre szabása" + +#: Settings.ui.h:2 +msgid "Color" +msgstr "Szín" + +#: Settings.ui.h:3 +msgid "Border color" +msgstr "Szegély színe" + +#: Settings.ui.h:4 +msgid "Border width" +msgstr "Szegély szélessége" + +#: Settings.ui.h:5 +msgid "Number overlay" +msgstr "Szám rátét" + +#: Settings.ui.h:6 +msgid "" +"Temporarily show the application numbers over the icons, corresponding to " +"the shortcut." +msgstr "" +"Az alkalmazás számainak átmeneti megjelenítése az ikonok fölött a " +"gyorsbillentyűnek megfelelően." + +#: Settings.ui.h:7 +msgid "Show the dock if it is hidden" +msgstr "A dokk megjelenítése, ha el van rejtve" + +#: Settings.ui.h:8 +msgid "" +"If using autohide, the dock will appear for a short time when triggering the " +"shortcut." +msgstr "" +"Az automatikus elrejtés használatakor a dokk meg fog jelenni egy rövid ideig " +"a gyorsbillentyű megnyomásakor." + +#: Settings.ui.h:9 +msgid "Shortcut for the options above" +msgstr "Gyorsbillentyűk a fenti beállításokhoz" + +#: Settings.ui.h:10 +msgid "Syntax: , , , " +msgstr "Szintaxis: , , , " + +#: Settings.ui.h:11 +msgid "Hide timeout (s)" +msgstr "Elrejtési időkorlát (mp)" + +#: Settings.ui.h:12 +msgid "" +"When set to minimize, double clicking minimizes all the windows of the " +"application." +msgstr "" +"Ha minimalizálásra van állítva, akkor a dupla kattintás az alkalmazás összes " +"ablakát minimalizálja." + +#: Settings.ui.h:13 +msgid "Shift+Click action" +msgstr "Shift + kattintás művelet" + +#: Settings.ui.h:14 +msgid "Raise window" +msgstr "Ablak előre hozása" + +#: Settings.ui.h:15 +msgid "Minimize window" +msgstr "Ablak minimalizálása" + +#: Settings.ui.h:16 +msgid "Launch new instance" +msgstr "Új példány indítása" + +#: Settings.ui.h:17 +msgid "Cycle through windows" +msgstr "Ablakok körbeléptetése" + +#: Settings.ui.h:18 +msgid "Quit" +msgstr "Kilépés" + +#: Settings.ui.h:19 +msgid "Behavior for Middle-Click." +msgstr "A középső kattintás viselkedése." + +#: Settings.ui.h:20 +msgid "Middle-Click action" +msgstr "Középső kattintás művelet" + +#: Settings.ui.h:21 +msgid "Behavior for Shift+Middle-Click." +msgstr "A Shift + középső kattintás viselkedése." + +#: Settings.ui.h:22 +msgid "Shift+Middle-Click action" +msgstr "Shift + középső kattintás művelet" + +#: Settings.ui.h:23 +msgid "Show the dock on" +msgstr "A dokk megjelenítése" + +#: Settings.ui.h:24 +#, fuzzy +msgid "Show on all monitors." +msgstr "Másodlagos kijelző" + +#: Settings.ui.h:25 +msgid "Position on screen" +msgstr "Elhelyezkedés a képernyőn" + +#: Settings.ui.h:27 +msgid "Bottom" +msgstr "Lent" + +#: Settings.ui.h:28 +msgid "Top" +msgstr "Fent" + +#: Settings.ui.h:30 +msgid "" +"Hide the dock when it obstructs a window of the current application. More " +"refined settings are available." +msgstr "" +"A dokk elrejtése, amikor az aktuális alkalmazás ablakát akadályozza. További " +"finombeállítások is elérhetők." + +#: Settings.ui.h:31 +msgid "Intelligent autohide" +msgstr "Intelligens automatikus elrejtés" + +#: Settings.ui.h:32 +msgid "Dock size limit" +msgstr "Dokk méretkorlátja" + +#: Settings.ui.h:33 +msgid "Panel mode: extend to the screen edge" +msgstr "Panel mód: kiterjesztés a képernyő széléig" + +#: Settings.ui.h:34 +msgid "Icon size limit" +msgstr "Ikon méretkorlátja" + +#: Settings.ui.h:35 +msgid "Fixed icon size: scroll to reveal other icons" +msgstr "Rögzített ikonméret: görgetés egyéb ikonok felfedéséhez" + +#: Settings.ui.h:36 +msgid "Position and size" +msgstr "Elhelyezkedés és méret" + +#: Settings.ui.h:37 +msgid "Show favorite applications" +msgstr "Kedvenc alkalmazások megjelenítése" + +#: Settings.ui.h:38 +msgid "Show running applications" +msgstr "Futó alkalmazások megjelenítése" + +#: Settings.ui.h:39 +msgid "Isolate workspaces." +msgstr "Munkaterületek elkülönítése." + +#: Settings.ui.h:40 +msgid "Show open windows previews." +msgstr "Nyitott ablakok előnézeteinek megjelenítése." + +#: Settings.ui.h:41 +msgid "" +"If disabled, these settings are accessible from gnome-tweak-tool or the " +"extension website." +msgstr "" +"Ha le van tiltva, akkor ezek a beállítások elérhetők a GNOME finomhangoló " +"eszközből vagy a kiegészítők weboldaláról." + +#: Settings.ui.h:42 +msgid "Show Applications icon" +msgstr "Alkalmazások ikon megjelenítése" + +#: Settings.ui.h:43 +msgid "Move the applications button at the beginning of the dock." +msgstr "Az alkalmazások gombjának áthelyezése a dokk elejére." + +#: Settings.ui.h:44 +msgid "Animate Show Applications." +msgstr "Alkalmazások megjelenítése animálása." + +#: Settings.ui.h:45 +msgid "Launchers" +msgstr "Indítok" + +#: Settings.ui.h:46 +msgid "" +"Enable Super+(0-9) as shortcuts to activate apps. It can also be used " +"together with Shift and Ctrl." +msgstr "" +"Szuper + (0-9) engedélyezése gyorsbillentyűként az alkalmazások " +"aktiválásához. Használható a Shift és a Ctrl billentyűkkel együtt is." + +#: Settings.ui.h:47 +msgid "Use keyboard shortcuts to activate apps" +msgstr "Gyorsbillentyűk használata az alkalmazások aktiválásához" + +#: Settings.ui.h:48 +msgid "Behaviour when clicking on the icon of a running application." +msgstr "Viselkedés egy futó alkalmazás ikonjára való kattintáskor." + +#: Settings.ui.h:49 +msgid "Click action" +msgstr "Kattintás művelet" + +#: Settings.ui.h:50 +msgid "Minimize" +msgstr "Minimalizálás" + +#: Settings.ui.h:51 +#, fuzzy +msgid "Minimize or overview" +msgstr "Ablak minimalizálása" + +#: Settings.ui.h:52 +msgid "Behaviour when scrolling on the icon of an application." +msgstr "Viselkedés egy alkalmazás ikonján való görgetéskor." + +#: Settings.ui.h:53 +msgid "Scroll action" +msgstr "Görgetési művelet" + +#: Settings.ui.h:54 +msgid "Do nothing" +msgstr "Ne tegyen semmit" + +#: Settings.ui.h:55 +msgid "Switch workspace" +msgstr "Munkaterület váltása" + +#: Settings.ui.h:56 +msgid "Behavior" +msgstr "Viselkedés" + +#: Settings.ui.h:57 +msgid "" +"Few customizations meant to integrate the dock with the default GNOME theme. " +"Alternatively, specific options can be enabled below." +msgstr "" +"Néhány személyre szabás célja, hogy integrálja a dokkot az alapértelmezett " +"GNOME témába. Alternatív esetben bizonyos beállítások engedélyezhetők lent." + +#: Settings.ui.h:58 +msgid "Use built-in theme" +msgstr "Beépített téma használata" + +#: Settings.ui.h:59 +msgid "Save space reducing padding and border radius." +msgstr "Helymegtakarítás a kitöltés és a szegély sugarának csökkentésével." + +#: Settings.ui.h:60 +msgid "Shrink the dash" +msgstr "A dash zsugorítása" + +#: Settings.ui.h:61 +msgid "Show a dot for each windows of the application." +msgstr "Egy pont megjelenítése az alkalmazás minden ablakánál." + +#: Settings.ui.h:62 +msgid "Show windows counter indicators" +msgstr "Ablakszámlálók jelzőinek megjelenítése" + +#: Settings.ui.h:63 +msgid "Set the background color for the dash." +msgstr "A dash háttérszínének beállítása." + +#: Settings.ui.h:64 +msgid "Customize the dash color" +msgstr "A dash színének személyre szabása" + +#: Settings.ui.h:65 +msgid "Tune the dash background opacity." +msgstr "A dash háttér átlátszatlanságának finomhangolása." + +#: Settings.ui.h:66 +msgid "Customize opacity" +msgstr "Átlátszatlanság személyre szabása" + +#: Settings.ui.h:67 +msgid "Opacity" +msgstr "Átlátszatlanság" + +#: Settings.ui.h:68 +msgid "Force straight corner\n" +msgstr "Egyenes sarok kényszerítése\n" + +#: Settings.ui.h:70 +msgid "Appearance" +msgstr "Megjelenés" + +#: Settings.ui.h:71 +msgid "version: " +msgstr "verzió: " + +#: Settings.ui.h:72 +msgid "Moves the dash out of the overview transforming it in a dock" +msgstr "Áthelyezi a dasht az áttekintőn kívülre egy dokká alakítva azt" + +#: Settings.ui.h:73 +msgid "Created by" +msgstr "Létrehozta" + +#: Settings.ui.h:74 +msgid "Webpage" +msgstr "Weboldal" + +#: Settings.ui.h:75 +msgid "" +"This program comes with ABSOLUTELY NO WARRANTY.\n" +"See the GNU General Public License, version 2 or later for details." +msgstr "" +"Ehhez a programhoz SEMMILYEN GARANCIA NEM JÁR.\n" +"Nézze meg a GNU General Public License 2. vagy későbbi verzióját a részletekért." + +#: Settings.ui.h:77 +msgid "About" +msgstr "Névjegy" + +#: Settings.ui.h:78 +msgid "Show the dock by mouse hover on the screen edge." +msgstr "A dokk megjelenítése a képernyő szélére történő egér rámutatással." + +#: Settings.ui.h:79 +msgid "Autohide" +msgstr "Automatikus elrejtés" + +#: Settings.ui.h:80 +msgid "Push to show: require pressure to show the dock" +msgstr "Nyomás a megjelenítéshez: nyomást igényel a dokk megjelenítéséhez" + +#: Settings.ui.h:81 +msgid "Enable in fullscreen mode" +msgstr "Engedélyezés teljes képernyős módban" + +#: Settings.ui.h:82 +msgid "Show the dock when it doesn't obstruct application windows." +msgstr "A dokk megjelenítése, amikor nem akadályozza az alkalmazás ablakait." + +#: Settings.ui.h:83 +msgid "Dodge windows" +msgstr "Ablakok kikerülése" + +#: Settings.ui.h:84 +msgid "All windows" +msgstr "Összes ablak" + +#: Settings.ui.h:85 +msgid "Only focused application's windows" +msgstr "Csak a kijelölt alkalmazások ablakai" + +#: Settings.ui.h:86 +msgid "Only maximized windows" +msgstr "Csak a maximalizált ablakok" + +#: Settings.ui.h:87 +msgid "Animation duration (s)" +msgstr "Animáció időtartama (mp)" + +#: Settings.ui.h:88 +msgid "0.000" +msgstr "0,000" + +#: Settings.ui.h:89 +msgid "Show timeout (s)" +msgstr "Megjelenítési időkorlát (mp)" + +#: Settings.ui.h:90 +msgid "Pressure threshold" +msgstr "Nyomás küszöbszintje" diff --git a/extensions/dash-to-dock/po/id.po b/extensions/dash-to-dock/po/id.po new file mode 100644 index 00000000..ac09c410 --- /dev/null +++ b/extensions/dash-to-dock/po/id.po @@ -0,0 +1,450 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. +# FIRST AUTHOR , YEAR. +# +msgid "" +msgstr "" +"Project-Id-Version: Dash-to-Dock\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-06-04 12:35+0100\n" +"PO-Revision-Date: 2017-10-02 11:25+0700\n" +"Last-Translator: Mahyuddin \n" +"Language-Team: Mahyuddin \n" +"Language: id\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=1; plural=0;\n" +"X-Generator: Poedit 1.8.11\n" + +#: prefs.js:113 +msgid "Primary monitor" +msgstr "Monitor primer" + +#: prefs.js:122 prefs.js:129 +msgid "Secondary monitor " +msgstr "Monitor sekunder" + +#: prefs.js:154 Settings.ui.h:29 +msgid "Right" +msgstr "Kanan" + +#: prefs.js:155 Settings.ui.h:26 +msgid "Left" +msgstr "Kiri" + +#: prefs.js:205 +msgid "Intelligent autohide customization" +msgstr "Kustomisasi autohide yang cerdas" + +#: prefs.js:212 prefs.js:393 prefs.js:450 +msgid "Reset to defaults" +msgstr "Setel ulang ke bawaan" + +#: prefs.js:386 +msgid "Show dock and application numbers" +msgstr "Tampilkan dock dan nomor aplikasi" + +#: prefs.js:443 +msgid "Customize middle-click behavior" +msgstr "Sesuaikan perilaku klik menengah" + +#: prefs.js:514 +msgid "Customize running indicators" +msgstr "Sesuaikan indikator yang sedang berjalan" + +#: appIcons.js:804 +msgid "All Windows" +msgstr "Semua Jendela" + +#: Settings.ui.h:1 +msgid "Customize indicator style" +msgstr "Sesuaikan gaya indikator" + +#: Settings.ui.h:2 +msgid "Color" +msgstr "Warna" + +#: Settings.ui.h:3 +msgid "Border color" +msgstr "Warna border" + +#: Settings.ui.h:4 +msgid "Border width" +msgstr "Lebar border" + +#: Settings.ui.h:5 +msgid "Number overlay" +msgstr "Nomor overlay" + +#: Settings.ui.h:6 +msgid "" +"Temporarily show the application numbers over the icons, corresponding to " +"the shortcut." +msgstr "" +"Untuk sementara menunjukkan nomor aplikasi di atas ikon, sesuai dengan " +"pintasan." + +#: Settings.ui.h:7 +msgid "Show the dock if it is hidden" +msgstr "Tunjukkan dock jika tersembunyi" + +#: Settings.ui.h:8 +msgid "" +"If using autohide, the dock will appear for a short time when triggering the " +"shortcut." +msgstr "" +"Jika menggunakan autohide, dock akan muncul dalam waktu singkat saat memicu " +"pintasan." + +#: Settings.ui.h:9 +msgid "Shortcut for the options above" +msgstr "Pintasan untuk opsi di atas" + +#: Settings.ui.h:10 +msgid "Syntax: , , , " +msgstr "Sintaks: , , , " + +#: Settings.ui.h:11 +msgid "Hide timeout (s)" +msgstr "Sembunyikan batas waktu (s)" + +#: Settings.ui.h:12 +msgid "" +"When set to minimize, double clicking minimizes all the windows of the " +"application." +msgstr "" +"Bila disetel untuk meminimalkan, klik ganda meminimalkan semua jendela " +"aplikasi." + +#: Settings.ui.h:13 +msgid "Shift+Click action" +msgstr "Tindakan Shift+Klik" + +#: Settings.ui.h:14 +msgid "Raise window" +msgstr "Menaikkan jendela" + +#: Settings.ui.h:15 +msgid "Minimize window" +msgstr "Minimalkan jendela" + +#: Settings.ui.h:16 +msgid "Launch new instance" +msgstr "Luncurkan contoh baru" + +#: Settings.ui.h:17 +msgid "Cycle through windows" +msgstr "Siklus melalui jendela" + +#: Settings.ui.h:18 +msgid "Quit" +msgstr "Berhenti" + +#: Settings.ui.h:19 +msgid "Behavior for Middle-Click." +msgstr "Perilaku untuk Klik-Tengah." + +#: Settings.ui.h:20 +msgid "Middle-Click action" +msgstr "Tindakan Klik-Tengah" + +#: Settings.ui.h:21 +msgid "Behavior for Shift+Middle-Click." +msgstr "Perilaku untuk Shift+Klik-Tengah." + +#: Settings.ui.h:22 +msgid "Shift+Middle-Click action" +msgstr "Tindakan Shift+Klik-Tengah" + +#: Settings.ui.h:23 +msgid "Show the dock on" +msgstr "Tunjukkan dock pada" + +#: Settings.ui.h:24 +msgid "Show on all monitors." +msgstr "Tunjukkan pada semua monitor." + +#: Settings.ui.h:25 +msgid "Position on screen" +msgstr "Posisi pada layar" + +#: Settings.ui.h:27 +msgid "Bottom" +msgstr "Bawah" + +#: Settings.ui.h:28 +msgid "Top" +msgstr "Atas" + +#: Settings.ui.h:30 +msgid "" +"Hide the dock when it obstructs a window of the current application. More " +"refined settings are available." +msgstr "" +"Sembunyikan dock saat menghalangi jendela aplikasi saat ini. Setelan yang " +"lebih halus juga tersedia." + +#: Settings.ui.h:31 +msgid "Intelligent autohide" +msgstr "Autohide cerdas" + +#: Settings.ui.h:32 +msgid "Dock size limit" +msgstr "Batas ukuran dock" + +#: Settings.ui.h:33 +msgid "Panel mode: extend to the screen edge" +msgstr "Mode panel: meluas ke tepi layar" + +#: Settings.ui.h:34 +msgid "Icon size limit" +msgstr "Batas ukuran ikon" + +#: Settings.ui.h:35 +msgid "Fixed icon size: scroll to reveal other icons" +msgstr "Ukuran ikon tetap: gulir untuk menampilkan ikon lain" + +#: Settings.ui.h:36 +msgid "Position and size" +msgstr "Posisi dan ukuran" + +#: Settings.ui.h:37 +msgid "Show favorite applications" +msgstr "Tampilkan aplikasi favorit" + +#: Settings.ui.h:38 +msgid "Show running applications" +msgstr "Tampilkan aplikasi yang sedang berjalan" + +#: Settings.ui.h:39 +msgid "Isolate workspaces." +msgstr "Isolasi ruang kerja." + +#: Settings.ui.h:40 +msgid "Show open windows previews." +msgstr "Tampilkan pratinjau windows yang terbuka." + +#: Settings.ui.h:41 +msgid "" +"If disabled, these settings are accessible from gnome-tweak-tool or the " +"extension website." +msgstr "" +"Jika dinonaktifkan, setelan ini dapat diakses dari gnome-tweak-tool atau " +"situs ekstensi." + +#: Settings.ui.h:42 +msgid "Show Applications icon" +msgstr "Tampilkan ikon Aplikasi" + +#: Settings.ui.h:43 +msgid "Move the applications button at the beginning of the dock." +msgstr "Pindahkan tombol aplikasi di awal dock." + +#: Settings.ui.h:44 +msgid "Animate Show Applications." +msgstr "Animasi Tampilkan Aplikasi." + +#: Settings.ui.h:45 +msgid "Launchers" +msgstr "Peluncur" + +#: Settings.ui.h:46 +msgid "" +"Enable Super+(0-9) as shortcuts to activate apps. It can also be used " +"together with Shift and Ctrl." +msgstr "" +"Aktifkan Super+(0-9) sebagai cara pintas untuk mengaktifkan aplikasi. Ini " +"juga bisa digunakan bersamaan dengan Shift dan Ctrl." + +#: Settings.ui.h:47 +msgid "Use keyboard shortcuts to activate apps" +msgstr "Gunakan pintasan papan tik untuk mengaktifkan aplikasi" + +#: Settings.ui.h:48 +msgid "Behaviour when clicking on the icon of a running application." +msgstr "Perilaku saat mengklik ikon aplikasi yang sedang berjalan." + +#: Settings.ui.h:49 +msgid "Click action" +msgstr "Klik tindakan" + +#: Settings.ui.h:50 +msgid "Minimize" +msgstr "Minimalkan" + +#: Settings.ui.h:51 +msgid "Minimize or overview" +msgstr "Minimalkan atau ikhtisar" + +#: Settings.ui.h:52 +msgid "Behaviour when scrolling on the icon of an application." +msgstr "Perilaku saat menggulir pada ikon aplikasi." + +#: Settings.ui.h:53 +msgid "Scroll action" +msgstr "Gulir tindakan" + +#: Settings.ui.h:54 +msgid "Do nothing" +msgstr "Tidak melakukan apapun" + +#: Settings.ui.h:55 +msgid "Switch workspace" +msgstr "Beralih ruang kerja" + +#: Settings.ui.h:56 +msgid "Behavior" +msgstr "Perilaku" + +#: Settings.ui.h:57 +msgid "" +"Few customizations meant to integrate the dock with the default GNOME theme. " +"Alternatively, specific options can be enabled below." +msgstr "" +"Beberapa penyesuaian dimaksudkan untuk mengintegrasikan dock dengan tema " +"GNOME bawaan. Sebagai alternatif, pilihan spesifik dapat diaktifkan di bawah " +"ini." + +#: Settings.ui.h:58 +msgid "Use built-in theme" +msgstr "Gunakan tema bawaan" + +#: Settings.ui.h:59 +msgid "Save space reducing padding and border radius." +msgstr "Hemat ruang padding mengurangi dan radius border." + +#: Settings.ui.h:60 +msgid "Shrink the dash" +msgstr "Penyusutan dash" + +#: Settings.ui.h:61 +msgid "Show a dot for each windows of the application." +msgstr "Tampilkan titik untuk setiap jendela aplikasi." + +#: Settings.ui.h:62 +msgid "Show windows counter indicators" +msgstr "Tampilkan indikator counter jendela" + +#: Settings.ui.h:63 +msgid "Set the background color for the dash." +msgstr "Atur warna latar belakang untuk dash." + +#: Settings.ui.h:64 +msgid "Customize the dash color" +msgstr "Sesuaikan warna dash." + +#: Settings.ui.h:65 +msgid "Tune the dash background opacity." +msgstr "Cocokkan opacity latar belakang." + +#: Settings.ui.h:66 +msgid "Customize opacity" +msgstr "Menyesuaikan opacity" + +#: Settings.ui.h:67 +msgid "Opacity" +msgstr "Opacity" + +#: Settings.ui.h:68 +msgid "Force straight corner\n" +msgstr "Paksa sudut lurus\n" + +#: Settings.ui.h:70 +msgid "Appearance" +msgstr "Penampilan" + +#: Settings.ui.h:71 +msgid "version: " +msgstr "versi: " + +#: Settings.ui.h:72 +msgid "Moves the dash out of the overview transforming it in a dock" +msgstr "Memindahkan dash keluar dari ikhtisar yang mengubahnya di dock" + +#: Settings.ui.h:73 +msgid "Created by" +msgstr "Dibuat oleh" + +#: Settings.ui.h:74 +msgid "Webpage" +msgstr "Halaman web" + +#: Settings.ui.h:75 +msgid "" +"This program comes with ABSOLUTELY NO WARRANTY.\n" +"See the GNU General Public License, version 2 or later for details." +msgstr "" +"Program ini hadir dengan TIDAK ADA JAMINAN TIDAK " +"BENAR.\n" +"Lihat " +"GNU General Public License, versi 2 atau yang lebih baru untuk " +"detailnya. " + +#: Settings.ui.h:77 +msgid "About" +msgstr "Tentang" + +#: Settings.ui.h:78 +msgid "Show the dock by mouse hover on the screen edge." +msgstr "Tunjukkan dock dengan mouse hover di tepi layar." + +#: Settings.ui.h:79 +msgid "Autohide" +msgstr "Autohide" + +#: Settings.ui.h:80 +msgid "Push to show: require pressure to show the dock" +msgstr "Tekan untuk tampilkan: butuh tekanan untuk menunjukkan dock" + +#: Settings.ui.h:81 +msgid "Enable in fullscreen mode" +msgstr "Aktifkan dalam mode layar penuh" + +#: Settings.ui.h:82 +msgid "Show the dock when it doesn't obstruct application windows." +msgstr "Tunjukkan dokk bila tidak menghalangi jendela aplikasi." + +#: Settings.ui.h:83 +msgid "Dodge windows" +msgstr "Dodge jendela" + +#: Settings.ui.h:84 +msgid "All windows" +msgstr "Semua jendela" + +#: Settings.ui.h:85 +msgid "Only focused application's windows" +msgstr "Hanya fokus aplikasi jendela" + +#: Settings.ui.h:86 +msgid "Only maximized windows" +msgstr "Hanya jendela yang maksimal" + +#: Settings.ui.h:87 +msgid "Animation duration (s)" +msgstr "Durasi animasi (s)" + +#: Settings.ui.h:88 +msgid "0.000" +msgstr "0.000" + +#: Settings.ui.h:89 +msgid "Show timeout (s)" +msgstr "Tampilkan batas waktu (s)" + +#: Settings.ui.h:90 +msgid "Pressure threshold" +msgstr "Ambang tekanan" + +#~ msgid "" +#~ "With fixed icon size, only the edge of the dock and the Show " +#~ "Applications icon are active." +#~ msgstr "" +#~ "Con la dimensione fissa delle icone, solo il bordo della dock e l'icona " +#~ " Mostra Applicazioni sono attive." + +#~ msgid "Switch workspace by scrolling on the dock" +#~ msgstr "Cambia spazio di lavoro scorrendo sulla dock" diff --git a/extensions/dash-to-dock/po/it.po b/extensions/dash-to-dock/po/it.po new file mode 100644 index 00000000..2806ad5f --- /dev/null +++ b/extensions/dash-to-dock/po/it.po @@ -0,0 +1,517 @@ +# Dash-to-Dock Italian translation. +# Copyright (C) 2018 the Dash-to-Dock copyright holder. +# This file is distributed under the same license as the Dash-to-Dock package. +# Milo Casagrande , 2018 +# +msgid "" +msgstr "" +"Project-Id-Version: Dash-to-Dock\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2018-04-03 17:18+0200\n" +"PO-Revision-Date: 2018-04-04 10:13+0200\n" +"Last-Translator: Milo Casagrande \n" +"Language-Team: Italian \n" +"Language: it\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: prefs.js:140 +msgid "Primary monitor" +msgstr "Monitor primario" + +#: prefs.js:149 prefs.js:156 +msgid "Secondary monitor " +msgstr "Monitor secondario " + +#: prefs.js:181 Settings.ui.h:27 +msgid "Right" +msgstr "Destra" + +#: prefs.js:182 Settings.ui.h:24 +msgid "Left" +msgstr "Sinistra" + +#: prefs.js:232 +msgid "Intelligent autohide customization" +msgstr "Personalizzazione nascondimento automatico intelligente" + +#: prefs.js:239 prefs.js:424 prefs.js:481 +msgid "Reset to defaults" +msgstr "Ripristina a predefinito" + +#: prefs.js:417 +msgid "Show dock and application numbers" +msgstr "Mostra applicazioni in esecuzione" + +#: prefs.js:474 +msgid "Customize middle-click behavior" +msgstr "Personalizza comportamento clic centrale" + +#: prefs.js:557 +msgid "Customize running indicators" +msgstr "Personalizza indicatori in esecuzione" + +#: prefs.js:671 +#: Settings.ui.h:71 +msgid "Customize opacity" +msgstr "Personalizza opacità" + +#: appIcons.js:785 +msgid "All Windows" +msgstr "Tutte le finestre" + +#. Translators: %s is "Settings", which is automatically translated. You +#. can also translate the full message if this fits better your language. +#: appIcons.js:1091 +#, javascript-format +msgid "Dash to Dock %s" +msgstr "%s di «Dash to Dock»" + +#: Settings.ui.h:1 +msgid "" +"When set to minimize, double clicking minimizes all the windows of the " +"application." +msgstr "" +"Quando impostato su minimizza, un doppio clic minimizza tutte le finestre " +"dell'applicazione" + +#: Settings.ui.h:2 +msgid "Shift+Click action" +msgstr "Azione Maiusc+Clic" + +#: Settings.ui.h:3 +msgid "Raise window" +msgstr "Solleva finestra" + +#: Settings.ui.h:4 +msgid "Minimize window" +msgstr "Minimizza finestra" + +#: Settings.ui.h:5 +msgid "Launch new instance" +msgstr "Lancia nuova istanza" + +#: Settings.ui.h:6 +msgid "Cycle through windows" +msgstr "Passa attraverso le finestre" + +#: Settings.ui.h:7 +msgid "Minimize or overview" +msgstr "Minimizza o mostra attività" + +#: Settings.ui.h:8 +msgid "Show window previews" +msgstr "Mostra anteprime finestra" + +#: Settings.ui.h:9 +msgid "Minimize or show previews" +msgstr "Minimizza o mostra anteprime" + +#: Settings.ui.h:10 +msgid "Quit" +msgstr "Chiudi" + +#: Settings.ui.h:11 +msgid "Behavior for Middle-Click." +msgstr "Comportamento del clic-centrale" + +#: Settings.ui.h:12 +msgid "Middle-Click action" +msgstr "Azione clic-centrale" + +#: Settings.ui.h:13 +msgid "Behavior for Shift+Middle-Click." +msgstr "Comportamento per Maiusc+Clic-centrale" + +#: Settings.ui.h:14 +msgid "Shift+Middle-Click action" +msgstr "Azione Maiusc+Clic-centrale" + +#: Settings.ui.h:15 +msgid "Enable Unity7 like glossy backlit items" +msgstr "Abilitare elementi lucidi retroilluminati come Unity7" + +#: Settings.ui.h:16 +msgid "Use dominant color" +msgstr "Usare colore dominante" + +#: Settings.ui.h:17 +msgid "Customize indicator style" +msgstr "Personalizza stile indicatori" + +#: Settings.ui.h:18 +msgid "Color" +msgstr "Colore" + +#: Settings.ui.h:19 +msgid "Border color" +msgstr "Colore bordo" + +#: Settings.ui.h:20 +msgid "Border width" +msgstr "Larghezza bordo" + +#: Settings.ui.h:21 +msgid "Show the dock on" +msgstr "Mostra dock su" + +#: Settings.ui.h:22 +msgid "Show on all monitors." +msgstr "Mostra su tutti gli schermi" + +#: Settings.ui.h:23 +msgid "Position on screen" +msgstr "Posizione sullo schermo" + +#: Settings.ui.h:25 +msgid "Bottom" +msgstr "Basso" + +#: Settings.ui.h:26 +msgid "Top" +msgstr "Alto" + +#: Settings.ui.h:28 +msgid "" +"Hide the dock when it obstructs a window of the current application. More " +"refined settings are available." +msgstr "" +"Nasconde la dock quando questa ostruisce una finestra dell'applicazione " +"corrente. Sono disponibili maggiori impostazioni." + +#: Settings.ui.h:29 +msgid "Intelligent autohide" +msgstr "Nascondi automaticamente intelligente" + +#: Settings.ui.h:30 +msgid "Dock size limit" +msgstr "Limite dimensione dock" + +#: Settings.ui.h:31 +msgid "Panel mode: extend to the screen edge" +msgstr "Modalità pannello: si estende fino al bordo dello schermo" + +#: Settings.ui.h:32 +msgid "Icon size limit" +msgstr "Limite dimensione icone" + +#: Settings.ui.h:33 +msgid "Fixed icon size: scroll to reveal other icons" +msgstr "Dimensione icona fissa: scorrere per rivelare le altre icone" + +#: Settings.ui.h:34 +msgid "Position and size" +msgstr "Posizione e dimensione" + +#: Settings.ui.h:35 +msgid "Show favorite applications" +msgstr "Mostra applicazioni preferite" + +#: Settings.ui.h:36 +msgid "Show running applications" +msgstr "Mostra applicazioni in esecuzione" + +#: Settings.ui.h:37 +msgid "Isolate workspaces." +msgstr "Isola spazi di lavoro" + +#: Settings.ui.h:38 +msgid "Isolate monitors." +msgstr "Isola gli schermi" + +#: Settings.ui.h:39 +msgid "Show open windows previews." +msgstr "Mostra anteprime delle finestre aperte" + +#: Settings.ui.h:40 +msgid "" +"If disabled, these settings are accessible from gnome-tweak-tool or the " +"extension website." +msgstr "" +"Se disabilitate, queste impostazioni sono accessibili da gnome-tweak-tool o " +"dal sito web delle estensioni." + +#: Settings.ui.h:41 +msgid "Show Applications icon" +msgstr "Mostra icona Applicazioni" + +#: Settings.ui.h:42 +msgid "Move the applications button at the beginning of the dock." +msgstr "Sposta il pulsante delle applicazioni all'inizio della dock" + +#: Settings.ui.h:43 +msgid "Animate Show Applications." +msgstr "Anima Mostra applicazioni" + +#: Settings.ui.h:44 +msgid "Launchers" +msgstr "Icone applicazioni" + +#: Settings.ui.h:45 +msgid "" +"Enable Super+(0-9) as shortcuts to activate apps. It can also be used " +"together with Shift and Ctrl." +msgstr "" +"Attiva Super+(0-9) come scorciatoie per attivare le applicazioni, funziona " +"anche con Maiusc e Ctrl." + +#: Settings.ui.h:46 +msgid "Use keyboard shortcuts to activate apps" +msgstr "Usa scorciatoie da tastiera per attivare le applicazioni" + +#: Settings.ui.h:47 +msgid "Behaviour when clicking on the icon of a running application." +msgstr "" +"Comportamento quando si fa clic sull'icona di una applicazione in esecuzione." + +#: Settings.ui.h:48 +msgid "Click action" +msgstr "Azione clic" + +#: Settings.ui.h:49 +msgid "Minimize" +msgstr "Minimizza" + +#: Settings.ui.h:50 +msgid "Behaviour when scrolling on the icon of an application." +msgstr "" +"Comportamento quando si scorre sull'icona di una applicazione in esecuzione" + +#: Settings.ui.h:51 +msgid "Scroll action" +msgstr "Azione scorrimento" + +#: Settings.ui.h:52 +msgid "Do nothing" +msgstr "Non fare nulla" + +#: Settings.ui.h:53 +msgid "Switch workspace" +msgstr "Cambia spazio di lavoro" + +#: Settings.ui.h:54 +msgid "Behavior" +msgstr "Comportamento" + +#: Settings.ui.h:55 +msgid "" +"Few customizations meant to integrate the dock with the default GNOME theme. " +"Alternatively, specific options can be enabled below." +msgstr "" +"Poche personalizzazioni significative per integrare la dock con il tema " +"predefinito di GNOME. In alternativa, delle opzioni specifiche possono " +"essere abilitate qui sotto." + +#: Settings.ui.h:56 +msgid "Use built-in theme" +msgstr "Usa tema integrato" + +#: Settings.ui.h:57 +msgid "Save space reducing padding and border radius." +msgstr "Salva spazio riducendo il margine e il raggio dei bordi" + +#: Settings.ui.h:58 +msgid "Shrink the dash" +msgstr "Riduci la dash" + +#: Settings.ui.h:59 +msgid "Customize windows counter indicators" +msgstr "Personalizza indicatori conteggio finestre" + +#: Settings.ui.h:60 +msgid "Default" +msgstr "Predefinito" + +#: Settings.ui.h:61 +msgid "Dots" +msgstr "Puntini" + +#: Settings.ui.h:62 +msgid "Squares" +msgstr "Quadrati" + +#: Settings.ui.h:63 +msgid "Dashes" +msgstr "Trattini" + +#: Settings.ui.h:64 +msgid "Segmented" +msgstr "Segmenti" + +#: Settings.ui.h:65 +msgid "Solid" +msgstr "Solido" + +#: Settings.ui.h:66 +msgid "Ciliora" +msgstr "Ciliora" + +#: Settings.ui.h:67 +msgid "Metro" +msgstr "Metro" + +#: Settings.ui.h:68 +msgid "Set the background color for the dash." +msgstr "Imposta il colore di sfondo della dash" + +#: Settings.ui.h:69 +msgid "Customize the dash color" +msgstr "Personalizza il colore della dash" + +#: Settings.ui.h:70 +msgid "Tune the dash background opacity." +msgstr "Personalizza l'opacità dello sfondo della dash" + +#: Settings.ui.h:72 +msgid "Fixed" +msgstr "Fisso" + +#: Settings.ui.h:73 +msgid "Adaptive" +msgstr "Adattivo" + +#: Settings.ui.h:74 +msgid "Dynamic" +msgstr "Dinamico" + +#: Settings.ui.h:75 +msgid "Opacity" +msgstr "Opacità" + +#: Settings.ui.h:76 +msgid "Force straight corner\n" +msgstr "Forza angoli squadrati\n" + +#: Settings.ui.h:78 +msgid "Appearance" +msgstr "Aspetto" + +#: Settings.ui.h:79 +msgid "version: " +msgstr "versione: " + +#: Settings.ui.h:80 +msgid "Moves the dash out of the overview transforming it in a dock" +msgstr "Sposta la dash fuori dalla panoramica trasformandola in una dock" + +#: Settings.ui.h:81 +msgid "Created by" +msgstr "Creata da" + +#: Settings.ui.h:82 +msgid "Webpage" +msgstr "Sito web" + +#: Settings.ui.h:83 +msgid "" +"This program comes with ABSOLUTELY NO WARRANTY.\n" +"See the GNU General Public License, version 2 or later for details." +msgstr "" +"Questo programma viene fornito senza ALCUNA GARANZIA.\n" +"Per maggiori informazioni, consultare la GNU General Public License, versione 2 " +"o successiva." + +#: Settings.ui.h:85 +msgid "About" +msgstr "Informazioni" + +#: Settings.ui.h:86 +msgid "Customize minimum and maximum opacity values" +msgstr "Personalizza i valori minimo e massimo dell'opacità" + +#: Settings.ui.h:87 +msgid "Minimum opacity" +msgstr "Opacità minima" + +#: Settings.ui.h:88 +msgid "Maximum opacity" +msgstr "Opacità massima" + +#: Settings.ui.h:89 +msgid "Number overlay" +msgstr "Indicatore numerico in sovraimpressione" + +#: Settings.ui.h:90 +msgid "" +"Temporarily show the application numbers over the icons, corresponding to " +"the shortcut." +msgstr "" +"Mostra brevemente il numero corrispondente alla scorciatoia sull'icona " +"dell'applicazione." + +#: Settings.ui.h:91 +msgid "Show the dock if it is hidden" +msgstr "Mostra dock se nascosta" + +#: Settings.ui.h:92 +msgid "" +"If using autohide, the dock will appear for a short time when triggering the " +"shortcut." +msgstr "" +"In modalità «Nascondi automaticamente intelligente», la dock viene mostrata " +"per un istante quando la scorciatoia è attivata" + +#: Settings.ui.h:93 +msgid "Shortcut for the options above" +msgstr "Scorciatoia" + +#: Settings.ui.h:94 +msgid "Syntax: , , , " +msgstr "Formato: , , , " + +#: Settings.ui.h:95 +msgid "Hide timeout (s)" +msgstr "Timeout nascondimento (s)" + +#: Settings.ui.h:96 +msgid "Show the dock by mouse hover on the screen edge." +msgstr "Mostra la dock passando con il mouse sul bordo dello schermo" + +#: Settings.ui.h:97 +msgid "Autohide" +msgstr "Nascondi automaticamente" + +#: Settings.ui.h:98 +msgid "Push to show: require pressure to show the dock" +msgstr "Premere per vedere: richiede una pressione per mostrare la dock" + +#: Settings.ui.h:99 +msgid "Enable in fullscreen mode" +msgstr "Abilita in modalità a schermo intero" + +#: Settings.ui.h:100 +msgid "Show the dock when it doesn't obstruct application windows." +msgstr "" +"Mostra la dock quando questa non ostruisce le finestre dell'applicazione" + +#: Settings.ui.h:101 +msgid "Dodge windows" +msgstr "Schive finestre" + +#: Settings.ui.h:102 +msgid "All windows" +msgstr "Tutte le finestre" + +#: Settings.ui.h:103 +msgid "Only focused application's windows" +msgstr "Solo le finestre delle applicazione col focus" + +#: Settings.ui.h:104 +msgid "Only maximized windows" +msgstr "Solo le finestre massimizzate" + +#: Settings.ui.h:105 +msgid "Animation duration (s)" +msgstr "Durata animazione (s)" + +#: Settings.ui.h:106 +msgid "Show timeout (s)" +msgstr "Timeout rivelazione (s)" + +#: Settings.ui.h:107 +msgid "Pressure threshold" +msgstr "Soglia pressione" + diff --git a/extensions/dash-to-dock/po/ja.po b/extensions/dash-to-dock/po/ja.po new file mode 100644 index 00000000..37cf8dd7 --- /dev/null +++ b/extensions/dash-to-dock/po/ja.po @@ -0,0 +1,585 @@ +# Dash to Dock master ja.po +# Copyright (C) 2013-2017, 2019-2020 THE dash-to-dock'S COPYRIGHT HOLDER +# This file is distributed under the same license as the dash-to-dock package. +# Jiro Matsuzawa , 2013. +# Debonne Hooties , 2014-2017. +# sicklylife , 2019-2020. +# Ryo Nakano , 2019. +# +msgid "" +msgstr "" +"Project-Id-Version: dash-to-dock master\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2020-06-14 23:00+0900\n" +"PO-Revision-Date: 2020-06-15 07:30+0900\n" +"Last-Translator: sicklylife \n" +"Language-Team: Japanese <>\n" +"Language: ja\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" + +#: appIcons.js:797 +msgid "All Windows" +msgstr "ウィンドウプレビューの表示" + +#: appIcons.js:808 +msgid "New Window" +msgstr "新しいウィンドウ" + +#: appIcons.js:823 +msgid "Launch using Dedicated Graphics Card" +msgstr "専用のグラフィックカードを使用して起動" + +#: appIcons.js:851 +msgid "Remove from Favorites" +msgstr "お気に入りから削除" + +#: appIcons.js:857 +msgid "Add to Favorites" +msgstr "お気に入りに追加" + +#: appIcons.js:868 +msgid "Show Details" +msgstr "詳細を表示" + +# ここの翻訳は GNOME Shell の訳が優先される様子 +#: appIcons.js:896 appIcons.js:914 Settings.ui.h:11 +msgid "Quit" +msgstr "終了" + +# ここの「Quit」は GNOME Shell の訳に合わせた方が良さげ +#: appIcons.js:916 +#, javascript-format +msgid "Quit %d Windows" +msgstr "%d 個のウィンドウを終了" + +#. Translators: %s is "Settings", which is automatically translated. You +#. can also translate the full message if this fits better your language. +#: appIcons.js:1134 +#, javascript-format +msgid "Dash to Dock %s" +msgstr "Dash to Dock の%s" + +#: appIcons.js:1134 +msgid "Settings" +msgstr "設定" + +#: docking.js:1188 +msgid "Dash" +msgstr "Dash" + +#: locations.js:65 +msgid "Trash" +msgstr "ゴミ箱" + +#: locations.js:74 +msgid "Empty Trash" +msgstr "ゴミ箱を空にする" + +#: locations.js:192 +msgid "Mount" +msgstr "マウント" + +#: locations.js:235 +msgid "Eject" +msgstr "取り出す" + +#: locations.js:240 +msgid "Unmount" +msgstr "アンマウント" + +#: prefs.js:268 +msgid "Primary monitor" +msgstr "プライマリーモニター" + +#: prefs.js:277 prefs.js:284 +msgid "Secondary monitor " +msgstr "セカンダリーモニター" + +#: prefs.js:309 Settings.ui.h:28 +msgid "Right" +msgstr "右" + +#: prefs.js:310 Settings.ui.h:25 +msgid "Left" +msgstr "左" + +#: prefs.js:360 +msgid "Intelligent autohide customization" +msgstr "インテリジェント表示の設定" + +#: prefs.js:367 prefs.js:560 prefs.js:616 +msgid "Reset to defaults" +msgstr "既定値にリセット" + +#: prefs.js:553 +msgid "Show dock and application numbers" +msgstr "ドック表示とアプリケーション番号" + +#: prefs.js:609 +msgid "Customize middle-click behavior" +msgstr "中ボタンクリック時のアクション" + +#: prefs.js:692 +msgid "Customize running indicators" +msgstr "インジケーターの表示設定" + +#: prefs.js:804 Settings.ui.h:74 +msgid "Customize opacity" +msgstr "不透明度の調整" + +#: Settings.ui.h:1 +msgid "" +"When set to minimize, double clicking minimizes all the windows of the " +"application." +msgstr "" +"[ウィンドウの最小化] に設定したときは、アイコンをダブルクリックするとそのアプ" +"リケーションのウィンドウをすべて最小化します。" + +#: Settings.ui.h:2 +msgid "Shift+Click action" +msgstr "Shift + クリック時のアクション" + +#: Settings.ui.h:3 +msgid "Raise window" +msgstr "ウィンドウの再表示" + +#: Settings.ui.h:4 +msgid "Minimize window" +msgstr "ウィンドウの最小化" + +#: Settings.ui.h:5 +msgid "Launch new instance" +msgstr "新しいウィンドウを開く" + +#: Settings.ui.h:6 +msgid "Cycle through windows" +msgstr "ウィンドウの切り替え" + +#: Settings.ui.h:7 +msgid "Minimize or overview" +msgstr "ウィンドウの最小化またはオーバービュー" + +#: Settings.ui.h:8 +msgid "Show window previews" +msgstr "ウィンドウのプレビュー表示" + +#: Settings.ui.h:9 +msgid "Minimize or show previews" +msgstr "ウィンドウの最小化またはプレビュー表示" + +#: Settings.ui.h:10 +msgid "Focus or show previews" +msgstr "フォーカスまたはプレビュー表示" + +#: Settings.ui.h:12 +msgid "Behavior for Middle-Click." +msgstr "中ボタンをクリックしたときの動作を設定します。" + +#: Settings.ui.h:13 +msgid "Middle-Click action" +msgstr "中ボタンクリック時のアクション" + +#: Settings.ui.h:14 +msgid "Behavior for Shift+Middle-Click." +msgstr "Shift を押しながら中ボタンをクリックしたときの動作を設定します。" + +#: Settings.ui.h:15 +msgid "Shift+Middle-Click action" +msgstr "Shift + 中ボタンクリック時のアクション" + +#: Settings.ui.h:16 +msgid "Enable Unity7 like glossy backlit items" +msgstr "Unity7 のような色付きのアイテム背景" + +#: Settings.ui.h:17 +msgid "Use dominant color" +msgstr "ドミナントカラーを使用" + +#: Settings.ui.h:18 +msgid "Customize indicator style" +msgstr "表示スタイルの設定" + +#: Settings.ui.h:19 +msgid "Color" +msgstr "ボディ色" + +#: Settings.ui.h:20 +msgid "Border color" +msgstr "縁取り色" + +#: Settings.ui.h:21 +msgid "Border width" +msgstr "縁取り幅" + +#: Settings.ui.h:22 +msgid "Show the dock on" +msgstr "ドックを表示するモニター" + +#: Settings.ui.h:23 +msgid "Show on all monitors." +msgstr "すべてのモニターで表示" + +#: Settings.ui.h:24 +msgid "Position on screen" +msgstr "表示位置" + +#: Settings.ui.h:26 +msgid "Bottom" +msgstr "下" + +#: Settings.ui.h:27 +msgid "Top" +msgstr "上" + +#: Settings.ui.h:29 +msgid "" +"Hide the dock when it obstructs a window of the current application. More " +"refined settings are available." +msgstr "" +"開いているウィンドウの邪魔にならないようドックの表示/非表示を自動的に切り替え" +"ます。より洗練された表示設定も可能です。" + +#: Settings.ui.h:30 +msgid "Intelligent autohide" +msgstr "インテリジェント表示" + +#: Settings.ui.h:31 +msgid "Dock size limit" +msgstr "ドックサイズの上限" + +#: Settings.ui.h:32 +msgid "Panel mode: extend to the screen edge" +msgstr "パネルモード (画面の端までドックを拡張)" + +#: Settings.ui.h:33 +msgid "Icon size limit" +msgstr "アイコンサイズの上限" + +#: Settings.ui.h:34 +msgid "Fixed icon size: scroll to reveal other icons" +msgstr "アイコンサイズの固定 (隠れたアイコンはスクロールで表示)" + +#: Settings.ui.h:35 +msgid "Position and size" +msgstr "位置とサイズ" + +#: Settings.ui.h:36 +msgid "Show favorite applications" +msgstr "お気に入りアプリケーションの表示" + +#: Settings.ui.h:37 +msgid "Show running applications" +msgstr "実行中アプリケーションの表示" + +#: Settings.ui.h:38 +msgid "Isolate workspaces." +msgstr "現在のワークスペースのみ表示" + +#: Settings.ui.h:39 +msgid "Isolate monitors." +msgstr "現在のモニターのみ表示" + +#: Settings.ui.h:40 +msgid "Show open windows previews." +msgstr "ウィンドウのプレビューを右クリックで表示可能にする" + +#: Settings.ui.h:41 +msgid "" +"If disabled, these settings are accessible from gnome-tweak-tool or the " +"extension website." +msgstr "" +"オフにしたときは gnome-tweak-tool または拡張機能ウェブサイトを経由してこの設" +"定ダイアログにアクセスします。" + +#: Settings.ui.h:42 +msgid "Show Applications icon" +msgstr "[アプリケーションを表示する] アイコンの表示" + +#: Settings.ui.h:43 +msgid "Move the applications button at the beginning of the dock." +msgstr "ドックの先頭 (最上段または左端) に表示" + +#: Settings.ui.h:44 +msgid "Animate Show Applications." +msgstr "アニメーションしながらアプリケーション一覧を表示" + +#: Settings.ui.h:45 +msgid "Show trash can" +msgstr "ゴミ箱を表示" + +#: Settings.ui.h:46 +msgid "Show mounted volumes and devices" +msgstr "マウントしたボリュームとデバイスを表示" + +#: Settings.ui.h:47 +msgid "Launchers" +msgstr "ランチャー" + +#: Settings.ui.h:48 +msgid "" +"Enable Super+(0-9) as shortcuts to activate apps. It can also be used " +"together with Shift and Ctrl." +msgstr "" +"Super キーと番号 (0-9) を同時に押すことでアプリケーションのアクティブ化を可" +"能にします。\n" +"Shift キーまたは Ctrl キーを Super キーとともに押しても機能します。" + +#: Settings.ui.h:49 +msgid "Use keyboard shortcuts to activate apps" +msgstr "アプリのアクティブ化にキーボードショートカットを使用" + +#: Settings.ui.h:50 +msgid "Behaviour when clicking on the icon of a running application." +msgstr "実行中アプリケーションのアイコンをクリックしたときの動作を設定します。" + +#: Settings.ui.h:51 +msgid "Click action" +msgstr "クリック時のアクション" + +#: Settings.ui.h:52 +msgid "Minimize" +msgstr "ウィンドウの最小化" + +#: Settings.ui.h:53 +msgid "Behaviour when scrolling on the icon of an application." +msgstr "" +"実行中アプリケーションのアイコン上でスクロールしたときの動作を設定します。" + +#: Settings.ui.h:54 +msgid "Scroll action" +msgstr "スクロール時のアクション" + +#: Settings.ui.h:55 +msgid "Do nothing" +msgstr "何もしない" + +#: Settings.ui.h:56 +msgid "Switch workspace" +msgstr "ワークスペースの切り替え" + +#: Settings.ui.h:57 +msgid "Behavior" +msgstr "動作" + +#: Settings.ui.h:58 +msgid "" +"Few customizations meant to integrate the dock with the default GNOME theme. " +"Alternatively, specific options can be enabled below." +msgstr "" +"この設定がオンのときは、お使いの GNOME テーマとの調和を図るためカスタマイズは" +"無効になります。オフのときには以下のカスタマイズが可能です。" + +#: Settings.ui.h:59 +msgid "Use built-in theme" +msgstr "ビルトインテーマの使用" + +#: Settings.ui.h:60 +msgid "Save space reducing padding and border radius." +msgstr "境界線の太さとパディングを減らして表示域を小さくします。" + +#: Settings.ui.h:61 +msgid "Shrink the dash" +msgstr "Dash の縮小表示" + +#: Settings.ui.h:62 +msgid "Customize windows counter indicators" +msgstr "ウィンドウ数インジケーターの設定" + +#: Settings.ui.h:63 +msgid "Default" +msgstr "デフォルト" + +#: Settings.ui.h:64 +msgid "Dots" +msgstr "" + +#: Settings.ui.h:65 +msgid "Squares" +msgstr "" + +#: Settings.ui.h:66 +msgid "Dashes" +msgstr "" + +#: Settings.ui.h:67 +msgid "Segmented" +msgstr "" + +#: Settings.ui.h:68 +msgid "Solid" +msgstr "" + +#: Settings.ui.h:69 +msgid "Ciliora" +msgstr "" + +#: Settings.ui.h:70 +msgid "Metro" +msgstr "" + +#: Settings.ui.h:71 +msgid "Set the background color for the dash." +msgstr "Dash の背景色を設定します" + +#: Settings.ui.h:72 +msgid "Customize the dash color" +msgstr "Dash 背景色の設定" + +#: Settings.ui.h:73 +msgid "Tune the dash background opacity." +msgstr "Dash 背景の不透明度を調整します。" + +#: Settings.ui.h:75 +msgid "Fixed" +msgstr "固定" + +#: Settings.ui.h:76 +msgid "Dynamic" +msgstr "動的" + +#: Settings.ui.h:77 +msgid "Opacity" +msgstr "不透明度" + +#: Settings.ui.h:78 +msgid "Force straight corner" +msgstr "角を丸めない" + +#: Settings.ui.h:79 +msgid "Appearance" +msgstr "外観" + +#: Settings.ui.h:80 +msgid "version: " +msgstr "バージョン: " + +#: Settings.ui.h:81 +msgid "Moves the dash out of the overview transforming it in a dock" +msgstr "" +"Dash をドック化してアクティビティ画面以外でも Dash 操作を可能にします。" + +#: Settings.ui.h:82 +msgid "Created by" +msgstr "作者:" + +#: Settings.ui.h:83 +msgid "Webpage" +msgstr "ウェブページ" + +#: Settings.ui.h:84 +msgid "" +"This program comes with ABSOLUTELY NO WARRANTY.\n" +"See the GNU General Public License, version 2 or later for details." +msgstr "" +"このプログラムに保証は一切ありません。\n" +"詳しくは GNU 一般公衆ライセンス (GPL) バージョン 2 またはそれ以降のバージョン" +"をご覧ください。" + +#: Settings.ui.h:86 +msgid "About" +msgstr "情報" + +#: Settings.ui.h:87 +msgid "Customize minimum and maximum opacity values" +msgstr "不透明度の最小値と最大値の設定" + +#: Settings.ui.h:88 +msgid "Minimum opacity" +msgstr "最小不透明度" + +#: Settings.ui.h:89 +msgid "Maximum opacity" +msgstr "最大不透明度" + +#: Settings.ui.h:90 +msgid "Number overlay" +msgstr "番号の表示" + +#: Settings.ui.h:91 +msgid "" +"Temporarily show the application numbers over the icons, corresponding to " +"the shortcut." +msgstr "" +"ショートカットキーが押されたときに、アイコン上にアプリケーション番号を一時的" +"に表示します。" + +#: Settings.ui.h:92 +msgid "Show the dock if it is hidden" +msgstr "ドックが非表示なら一時的に表示" + +#: Settings.ui.h:93 +msgid "" +"If using autohide, the dock will appear for a short time when triggering the " +"shortcut." +msgstr "" +"ドックが表示されていない状態のとき、ショーカットキーで一時的にドックを表示し" +"ます。" + +#: Settings.ui.h:94 +msgid "Shortcut for the options above" +msgstr "上記設定のためのショートカットキー" + +#: Settings.ui.h:95 +msgid "Syntax: , , , " +msgstr "表記法: , , , " + +#: Settings.ui.h:96 +msgid "Hide timeout (s)" +msgstr "非表示までのタイムアウト (秒)" + +#: Settings.ui.h:97 +msgid "Show the dock by mouse hover on the screen edge." +msgstr "" +"ドックを表示したいとき、ポインターを画面端に移動するとドックが表示されます。" + +#: Settings.ui.h:98 +msgid "Autohide" +msgstr "オンデマンド表示" + +#: Settings.ui.h:99 +msgid "Push to show: require pressure to show the dock" +msgstr "" +"押し込んで表示 (画面外にポインターを移動するようにマウスを動かして表示)" + +#: Settings.ui.h:100 +msgid "Enable in fullscreen mode" +msgstr "フルスクリーンモード時でも表示" + +#: Settings.ui.h:101 +msgid "Show the dock when it doesn't obstruct application windows." +msgstr "" +"ドックを常に表示しますが、アプリケーションウィンドウと重なるときは表示しませ" +"ん。" + +#: Settings.ui.h:102 +msgid "Dodge windows" +msgstr "ウィンドウ重なり防止" + +#: Settings.ui.h:103 +msgid "All windows" +msgstr "すべてのウィンドウが対象" + +#: Settings.ui.h:104 +msgid "Only focused application's windows" +msgstr "フォーカスされたアプリケーションのウィンドウが対象" + +#: Settings.ui.h:105 +msgid "Only maximized windows" +msgstr "最大化されたウィンドウが対象" + +#: Settings.ui.h:106 +msgid "Animation duration (s)" +msgstr "アニメーション表示時間 (秒)" + +#: Settings.ui.h:107 +msgid "Show timeout (s)" +msgstr "表示までのタイムアウト (秒)" + +#: Settings.ui.h:108 +msgid "Pressure threshold" +msgstr "押し込み量 (ピクセル)" diff --git a/extensions/dash-to-dock/po/nb.po b/extensions/dash-to-dock/po/nb.po new file mode 100644 index 00000000..77a0f0db --- /dev/null +++ b/extensions/dash-to-dock/po/nb.po @@ -0,0 +1,506 @@ +# Norwegian Bokmål translation for Dash to Dock. +# Copyright (C) 2018 Michele +# This file is distributed under the same license as the dash-to-dock package. +# Harald H. , 2018. +# +msgid "" +msgstr "" +"Project-Id-Version: Dash-to-Dock\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2018-02-28 09:47+0100\n" +"PO-Revision-Date: 2018-03-02 11:02+0100\n" +"Language-Team: \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Poedit 1.8.7.1\n" +"Last-Translator: Harald H. \n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" +"Language: nb\n" + +#: prefs.js:131 +msgid "Primary monitor" +msgstr "Primærskjerm" + +#: prefs.js:140 prefs.js:147 +msgid "Secondary monitor " +msgstr "Sekundærskjerm" + +#: prefs.js:172 Settings.ui.h:26 +msgid "Right" +msgstr "Høyre" + +#: prefs.js:173 Settings.ui.h:23 +msgid "Left" +msgstr "Venstre" + +#: prefs.js:223 +msgid "Intelligent autohide customization" +msgstr "Tilpass intelligent autoskjul" + +#: prefs.js:230 prefs.js:415 prefs.js:472 +msgid "Reset to defaults" +msgstr "Tilbakestill til standard" + +#: prefs.js:408 +msgid "Show dock and application numbers" +msgstr "Vis dokk og programnumre" + +#: prefs.js:465 +msgid "Customize middle-click behavior" +msgstr "Tilpass oppførsel for mellomklikk" + +#: prefs.js:548 +msgid "Customize running indicators" +msgstr "Tilpass kjørende indikatorer" + +#: prefs.js:662 +#: Settings.ui.h:70 +msgid "Customize opacity" +msgstr "Tilpass gjennomsiktighet" + +#: appIcons.js:763 +msgid "All Windows" +msgstr "Alle vinduer" + +#. Translators: %s is "Settings", which is automatically translated. You +#. can also translate the full message if this fits better your language. +#: appIcons.js:1069 +#, javascript-format +msgid "Dash to Dock %s" +msgstr "Dash to Dock %s" + +#: Settings.ui.h:1 +msgid "" +"When set to minimize, double clicking minimizes all the windows of the " +"application." +msgstr "" +"Når satt til minimer vil dobbeltklikking minimere alle åpne instanser av " +"programmet." + +#: Settings.ui.h:2 +msgid "Shift+Click action" +msgstr "Handling for Shift + klikk" + +#: Settings.ui.h:3 +msgid "Raise window" +msgstr "Fremhev vindu" + +#: Settings.ui.h:4 +msgid "Minimize window" +msgstr "Minimer vindu" + +#: Settings.ui.h:5 +msgid "Launch new instance" +msgstr "Åpne ny instans" + +#: Settings.ui.h:6 +msgid "Cycle through windows" +msgstr "Veksle mellom vinduer" + +#: Settings.ui.h:7 +msgid "Minimize or overview" +msgstr "Minimer eller oversikt" + +#: Settings.ui.h:8 +msgid "Show window previews" +msgstr "Vis forhåndsvisning" + +#: Settings.ui.h:9 +msgid "Quit" +msgstr "Avslutt" + +#: Settings.ui.h:10 +msgid "Behavior for Middle-Click." +msgstr "Oppførsel for mellomklikk." + +#: Settings.ui.h:11 +msgid "Middle-Click action" +msgstr "Mellomklikk" + +#: Settings.ui.h:12 +msgid "Behavior for Shift+Middle-Click." +msgstr "Oppførsel for Shift + mellomklikk." + +#: Settings.ui.h:13 +msgid "Shift+Middle-Click action" +msgstr "Shift + mellomklikk" + +#: Settings.ui.h:14 +msgid "Enable Unity7 like glossy backlit items" +msgstr "Aktiver Unity7-lignende bakgrunnsglans" + +#: Settings.ui.h:15 +msgid "Use dominant color" +msgstr "Bruk dominerende farge" + +#: Settings.ui.h:16 +msgid "Customize indicator style" +msgstr "Tilpass indikatorstil" + +#: Settings.ui.h:17 +msgid "Color" +msgstr "Farge" + +#: Settings.ui.h:18 +msgid "Border color" +msgstr "Kantfarge" + +#: Settings.ui.h:19 +msgid "Border width" +msgstr "Kantbredde" + +#: Settings.ui.h:20 +msgid "Show the dock on" +msgstr "Vis dokken på" + +#: Settings.ui.h:21 +msgid "Show on all monitors." +msgstr "Vis på alle skjermer." + +#: Settings.ui.h:22 +msgid "Position on screen" +msgstr "Skjermposisjon" + +#: Settings.ui.h:24 +msgid "Bottom" +msgstr "Bunn" + +#: Settings.ui.h:25 +msgid "Top" +msgstr "Topp" + +#: Settings.ui.h:27 +msgid "" +"Hide the dock when it obstructs a window of the current application. More " +"refined settings are available." +msgstr "" +"Skjul dokken når den forstyrrer et aktivt programvindu. Flere innstillinger " +"er tilgjengelig." + +#: Settings.ui.h:28 +msgid "Intelligent autohide" +msgstr "Intelligent autoskjul" + +#: Settings.ui.h:29 +msgid "Dock size limit" +msgstr "Maks dokkstørrelse" + +#: Settings.ui.h:30 +msgid "Panel mode: extend to the screen edge" +msgstr "Panelmodus: strekker seg til skjermkanten" + +#: Settings.ui.h:31 +msgid "Icon size limit" +msgstr "Ikonstørrelse" + +#: Settings.ui.h:32 +msgid "Fixed icon size: scroll to reveal other icons" +msgstr "Fast ikonstørrelse: rull for vise andre ikoner" + +#: Settings.ui.h:33 +msgid "Position and size" +msgstr "Posisjon og størrelse" + +#: Settings.ui.h:34 +msgid "Show favorite applications" +msgstr "Vis favorittprogrammer" + +#: Settings.ui.h:35 +msgid "Show running applications" +msgstr "Vis kjørende programmer" + +#: Settings.ui.h:36 +msgid "Isolate workspaces." +msgstr "Isoler arbeidsområder." + +#: Settings.ui.h:37 +msgid "Isolate monitors." +msgstr "Isoler skjermer." + +#: Settings.ui.h:38 +msgid "Show open windows previews." +msgstr "Vis forhåndsvisning av åpne vinduer." + +#: Settings.ui.h:39 +msgid "" +"If disabled, these settings are accessible from gnome-tweak-tool or the " +"extension website." +msgstr "" +"Om deaktivert er disse innstillingene tilgjengelig i gnome-tweak-tool eller " +"på nettsiden for utvidelser." + +#: Settings.ui.h:40 +msgid "Show Applications icon" +msgstr "Vis programmer ikon" + +#: Settings.ui.h:41 +msgid "Move the applications button at the beginning of the dock." +msgstr "Flytt programmer-knappen til starten av dokken." + +#: Settings.ui.h:42 +msgid "Animate Show Applications." +msgstr "Animere Vis programmer." + +#: Settings.ui.h:43 +msgid "Launchers" +msgstr "Utløsere" + +#: Settings.ui.h:44 +msgid "" +"Enable Super+(0-9) as shortcuts to activate apps. It can also be used " +"together with Shift and Ctrl." +msgstr "" +"Bruk Super+(0-9) som snarvei for å aktivere apper. Den kan også brukes i " +"kombinasjon med Shift og Ctrl." + +#: Settings.ui.h:45 +msgid "Use keyboard shortcuts to activate apps" +msgstr "Bruk tastatursnarveier for å åpne apper" + +#: Settings.ui.h:46 +msgid "Behaviour when clicking on the icon of a running application." +msgstr "Oppførsel når du klikker på ikonet for et åpent program." + +#: Settings.ui.h:47 +msgid "Click action" +msgstr "Klikkhandling" + +#: Settings.ui.h:48 +msgid "Minimize" +msgstr "Minimer" + +#: Settings.ui.h:49 +msgid "Behaviour when scrolling on the icon of an application." +msgstr "Oppførsel ved rulling over et programikon." + +#: Settings.ui.h:50 +msgid "Scroll action" +msgstr "Rullehandling" + +#: Settings.ui.h:51 +msgid "Do nothing" +msgstr "Ikke gjør noe" + +#: Settings.ui.h:52 +msgid "Switch workspace" +msgstr "Bytt arbeidsområde" + +#: Settings.ui.h:53 +msgid "Behavior" +msgstr "Oppførsel" + +#: Settings.ui.h:54 +msgid "" +"Few customizations meant to integrate the dock with the default GNOME theme. " +"Alternatively, specific options can be enabled below." +msgstr "" +"Enkelte tilpasninger som forsøker å integrere dokken med det standard GNOME-" +"temaet. Alternativt kan bestemte valg aktiveres nedenfor." + +#: Settings.ui.h:55 +msgid "Use built-in theme" +msgstr "Bruk innebygget tema" + +#: Settings.ui.h:56 +msgid "Save space reducing padding and border radius." +msgstr "Spar plass ved å redusere utfylling og kant-radius." + +#: Settings.ui.h:57 +msgid "Shrink the dash" +msgstr "Krymp dash" + +#: Settings.ui.h:58 +msgid "Customize windows counter indicators" +msgstr "Tilpass vinduenes nummer-indikatorer" + +#: Settings.ui.h:59 +msgid "Default" +msgstr "Standard" + +#: Settings.ui.h:60 +msgid "Dots" +msgstr "Prikker" + +#: Settings.ui.h:61 +msgid "Squares" +msgstr "Firkanter" + +#: Settings.ui.h:62 +msgid "Dashes" +msgstr "Streker" + +#: Settings.ui.h:63 +msgid "Segmented" +msgstr "Segmentert" + +#: Settings.ui.h:64 +msgid "Solid" +msgstr "Solid" + +#: Settings.ui.h:65 +msgid "Ciliora" +msgstr "Ciliora" + +#: Settings.ui.h:66 +msgid "Metro" +msgstr "Metro" + +#: Settings.ui.h:67 +msgid "Set the background color for the dash." +msgstr "Avgjør bakgrunnsfargen." + +#: Settings.ui.h:68 +msgid "Customize the dash color" +msgstr "Tilpass fargen" + +#: Settings.ui.h:69 +msgid "Tune the dash background opacity." +msgstr "Justere bakgrunnens gjennomsiktighet." + +#: Settings.ui.h:71 +msgid "Fixed" +msgstr "Fast" + +#: Settings.ui.h:72 +msgid "Adaptive" +msgstr "Adaptiv" + +#: Settings.ui.h:73 +msgid "Dynamic" +msgstr "Dynamisk" + +#: Settings.ui.h:74 +msgid "Opacity" +msgstr "Gjennomsiktighet" + +#: Settings.ui.h:75 +msgid "Force straight corner\n" +msgstr "Tving rette hjørner\n" + +#: Settings.ui.h:77 +msgid "Appearance" +msgstr "Utseende" + +#: Settings.ui.h:78 +msgid "version: " +msgstr "versjon: " + +#: Settings.ui.h:79 +msgid "Moves the dash out of the overview transforming it in a dock" +msgstr "Flytter dash ut av oversikten og omformer den til en dokk" + +#: Settings.ui.h:80 +msgid "Created by" +msgstr "Laget av" + +#: Settings.ui.h:81 +msgid "Webpage" +msgstr "Nettside" + +#: Settings.ui.h:82 +msgid "" +"This program comes with ABSOLUTELY NO WARRANTY.\n" +"See the GNU General Public License, version 2 or later for details." +msgstr "" +"Dette programmet leveres med ABSOLUTT INGEN GARANTI.\n" +"Se GNU " +"General Public License, versjon 2 eller senere for detaljer." + +#: Settings.ui.h:84 +msgid "About" +msgstr "Om" + +#: Settings.ui.h:85 +msgid "Customize minimum and maximum opacity values" +msgstr "Tilpass verdier for minimum og maks gjennomsiktighet" + +#: Settings.ui.h:86 +msgid "Minimum opacity" +msgstr "Minimum gjennomsiktighet" + +#: Settings.ui.h:87 +msgid "Maximum opacity" +msgstr "Maksimum gjennomsiktighet" + +#: Settings.ui.h:88 +msgid "Number overlay" +msgstr "Nummerert overlag" + +#: Settings.ui.h:89 +msgid "" +"Temporarily show the application numbers over the icons, corresponding to " +"the shortcut." +msgstr "Midlertidig vis programnummer over ikoner, som svarer til snarveien." + +#: Settings.ui.h:90 +msgid "Show the dock if it is hidden" +msgstr "Vis dokken om den er skjult" + +#: Settings.ui.h:91 +msgid "" +"If using autohide, the dock will appear for a short time when triggering the " +"shortcut." +msgstr "" +"Om autoskjul er i bruk vil dokken vises en kort stund når snarveien utløses." + +#: Settings.ui.h:92 +msgid "Shortcut for the options above" +msgstr "Snarvei for valgene ovenfor" + +#: Settings.ui.h:93 +msgid "Syntax: , , , " +msgstr "Syntaks: , , , " + +#: Settings.ui.h:94 +msgid "Hide timeout (s)" +msgstr "Skjuleperiode (s)" + +#: Settings.ui.h:95 +msgid "Show the dock by mouse hover on the screen edge." +msgstr "Vis dokken når musepekeren holdes langs skjermkanten." + +#: Settings.ui.h:96 +msgid "Autohide" +msgstr "Autoskjul" + +#: Settings.ui.h:97 +msgid "Push to show: require pressure to show the dock" +msgstr "Dytt for å vise: krev et økt trykk for å vise dokken" + +#: Settings.ui.h:98 +msgid "Enable in fullscreen mode" +msgstr "Aktiver i fullskjermmodus" + +#: Settings.ui.h:99 +msgid "Show the dock when it doesn't obstruct application windows." +msgstr "Vis dokken når den ikke forstyrrer programvinduer." + +#: Settings.ui.h:100 +msgid "Dodge windows" +msgstr "Smett unna vinduer" + +#: Settings.ui.h:101 +msgid "All windows" +msgstr "Alle vinduer" + +#: Settings.ui.h:102 +msgid "Only focused application's windows" +msgstr "Kun fokuserte programvinduer" + +#: Settings.ui.h:103 +msgid "Only maximized windows" +msgstr "Kun maksimerte programvinduer" + +#: Settings.ui.h:104 +msgid "Animation duration (s)" +msgstr "Animasjonsvarighet (s)" + +#: Settings.ui.h:105 +msgid "Show timeout (s)" +msgstr "Visningslengde (s)" + +#: Settings.ui.h:106 +msgid "Pressure threshold" +msgstr "Trykkterskel" diff --git a/extensions/dash-to-dock/po/nl.po b/extensions/dash-to-dock/po/nl.po new file mode 100644 index 00000000..ea742c74 --- /dev/null +++ b/extensions/dash-to-dock/po/nl.po @@ -0,0 +1,662 @@ +# Translation for de +# Copyright (C) 2014 Michele +# This file is distributed under the same license as the dash-to-dock package. +# +# Morris Jobke , 2014. +# Jonatan Zeidler , 2012. +# jonius , 2012. +# Heimen Stoffels , 2015, 2019. +msgid "" +msgstr "" +"Project-Id-Version: Dash to Dock\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2019-10-10 20:27+0200\n" +"PO-Revision-Date: 2019-10-10 20:46+0200\n" +"Last-Translator: Heimen Stoffels \n" +"Language-Team: Dutch \n" +"Language: de\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Lokalize 19.11.70\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#: prefs.js:264 +msgid "Primary monitor" +msgstr "Primair beeldscherm" + +#: prefs.js:273 prefs.js:280 +msgid "Secondary monitor " +msgstr "Secundair beeldscherm" + +#: prefs.js:305 Settings.ui.h:28 +msgid "Right" +msgstr "Rechts" + +#: prefs.js:306 Settings.ui.h:25 +msgid "Left" +msgstr "Links" + +#: prefs.js:356 +msgid "Intelligent autohide customization" +msgstr "Voorkeuren voor slim verbergen" + +#: prefs.js:363 prefs.js:556 prefs.js:612 +msgid "Reset to defaults" +msgstr "Standaardwaarden" + +#: prefs.js:549 +msgid "Show dock and application numbers" +msgstr "Dock en programmanummers tonen" + +#: prefs.js:605 +msgid "Customize middle-click behavior" +msgstr "Middelste muisknop-gedrag aanpassen" + +#: prefs.js:688 +msgid "Customize running indicators" +msgstr "Indicatoren van draaiende programma's aanpassen" + +#: prefs.js:800 +#: Settings.ui.h:74 +msgid "Customize opacity" +msgstr "Doorzichtigheid aanpassen" + +#: appIcons.js:809 +msgid "All Windows" +msgstr "Alle vensters" + +#. Translators: %s is "Settings", which is automatically translated. You +#. can also translate the full message if this fits better your language. +#: appIcons.js:1126 +#, javascript-format +msgid "Dash to Dock %s" +msgstr "Dash to Dock %s" + +#: Settings.ui.h:1 +msgid "" +"When set to minimize, double clicking minimizes all the windows of the " +"application." +msgstr "" +"Als je gekozen hebt voor minimaliseren, dan zorgt dubbelklikken ervoor dat " +"alle vensters van het huidige programma worden geminimaliseerd." + +#: Settings.ui.h:2 +msgid "Shift+Click action" +msgstr "Shift+klikken-actie" + +#: Settings.ui.h:3 +msgid "Raise window" +msgstr "Venster naar voren halen" + +#: Settings.ui.h:4 +msgid "Minimize window" +msgstr "Venster minimalisren" + +#: Settings.ui.h:5 +msgid "Launch new instance" +msgstr "Nieuw proces openen" + +#: Settings.ui.h:6 +msgid "Cycle through windows" +msgstr "Schakelen tussen vensters" + +#: Settings.ui.h:7 +msgid "Minimize or overview" +msgstr "Minimaliseren of activiteitenoverzicht" + +#: Settings.ui.h:8 +msgid "Show window previews" +msgstr "Venstervoorbeelden tonen" + +#: Settings.ui.h:9 +msgid "Minimize or show previews" +msgstr "Minimaliseren of voorbeelden tonen" + +#: Settings.ui.h:10 +msgid "Focus or show previews" +msgstr "Focussen of voorbeelden tonen" + +#: Settings.ui.h:11 +msgid "Quit" +msgstr "Afsluiten" + +#: Settings.ui.h:12 +msgid "Behavior for Middle-Click." +msgstr "Wat er gebeurt bij middelklikken." + +#: Settings.ui.h:13 +msgid "Middle-Click action" +msgstr "Middelklikactie" + +#: Settings.ui.h:14 +msgid "Behavior for Shift+Middle-Click." +msgstr "Wat er gebeurt bij Shift+middelklikken." + +#: Settings.ui.h:15 +msgid "Shift+Middle-Click action" +msgstr "Shift+middelklik-actie" + +#: Settings.ui.h:16 +msgid "Enable Unity7 like glossy backlit items" +msgstr "Unity7-achtige itemachtergrond gebruiken" + +#: Settings.ui.h:17 +msgid "Use dominant color" +msgstr "Dominante kleur gebruiken" + +#: Settings.ui.h:18 +msgid "Customize indicator style" +msgstr "Indicatorstijl aanpassen" + +#: Settings.ui.h:19 +msgid "Color" +msgstr "Kleur" + +#: Settings.ui.h:20 +msgid "Border color" +msgstr "Randkleur" + +#: Settings.ui.h:21 +msgid "Border width" +msgstr "Randbreedte" + +#: Settings.ui.h:22 +msgid "Show the dock on" +msgstr "Dock tonen op" + +#: Settings.ui.h:23 +msgid "Show on all monitors." +msgstr "Tonen op alle beeldschermen." + +#: Settings.ui.h:24 +msgid "Position on screen" +msgstr "Positie op het scherm" + +#: Settings.ui.h:26 +msgid "Bottom" +msgstr "Onderaan" + +#: Settings.ui.h:27 +msgid "Top" +msgstr "Bovenaan" + +#: Settings.ui.h:29 +msgid "" +"Hide the dock when it obstructs a window of the current application. More " +"refined settings are available." +msgstr "" +"Verberg het dock als het een venster van het huidige programma in de weg " +"zit. Er zijn uitgebreide instellingen hiervoor beschikbaar." + +#: Settings.ui.h:30 +msgid "Intelligent autohide" +msgstr "Slim verbergen" + +#: Settings.ui.h:31 +msgid "Dock size limit" +msgstr "Maximale dockgrootte" + +#: Settings.ui.h:32 +msgid "Panel mode: extend to the screen edge" +msgstr "Paneelmodus: uitrekken tot aan de schermrand" + +#: Settings.ui.h:33 +msgid "Icon size limit" +msgstr "Maximale pictogramgrootte" + +#: Settings.ui.h:34 +msgid "Fixed icon size: scroll to reveal other icons" +msgstr "" +"Vastgezette pictogramgrootte: scroll om meer pictogrammen weer te geven" + +#: Settings.ui.h:35 +msgid "Position and size" +msgstr "Positie en grootte" + +#: Settings.ui.h:36 +msgid "Show favorite applications" +msgstr "Favoriete programma's tonen" + +#: Settings.ui.h:37 +msgid "Show running applications" +msgstr "Geopende programma's tonen" + +#: Settings.ui.h:38 +msgid "Isolate workspaces." +msgstr "Werkbladen isoleren." + +#: Settings.ui.h:39 +msgid "Isolate monitors." +msgstr "Beeldschermen isoleren." + +#: Settings.ui.h:40 +msgid "Show open windows previews." +msgstr "Voorbeelden van geopende vensters tonen." + +#: Settings.ui.h:41 +msgid "" +"If disabled, these settings are accessible from gnome-tweak-tool or the " +"extension website." +msgstr "" +"Als je dit uitschakelt, dan zijn deze instellingen toegankelijk via gnome-" +"tweaks of de extensiesite." + +#: Settings.ui.h:42 +msgid "Show Applications icon" +msgstr "Pictogram voor Alle programma's tonen" + +#: Settings.ui.h:43 +msgid "Move the applications button at the beginning of the dock." +msgstr "Verplaatst de 'Alle programma's'-knop naar het begin van het dock." + +#: Settings.ui.h:44 +msgid "Animate Show Applications." +msgstr "Animatie na klikken op Alle programma's tonen." + +#: Settings.ui.h:45 +msgid "Show trash can" +msgstr "Prullenbak tonen" + +#: Settings.ui.h:46 +msgid "Show mounted volumes and devices" +msgstr "Aangekoppelde schijven en apparaten tonen" + +#: Settings.ui.h:47 +msgid "Launchers" +msgstr "Starters" + +#: Settings.ui.h:48 +msgid "" +"Enable Super+(0-9) as shortcuts to activate apps. It can also be used " +"together with Shift and Ctrl." +msgstr "" +"Gebruik Super+(0-9) om programma's te openen en focussen. Kan ook worden " +"gebruikt met Shift en Ctrl." + +#: Settings.ui.h:49 +msgid "Use keyboard shortcuts to activate apps" +msgstr "Sneltoetsen gebruiken om programma's te openen/focussen" + +#: Settings.ui.h:50 +msgid "Behaviour when clicking on the icon of a running application." +msgstr "" +"Wat er gebeurt bij het klikken op het pictogram van een geopend programma." + +#: Settings.ui.h:51 +msgid "Click action" +msgstr "Klikactie" + +#: Settings.ui.h:52 +msgid "Minimize" +msgstr "Minimaliseren" + +#: Settings.ui.h:53 +msgid "Behaviour when scrolling on the icon of an application." +msgstr "" +"Wat er gebeurt bij het scrollen op het pictogram van een geopend programma." + +#: Settings.ui.h:54 +msgid "Scroll action" +msgstr "Scrollactie" + +#: Settings.ui.h:55 +msgid "Do nothing" +msgstr "Niets doen" + +#: Settings.ui.h:56 +msgid "Switch workspace" +msgstr "Van werkblad wisselen" + +#: Settings.ui.h:57 +msgid "Behavior" +msgstr "Gedrag" + +#: Settings.ui.h:58 +msgid "" +"Few customizations meant to integrate the dock with the default GNOME theme. " +"Alternatively, specific options can be enabled below." +msgstr "" +"Enkele aanpassingen, bedoeld om het dock te integreren met het standaard " +"GNOME-thema. In plaats daarvan kun je hieronder specifieke opties inschakelen." + +#: Settings.ui.h:59 +msgid "Use built-in theme" +msgstr "Ingebouwd thema gebruiken" + +#: Settings.ui.h:60 +msgid "Save space reducing padding and border radius." +msgstr "Bespaar ruimte door de straal van de dikte en rand te verkleinen." + +#: Settings.ui.h:61 +msgid "Shrink the dash" +msgstr "Snelstarter verkleinen" + +#: Settings.ui.h:62 +msgid "Customize windows counter indicators" +msgstr "Vensterindicatoren aanpassen" + +#: Settings.ui.h:63 +msgid "Default" +msgstr "Standaard" + +#: Settings.ui.h:64 +msgid "Dots" +msgstr "Stipjes" + +#: Settings.ui.h:65 +msgid "Squares" +msgstr "Vierkantjes" + +#: Settings.ui.h:66 +msgid "Dashes" +msgstr "Streepjes" + +#: Settings.ui.h:67 +msgid "Segmented" +msgstr "Gesegmenteerd" + +#: Settings.ui.h:68 +msgid "Solid" +msgstr "Vast" + +#: Settings.ui.h:69 +msgid "Ciliora" +msgstr "Ciliora" + +#: Settings.ui.h:70 +msgid "Metro" +msgstr "Metro" + +#: Settings.ui.h:71 +msgid "Set the background color for the dash." +msgstr "Stel de achtergrondkleur in van de snelstarter." + +#: Settings.ui.h:72 +msgid "Customize the dash color" +msgstr "Snelstarterkleur aanpassen" + +#: Settings.ui.h:73 +msgid "Tune the dash background opacity." +msgstr "Pas de doorzichtigheid van de snelstarterachtergrond aan." + +#: Settings.ui.h:75 +msgid "Fixed" +msgstr "Vooringesteld" + +#: Settings.ui.h:76 +msgid "Dynamic" +msgstr "Dynamisch" + +#: Settings.ui.h:77 +msgid "Opacity" +msgstr "Doorzichtigheid" + +#: Settings.ui.h:78 +msgid "Force straight corner\n" +msgstr "Rechte hoek afdwingen\n" + +#: Settings.ui.h:80 +msgid "Appearance" +msgstr "Uiterlijk" + +#: Settings.ui.h:81 +msgid "version: " +msgstr "versie: " + +#: Settings.ui.h:82 +msgid "Moves the dash out of the overview transforming it in a dock" +msgstr "" +"Toont de snelstarter buiten het activiteitenoverzicht zodat het een dock " +"wordt" + +#: Settings.ui.h:83 +msgid "Created by" +msgstr "Gemaakt door" + +#: Settings.ui.h:84 +msgid "Webpage" +msgstr "Website" + +#: Settings.ui.h:85 +msgid "" +"This program comes with ABSOLUTELY NO WARRANTY.\n" +"See the GNU General Public License, version 2 or later for details." +msgstr "" +"Dit programma wordt geleverd ZONDER ENIGE GARANTIE.\n" +"Lees de GNU General Public License, versie 2 of nieuwer, voor meer informatie." +"" + +#: Settings.ui.h:87 +msgid "About" +msgstr "Over" + +#: Settings.ui.h:88 +msgid "Customize minimum and maximum opacity values" +msgstr "Minimum- en maximumwaarden van doorzichtigheid aanpassen" + +#: Settings.ui.h:89 +msgid "Minimum opacity" +msgstr "Minimale doorzichtigheid" + +#: Settings.ui.h:90 +msgid "Maximum opacity" +msgstr "Maximale doorzichtigheid" + +#: Settings.ui.h:91 +msgid "Number overlay" +msgstr "Nummers tonen" + +#: Settings.ui.h:92 +msgid "" +"Temporarily show the application numbers over the icons, corresponding to " +"the shortcut." +msgstr "" +"Toon tijdelijk de programmanummers, behorende bij de sneltoets, op de " +"pictogrammen." + +#: Settings.ui.h:93 +msgid "Show the dock if it is hidden" +msgstr "Dock tonen indien verborgen" + +#: Settings.ui.h:94 +msgid "" +"If using autohide, the dock will appear for a short time when triggering the " +"shortcut." +msgstr "" +"Als je automatisch verbergen gebruikt, dan wordt het dock, middels de " +"sneltoets, korte tijd getoond." + +#: Settings.ui.h:95 +msgid "Shortcut for the options above" +msgstr "Sneltoets voor bovenstaande opties" + +#: Settings.ui.h:96 +msgid "Syntax: , , , " +msgstr "Syntax: , , , " + +#: Settings.ui.h:97 +msgid "Hide timeout (s)" +msgstr "Verberginterval (s)" + +#: Settings.ui.h:98 +msgid "Show the dock by mouse hover on the screen edge." +msgstr "Dock tonen door de muiscursor op de schermrand te plaatsen." + +#: Settings.ui.h:99 +msgid "Autohide" +msgstr "Automatisch verbergen" + +#: Settings.ui.h:100 +msgid "Push to show: require pressure to show the dock" +msgstr "Tonen middels druk: druk toepassen om het dock te tonen" + +#: Settings.ui.h:101 +msgid "Enable in fullscreen mode" +msgstr "Inschakelen in beeldvullende modus" + +#: Settings.ui.h:102 +msgid "Show the dock when it doesn't obstruct application windows." +msgstr "Toon het dock als het geen programmavensters in de weg zit." + +#: Settings.ui.h:103 +msgid "Dodge windows" +msgstr "Vensters ontwijken" + +#: Settings.ui.h:104 +msgid "All windows" +msgstr "Alle vensters" + +#: Settings.ui.h:105 +msgid "Only focused application's windows" +msgstr "Alleen gefocuste programmavensters" + +#: Settings.ui.h:106 +msgid "Only maximized windows" +msgstr "Alleen gemaximaliseerde vensters" + +#: Settings.ui.h:107 +msgid "Animation duration (s)" +msgstr "Animatieduur (s)" + +#: Settings.ui.h:108 +msgid "Show timeout (s)" +msgstr "Weergave-interval (s)" + +#: Settings.ui.h:109 +msgid "Pressure threshold" +msgstr "Drukwaarde" + +#~ msgid "Show a dot for each windows of the application." +#~ msgstr "Toon een stip voor elk geopend venster." + +#~ msgid "0.000" +#~ msgstr "0.000" + +#, fuzzy +#~ msgid "" +#~ "With fixed icon size, only the edge of the dock and the Show " +#~ "Applications icon are active." +#~ msgstr "" +#~ "Het gebied nabij de schermrand en de Applicaties weergeven-knop " +#~ "zijn actief." + +#~ msgid "Switch workspace by scrolling on the dock" +#~ msgstr "Van werkblad wisselen door te scrollen op het dock" + +#~ msgid "Only consider windows of the focused application" +#~ msgstr "Alleen vensters van de huidige gefocuste applicatie overwegen" + +#~ msgid "Main Settings" +#~ msgstr "Grundeinstellungen" + +#~ msgid "Dock Position" +#~ msgstr "Dock-Position" + +#~ msgid "Dock is fixed and always visible" +#~ msgstr "Das Dock hat eine feste Position und ist immer sichtbar" + +#~ msgid "Show delay [ms]" +#~ msgstr "Einblendeverzögerung [ms]" + +#~ msgid "Hide delay [ms]" +#~ msgstr "Ausblendeverzögerung [ms]" + +#~ msgid "Application based intellihide" +#~ msgstr "Anwendungsbasiertes intelligentes Verstecken" + +#~ msgid "Show the dock on following monitor (if attached)" +#~ msgstr "Zeige Dock auf folgendem Monitor (falls angeschlossen)" + +#~ msgid "Primary (default)" +#~ msgstr "Primäranzeige (Standard)" + +#~ msgid "1" +#~ msgstr "1" + +#~ msgid "2" +#~ msgstr "2" + +#~ msgid "3" +#~ msgstr "3" + +#~ msgid "4" +#~ msgstr "4" + +#~ msgid "Max height" +#~ msgstr "Maximale Höhe" + +#~ msgid "Expand (experimental and buggy)" +#~ msgstr "Komplette Höhe (experimentell und fehlerbehaftet)" + +#~ msgid "Maximum icon size" +#~ msgstr "Maximale Symbolgröße" + +#~ msgid "16" +#~ msgstr "16" + +#~ msgid "24" +#~ msgstr "24" + +#~ msgid "32" +#~ msgstr "32" + +#~ msgid "48" +#~ msgstr "48" + +#~ msgid "64" +#~ msgstr "64" + +#~ msgid "Optional features" +#~ msgstr "Optionale Funktionen" + +#~ msgid "Deadtime between each workspace switching [ms]" +#~ msgstr "Stillstandszeit zwischen Arbeitsflächenwechsel [ms]" + +#~ msgid "Only a 1px wide area close to the screen edge is active" +#~ msgstr "Nur einen 1 Pixel-breiten Bereich am Rand nutzen" + +#~ msgid "All the area of the dock is active" +#~ msgstr "Den gesamten Bereich des Docks nutzen" + +#~ msgid "Customize actions on mouse click" +#~ msgstr "Aktion bei Mausklick anpassen" + +#~ msgid "Action on clicking on running app" +#~ msgstr "Aktion beim Klicken auf eine laufende Anwendung" + +#~ msgid "Minimize window on shift+click (double click for all app windows)" +#~ msgstr "" +#~ "Fenster mit Shift+Klick minimieren (Doppelklick für alle Fenster der " +#~ "Anwendung)" + +#~ msgid "Appearence and Themes" +#~ msgstr "Erscheinungsbild und Themen" + +#~ msgid "" +#~ "A customized theme is built in the extension. This is meant to work with " +#~ "the default Adwaita theme: the dash is shrunk to save space, its " +#~ "background transparency reduced, and custom indicators for the number of " +#~ "windows of each application are added." +#~ msgstr "" +#~ "Ein angepasstes Thema ist in dieser Erweiterung enthalten. Es ist für das " +#~ "Vorgabe-Adwaita-Thema gedacht: Das Dash ist schmaler, um Platz zu sparen, " +#~ "die Hintergrundtransparenz ist reduziert und für jede Anwendung wird ein " +#~ "Indikator für die Anzahl der Fenster eingefügt." + +#~ msgid "" +#~ "Alternatively, for a better integration with custom themes, each " +#~ "customization can be applied indipendently" +#~ msgstr "" +#~ "Alternativ können für eine bessere Integration Anpassungen vorgenommen " +#~ "werden" + +#~ msgid "Shrink the dash size by reducing padding" +#~ msgstr "Das Dash schmaler machen durch Verkleinern des Abstands zum Rand" + +#~ msgid "Apply custom theme (work only with the default Adwaita theme)" +#~ msgstr "" +#~ "Benutzerdefiniertes Theme verwenden (funktioniert nur mit dem Standard-" +#~ "Adwaita-Theme)" diff --git a/extensions/dash-to-dock/po/pl.po b/extensions/dash-to-dock/po/pl.po new file mode 100644 index 00000000..b45c00a0 --- /dev/null +++ b/extensions/dash-to-dock/po/pl.po @@ -0,0 +1,558 @@ +# Polish translation for dash-to-dock GNOME Shell extension +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the dash-to-dock package. +# +# +# Piotr Sokół , 2012, 2013, 2015, 2016, 2017. +# +msgid "" +msgstr "" +"Project-Id-Version: 55\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2019-10-10 10:10+0200\n" +"PO-Revision-Date: 2019-10-10 10:31+0200\n" +"Last-Translator: Piotr Sokół \n" +"Language-Team: polski <>\n" +"Language: pl\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=3; plural=n==1 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 " +"|| n%100>=20) ? 1 : 2;\n" +"X-Generator: Poedit 2.2.3\n" + +#: prefs.js:264 +msgid "Primary monitor" +msgstr "Podstawowy" + +#: prefs.js:273 prefs.js:280 +msgid "Secondary monitor " +msgstr "Drugorzędny " + +#: prefs.js:305 Settings.ui.h:28 +msgid "Right" +msgstr "Po prawej" + +#: prefs.js:306 Settings.ui.h:25 +msgid "Left" +msgstr "Po lewej" + +#: prefs.js:356 +msgid "Intelligent autohide customization" +msgstr "Dostosowanie automatycznego ukrywania" + +#: prefs.js:363 prefs.js:556 prefs.js:612 +msgid "Reset to defaults" +msgstr "Przywróć domyślne" + +#: prefs.js:549 +msgid "Show dock and application numbers" +msgstr "Wyświetlanie doku i numerów programów" + +#: prefs.js:605 +msgid "Customize middle-click behavior" +msgstr "Dostosowanie działania przycisków myszy" + +#: prefs.js:688 +msgid "Customize running indicators" +msgstr "Dostosowanie wskaźników okien" + +#: prefs.js:800 +#: Settings.ui.h:74 +msgid "Customize opacity" +msgstr "Dostosowanie nieprzejrzystości" + +#: appIcons.js:809 +msgid "All Windows" +msgstr "Wszystkie okna" + +#. Translators: %s is "Settings", which is automatically translated. You +#. can also translate the full message if this fits better your language. +#: appIcons.js:1126 +#, javascript-format +msgid "Dash to Dock %s" +msgstr "%s Dash to Dock" + +#: locations.js:65 +msgid "Trash" +msgstr "Kosz" + +#: locations.js:74 +msgid "Empty Trash" +msgstr "Pusty kosz" + +#: locations.js:182 +msgid "Mount" +msgstr "Zamontuj" + +#: locations.js:225 +msgid "Eject" +msgstr "Wysuń" + +#: locations.js:230 +msgid "Unmount" +msgstr "Odmontuj" + +#: Settings.ui.h:1 +msgid "" +"When set to minimize, double clicking minimizes all the windows of the " +"application." +msgstr "" +"Wybranie zminimalizowania okna, umożliwia minimalizowanie wszystkich okien " +"programu dwukrotnym kliknięciem" + +#: Settings.ui.h:2 +msgid "Shift+Click action" +msgstr "Kliknięcia lewym przyciskiem + Shift" + +#: Settings.ui.h:3 +msgid "Raise window" +msgstr "Przywrócenie okna" + +#: Settings.ui.h:4 +msgid "Minimize window" +msgstr "Zminimalizowanie okna" + +#: Settings.ui.h:5 +msgid "Launch new instance" +msgstr "Otwarcie nowego okna" + +#: Settings.ui.h:6 +msgid "Cycle through windows" +msgstr "Przełączenie pomiędzy oknami" + +#: Settings.ui.h:7 +msgid "Minimize or overview" +msgstr "Zminimalizowanie lub ekran podglądu" + +#: Settings.ui.h:8 +msgid "Show window previews" +msgstr "Wyświetlenie podglądu okien" + +#: Settings.ui.h:9 +#, fuzzy +#| msgid "Minimize or overview" +msgid "Minimize or show previews" +msgstr "Zminimalizowanie lub ekran podglądu" + +#: Settings.ui.h:10 +#, fuzzy +#| msgid "Show window previews" +msgid "Focus or show previews" +msgstr "Wyświetlenie podglądu okien" + +#: Settings.ui.h:11 +msgid "Quit" +msgstr "Zakończenie działania" + +#: Settings.ui.h:12 +msgid "Behavior for Middle-Click." +msgstr "Konfiguruje działanie kliknięcia środkowym przyciskiem myszy" + +#: Settings.ui.h:13 +msgid "Middle-Click action" +msgstr "Kliknięcie środkowym przyciskiem" + +#: Settings.ui.h:14 +msgid "Behavior for Shift+Middle-Click." +msgstr "" +"Konfiguruje działanie kliknięcia środkowym przyciskiem myszy z przytrzymanym " +"klawiszem Shift" + +#: Settings.ui.h:15 +msgid "Shift+Middle-Click action" +msgstr "Kliknięcie środkowym przyciskiem + Shift" + +#: Settings.ui.h:16 +msgid "Enable Unity7 like glossy backlit items" +msgstr "Podświetlenie elementów w stylu Unity7" + +#: Settings.ui.h:17 +msgid "Use dominant color" +msgstr "Użyj dominującego koloru" + +#: Settings.ui.h:18 +msgid "Customize indicator style" +msgstr "Dostosowanie stylu wskaźników" + +#: Settings.ui.h:19 +msgid "Color" +msgstr "Kolor" + +#: Settings.ui.h:20 +msgid "Border color" +msgstr "Kolor obramowania" + +#: Settings.ui.h:21 +msgid "Border width" +msgstr "Szerokość obramowania" + +#: Settings.ui.h:22 +msgid "Show the dock on" +msgstr "Ekran wyświetlania doku" + +#: Settings.ui.h:23 +msgid "Show on all monitors." +msgstr "Na wszystkich ekranach" + +#: Settings.ui.h:24 +msgid "Position on screen" +msgstr "Położenie na ekranie" + +#: Settings.ui.h:26 +msgid "Bottom" +msgstr "Na dole" + +#: Settings.ui.h:27 +msgid "Top" +msgstr "U góry" + +#: Settings.ui.h:29 +msgid "" +"Hide the dock when it obstructs a window of the current application. More " +"refined settings are available." +msgstr "" +"Ukrywa dok jeśli zakrywa okno bieżącego programu. Dostępnych jest więcej " +"szczegółowych opcji." + +#: Settings.ui.h:30 +msgid "Intelligent autohide" +msgstr "Inteligentne ukrywanie" + +#: Settings.ui.h:31 +msgid "Dock size limit" +msgstr "Ograniczenie rozmiaru doku" + +#: Settings.ui.h:32 +msgid "Panel mode: extend to the screen edge" +msgstr "Tryb panelu: rozciągnięcie do krawędzi ekranu" + +#: Settings.ui.h:33 +msgid "Icon size limit" +msgstr "Ograniczenie rozmiaru ikon" + +#: Settings.ui.h:34 +msgid "Fixed icon size: scroll to reveal other icons" +msgstr "Ustalony rozmiar ikon: odsłanianie ikon przewijaniem" + +#: Settings.ui.h:35 +msgid "Position and size" +msgstr "Położenie i rozmiar" + +#: Settings.ui.h:36 +msgid "Show favorite applications" +msgstr "Ulubione programy" + +#: Settings.ui.h:37 +msgid "Show running applications" +msgstr "Uruchomione programy" + +#: Settings.ui.h:38 +msgid "Isolate workspaces." +msgstr "Izolowanie obszarów roboczych" + +#: Settings.ui.h:39 +msgid "Isolate monitors." +msgstr "Izolowanie ekranów" + +#: Settings.ui.h:40 +msgid "Show open windows previews." +msgstr "Podgląd otwartych okien" + +#: Settings.ui.h:41 +msgid "" +"If disabled, these settings are accessible from gnome-tweak-tool or the " +"extension website." +msgstr "" +"Przełącza widoczność przycisku programów. Można też skonfigurować za pomocą " +"narzędzia dostrajania lub witryny internetowej z rozszerzeniami." + +#: Settings.ui.h:42 +msgid "Show Applications icon" +msgstr "Przycisk Wyświetl programy" + +#: Settings.ui.h:43 +msgid "Move the applications button at the beginning of the dock." +msgstr "Przemieszczenie przycisku programów na początek doku" + +#: Settings.ui.h:44 +msgid "Animate Show Applications." +msgstr "Animowanie przycisku Wyświetl programy" + +#: Settings.ui.h:45 +msgid "Show trash can" +msgstr "Pokaż kosz na śmieci" + +#: Settings.ui.h:46 +msgid "Show mounted volumes and devices" +msgstr "Pokaż zamontowane woluminy oraz urządzenia" + +#: Settings.ui.h:47 +msgid "Launchers" +msgstr "Aktywatory" + +#: Settings.ui.h:48 +msgid "" +"Enable Super+(0-9) as shortcuts to activate apps. It can also be used " +"together with Shift and Ctrl." +msgstr "" +"Używa skrótu Super+(0-9) do uruchomienia aktywatorów. Można użyć z " +"modyfikatorem Shift lub Ctrl." + +#: Settings.ui.h:49 +msgid "Use keyboard shortcuts to activate apps" +msgstr "Uruchamianie aktywatorów skrótami klawiszowymi" + +#: Settings.ui.h:50 +msgid "Behaviour when clicking on the icon of a running application." +msgstr "Określa działanie kliknięcia ikony uruchomionego programu" + +#: Settings.ui.h:51 +msgid "Click action" +msgstr "Działanie kliknięcia" + +#: Settings.ui.h:52 +msgid "Minimize" +msgstr "Zminimalizowanie okna" + +#: Settings.ui.h:53 +msgid "Behaviour when scrolling on the icon of an application." +msgstr "Określa działanie przewijania kółkiem ikony programu" + +#: Settings.ui.h:54 +msgid "Scroll action" +msgstr "Działanie przewijania" + +#: Settings.ui.h:55 +msgid "Do nothing" +msgstr "Brak" + +#: Settings.ui.h:56 +msgid "Switch workspace" +msgstr "Przełączenie obszaru roboczego" + +#: Settings.ui.h:57 +msgid "Behavior" +msgstr "Zachowanie" + +#: Settings.ui.h:58 +msgid "" +"Few customizations meant to integrate the dock with the default GNOME theme. " +"Alternatively, specific options can be enabled below." +msgstr "" +"Integruje dok z domyślnym stylem GNOME przy użyciu kilku ustawień. " +"Opcjonalnie ustawienia te można określić poniżej." + +#: Settings.ui.h:59 +msgid "Use built-in theme" +msgstr "Użycie zintegrowanego stylu" + +#: Settings.ui.h:60 +msgid "Save space reducing padding and border radius." +msgstr "" +"Zmniejsza zajmowaną powierzchnię redukując\n" +"odległość od krawędzi i jej zaokrąglenie" + +#: Settings.ui.h:61 +msgid "Shrink the dash" +msgstr "Zmniejszenie kokpitu" + +#: Settings.ui.h:62 +#, fuzzy +#| msgid "Show windows counter indicators" +msgid "Customize windows counter indicators" +msgstr "Wskaźniki ilości okien" + +#: Settings.ui.h:63 +msgid "Default" +msgstr "Domyślnie" + +#: Settings.ui.h:64 +msgid "Dots" +msgstr "Kropki" + +#: Settings.ui.h:65 +msgid "Squares" +msgstr "Kwadraty" + +#: Settings.ui.h:66 +msgid "Dashes" +msgstr "Kreski" + +#: Settings.ui.h:67 +msgid "Segmented" +msgstr "Posegmentowane" + +#: Settings.ui.h:68 +msgid "Solid" +msgstr "Nieprzerywane" + +#: Settings.ui.h:69 +msgid "Ciliora" +msgstr "" + +#: Settings.ui.h:70 +msgid "Metro" +msgstr "" + +#: Settings.ui.h:71 +msgid "Set the background color for the dash." +msgstr "Ustala wybrany kolor tła kokpitu" + +#: Settings.ui.h:72 +msgid "Customize the dash color" +msgstr "Kolor kokpitu" + +#: Settings.ui.h:73 +msgid "Tune the dash background opacity." +msgstr "Modyfikuje zaciemnienie tła kokpitu" + +#: Settings.ui.h:75 +msgid "Fixed" +msgstr "Ustalona" + +#: Settings.ui.h:76 +msgid "Dynamic" +msgstr "Dynamiczna" + +#: Settings.ui.h:77 +msgid "Opacity" +msgstr "Nieprzejrzystość" + +#: Settings.ui.h:78 +msgid "Force straight corner\n" +msgstr "Kąty proste narożników\n" + +#: Settings.ui.h:80 +msgid "Appearance" +msgstr "Wygląd" + +#: Settings.ui.h:81 +msgid "version: " +msgstr "wersja: " + +#: Settings.ui.h:82 +msgid "Moves the dash out of the overview transforming it in a dock" +msgstr "Przemieszcza kokpit z widoku podglądu do doku" + +#: Settings.ui.h:83 +msgid "Created by" +msgstr "Stworzony przez" + +#: Settings.ui.h:84 +msgid "Webpage" +msgstr "Strona internetowa" + +#: Settings.ui.h:85 +msgid "" +"This program comes with ABSOLUTELY NO WARRANTY.\n" +"See the GNU General Public License, version 2 or later for details." +msgstr "" +"Niniejszy program rozpowszechniany jest bez " +"jakiejkolwiek gwarancji.\n" +"Więcej informacji: Powszechna licencja publiczna GNU, wersja 2 lub późniejsza." + +#: Settings.ui.h:87 +msgid "About" +msgstr "O programie" + +#: Settings.ui.h:88 +msgid "Customize minimum and maximum opacity values" +msgstr "Dostosowanie minimalnej i maksymalnej wartości nieprzejrzystości" + +#: Settings.ui.h:89 +msgid "Minimum opacity" +msgstr "Minimalna nieprzejrzystość" + +#: Settings.ui.h:90 +msgid "Maximum opacity" +msgstr "Maksymalna nieprzejrzystość" + +#: Settings.ui.h:91 +msgid "Number overlay" +msgstr "Nakładka z numerem" + +#: Settings.ui.h:92 +msgid "" +"Temporarily show the application numbers over the icons, corresponding to " +"the shortcut." +msgstr "Wyświetla chwilowo na ikonach numery programów powiązane ze skrótami" + +#: Settings.ui.h:93 +msgid "Show the dock if it is hidden" +msgstr "Wyświetlenie ukrytego doku" + +#: Settings.ui.h:94 +msgid "" +"If using autohide, the dock will appear for a short time when triggering the " +"shortcut." +msgstr "Wyświetla chwilowo dok po wciśnięciu skrótu klawiszowego" + +#: Settings.ui.h:95 +msgid "Shortcut for the options above" +msgstr "Skrót klawiszowy dla powyższych poleceń" + +#: Settings.ui.h:96 +msgid "Syntax: , , , " +msgstr "Składnia: , , , " + +#: Settings.ui.h:97 +msgid "Hide timeout (s)" +msgstr "Czas ukrywania (s)" + +#: Settings.ui.h:98 +msgid "Show the dock by mouse hover on the screen edge." +msgstr "Wyświetla dok po przemieszczeniu wskaźnika myszy do krawędzi ekranu" + +#: Settings.ui.h:99 +msgid "Autohide" +msgstr "Automatyczne ukrywanie" + +#: Settings.ui.h:100 +msgid "Push to show: require pressure to show the dock" +msgstr "Wymagany nacisk do wyświetlenia doku" + +#: Settings.ui.h:101 +msgid "Enable in fullscreen mode" +msgstr "Wyświetlanie na pełnym ekranie" + +#: Settings.ui.h:102 +msgid "Show the dock when it doesn't obstruct application windows." +msgstr "Wyświetla dok jeśli nie zakrywa okien programu" + +#: Settings.ui.h:103 +msgid "Dodge windows" +msgstr "Ukrywanie przed oknami" + +#: Settings.ui.h:104 +msgid "All windows" +msgstr "Wszystkie okna" + +#: Settings.ui.h:105 +msgid "Only focused application's windows" +msgstr "Tylko aktywne okna programu" + +#: Settings.ui.h:106 +msgid "Only maximized windows" +msgstr "Tylko zmaksymalizowane okna" + +#: Settings.ui.h:107 +msgid "Animation duration (s)" +msgstr "Czas animacji (s)" + +#: Settings.ui.h:108 +msgid "Show timeout (s)" +msgstr "Czas wyświetlania (s)" + +#: Settings.ui.h:109 +msgid "Pressure threshold" +msgstr "Próg nacisku" + +#~ msgid "Show a dot for each windows of the application." +#~ msgstr "Wyświetla kropkę dla każdego okna programu" + +#~ msgid "Adaptive" +#~ msgstr "Adaptacyjna" diff --git a/extensions/dash-to-dock/po/pt.po b/extensions/dash-to-dock/po/pt.po new file mode 100644 index 00000000..d65da5f1 --- /dev/null +++ b/extensions/dash-to-dock/po/pt.po @@ -0,0 +1,509 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. +# Carlos Alberto Junior Spohr Poletto , 2012. +# +msgid "" +msgstr "" +"Project-Id-Version: Dash to Dock\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2019-03-06 01:57-0600\n" +"PO-Revision-Date: 2019-03-06 03:55-0600\n" +"Last-Translator: Adolfo Jayme Barrientos \n" +"Language-Team: Carlos Alberto Junior Spohr Poletto \n" +"Language: pt\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Poedit 2.2.1\n" + +#: prefs.js:264 +msgid "Primary monitor" +msgstr "Monitor primário" + +#: prefs.js:273 prefs.js:280 +msgid "Secondary monitor " +msgstr "Monitor secundário " + +#: prefs.js:305 Settings.ui.h:28 +msgid "Right" +msgstr "Direita" + +#: prefs.js:306 Settings.ui.h:25 +msgid "Left" +msgstr "Esquerda" + +#: prefs.js:356 +msgid "Intelligent autohide customization" +msgstr "Personalização do auto-hide inteligente" + +#: prefs.js:363 prefs.js:548 prefs.js:604 +msgid "Reset to defaults" +msgstr "Repor padrão" + +#: prefs.js:541 +msgid "Show dock and application numbers" +msgstr "Mostrar números das docks e aplicações" + +#: prefs.js:597 +msgid "Customize middle-click behavior" +msgstr "Personalizar comportamento do clique do meio" + +#: prefs.js:680 +msgid "Customize running indicators" +msgstr "Personalizar indicadores de execução" + +#: prefs.js:792 +#: Settings.ui.h:72 +msgid "Customize opacity" +msgstr "Personalizar opacidade" + +#: appIcons.js:790 +msgid "All Windows" +msgstr "Todas as janelas" + +#. Translators: %s is "Settings", which is automatically translated. You +#. can also translate the full message if this fits better your language. +#: appIcons.js:1092 +#, javascript-format +msgid "Dash to Dock %s" +msgstr "%s do Dash to Dock" + +#: Settings.ui.h:1 +msgid "" +"When set to minimize, double clicking minimizes all the windows of the " +"application." +msgstr "" +"Quando definido para minimizar, duplo clique minimiza todas as janelas da " +"aplicação." + +#: Settings.ui.h:2 +msgid "Shift+Click action" +msgstr "Ação de Shift+Clique" + +#: Settings.ui.h:3 +msgid "Raise window" +msgstr "Levantar janela" + +#: Settings.ui.h:4 +msgid "Minimize window" +msgstr "Minimizar janela" + +#: Settings.ui.h:5 +msgid "Launch new instance" +msgstr "Abrir nova janela" + +#: Settings.ui.h:6 +msgid "Cycle through windows" +msgstr "Percorrer janelas" + +#: Settings.ui.h:7 +msgid "Minimize or overview" +msgstr "Minimizar ou antever" + +#: Settings.ui.h:8 +msgid "Show window previews" +msgstr "Mostrar antevisão das janelas abertas" + +#: Settings.ui.h:9 +msgid "Minimize or show previews" +msgstr "Minimizar ou antever" + +#: Settings.ui.h:10 +msgid "Focus or show previews" +msgstr "Focar ou antever" + +#: Settings.ui.h:11 +msgid "Quit" +msgstr "Sair" + +#: Settings.ui.h:12 +msgid "Behavior for Middle-Click." +msgstr "Comportamento do clique do meio." + +#: Settings.ui.h:13 +msgid "Middle-Click action" +msgstr "Ação do clique do meio" + +#: Settings.ui.h:14 +msgid "Behavior for Shift+Middle-Click." +msgstr "Comportamento do Shift+Clique do meio." + +#: Settings.ui.h:15 +msgid "Shift+Middle-Click action" +msgstr "Ação do Shift+Clique do meio" + +#: Settings.ui.h:16 +msgid "Enable Unity7 like glossy backlit items" +msgstr "Usar efeito polido no fundo (estilo Unity7)" + +#: Settings.ui.h:17 +msgid "Use dominant color" +msgstr "Usar cor dominante" + +#: Settings.ui.h:18 +msgid "Customize indicator style" +msgstr "Personalizar indicadores" + +#: Settings.ui.h:19 +msgid "Color" +msgstr "Cor" + +#: Settings.ui.h:20 +msgid "Border color" +msgstr "Cor da borda" + +#: Settings.ui.h:21 +msgid "Border width" +msgstr "Largura da borda" + +#: Settings.ui.h:22 +msgid "Show the dock on" +msgstr "Mostrar a dock em" + +#: Settings.ui.h:23 +msgid "Show on all monitors." +msgstr "Mostrar em todos os monitores." + +#: Settings.ui.h:24 +msgid "Position on screen" +msgstr "Posição no ecrã" + +#: Settings.ui.h:26 +msgid "Bottom" +msgstr "Em baixo" + +#: Settings.ui.h:27 +msgid "Top" +msgstr "Em cima" + +#: Settings.ui.h:29 +msgid "" +"Hide the dock when it obstructs a window of the current application. More " +"refined settings are available." +msgstr "" +"Esconder a dock quando obstrói uma janela da aplicação atual. Estão " +"disponíveis opções mais detalhadas." + +#: Settings.ui.h:30 +msgid "Intelligent autohide" +msgstr "Ocultação inteligente" + +#: Settings.ui.h:31 +msgid "Dock size limit" +msgstr "Limite do tamanho da dock" + +#: Settings.ui.h:32 +msgid "Panel mode: extend to the screen edge" +msgstr "Modo Painel: expandir até ao limite do ecrã" + +#: Settings.ui.h:33 +msgid "Icon size limit" +msgstr "Limite do tamanho dos ícones" + +#: Settings.ui.h:34 +msgid "Fixed icon size: scroll to reveal other icons" +msgstr "Tamanho fixo dos ícones: scroll para revelar outros ícones" + +#: Settings.ui.h:35 +msgid "Position and size" +msgstr "Posição e dimensão" + +#: Settings.ui.h:36 +msgid "Show favorite applications" +msgstr "Mostrar aplicações favoritas" + +#: Settings.ui.h:37 +msgid "Show running applications" +msgstr "Mostrar aplicações em execução" + +#: Settings.ui.h:38 +msgid "Isolate workspaces." +msgstr "Isolar áreas de trabalho." + +#: Settings.ui.h:39 +msgid "Isolate monitors." +msgstr "Isolar monitores." + +#: Settings.ui.h:40 +msgid "Show open windows previews." +msgstr "Mostrar antevisão das janelas abertas." + +#: Settings.ui.h:41 +msgid "" +"If disabled, these settings are accessible from gnome-tweak-tool or the " +"extension website." +msgstr "" +"Se desativadas, estas opções estão acessíveis através do gnome-tweak-tool ou " +"no site das extensões." + +#: Settings.ui.h:42 +msgid "Show Applications icon" +msgstr "Mostrar ícone das Aplicações" + +#: Settings.ui.h:43 +msgid "Move the applications button at the beginning of the dock." +msgstr "Mover o botão das aplicações para o início da dock." + +#: Settings.ui.h:44 +msgid "Animate Show Applications." +msgstr "Animar Mostrar aplicações." + +#: Settings.ui.h:45 +msgid "Launchers" +msgstr "Lançadores" + +#: Settings.ui.h:46 +msgid "" +"Enable Super+(0-9) as shortcuts to activate apps. It can also be used " +"together with Shift and Ctrl." +msgstr "" +"Usar Super+(0-9) como atalhos para as aplicações. Também pode ser usado com " +"Shift e Ctrl." + +#: Settings.ui.h:47 +msgid "Use keyboard shortcuts to activate apps" +msgstr "Usar atalhos de teclado para aplicações" + +#: Settings.ui.h:48 +msgid "Behaviour when clicking on the icon of a running application." +msgstr "Comportamento do clique no ícone de uma aplicação em execução." + +#: Settings.ui.h:49 +msgid "Click action" +msgstr "Ação do clique" + +#: Settings.ui.h:50 +msgid "Minimize" +msgstr "Minimizar" + +#: Settings.ui.h:51 +msgid "Behaviour when scrolling on the icon of an application." +msgstr "Comportamento do scroll no ícone de uma aplicação." + +#: Settings.ui.h:52 +msgid "Scroll action" +msgstr "Ação do scroll" + +#: Settings.ui.h:53 +msgid "Do nothing" +msgstr "Não fazer nada" + +#: Settings.ui.h:54 +msgid "Switch workspace" +msgstr "Alternar espaço de trabalho" + +#: Settings.ui.h:55 +msgid "Behavior" +msgstr "Comportamento" + +#: Settings.ui.h:56 +msgid "" +"Few customizations meant to integrate the dock with the default GNOME theme. " +"Alternatively, specific options can be enabled below." +msgstr "" +"Menos opções visando a integração da doca com o tema padrão do GNOME. " +"Alternativamente, opções mais detalhadas podem ser ativadas abaixo." + +#: Settings.ui.h:57 +msgid "Use built-in theme" +msgstr "Usar tema embutido" + +#: Settings.ui.h:58 +msgid "Save space reducing padding and border radius." +msgstr "Poupar espaço reduzindo o preenchimento e as bordas." + +#: Settings.ui.h:59 +msgid "Shrink the dash" +msgstr "Encolher a dock" + +#: Settings.ui.h:60 +msgid "Customize windows counter indicators" +msgstr "Mostrar indicador com contagem de janelas" + +#: Settings.ui.h:61 +msgid "Default" +msgstr "Padrão" + +#: Settings.ui.h:62 +msgid "Dots" +msgstr "Pontos" + +#: Settings.ui.h:63 +msgid "Squares" +msgstr "Quadrados" + +#: Settings.ui.h:64 +msgid "Dashes" +msgstr "Linhas" + +#: Settings.ui.h:65 +msgid "Segmented" +msgstr "Segmentado" + +#: Settings.ui.h:66 +msgid "Solid" +msgstr "Sólido" + +#: Settings.ui.h:67 +msgid "Ciliora" +msgstr "Ciliora" + +#: Settings.ui.h:68 +msgid "Metro" +msgstr "Metro" + +#: Settings.ui.h:69 +msgid "Set the background color for the dash." +msgstr "Definir a cor de fundo do painel." + +#: Settings.ui.h:70 +msgid "Customize the dash color" +msgstr "Personalizar cor do painel" + +#: Settings.ui.h:71 +msgid "Tune the dash background opacity." +msgstr "Afinar a cor de fundo do painel." + +#: Settings.ui.h:73 +msgid "Fixed" +msgstr "Fixo" + +#: Settings.ui.h:74 +msgid "Dynamic" +msgstr "Dinâmico" + +#: Settings.ui.h:75 +msgid "Opacity" +msgstr "Opacidade" + +#: Settings.ui.h:76 +msgid "Force straight corner\n" +msgstr "Forçar cantos retos\n" + +#: Settings.ui.h:78 +msgid "Appearance" +msgstr "Aparência" + +#: Settings.ui.h:79 +msgid "version: " +msgstr "versão: " + +#: Settings.ui.h:80 +msgid "Moves the dash out of the overview transforming it in a dock" +msgstr "Retira o painel da vista de Atividades, tornando-o numa dock" + +#: Settings.ui.h:81 +msgid "Created by" +msgstr "Criado por" + +#: Settings.ui.h:82 +msgid "Webpage" +msgstr "Página web" + +#: Settings.ui.h:83 +msgid "" +"This program comes with ABSOLUTELY NO WARRANTY.\n" +"See the GNU General Public License, version 2 or later for details." +msgstr "" + +#: Settings.ui.h:85 +msgid "About" +msgstr "Sobre" + +#: Settings.ui.h:86 +msgid "Customize minimum and maximum opacity values" +msgstr "Personalizar valor mínimo e máximo da opacidade" + +#: Settings.ui.h:87 +msgid "Minimum opacity" +msgstr "Opacidade mínima" + +#: Settings.ui.h:88 +msgid "Maximum opacity" +msgstr "Opacidade máxima" + +#: Settings.ui.h:89 +msgid "Number overlay" +msgstr "Números sobrepostos" + +#: Settings.ui.h:90 +msgid "" +"Temporarily show the application numbers over the icons, corresponding to " +"the shortcut." +msgstr "" +"Mostrar temporariamente o número das aplicações sobre os ícones, " +"correspondendo os atalhos." + +#: Settings.ui.h:91 +msgid "Show the dock if it is hidden" +msgstr "Mostrar a dock se estiver escondida" + +#: Settings.ui.h:92 +msgid "" +"If using autohide, the dock will appear for a short time when triggering the " +"shortcut." +msgstr "" +"Se o auto-hide estiver ativo, a dock aparecerá temporariamente ao utilizar o " +"atalho." + +#: Settings.ui.h:93 +msgid "Shortcut for the options above" +msgstr "Atalho para as opções acima" + +#: Settings.ui.h:94 +msgid "Syntax: , , , " +msgstr "Síntaxe: , , , " + +#: Settings.ui.h:95 +msgid "Hide timeout (s)" +msgstr "Tempo limite para esconder (s)" + +#: Settings.ui.h:96 +msgid "Show the dock by mouse hover on the screen edge." +msgstr "Mostrar a dock ao passar o rato na borda do ecrã." + +#: Settings.ui.h:97 +msgid "Autohide" +msgstr "Ocultação inteligente" + +#: Settings.ui.h:98 +msgid "Push to show: require pressure to show the dock" +msgstr "Pressionar para mostrar: requerer pressão para mostrar a doca" + +#: Settings.ui.h:99 +msgid "Enable in fullscreen mode" +msgstr "Ativar no modo de ecrã inteiro" + +#: Settings.ui.h:100 +msgid "Show the dock when it doesn't obstruct application windows." +msgstr "Mostrar a dock quando esta não obstrui as janelas." + +#: Settings.ui.h:101 +msgid "Dodge windows" +msgstr "Esquivar as janelas" + +#: Settings.ui.h:102 +msgid "All windows" +msgstr "Todas as janelas" + +#: Settings.ui.h:103 +msgid "Only focused application's windows" +msgstr "Apenas janelas da aplicação focada" + +#: Settings.ui.h:104 +msgid "Only maximized windows" +msgstr "Apenas janelas maximizadas" + +#: Settings.ui.h:105 +msgid "Animation duration (s)" +msgstr "Tempo da animação (s)" + +#: Settings.ui.h:106 +msgid "Show timeout (s)" +msgstr "Mostrar tempo limite (s)" + +#: Settings.ui.h:107 +msgid "Pressure threshold" +msgstr "Limite de pressão" diff --git a/extensions/dash-to-dock/po/pt_BR.po b/extensions/dash-to-dock/po/pt_BR.po new file mode 100644 index 00000000..6cb10a33 --- /dev/null +++ b/extensions/dash-to-dock/po/pt_BR.po @@ -0,0 +1,513 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. +# Carlos Alberto Junior Spohr Poletto , 2012. +# Fábio Nogueira , 2016. +# +msgid "" +msgstr "" +"Project-Id-Version: Dash to Dock\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2019-03-06 01:57-0600\n" +"PO-Revision-Date: 2019-03-06 03:56-0600\n" +"Last-Translator: Adolfo Jayme Barrientos \n" +"Language-Team: Português do Brasil\n" +"Language: pt_BR\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Poedit 2.2.1\n" + +#: prefs.js:264 +msgid "Primary monitor" +msgstr "Monitor primário" + +#: prefs.js:273 prefs.js:280 +msgid "Secondary monitor " +msgstr "Monitor secundário" + +#: prefs.js:305 Settings.ui.h:28 +msgid "Right" +msgstr "Direita" + +#: prefs.js:306 Settings.ui.h:25 +msgid "Left" +msgstr "Esquerda" + +#: prefs.js:356 +msgid "Intelligent autohide customization" +msgstr "Configuração da ocultação inteligente" + +#: prefs.js:363 prefs.js:548 prefs.js:604 +msgid "Reset to defaults" +msgstr "Restaurar o padrão" + +#: prefs.js:541 +msgid "Show dock and application numbers" +msgstr "Exibir o dock e os números dos aplicativos" + +#: prefs.js:597 +msgid "Customize middle-click behavior" +msgstr "Customizar o comportamento do clique do botão do meio" + +#: prefs.js:680 +msgid "Customize running indicators" +msgstr "Customizar os indicadores de execução" + +#: prefs.js:792 +#: Settings.ui.h:72 +msgid "Customize opacity" +msgstr "Customizar opacidade" + +#: appIcons.js:790 +msgid "All Windows" +msgstr "Todas as janelas" + +#. Translators: %s is "Settings", which is automatically translated. You +#. can also translate the full message if this fits better your language. +#: appIcons.js:1092 +#, javascript-format +msgid "Dash to Dock %s" +msgstr "%s do Dash to Dock" + +#: Settings.ui.h:1 +msgid "" +"When set to minimize, double clicking minimizes all the windows of the " +"application." +msgstr "" +"Quando minimizar, o duplo clique minizará todas as janelas dos aplicativos" + +#: Settings.ui.h:2 +msgid "Shift+Click action" +msgstr "Ação do Shift+Clique" + +#: Settings.ui.h:3 +msgid "Raise window" +msgstr "Aumentar janela" + +#: Settings.ui.h:4 +msgid "Minimize window" +msgstr "Minimizar janela" + +#: Settings.ui.h:5 +msgid "Launch new instance" +msgstr "Iniciar nova instância" + +#: Settings.ui.h:6 +msgid "Cycle through windows" +msgstr "Percorrer através das janelas" + +#: Settings.ui.h:7 +msgid "Minimize or overview" +msgstr "Minimizar o visão geral" + +#: Settings.ui.h:8 +msgid "Show window previews" +msgstr "Mostrar pré-visualizações das janelas" + +#: Settings.ui.h:9 +msgid "Minimize or show previews" +msgstr "Minimizar o mostrar pré-visualizações" + +#: Settings.ui.h:10 +msgid "Focus or show previews" +msgstr "Pôr em foco o pré-visualizar" + +#: Settings.ui.h:11 +msgid "Quit" +msgstr "Sair" + +#: Settings.ui.h:12 +msgid "Behavior for Middle-Click." +msgstr "Comportamento do Clique do botão do meio." + +#: Settings.ui.h:13 +msgid "Middle-Click action" +msgstr "Ação do clique do botão do meio" + +#: Settings.ui.h:14 +msgid "Behavior for Shift+Middle-Click." +msgstr "Comportamento para Shift + Clique do botão do meio." + +#: Settings.ui.h:15 +msgid "Shift+Middle-Click action" +msgstr "Ação do Shift+Clique do botão do meio" + +#: Settings.ui.h:16 +msgid "Enable Unity7 like glossy backlit items" +msgstr "Ativar retroiluminação estilo Unity 7 dos elementos" + +#: Settings.ui.h:17 +msgid "Use dominant color" +msgstr "Usar cor dominante" + +#: Settings.ui.h:18 +msgid "Customize indicator style" +msgstr "Customizar o estilo do indicador" + +#: Settings.ui.h:19 +msgid "Color" +msgstr "Cor" + +#: Settings.ui.h:20 +msgid "Border color" +msgstr "Cor da borda" + +#: Settings.ui.h:21 +msgid "Border width" +msgstr "Tamanho da borda" + +#: Settings.ui.h:22 +msgid "Show the dock on" +msgstr "Exibir o dock" + +#: Settings.ui.h:23 +msgid "Show on all monitors." +msgstr "Mostrar em todos os monitores." + +#: Settings.ui.h:24 +msgid "Position on screen" +msgstr "Posição na tela" + +#: Settings.ui.h:26 +msgid "Bottom" +msgstr "Embaixo" + +#: Settings.ui.h:27 +msgid "Top" +msgstr "Em cima" + +#: Settings.ui.h:29 +msgid "" +"Hide the dock when it obstructs a window of the current application. More " +"refined settings are available." +msgstr "" +"Ocultar o dock quando o mesmo sobrepor a janela do aplicativo em uso. " +"Definições mais aperfeiçoadas estão disponíveis." + +#: Settings.ui.h:30 +msgid "Intelligent autohide" +msgstr "Ocultação inteligente" + +#: Settings.ui.h:31 +msgid "Dock size limit" +msgstr "Tamanho limite do dock" + +#: Settings.ui.h:32 +msgid "Panel mode: extend to the screen edge" +msgstr "Modo do painel: estender até a borda da tela" + +#: Settings.ui.h:33 +msgid "Icon size limit" +msgstr "Tamanho limite do ícone" + +#: Settings.ui.h:34 +msgid "Fixed icon size: scroll to reveal other icons" +msgstr "Tamanho do ícone fixo: use o scroll do mouse para revelar outro ícone" + +#: Settings.ui.h:35 +msgid "Position and size" +msgstr "Posição e tamanho" + +#: Settings.ui.h:36 +msgid "Show favorite applications" +msgstr "Mostrar aplicativos favoritos" + +#: Settings.ui.h:37 +msgid "Show running applications" +msgstr "Mostrar aplicativos em execução" + +#: Settings.ui.h:38 +msgid "Isolate workspaces." +msgstr "Isolar espaços de trabalho." + +#: Settings.ui.h:39 +msgid "Isolate monitors." +msgstr "Isolar monitores." + +#: Settings.ui.h:40 +msgid "Show open windows previews." +msgstr "Mostrar pré-visualizações de janelas abertas." + +#: Settings.ui.h:41 +msgid "" +"If disabled, these settings are accessible from gnome-tweak-tool or the " +"extension website." +msgstr "" +"Se desabilitado, essas configurações estão acessíveis através do gnome-tweak-" +"tool ou no site da extensão." + +#: Settings.ui.h:42 +msgid "Show Applications icon" +msgstr "Exibir ícone dos Aplicativos" + +#: Settings.ui.h:43 +msgid "Move the applications button at the beginning of the dock." +msgstr "Mover o botão de aplicativos para o início do dock." + +#: Settings.ui.h:44 +msgid "Animate Show Applications." +msgstr "Mostrar aplicativos com efeitos." + +#: Settings.ui.h:45 +msgid "Launchers" +msgstr "Lançadores" + +#: Settings.ui.h:46 +msgid "" +"Enable Super+(0-9) as shortcuts to activate apps. It can also be used " +"together with Shift and Ctrl." +msgstr "" +"Habilita tecla Super+(0-9) como atalhos para ativar aplicativos. Também pode " +"ser usado junto com Shift e Ctrl." + +#: Settings.ui.h:47 +msgid "Use keyboard shortcuts to activate apps" +msgstr "Usar atalhos de teclado para ativar aplicativos" + +#: Settings.ui.h:48 +msgid "Behaviour when clicking on the icon of a running application." +msgstr "Comportamento ao clicar sobre o ícone de um aplicativo em execução." + +#: Settings.ui.h:49 +msgid "Click action" +msgstr "Ação do clique" + +#: Settings.ui.h:50 +msgid "Minimize" +msgstr "Minimizar" + +#: Settings.ui.h:51 +msgid "Behaviour when scrolling on the icon of an application." +msgstr "Comportamento ao rolar sobre o ícone de um aplicativo." + +#: Settings.ui.h:52 +msgid "Scroll action" +msgstr "Ação da rolagem" + +#: Settings.ui.h:53 +msgid "Do nothing" +msgstr "Não fazer nada" + +#: Settings.ui.h:54 +msgid "Switch workspace" +msgstr "Alternar espaço de trabalho" + +#: Settings.ui.h:55 +msgid "Behavior" +msgstr "Comportamento" + +#: Settings.ui.h:56 +msgid "" +"Few customizations meant to integrate the dock with the default GNOME theme. " +"Alternatively, specific options can be enabled below." +msgstr "" +"Algumas personalizações se destinam a integrar o dock com o tema padrão do " +"GNOME. Alternativamente, as opções específicas podem ser ativadas abaixo." + +#: Settings.ui.h:57 +msgid "Use built-in theme" +msgstr "Usar o tema do sistema" + +#: Settings.ui.h:58 +msgid "Save space reducing padding and border radius." +msgstr "Economizar espaço reduzindo preenchimento e a borda arredondada" + +#: Settings.ui.h:59 +msgid "Shrink the dash" +msgstr "Encolher o dash" + +#: Settings.ui.h:60 +msgid "Customize windows counter indicators" +msgstr "Customizar indicadores de contagem de janelas" + +#: Settings.ui.h:61 +msgid "Default" +msgstr "Padrão" + +#: Settings.ui.h:62 +msgid "Dots" +msgstr "Pontos" + +#: Settings.ui.h:63 +msgid "Squares" +msgstr "Quadrados" + +#: Settings.ui.h:64 +msgid "Dashes" +msgstr "Linhas" + +#: Settings.ui.h:65 +msgid "Segmented" +msgstr "Segmentado" + +#: Settings.ui.h:66 +msgid "Solid" +msgstr "Sólido" + +#: Settings.ui.h:67 +msgid "Ciliora" +msgstr "Ciliora" + +#: Settings.ui.h:68 +msgid "Metro" +msgstr "Metro" + +#: Settings.ui.h:69 +msgid "Set the background color for the dash." +msgstr "Define a cor de fundo para o dash." + +#: Settings.ui.h:70 +msgid "Customize the dash color" +msgstr "Customizar a cor do dash" + +#: Settings.ui.h:71 +msgid "Tune the dash background opacity." +msgstr "Ajustar a opacidade do fundo do dash." + +#: Settings.ui.h:73 +msgid "Fixed" +msgstr "Fixo" + +#: Settings.ui.h:74 +msgid "Dynamic" +msgstr "Dinâmico" + +#: Settings.ui.h:75 +msgid "Opacity" +msgstr "Opacidade" + +#: Settings.ui.h:76 +msgid "Force straight corner\n" +msgstr "Forçar canto reto\n" + +#: Settings.ui.h:78 +msgid "Appearance" +msgstr "Aparência" + +#: Settings.ui.h:79 +msgid "version: " +msgstr "versão:" + +#: Settings.ui.h:80 +msgid "Moves the dash out of the overview transforming it in a dock" +msgstr "Mover o dash para fora da visão geral transformando-o em dock" + +#: Settings.ui.h:81 +msgid "Created by" +msgstr "Criado por" + +#: Settings.ui.h:82 +msgid "Webpage" +msgstr "Página Web" + +#: Settings.ui.h:83 +msgid "" +"This program comes with ABSOLUTELY NO WARRANTY.\n" +"See the GNU General Public License, version 2 or later for details." +msgstr "" +"Este programa é distribuido SEM QUALQUER GARANTIA.\n" +"Veja em GNU General Public License, versão 2 ou posterior para maiores " +"detalhes." + +#: Settings.ui.h:85 +msgid "About" +msgstr "Sobre" + +#: Settings.ui.h:86 +msgid "Customize minimum and maximum opacity values" +msgstr "Customizar os valores mínimo e máximo da opacidade" + +#: Settings.ui.h:87 +msgid "Minimum opacity" +msgstr "Opacidade mínima" + +#: Settings.ui.h:88 +msgid "Maximum opacity" +msgstr "Opacidade máxima" + +#: Settings.ui.h:89 +msgid "Number overlay" +msgstr "Sobreposição de número" + +#: Settings.ui.h:90 +msgid "" +"Temporarily show the application numbers over the icons, corresponding to " +"the shortcut." +msgstr "" +"Mostrar temporariamente os números dos aplicativos sobre os ícones, " +"correspondentes ao atalho." + +#: Settings.ui.h:91 +msgid "Show the dock if it is hidden" +msgstr "Exibir o dock se este estiver oculto" + +#: Settings.ui.h:92 +msgid "" +"If using autohide, the dock will appear for a short time when triggering the " +"shortcut." +msgstr "" +"Se utilizar a ocultação, o dock será exibido por um curto período de tempo " +"ao acionar o atalho." + +#: Settings.ui.h:93 +msgid "Shortcut for the options above" +msgstr "Atalho para as opções acima" + +#: Settings.ui.h:94 +msgid "Syntax: , , , " +msgstr "Sintaxe: , , , " + +#: Settings.ui.h:95 +msgid "Hide timeout (s)" +msgstr "Ocultar tempo limite [s]" + +#: Settings.ui.h:96 +msgid "Show the dock by mouse hover on the screen edge." +msgstr "Mostrar o dock quando o mouse pairar sobre a tela." + +#: Settings.ui.h:97 +msgid "Autohide" +msgstr "Ocultação" + +#: Settings.ui.h:98 +msgid "Push to show: require pressure to show the dock" +msgstr "Empurrar para mostrar: requer pressão para mostrar o dock" + +#: Settings.ui.h:99 +msgid "Enable in fullscreen mode" +msgstr "Habilitar modo tela cheia" + +#: Settings.ui.h:100 +msgid "Show the dock when it doesn't obstruct application windows." +msgstr "Mostrar o dock quando nenhum aplicativo sobrepor o mesmo." + +#: Settings.ui.h:101 +msgid "Dodge windows" +msgstr "Esconder janela" + +#: Settings.ui.h:102 +msgid "All windows" +msgstr "Todas as janelas" + +#: Settings.ui.h:103 +msgid "Only focused application's windows" +msgstr "Apenas janelas de aplicativos em foco" + +#: Settings.ui.h:104 +msgid "Only maximized windows" +msgstr "Somente janelas maximizadas" + +#: Settings.ui.h:105 +msgid "Animation duration (s)" +msgstr "Tempo da animação [s]" + +#: Settings.ui.h:106 +msgid "Show timeout (s)" +msgstr "Mostrar tempo limite [s]" + +#: Settings.ui.h:107 +msgid "Pressure threshold" +msgstr "Limite de pressão" diff --git a/extensions/dash-to-dock/po/ru.po b/extensions/dash-to-dock/po/ru.po new file mode 100644 index 00000000..b41fa0c0 --- /dev/null +++ b/extensions/dash-to-dock/po/ru.po @@ -0,0 +1,626 @@ +# Russian translation for dash-to-dock GNOME Shell extension +# Ivan Komaritsyn , 2015-2020. +# +msgid "" +msgstr "" +"Project-Id-Version: dash-to-dock\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2020-01-31 14:36+0300\n" +"PO-Revision-Date: 2020-01-31 14:40+0300\n" +"Last-Translator: Ivan Komaritsyn \n" +"Language-Team: \n" +"Language: ru\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n" +"%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2)\n" +"X-Generator: Gtranslator 2.91.7\n" + +#: prefs.js:268 +msgid "Primary monitor" +msgstr "Основной монитор" + +#: prefs.js:277 prefs.js:284 +msgid "Secondary monitor " +msgstr "Дополнительный монитор" + +#: prefs.js:309 Settings.ui.h:28 +msgid "Right" +msgstr "Справа" + +#: prefs.js:310 Settings.ui.h:25 +msgid "Left" +msgstr "Слева" + +#: prefs.js:360 +msgid "Intelligent autohide customization" +msgstr "Настройка автоскрытия" + +#: prefs.js:367 prefs.js:560 prefs.js:616 +msgid "Reset to defaults" +msgstr "Сбросить настройки" + +#: prefs.js:553 +msgid "Show dock and application numbers" +msgstr "Показывать количество запущенных приложений" + +#: prefs.js:609 +msgid "Customize middle-click behavior" +msgstr "Настройка действий для средней кнопки мыши" + +#: prefs.js:692 +msgid "Customize running indicators" +msgstr "Настройка индикаторов запуска" + +#: prefs.js:804 Settings.ui.h:74 +msgid "Customize opacity" +msgstr "Настроить прозрачность" + +#: appIcons.js:810 +msgid "All Windows" +msgstr "Все окна" + +#. Translators: %s is "Settings", which is automatically translated. You +#. can also translate the full message if this fits better your language. +#: appIcons.js:1127 +#, javascript-format +msgid "Dash to Dock %s" +msgstr "" + +#: Settings.ui.h:1 +msgid "" +"When set to minimize, double clicking minimizes all the windows of the " +"application." +msgstr "" +"Если установлено на «Минимизировать», то двойной клик минимизирует все окна " +"данного приложения." + +#: Settings.ui.h:2 +msgid "Shift+Click action" +msgstr "Действие по Shift+Click" + +#: Settings.ui.h:3 +msgid "Raise window" +msgstr "Показать окно" + +#: Settings.ui.h:4 +msgid "Minimize window" +msgstr "Минимизировать окно" + +#: Settings.ui.h:5 +msgid "Launch new instance" +msgstr "Открыть новое окно" + +#: Settings.ui.h:6 +msgid "Cycle through windows" +msgstr "Переключить окно приложения" + +#: Settings.ui.h:7 +msgid "Minimize or overview" +msgstr "Минимизация или обзор" + +#: Settings.ui.h:8 +msgid "Show window previews" +msgstr "Показать миниатюры окон" + +#: Settings.ui.h:9 +msgid "Minimize or show previews" +msgstr "Минимизация или показ миниатюр" + +#: Settings.ui.h:10 +msgid "Focus or show previews" +msgstr "Минимизация или показ миниатюр" + +#: Settings.ui.h:11 +msgid "Quit" +msgstr "Выйти" + +#: Settings.ui.h:12 +msgid "Behavior for Middle-Click." +msgstr "Действие по нажатию средней кнопки мыши." + +#: Settings.ui.h:13 +msgid "Middle-Click action" +msgstr "Действие по Middle-Click" + +#: Settings.ui.h:14 +msgid "Behavior for Shift+Middle-Click." +msgstr "Действие по нажатию Shift + средняя кнопка мыши." + +#: Settings.ui.h:15 +msgid "Shift+Middle-Click action" +msgstr "Действие по Shift+Middle-Click" + +#: Settings.ui.h:16 +msgid "Enable Unity7 like glossy backlit items" +msgstr "Включить подсветку элементов как в Unity7" + +#: Settings.ui.h:17 +msgid "Use dominant color" +msgstr "Использовать доминирующий цвет" + +#: Settings.ui.h:18 +msgid "Customize indicator style" +msgstr "Настроить стиль индикатора" + +#: Settings.ui.h:19 +msgid "Color" +msgstr "Цвет" + +#: Settings.ui.h:20 +msgid "Border color" +msgstr "Цвет границы" + +#: Settings.ui.h:21 +msgid "Border width" +msgstr "Ширина границы" + +#: Settings.ui.h:22 +msgid "Show the dock on" +msgstr "Показывать Док на" + +#: Settings.ui.h:23 +msgid "Show on all monitors." +msgstr "Показывать на всех мониторах." + +#: Settings.ui.h:24 +msgid "Position on screen" +msgstr "Расположение на экране" + +#: Settings.ui.h:26 +msgid "Bottom" +msgstr "Снизу" + +#: Settings.ui.h:27 +msgid "Top" +msgstr "Сверху" + +#: Settings.ui.h:29 +msgid "" +"Hide the dock when it obstructs a window of the current application. More " +"refined settings are available." +msgstr "" +"Скрывать Док, если он перекрывается окном активного приложения. Доступны " +"дополнительные настройки." + +#: Settings.ui.h:30 +msgid "Intelligent autohide" +msgstr "Интеллектуальное скрытие" + +#: Settings.ui.h:31 +msgid "Dock size limit" +msgstr "Ограничение размера Дока" + +#: Settings.ui.h:32 +msgid "Panel mode: extend to the screen edge" +msgstr "Режим панели: Док растянут по всей стороне экрана" + +#: Settings.ui.h:33 +msgid "Icon size limit" +msgstr "Ограничение размера иконок" + +#: Settings.ui.h:34 +msgid "Fixed icon size: scroll to reveal other icons" +msgstr "" +"Фиксированный размер иконок: используйте прокрутку для доступа к нужному " +"приложению" + +#: Settings.ui.h:35 +msgid "Position and size" +msgstr "Положение и размер" + +#: Settings.ui.h:36 +msgid "Show favorite applications" +msgstr "Показывать избранные приложения" + +#: Settings.ui.h:37 +msgid "Show running applications" +msgstr "Показывать запущенные приложения" + +#: Settings.ui.h:38 +msgid "Isolate workspaces." +msgstr "Для текущего рабочего стола." + +#: Settings.ui.h:39 +msgid "Isolate monitors." +msgstr "Изолировать мониторы." + +#: Settings.ui.h:40 +msgid "Show open windows previews." +msgstr "Показывать миниатюры открытых окон." + +#: Settings.ui.h:41 +msgid "" +"If disabled, these settings are accessible from gnome-tweak-tool or the " +"extension website." +msgstr "" +"Если отключено, то эти настройки доступны в gnome-tweak-tool или через сайт " +"дополнений." + +#: Settings.ui.h:42 +msgid "Show Applications icon" +msgstr "Показывать иконку «Приложения»" + +#: Settings.ui.h:43 +msgid "Move the applications button at the beginning of the dock." +msgstr "Расположить кнопку «Приложения» с другой стороны Дока." + +#: Settings.ui.h:44 +msgid "Animate Show Applications." +msgstr "Анимация при показе «Приложений»" + +#: Settings.ui.h:45 +msgid "Show trash can" +msgstr "Показывать корзину" + +#: Settings.ui.h:46 +msgid "Show mounted volumes and devices" +msgstr "Показывать примонтированные разделы и устройства" + +#: Settings.ui.h:47 +msgid "Launchers" +msgstr "Команды" + +#: Settings.ui.h:48 +msgid "" +"Enable Super+(0-9) as shortcuts to activate apps. It can also be used " +"together with Shift and Ctrl." +msgstr "" +"Включить сочетания клавиш Super+(0-9) для выбора приложений. Также может " +"быть использовано совместно с Shift и Ctrl." + +#: Settings.ui.h:49 +msgid "Use keyboard shortcuts to activate apps" +msgstr "Использовать сочетания клавиш для выбора приложений" + +#: Settings.ui.h:50 +msgid "Behaviour when clicking on the icon of a running application." +msgstr "Поведение при нажатии на иконку запущенного приложения." + +#: Settings.ui.h:51 +msgid "Click action" +msgstr "Действие по нажатию" + +#: Settings.ui.h:52 +msgid "Minimize" +msgstr "Минимизировать" + +#: Settings.ui.h:53 +msgid "Behaviour when scrolling on the icon of an application." +msgstr "Поведение при прокрутке на иконке приложения." + +#: Settings.ui.h:54 +msgid "Scroll action" +msgstr "Действие при прокрутке" + +#: Settings.ui.h:55 +msgid "Do nothing" +msgstr "Ничего не делать" + +#: Settings.ui.h:56 +msgid "Switch workspace" +msgstr "Переключить рабочий стол" + +#: Settings.ui.h:57 +msgid "Behavior" +msgstr "Поведение" + +#: Settings.ui.h:58 +msgid "" +"Few customizations meant to integrate the dock with the default GNOME theme. " +"Alternatively, specific options can be enabled below." +msgstr "" +"Сбалансированные настройки для интеграции Дока с темой Gnome по умолчанию. " +"Ниже можно установить настройки вручную." + +#: Settings.ui.h:59 +msgid "Use built-in theme" +msgstr "Использовать встроенную тему" + +#: Settings.ui.h:60 +msgid "Save space reducing padding and border radius." +msgstr "" +"Экономия рабочего пространства за счёт уменьшения промежутков и " +"использования скругленных углов." + +#: Settings.ui.h:61 +msgid "Shrink the dash" +msgstr "Сжать Док" + +#: Settings.ui.h:62 +msgid "Customize windows counter indicators" +msgstr "Настроить индикаторы количества окон" + +#: Settings.ui.h:63 +msgid "Default" +msgstr "По умолчанию" + +#: Settings.ui.h:64 +msgid "Dots" +msgstr "Точки" + +#: Settings.ui.h:65 +msgid "Squares" +msgstr "Квадраты" + +#: Settings.ui.h:66 +msgid "Dashes" +msgstr "Линии" + +#: Settings.ui.h:67 +msgid "Segmented" +msgstr "Сегменты" + +#: Settings.ui.h:68 +msgid "Solid" +msgstr "Слитно" + +#: Settings.ui.h:69 +msgid "Ciliora" +msgstr "" + +#: Settings.ui.h:70 +msgid "Metro" +msgstr "Метро" + +#: Settings.ui.h:71 +msgid "Set the background color for the dash." +msgstr "Вобор цвета фона для панели." + +#: Settings.ui.h:72 +msgid "Customize the dash color" +msgstr "Настроить цвет Дока" + +#: Settings.ui.h:73 +msgid "Tune the dash background opacity." +msgstr "Настройка прозрачности фона Дока." + +#: Settings.ui.h:75 +msgid "Fixed" +msgstr "Постоянная" + +#: Settings.ui.h:76 +msgid "Dynamic" +msgstr "Динамическая" + +#: Settings.ui.h:77 +msgid "Opacity" +msgstr "Непрозрачность" + +#: Settings.ui.h:78 +msgid "Force straight corner\n" +msgstr "Не скруглять углы\n" + +#: Settings.ui.h:80 +msgid "Appearance" +msgstr "Внешний вид" + +#: Settings.ui.h:81 +msgid "version: " +msgstr "версия: " + +#: Settings.ui.h:82 +msgid "Moves the dash out of the overview transforming it in a dock" +msgstr "Показывает панель из режима «Обзор» в виде дока" + +#: Settings.ui.h:83 +msgid "Created by" +msgstr "Автор" + +#: Settings.ui.h:84 +msgid "Webpage" +msgstr "Домашняя страница" + +#: Settings.ui.h:85 +msgid "" +"This program comes with ABSOLUTELY NO WARRANTY.\n" +"See the GNU General Public License, version 2 or later for details." +msgstr "" +"Эта программа распространяется БЕЗ КАКИХ ЛИБО " +"ГАРАНТИЙ.\n" +"Смотри GNU General Public License, версия 2 или позднее для информации." + +#: Settings.ui.h:87 +msgid "About" +msgstr "О дополнении" + +#: Settings.ui.h:88 +msgid "Customize minimum and maximum opacity values" +msgstr "Настройка минимального и максимального значения прозрачности" + +#: Settings.ui.h:89 +msgid "Minimum opacity" +msgstr "Минимальная прозрачность" + +#: Settings.ui.h:90 +msgid "Maximum opacity" +msgstr "Максимальная прозрачность" + +#: Settings.ui.h:91 +msgid "Number overlay" +msgstr "Отображение номера" + +#: Settings.ui.h:92 +msgid "" +"Temporarily show the application numbers over the icons, corresponding to " +"the shortcut." +msgstr "" +"Временно показывать номера приложений рядом с иконками, при нажатии " +"сочетания клавиш." + +#: Settings.ui.h:93 +msgid "Show the dock if it is hidden" +msgstr "Показать Док, если он скрыт" + +#: Settings.ui.h:94 +msgid "" +"If using autohide, the dock will appear for a short time when triggering the " +"shortcut." +msgstr "" +"Если используется автоматическое скрытие, то Док кратковреммено появится при " +"обработке сочетания клавиш." + +#: Settings.ui.h:95 +msgid "Shortcut for the options above" +msgstr "Сочетания клавиш для указанных параметров" + +#: Settings.ui.h:96 +msgid "Syntax: , , , " +msgstr "Синтаксис: , , , " + +#: Settings.ui.h:97 +msgid "Hide timeout (s)" +msgstr "Задержка скрытия (сек.)" + +#: Settings.ui.h:98 +msgid "Show the dock by mouse hover on the screen edge." +msgstr "Показывать Док при подведении мыши к стороне экрана." + +#: Settings.ui.h:99 +msgid "Autohide" +msgstr "Автоматическое скрытие" + +#: Settings.ui.h:100 +msgid "Push to show: require pressure to show the dock" +msgstr "Давление для появления: требуется давление для открытия Дока" + +#: Settings.ui.h:101 +msgid "Enable in fullscreen mode" +msgstr "Включить для полноэкранного режима" + +#: Settings.ui.h:102 +msgid "Show the dock when it doesn't obstruct application windows." +msgstr "Скрывать Док, когда он перекрыт окнами приложений" + +#: Settings.ui.h:103 +msgid "Dodge windows" +msgstr "Перекрытие окнами" + +#: Settings.ui.h:104 +msgid "All windows" +msgstr "Все окна" + +#: Settings.ui.h:105 +msgid "Only focused application's windows" +msgstr "Только активное окно приложения" + +#: Settings.ui.h:106 +msgid "Only maximized windows" +msgstr "Только развёрнутые окна" + +#: Settings.ui.h:107 +msgid "Animation duration (s)" +msgstr "Время анимации (сек.)" + +#: Settings.ui.h:108 +msgid "Show timeout (s)" +msgstr "Задержка открытия (сек.)" + +#: Settings.ui.h:109 +msgid "Pressure threshold" +msgstr "Порог давления" + +#~ msgid "Adaptive" +#~ msgstr "Адаптивная" + +#~ msgid "Show a dot for each windows of the application." +#~ msgstr "Отображает точку для каждого окна приложения." + +#~ msgid "" +#~ "With fixed icon size, only the edge of the dock and the Show " +#~ "Applications icon are active." +#~ msgstr "" +#~ "При фиксированном размере иконок приложений активна только область иконки " +#~ "«Приложения» и край дока." + +#~ msgid "Switch workspace by scrolling on the dock" +#~ msgstr "Переключать рабочие столы при прокрутке на Доке" + +#~ msgid "Only consider windows of the focused application" +#~ msgstr "Применить только к активным окнам приложений" + +#~ msgid "Main Settings" +#~ msgstr "Основные настройки" + +#~ msgid "Dock Position" +#~ msgstr "Расположение Дока" + +#~ msgid "Dock is fixed and always visible" +#~ msgstr "Док зафиксирован и всегда виден" + +#~ msgid "Show delay [ms]" +#~ msgstr "Задержка перед появлением [мс]" + +#~ msgid "Hide delay [ms]" +#~ msgstr "Задержка перед скрытием [мс]" + +#~ msgid "Application based intellihide" +#~ msgstr "Интеллектуальное скрытие действует только для активных окон" + +#~ msgid "Show the dock on following monitor (if attached)" +#~ msgstr "Показывать Док на дополнительном мониторе (если подключен)" + +#~ msgid "Primary (default)" +#~ msgstr "Главный (по умолчанию)" + +#~ msgid "Max height" +#~ msgstr "Максимальная высота" + +#~ msgid "Expand (experimental and buggy)" +#~ msgstr "Расширяемый (экспериментально и неустойчиво)" + +#~ msgid "Maximum icon size" +#~ msgstr "Максимальный размер иконки" + +#~ msgid "Optional features" +#~ msgstr "Дополнительные функции" + +#~ msgid "Deadtime between each workspace switching [ms]" +#~ msgstr "Задержка между каждым переключением [мс]" + +#~ msgid "Only a 1px wide area close to the screen edge is active" +#~ msgstr "Активная область - 1 пиксель от края экрана" + +#~ msgid "All the area of the dock is active" +#~ msgstr "Активен весь Док" + +#~ msgid "Customize actions on mouse click" +#~ msgstr "Настроить действия по нажатию мыши" + +#~ msgid "Action on clicking on running app" +#~ msgstr "Действие по нажатию на иконку запущенного приложения" + +#~ msgid "Minimize window on shift+click (double click for all app windows)" +#~ msgstr "" +#~ "Минимизировать окно при shift+click (двойное нажатие скрывает все окна " +#~ "приложений)" + +#~ msgid "Make message tray insensitive to mouse events" +#~ msgstr "Сделать область сообщений нечувствительной к мыши" + +#~ msgid "Appearence and Themes" +#~ msgstr "Внешний вид и Темы" + +#~ msgid "" +#~ "A customized theme is built in the extension. This is meant to work with " +#~ "the default Adwaita theme: the dash is shrunk to save space, its " +#~ "background transparency reduced, and custom indicators for the number of " +#~ "windows of each application are added." +#~ msgstr "" +#~ "Тема встроена в расширение. Она оптимизирована для темы Adwaita по " +#~ "умолчанию: Док уменьшен, чтобы сохранить пространство; прозрачность фона " +#~ "снижена; включены индикаторы количества окон для каждого приложения." + +#~ msgid "" +#~ "Alternatively, for a better integration with custom themes, each " +#~ "customization can be applied indipendently" +#~ msgstr "" +#~ "Для большей интеграции с пользовательской темой, каждый параметр можно " +#~ "настроить независимо" + +#~ msgid "Shrink the dash size by reducing padding" +#~ msgstr "Уменьшить Док за счёт промежутков" diff --git a/extensions/dash-to-dock/po/sk.po b/extensions/dash-to-dock/po/sk.po new file mode 100644 index 00000000..9bcd3444 --- /dev/null +++ b/extensions/dash-to-dock/po/sk.po @@ -0,0 +1,454 @@ +# Slovak translation of dash-to-dock. +# Copyright (C) 2016 Dušan Kazik +# This file is distributed under the same license as the PACKAGE package. +# Dušan Kazik , 2015, 2016. +# +msgid "" +msgstr "" +"Project-Id-Version: \n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-06-04 12:35+0100\n" +"PO-Revision-Date: 2016-07-15 12:48+0200\n" +"Last-Translator: Dušan Kazik \n" +"Language-Team: \n" +"Language: sk\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Poedit 1.8.7.1\n" +"Plural-Forms: nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2;\n" + +#: prefs.js:113 +msgid "Primary monitor" +msgstr "Hlavnom monitore" + +#: prefs.js:122 prefs.js:129 +msgid "Secondary monitor " +msgstr "Vedľajšom monitore" + +#: prefs.js:154 Settings.ui.h:29 +msgid "Right" +msgstr "Vpravo" + +#: prefs.js:155 Settings.ui.h:26 +msgid "Left" +msgstr "Vľavo" + +#: prefs.js:205 +msgid "Intelligent autohide customization" +msgstr "Prispôsobenie inteligentného automatického skrývania" + +#: prefs.js:212 prefs.js:393 prefs.js:450 +msgid "Reset to defaults" +msgstr "Obnoviť pôvodné" + +#: prefs.js:386 +#, fuzzy +msgid "Show dock and application numbers" +msgstr "Zobraziť spustené aplikácie" + +#: prefs.js:443 +#, fuzzy +msgid "Customize middle-click behavior" +msgstr "Prispôsobenie štýlu indikátorov" + +#: prefs.js:514 +msgid "Customize running indicators" +msgstr "Prispôsobenie " + +#: appIcons.js:804 +msgid "All Windows" +msgstr "Všetky okná" + +#: Settings.ui.h:1 +msgid "Customize indicator style" +msgstr "Prispôsobenie štýlu indikátorov" + +#: Settings.ui.h:2 +msgid "Color" +msgstr "Farba" + +#: Settings.ui.h:3 +msgid "Border color" +msgstr "Farba okraja" + +#: Settings.ui.h:4 +msgid "Border width" +msgstr "Šírka okraja" + +#: Settings.ui.h:5 +msgid "Number overlay" +msgstr "" + +#: Settings.ui.h:6 +msgid "" +"Temporarily show the application numbers over the icons, corresponding to " +"the shortcut." +msgstr "" + +#: Settings.ui.h:7 +#, fuzzy +msgid "Show the dock if it is hidden" +msgstr "Zobraziť dok na" + +#: Settings.ui.h:8 +msgid "" +"If using autohide, the dock will appear for a short time when triggering the " +"shortcut." +msgstr "" + +#: Settings.ui.h:9 +msgid "Shortcut for the options above" +msgstr "" + +#: Settings.ui.h:10 +msgid "Syntax: , , , " +msgstr "" + +#: Settings.ui.h:11 +msgid "Hide timeout (s)" +msgstr "Časový limit na skrytie (s)" + +#: Settings.ui.h:12 +msgid "" +"When set to minimize, double clicking minimizes all the windows of the " +"application." +msgstr "" +"Keď je nastavené na minimalizovanie, dvojklik minimalizuje všetky okná " +"aplikácie." + +#: Settings.ui.h:13 +msgid "Shift+Click action" +msgstr "Akcia Shift+Kliknutie" + +#: Settings.ui.h:14 +#, fuzzy +msgid "Raise window" +msgstr "Minimalizovať okno" + +#: Settings.ui.h:15 +msgid "Minimize window" +msgstr "Minimalizovať okno" + +#: Settings.ui.h:16 +msgid "Launch new instance" +msgstr "Spustiť novú inštanciu" + +#: Settings.ui.h:17 +msgid "Cycle through windows" +msgstr "Striedať okná" + +#: Settings.ui.h:18 +msgid "Quit" +msgstr "" + +#: Settings.ui.h:19 +msgid "Behavior for Middle-Click." +msgstr "" + +#: Settings.ui.h:20 +#, fuzzy +msgid "Middle-Click action" +msgstr "Akcia po kliknutí" + +#: Settings.ui.h:21 +msgid "Behavior for Shift+Middle-Click." +msgstr "" + +#: Settings.ui.h:22 +#, fuzzy +msgid "Shift+Middle-Click action" +msgstr "Akcia Shift+Kliknutie" + +#: Settings.ui.h:23 +msgid "Show the dock on" +msgstr "Zobraziť dok na" + +#: Settings.ui.h:24 +#, fuzzy +msgid "Show on all monitors." +msgstr "Vedľajšom monitore" + +#: Settings.ui.h:25 +msgid "Position on screen" +msgstr "Pozícia na obrazovke" + +#: Settings.ui.h:27 +msgid "Bottom" +msgstr "Na spodku" + +#: Settings.ui.h:28 +msgid "Top" +msgstr "Na vrchu" + +#: Settings.ui.h:30 +msgid "" +"Hide the dock when it obstructs a window of the current application. More " +"refined settings are available." +msgstr "" +"Skryť dok, keď zasahuje do okna aktuálnej aplikácie. Sú dostupné " +"podrobnejšie nastavenia." + +#: Settings.ui.h:31 +msgid "Intelligent autohide" +msgstr "Inteligentné automatické skrývanie" + +#: Settings.ui.h:32 +msgid "Dock size limit" +msgstr "Limit veľkosti doku" + +#: Settings.ui.h:33 +msgid "Panel mode: extend to the screen edge" +msgstr "Režim panelu: roztiahnutie k hranám obrazovky" + +#: Settings.ui.h:34 +msgid "Icon size limit" +msgstr "Limit veľkosti ikôn" + +#: Settings.ui.h:35 +msgid "Fixed icon size: scroll to reveal other icons" +msgstr "Pevná veľkosť ikôn: rolovaním odhalíte ostatné ikony" + +#: Settings.ui.h:36 +msgid "Position and size" +msgstr "Pozícia a veľkosť" + +#: Settings.ui.h:37 +msgid "Show favorite applications" +msgstr "Zobraziť obľúbené aplikácie" + +#: Settings.ui.h:38 +msgid "Show running applications" +msgstr "Zobraziť spustené aplikácie" + +#: Settings.ui.h:39 +msgid "Isolate workspaces." +msgstr "Oddelené pracovné priestory." + +#: Settings.ui.h:40 +msgid "Show open windows previews." +msgstr "" + +#: Settings.ui.h:41 +#, fuzzy +msgid "" +"If disabled, these settings are accessible from gnome-tweak-tool or the " +"extension website." +msgstr "" +"Ak je voľba zakázaná, nastavenia sú dostupné z nástroja na vyladenie " +"nastavení prostredia Gnome alebo webovej stránky rozšírenia." + +#: Settings.ui.h:42 +msgid "Show Applications icon" +msgstr "Zobraziť ikonu Aplikácie" + +#: Settings.ui.h:43 +msgid "Move the applications button at the beginning of the dock." +msgstr "Premiestni tlačidlo aplikácií na začiatok doku." + +#: Settings.ui.h:44 +msgid "Animate Show Applications." +msgstr "Animovať položku Zobraziť aplikácie." + +#: Settings.ui.h:45 +msgid "Launchers" +msgstr "" + +#: Settings.ui.h:46 +msgid "" +"Enable Super+(0-9) as shortcuts to activate apps. It can also be used " +"together with Shift and Ctrl." +msgstr "" + +#: Settings.ui.h:47 +msgid "Use keyboard shortcuts to activate apps" +msgstr "" + +#: Settings.ui.h:48 +msgid "Behaviour when clicking on the icon of a running application." +msgstr "Správanie pri kliknutí na ikonu spustenej aplikácie." + +#: Settings.ui.h:49 +msgid "Click action" +msgstr "Akcia po kliknutí" + +#: Settings.ui.h:50 +msgid "Minimize" +msgstr "Minimalizovať" + +#: Settings.ui.h:51 +#, fuzzy +msgid "Minimize or overview" +msgstr "Minimalizovať okno" + +#: Settings.ui.h:52 +#, fuzzy +msgid "Behaviour when scrolling on the icon of an application." +msgstr "Správanie pri kliknutí na ikonu spustenej aplikácie." + +#: Settings.ui.h:53 +#, fuzzy +msgid "Scroll action" +msgstr "Akcia po kliknutí" + +#: Settings.ui.h:54 +msgid "Do nothing" +msgstr "Nevykonať nič" + +#: Settings.ui.h:55 +#, fuzzy +msgid "Switch workspace" +msgstr "Oddelené pracovné priestory." + +#: Settings.ui.h:56 +msgid "Behavior" +msgstr "Správanie" + +#: Settings.ui.h:57 +msgid "" +"Few customizations meant to integrate the dock with the default GNOME theme. " +"Alternatively, specific options can be enabled below." +msgstr "" +"Niekoľko úprav na integrovanie doku s predvolenou témou prostredia GNOME. " +"Alternatívne môžu byť povolené špecifické voľby nižšie." + +#: Settings.ui.h:58 +msgid "Use built-in theme" +msgstr "Použiť zabudovanú tému" + +#: Settings.ui.h:59 +msgid "Save space reducing padding and border radius." +msgstr "Ušetrí miesto zmenšením rádiusu odsadenia a okrajov." + +#: Settings.ui.h:60 +msgid "Shrink the dash" +msgstr "Zmenšiť panel" + +#: Settings.ui.h:61 +msgid "Show a dot for each windows of the application." +msgstr "Zobrazí bodku za každé okno aplikácie." + +#: Settings.ui.h:62 +msgid "Show windows counter indicators" +msgstr "Zobraziť indikátory počítadiel okien" + +#: Settings.ui.h:63 +msgid "Set the background color for the dash." +msgstr "Nastaví farbu pozadia panelu." + +#: Settings.ui.h:64 +msgid "Customize the dash color" +msgstr "Prispôsobenie farby panelu" + +#: Settings.ui.h:65 +msgid "Tune the dash background opacity." +msgstr "Vyladí krytie pozadia panelu." + +#: Settings.ui.h:66 +msgid "Customize opacity" +msgstr "Prispôsobenie krytia" + +#: Settings.ui.h:67 +msgid "Opacity" +msgstr "Krytie" + +#: Settings.ui.h:68 +msgid "Force straight corner\n" +msgstr "" + +#: Settings.ui.h:70 +msgid "Appearance" +msgstr "Vzhľad" + +#: Settings.ui.h:71 +msgid "version: " +msgstr "Verzia: c" + +#: Settings.ui.h:72 +msgid "Moves the dash out of the overview transforming it in a dock" +msgstr "Presunie panel z prehľadu transformovaním do doku" + +#: Settings.ui.h:73 +msgid "Created by" +msgstr "Vytvoril" + +#: Settings.ui.h:74 +msgid "Webpage" +msgstr "Webová stránka" + +#: Settings.ui.h:75 +msgid "" +"This program comes with ABSOLUTELY NO WARRANTY.\n" +"See the GNU General Public License, version 2 or later for details." +msgstr "" +"Tento program je ABSOLÚTNE BEZ ZÁRUKY.\n" +"Pre viac podrobností si pozrite Licenciu GNU General Public, verzie 2 alebo novšiu." + +#: Settings.ui.h:77 +msgid "About" +msgstr "O rozšírení" + +#: Settings.ui.h:78 +msgid "Show the dock by mouse hover on the screen edge." +msgstr "Zobrazí dok prejdením myši na hranu obrazovky." + +#: Settings.ui.h:79 +msgid "Autohide" +msgstr "Automatické skrytie" + +#: Settings.ui.h:80 +msgid "Push to show: require pressure to show the dock" +msgstr "Zobraziť stlačením: vyžaduje tlak na zobrazenie doku" + +#: Settings.ui.h:81 +msgid "Enable in fullscreen mode" +msgstr "Povoliť v režime na celú obrazovku" + +#: Settings.ui.h:82 +msgid "Show the dock when it doesn't obstruct application windows." +msgstr "Zobrazí dok, keď nebude zasahovať do okien aplikácií." + +#: Settings.ui.h:83 +msgid "Dodge windows" +msgstr "Vyhýbať sa oknám" + +#: Settings.ui.h:84 +msgid "All windows" +msgstr "Všetky okná" + +#: Settings.ui.h:85 +msgid "Only focused application's windows" +msgstr "Iba zamerané okná aplikácií" + +#: Settings.ui.h:86 +msgid "Only maximized windows" +msgstr "Iba maximalizované okná" + +#: Settings.ui.h:87 +msgid "Animation duration (s)" +msgstr "Trvanie animácie (s)" + +#: Settings.ui.h:88 +msgid "0.000" +msgstr "0.000" + +#: Settings.ui.h:89 +msgid "Show timeout (s)" +msgstr "Zobraziť časový limit (s)" + +#: Settings.ui.h:90 +msgid "Pressure threshold" +msgstr "Medza tlaku" + +#~ msgid "" +#~ "With fixed icon size, only the edge of the dock and the Show " +#~ "Applications icon are active." +#~ msgstr "" +#~ "S pevnou veľkosťou ikon je aktívna iba hrana doku a ikona Zobraziť " +#~ "aplikácie." + +#~ msgid "Switch workspace by scrolling on the dock" +#~ msgstr "Prepínať pracovné priestory rolovaním na doku" diff --git a/extensions/dash-to-dock/po/sr.po b/extensions/dash-to-dock/po/sr.po new file mode 100644 index 00000000..af9ff533 --- /dev/null +++ b/extensions/dash-to-dock/po/sr.po @@ -0,0 +1,470 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. +# FIRST AUTHOR , YEAR. +# +msgid "" +msgstr "" +"Project-Id-Version: \n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-09-16 13:45+0200\n" +"PO-Revision-Date: 2017-09-20 18:59+0200\n" +"Last-Translator: Слободан Терзић \n" +"Language-Team: \n" +"Language: sr\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Poedit 2.0.3\n" +"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n" +"%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" + +#: prefs.js:113 +msgid "Primary monitor" +msgstr "примарном монитору" + +#: prefs.js:122 prefs.js:129 +msgid "Secondary monitor " +msgstr "секундарном монитору" + +#: prefs.js:154 Settings.ui.h:31 +msgid "Right" +msgstr "десно" + +#: prefs.js:155 Settings.ui.h:28 +msgid "Left" +msgstr "лево" + +#: prefs.js:205 +msgid "Intelligent autohide customization" +msgstr "Поставке интелигентног аутоматског сакривања" + +#: prefs.js:212 prefs.js:397 prefs.js:454 +msgid "Reset to defaults" +msgstr "Поврати основно" + +#: prefs.js:390 +msgid "Show dock and application numbers" +msgstr "Прикажи док и бројеве програма" + +#: prefs.js:447 +msgid "Customize middle-click behavior" +msgstr "Прилагоћавање понашања средњег клика" + +#: prefs.js:518 +msgid "Customize running indicators" +msgstr "Прилагођавање индикатора покренутих" + +#: appIcons.js:1144 +msgid "All Windows" +msgstr "Сви прозори" + +#. Translators: %s is "Settings", which is automatically translated. You +#. can also translate the full message if this fits better your language. +#: appIcons.js:1450 +#, javascript-format +msgid "Dash to Dock %s" +msgstr "%s плоче/панела" + +#: Settings.ui.h:1 +msgid "Customize indicator style" +msgstr "Прилагоћавање стила индикатора" + +#: Settings.ui.h:2 +msgid "Color" +msgstr "Боја" + +#: Settings.ui.h:3 +msgid "Border color" +msgstr "Боја ивице" + +#: Settings.ui.h:4 +msgid "Border width" +msgstr "Ширина ивице" + +#: Settings.ui.h:5 +msgid "Number overlay" +msgstr "Бројне налепнице" + +#: Settings.ui.h:6 +msgid "" +"Temporarily show the application numbers over the icons, corresponding to " +"the shortcut." +msgstr "" +"Привремено прикажи бројеве програма изнад иконица, према припадајућој " +"пречици." + +#: Settings.ui.h:7 +msgid "Show the dock if it is hidden" +msgstr "Прикажи док уколико је сакривен" + +#: Settings.ui.h:8 +msgid "" +"If using autohide, the dock will appear for a short time when triggering the " +"shortcut." +msgstr "" +"Уколико се користи аутоматско сакривање, док ће се приказати на тренутак при " +"окидању пречице." + +#: Settings.ui.h:9 +msgid "Shortcut for the options above" +msgstr "Пречица за горе наведене опције" + +#: Settings.ui.h:10 +msgid "Syntax: , , , " +msgstr "Синтакса: , , , " + +#: Settings.ui.h:11 +msgid "Hide timeout (s)" +msgstr "Застој скривања" + +#: Settings.ui.h:12 +msgid "" +"When set to minimize, double clicking minimizes all the windows of the " +"application." +msgstr "" +"Кад је постављено на минимизовање, дупли клик минимизује све прозоре " +"програма." + +#: Settings.ui.h:13 +msgid "Shift+Click action" +msgstr "Радња шифт+клика" + +#: Settings.ui.h:14 +msgid "Raise window" +msgstr "издигни прозор" + +#: Settings.ui.h:15 +msgid "Minimize window" +msgstr "минимизуј прозор" + +#: Settings.ui.h:16 +msgid "Launch new instance" +msgstr "покрени нови примерак" + +#: Settings.ui.h:17 +msgid "Cycle through windows" +msgstr "кружење кроз прозоре" + +#: Settings.ui.h:18 +msgid "Minimize or overview" +msgstr "минимиуј или преглед" + +#: Settings.ui.h:19 +msgid "Show window previews" +msgstr "прикажи сличице прозора" + +#: Settings.ui.h:20 +msgid "Quit" +msgstr "напусти" + +#: Settings.ui.h:21 +msgid "Behavior for Middle-Click." +msgstr "Понашање средњег клика." + +#: Settings.ui.h:22 +msgid "Middle-Click action" +msgstr "Радња средњег клика" + +#: Settings.ui.h:23 +msgid "Behavior for Shift+Middle-Click." +msgstr "Пoнашање шифт+средњег клика." + +#: Settings.ui.h:24 +msgid "Shift+Middle-Click action" +msgstr "Радња шифт+средњегклика" + +#: Settings.ui.h:25 +msgid "Show the dock on" +msgstr "Прикажи док на" + +#: Settings.ui.h:26 +msgid "Show on all monitors." +msgstr "Прикажи на свим мониторима." + +#: Settings.ui.h:27 +msgid "Position on screen" +msgstr "Позиција на екрану" + +#: Settings.ui.h:29 +msgid "Bottom" +msgstr "дно" + +#: Settings.ui.h:30 +msgid "Top" +msgstr "врх" + +#: Settings.ui.h:32 +msgid "" +"Hide the dock when it obstructs a window of the current application. More " +"refined settings are available." +msgstr "" +"Сакриј док када је на путу прозора тренутног програма. Доступне су финије " +"поставке." + +#: Settings.ui.h:33 +msgid "Intelligent autohide" +msgstr "Интелигентно аутоматско сакривање" + +#: Settings.ui.h:34 +msgid "Dock size limit" +msgstr "Ограничење величине дока" + +#: Settings.ui.h:35 +msgid "Panel mode: extend to the screen edge" +msgstr "Режим панела: проширен до ивица екрана" + +#: Settings.ui.h:36 +msgid "Icon size limit" +msgstr "Ограничење величине иконица" + +#: Settings.ui.h:37 +msgid "Fixed icon size: scroll to reveal other icons" +msgstr "Устаљена величина иконица: клизајте за друге иконе" + +#: Settings.ui.h:38 +msgid "Position and size" +msgstr "Позиција и величина" + +#: Settings.ui.h:39 +msgid "Show favorite applications" +msgstr "Приказ омиљених програма" + +#: Settings.ui.h:40 +msgid "Show running applications" +msgstr "Приказ покренутих програма" + +#: Settings.ui.h:41 +msgid "Isolate workspaces." +msgstr "Изолуј радне просторе." + +#: Settings.ui.h:42 +msgid "Isolate monitors." +msgstr "Изолуј мониторе." + +#: Settings.ui.h:43 +msgid "Show open windows previews." +msgstr "Прикажи сличице отворених прозора." + +#: Settings.ui.h:44 +msgid "" +"If disabled, these settings are accessible from gnome-tweak-tool or the " +"extension website." +msgstr "" +"Уколико је онемогућено, ове поставке су доступне кроз алатку за лицкање или " +"веб сајт проширења." + +#: Settings.ui.h:45 +msgid "Show Applications icon" +msgstr "Приказ иконице Прикажи програме" + +#: Settings.ui.h:46 +msgid "Move the applications button at the beginning of the dock." +msgstr "Помери дугме програма на почетак дока." + +#: Settings.ui.h:47 +msgid "Animate Show Applications." +msgstr "Анимирај приказ програма." + +#: Settings.ui.h:48 +msgid "Launchers" +msgstr "Покретачи" + +#: Settings.ui.h:49 +msgid "" +"Enable Super+(0-9) as shortcuts to activate apps. It can also be used " +"together with Shift and Ctrl." +msgstr "" +"Укључује Супер+(0-9) као пречице за активацију програма. Такође је могуће " +"користити уз shift и ctrl." + +#: Settings.ui.h:50 +msgid "Use keyboard shortcuts to activate apps" +msgstr "Активирај програме пречицама тастатуре" + +#: Settings.ui.h:51 +msgid "Behaviour when clicking on the icon of a running application." +msgstr "Понашање при клику на покренути програм." + +#: Settings.ui.h:52 +msgid "Click action" +msgstr "Радња клика" + +#: Settings.ui.h:53 +msgid "Minimize" +msgstr "минимизуј" + +#: Settings.ui.h:54 +msgid "Behaviour when scrolling on the icon of an application." +msgstr "Понашање при клизању на иконицу покренутог програма." + +#: Settings.ui.h:55 +msgid "Scroll action" +msgstr "Радња клизања на иконицу" + +#: Settings.ui.h:56 +msgid "Do nothing" +msgstr "ништа" + +#: Settings.ui.h:57 +msgid "Switch workspace" +msgstr "пребаци радни простор" + +#: Settings.ui.h:58 +msgid "Behavior" +msgstr "Понашање" + +#: Settings.ui.h:59 +msgid "" +"Few customizations meant to integrate the dock with the default GNOME theme. " +"Alternatively, specific options can be enabled below." +msgstr "" +"Неколико поставки намењених уграђивању дока у основну тему Гнома. " +"Алтернативно, посебне поставке се могу уредити испод." + +#: Settings.ui.h:60 +msgid "Use built-in theme" +msgstr "Користи уграђену тему" + +#: Settings.ui.h:61 +msgid "Save space reducing padding and border radius." +msgstr "Чува простор сужавањем попуне и опсега ивица." + +#: Settings.ui.h:62 +msgid "Shrink the dash" +msgstr "Скупи плочу" + +#: Settings.ui.h:63 +msgid "Show a dot for each windows of the application." +msgstr "Приказује тачку за сваки прозор програма." + +#: Settings.ui.h:64 +msgid "Show windows counter indicators" +msgstr "Приказ индикаторa бројача прозора." + +#: Settings.ui.h:65 +msgid "Set the background color for the dash." +msgstr "Постави позадинску боју плоче." + +#: Settings.ui.h:66 +msgid "Customize the dash color" +msgstr "Прилагоди боју плоче" + +#: Settings.ui.h:67 +msgid "Tune the dash background opacity." +msgstr "Прилагоди прозирност позадине плоче." + +#: Settings.ui.h:68 +msgid "Customize opacity" +msgstr "Прилагоћавање прозирности" + +#: Settings.ui.h:69 +msgid "Opacity" +msgstr "Прозирност" + +#: Settings.ui.h:70 +msgid "Enable Unity7 like glossy backlit items" +msgstr "Укључи позадинске ефекте попут Unity7" + +#: Settings.ui.h:71 +msgid "Force straight corner\n" +msgstr "Наметни равне углове\n" + +#: Settings.ui.h:73 +msgid "Appearance" +msgstr "Изглед" + +#: Settings.ui.h:74 +msgid "version: " +msgstr "верзија: " + +#: Settings.ui.h:75 +msgid "Moves the dash out of the overview transforming it in a dock" +msgstr "Помера плочу из глобалног приказа, претварајући је у док" + +#: Settings.ui.h:76 +msgid "Created by" +msgstr "Направи" + +#: Settings.ui.h:77 +msgid "Webpage" +msgstr "Веб страница" + +#: Settings.ui.h:78 +msgid "" +"This program comes with ABSOLUTELY NO WARRANTY.\n" +"See the GNU General Public License, version 2 or later for details." +msgstr "" +"Овај програм се доставља БЕЗ ИКАКВИХ ГАРАНЦИЈА.\n" +"Погледајте ГНУову Општу Јавну лиценцу, верзија 2 или каснија, за детаље." + +#: Settings.ui.h:80 +msgid "About" +msgstr "О програму" + +#: Settings.ui.h:81 +msgid "Show the dock by mouse hover on the screen edge." +msgstr "Прикажи док прелазом миша пеко ивице екрана." + +#: Settings.ui.h:82 +msgid "Autohide" +msgstr "Аутоматско сакривање" + +#: Settings.ui.h:83 +msgid "Push to show: require pressure to show the dock" +msgstr "Приказ притиском: захтева притисак за приказ дока" + +#: Settings.ui.h:84 +msgid "Enable in fullscreen mode" +msgstr "Омогући у целоекранском режиму" + +#: Settings.ui.h:85 +msgid "Show the dock when it doesn't obstruct application windows." +msgstr "Приказује док када није на путу прозорима програма." + +#: Settings.ui.h:86 +msgid "Dodge windows" +msgstr "Избегавање розора" + +#: Settings.ui.h:87 +msgid "All windows" +msgstr "Сви прозори" + +#: Settings.ui.h:88 +msgid "Only focused application's windows" +msgstr "Само прозор фокусираног програма" + +#: Settings.ui.h:89 +msgid "Only maximized windows" +msgstr "Само максимизовани прозори" + +#: Settings.ui.h:90 +msgid "Animation duration (s)" +msgstr "Трајање(а) анимације" + +#: Settings.ui.h:91 +msgid "Show timeout (s)" +msgstr "Застој приказивања" + +#: Settings.ui.h:92 +msgid "Pressure threshold" +msgstr "Праг притиска" + +#~ msgid "0.000" +#~ msgstr "0,000" + +#, fuzzy +#~ msgid "" +#~ "With fixed icon size, only the edge of the dock and the Show " +#~ "Applications icon are active." +#~ msgstr "" +#~ "Ако се иконе преклапају на доку, приказује се само икона Прикажи " +#~ "програме." + +#~ msgid "Switch workspace by scrolling on the dock" +#~ msgstr "Промена радног простора клизањем по доку" + +#~ msgid "Only consider windows of the focused application" +#~ msgstr "Разматрај само прозор фокусираног програма" diff --git a/extensions/dash-to-dock/po/sr@latin.po b/extensions/dash-to-dock/po/sr@latin.po new file mode 100644 index 00000000..e7f7794f --- /dev/null +++ b/extensions/dash-to-dock/po/sr@latin.po @@ -0,0 +1,469 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. +# FIRST AUTHOR , YEAR. +# +msgid "" +msgstr "" +"Project-Id-Version: \n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-09-16 13:45+0200\n" +"PO-Revision-Date: 2017-09-20 18:56+0200\n" +"Last-Translator: Slobodan Terzić \n" +"Language-Team: \n" +"Language: sr@latin\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Poedit 2.0.3\n" +"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n" +"%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" + +#: prefs.js:113 +msgid "Primary monitor" +msgstr "primarnom monitoru" + +#: prefs.js:122 prefs.js:129 +msgid "Secondary monitor " +msgstr "sekundarnom monitoru" + +#: prefs.js:154 Settings.ui.h:31 +msgid "Right" +msgstr "desno" + +#: prefs.js:155 Settings.ui.h:28 +msgid "Left" +msgstr "levo" + +#: prefs.js:205 +msgid "Intelligent autohide customization" +msgstr "Postavke inteligentnog automatskog sakrivanja" + +#: prefs.js:212 prefs.js:397 prefs.js:454 +msgid "Reset to defaults" +msgstr "Povrati osnovno" + +#: prefs.js:390 +msgid "Show dock and application numbers" +msgstr "Prikaži dok i brojeve programa" + +#: prefs.js:447 +msgid "Customize middle-click behavior" +msgstr "Prilagoćavanje ponašanja srednjeg klika" + +#: prefs.js:518 +msgid "Customize running indicators" +msgstr "Prilagođavanje indikatora pokrenutih" + +#: appIcons.js:1144 +msgid "All Windows" +msgstr "Svi prozori" + +#. Translators: %s is "Settings", which is automatically translated. You +#. can also translate the full message if this fits better your language. +#: appIcons.js:1450 +#, javascript-format +msgid "Dash to Dock %s" +msgstr "%s ploče/panela" + +#: Settings.ui.h:1 +msgid "Customize indicator style" +msgstr "Prilagoćavanje stila indikatora" + +#: Settings.ui.h:2 +msgid "Color" +msgstr "Boja" + +#: Settings.ui.h:3 +msgid "Border color" +msgstr "Boja ivice" + +#: Settings.ui.h:4 +msgid "Border width" +msgstr "Širina ivice" + +#: Settings.ui.h:5 +msgid "Number overlay" +msgstr "Brojne nalepnice" + +#: Settings.ui.h:6 +msgid "" +"Temporarily show the application numbers over the icons, corresponding to the " +"shortcut." +msgstr "" +"Privremeno prikaži brojeve programa iznad ikonica, prema pripadajućoj prečici." + +#: Settings.ui.h:7 +msgid "Show the dock if it is hidden" +msgstr "Prikaži dok ukoliko je sakriven" + +#: Settings.ui.h:8 +msgid "" +"If using autohide, the dock will appear for a short time when triggering the " +"shortcut." +msgstr "" +"Ukoliko se koristi automatsko sakrivanje, dok će se prikazati na trenutak pri " +"okidanju prečice." + +#: Settings.ui.h:9 +msgid "Shortcut for the options above" +msgstr "Prečica za gore navedene opcije" + +#: Settings.ui.h:10 +msgid "Syntax: , , , " +msgstr "Sintaksa: , , , " + +#: Settings.ui.h:11 +msgid "Hide timeout (s)" +msgstr "Zastoj skrivanja" + +#: Settings.ui.h:12 +msgid "" +"When set to minimize, double clicking minimizes all the windows of the " +"application." +msgstr "" +"Kad je postavljeno na minimizovanje, dupli klik minimizuje sve prozore " +"programa." + +#: Settings.ui.h:13 +msgid "Shift+Click action" +msgstr "Radnja šift+klika" + +#: Settings.ui.h:14 +msgid "Raise window" +msgstr "izdigni prozor" + +#: Settings.ui.h:15 +msgid "Minimize window" +msgstr "minimizuj prozor" + +#: Settings.ui.h:16 +msgid "Launch new instance" +msgstr "pokreni novi primerak" + +#: Settings.ui.h:17 +msgid "Cycle through windows" +msgstr "kruženje kroz prozore" + +#: Settings.ui.h:18 +msgid "Minimize or overview" +msgstr "minimiuj ili pregled" + +#: Settings.ui.h:19 +msgid "Show window previews" +msgstr "prikaži sličice prozora" + +#: Settings.ui.h:20 +msgid "Quit" +msgstr "napusti" + +#: Settings.ui.h:21 +msgid "Behavior for Middle-Click." +msgstr "Ponašanje srednjeg klika." + +#: Settings.ui.h:22 +msgid "Middle-Click action" +msgstr "Radnja srednjeg klika" + +#: Settings.ui.h:23 +msgid "Behavior for Shift+Middle-Click." +msgstr "Ponašanje šift+srednjeg klika." + +#: Settings.ui.h:24 +msgid "Shift+Middle-Click action" +msgstr "Radnja šift+srednjegklika" + +#: Settings.ui.h:25 +msgid "Show the dock on" +msgstr "Prikaži dok na" + +#: Settings.ui.h:26 +msgid "Show on all monitors." +msgstr "Prikaži na svim monitorima." + +#: Settings.ui.h:27 +msgid "Position on screen" +msgstr "Pozicija na ekranu" + +#: Settings.ui.h:29 +msgid "Bottom" +msgstr "dno" + +#: Settings.ui.h:30 +msgid "Top" +msgstr "vrh" + +#: Settings.ui.h:32 +msgid "" +"Hide the dock when it obstructs a window of the current application. More " +"refined settings are available." +msgstr "" +"Sakrij dok kada je na putu prozora trenutnog programa. Dostupne su finije " +"postavke." + +#: Settings.ui.h:33 +msgid "Intelligent autohide" +msgstr "Inteligentno automatsko sakrivanje" + +#: Settings.ui.h:34 +msgid "Dock size limit" +msgstr "Ograničenje veličine doka" + +#: Settings.ui.h:35 +msgid "Panel mode: extend to the screen edge" +msgstr "Režim panela: proširen do ivica ekrana" + +#: Settings.ui.h:36 +msgid "Icon size limit" +msgstr "Ograničenje veličine ikonica" + +#: Settings.ui.h:37 +msgid "Fixed icon size: scroll to reveal other icons" +msgstr "Ustaljena veličina ikonica: klizajte za druge ikone" + +#: Settings.ui.h:38 +msgid "Position and size" +msgstr "Pozicija i veličina" + +#: Settings.ui.h:39 +msgid "Show favorite applications" +msgstr "Prikaz omiljenih programa" + +#: Settings.ui.h:40 +msgid "Show running applications" +msgstr "Prikaz pokrenutih programa" + +#: Settings.ui.h:41 +msgid "Isolate workspaces." +msgstr "Izoluj radne prostore." + +#: Settings.ui.h:42 +msgid "Isolate monitors." +msgstr "Izoluj monitore." + +#: Settings.ui.h:43 +msgid "Show open windows previews." +msgstr "Prikaži sličice otvorenih prozora." + +#: Settings.ui.h:44 +msgid "" +"If disabled, these settings are accessible from gnome-tweak-tool or the " +"extension website." +msgstr "" +"Ukoliko je onemogućeno, ove postavke su dostupne kroz alatku za lickanje ili " +"veb sajt proširenja." + +#: Settings.ui.h:45 +msgid "Show Applications icon" +msgstr "Prikaz ikonice Prikaži programe" + +#: Settings.ui.h:46 +msgid "Move the applications button at the beginning of the dock." +msgstr "Pomeri dugme programa na početak doka." + +#: Settings.ui.h:47 +msgid "Animate Show Applications." +msgstr "Animiraj prikaz programa." + +#: Settings.ui.h:48 +msgid "Launchers" +msgstr "Pokretači" + +#: Settings.ui.h:49 +msgid "" +"Enable Super+(0-9) as shortcuts to activate apps. It can also be used " +"together with Shift and Ctrl." +msgstr "" +"Uključuje Super+(0-9) kao prečice za aktivaciju programa. Takođe je moguće " +"koristiti uz shift i ctrl." + +#: Settings.ui.h:50 +msgid "Use keyboard shortcuts to activate apps" +msgstr "Aktiviraj programe prečicama tastature" + +#: Settings.ui.h:51 +msgid "Behaviour when clicking on the icon of a running application." +msgstr "Ponašanje pri kliku na pokrenuti program." + +#: Settings.ui.h:52 +msgid "Click action" +msgstr "Radnja klika" + +#: Settings.ui.h:53 +msgid "Minimize" +msgstr "minimizuj" + +#: Settings.ui.h:54 +msgid "Behaviour when scrolling on the icon of an application." +msgstr "Ponašanje pri klizanju na ikonicu pokrenutog programa." + +#: Settings.ui.h:55 +msgid "Scroll action" +msgstr "Radnja klizanja na ikonicu" + +#: Settings.ui.h:56 +msgid "Do nothing" +msgstr "ništa" + +#: Settings.ui.h:57 +msgid "Switch workspace" +msgstr "prebaci radni prostor" + +#: Settings.ui.h:58 +msgid "Behavior" +msgstr "Ponašanje" + +#: Settings.ui.h:59 +msgid "" +"Few customizations meant to integrate the dock with the default GNOME theme. " +"Alternatively, specific options can be enabled below." +msgstr "" +"Nekoliko postavki namenjenih ugrađivanju doka u osnovnu temu Gnoma. " +"Alternativno, posebne postavke se mogu urediti ispod." + +#: Settings.ui.h:60 +msgid "Use built-in theme" +msgstr "Koristi ugrađenu temu" + +#: Settings.ui.h:61 +msgid "Save space reducing padding and border radius." +msgstr "Čuva prostor sužavanjem popune i opsega ivica." + +#: Settings.ui.h:62 +msgid "Shrink the dash" +msgstr "Skupi ploču" + +#: Settings.ui.h:63 +msgid "Show a dot for each windows of the application." +msgstr "Prikazuje tačku za svaki prozor programa." + +#: Settings.ui.h:64 +msgid "Show windows counter indicators" +msgstr "Prikaz indikatora brojača prozora." + +#: Settings.ui.h:65 +msgid "Set the background color for the dash." +msgstr "Postavi pozadinsku boju ploče." + +#: Settings.ui.h:66 +msgid "Customize the dash color" +msgstr "Prilagodi boju ploče" + +#: Settings.ui.h:67 +msgid "Tune the dash background opacity." +msgstr "Prilagodi prozirnost pozadine ploče." + +#: Settings.ui.h:68 +msgid "Customize opacity" +msgstr "Prilagoćavanje prozirnosti" + +#: Settings.ui.h:69 +msgid "Opacity" +msgstr "Prozirnost" + +#: Settings.ui.h:70 +msgid "Enable Unity7 like glossy backlit items" +msgstr "Uključi pozadinske efekte poput Unity7" + +#: Settings.ui.h:71 +msgid "Force straight corner\n" +msgstr "Nametni ravne uglove\n" + +#: Settings.ui.h:73 +msgid "Appearance" +msgstr "Izgled" + +#: Settings.ui.h:74 +msgid "version: " +msgstr "verzija: " + +#: Settings.ui.h:75 +msgid "Moves the dash out of the overview transforming it in a dock" +msgstr "Pomera ploču iz globalnog prikaza, pretvarajući je u dok" + +#: Settings.ui.h:76 +msgid "Created by" +msgstr "Napravi" + +#: Settings.ui.h:77 +msgid "Webpage" +msgstr "Veb stranica" + +#: Settings.ui.h:78 +msgid "" +"This program comes with ABSOLUTELY NO WARRANTY.\n" +"See the GNU General Public License, version 2 or later for details." +msgstr "" +"Ovaj program se dostavlja BEZ IKAKVIH GARANCIJA.\n" +"Pogledajte GNUovu Opštu Javnu licencu, verzija 2 ili kasnija, za detalje." + +#: Settings.ui.h:80 +msgid "About" +msgstr "O programu" + +#: Settings.ui.h:81 +msgid "Show the dock by mouse hover on the screen edge." +msgstr "Prikaži dok prelazom miša peko ivice ekrana." + +#: Settings.ui.h:82 +msgid "Autohide" +msgstr "Automatsko sakrivanje" + +#: Settings.ui.h:83 +msgid "Push to show: require pressure to show the dock" +msgstr "Prikaz pritiskom: zahteva pritisak za prikaz doka" + +#: Settings.ui.h:84 +msgid "Enable in fullscreen mode" +msgstr "Omogući u celoekranskom režimu" + +#: Settings.ui.h:85 +msgid "Show the dock when it doesn't obstruct application windows." +msgstr "Prikazuje dok kada nije na putu prozorima programa." + +#: Settings.ui.h:86 +msgid "Dodge windows" +msgstr "Izbegavanje rozora" + +#: Settings.ui.h:87 +msgid "All windows" +msgstr "Svi prozori" + +#: Settings.ui.h:88 +msgid "Only focused application's windows" +msgstr "Samo prozor fokusiranog programa" + +#: Settings.ui.h:89 +msgid "Only maximized windows" +msgstr "Samo maksimizovani prozori" + +#: Settings.ui.h:90 +msgid "Animation duration (s)" +msgstr "Trajanje(a) animacije" + +#: Settings.ui.h:91 +msgid "Show timeout (s)" +msgstr "Zastoj prikazivanja" + +#: Settings.ui.h:92 +msgid "Pressure threshold" +msgstr "Prag pritiska" + +#~ msgid "0.000" +#~ msgstr "0,000" + +#, fuzzy +#~ msgid "" +#~ "With fixed icon size, only the edge of the dock and the Show " +#~ "Applications icon are active." +#~ msgstr "" +#~ "Ako se ikone preklapaju na doku, prikazuje se samo ikona Prikaži " +#~ "programe." + +#~ msgid "Switch workspace by scrolling on the dock" +#~ msgstr "Promena radnog prostora klizanjem po doku" + +#~ msgid "Only consider windows of the focused application" +#~ msgstr "Razmatraj samo prozor fokusiranog programa" diff --git a/extensions/dash-to-dock/po/sv.po b/extensions/dash-to-dock/po/sv.po new file mode 100644 index 00000000..dd5b4bdb --- /dev/null +++ b/extensions/dash-to-dock/po/sv.po @@ -0,0 +1,545 @@ +# Swedish translation for dash-to-dock. +# Copyright © 2020 dash-to-dock's COPYRIGHT HOLDER +# This file is distributed under the same license as the dash-to-dock package. +# Anders Jonsson , 2016. +# Morgan Antonsson , 2020. +# +msgid "" +msgstr "" +"Project-Id-Version: \n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2020-08-03 19:27+0200\n" +"PO-Revision-Date: 2020-08-03 19:41+0200\n" +"Last-Translator: Morgan Antonsson \n" +"Language-Team: \n" +"Language: sv\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Poedit 2.3\n" + +#: prefs.js:268 +msgid "Primary monitor" +msgstr "Primär skärm" + +#: prefs.js:277 prefs.js:284 +msgid "Secondary monitor " +msgstr "Sekundär skärm " + +#: prefs.js:309 Settings.ui.h:28 +msgid "Right" +msgstr "Höger" + +#: prefs.js:310 Settings.ui.h:25 +msgid "Left" +msgstr "Vänster" + +#: prefs.js:360 +msgid "Intelligent autohide customization" +msgstr "Anpassning av intelligent automatiskt döljande" + +#: prefs.js:367 prefs.js:560 prefs.js:616 +msgid "Reset to defaults" +msgstr "Återställ till standardvärden" + +#: prefs.js:553 +msgid "Show dock and application numbers" +msgstr "Visa docka och programnummer" + +#: prefs.js:609 +msgid "Customize middle-click behavior" +msgstr "Anpassa mellanklicksbeteende" + +#: prefs.js:692 +msgid "Customize running indicators" +msgstr "Anpassa körningsindikatorer" + +#: prefs.js:804 Settings.ui.h:74 +msgid "Customize opacity" +msgstr "Anpassa opacitet" + +#: appIcons.js:797 +msgid "All Windows" +msgstr "Alla fönster" + +#: appIcons.js:916 +#, javascript-format +msgid "Quit %d Windows" +msgstr "Stäng %d fönster" + +#. Translators: %s is "Settings", which is automatically translated. You +#. can also translate the full message if this fits better your language. +#: appIcons.js:1134 +#, javascript-format +msgid "Dash to Dock %s" +msgstr "%s för Dash to Dock" + +#: locations.js:80 +msgid "Trash" +msgstr "Papperskorg" + +#: locations.js:89 +msgid "Empty Trash" +msgstr "Töm papperskorgen" + +#: locations.js:207 +msgid "Mount" +msgstr "Montera" + +#: locations.js:250 +msgid "Eject" +msgstr "Mata ut" + +#: locations.js:255 +msgid "Unmount" +msgstr "Avmontera" + +#: Settings.ui.h:1 +msgid "" +"When set to minimize, double clicking minimizes all the windows of the " +"application." +msgstr "" +"Då inställd till minimera så minimerar dubbelklick alla fönster för " +"programmet." + +#: Settings.ui.h:2 +msgid "Shift+Click action" +msgstr "Skift+klick-åtgärd" + +#: Settings.ui.h:3 +msgid "Raise window" +msgstr "Höj fönster" + +#: Settings.ui.h:4 +msgid "Minimize window" +msgstr "Minimera fönster" + +#: Settings.ui.h:5 +msgid "Launch new instance" +msgstr "Starta ny instans" + +#: Settings.ui.h:6 +msgid "Cycle through windows" +msgstr "Växla mellan fönster" + +#: Settings.ui.h:7 +msgid "Minimize or overview" +msgstr "Minimera eller visa översikt" + +#: Settings.ui.h:8 +msgid "Show window previews" +msgstr "Visa förhandsgranskningar av fönster" + +#: Settings.ui.h:9 +msgid "Minimize or show previews" +msgstr "Minimera eller visa förhandsgranskningar" + +#: Settings.ui.h:10 +msgid "Focus or show previews" +msgstr "Fokusera eller visa förhandsgranskningar" + +#: Settings.ui.h:11 +msgid "Quit" +msgstr "Avsluta" + +#: Settings.ui.h:12 +msgid "Behavior for Middle-Click." +msgstr "Beteende för mellanklick." + +#: Settings.ui.h:13 +msgid "Middle-Click action" +msgstr "Åtgärd för mellanklick" + +#: Settings.ui.h:14 +msgid "Behavior for Shift+Middle-Click." +msgstr "Beteende för skift+mellanklick." + +#: Settings.ui.h:15 +msgid "Shift+Middle-Click action" +msgstr "Åtgärd för skift+mellanklick" + +#: Settings.ui.h:16 +msgid "Enable Unity7 like glossy backlit items" +msgstr "Aktivera bakgrundsbelysta blanka knappar" + +#: Settings.ui.h:17 +msgid "Use dominant color" +msgstr "Använd dominerande färg" + +#: Settings.ui.h:18 +msgid "Customize indicator style" +msgstr "Anpassa indikatorstil" + +#: Settings.ui.h:19 +msgid "Color" +msgstr "Färg" + +#: Settings.ui.h:20 +msgid "Border color" +msgstr "Kantfärg" + +#: Settings.ui.h:21 +msgid "Border width" +msgstr "Kantbredd" + +#: Settings.ui.h:22 +msgid "Show the dock on" +msgstr "Visa dockan på" + +#: Settings.ui.h:23 +msgid "Show on all monitors." +msgstr "Visa på alla skärmar." + +#: Settings.ui.h:24 +msgid "Position on screen" +msgstr "Position på skärmen" + +#: Settings.ui.h:26 +msgid "Bottom" +msgstr "Nederkant" + +#: Settings.ui.h:27 +msgid "Top" +msgstr "Överkant" + +#: Settings.ui.h:29 +msgid "" +"Hide the dock when it obstructs a window of the current application. More " +"refined settings are available." +msgstr "" +"Dölj dockan då den är i vägen för ett fönster för det aktuella programmet. " +"Mer förfinade inställningar finns tillgängliga." + +#: Settings.ui.h:30 +msgid "Intelligent autohide" +msgstr "Intelligent automatiskt döljande" + +#: Settings.ui.h:31 +msgid "Dock size limit" +msgstr "Storleksgräns för docka" + +#: Settings.ui.h:32 +msgid "Panel mode: extend to the screen edge" +msgstr "Panelläge: sträck ut till skärmkanten" + +#: Settings.ui.h:33 +msgid "Icon size limit" +msgstr "Storleksgräns för ikoner" + +#: Settings.ui.h:34 +msgid "Fixed icon size: scroll to reveal other icons" +msgstr "Fast ikonstorlek: rulla för att visa dolda ikoner" + +#: Settings.ui.h:35 +msgid "Position and size" +msgstr "Position och storlek" + +#: Settings.ui.h:36 +msgid "Show favorite applications" +msgstr "Visa favoritprogram" + +#: Settings.ui.h:37 +msgid "Show running applications" +msgstr "Visa körande program" + +#: Settings.ui.h:38 +msgid "Isolate workspaces." +msgstr "Visa endast arbetsytans fönster." + +#: Settings.ui.h:39 +msgid "Isolate monitors." +msgstr "Visa endast skärmens fönster." + +#: Settings.ui.h:40 +msgid "Show open windows previews." +msgstr "Visa förhandsgranskningar av öppna fönster." + +#: Settings.ui.h:41 +msgid "" +"If disabled, these settings are accessible from gnome-tweak-tool or the " +"extension website." +msgstr "" +"Om inaktiverad är dessa inställningar tillgängliga från justeringsverktyg " +"eller webbplatsen för utökningar." + +#: Settings.ui.h:42 +msgid "Show Applications icon" +msgstr "Visa Program-ikon" + +#: Settings.ui.h:43 +msgid "Move the applications button at the beginning of the dock." +msgstr "Flytta programknappen till början av dockan." + +#: Settings.ui.h:44 +msgid "Animate Show Applications." +msgstr "Animera Visa program." + +#: Settings.ui.h:45 +msgid "Show trash can" +msgstr "Visa papperskorgen" + +#: Settings.ui.h:46 +msgid "Show mounted volumes and devices" +msgstr "Visa monterade volymer och enheter" + +#: Settings.ui.h:47 +msgid "Launchers" +msgstr "Programstartare" + +#: Settings.ui.h:48 +msgid "" +"Enable Super+(0-9) as shortcuts to activate apps. It can also be used " +"together with Shift and Ctrl." +msgstr "" +"Använd Super+(0-9) som tangentbordsgenvägar för att aktivera program. De kan " +"även användas tillsammans med skift- och ctrl-tangenterna." + +#: Settings.ui.h:49 +msgid "Use keyboard shortcuts to activate apps" +msgstr "Använd tangentbordsgenvägar för att aktivera program" + +#: Settings.ui.h:50 +msgid "Behaviour when clicking on the icon of a running application." +msgstr "Beteende då ikonen för ett körande program klickas." + +#: Settings.ui.h:51 +msgid "Click action" +msgstr "Klickåtgärd" + +#: Settings.ui.h:52 +msgid "Minimize" +msgstr "Minimera" + +#: Settings.ui.h:53 +msgid "Behaviour when scrolling on the icon of an application." +msgstr "Beteende vid rullning över programikon." + +#: Settings.ui.h:54 +msgid "Scroll action" +msgstr "Rullåtgärd" + +#: Settings.ui.h:55 +msgid "Do nothing" +msgstr "Gör ingenting" + +#: Settings.ui.h:56 +msgid "Switch workspace" +msgstr "Byt arbetsyta" + +#: Settings.ui.h:57 +msgid "Behavior" +msgstr "Beteende" + +#: Settings.ui.h:58 +msgid "" +"Few customizations meant to integrate the dock with the default GNOME theme. " +"Alternatively, specific options can be enabled below." +msgstr "" +"Några anpassningar för att integrera dockan med GNOME:s standardtema. " +"Alternativt kan specifika alternativ aktiveras nedan." + +#: Settings.ui.h:59 +msgid "Use built-in theme" +msgstr "Använd inbyggt tema" + +#: Settings.ui.h:60 +msgid "Save space reducing padding and border radius." +msgstr "Spara utrymme genom att minska utfyllnad och kantradie." + +#: Settings.ui.h:61 +msgid "Shrink the dash" +msgstr "Krymp snabbstartspanelen" + +#: Settings.ui.h:62 +msgid "Customize windows counter indicators" +msgstr "Anpassa räknare för öppna fönster" + +#: Settings.ui.h:63 +msgid "Default" +msgstr "Standard" + +#: Settings.ui.h:64 +msgid "Dots" +msgstr "Prickar" + +#: Settings.ui.h:65 +msgid "Squares" +msgstr "Kvadrater" + +#: Settings.ui.h:66 +msgid "Dashes" +msgstr "Streck" + +#: Settings.ui.h:67 +msgid "Segmented" +msgstr "Segment" + +#: Settings.ui.h:68 +msgid "Solid" +msgstr "Solid" + +#: Settings.ui.h:69 +msgid "Ciliora" +msgstr "Ciliora" + +#: Settings.ui.h:70 +msgid "Metro" +msgstr "Metro" + +#: Settings.ui.h:71 +msgid "Set the background color for the dash." +msgstr "Ställ in bakgrundsfärg för snabbstartspanelen." + +#: Settings.ui.h:72 +msgid "Customize the dash color" +msgstr "Anpassa färgen för snabbstartspanelen" + +#: Settings.ui.h:73 +msgid "Tune the dash background opacity." +msgstr "Justera opacitet för bakgrunden till snabbstartspanelen." + +#: Settings.ui.h:75 +msgid "Fixed" +msgstr "Fast" + +#: Settings.ui.h:76 +msgid "Dynamic" +msgstr "Dynamisk" + +#: Settings.ui.h:77 +msgid "Opacity" +msgstr "Opacitet" + +#: Settings.ui.h:78 +msgid "Force straight corner" +msgstr "Tvinga räta hörn" + +#: Settings.ui.h:79 +msgid "Appearance" +msgstr "Utseende" + +#: Settings.ui.h:80 +msgid "version: " +msgstr "version: " + +#: Settings.ui.h:81 +msgid "Moves the dash out of the overview transforming it in a dock" +msgstr "" +"Flyttar snabbstartspanelen från översiktsvyn och förvandlar den till en docka" + +#: Settings.ui.h:82 +msgid "Created by" +msgstr "Skapat av" + +#: Settings.ui.h:83 +msgid "Webpage" +msgstr "Webbsida" + +#: Settings.ui.h:84 +msgid "" +"This program comes with ABSOLUTELY NO WARRANTY.\n" +"See the GNU General Public License, version 2 or later for details." +msgstr "" +"Detta program kommer HELT UTAN GARANTI.\n" +"Se GNU " +"General Public License, version 2 eller senare för detaljer." + +#: Settings.ui.h:86 +msgid "About" +msgstr "Om" + +#: Settings.ui.h:87 +msgid "Customize minimum and maximum opacity values" +msgstr "Anpassa minsta och högsta värden för opacitet" + +#: Settings.ui.h:88 +msgid "Minimum opacity" +msgstr "Minsta opacitet" + +#: Settings.ui.h:89 +msgid "Maximum opacity" +msgstr "Högsta opacitet" + +#: Settings.ui.h:90 +msgid "Number overlay" +msgstr "Nummermarkeringar" + +#: Settings.ui.h:91 +msgid "" +"Temporarily show the application numbers over the icons, corresponding to " +"the shortcut." +msgstr "" +"Visa tillfälligt programmens tangentbordsgenvägsnummer ovanpå dess ikoner." + +#: Settings.ui.h:92 +msgid "Show the dock if it is hidden" +msgstr "Visa dockan om den är dold" + +#: Settings.ui.h:93 +msgid "" +"If using autohide, the dock will appear for a short time when triggering the " +"shortcut." +msgstr "" +"Om automatiskt döljande är aktiverat kommer dockan att synas tillfälligt när " +"tangentbordsgenvägen triggas." + +#: Settings.ui.h:94 +msgid "Shortcut for the options above" +msgstr "Tangentbordsgenväg för alternativen ovan" + +#: Settings.ui.h:95 +msgid "Syntax: , , , " +msgstr "Syntax: , , , " + +#: Settings.ui.h:96 +msgid "Hide timeout (s)" +msgstr "Tidsgräns för att dölja (s)" + +#: Settings.ui.h:97 +msgid "Show the dock by mouse hover on the screen edge." +msgstr "Visa dockan genom att flytta muspekaren till skärmkanten." + +#: Settings.ui.h:98 +msgid "Autohide" +msgstr "Dölj automatiskt" + +#: Settings.ui.h:99 +msgid "Push to show: require pressure to show the dock" +msgstr "Tryck för att visa: kräv tryck för att visa dockan" + +#: Settings.ui.h:100 +msgid "Enable in fullscreen mode" +msgstr "Aktivera i helskärmsläge" + +#: Settings.ui.h:101 +msgid "Show the dock when it doesn't obstruct application windows." +msgstr "Visa dockan då den inte är i vägen för programfönster." + +#: Settings.ui.h:102 +msgid "Dodge windows" +msgstr "Undvik fönster" + +#: Settings.ui.h:103 +msgid "All windows" +msgstr "Alla fönster" + +#: Settings.ui.h:104 +msgid "Only focused application's windows" +msgstr "Endast fokuserade programs fönster" + +#: Settings.ui.h:105 +msgid "Only maximized windows" +msgstr "Endast maximerade fönster" + +#: Settings.ui.h:106 +msgid "Animation duration (s)" +msgstr "Animationens varaktighet (s)" + +#: Settings.ui.h:107 +msgid "Show timeout (s)" +msgstr "Tidsgräns för att visa (s)" + +#: Settings.ui.h:108 +msgid "Pressure threshold" +msgstr "Tröskelvärde för tryck" diff --git a/extensions/dash-to-dock/po/tr.po b/extensions/dash-to-dock/po/tr.po new file mode 100644 index 00000000..e4bf8a8b --- /dev/null +++ b/extensions/dash-to-dock/po/tr.po @@ -0,0 +1,525 @@ +# Turkish translation for dash-to-dock GNOME shell extension. +# Copyright (C) 2015-2019, dash-to-dock'S COPYRIGHT HOLDER +# This file is distributed under the same license as the dash-to-dock package. +# +# Mustafa Akgün , 2015. +# Çağatay Yiğit Şahin , 2016. +# Serdar Sağlam , 2018, 2019. +# Sabri Ünal , 2019. +# +# Note for all turkish translators: +# Lütfen GNOME Shell çevirileri ile uyumlu çevirmeye gayret edelim. +# +msgid "" +msgstr "" +"Project-Id-Version: dash-to-dock master\n" +"Report-Msgid-Bugs-To: https://github.com/micheleg/dash-to-dock\n" +"POT-Creation-Date: 2019-10-13 08:54+0300\n" +"PO-Revision-Date: 2019-11-11 17:21+0300\n" +"Last-Translator: Sabri Ünal \n" +"Language-Team: \n" +"Language: tr\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.0.6\n" + +#: prefs.js:264 +msgid "Primary monitor" +msgstr "Ana ekran" + +#: prefs.js:273 prefs.js:280 +msgid "Secondary monitor " +msgstr "İkincil ekran " + +#: prefs.js:305 Settings.ui.h:28 +msgid "Right" +msgstr "Sağ" + +#: prefs.js:306 Settings.ui.h:25 +msgid "Left" +msgstr "Sol" + +#: prefs.js:356 +msgid "Intelligent autohide customization" +msgstr "Akıllı otomatik gizleme özelleştirmeleri" + +#: prefs.js:363 prefs.js:556 prefs.js:612 +msgid "Reset to defaults" +msgstr "Varsayılan ayarlara dön" + +#: prefs.js:549 +msgid "Show dock and application numbers" +msgstr "Rıhtımı ve uygulama sayılarını göster" + +#: prefs.js:605 +msgid "Customize middle-click behavior" +msgstr "Orta tık davranışını özelleştir" + +#: prefs.js:688 +msgid "Customize running indicators" +msgstr "Çalışan göstergeleri özelleştir" + +#: prefs.js:800 Settings.ui.h:74 +msgid "Customize opacity" +msgstr "Matlığı özelleştir" + +#: appIcons.js:809 +msgid "All Windows" +msgstr "Tüm Pencereler" + +# %s değişkeni Ayarlar olarak çevrildiği için, bir ı harfi ekleyerek Türkçeye uyumlu hale getiriyoruz. +#. Translators: %s is "Settings", which is automatically translated. You +#. can also translate the full message if this fits better your language. +#: appIcons.js:1126 +#, javascript-format +msgid "Dash to Dock %s" +msgstr "Dash to Dock %sı" + +#: Settings.ui.h:1 +msgid "When set to minimize, double clicking minimizes all the windows of the application." +msgstr "Küçültmeye ayarlandığında, çift tıklamak uygulamanın tüm pencerelerini küçültür." + +#: Settings.ui.h:2 +msgid "Shift+Click action" +msgstr "Shift + Tıklama eylemi" + +# Tweak ayarlarında raise için öne çıkar kullanılmış +#: Settings.ui.h:3 +msgid "Raise window" +msgstr "Pencereyi büyüt" + +#: Settings.ui.h:4 +msgid "Minimize window" +msgstr "Pencereyi küçült" + +#: Settings.ui.h:5 +msgid "Launch new instance" +msgstr "Yeni uygulama örneği başlat" + +#: Settings.ui.h:6 +msgid "Cycle through windows" +msgstr "Pencere döngüsü" + +#: Settings.ui.h:7 +msgid "Minimize or overview" +msgstr "Küçült yada genel bakış" + +#: Settings.ui.h:8 +msgid "Show window previews" +msgstr "Pencere önizlemelerini göster" + +#: Settings.ui.h:9 +msgid "Minimize or show previews" +msgstr "Küçült yada önizlemeleri göster" + +#: Settings.ui.h:10 +msgid "Focus or show previews" +msgstr "Odaklan veya önizlemeleri göster" + +#: Settings.ui.h:11 +msgid "Quit" +msgstr "Çık" + +#: Settings.ui.h:12 +msgid "Behavior for Middle-Click." +msgstr "Orta Tıklama davranışı." + +#: Settings.ui.h:13 +msgid "Middle-Click action" +msgstr "Orta Tıklama eylemi" + +#: Settings.ui.h:14 +msgid "Behavior for Shift+Middle-Click." +msgstr "Shift + Orta Tıklama davranışı." + +#: Settings.ui.h:15 +msgid "Shift+Middle-Click action" +msgstr "Shift + Orta Tıklama eylemi" + +# glossy backlit için serbest çeviri yapıldı +#: Settings.ui.h:16 +msgid "Enable Unity7 like glossy backlit items" +msgstr "Unity7 tipi parlak öğeleri etkinleştir" + +#: Settings.ui.h:17 +msgid "Use dominant color" +msgstr "Baskın rengi kullan" + +#: Settings.ui.h:18 +msgid "Customize indicator style" +msgstr "Gösterge biçemini özelleştir" + +#: Settings.ui.h:19 +msgid "Color" +msgstr "Renk" + +#: Settings.ui.h:20 +msgid "Border color" +msgstr "Kenarlık rengi" + +#: Settings.ui.h:21 +msgid "Border width" +msgstr "Kenarlık genişliği" + +#: Settings.ui.h:22 +msgid "Show the dock on" +msgstr "Rıhtım'ı göster" + +#: Settings.ui.h:23 +msgid "Show on all monitors." +msgstr "Tüm ekranlarda göster." + +#: Settings.ui.h:24 +msgid "Position on screen" +msgstr "Ekrandaki konumu" + +#: Settings.ui.h:26 +msgid "Bottom" +msgstr "Alt" + +#: Settings.ui.h:27 +msgid "Top" +msgstr "Üst" + +#: Settings.ui.h:29 +msgid "" +"Hide the dock when it obstructs a window of the current application. More refined settings are available." +msgstr "Geçerli uygulamanın penceresini engellediğinde rıhtımı gizle. Daha detaylı ayarlar mevcuttur." + +#: Settings.ui.h:30 +msgid "Intelligent autohide" +msgstr "Akıllı gizleme" + +# son limit cümlesi kasten çevrilmedi +#: Settings.ui.h:31 +msgid "Dock size limit" +msgstr "Rıhtım boyutu" + +#: Settings.ui.h:32 +msgid "Panel mode: extend to the screen edge" +msgstr "Panel kipi: Ekran köşelerine genişlet" + +# son limit cümlesi kasten çevrilmedi +#: Settings.ui.h:33 +msgid "Icon size limit" +msgstr "Simge boyutu" + +#: Settings.ui.h:34 +msgid "Fixed icon size: scroll to reveal other icons" +msgstr "Sabit simge boyutu: Diğer simgeleri görmek için kaydır" + +#: Settings.ui.h:35 +msgid "Position and size" +msgstr "Konum ve boyut" + +#: Settings.ui.h:36 +msgid "Show favorite applications" +msgstr "Sık kullanılan uygulamaları göster" + +#: Settings.ui.h:37 +msgid "Show running applications" +msgstr "Çalışan uygulamaları göster" + +#: Settings.ui.h:38 +msgid "Isolate workspaces." +msgstr "Çalışma alanlarını ayır." + +#: Settings.ui.h:39 +msgid "Isolate monitors." +msgstr "Ekranları ayır." + +#: Settings.ui.h:40 +msgid "Show open windows previews." +msgstr "Açık pencere önizlemelerini göster." + +# Anlamlı ve açıklayıcı olması için ilave değerler eklendi +#: Settings.ui.h:41 +msgid "If disabled, these settings are accessible from gnome-tweak-tool or the extension website." +msgstr "" +"Eğer kapatılmışsa, bu ayarlara GNOME İnce Ayarlar (gnome-tweak-tool) uygulamasından veya GNOME eklentileri " +"(https://extensions.gnome.org) sitesinden ulaşılabilir." + +#: Settings.ui.h:42 +msgid "Show Applications icon" +msgstr "Uygulamalar simgesini göster" + +#: Settings.ui.h:43 +msgid "Move the applications button at the beginning of the dock." +msgstr "Uygulamalar simgesini rıhtım'ın başlangıcına taşı." + +#: Settings.ui.h:44 +msgid "Animate Show Applications." +msgstr "Uygulamalar açılırken canlandırma göster." + +#: Settings.ui.h:45 +msgid "Show trash can" +msgstr "Çöp kutusunu göster" + +#: Settings.ui.h:46 +msgid "Show mounted volumes and devices" +msgstr "Bağlı birimleri ve aygıtları göster" + +#: Settings.ui.h:47 +msgid "Launchers" +msgstr "Başlatıcılar" + +#: Settings.ui.h:48 +msgid "Enable Super+(0-9) as shortcuts to activate apps. It can also be used together with Shift and Ctrl." +msgstr "" +"Uygulamaları etkinleştirmek için Super+(0-9) seçeneğini kısayol olarak etkinleştir. Ayrıca Shift ve Ctrl " +"ile birlikte de kullanılabilir." + +#: Settings.ui.h:49 +msgid "Use keyboard shortcuts to activate apps" +msgstr "Uygulamaları etkinleştirmek için klavye kısayollarını kullan" + +#: Settings.ui.h:50 +msgid "Behaviour when clicking on the icon of a running application." +msgstr "Çalışan bir uygulamanın simgesine tıklandığındaki davranışı." + +#: Settings.ui.h:51 +msgid "Click action" +msgstr "Tıklama eylemi" + +#: Settings.ui.h:52 +msgid "Minimize" +msgstr "Küçült" + +#: Settings.ui.h:53 +msgid "Behaviour when scrolling on the icon of an application." +msgstr "Bir uygulamanın simgesini kaydırdığınızdaki davranışı." + +#: Settings.ui.h:54 +msgid "Scroll action" +msgstr "Kaydırma eylemi" + +#: Settings.ui.h:55 +msgid "Do nothing" +msgstr "Hiçbir şey yapma" + +#: Settings.ui.h:56 +msgid "Switch workspace" +msgstr "Çalışma alanını değiştir" + +#: Settings.ui.h:57 +msgid "Behavior" +msgstr "Davranış" + +# Çeviri yapmak yerine, Türkçe'de anlamlı, konuma uyumlu özgün metin oluşturuldu. +#: Settings.ui.h:58 +msgid "" +"Few customizations meant to integrate the dock with the default GNOME theme. Alternatively, specific " +"options can be enabled below." +msgstr "" +"Sistemde bulunan etkin GNOME teması kullanılır ve rıhtım ona göre şekillenir. Özelleştirmek isterseniz bu " +"menüyü kapatın." + +#: Settings.ui.h:59 +msgid "Use built-in theme" +msgstr "Yerleşik temayı kullan" + +#: Settings.ui.h:60 +msgid "Save space reducing padding and border radius." +msgstr "Dolgu ve kenarlığı azaltarak yer kazan." + +# Shrink için genelde küçült çevirisini kullanıyoruz ama, +# anlamlı ve eylemle uyumlu olduğu için daralt çevirisi kullanıldı +#: Settings.ui.h:61 +msgid "Shrink the dash" +msgstr "Paneli daralt" + +#: Settings.ui.h:62 +msgid "Customize windows counter indicators" +msgstr "Pencere sayı göstergelerini özelleştir" + +#: Settings.ui.h:63 +msgid "Default" +msgstr "Varsayılan" + +#: Settings.ui.h:64 +msgid "Dots" +msgstr "Noktalar" + +#: Settings.ui.h:65 +msgid "Squares" +msgstr "Kareler" + +#: Settings.ui.h:66 +msgid "Dashes" +msgstr "Tireler" + +#: Settings.ui.h:67 +msgid "Segmented" +msgstr "Segmentler" + +#: Settings.ui.h:68 +msgid "Solid" +msgstr "Kalın çizgi" + +#: Settings.ui.h:69 +msgid "Ciliora" +msgstr "Nokta ve çizgi" + +#: Settings.ui.h:70 +msgid "Metro" +msgstr "Metro" + +#: Settings.ui.h:71 +msgid "Set the background color for the dash." +msgstr "Panel arkaplan rengini ayarla." + +#: Settings.ui.h:72 +msgid "Customize the dash color" +msgstr "Panel rengini özelleştir" + +#: Settings.ui.h:73 +msgid "Tune the dash background opacity." +msgstr "Panel arkaplan matlığını ayarla." + +#: Settings.ui.h:75 +msgid "Fixed" +msgstr "Sabit" + +#: Settings.ui.h:76 +msgid "Dynamic" +msgstr "Dinamik" + +#: Settings.ui.h:77 +msgid "Opacity" +msgstr "Matlık" + +# Daha anlaşılır olması için serbest çeviri yapıldı +#: Settings.ui.h:78 +msgid "Force straight corner\n" +msgstr "Köşeleri düzleştir\n" + +#: Settings.ui.h:80 +msgid "Appearance" +msgstr "Görünüm" + +#: Settings.ui.h:81 +msgid "version: " +msgstr "sürüm: " + +#: Settings.ui.h:82 +msgid "Moves the dash out of the overview transforming it in a dock" +msgstr "Paneli genel görünümden taşır ve rıhtıma dönüştürür" + +# Çeviri anlamlı olması için : eklendi +#: Settings.ui.h:83 +msgid "Created by" +msgstr "Oluşturan:" + +#: Settings.ui.h:84 +msgid "Webpage" +msgstr "Web sitesi" + +#: Settings.ui.h:85 +msgid "" +"This program comes with ABSOLUTELY NO WARRANTY.\n" +"See the GNU General Public License, " +"version 2 or later for details." +msgstr "" +"Bu program kesinlikle hiçbir garanti vermiyor..\n" +"Ayrıntılar için GNU Genel Kamu Lisansı, " +"sürüm 2 veya üstü bağlantısına bakın" + +#: Settings.ui.h:87 +msgid "About" +msgstr "Hakkında" + +# minimum and maximum değerleri çevrilmedi +#: Settings.ui.h:88 +msgid "Customize minimum and maximum opacity values" +msgstr "Matlık değerlerini özelleştir" + +#: Settings.ui.h:89 +msgid "Minimum opacity" +msgstr "Asgari matlık" + +#: Settings.ui.h:90 +msgid "Maximum opacity" +msgstr "Azami matlık" + +#: Settings.ui.h:91 +msgid "Number overlay" +msgstr "Sayı yerleşimi" + +#: Settings.ui.h:92 +msgid "Temporarily show the application numbers over the icons, corresponding to the shortcut." +msgstr "Uygulama numaralarını, karşılık gelen simgelere göre geçici olarak göster kısayol." + +#: Settings.ui.h:93 +msgid "Show the dock if it is hidden" +msgstr "Gizlenmişse rıhtım'ı göster" + +#: Settings.ui.h:94 +msgid "If using autohide, the dock will appear for a short time when triggering the shortcut." +msgstr "Otomatik gizleme kullanıyorsanız, kısayol tetiklendiğinde rıhtım kısa bir süre için görünür." + +#: Settings.ui.h:95 +msgid "Shortcut for the options above" +msgstr "Yukarıdaki seçenekler için kısayol" + +#: Settings.ui.h:96 +msgid "Syntax: , , , " +msgstr "Sözdizimi: , , , " + +#: Settings.ui.h:97 +msgid "Hide timeout (s)" +msgstr "Gizleme zaman aşımı (s)" + +#: Settings.ui.h:98 +msgid "Show the dock by mouse hover on the screen edge." +msgstr "Fare ekran köşeleri üzerindeyken rıhtım'ı göster." + +#: Settings.ui.h:99 +msgid "Autohide" +msgstr "Otomatik gizle" + +# Anlaşılması kolay olsun diye, pressure burada etki olarak çevrilmiştir +#: Settings.ui.h:100 +msgid "Push to show: require pressure to show the dock" +msgstr "Göstermek için it: Rıhtım'ın gösterilmesi için etki gerekir" + +#: Settings.ui.h:101 +msgid "Enable in fullscreen mode" +msgstr "Tam ekran kipinde etkinleştir" + +#: Settings.ui.h:102 +msgid "Show the dock when it doesn't obstruct application windows." +msgstr "Uygulama penceresine engel olmadığında rıhtımı göster." + +#: Settings.ui.h:103 +msgid "Dodge windows" +msgstr "Pencelereleri atlat" + +#: Settings.ui.h:104 +msgid "All windows" +msgstr "Tüm pencereler" + +#: Settings.ui.h:105 +msgid "Only focused application's windows" +msgstr "Sadece odaklanılan uygulamanın pencereleri" + +#: Settings.ui.h:106 +msgid "Only maximized windows" +msgstr "Sadece büyütülen pencereler" + +#: Settings.ui.h:107 +msgid "Animation duration (s)" +msgstr "Canlandırma süresi (s)" + +#: Settings.ui.h:108 +msgid "Show timeout (s)" +msgstr "Gösterim zaman aşımı (s)" + +# Anlaşılması kolay olsun diye, pressure burada etki olarak çevrilmiştir +#: Settings.ui.h:109 +msgid "Pressure threshold" +msgstr "Etki eşiği" + +#~ msgid "Adaptive" +#~ msgstr "Uyarlanır" diff --git a/extensions/dash-to-dock/po/uk_UA.po b/extensions/dash-to-dock/po/uk_UA.po new file mode 100644 index 00000000..3252304c --- /dev/null +++ b/extensions/dash-to-dock/po/uk_UA.po @@ -0,0 +1,575 @@ +# Ukrainian translation for dash-to-dock GNOME Shell extension +# +msgid "" +msgstr "" +"Project-Id-Version: dash-to-dock\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-08-28 10:52+0300\n" +"PO-Revision-Date: 2018-01-03 17:00+0200\n" +"Language-Team: \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n" +"%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" +"X-Generator: Poedit 2.0.5\n" +"Last-Translator: \n" +"Language: uk_UA\n" + +#: prefs.js:113 +msgid "Primary monitor" +msgstr "Головний монітор" + +#: prefs.js:122 prefs.js:129 +msgid "Secondary monitor " +msgstr "Додатковий монітор " + +#: prefs.js:154 Settings.ui.h:31 +msgid "Right" +msgstr "Праворуч" + +#: prefs.js:155 Settings.ui.h:28 +msgid "Left" +msgstr "Ліворуч" + +#: prefs.js:205 +msgid "Intelligent autohide customization" +msgstr "Налаштувати розумне приховування" + +#: prefs.js:212 prefs.js:397 prefs.js:454 +msgid "Reset to defaults" +msgstr "Скинути налаштування" + +#: prefs.js:390 +msgid "Show dock and application numbers" +msgstr "Показувати кількість активних додатків" + +#: prefs.js:447 +msgid "Customize middle-click behavior" +msgstr "Налаштування дій середньої кнопки миші" + +#: prefs.js:518 +msgid "Customize running indicators" +msgstr "Налаштування індикатора пускача" + +#: appIcons.js:1131 +msgid "All Windows" +msgstr "Усі вікна" + +#. Translators: %s is "Settings", which is automatically translated. You +#. can also translate the full message if this fits better your language. +#: appIcons.js:1429 +#, javascript-format +msgid "Dash to Dock %s" +msgstr "" + +#: Settings.ui.h:1 +msgid "Customize indicator style" +msgstr "Налаштувати вигляд індикатора" + +#: Settings.ui.h:2 +msgid "Color" +msgstr "Колір" + +#: Settings.ui.h:3 +msgid "Border color" +msgstr "Колір контуру" + +#: Settings.ui.h:4 +msgid "Border width" +msgstr "Товщина контуру" + +#: Settings.ui.h:5 +msgid "Number overlay" +msgstr "Відображення номеру" + +#: Settings.ui.h:6 +msgid "" +"Temporarily show the application numbers over the icons, corresponding to " +"the shortcut." +msgstr "Тимчасово показувати номери програм за сполученням клавіш." + +#: Settings.ui.h:7 +msgid "Show the dock if it is hidden" +msgstr "Показувати Док, якщо він прихований" + +#: Settings.ui.h:8 +msgid "" +"If using autohide, the dock will appear for a short time when triggering the " +"shortcut." +msgstr "" +"Док з'явиться за сполученням клавіш, якщо використовується автоматичне " +"приховування." + +#: Settings.ui.h:9 +msgid "Shortcut for the options above" +msgstr "Сполучення клавіш для вказаних параметрів" + +#: Settings.ui.h:10 +msgid "Syntax: , , , " +msgstr "Синтаксис: , , , " + +#: Settings.ui.h:11 +msgid "Hide timeout (s)" +msgstr "Затримка приховування (сек.)" + +#: Settings.ui.h:12 +msgid "" +"When set to minimize, double clicking minimizes all the windows of the " +"application." +msgstr "" +"Якщо встановлено на \"Мінімізувати\", подвійний клік мінімізує усі вікна " +"програми." + +#: Settings.ui.h:13 +msgid "Shift+Click action" +msgstr "Дія за Shift+Click" + +#: Settings.ui.h:14 +msgid "Raise window" +msgstr "Показати вікно" + +#: Settings.ui.h:15 +msgid "Minimize window" +msgstr "Мінімізувати вікно" + +#: Settings.ui.h:16 +msgid "Launch new instance" +msgstr "Відкрити нове вікно" + +#: Settings.ui.h:17 +msgid "Cycle through windows" +msgstr "Переключити вікно програми" + +#: Settings.ui.h:18 +msgid "Minimize or overview" +msgstr "Мінімізувати або відобразити" + +#: Settings.ui.h:19 +msgid "Show window previews" +msgstr "Показувати мініатюри вікон" + +#: Settings.ui.h:20 +msgid "Quit" +msgstr "Вийти" + +#: Settings.ui.h:21 +msgid "Behavior for Middle-Click." +msgstr "Дія при натисканні середньої кнопки миші." + +#: Settings.ui.h:22 +msgid "Middle-Click action" +msgstr "Дія за Middle-Click" + +#: Settings.ui.h:23 +msgid "Behavior for Shift+Middle-Click." +msgstr "Поведінка за Shift+Middle-Click." + +#: Settings.ui.h:24 +msgid "Shift+Middle-Click action" +msgstr "Дія за Shift+Middle-Click" + +#: Settings.ui.h:25 +msgid "Show the dock on" +msgstr "Показувати Док на" + +#: Settings.ui.h:26 +msgid "Show on all monitors." +msgstr "Показувати Док на усіх моніторах." + +#: Settings.ui.h:27 +msgid "Position on screen" +msgstr "Позиція на екрані" + +#: Settings.ui.h:29 +msgid "Bottom" +msgstr "Знизу" + +#: Settings.ui.h:30 +msgid "Top" +msgstr "Зверху" + +#: Settings.ui.h:32 +msgid "" +"Hide the dock when it obstructs a window of the current application. More " +"refined settings are available." +msgstr "" +"Приховувати Док якщо він перекривається вікном активної програми. Доступні " +"додаткові налаштування." + +#: Settings.ui.h:33 +msgid "Intelligent autohide" +msgstr "Делікатне приховування" + +#: Settings.ui.h:34 +msgid "Dock size limit" +msgstr "Обмеження розміру Дока" + +#: Settings.ui.h:35 +msgid "Panel mode: extend to the screen edge" +msgstr "Режим панелі: Док заповнює активну сторону екрану" + +#: Settings.ui.h:36 +msgid "Icon size limit" +msgstr "Обмеження розміру піктограм" + +#: Settings.ui.h:37 +msgid "Fixed icon size: scroll to reveal other icons" +msgstr "" +"Фіксований розмір піктограм: використайте коліщатко миші, щоб виявити інші " +"піктограми" + +#: Settings.ui.h:38 +msgid "Position and size" +msgstr "Позиція та розмір" + +#: Settings.ui.h:39 +msgid "Show favorite applications" +msgstr "Показувати закріплені програми" + +#: Settings.ui.h:40 +msgid "Show running applications" +msgstr "Показувати запущені програми" + +#: Settings.ui.h:41 +msgid "Isolate workspaces." +msgstr "Обмежити робочим простором." + +#: Settings.ui.h:42 +msgid "Isolate monitors." +msgstr "Обмежити монітором." + +#: Settings.ui.h:43 +msgid "Show open windows previews." +msgstr "Показувати мініатюри відкритих вікон." + +#: Settings.ui.h:44 +msgid "" +"If disabled, these settings are accessible from gnome-tweak-tool or the " +"extension website." +msgstr "" +"Якщо відключено, ці налаштування доступні з \"gnome-tweak-tool\" або з сайту " +"додатків." + +#: Settings.ui.h:45 +msgid "Show Applications icon" +msgstr "Показувати піктограму Програми" + +#: Settings.ui.h:46 +msgid "Move the applications button at the beginning of the dock." +msgstr "Кнопка \"Програми\" з іншої сторони Дока." + +#: Settings.ui.h:47 +msgid "Animate Show Applications." +msgstr "Анімувати показ програм." + +#: Settings.ui.h:48 +msgid "Launchers" +msgstr "Пускачі" + +#: Settings.ui.h:49 +msgid "" +"Enable Super+(0-9) as shortcuts to activate apps. It can also be used " +"together with Shift and Ctrl." +msgstr "" +"Активувати сполучення клавіш Super+(0-9) щоб вибрати програму. Можливе " +"використання разом з Shift та Ctrl." + +#: Settings.ui.h:50 +msgid "Use keyboard shortcuts to activate apps" +msgstr "Використовувати сполучення клавіш для вибору програми" + +#: Settings.ui.h:51 +msgid "Behaviour when clicking on the icon of a running application." +msgstr "Поведінка при натисканні на піктограму активної програми." + +#: Settings.ui.h:52 +msgid "Click action" +msgstr "Дія при натисканні" + +#: Settings.ui.h:53 +msgid "Minimize" +msgstr "Мінімізувати" + +#: Settings.ui.h:54 +msgid "Behaviour when scrolling on the icon of an application." +msgstr "Поведінка при прокручуванні на піктограмі програми." + +#: Settings.ui.h:55 +msgid "Scroll action" +msgstr "Дія при прокручуванні" + +#: Settings.ui.h:56 +msgid "Do nothing" +msgstr "Нічого" + +#: Settings.ui.h:57 +msgid "Switch workspace" +msgstr "Переключити робочій простір" + +#: Settings.ui.h:58 +msgid "Behavior" +msgstr "Поведінка" + +#: Settings.ui.h:59 +msgid "" +"Few customizations meant to integrate the dock with the default GNOME theme. " +"Alternatively, specific options can be enabled below." +msgstr "" +"Збалансовані налаштування для інтеграції Дока з оформленням Gnome по " +"замовчуванню. Нижче можна встановити власні параметри." + +#: Settings.ui.h:60 +msgid "Use built-in theme" +msgstr "Використовувати стандартне оформлення" + +#: Settings.ui.h:61 +msgid "Save space reducing padding and border radius." +msgstr "" +"Економія робочого простору за рахунок зменшення проміжків та застосування " +"заокруглених кутів." + +#: Settings.ui.h:62 +msgid "Shrink the dash" +msgstr "Стиснути Док" + +#: Settings.ui.h:63 +msgid "Show a dot for each windows of the application." +msgstr "Показує точку для кожного вікна програми." + +#: Settings.ui.h:64 +msgid "Show windows counter indicators" +msgstr "Показує індикатори кількості вікон" + +#: Settings.ui.h:65 +msgid "Set the background color for the dash." +msgstr "Встановити колір фону." + +#: Settings.ui.h:66 +msgid "Customize the dash color" +msgstr "Змінити колір фону" + +#: Settings.ui.h:67 +msgid "Tune the dash background opacity." +msgstr "Застосувати прозорість фону." + +#: Settings.ui.h:68 +msgid "Customize opacity" +msgstr "Налаштувати прозорість" + +#: Settings.ui.h:69 +msgid "Opacity" +msgstr "Непрозорість" + +#: Settings.ui.h:70 +msgid "Enable Unity7 like glossy backlit items" +msgstr "Застосувати підсвічування елементів як в Unity7" + +#: Settings.ui.h:71 +msgid "Force straight corner\n" +msgstr "Прямі кути\n" + +#: Settings.ui.h:73 +msgid "Appearance" +msgstr "Зовнішній вигляд" + +#: Settings.ui.h:74 +msgid "version: " +msgstr "версія: " + +#: Settings.ui.h:75 +msgid "Moves the dash out of the overview transforming it in a dock" +msgstr "Відображає панель з режиму \"Огляд\" у вигляді Дока" + +#: Settings.ui.h:76 +msgid "Created by" +msgstr "Автор" + +#: Settings.ui.h:77 +msgid "Webpage" +msgstr "Домашня сторінка" + +#: Settings.ui.h:78 +msgid "" +"This program comes with ABSOLUTELY NO WARRANTY.\n" +"See the GNU General Public License, version 2 or later for details." +msgstr "" +"Цей додаток розповсюджується БЕЗ БУДЬ ЯКИХ ГАРАНТИЙ.\n" +"Дивись GNU General Public License, версія 2 або пізніше для детальної " +"інформації." + +#: Settings.ui.h:80 +msgid "About" +msgstr "Про додаток" + +#: Settings.ui.h:81 +msgid "Show the dock by mouse hover on the screen edge." +msgstr "Показувати Док якщо курсор наблизиться до краю екрану." + +#: Settings.ui.h:82 +msgid "Autohide" +msgstr "Автоматично приховувати" + +#: Settings.ui.h:83 +msgid "Push to show: require pressure to show the dock" +msgstr "Тиск для показу: потрібне сильніше притискання для відкриття Дока" + +#: Settings.ui.h:84 +msgid "Enable in fullscreen mode" +msgstr "Застосувати для повноекранного режиму" + +#: Settings.ui.h:85 +msgid "Show the dock when it doesn't obstruct application windows." +msgstr "Показати Док, якщо він не заважає вікну програми у фокусі." + +#: Settings.ui.h:86 +msgid "Dodge windows" +msgstr "Перекривання вікнами" + +#: Settings.ui.h:87 +msgid "All windows" +msgstr "Усі вікна" + +#: Settings.ui.h:88 +msgid "Only focused application's windows" +msgstr "Тільки вікна програми у фокусі" + +#: Settings.ui.h:89 +msgid "Only maximized windows" +msgstr "Тільки розгорнуті вікна" + +#: Settings.ui.h:90 +msgid "Animation duration (s)" +msgstr "Час анімації (сек.)" + +#: Settings.ui.h:91 +msgid "Show timeout (s)" +msgstr "Затримка показу (сек.)" + +#: Settings.ui.h:92 +msgid "Pressure threshold" +msgstr "Поріг притискання" + +msgid "" +"With fixed icon size, only the edge of the dock and the Show " +"Applications icon are active." +msgstr "" +"При фіксованому розмірі піктограм програм активна тільки область піктограми " +"«Програми» та край Дока." + +msgid "Switch workspace by scrolling on the dock" +msgstr "Змінити робочий простір при прокрутці на Доку" + +msgid "Only consider windows of the focused application" +msgstr "Застосувати тільки до вікон програм у фокусі" + +msgid "Main Settings" +msgstr "Загальні налаштування" + +msgid "Dock Position" +msgstr "Позиція Дока" + +msgid "Dock is fixed and always visible" +msgstr "Док зафіксовано та завжди на екрані" + +msgid "Show delay [ms]" +msgstr "Затримка перед появою [мс]" + +msgid "Hide delay [ms]" +msgstr "Затримка перед приховуванням [мс]" + +msgid "Application based intellihide" +msgstr "Делікатне приховування діє тільки для активних вікон" + +msgid "Show the dock on following monitor (if attached)" +msgstr "Показувати Док на додатковому моніторі (якщо під'єднано)" + +msgid "Primary (default)" +msgstr "Головний (за замовчуванням)" + +msgid "1" +msgstr "1" + +msgid "2" +msgstr "2" + +msgid "3" +msgstr "3" + +msgid "4" +msgstr "4" + +msgid "Max height" +msgstr "Максимальна висота" + +msgid "Expand (experimental and buggy)" +msgstr "Розширюється (експериментальна, можливі помилки)" + +msgid "Maximum icon size" +msgstr "Максимальній розмір піктограми" + +msgid "16" +msgstr "16" + +msgid "24" +msgstr "24" + +msgid "32" +msgstr "32" + +msgid "48" +msgstr "48" + +msgid "64" +msgstr "64" + +msgid "Optional features" +msgstr "Додаткові функції" + +msgid "Deadtime between each workspace switching [ms]" +msgstr "Затримка між кожним перемиканням [мс]" + +msgid "Only a 1px wide area close to the screen edge is active" +msgstr "Активна лише область розміром з 1 піксель, близька до краю екрана" + +msgid "All the area of the dock is active" +msgstr "Вся площа Доку активна" + +msgid "Customize actions on mouse click" +msgstr "Налаштувати дії на клік мишею" + +msgid "Action on clicking on running app" +msgstr "Дія при натисканні на запущену програму" + +msgid "Minimize window on shift+click (double click for all app windows)" +msgstr "" +"Мінімізувати вікно за shift+click (подвійне натискання приховує усі вікна " +"програм)" + +msgid "Make message tray insensitive to mouse events" +msgstr "Зробити область повідомлень нечутливою до миші" + +msgid "Appearence and Themes" +msgstr "Зовнішній вигляд та Теми" + +msgid "" +"A customized theme is built in the extension. This is meant to work with the " +"default Adwaita theme: the dash is shrunk to save space, its background " +"transparency reduced, and custom indicators for the number of windows of " +"each application are added." +msgstr "" +"Тема влаштована в додаток. Вона оптимізована для теми Adwaita: Док зменшено, " +"щоб зберегти простір; прозорість фону знижено; активні індикатори кількості " +"вікон для кожної програми." + +msgid "" +"Alternatively, for a better integration with custom themes, each " +"customization can be applied indipendently" +msgstr "" +"Для кращої інтеграцією з користувацькою темою, кожен параметр можна " +"налаштувати незалежно" + +msgid "Shrink the dash size by reducing padding" +msgstr "Зменшити Док за рахунок проміжків" diff --git a/extensions/dash-to-dock/po/zh_CN.po b/extensions/dash-to-dock/po/zh_CN.po new file mode 100644 index 00000000..cae290f7 --- /dev/null +++ b/extensions/dash-to-dock/po/zh_CN.po @@ -0,0 +1,626 @@ +# Simplified Chinese translation of dash-to-dock +# Copyright (C) 2013 tuhaihe +# This file is distributed under the same license as the dash-to-dock package. +# tuhaihe <1132321739qq@gmail.com>, 2013. +# 绿色圣光 , 2015, 2016, 2017. +# zhmars <1403122061@qq.com>, 2019, 2020. +# +msgid "" +msgstr "" +"Project-Id-Version: Dash to Dock\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2020-03-23 15:33+0800\n" +"PO-Revision-Date: 2017-08-03 22:49+0800\n" +"Last-Translator: zhmars <1403122061@qq.com>\n" +"Language-Team: Chinese (Simplified) <>\n" +"Language: zh_CN\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Gtranslator 2.91.7\n" +"Plural-Forms: nplurals=1; plural=0;\n" + +#: prefs.js:268 +msgid "Primary monitor" +msgstr "主显示器" + +#: prefs.js:277 prefs.js:284 +msgid "Secondary monitor " +msgstr "副显示器" + +#: prefs.js:309 Settings.ui.h:28 +msgid "Right" +msgstr "右侧" + +#: prefs.js:310 Settings.ui.h:25 +msgid "Left" +msgstr "左侧" + +#: prefs.js:360 +msgid "Intelligent autohide customization" +msgstr "智能自动隐藏自定义" + +#: prefs.js:367 prefs.js:560 prefs.js:616 +msgid "Reset to defaults" +msgstr "重置为默认值" + +#: prefs.js:553 +msgid "Show dock and application numbers" +msgstr "显示 Dock 和应用程序编号" + +#: prefs.js:609 +msgid "Customize middle-click behavior" +msgstr "自定义中键点击行为" + +#: prefs.js:692 +msgid "Customize running indicators" +msgstr "自定义“运行中”指示器" + +#: prefs.js:804 Settings.ui.h:74 +msgid "Customize opacity" +msgstr "自定义不透明度" + +#: appIcons.js:810 +msgid "All Windows" +msgstr "所有窗口" + +#. Translators: %s is "Settings", which is automatically translated. You +#. can also translate the full message if this fits better your language. +#: appIcons.js:1125 +#, javascript-format +msgid "Dash to Dock %s" +msgstr "Dash to Dock %s" + +#: locations.js:65 +msgid "Trash" +msgstr "回收站" + +#: locations.js:74 +msgid "Empty Trash" +msgstr "清空回收站" + +#: locations.js:189 +msgid "Mount" +msgstr "挂载" + +#: locations.js:232 +msgid "Eject" +msgstr "弹出" + +#: locations.js:237 +msgid "Unmount" +msgstr "卸载" + +#: Settings.ui.h:1 +msgid "" +"When set to minimize, double clicking minimizes all the windows of the " +"application." +msgstr "当设置为最小化时,双击会最小化应用程序的所有窗口。" + +#: Settings.ui.h:2 +msgid "Shift+Click action" +msgstr "Shift+点击动作" + +#: Settings.ui.h:3 +msgid "Raise window" +msgstr "提升窗口" + +#: Settings.ui.h:4 +msgid "Minimize window" +msgstr "最小化窗口" + +#: Settings.ui.h:5 +msgid "Launch new instance" +msgstr "启动新实例" + +#: Settings.ui.h:6 +msgid "Cycle through windows" +msgstr "在窗口间循环" + +#: Settings.ui.h:7 +msgid "Minimize or overview" +msgstr "最小化或概览" + +#: Settings.ui.h:8 +msgid "Show window previews" +msgstr "显示打开窗口预览" + +#: Settings.ui.h:9 +msgid "Minimize or show previews" +msgstr "最小化或显示预览" + +#: Settings.ui.h:10 +msgid "Focus or show previews" +msgstr "聚焦或显示预览" + +#: Settings.ui.h:11 +msgid "Quit" +msgstr "退出" + +#: Settings.ui.h:12 +msgid "Behavior for Middle-Click." +msgstr "中键点击的行为。" + +#: Settings.ui.h:13 +msgid "Middle-Click action" +msgstr "中键点击动作" + +#: Settings.ui.h:14 +msgid "Behavior for Shift+Middle-Click." +msgstr "Shift+中键点击的行为。" + +#: Settings.ui.h:15 +msgid "Shift+Middle-Click action" +msgstr "Shift+中键点击动作" + +#: Settings.ui.h:16 +msgid "Enable Unity7 like glossy backlit items" +msgstr "启用类似 Unity 7 的高亮阴影" + +#: Settings.ui.h:17 +msgid "Use dominant color" +msgstr "使用主色调" + +#: Settings.ui.h:18 +msgid "Customize indicator style" +msgstr "自定义指示器样式" + +#: Settings.ui.h:19 +msgid "Color" +msgstr "颜色" + +#: Settings.ui.h:20 +msgid "Border color" +msgstr "边框颜色" + +#: Settings.ui.h:21 +msgid "Border width" +msgstr "边框宽度" + +#: Settings.ui.h:22 +msgid "Show the dock on" +msgstr "显示 Dock 于" + +#: Settings.ui.h:23 +msgid "Show on all monitors." +msgstr "所有显示器上都显示" + +#: Settings.ui.h:24 +msgid "Position on screen" +msgstr "屏幕中的位置" + +#: Settings.ui.h:26 +msgid "Bottom" +msgstr "底部" + +#: Settings.ui.h:27 +msgid "Top" +msgstr "顶部" + +#: Settings.ui.h:29 +msgid "" +"Hide the dock when it obstructs a window of the current application. More " +"refined settings are available." +msgstr "" +"当 Dock 会挡住当前应用程序的某个窗口时,将其隐藏。点击右侧设置按钮可以设置更" +"多细节。" + +#: Settings.ui.h:30 +msgid "Intelligent autohide" +msgstr "智能隐藏" + +#: Settings.ui.h:31 +msgid "Dock size limit" +msgstr "Dock 大小限制" + +#: Settings.ui.h:32 +msgid "Panel mode: extend to the screen edge" +msgstr "面板模式:延伸到屏幕边缘" + +#: Settings.ui.h:33 +msgid "Icon size limit" +msgstr "图标大小限制" + +#: Settings.ui.h:34 +msgid "Fixed icon size: scroll to reveal other icons" +msgstr "固定图标大小:滚动显示其它图标" + +#: Settings.ui.h:35 +msgid "Position and size" +msgstr "位置和大小" + +#: Settings.ui.h:36 +msgid "Show favorite applications" +msgstr "显示收藏的应用程序" + +#: Settings.ui.h:37 +msgid "Show running applications" +msgstr "显示正在运行的应用程序" + +#: Settings.ui.h:38 +msgid "Isolate workspaces." +msgstr "隔离工作区" + +#: Settings.ui.h:39 +msgid "Isolate monitors." +msgstr "隔离显示器" + +#: Settings.ui.h:40 +msgid "Show open windows previews." +msgstr "显示打开窗口预览" + +#: Settings.ui.h:41 +msgid "" +"If disabled, these settings are accessible from gnome-tweak-tool or the " +"extension website." +msgstr "禁用之后,可以通过 gnome-tweak-tool 或者扩展网站来访问这些设置。" + +#: Settings.ui.h:42 +msgid "Show Applications icon" +msgstr "显示 应用程序 图标" + +#: Settings.ui.h:43 +msgid "Move the applications button at the beginning of the dock." +msgstr "将应用程序图标移至 Dock 的起始位置" + +#: Settings.ui.h:44 +msgid "Animate Show Applications." +msgstr "动画方式 显示应用程序" + +#: Settings.ui.h:45 +msgid "Show trash can" +msgstr "显示回收站" + +#: Settings.ui.h:46 +msgid "Show mounted volumes and devices" +msgstr "显示挂载卷和设备" + +#: Settings.ui.h:47 +msgid "Launchers" +msgstr "启动器" + +#: Settings.ui.h:48 +msgid "" +"Enable Super+(0-9) as shortcuts to activate apps. It can also be used " +"together with Shift and Ctrl." +msgstr "启用 Super+(0-9) 作为快捷键来激活应用。也可与 Shift 和 Ctrl 一起使用。" + +#: Settings.ui.h:49 +msgid "Use keyboard shortcuts to activate apps" +msgstr "使用键盘快捷键激活应用" + +#: Settings.ui.h:50 +msgid "Behaviour when clicking on the icon of a running application." +msgstr "点击一个正在运行的应用程序图标时的行为。" + +#: Settings.ui.h:51 +msgid "Click action" +msgstr "点击动作" + +#: Settings.ui.h:52 +msgid "Minimize" +msgstr "最小化" + +#: Settings.ui.h:53 +msgid "Behaviour when scrolling on the icon of an application." +msgstr "在一个应用程序图标上滚动时的行为。" + +#: Settings.ui.h:54 +msgid "Scroll action" +msgstr "滚动动作" + +#: Settings.ui.h:55 +msgid "Do nothing" +msgstr "无动作" + +#: Settings.ui.h:56 +msgid "Switch workspace" +msgstr "切换工作区" + +#: Settings.ui.h:57 +msgid "Behavior" +msgstr "行为" + +#: Settings.ui.h:58 +msgid "" +"Few customizations meant to integrate the dock with the default GNOME theme. " +"Alternatively, specific options can be enabled below." +msgstr "" +"几个自定义项可以将 Dock 整合到默认 GNOME 主题中。或者,也可以启动下面的几个特" +"殊选项。" + +#: Settings.ui.h:59 +msgid "Use built-in theme" +msgstr "使用内置主题" + +#: Settings.ui.h:60 +msgid "Save space reducing padding and border radius." +msgstr "减小填充和边框半径以节省空间。" + +#: Settings.ui.h:61 +msgid "Shrink the dash" +msgstr "收缩 Dash" + +#: Settings.ui.h:62 +msgid "Customize windows counter indicators" +msgstr "显示窗口个数指示器" + +#: Settings.ui.h:63 +msgid "Default" +msgstr "默认" + +#: Settings.ui.h:64 +msgid "Dots" +msgstr "圆点" + +#: Settings.ui.h:65 +msgid "Squares" +msgstr "正方形" + +#: Settings.ui.h:66 +msgid "Dashes" +msgstr "破折号" + +#: Settings.ui.h:67 +msgid "Segmented" +msgstr "分段" + +#: Settings.ui.h:68 +msgid "Solid" +msgstr "" + +#: Settings.ui.h:69 +msgid "Ciliora" +msgstr "" + +#: Settings.ui.h:70 +msgid "Metro" +msgstr "" + +#: Settings.ui.h:71 +msgid "Set the background color for the dash." +msgstr "设置 Dash 的背景颜色。" + +#: Settings.ui.h:72 +msgid "Customize the dash color" +msgstr "自定义 Dash 颜色" + +#: Settings.ui.h:73 +msgid "Tune the dash background opacity." +msgstr "调整 Dash 的背景不透明度。" + +#: Settings.ui.h:75 +msgid "Fixed" +msgstr "固定" + +#: Settings.ui.h:76 +msgid "Dynamic" +msgstr "动态" + +#: Settings.ui.h:77 +msgid "Opacity" +msgstr "不透明度" + +#: Settings.ui.h:78 +msgid "Force straight corner" +msgstr "强制边框直角" + +#: Settings.ui.h:79 +msgid "Appearance" +msgstr "外观" + +#: Settings.ui.h:80 +msgid "version: " +msgstr "版本:" + +#: Settings.ui.h:81 +msgid "Moves the dash out of the overview transforming it in a dock" +msgstr "让 Dash 跳出概览之外,转化为一个 Dock" + +#: Settings.ui.h:82 +msgid "Created by" +msgstr "作者:" + +#: Settings.ui.h:83 +msgid "Webpage" +msgstr "网站主页" + +#: Settings.ui.h:84 +msgid "" +"This program comes with ABSOLUTELY NO WARRANTY.\n" +"See the GNU General Public License, version 2 or later for details." +msgstr "" +"本程序不提供任何担保。\n" +"参见 GNU " +"通用公共许可证,第二版或更高版本以了解更多细节。" + +#: Settings.ui.h:86 +msgid "About" +msgstr "关于" + +#: Settings.ui.h:87 +msgid "Customize minimum and maximum opacity values" +msgstr "自定义窗口最小化和最大化时 Dock 的不透明度" + +#: Settings.ui.h:88 +msgid "Minimum opacity" +msgstr "最小化不透明度" + +#: Settings.ui.h:89 +msgid "Maximum opacity" +msgstr "最大化不透明度" + +#: Settings.ui.h:90 +msgid "Number overlay" +msgstr "编号覆盖" + +#: Settings.ui.h:91 +msgid "" +"Temporarily show the application numbers over the icons, corresponding to " +"the shortcut." +msgstr "临时显示与快捷键对应的图标上的应用程序编号。" + +#: Settings.ui.h:92 +msgid "Show the dock if it is hidden" +msgstr "若 Dock 已隐藏,将其显示" + +#: Settings.ui.h:93 +msgid "" +"If using autohide, the dock will appear for a short time when triggering the " +"shortcut." +msgstr "如果使用了自动隐藏,Dock 将在触发快捷键时短暂显示。" + +#: Settings.ui.h:94 +msgid "Shortcut for the options above" +msgstr "以上选项的快捷键" + +#: Settings.ui.h:95 +msgid "Syntax: , , , " +msgstr "语法:" + +#: Settings.ui.h:96 +msgid "Hide timeout (s)" +msgstr "隐藏超时时间(秒)" + +#: Settings.ui.h:97 +msgid "Show the dock by mouse hover on the screen edge." +msgstr "鼠标移至屏幕边缘时显示 Dock。" + +#: Settings.ui.h:98 +msgid "Autohide" +msgstr "自动隐藏" + +#: Settings.ui.h:99 +msgid "Push to show: require pressure to show the dock" +msgstr "推压以显示:需要一定压力来显示 Dock" + +#: Settings.ui.h:100 +msgid "Enable in fullscreen mode" +msgstr "在全屏模式下启用" + +#: Settings.ui.h:101 +msgid "Show the dock when it doesn't obstruct application windows." +msgstr "在不妨碍应用程序窗口时,显示 Dock。" + +#: Settings.ui.h:102 +msgid "Dodge windows" +msgstr "避开窗口" + +#: Settings.ui.h:103 +msgid "All windows" +msgstr "所有窗口" + +#: Settings.ui.h:104 +msgid "Only focused application's windows" +msgstr "仅焦点程序窗口" + +#: Settings.ui.h:105 +msgid "Only maximized windows" +msgstr "仅最大化窗口" + +#: Settings.ui.h:106 +msgid "Animation duration (s)" +msgstr "动画持续时间(秒)" + +#: Settings.ui.h:107 +msgid "Show timeout (s)" +msgstr "显示超时时间(秒)" + +#: Settings.ui.h:108 +msgid "Pressure threshold" +msgstr "压力阈值" + +#~ msgid "Show a dot for each windows of the application." +#~ msgstr "为应用程序的每个窗口显示一个点。" + +#~ msgid "0.000" +#~ msgstr "0.000" + +#~ msgid "" +#~ "With fixed icon size, only the edge of the dock and the Show " +#~ "Applications icon are active." +#~ msgstr "" +#~ "如果固定了图标大小,只有 dock 边缘和“显示应用程序”图标会激活该功" +#~ "能。" + +#~ msgid "Switch workspace by scrolling on the dock" +#~ msgstr "通过滚动 dock 来切换工作区" + +#~ msgid "Main Settings" +#~ msgstr "主设置" + +#~ msgid "Dock is fixed and always visible" +#~ msgstr "Dock 固定且总是可见" + +#~ msgid "Show delay [ms]" +#~ msgstr "显示延迟(毫秒)" + +#~ msgid "Hide delay [ms]" +#~ msgstr "隐藏延迟(毫秒)" + +#~ msgid "Application based intellihide" +#~ msgstr "应用程序基于智能隐藏" + +#~ msgid "Show the dock on following monitor (if attached)" +#~ msgstr "Dock 将在如下显示器显示(如果已连接)" + +#~ msgid "Primary (default)" +#~ msgstr "主显示器(默认)" + +#~ msgid "1" +#~ msgstr "1" + +#~ msgid "2" +#~ msgstr "2" + +#~ msgid "3" +#~ msgstr "3" + +#~ msgid "4" +#~ msgstr "4" + +#~ msgid "Max height" +#~ msgstr "最大高度" + +#~ msgid "Expand (experimental and buggy)" +#~ msgstr "全部展开(实验阶段且存在问题)" + +#~ msgid "Maximum icon size" +#~ msgstr "最大图标尺寸" + +#~ msgid "16" +#~ msgstr "16" + +#~ msgid "24" +#~ msgstr "24" + +#~ msgid "32" +#~ msgstr "32" + +#~ msgid "48" +#~ msgstr "48" + +#~ msgid "64" +#~ msgstr "64" + +#~ msgid "Optional features" +#~ msgstr "可选功能" + +#~ msgid "Only a 1px wide area close to the screen edge is active" +#~ msgstr "仅当靠近屏幕边缘1像素宽区域时启用" + +#~ msgid "All the area of the dock is active" +#~ msgstr "Dock 全部区域时启用" + +#~ msgid "Customize actions on mouse click" +#~ msgstr "自定义鼠标点击动作" + +#~ msgid "Action on clicking on running app" +#~ msgstr "点击正在运行程序的动作" + +#~ msgid "Minimize window on shift+click (double click for all app windows)" +#~ msgstr "当按下“Shift+单击”(双击适用于全部程序窗口)时最小化窗口" + +#~ msgid "Only when in autohide" +#~ msgstr "仅当自动隐藏时" diff --git a/extensions/dash-to-dock/po/zh_TW.po b/extensions/dash-to-dock/po/zh_TW.po new file mode 100644 index 00000000..84cb252a --- /dev/null +++ b/extensions/dash-to-dock/po/zh_TW.po @@ -0,0 +1,542 @@ +# Traditional Chinese translation of dash-to-dock +# Copyright (C) 2013 micheleg +# This file is distributed under the same license as the dash-to-dock package. +# Cheng-Chia Tseng , 2017 +# +msgid "" +msgstr "" +"Project-Id-Version: Dash to Dock\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2020-05-23 23:49+0800\n" +"PO-Revision-Date: 2020-05-24 00:08+0800\n" +"Last-Translator: Yi-Jyun Pan \n" +"Language-Team: Chinese (Traditional) <>\n" +"Language: zh_TW\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Poedit 2.3.1\n" +"Plural-Forms: nplurals=1; plural=0;\n" + +#: prefs.js:268 +msgid "Primary monitor" +msgstr "主螢幕" + +#: prefs.js:277 prefs.js:284 +msgid "Secondary monitor " +msgstr "次螢幕 " + +#: prefs.js:309 Settings.ui.h:28 +msgid "Right" +msgstr "右側" + +#: prefs.js:310 Settings.ui.h:25 +msgid "Left" +msgstr "左側" + +#: prefs.js:360 +msgid "Intelligent autohide customization" +msgstr "自訂智慧型自動隱藏" + +#: prefs.js:367 prefs.js:560 prefs.js:616 +msgid "Reset to defaults" +msgstr "重設回預設值" + +#: prefs.js:553 +msgid "Show dock and application numbers" +msgstr "顯示 Dock 和應用程式數量" + +#: prefs.js:609 +msgid "Customize middle-click behavior" +msgstr "自訂滑鼠中鍵行為" + +#: prefs.js:692 +msgid "Customize running indicators" +msgstr "自訂執行中指示器" + +#: prefs.js:804 Settings.ui.h:74 +msgid "Customize opacity" +msgstr "自訂不透明度" + +#: appIcons.js:797 +msgid "All Windows" +msgstr "所有視窗" + +#: appIcons.js:916 +#, javascript-format +msgid "Quit %d Windows" +msgstr "結束 %d 個視窗" + +#. Translators: %s is "Settings", which is automatically translated. You +#. can also translate the full message if this fits better your language. +#: appIcons.js:1134 +#, javascript-format +msgid "Dash to Dock %s" +msgstr "Dash to Dock %s" + +#: locations.js:65 +msgid "Trash" +msgstr "垃圾桶" + +#: locations.js:74 +msgid "Empty Trash" +msgstr "清空垃圾桶" + +#: locations.js:192 +msgid "Mount" +msgstr "掛載" + +#: locations.js:235 +msgid "Eject" +msgstr "退出" + +#: locations.js:240 +msgid "Unmount" +msgstr "卸載" + +#: Settings.ui.h:1 +msgid "" +"When set to minimize, double clicking minimizes all the windows of the " +"application." +msgstr "當設定為最小化時,雙點滑鼠可將應用程式的所有視窗最小化。" + +#: Settings.ui.h:2 +msgid "Shift+Click action" +msgstr "Shift+滑鼠點按 動作" + +#: Settings.ui.h:3 +msgid "Raise window" +msgstr "擡升視窗" + +#: Settings.ui.h:4 +msgid "Minimize window" +msgstr "最小化視窗" + +#: Settings.ui.h:5 +msgid "Launch new instance" +msgstr "啟動新實體" + +#: Settings.ui.h:6 +msgid "Cycle through windows" +msgstr "在視窗之間循環" + +#: Settings.ui.h:7 +msgid "Minimize or overview" +msgstr "最小化或概覽" + +#: Settings.ui.h:8 +msgid "Show window previews" +msgstr "顯示視窗預覽" + +#: Settings.ui.h:9 +msgid "Minimize or show previews" +msgstr "最小化或顯示預覽" + +#: Settings.ui.h:10 +msgid "Focus or show previews" +msgstr "聚焦或顯示預覽" + +#: Settings.ui.h:11 +msgid "Quit" +msgstr "結束" + +#: Settings.ui.h:12 +msgid "Behavior for Middle-Click." +msgstr "滑鼠中鍵的行為。" + +#: Settings.ui.h:13 +msgid "Middle-Click action" +msgstr "滑鼠中鍵動作" + +#: Settings.ui.h:14 +msgid "Behavior for Shift+Middle-Click." +msgstr "Shift+滑鼠中鍵的行為。" + +#: Settings.ui.h:15 +msgid "Shift+Middle-Click action" +msgstr "Shift+滑鼠中鍵動作" + +#: Settings.ui.h:16 +msgid "Enable Unity7 like glossy backlit items" +msgstr "啟用 Unity7 類平滑背光項目" + +#: Settings.ui.h:17 +msgid "Use dominant color" +msgstr "使用主色調" + +#: Settings.ui.h:18 +msgid "Customize indicator style" +msgstr "自訂指示器樣式" + +#: Settings.ui.h:19 +msgid "Color" +msgstr "色彩" + +#: Settings.ui.h:20 +msgid "Border color" +msgstr "邊框色彩" + +#: Settings.ui.h:21 +msgid "Border width" +msgstr "邊框寬度" + +#: Settings.ui.h:22 +msgid "Show the dock on" +msgstr "Dock 顯示於" + +#: Settings.ui.h:23 +msgid "Show on all monitors." +msgstr "在所有顯示器顯示。" + +#: Settings.ui.h:24 +msgid "Position on screen" +msgstr "螢幕上的位置" + +#: Settings.ui.h:26 +msgid "Bottom" +msgstr "下面" + +#: Settings.ui.h:27 +msgid "Top" +msgstr "上面" + +#: Settings.ui.h:29 +msgid "" +"Hide the dock when it obstructs a window of the current application. More " +"refined settings are available." +msgstr "當 Dock 遮到目前應用程式的視窗時隱藏。可調整更多細部設定。" + +#: Settings.ui.h:30 +msgid "Intelligent autohide" +msgstr "智慧型自動隱藏" + +#: Settings.ui.h:31 +msgid "Dock size limit" +msgstr "Dock 大小限制" + +#: Settings.ui.h:32 +msgid "Panel mode: extend to the screen edge" +msgstr "面板模式:延伸到螢幕邊緣" + +#: Settings.ui.h:33 +msgid "Icon size limit" +msgstr "圖示大小限制" + +#: Settings.ui.h:34 +msgid "Fixed icon size: scroll to reveal other icons" +msgstr "固定圖示大小:捲動滑鼠以揭開其他圖示" + +#: Settings.ui.h:35 +msgid "Position and size" +msgstr "位置與大小" + +#: Settings.ui.h:36 +msgid "Show favorite applications" +msgstr "顯示喜愛的應用程式" + +#: Settings.ui.h:37 +msgid "Show running applications" +msgstr "顯示執行中應用程式" + +#: Settings.ui.h:38 +msgid "Isolate workspaces." +msgstr "獨立工作區。" + +#: Settings.ui.h:39 +msgid "Isolate monitors." +msgstr "獨立顯示器。" + +#: Settings.ui.h:40 +msgid "Show open windows previews." +msgstr "顯示開啟視窗的預覽。" + +#: Settings.ui.h:41 +msgid "" +"If disabled, these settings are accessible from gnome-tweak-tool or the " +"extension website." +msgstr "若停用,這些設定值可從 gnome-tweak-tool 或擴充套件網站存取。" + +#: Settings.ui.h:42 +msgid "Show Applications icon" +msgstr "顯示 應用程式 圖示" + +#: Settings.ui.h:43 +msgid "Move the applications button at the beginning of the dock." +msgstr "將應用程式按鈕移動到 Dock 開頭。" + +#: Settings.ui.h:44 +msgid "Animate Show Applications." +msgstr "讓 顯示應用程式 有動畫。" + +#: Settings.ui.h:45 +msgid "Show trash can" +msgstr "顯示垃圾桶" + +#: Settings.ui.h:46 +msgid "Show mounted volumes and devices" +msgstr "顯示掛載儲存區和裝置" + +#: Settings.ui.h:47 +msgid "Launchers" +msgstr "啟動器" + +#: Settings.ui.h:48 +msgid "" +"Enable Super+(0-9) as shortcuts to activate apps. It can also be used " +"together with Shift and Ctrl." +msgstr "" +"啟用 Super+(0-9) 作為啟用 App 的快捷鍵。這也可以搭配 Shift 和 Ctrl 使用。" + +#: Settings.ui.h:49 +msgid "Use keyboard shortcuts to activate apps" +msgstr "使用鍵盤快捷鍵啟用 App" + +#: Settings.ui.h:50 +msgid "Behaviour when clicking on the icon of a running application." +msgstr "點按執行中應用程式圖示時的行為。" + +#: Settings.ui.h:51 +msgid "Click action" +msgstr "點按動作" + +#: Settings.ui.h:52 +msgid "Minimize" +msgstr "最小化" + +#: Settings.ui.h:53 +msgid "Behaviour when scrolling on the icon of an application." +msgstr "捲動應用程式圖示時的行為。" + +#: Settings.ui.h:54 +msgid "Scroll action" +msgstr "捲動動作" + +#: Settings.ui.h:55 +msgid "Do nothing" +msgstr "什麼都不做" + +#: Settings.ui.h:56 +msgid "Switch workspace" +msgstr "切換工作區" + +#: Settings.ui.h:57 +msgid "Behavior" +msgstr "行為" + +#: Settings.ui.h:58 +msgid "" +"Few customizations meant to integrate the dock with the default GNOME theme. " +"Alternatively, specific options can be enabled below." +msgstr "" +"不自訂即代表將 Dock 與預設 GNOME 主題整合。或者可以啟用下方的特定選項。" + +#: Settings.ui.h:59 +msgid "Use built-in theme" +msgstr "使用內建主題" + +#: Settings.ui.h:60 +msgid "Save space reducing padding and border radius." +msgstr "透過縮小邊框間距及邊框半徑來節省空間。" + +#: Settings.ui.h:61 +msgid "Shrink the dash" +msgstr "縮小 Dash" + +#: Settings.ui.h:62 +msgid "Customize windows counter indicators" +msgstr "自訂視窗計數器的指示器" + +#: Settings.ui.h:63 +msgid "Default" +msgstr "預設" + +#: Settings.ui.h:64 +msgid "Dots" +msgstr "圓點" + +#: Settings.ui.h:65 +msgid "Squares" +msgstr "方框" + +#: Settings.ui.h:66 +msgid "Dashes" +msgstr "小槓線" + +#: Settings.ui.h:67 +msgid "Segmented" +msgstr "長段線" + +#: Settings.ui.h:68 +msgid "Solid" +msgstr "實心" + +#: Settings.ui.h:69 +msgid "Ciliora" +msgstr "Ciliora" + +#: Settings.ui.h:70 +msgid "Metro" +msgstr "現代" + +#: Settings.ui.h:71 +msgid "Set the background color for the dash." +msgstr "設定 Dash 的背景色彩。" + +#: Settings.ui.h:72 +msgid "Customize the dash color" +msgstr "自訂 Dash 色彩" + +#: Settings.ui.h:73 +msgid "Tune the dash background opacity." +msgstr "調整 Dash 的背景不透明度。" + +#: Settings.ui.h:75 +msgid "Fixed" +msgstr "固定" + +#: Settings.ui.h:76 +msgid "Dynamic" +msgstr "動態" + +#: Settings.ui.h:77 +msgid "Opacity" +msgstr "不透明" + +#: Settings.ui.h:78 +msgid "Force straight corner" +msgstr "強制邊緣直角" + +#: Settings.ui.h:79 +msgid "Appearance" +msgstr "外觀" + +#: Settings.ui.h:80 +msgid "version: " +msgstr "版本:" + +#: Settings.ui.h:81 +msgid "Moves the dash out of the overview transforming it in a dock" +msgstr "將 Dash 移出概覽轉變成 Dock" + +#: Settings.ui.h:82 +msgid "Created by" +msgstr "作者" + +#: Settings.ui.h:83 +msgid "Webpage" +msgstr "網頁" + +#: Settings.ui.h:84 +msgid "" +"This program comes with ABSOLUTELY NO WARRANTY.\n" +"See the GNU General Public License, version 2 or later for details." +msgstr "" +"本程式「絕無任何擔保」。\n" +"請見 GNU " +"通用公眾授權第 2 版,或後續版本 深入瞭解更多細節。" + +#: Settings.ui.h:86 +msgid "About" +msgstr "關於" + +#: Settings.ui.h:87 +msgid "Customize minimum and maximum opacity values" +msgstr "自訂最低與最高不透明值" + +#: Settings.ui.h:88 +msgid "Minimum opacity" +msgstr "最小化不透明度" + +#: Settings.ui.h:89 +msgid "Maximum opacity" +msgstr "最大化不透明度" + +#: Settings.ui.h:90 +msgid "Number overlay" +msgstr "數字覆層" + +#: Settings.ui.h:91 +msgid "" +"Temporarily show the application numbers over the icons, corresponding to " +"the shortcut." +msgstr "暫時在圖示上顯示應用程式數量,對應到快捷鍵。" + +#: Settings.ui.h:92 +msgid "Show the dock if it is hidden" +msgstr "若隱藏時顯示 Dock" + +#: Settings.ui.h:93 +msgid "" +"If using autohide, the dock will appear for a short time when triggering the " +"shortcut." +msgstr "若使用自動隱藏,則觸發快捷鍵時 Dock 會出現一段時間。" + +#: Settings.ui.h:94 +msgid "Shortcut for the options above" +msgstr "上述選項的快捷鍵" + +#: Settings.ui.h:95 +msgid "Syntax: , , , " +msgstr "語法:, , , " + +#: Settings.ui.h:96 +msgid "Hide timeout (s)" +msgstr "隱藏等候時間" + +#: Settings.ui.h:97 +msgid "Show the dock by mouse hover on the screen edge." +msgstr "滑鼠停駐在螢幕邊緣時顯示 Dock。" + +#: Settings.ui.h:98 +msgid "Autohide" +msgstr "自動隱藏" + +#: Settings.ui.h:99 +msgid "Push to show: require pressure to show the dock" +msgstr "推擠才顯示:需要一些壓力才會顯示 Dock" + +#: Settings.ui.h:100 +msgid "Enable in fullscreen mode" +msgstr "在全螢幕模式啟用" + +#: Settings.ui.h:101 +msgid "Show the dock when it doesn't obstruct application windows." +msgstr "在 Dock 不會遮到應用程式視窗時顯示。" + +#: Settings.ui.h:102 +msgid "Dodge windows" +msgstr "躲避視窗" + +#: Settings.ui.h:103 +msgid "All windows" +msgstr "所有視窗" + +#: Settings.ui.h:104 +msgid "Only focused application's windows" +msgstr "僅聚焦中的應用程式視窗" + +#: Settings.ui.h:105 +msgid "Only maximized windows" +msgstr "僅最大化的視窗" + +#: Settings.ui.h:106 +msgid "Animation duration (s)" +msgstr "動畫時間長度" + +#: Settings.ui.h:107 +msgid "Show timeout (s)" +msgstr "顯示等候秒數" + +#: Settings.ui.h:108 +msgid "Pressure threshold" +msgstr "壓力閾值" + +#~ msgid "Adaptive" +#~ msgstr "自適應" + +#~ msgid "Show a dot for each windows of the application." +#~ msgstr "為應用程式的每個視窗顯示圓點。" + +#~ msgid "0.000" +#~ msgstr "0.000" diff --git a/extensions/dash-to-dock/prefs.js b/extensions/dash-to-dock/prefs.js new file mode 100644 index 00000000..c1e57b67 --- /dev/null +++ b/extensions/dash-to-dock/prefs.js @@ -0,0 +1,838 @@ +// -*- mode: js; js-indent-level: 4; indent-tabs-mode: nil -*- + +const Gio = imports.gi.Gio; +const GLib = imports.gi.GLib; +const GObject = imports.gi.GObject; +const Gtk = imports.gi.Gtk; +const Gdk = imports.gi.Gdk; + +// Use __ () and N__() for the extension gettext domain, and reuse +// the shell domain with the default _() and N_() +const Gettext = imports.gettext.domain('gnome-shell-extensions'); +const __ = Gettext.gettext; +const N__ = function (e) { return e }; + +const ExtensionUtils = imports.misc.extensionUtils; +const Me = ExtensionUtils.getCurrentExtension(); + +const SCALE_UPDATE_TIMEOUT = 500; +const DEFAULT_ICONS_SIZES = [128, 96, 64, 48, 32, 24, 16]; + +const TransparencyMode = { + DEFAULT: 0, + FIXED: 1, + DYNAMIC: 3 +}; + +const RunningIndicatorStyle = { + DEFAULT: 0, + DOTS: 1, + SQUARES: 2, + DASHES: 3, + SEGMENTED: 4, + SOLID: 5, + CILIORA: 6, + METRO: 7 +}; + +// TODO: +// function setShortcut(settings) { +// let shortcut_text = settings.get_string('shortcut-text'); +// let [key, mods] = Gtk.accelerator_parse(shortcut_text); + +// if (Gtk.accelerator_valid(key, mods)) { +// let shortcut = Gtk.accelerator_name(key, mods); +// settings.set_strv('shortcut', [shortcut]); +// } +// else { +// settings.set_strv('shortcut', []); +// } +// } + +var Settings = GObject.registerClass({ + Implements: [Gtk.BuilderScope], +}, class DashToDock_Settings extends GObject.Object { + + _init() { + super._init(); + + this._settings = ExtensionUtils.getSettings('org.gnome.shell.extensions.dash-to-dock'); + + this._rtl = (Gtk.Widget.get_default_direction() == Gtk.TextDirection.RTL); + + this._builder = new Gtk.Builder(); + this._builder.set_scope(this); + this._builder.set_translation_domain(Me.metadata['gettext-domain']); + this._builder.add_from_file(Me.path + '/Settings.ui'); + + this.widget = new Gtk.ScrolledWindow({ hscrollbar_policy: Gtk.PolicyType.NEVER }); + this._notebook = this._builder.get_object('settings_notebook'); + this.widget.set_child(this._notebook); + + // Timeout to delay the update of the settings + this._dock_size_timeout = 0; + this._icon_size_timeout = 0; + this._opacity_timeout = 0; + + this._bindSettings(); + } + + vfunc_create_closure(builder, handlerName, flags, connectObject) { + if (flags & Gtk.BuilderClosureFlags.SWAPPED) + throw new Error('Unsupported template signal flag "swapped"'); + + if (typeof this[handlerName] === 'undefined') + throw new Error(`${handlerName} is undefined`); + + return this[handlerName].bind(connectObject || this); + } + + dock_display_combo_changed_cb(combo) { + this._settings.set_int('preferred-monitor', this._monitors[combo.get_active()]); + } + + position_top_button_toggled_cb(button) { + if (button.get_active()) + this._settings.set_enum('dock-position', 0); + } + + position_right_button_toggled_cb(button) { + if (button.get_active()) + this._settings.set_enum('dock-position', 1); + } + + position_bottom_button_toggled_cb(button) { + if (button.get_active()) + this._settings.set_enum('dock-position', 2); + } + + position_left_button_toggled_cb(button) { + if (button.get_active()) + this._settings.set_enum('dock-position', 3); + } + + icon_size_combo_changed_cb(combo) { + this._settings.set_int('dash-max-icon-size', this._allIconSizes[combo.get_active()]); + } + + dock_size_scale_value_changed_cb(scale) { + // Avoid settings the size continuously + if (this._dock_size_timeout > 0) + GLib.source_remove(this._dock_size_timeout); + const id = this._dock_size_timeout = GLib.timeout_add( + GLib.PRIORITY_DEFAULT, SCALE_UPDATE_TIMEOUT, () => { + if (id === this._dock_size_timeout) { + this._settings.set_double('height-fraction', scale.get_value()); + this._dock_size_timeout = 0; + return GLib.SOURCE_REMOVE; + } + }); + } + + icon_size_scale_value_changed_cb(scale) { + // Avoid settings the size consinuosly + if (this._icon_size_timeout > 0) + GLib.source_remove(this._icon_size_timeout); + this._icon_size_timeout = GLib.timeout_add( + GLib.PRIORITY_DEFAULT, SCALE_UPDATE_TIMEOUT, () => { + log(scale.get_value()); + this._settings.set_int('dash-max-icon-size', scale.get_value()); + this._icon_size_timeout = 0; + return GLib.SOURCE_REMOVE; + }); + } + custom_opacity_scale_value_changed_cb(scale) { + // Avoid settings the opacity consinuosly as it's change is animated + if (this._opacity_timeout > 0) + GLib.source_remove(this._opacity_timeout); + this._opacity_timeout = GLib.timeout_add( + GLib.PRIORITY_DEFAULT, SCALE_UPDATE_TIMEOUT, () => { + this._settings.set_double('background-opacity', scale.get_value()); + this._opacity_timeout = 0; + return GLib.SOURCE_REMOVE; + }); + } + min_opacity_scale_value_changed_cb(scale) { + // Avoid settings the opacity consinuosly as it's change is animated + if (this._opacity_timeout > 0) + GLib.source_remove(this._opacity_timeout); + this._opacity_timeout = GLib.timeout_add( + GLib.PRIORITY_DEFAULT, SCALE_UPDATE_TIMEOUT, () => { + this._settings.set_double('min-alpha', scale.get_value()); + this._opacity_timeout = 0; + return GLib.SOURCE_REMOVE; + }); + } + max_opacity_scale_value_changed_cb(scale) { + // Avoid settings the opacity consinuosly as it's change is animated + if (this._opacity_timeout > 0) + GLib.source_remove(this._opacity_timeout); + this._opacity_timeout = GLib.timeout_add( + GLib.PRIORITY_DEFAULT, SCALE_UPDATE_TIMEOUT, () => { + this._settings.set_double('max-alpha', scale.get_value()); + this._opacity_timeout = 0; + return GLib.SOURCE_REMOVE; + }); + } + + all_windows_radio_button_toggled_cb(button) { + if (button.get_active()) + this._settings.set_enum('intellihide-mode', 0); + } + focus_application_windows_radio_button_toggled_cb(button) { + if (button.get_active()) + this._settings.set_enum('intellihide-mode', 1); + } + maximized_windows_radio_button_toggled_cb(button) { + if (button.get_active()) + this._settings.set_enum('intellihide-mode', 2); + } + + + _bindSettings() { + // Position and size panel + + // Monitor options + + this._monitors = []; + // Build options based on the number of monitors and the current settings. + let monitors = Gdk.Display.get_default().get_monitors(); + let n_monitors = monitors.length; + let primary_monitor = 0; // Gdk.Screen.get_default().get_primary_monitor(); + + let monitor = this._settings.get_int('preferred-monitor'); + + // Add primary monitor with index 0, because in GNOME Shell the primary monitor is always 0 + this._builder.get_object('dock_monitor_combo').append_text(__('Primary monitor')); + this._monitors.push(0); + + // Add connected monitors + let ctr = 0; + for (let i = 0; i < n_monitors; i++) { + if (i !== primary_monitor) { + ctr++; + this._monitors.push(ctr); + this._builder.get_object('dock_monitor_combo').append_text(__('Secondary monitor ') + ctr); + } + } + + // If one of the external monitor is set as preferred, show it even if not attached + if ((monitor >= n_monitors) && (monitor !== primary_monitor)) { + this._monitors.push(monitor) + this._builder.get_object('dock_monitor_combo').append_text(__('Secondary monitor ') + ++ctr); + } + + this._builder.get_object('dock_monitor_combo').set_active(this._monitors.indexOf(monitor)); + + // Position option + let position = this._settings.get_enum('dock-position'); + + switch (position) { + case 0: + this._builder.get_object('position_top_button').set_active(true); + break; + case 1: + this._builder.get_object('position_right_button').set_active(true); + break; + case 2: + this._builder.get_object('position_bottom_button').set_active(true); + break; + case 3: + this._builder.get_object('position_left_button').set_active(true); + break; + } + + if (this._rtl) { + /* Left is Right in rtl as a setting */ + this._builder.get_object('position_left_button').set_label(__('Right')); + this._builder.get_object('position_right_button').set_label(__('Left')); + } + + // Intelligent autohide options + this._settings.bind('dock-fixed', + this._builder.get_object('intelligent_autohide_switch'), + 'active', + Gio.SettingsBindFlags.INVERT_BOOLEAN); + this._settings.bind('dock-fixed', + this._builder.get_object('intelligent_autohide_button'), + 'sensitive', + Gio.SettingsBindFlags.INVERT_BOOLEAN); + this._settings.bind('autohide', + this._builder.get_object('autohide_switch'), + 'active', + Gio.SettingsBindFlags.DEFAULT); + this._settings.bind('autohide-in-fullscreen', + this._builder.get_object('autohide_enable_in_fullscreen_checkbutton'), + 'active', + Gio.SettingsBindFlags.DEFAULT); + this._settings.bind('require-pressure-to-show', + this._builder.get_object('require_pressure_checkbutton'), + 'active', + Gio.SettingsBindFlags.DEFAULT); + this._settings.bind('intellihide', + this._builder.get_object('intellihide_switch'), + 'active', + Gio.SettingsBindFlags.DEFAULT); + this._settings.bind('animation-time', + this._builder.get_object('animation_duration_spinbutton'), + 'value', + Gio.SettingsBindFlags.DEFAULT); + this._settings.bind('hide-delay', + this._builder.get_object('hide_timeout_spinbutton'), + 'value', + Gio.SettingsBindFlags.DEFAULT); + this._settings.bind('show-delay', + this._builder.get_object('show_timeout_spinbutton'), + 'value', + Gio.SettingsBindFlags.DEFAULT); + this._settings.bind('pressure-threshold', + this._builder.get_object('pressure_threshold_spinbutton'), + 'value', + Gio.SettingsBindFlags.DEFAULT); + + //this._builder.get_object('animation_duration_spinbutton').set_value(this._settings.get_double('animation-time')); + + // Create dialog for intelligent autohide advanced settings + this._builder.get_object('intelligent_autohide_button').connect('clicked', () => { + + let dialog = new Gtk.Dialog({ + title: __('Intelligent autohide customization'), + transient_for: this.widget.get_root(), + use_header_bar: true, + modal: true + }); + + // GTK+ leaves positive values for application-defined response ids. + // Use +1 for the reset action + dialog.add_button(__('Reset to defaults'), 1); + + let box = this._builder.get_object('intelligent_autohide_advanced_settings_box'); + dialog.get_content_area().append(box); + + this._settings.bind('intellihide', + this._builder.get_object('intellihide_mode_box'), + 'sensitive', + Gio.SettingsBindFlags.GET); + + // intellihide mode + + let intellihideModeRadioButtons = [ + this._builder.get_object('all_windows_radio_button'), + this._builder.get_object('focus_application_windows_radio_button'), + this._builder.get_object('maximized_windows_radio_button') + ]; + + intellihideModeRadioButtons[this._settings.get_enum('intellihide-mode')].set_active(true); + + this._settings.bind('autohide', + this._builder.get_object('require_pressure_checkbutton'), + 'sensitive', + Gio.SettingsBindFlags.GET); + + this._settings.bind('autohide', + this._builder.get_object('autohide_enable_in_fullscreen_checkbutton'), + 'sensitive', + Gio.SettingsBindFlags.GET); + + this._settings.bind('require-pressure-to-show', + this._builder.get_object('show_timeout_spinbutton'), + 'sensitive', + Gio.SettingsBindFlags.INVERT_BOOLEAN); + this._settings.bind('require-pressure-to-show', + this._builder.get_object('show_timeout_label'), + 'sensitive', + Gio.SettingsBindFlags.INVERT_BOOLEAN); + this._settings.bind('require-pressure-to-show', + this._builder.get_object('pressure_threshold_spinbutton'), + 'sensitive', + Gio.SettingsBindFlags.DEFAULT); + this._settings.bind('require-pressure-to-show', + this._builder.get_object('pressure_threshold_label'), + 'sensitive', + Gio.SettingsBindFlags.DEFAULT); + + dialog.connect('response', (dialog, id) => { + if (id == 1) { + // restore default settings for the relevant keys + let keys = ['intellihide', 'autohide', 'intellihide-mode', 'autohide-in-fullscreen', 'require-pressure-to-show', + 'animation-time', 'show-delay', 'hide-delay', 'pressure-threshold']; + keys.forEach(function (val) { + this._settings.set_value(val, this._settings.get_default_value(val)); + }, this); + intellihideModeRadioButtons[this._settings.get_enum('intellihide-mode')].set_active(true); + } else { + // remove the settings box so it doesn't get destroyed; + dialog.get_content_area().remove(box); + dialog.destroy(); + } + return; + }); + + dialog.present(); + + }); + + // size options + const dock_size_scale = this._builder.get_object('dock_size_scale'); + dock_size_scale.set_value(this._settings.get_double('height-fraction')); + dock_size_scale.add_mark(0.9, Gtk.PositionType.TOP, null); + dock_size_scale.set_format_value_func((_, value) => { + return Math.round(value * 100) + ' %'; + }); + let icon_size_scale = this._builder.get_object('icon_size_scale'); + icon_size_scale.set_range(8, DEFAULT_ICONS_SIZES[0]); + icon_size_scale.set_value(this._settings.get_int('dash-max-icon-size')); + DEFAULT_ICONS_SIZES.forEach(function (val) { + icon_size_scale.add_mark(val, Gtk.PositionType.TOP, val.toString()); + }); + icon_size_scale.set_format_value_func((_, value) => { + return value + ' px'; + }); + + // Corrent for rtl languages + if (this._rtl) { + // Flip value position: this is not done automatically + dock_size_scale.set_value_pos(Gtk.PositionType.LEFT); + icon_size_scale.set_value_pos(Gtk.PositionType.LEFT); + // I suppose due to a bug, having a more than one mark and one above a value of 100 + // makes the rendering of the marks wrong in rtl. This doesn't happen setting the scale as not flippable + // and then manually inverting it + icon_size_scale.set_flippable(false); + icon_size_scale.set_inverted(true); + } + + this._settings.bind('icon-size-fixed', this._builder.get_object('icon_size_fixed_checkbutton'), 'active', Gio.SettingsBindFlags.DEFAULT); + this._settings.bind('extend-height', this._builder.get_object('dock_size_extend_checkbutton'), 'active', Gio.SettingsBindFlags.DEFAULT); + this._settings.bind('extend-height', this._builder.get_object('dock_size_scale'), 'sensitive', Gio.SettingsBindFlags.INVERT_BOOLEAN); + + + // Apps panel + + this._settings.bind('show-running', + this._builder.get_object('show_running_switch'), + 'active', + Gio.SettingsBindFlags.DEFAULT); + this._settings.bind('isolate-workspaces', + this._builder.get_object('application_button_isolation_button'), + 'active', + Gio.SettingsBindFlags.DEFAULT); + this._settings.bind('isolate-monitors', + this._builder.get_object('application_button_monitor_isolation_button'), + 'active', + Gio.SettingsBindFlags.DEFAULT); + this._settings.bind('show-windows-preview', + this._builder.get_object('windows_preview_button'), + 'active', + Gio.SettingsBindFlags.DEFAULT); + this._settings.bind('multi-monitor', + this._builder.get_object('multi_monitor_button'), + 'active', + Gio.SettingsBindFlags.DEFAULT); + this._settings.bind('show-favorites', + this._builder.get_object('show_favorite_switch'), + 'active', + Gio.SettingsBindFlags.DEFAULT); + this._settings.bind('show-trash', + this._builder.get_object('show_trash_switch'), + 'active', + Gio.SettingsBindFlags.DEFAULT); + this._settings.bind('show-mounts', + this._builder.get_object('show_mounts_switch'), + 'active', + Gio.SettingsBindFlags.DEFAULT); + this._settings.bind('show-show-apps-button', + this._builder.get_object('show_applications_button_switch'), + 'active', + Gio.SettingsBindFlags.DEFAULT); + this._settings.bind('show-apps-at-top', + this._builder.get_object('application_button_first_button'), + 'active', + Gio.SettingsBindFlags.DEFAULT); + this._settings.bind('show-show-apps-button', + this._builder.get_object('application_button_first_button'), + 'sensitive', + Gio.SettingsBindFlags.DEFAULT); + this._settings.bind('animate-show-apps', + this._builder.get_object('application_button_animation_button'), + 'active', + Gio.SettingsBindFlags.DEFAULT); + this._settings.bind('show-show-apps-button', + this._builder.get_object('application_button_animation_button'), + 'sensitive', + Gio.SettingsBindFlags.DEFAULT); + + + // Behavior panel + + this._settings.bind('hot-keys', + this._builder.get_object('hot_keys_switch'), + 'active', + Gio.SettingsBindFlags.DEFAULT); + this._settings.bind('hot-keys', + this._builder.get_object('overlay_button'), + 'sensitive', + Gio.SettingsBindFlags.DEFAULT); + + this._builder.get_object('click_action_combo').set_active(this._settings.get_enum('click-action')); + this._builder.get_object('click_action_combo').connect('changed', (widget) => { + this._settings.set_enum('click-action', widget.get_active()); + }); + + this._builder.get_object('scroll_action_combo').set_active(this._settings.get_enum('scroll-action')); + this._builder.get_object('scroll_action_combo').connect('changed', (widget) => { + this._settings.set_enum('scroll-action', widget.get_active()); + }); + + this._builder.get_object('shift_click_action_combo').connect('changed', (widget) => { + this._settings.set_enum('shift-click-action', widget.get_active()); + }); + + this._builder.get_object('middle_click_action_combo').connect('changed', (widget) => { + this._settings.set_enum('middle-click-action', widget.get_active()); + }); + this._builder.get_object('shift_middle_click_action_combo').connect('changed', (widget) => { + this._settings.set_enum('shift-middle-click-action', widget.get_active()); + }); + + // Create dialog for number overlay options + this._builder.get_object('overlay_button').connect('clicked', () => { + + let dialog = new Gtk.Dialog({ + title: __('Show dock and application numbers'), + transient_for: this.widget.get_root(), + use_header_bar: true, + modal: true + }); + + // GTK+ leaves positive values for application-defined response ids. + // Use +1 for the reset action + dialog.add_button(__('Reset to defaults'), 1); + + let box = this._builder.get_object('box_overlay_shortcut'); + dialog.get_content_area().append(box); + + this._builder.get_object('overlay_switch').set_active(this._settings.get_boolean('hotkeys-overlay')); + this._builder.get_object('show_dock_switch').set_active(this._settings.get_boolean('hotkeys-show-dock')); + + // We need to update the shortcut 'strv' when the text is modified + this._settings.connect('changed::shortcut-text', () => { setShortcut(this._settings); }); + this._settings.bind('shortcut-text', + this._builder.get_object('shortcut_entry'), + 'text', + Gio.SettingsBindFlags.DEFAULT); + + this._settings.bind('hotkeys-overlay', + this._builder.get_object('overlay_switch'), + 'active', + Gio.SettingsBindFlags.DEFAULT); + this._settings.bind('hotkeys-show-dock', + this._builder.get_object('show_dock_switch'), + 'active', + Gio.SettingsBindFlags.DEFAULT); + this._settings.bind('shortcut-timeout', + this._builder.get_object('timeout_spinbutton'), + 'value', + Gio.SettingsBindFlags.DEFAULT); + + dialog.connect('response', (dialog, id) => { + if (id == 1) { + // restore default settings for the relevant keys + let keys = ['shortcut-text', 'hotkeys-overlay', 'hotkeys-show-dock', 'shortcut-timeout']; + keys.forEach(function (val) { + this._settings.set_value(val, this._settings.get_default_value(val)); + }, this); + } else { + // remove the settings box so it doesn't get destroyed; + dialog.get_content_area().remove(box); + dialog.destroy(); + } + return; + }); + + dialog.present(); + }); + + // Create dialog for middle-click options + this._builder.get_object('middle_click_options_button').connect('clicked', () => { + + let dialog = new Gtk.Dialog({ + title: __('Customize middle-click behavior'), + transient_for: this.widget.get_root(), + use_header_bar: true, + modal: true + }); + + // GTK+ leaves positive values for application-defined response ids. + // Use +1 for the reset action + dialog.add_button(__('Reset to defaults'), 1); + + let box = this._builder.get_object('box_middle_click_options'); + dialog.get_content_area().append(box); + + this._builder.get_object('shift_click_action_combo').set_active(this._settings.get_enum('shift-click-action')); + + this._builder.get_object('middle_click_action_combo').set_active(this._settings.get_enum('middle-click-action')); + + this._builder.get_object('shift_middle_click_action_combo').set_active(this._settings.get_enum('shift-middle-click-action')); + + this._settings.bind('shift-click-action', + this._builder.get_object('shift_click_action_combo'), + 'active-id', + Gio.SettingsBindFlags.DEFAULT); + this._settings.bind('middle-click-action', + this._builder.get_object('middle_click_action_combo'), + 'active-id', + Gio.SettingsBindFlags.DEFAULT); + this._settings.bind('shift-middle-click-action', + this._builder.get_object('shift_middle_click_action_combo'), + 'active-id', + Gio.SettingsBindFlags.DEFAULT); + + dialog.connect('response', (dialog, id) => { + if (id == 1) { + // restore default settings for the relevant keys + let keys = ['shift-click-action', 'middle-click-action', 'shift-middle-click-action']; + keys.forEach(function (val) { + this._settings.set_value(val, this._settings.get_default_value(val)); + }, this); + this._builder.get_object('shift_click_action_combo').set_active(this._settings.get_enum('shift-click-action')); + this._builder.get_object('middle_click_action_combo').set_active(this._settings.get_enum('middle-click-action')); + this._builder.get_object('shift_middle_click_action_combo').set_active(this._settings.get_enum('shift-middle-click-action')); + } else { + // remove the settings box so it doesn't get destroyed; + dialog.get_content_area().remove(box); + dialog.destroy(); + } + return; + }); + + dialog.present(); + + }); + + // Appearance Panel + + this._settings.bind('apply-custom-theme', this._builder.get_object('customize_theme'), 'sensitive', Gio.SettingsBindFlags.INVERT_BOOLEAN | Gio.SettingsBindFlags.GET); + this._settings.bind('apply-custom-theme', this._builder.get_object('builtin_theme_switch'), 'active', Gio.SettingsBindFlags.DEFAULT); + this._settings.bind('custom-theme-shrink', this._builder.get_object('shrink_dash_switch'), 'active', Gio.SettingsBindFlags.DEFAULT); + + // Running indicators + this._builder.get_object('running_indicators_combo').set_active( + this._settings.get_enum('running-indicator-style') + ); + this._builder.get_object('running_indicators_combo').connect( + 'changed', + (widget) => { + this._settings.set_enum('running-indicator-style', widget.get_active()); + } + ); + + if (this._settings.get_enum('running-indicator-style') == RunningIndicatorStyle.DEFAULT) + this._builder.get_object('running_indicators_advance_settings_button').set_sensitive(false); + + this._settings.connect('changed::running-indicator-style', () => { + if (this._settings.get_enum('running-indicator-style') == RunningIndicatorStyle.DEFAULT) + this._builder.get_object('running_indicators_advance_settings_button').set_sensitive(false); + else + this._builder.get_object('running_indicators_advance_settings_button').set_sensitive(true); + }); + + // Create dialog for running indicators advanced settings + this._builder.get_object('running_indicators_advance_settings_button').connect('clicked', () => { + + let dialog = new Gtk.Dialog({ + title: __('Customize running indicators'), + transient_for: this.widget.get_root(), + use_header_bar: true, + modal: true + }); + + let box = this._builder.get_object('running_dots_advance_settings_box'); + dialog.get_content_area().append(box); + + this._settings.bind('running-indicator-dominant-color', + this._builder.get_object('dominant_color_switch'), + 'active', + Gio.SettingsBindFlags.DEFAULT); + + this._settings.bind('custom-theme-customize-running-dots', + this._builder.get_object('dot_style_switch'), + 'active', + Gio.SettingsBindFlags.DEFAULT); + this._settings.bind('custom-theme-customize-running-dots', + this._builder.get_object('dot_style_settings_box'), + 'sensitive', Gio.SettingsBindFlags.DEFAULT); + + let rgba = new Gdk.RGBA(); + rgba.parse(this._settings.get_string('custom-theme-running-dots-color')); + this._builder.get_object('dot_color_colorbutton').set_rgba(rgba); + + this._builder.get_object('dot_color_colorbutton').connect('notify::rgba', (button) => { + let css = button.rgba.to_string(); + + this._settings.set_string('custom-theme-running-dots-color', css); + }); + + rgba.parse(this._settings.get_string('custom-theme-running-dots-border-color')); + this._builder.get_object('dot_border_color_colorbutton').set_rgba(rgba); + + this._builder.get_object('dot_border_color_colorbutton').connect('notify::rgba', (button) => { + let css = button.rgba.to_string(); + + this._settings.set_string('custom-theme-running-dots-border-color', css); + }); + + this._settings.bind('custom-theme-running-dots-border-width', + this._builder.get_object('dot_border_width_spin_button'), + 'value', + Gio.SettingsBindFlags.DEFAULT); + + + dialog.connect('response', (dialog, id) => { + // remove the settings box so it doesn't get destroyed; + dialog.get_content_area().remove(box); + dialog.destroy(); + return; + }); + + dialog.present(); + + }); + + this._settings.bind('custom-background-color', this._builder.get_object('custom_background_color_switch'), 'active', Gio.SettingsBindFlags.DEFAULT); + this._settings.bind('custom-background-color', this._builder.get_object('custom_background_color'), 'sensitive', Gio.SettingsBindFlags.DEFAULT); + + let rgba = new Gdk.RGBA(); + rgba.parse(this._settings.get_string('background-color')); + this._builder.get_object('custom_background_color').set_rgba(rgba); + + this._builder.get_object('custom_background_color').connect('notify::rgba', (button) => { + let css = button.rgba.to_string(); + + this._settings.set_string('background-color', css); + }); + + // Opacity + this._builder.get_object('customize_opacity_combo').set_active_id( + this._settings.get_enum('transparency-mode').toString() + ); + this._builder.get_object('customize_opacity_combo').connect( + 'changed', + (widget) => { + this._settings.set_enum('transparency-mode', parseInt(widget.get_active_id())); + } + ); + + const custom_opacity_scale = this._builder.get_object('custom_opacity_scale'); + custom_opacity_scale.set_value(this._settings.get_double('background-opacity')); + custom_opacity_scale.set_format_value_func((_, value) => { + return Math.round(value * 100) + '%'; + }); + + if (this._settings.get_enum('transparency-mode') !== TransparencyMode.FIXED) + this._builder.get_object('custom_opacity_scale').set_sensitive(false); + + this._settings.connect('changed::transparency-mode', () => { + if (this._settings.get_enum('transparency-mode') !== TransparencyMode.FIXED) + this._builder.get_object('custom_opacity_scale').set_sensitive(false); + else + this._builder.get_object('custom_opacity_scale').set_sensitive(true); + }); + + if (this._settings.get_enum('transparency-mode') !== TransparencyMode.DYNAMIC) { + this._builder.get_object('dynamic_opacity_button').set_sensitive(false); + } + + this._settings.connect('changed::transparency-mode', () => { + if (this._settings.get_enum('transparency-mode') !== TransparencyMode.DYNAMIC) { + this._builder.get_object('dynamic_opacity_button').set_sensitive(false); + } + else { + this._builder.get_object('dynamic_opacity_button').set_sensitive(true); + } + }); + + // Create dialog for transparency advanced settings + this._builder.get_object('dynamic_opacity_button').connect('clicked', () => { + + let dialog = new Gtk.Dialog({ + title: __('Customize opacity'), + transient_for: this.widget.get_root(), + use_header_bar: true, + modal: true + }); + + let box = this._builder.get_object('advanced_transparency_dialog'); + dialog.get_content_area().append(box); + + this._settings.bind( + 'customize-alphas', + this._builder.get_object('customize_alphas_switch'), + 'active', + Gio.SettingsBindFlags.DEFAULT + ); + this._settings.bind( + 'customize-alphas', + this._builder.get_object('min_alpha_scale'), + 'sensitive', + Gio.SettingsBindFlags.DEFAULT + ); + this._settings.bind( + 'customize-alphas', + this._builder.get_object('max_alpha_scale'), + 'sensitive', + Gio.SettingsBindFlags.DEFAULT + ); + + const min_alpha_scale = this._builder.get_object('min_alpha_scale'); + const max_alpha_scale = this._builder.get_object('max_alpha_scale'); + min_alpha_scale.set_value( + this._settings.get_double('min-alpha') + ); + min_alpha_scale.set_format_value_func((_, value) => { + return Math.round(value * 100) + ' %'; + }); + max_alpha_scale.set_format_value_func((_, value) => { + return Math.round(value * 100) + ' %'; + }); + + max_alpha_scale.set_value( + this._settings.get_double('max-alpha') + ); + + dialog.connect('response', (dialog, id) => { + // remove the settings box so it doesn't get destroyed; + dialog.get_content_area().remove(box); + dialog.destroy(); + return; + }); + + dialog.present(); + }); + + + this._settings.bind('unity-backlit-items', + this._builder.get_object('unity_backlit_items_switch'), + 'active', Gio.SettingsBindFlags.DEFAULT + ); + + this._settings.bind('force-straight-corner', + this._builder.get_object('force_straight_corner_switch'), + 'active', Gio.SettingsBindFlags.DEFAULT); + + // About Panel + + this._builder.get_object('extension_version').set_label(Me.metadata.version.toString()); + } +}); + +function init() { + ExtensionUtils.initTranslations(); +} + +function buildPrefsWidget() { + let settings = new Settings(); + let widget = settings.widget; + if (widget.show_all) widget.show_all(); + return widget; +} diff --git a/extensions/dash-to-dock/schemas/org.gnome.shell.extensions.dash-to-dock.gschema.xml b/extensions/dash-to-dock/schemas/org.gnome.shell.extensions.dash-to-dock.gschema.xml new file mode 100644 index 00000000..54dd9f21 --- /dev/null +++ b/extensions/dash-to-dock/schemas/org.gnome.shell.extensions.dash-to-dock.gschema.xml @@ -0,0 +1,551 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 'BOTTOM' + Dock position + Dock is shown on the Left, Right, Top or Bottom side of the screen. + + + 0.2 + Animation time + Sets the time duration of the autohide effect. + + + 0.25 + Show delay + Sets the delay after the mouse reaches the screen border before showing the dock. + + + 0.20 + Show delay + Sets the delay after the mouse left the dock before hiding it. + + + false + Set a custom dash background background color + Sets the color for the dash background. + + + "#ffffff" + Dash background color. + Customize the background color of the dash. + + + 'DEFAULT' + Transparency mode for the dock + FIXED: constant transparency. DYNAMIC: dock takes the opaque style only when windows are close to it. + + + 'DEFAULT' + ... + DEFAULT: .... DOTS: .... + + + false + Use application icon dominant color for the indicator color + + + + false + Manually set the min and max opacity + For the dynamic mode, the min/max opacity values will be given by 'min-alpha' and 'max-alpha'. + + + 0.2 + Opacity of the dash background when free-floating + Sets the opacity of the dash background when no windows are close. + + + 0.8 + Opacity of the dash background when windows are close. + Sets the opacity of the dash background when windows are close. + + + 0.8 + Opacity of the dash background + Sets the opacity of the dash background when in autohide mode. + + + true + Dock dodges windows + Enable or disable intellihide mode + + + 'FOCUS_APPLICATION_WINDOWS' + Define which windows are considered for intellihide. + + + + true + Dock shown on mouse over + Enable or disable autohide mode + + + true + Require pressure to show dash + Enable or disable requiring pressure to show the dash + + + 100 + Pressure threshold + Sets how much pressure is needed to show the dash. + + + false + Enable autohide in fullscreen mode. + Enable autohide in fullscreen mode. + + + false + Dock always visible + Dock is always visible + + + true + Switch workspace by scrolling over the dock + Add the possibility to switch workspace by mouse scrolling over the dock. + + + 48 + Maximum dash icon size + Set the allowed maximum dash icon size. Allowed range: 16..64. + + + false + Fixed icon size + Keep the icon size fived by scrolling the dock. + + + false + Apply custom theme + Apply customization to the dash appearance + + + false + TODO + TODO + + + false + Customize the style of the running application indicators. + Customize the style of the running application indicators. + + + "#ffffff" + Running application indicators color + Customize the color of the running application indicators. + + + "#ffffff" + Running application indicators border color. + Customize the border color of the running application indicators. + + + 0 + Running application indicators border width. + Customize the border width of the running application indicators. + + + true + Show running apps + Show or hide running applications icons in the dash + + + false + Provide workspace isolation + Dash shows only windows from the currentworkspace + + + false + Provide monitor isolation + Dash shows only windows from the monitor + + + true + Show preview of the open windows + Replace open windows list with windows previews + + + true + Show favorites apps + Show or hide favorite applications icons in the dash + + + true + Show trash can + Show or hide the trash can icon in the dash + + + true + Show mounted volumes and devices + Show or hide mounted volume and device icons in the dash + + + true + Show applications button + Show applications button in the dash + + + false + Show application button on the left + Show application button on the left of the dash + + + true + Animate Show Applications from the desktop + Animate Show Applications from the desktop + + + true + Basic compatibility with bolt extensions + Make the extension work properly when bolt extensions is enabled + + + 0.90 + Dock max height (fraction of available space) + + + false + Extend the dock container to all the available height + + + -1 + Monitor on which putting the dock + Set on which monitor to put the dock, use -1 for the primary one + + + false + Enable multi-monitor docks + Show a dock on every monitor + + + true + Minimize on shift+click + + + true + Activate only one window + + + 'cycle-windows' + Action when clicking on a running app + Set the action that is executed when clicking on the icon of a running application + + + 'do-nothing' + Action when scrolling app + Set the action that is executed when scrolling on the application icon + + + 'minimize' + Action when shift+clicking on a running app + Set the action that is executed when shift+clicking on the icon of a running application + + + 'launch' + Action when clicking on a running app + Set the action that is executed when middle-clicking on the icon of a running application + + + 'launch' + Action when clicking on a running app + Set the action that is executed when shift+middle-clicking on the icon of a running application + + + true + Super Hot-Keys + Launch and switch between dash items using Super+(0-9) + + + true + Show the dock when using the hotkeys + The dock will be quickly shown so that the number-overlay is visible and app activation is easier + + + "<Super>q" + Keybinding to show the dock and the number overlay. + Behavior depends on hotkeys-show-dock and hotkeys-overlay. + + + q']]]> + Keybinding to show the dock and the number overlay. + Behavior depends on hotkeys-show-dock and hotkeys-overlay. + + + 2 + Timeout to hide the dock + Sets the time duration before the dock is hidden again. + + + true + Show the dock when using the hotkeys + The dock will be quickly shown so that the number-overlay is visible and app activation is easier + + + 1']]]> + Keybinding to launch 1st dash app + + Keybinding to launch 1st app. + + + + 2']]]> + Keybinding to launch 2nd dash app + + Keybinding to launch 2nd app. + + + + 3']]]> + Keybinding to launch 3rd dash app + + Keybinding to launch 3rd app. + + + + 4']]]> + Keybinding to launch 4th dash app + + Keybinding to launch 4th app. + + + + 5']]]> + Keybinding to launch 5th dash app + + Keybinding to launch 5th app. + + + + 6']]]> + Keybinding to launch 6th dash app + + Keybinding to launch 6th app. + + + + 7']]]> + Keybinding to launch 7th dash app + + Keybinding to launch 7th app. + + + + 8']]]> + Keybinding to launch 8th dash app + + Keybinding to launch 8th app. + + + + 9']]]> + Keybinding to launch 9th dash app + + Keybinding to launch 9th app. + + + + 0']]]> + Keybinding to launch 10th dash app + + Keybinding to launch 10th app. + + + + 1']]]> + Keybinding to trigger 1st dash app with shift behavior + + Keybinding to trigger 1st app with shift behavior. + + + + 2']]]> + Keybinding to trigger 2nd dash app with shift behavior + + Keybinding to trigger 2nd app with shift behavior. + + + + 3']]]> + Keybinding to trigger 3rd dash app with shift behavior + + Keybinding to trigger 3rd app with shift behavior. + + + + 4']]]> + Keybinding to trigger 4th dash app with shift behavior + + Keybinding to trigger 4th app with shift behavior. + + + + 5']]]> + Keybinding to trigger 5th dash app with shift behavior + + Keybinding to trigger 5th app with shift behavior. + + + + 6']]]> + Keybinding to trigger 6th dash app with shift behavior + + Keybinding to trigger 6th app with shift behavior. + + + + 7']]]> + Keybinding to trigger 7th dash app with shift behavior + + Keybinding to trigger 7th app with shift behavior. + + + + 8']]]> + Keybinding to trigger 8th dash app with shift behavior + + Keybinding to trigger 8th app with shift behavior. + + + + 9']]]> + Keybinding to trigger 9th dash app with shift behavior + + Keybinding to trigger 9th app with shift behavior. + + + + 0']]]> + Keybinding to trigger 10th dash app with shift behavior + + Keybinding to trigger 10th app with shift behavior. + + + + 1']]]> + Keybinding to trigger 1st dash app + + Keybinding to either show or launch the 1st application in the dash. + + + + 2']]]> + Keybinding to trigger 2nd dash app + + Keybinding to either show or launch the 2nd application in the dash. + + + + 3']]]> + Keybinding to trigger 3rd dash app + + Keybinding to either show or launch the 3rd application in the dash. + + + + 4']]]> + Keybinding to trigger 4th dash app + + Keybinding to either show or launch the 4th application in the dash. + + + + 5']]]> + Keybinding to trigger 5th dash app + + Keybinding to either show or launch the 5th application in the dash. + + + + 6']]]> + Keybinding to trigger 6th dash app + + Keybinding to either show or launch the 6th application in the dash. + + + + 7']]]> + Keybinding to trigger 7th dash app + + Keybinding to either show or launch the 7th application in the dash. + + + + 8']]]> + Keybinding to trigger 8th dash app + + Keybinding to either show or launch the 8th application in the dash. + + + + 9']]]> + Keybinding to trigger 9th dash app + + Keybinding to either show or launch the 9th application in the dash. + + + + 0']]]> + Keybinding to trigger 10th dash app + + Keybinding to either show or launch the 10th application in the dash. + + + + false + Force straight corners in dash + Make the borders in the dash non rounded + + + false + Enable unity7 like glossy backlit items + Emulate the unity7 backlit glossy items behaviour + + + diff --git a/extensions/dash-to-dock/stylesheet.css b/extensions/dash-to-dock/stylesheet.css new file mode 100644 index 00000000..9a427f24 --- /dev/null +++ b/extensions/dash-to-dock/stylesheet.css @@ -0,0 +1,231 @@ +/* Shrink the dash by reducing padding */ +#dashtodockContainer.bottom.shrink #dash .dash-background { + border: 1px; + padding: 2.5px; + border-bottom: 0px; } + +#dashtodockContainer.bottom.shrink #dash .dash-item-container .app-well-app, +#dashtodockContainer.bottom.shrink #dash .dash-item-container .show-apps { + padding: 2.5px; } + +#dashtodockContainer.bottom.extended #dash { + margin-top: 0; + margin-bottom: 0; } + +#dashtodockContainer.top.shrink #dash .dash-background { + border: 1px; + padding: 2.5px; + border-top: 0px; } + +#dashtodockContainer.top.shrink #dash .dash-item-container .app-well-app, +#dashtodockContainer.top.shrink #dash .dash-item-container .show-apps { + padding: 2.5px; } + +#dashtodockContainer.top.extended #dash { + margin-top: 0; + margin-bottom: 0; } + +#dashtodockContainer.left.shrink #dash .dash-background { + border: 1px; + padding: 2.5px; + border-left: 0px; } + +#dashtodockContainer.left.shrink #dash .dash-item-container .app-well-app, +#dashtodockContainer.left.shrink #dash .dash-item-container .show-apps { + padding: 2.5px; } + +#dashtodockContainer.left.extended #dash { + margin-top: 0; + margin-bottom: 0; } + +#dashtodockContainer.right.shrink #dash .dash-background { + border: 1px; + padding: 2.5px; + border-right: 0px; } + +#dashtodockContainer.right.shrink #dash .dash-item-container .app-well-app, +#dashtodockContainer.right.shrink #dash .dash-item-container .show-apps { + padding: 2.5px; } + +#dashtodockContainer.right.extended #dash { + margin-top: 0; + margin-bottom: 0; } + +#dashtodockContainer.bottom.shrink #dash .dash-background { + margin-top: 0; + margin-bottom: 4px; } + +#dashtodockContainer.straight-corner #dash .dash-background, +#dashtodockContainer.shrink.straight-corner #dash .dash-background { + border-radius: 0px; } + +/* Scrollview style */ +.bottom #dashtodockDashScrollview, +.top #dashtodockDashScrollview { + -st-hfade-offset: 24px; } + +.left #dashtodockDashScrollview, +.right #dashtodockDashScrollview { + -st-vfade-offset: 24px; } + +#dashtodockContainer.running-dots .dash-item-container > StButton, +#dashtodockContainer.dashtodock .dash-item-container > StButton { + transition-duration: 250; + background-size: contain; } + +#dashtodockContainer #dash .dash-separator { + margin-bottom: 0; } + +#dashtodockContainer #dash .vertical-dash-separator { + height: 1px; + margin: 6.5px 0; + background-color: rgba(238, 238, 236, 0.3); } + +#dashtodockContainer.bottom #dash { + margin-top: 0; } + #dashtodockContainer.bottom #dash .dash-background { + margin-bottom: 8px; } + #dashtodockContainer.bottom #dash .dash-item-container .app-well-app, + #dashtodockContainer.bottom #dash .dash-item-container .show-apps { + padding: 10px 1.5px 18px; } + +#dashtodockContainer.bottom.overview #dash { + margin-top: 12px; } + +#dashtodockContainer.bottom.extended #dash .dash-background, #dashtodockContainer.bottom.shrink #dash .dash-background { + margin-bottom: 0; } + +#dashtodockContainer.bottom.extended #dash .dash-item-container .app-well-app, +#dashtodockContainer.bottom.extended #dash .dash-item-container .show-apps { + padding-bottom: 10px; } + +#dashtodockContainer.bottom.shrink #dash .dash-item-container .app-well-app, +#dashtodockContainer.bottom.shrink #dash .dash-item-container .show-apps { + padding-bottom: 2.5px; } + +#dashtodockContainer.left #dash, +#dashtodockContainer.right #dash { + padding-left: 4px; + padding-right: 4px; } + #dashtodockContainer.left #dash .dash-item-container .app-well-app, + #dashtodockContainer.left #dash .dash-item-container .show-apps, + #dashtodockContainer.right #dash .dash-item-container .app-well-app, + #dashtodockContainer.right #dash .dash-item-container .show-apps { + /* In vertical we don't want to add additional padding below the button. */ + padding-bottom: 6px; + padding-top: 6px; } + +#dashtodockContainer.left.shrink #dash, +#dashtodockContainer.right.shrink #dash { + padding-left: 0; + padding-right: 0; } + +#dashtodockContainer.top #dash { + margin-bottom: 0px; } + +/* Dash height extended to the whole available vertical space */ +#dashtodockContainer.extended.left #dash, #dashtodockContainer.extended.right #dash, #dashtodockContainer.extended.top #dash, #dashtodockContainer.extended.bottom #dash { + padding-top: 0; + padding-bottom: 0; + padding-left: 0; + padding-right: 0; } + #dashtodockContainer.extended.left #dash .dash-background, #dashtodockContainer.extended.right #dash .dash-background, #dashtodockContainer.extended.top #dash .dash-background, #dashtodockContainer.extended.bottom #dash .dash-background { + border-radius: 0; } + +#dashtodockContainer.extended.top #dash, #dashtodockContainer.extended.bottom #dash { + border-left: 0px; + border-right: 0px; } + #dashtodockContainer.extended.top #dash .dash-background, #dashtodockContainer.extended.bottom #dash .dash-background { + padding-left: 0; + padding-right: 0; } + +#dashtodockContainer.extended.left #dash, #dashtodockContainer.extended.right #dash { + border-top: 0px; + border-bottom: 0px; } + +/* Running and focused application style */ +#dashtodockContainer.running-dots .app-well-app.running > .overview-icon, +#dashtodockContainer.dashtodock .app-well-app.running > .overview-icon { + background-image: none; } + +#dashtodockContainer.running-dots .app-well-app.focused .overview-icon, +#dashtodockContainer.dashtodock .app-well-app.focused .overview-icon { + background-color: rgba(238, 238, 236, 0.2); } + +#dashtodockContainer.dashtodock #dash .dash-background { + background: #2e3436; } + +#dashtodockContainer.dashtodock .progress-bar { + /* Customization of the progress bar style, e.g.: + -progress-bar-background: rgba(0.8, 0.8, 0.8, 1); + -progress-bar-border: rgba(0.9, 0.9, 0.9, 1); + */ } + +#dashtodockContainer.top #dash .placeholder, +#dashtodockContainer.bottom #dash .placeholder { + width: 32px; + height: 1px; } + +/* + * This is applied to a dummy actor. Only the alpha value for the background and border color + * and the transition-duration are used + */ +#dashtodockContainer.dummy-opaque { + background-color: rgba(0, 0, 0, 0.8); + border-color: rgba(0, 0, 0, 0.4); + transition-duration: 300ms; } + +/* + * This is applied to a dummy actor. Only the alpha value for the background and border color + * and the transition-duration are used + */ +#dashtodockContainer.dummy-transparent { + background-color: rgba(0, 0, 0, 0.2); + border-color: rgba(0, 0, 0, 0.1); + transition-duration: 500ms; } + +#dashtodockContainer .number-overlay { + color: white; + background-color: rgba(0, 0, 0, 0.8); + text-align: center; } + +#dashtodockContainer .notification-badge { + color: white; + background-color: red; + padding: 0.2em 0.5em; + border-radius: 1em; + font-weight: bold; + text-align: center; + margin: 2px; } + +#dashtodockPreviewSeparator.popup-separator-menu-item-horizontal { + width: 1px; + height: auto; + border-right-width: 1px; + margin: 32px 0px; } + +.dashtodock-app-well-preview-menu-item { + padding: 1em 1em 0.5em 1em; } + +#dashtodockContainer .metro .overview-icon { + border-radius: 0px; } + +#dashtodockContainer.bottom .metro.running2.focused, +#dashtodockContainer.bottom .metro.running3.focused, +#dashtodockContainer.bottom .metro.running4.focused, +#dashtodockContainer.top .metro.running2.focused, +#dashtodockContainer.top .metro.running3.focused, +#dashtodockContainer.top .metro.running4.focused { + background-image: url("./media/highlight_stacked_bg.svg"); + background-position: 0px 0px; + background-size: contain; } + +#dashtodockContainer.left .metro.running2.focused, +#dashtodockContainer.left .metro.running3.focused, +#dashtodockContainer.left .metro.running4.focused, +#dashtodockContainer.right .metro.running2.focused, +#dashtodockContainer.right .metro.running3.focused, +#dashtodockContainer.right .metro.running4.focused { + background-image: url("./media/highlight_stacked_bg_h.svg"); + background-position: 0px 0px; + background-size: contain; } diff --git a/extensions/dash-to-dock/theming.js b/extensions/dash-to-dock/theming.js new file mode 100644 index 00000000..4b9e10ac --- /dev/null +++ b/extensions/dash-to-dock/theming.js @@ -0,0 +1,553 @@ +// -*- mode: js; js-indent-level: 4; indent-tabs-mode: nil -*- + +const Gio = imports.gi.Gio; +const GLib = imports.gi.GLib; +const Signals = imports.signals; +const Meta = imports.gi.Meta; +const Shell = imports.gi.Shell; +const St = imports.gi.St; +const Clutter = imports.gi.Clutter; + +const AppDisplay = imports.ui.appDisplay; +const AppFavorites = imports.ui.appFavorites; +const Dash = imports.ui.dash; +const DND = imports.ui.dnd; +const IconGrid = imports.ui.iconGrid; +const Main = imports.ui.main; +const PopupMenu = imports.ui.popupMenu; +const Util = imports.misc.util; +const Workspace = imports.ui.workspace; + +const Me = imports.misc.extensionUtils.getCurrentExtension(); +const Docking = Me.imports.docking; +const Utils = Me.imports.utils; + +/* + * DEFAULT: transparency given by theme + * FIXED: constant transparency chosen by user + * DYNAMIC: apply 'transparent' style when no windows are close to the dock + * */ +const TransparencyMode = { + DEFAULT: 0, + FIXED: 1, + DYNAMIC: 3 +}; + +/** + * Manage theme customization and custom theme support + */ +var ThemeManager = class DashToDock_ThemeManager { + + constructor(dock) { + this._signalsHandler = new Utils.GlobalSignalsHandler(); + this._bindSettingsChanges(); + this._actor = dock; + this._dash = dock.dash; + + // initialize colors with generic values + this._customizedBackground = {red: 0, green: 0, blue: 0, alpha: 0}; + this._customizedBorder = {red: 0, green: 0, blue: 0, alpha: 0}; + this._transparency = new Transparency(dock); + + this._signalsHandler.add([ + // When theme changes re-obtain default background color + St.ThemeContext.get_for_stage (global.stage), + 'changed', + this.updateCustomTheme.bind(this) + ], [ + // update :overview pseudoclass + Main.overview, + 'showing', + this._onOverviewShowing.bind(this) + ], [ + Main.overview, + 'hiding', + this._onOverviewHiding.bind(this) + ]); + + this._updateCustomStyleClasses(); + + // destroy themeManager when the managed actor is destroyed (e.g. extension unload) + // in order to disconnect signals + this._actor.connect('destroy', this.destroy.bind(this)); + + } + + destroy() { + this._signalsHandler.destroy(); + this._transparency.destroy(); + } + + _onOverviewShowing() { + this._actor.add_style_pseudo_class('overview'); + } + + _onOverviewHiding() { + this._actor.remove_style_pseudo_class('overview'); + } + + _updateDashOpacity() { + let newAlpha = Docking.DockManager.settings.get_double('background-opacity'); + + let [backgroundColor, borderColor] = this._getDefaultColors(); + + if (backgroundColor==null) + return; + + // Get the background and border alphas. We check the background alpha + // for a minimum of .001 to prevent division by 0 errors + let backgroundAlpha = Math.max(Math.round(backgroundColor.alpha/2.55)/100, .001); + let borderAlpha = Math.round(borderColor.alpha/2.55)/100; + + // The border and background alphas should remain in sync + // We also limit the borderAlpha to a maximum of 1 (full opacity) + borderAlpha = Math.min((borderAlpha/backgroundAlpha)*newAlpha, 1); + + this._customizedBackground = 'rgba(' + + backgroundColor.red + ',' + + backgroundColor.green + ',' + + backgroundColor.blue + ',' + + newAlpha + ')'; + + this._customizedBorder = 'rgba(' + + borderColor.red + ',' + + borderColor.green + ',' + + borderColor.blue + ',' + + borderAlpha + ')'; + + } + + _getDefaultColors() { + // Prevent shell crash if the actor is not on the stage. + // It happens enabling/disabling repeatedly the extension + if (!this._dash._container.get_stage()) + return [null, null]; + + // Remove custom style + let oldStyle = this._dash._container.get_style(); + this._dash._container.set_style(null); + + let themeNode = this._dash._container.get_theme_node(); + this._dash._container.set_style(oldStyle); + + let backgroundColor = themeNode.get_background_color(); + + // Just in case the theme has different border colors .. + // We want to find the inside border-color of the dock because it is + // the side most visible to the user. We do this by finding the side + // opposite the position + let position = Utils.getPosition(); + let side = position + 2; + if (side > 3) + side = Math.abs(side - 4); + + let borderColor = themeNode.get_border_color(side); + + return [backgroundColor, borderColor]; + } + + _updateDashColor() { + // Retrieve the color. If needed we will adjust it before passing it to + // this._transparency. + let [backgroundColor, borderColor] = this._getDefaultColors(); + + if (backgroundColor==null) + return; + + let settings = Docking.DockManager.settings; + + if (settings.get_boolean('custom-background-color')) { + // When applying a custom color, we need to check the alpha value, + // if not the opacity will always be overridden by the color below. + // Note that if using 'dynamic' transparency modes, + // the opacity will be set by the opaque/transparent styles anyway. + let newAlpha = Math.round(backgroundColor.alpha/2.55)/100; + if (settings.get_enum('transparency-mode') == TransparencyMode.FIXED) + newAlpha = settings.get_double('background-opacity'); + + backgroundColor = settings.get_string('background-color'); + + this._customizedBackground = backgroundColor; + + this._customizedBorder = this._customizedBackground; + + // backgroundColor is a string like rgb(0,0,0) + const color = Clutter.Color.from_string(backgroundColor); + color.alpha = newAlpha; + + this._transparency.setColor(color); + } else { + // backgroundColor is a Clutter.Color object + this._transparency.setColor(backgroundColor); + } + } + + _updateCustomStyleClasses() { + let settings = Docking.DockManager.settings; + + if (settings.get_boolean('apply-custom-theme')) + this._actor.add_style_class_name('dashtodock'); + else + this._actor.remove_style_class_name('dashtodock'); + + if (settings.get_boolean('custom-theme-shrink')) + this._actor.add_style_class_name('shrink'); + else + this._actor.remove_style_class_name('shrink'); + + if (settings.get_enum('running-indicator-style') !== 0) + this._actor.add_style_class_name('running-dots'); + else + this._actor.remove_style_class_name('running-dots'); + + // If not the built-in theme option is not selected + if (!settings.get_boolean('apply-custom-theme')) { + if (settings.get_boolean('force-straight-corner')) + this._actor.add_style_class_name('straight-corner'); + else + this._actor.remove_style_class_name('straight-corner'); + } else { + this._actor.remove_style_class_name('straight-corner'); + } + } + + updateCustomTheme() { + this._updateCustomStyleClasses(); + this._updateDashOpacity(); + this._updateDashColor(); + this._adjustTheme(); + this._dash._redisplay(); + } + + /** + * Reimported back and adapted from atomdock + */ + _adjustTheme() { + // Prevent shell crash if the actor is not on the stage. + // It happens enabling/disabling repeatedly the extension + if (!this._dash._background.get_stage()) + return; + + let settings = Docking.DockManager.settings; + + // Remove prior style edits + this._dash._background.set_style(null); + this._transparency.disable(); + + // If built-in theme is enabled do nothing else + if (settings.get_boolean('apply-custom-theme')) + return; + + let newStyle = ''; + let position = Utils.getPosition(settings); + + // obtain theme border settings + let themeNode = this._dash._background.get_theme_node(); + let borderColor = themeNode.get_border_color(St.Side.TOP); + let borderWidth = themeNode.get_border_width(St.Side.TOP); + + // We're copying border and corner styles to left border and top-left + // corner, also removing bottom border and bottom-right corner styles + let borderInner = ''; + let borderMissingStyle = ''; + + if (this._rtl && (position != St.Side.RIGHT)) + borderMissingStyle = 'border-right: ' + borderWidth + 'px solid ' + + borderColor.to_string() + ';'; + else if (!this._rtl && (position != St.Side.LEFT)) + borderMissingStyle = 'border-left: ' + borderWidth + 'px solid ' + + borderColor.to_string() + ';'; + + newStyle = borderMissingStyle; + + // I do call set_style possibly twice so that only the background gets the transition. + // The transition-property css rules seems to be unsupported + this._dash._background.set_style(newStyle); + + // Customize background + let fixedTransparency = settings.get_enum('transparency-mode') == TransparencyMode.FIXED; + let defaultTransparency = settings.get_enum('transparency-mode') == TransparencyMode.DEFAULT; + if (!defaultTransparency && !fixedTransparency) { + this._transparency.enable(); + } + else if (!defaultTransparency || settings.get_boolean('custom-background-color')) { + newStyle = newStyle + 'background-color:'+ this._customizedBackground + '; ' + + 'border-color:'+ this._customizedBorder + '; ' + + 'transition-delay: 0s; transition-duration: 0.250s;'; + this._dash._background.set_style(newStyle); + } + } + + _bindSettingsChanges() { + let keys = ['transparency-mode', + 'customize-alphas', + 'min-alpha', + 'max-alpha', + 'background-opacity', + 'custom-background-color', + 'background-color', + 'apply-custom-theme', + 'custom-theme-shrink', + 'custom-theme-running-dots', + 'extend-height', + 'force-straight-corner']; + + keys.forEach(function(key) { + this._signalsHandler.add([ + Docking.DockManager.settings, + 'changed::' + key, + this.updateCustomTheme.bind(this) + ]); + }, this); + } +}; + +/** + * The following class is based on the following upstream commit: + * https://git.gnome.org/browse/gnome-shell/commit/?id=447bf55e45b00426ed908b1b1035f472c2466956 + * Transparency when free-floating + */ +var Transparency = class DashToDock_Transparency { + + constructor(dock) { + this._dash = dock.dash; + this._actor = this._dash._container; + this._backgroundActor = this._dash._background; + this._dockActor = dock; + this._dock = dock; + this._panel = Main.panel; + this._position = Utils.getPosition(); + + // All these properties are replaced with the ones in the .dummy-opaque and .dummy-transparent css classes + this._backgroundColor = '0,0,0'; + this._transparentAlpha = '0.2'; + this._opaqueAlpha = '1'; + this._transparentAlphaBorder = '0.1'; + this._opaqueAlphaBorder = '0.5'; + this._transparentTransition = '0ms'; + this._opaqueTransition = '0ms'; + this._base_actor_style = ""; + + this._signalsHandler = new Utils.GlobalSignalsHandler(); + this._injectionsHandler = new Utils.InjectionsHandler(); + this._trackedWindows = new Map(); + } + + enable() { + // ensure I never double-register/inject + // although it should never happen + this.disable(); + + this._base_actor_style = this._actor.get_style(); + if (this._base_actor_style == null) { + this._base_actor_style = ""; + } + + this._signalsHandler.addWithLabel('transparency', [ + global.window_group, + 'actor-added', + this._onWindowActorAdded.bind(this) + ], [ + global.window_group, + 'actor-removed', + this._onWindowActorRemoved.bind(this) + ], [ + global.window_manager, + 'switch-workspace', + this._updateSolidStyle.bind(this) + ], [ + Main.overview, + 'hiding', + this._updateSolidStyle.bind(this) + ], [ + Main.overview, + 'showing', + this._updateSolidStyle.bind(this) + ]); + + // Window signals + global.window_group.get_children().filter(function(child) { + // An irrelevant window actor ('Gnome-shell') produces an error when the signals are + // disconnected, therefore do not add signals to it. + return child instanceof Meta.WindowActor && + child.get_meta_window().get_wm_class() !== 'Gnome-shell'; + }).forEach(function(win) { + this._onWindowActorAdded(null, win); + }, this); + + if (this._actor.get_stage()) + this._updateSolidStyle(); + + this._updateStyles(); + this._updateSolidStyle(); + + this.emit('transparency-enabled'); + } + + disable() { + // ensure I never double-register/inject + // although it should never happen + this._signalsHandler.removeWithLabel('transparency'); + + for (let key of this._trackedWindows.keys()) + this._trackedWindows.get(key).forEach(id => { + key.disconnect(id); + }); + this._trackedWindows.clear(); + + this.emit('transparency-disabled'); + } + + destroy() { + this.disable(); + this._signalsHandler.destroy(); + this._injectionsHandler.destroy(); + } + + _onWindowActorAdded(container, metaWindowActor) { + let signalIds = []; + ['notify::allocation', 'notify::visible'].forEach(s => { + signalIds.push(metaWindowActor.connect(s, this._updateSolidStyle.bind(this))); + }); + this._trackedWindows.set(metaWindowActor, signalIds); + } + + _onWindowActorRemoved(container, metaWindowActor) { + if (!this._trackedWindows.get(metaWindowActor)) + return; + + this._trackedWindows.get(metaWindowActor).forEach(id => { + metaWindowActor.disconnect(id); + }); + this._trackedWindows.delete(metaWindowActor); + this._updateSolidStyle(); + } + + _updateSolidStyle() { + let isNear = this._dockIsNear(); + if (isNear) { + this._backgroundActor.set_style(this._opaque_style); + this._dockActor.remove_style_class_name('transparent'); + this._dockActor.add_style_class_name('opaque'); + } + else { + this._backgroundActor.set_style(this._transparent_style); + this._dockActor.remove_style_class_name('opaque'); + this._dockActor.add_style_class_name('transparent'); + } + + this.emit('solid-style-updated', isNear); + } + + _dockIsNear() { + if (this._dockActor.has_style_pseudo_class('overview')) + return false; + /* Get all the windows in the active workspace that are in the primary monitor and visible */ + let activeWorkspace = global.workspace_manager.get_active_workspace(); + let dash = this._dash; + let windows = activeWorkspace.list_windows().filter(function(metaWindow) { + return metaWindow.get_monitor() === dash._monitorIndex && + metaWindow.showing_on_its_workspace() && + metaWindow.get_window_type() != Meta.WindowType.DESKTOP; + }); + + /* Check if at least one window is near enough to the panel. + * If the dock is hidden, we need to account for the space it would take + * up when it slides out. This is avoid an ugly transition. + * */ + let factor = 0; + if (!Docking.DockManager.settings.get_boolean('dock-fixed') && + this._dock.getDockState() == Docking.State.HIDDEN) + factor = 1; + let [leftCoord, topCoord] = this._actor.get_transformed_position(); + let threshold; + if (this._position === St.Side.LEFT) + threshold = leftCoord + this._actor.get_width() * (factor + 1); + else if (this._position === St.Side.RIGHT) + threshold = leftCoord - this._actor.get_width() * factor; + else if (this._position === St.Side.TOP) + threshold = topCoord + this._actor.get_height() * (factor + 1); + else + threshold = topCoord - this._actor.get_height() * factor; + + let scale = St.ThemeContext.get_for_stage(global.stage).scale_factor; + let isNearEnough = windows.some((metaWindow) => { + let coord; + if (this._position === St.Side.LEFT) { + coord = metaWindow.get_frame_rect().x; + return coord < threshold + 5 * scale; + } + else if (this._position === St.Side.RIGHT) { + coord = metaWindow.get_frame_rect().x + metaWindow.get_frame_rect().width; + return coord > threshold - 5 * scale; + } + else if (this._position === St.Side.TOP) { + coord = metaWindow.get_frame_rect().y; + return coord < threshold + 5 * scale; + } + else { + coord = metaWindow.get_frame_rect().y + metaWindow.get_frame_rect().height; + return coord > threshold - 5 * scale; + } + }); + + return isNearEnough; + } + + _updateStyles() { + this._getAlphas(); + + this._transparent_style = this._base_actor_style + + 'background-color: rgba(' + + this._backgroundColor + ', ' + this._transparentAlpha + ');' + + 'border-color: rgba(' + + this._backgroundColor + ', ' + this._transparentAlphaBorder + ');' + + 'transition-duration: ' + this._transparentTransition + 'ms;'; + + this._opaque_style = this._base_actor_style + + 'background-color: rgba(' + + this._backgroundColor + ', ' + this._opaqueAlpha + ');' + + 'border-color: rgba(' + + this._backgroundColor + ',' + this._opaqueAlphaBorder + ');' + + 'transition-duration: ' + this._opaqueTransition + 'ms;'; + + this.emit('styles-updated'); + } + + setColor(color) { + this._backgroundColor = color.red + ',' + color.green + ',' + color.blue; + this._updateStyles(); + } + + _getAlphas() { + // Create dummy object and add to the uiGroup to get it to the stage + let dummyObject = new St.Bin({ + name: 'dashtodockContainer', + }); + Main.uiGroup.add_child(dummyObject); + + dummyObject.add_style_class_name('dummy-opaque'); + let themeNode = dummyObject.get_theme_node(); + this._opaqueAlpha = themeNode.get_background_color().alpha / 255; + this._opaqueAlphaBorder = themeNode.get_border_color(0).alpha / 255; + this._opaqueTransition = themeNode.get_transition_duration(); + + dummyObject.add_style_class_name('dummy-transparent'); + themeNode = dummyObject.get_theme_node(); + this._transparentAlpha = themeNode.get_background_color().alpha / 255; + this._transparentAlphaBorder = themeNode.get_border_color(0).alpha / 255; + this._transparentTransition = themeNode.get_transition_duration(); + + Main.uiGroup.remove_child(dummyObject); + + let settings = Docking.DockManager.settings; + + if (settings.get_boolean('customize-alphas')) { + this._opaqueAlpha = settings.get_double('max-alpha'); + this._opaqueAlphaBorder = this._opaqueAlpha / 2; + this._transparentAlpha = settings.get_double('min-alpha'); + this._transparentAlphaBorder = this._transparentAlpha / 2; + } + } +}; +Signals.addSignalMethods(Transparency.prototype); diff --git a/extensions/dash-to-dock/utils.js b/extensions/dash-to-dock/utils.js new file mode 100644 index 00000000..3dd8029c --- /dev/null +++ b/extensions/dash-to-dock/utils.js @@ -0,0 +1,308 @@ +const Clutter = imports.gi.Clutter; +const Meta = imports.gi.Meta; +const St = imports.gi.St; + +const Me = imports.misc.extensionUtils.getCurrentExtension(); +const Docking = Me.imports.docking; + +var SignalsHandlerFlags = { + NONE: 0, + CONNECT_AFTER: 1 +}; + +/** + * Simplify global signals and function injections handling + * abstract class + */ +const BasicHandler = class DashToDock_BasicHandler { + + constructor() { + this._storage = new Object(); + } + + add(/* unlimited 3-long array arguments */) { + // Convert arguments object to array, concatenate with generic + // Call addWithLabel with ags as if they were passed arguments + this.addWithLabel('generic', ...arguments); + } + + destroy() { + for( let label in this._storage ) + this.removeWithLabel(label); + } + + addWithLabel(label /* plus unlimited 3-long array arguments*/) { + if (this._storage[label] == undefined) + this._storage[label] = new Array(); + + // Skip first element of the arguments + for (let i = 1; i < arguments.length; i++) { + let item = this._storage[label]; + try { + item.push(this._create(arguments[i])); + } catch (e) { + logError(e); + } + } + } + + removeWithLabel(label) { + if (this._storage[label]) { + for (let i = 0; i < this._storage[label].length; i++) + this._remove(this._storage[label][i]); + + delete this._storage[label]; + } + } + + // Virtual methods to be implemented by subclass + + /** + * Create single element to be stored in the storage structure + */ + _create(item) { + throw new GObject.NotImplementedError(`_create in ${this.constructor.name}`); + } + + /** + * Correctly delete single element + */ + _remove(item) { + throw new GObject.NotImplementedError(`_remove in ${this.constructor.name}`); + } +}; + +/** + * Manage global signals + */ +var GlobalSignalsHandler = class DashToDock_GlobalSignalHandler extends BasicHandler { + + _create(item) { + let object = item[0]; + let event = item[1]; + let callback = item[2] + let flags = item.length > 3 ? item[3] : SignalsHandlerFlags.NONE; + + if (!object) + throw new Error('Impossible to connect to an invalid object'); + + let after = flags == SignalsHandlerFlags.CONNECT_AFTER; + let connector = after ? object.connect_after : object.connect; + + if (!connector) { + throw new Error(`Requested to connect to signal '${event}', ` + + `but no implementation for 'connect${after ? '_after' : ''}' `+ + `found in ${object.constructor.name}`); + } + + let id = connector.call(object, event, callback); + + return [object, id]; + } + + _remove(item) { + item[0].disconnect(item[1]); + } +}; + +/** + * Color manipulation utilities + */ +var ColorUtils = class DashToDock_ColorUtils { + + // Darken or brigthen color by a fraction dlum + // Each rgb value is modified by the same fraction. + // Return "#rrggbb" string + static ColorLuminance(r, g, b, dlum) { + let rgbString = '#'; + + rgbString += ColorUtils._decimalToHex(Math.round(Math.min(Math.max(r*(1+dlum), 0), 255)), 2); + rgbString += ColorUtils._decimalToHex(Math.round(Math.min(Math.max(g*(1+dlum), 0), 255)), 2); + rgbString += ColorUtils._decimalToHex(Math.round(Math.min(Math.max(b*(1+dlum), 0), 255)), 2); + + return rgbString; + } + + // Convert decimal to an hexadecimal string adding the desired padding + static _decimalToHex(d, padding) { + let hex = d.toString(16); + while (hex.length < padding) + hex = '0'+ hex; + return hex; + } + + // Convert hsv ([0-1, 0-1, 0-1]) to rgb ([0-255, 0-255, 0-255]). + // Following algorithm in https://en.wikipedia.org/wiki/HSL_and_HSV + // here with h = [0,1] instead of [0, 360] + // Accept either (h,s,v) independently or {h:h, s:s, v:v} object. + // Return {r:r, g:g, b:b} object. + static HSVtoRGB(h, s, v) { + if (arguments.length === 1) { + s = h.s; + v = h.v; + h = h.h; + } + + let r,g,b; + let c = v*s; + let h1 = h*6; + let x = c*(1 - Math.abs(h1 % 2 - 1)); + let m = v - c; + + if (h1 <=1) + r = c + m, g = x + m, b = m; + else if (h1 <=2) + r = x + m, g = c + m, b = m; + else if (h1 <=3) + r = m, g = c + m, b = x + m; + else if (h1 <=4) + r = m, g = x + m, b = c + m; + else if (h1 <=5) + r = x + m, g = m, b = c + m; + else + r = c + m, g = m, b = x + m; + + return { + r: Math.round(r * 255), + g: Math.round(g * 255), + b: Math.round(b * 255) + }; + } + + // Convert rgb ([0-255, 0-255, 0-255]) to hsv ([0-1, 0-1, 0-1]). + // Following algorithm in https://en.wikipedia.org/wiki/HSL_and_HSV + // here with h = [0,1] instead of [0, 360] + // Accept either (r,g,b) independently or {r:r, g:g, b:b} object. + // Return {h:h, s:s, v:v} object. + static RGBtoHSV(r, g, b) { + if (arguments.length === 1) { + r = r.r; + g = r.g; + b = r.b; + } + + let h,s,v; + + let M = Math.max(r, g, b); + let m = Math.min(r, g, b); + let c = M - m; + + if (c == 0) + h = 0; + else if (M == r) + h = ((g-b)/c) % 6; + else if (M == g) + h = (b-r)/c + 2; + else + h = (r-g)/c + 4; + + h = h/6; + v = M/255; + if (M !== 0) + s = c/M; + else + s = 0; + + return { + h: h, + s: s, + v: v + }; + } +}; + +/** + * Manage function injection: both instances and prototype can be overridden + * and restored + */ +var InjectionsHandler = class DashToDock_InjectionsHandler extends BasicHandler { + + _create(item) { + let object = item[0]; + let name = item[1]; + let injectedFunction = item[2]; + let original = object[name]; + + object[name] = injectedFunction; + return [object, name, injectedFunction, original]; + } + + _remove(item) { + let object = item[0]; + let name = item[1]; + let original = item[3]; + object[name] = original; + } +}; + +/** + * Return the actual position reverseing left and right in rtl + */ +function getPosition() { + let position = Docking.DockManager.settings.get_enum('dock-position'); + if (Clutter.get_default_text_direction() == Clutter.TextDirection.RTL) { + if (position == St.Side.LEFT) + position = St.Side.RIGHT; + else if (position == St.Side.RIGHT) + position = St.Side.LEFT; + } + return position; +} + +function drawRoundedLine(cr, x, y, width, height, isRoundLeft, isRoundRight, stroke, fill) { + if (height > width) { + y += Math.floor((height - width) / 2.0); + height = width; + } + + height = 2.0 * Math.floor(height / 2.0); + + var leftRadius = isRoundLeft ? height / 2.0 : 0.0; + var rightRadius = isRoundRight ? height / 2.0 : 0.0; + + cr.moveTo(x + width - rightRadius, y); + cr.lineTo(x + leftRadius, y); + if (isRoundLeft) + cr.arcNegative(x + leftRadius, y + leftRadius, leftRadius, -Math.PI/2, Math.PI/2); + else + cr.lineTo(x, y + height); + cr.lineTo(x + width - rightRadius, y + height); + if (isRoundRight) + cr.arcNegative(x + width - rightRadius, y + rightRadius, rightRadius, Math.PI/2, -Math.PI/2); + else + cr.lineTo(x + width, y); + cr.closePath(); + + if (fill != null) { + cr.setSource(fill); + cr.fillPreserve(); + } + if (stroke != null) + cr.setSource(stroke); + cr.stroke(); +} + +/** + * Convert a signal handler with n value parameters (that is, excluding the + * signal source parameter) to an array of n handlers that are each responsible + * for receiving one of the n values and calling the original handler with the + * most up-to-date arguments. + */ +function splitHandler(handler) { + if (handler.length > 30) { + throw new Error("too many parameters"); + } + const count = handler.length - 1; + let missingValueBits = (1 << count) - 1; + const values = Array.from({ length: count }); + return values.map((_ignored, i) => { + const mask = ~(1 << i); + return (obj, value) => { + values[i] = value; + missingValueBits &= mask; + if (missingValueBits === 0) { + handler(obj, ...values); + } + }; + }); +} diff --git a/extensions/dash-to-dock/windowPreview.js b/extensions/dash-to-dock/windowPreview.js new file mode 100644 index 00000000..8cb14b88 --- /dev/null +++ b/extensions/dash-to-dock/windowPreview.js @@ -0,0 +1,598 @@ +/* + * Credits: + * This file is based on code from the Dash to Panel extension by Jason DeRose + * and code from the Taskbar extension by Zorin OS + * Some code was also adapted from the upstream Gnome Shell source code. + */ +const Clutter = imports.gi.Clutter; +const GLib = imports.gi.GLib; +const GObject = imports.gi.GObject; +const St = imports.gi.St; +const Main = imports.ui.main; + +const Params = imports.misc.params; +const PopupMenu = imports.ui.popupMenu; +const Workspace = imports.ui.workspace; + +const Me = imports.misc.extensionUtils.getCurrentExtension(); +const Utils = Me.imports.utils; + +const PREVIEW_MAX_WIDTH = 250; +const PREVIEW_MAX_HEIGHT = 150; + +const PREVIEW_ANIMATION_DURATION = 250; + +var WindowPreviewMenu = class DashToDock_WindowPreviewMenu extends PopupMenu.PopupMenu { + + constructor(source) { + let side = Utils.getPosition(); + super(source, 0.5, side); + + // We want to keep the item hovered while the menu is up + this.blockSourceEvents = true; + + this._source = source; + this._app = this._source.app; + let monitorIndex = this._source.monitorIndex; + + this.actor.add_style_class_name('app-well-menu'); + this.actor.set_style('max-width: ' + (Main.layoutManager.monitors[monitorIndex].width - 22) + 'px; ' + + 'max-height: ' + (Main.layoutManager.monitors[monitorIndex].height - 22) + 'px;'); + this.actor.hide(); + + // Chain our visibility and lifecycle to that of the source + this._mappedId = this._source.connect('notify::mapped', () => { + if (!this._source.mapped) + this.close(); + }); + this._destroyId = this._source.connect('destroy', this.destroy.bind(this)); + + Main.uiGroup.add_actor(this.actor); + + // Change the initialized side where required. + this._arrowSide = side; + this._boxPointer._arrowSide = side; + this._boxPointer._userArrowSide = side; + + this.connect('destroy', this._onDestroy.bind(this)); + } + + _redisplay() { + if (this._previewBox) + this._previewBox.destroy(); + this._previewBox = new WindowPreviewList(this._source); + this.addMenuItem(this._previewBox); + this._previewBox._redisplay(); + } + + popup() { + let windows = this._source.getInterestingWindows(); + if (windows.length > 0) { + this._redisplay(); + this.open(); + this.actor.navigate_focus(null, St.DirectionType.TAB_FORWARD, false); + this._source.emit('sync-tooltip'); + } + } + + _onDestroy() { + if (this._mappedId) + this._source.disconnect(this._mappedId); + + if (this._destroyId) + this._source.disconnect(this._destroyId); + } +}; + +var WindowPreviewList = class DashToDock_WindowPreviewList extends PopupMenu.PopupMenuSection { + + constructor(source) { + super(); + this.actor = new St.ScrollView({ + name: 'dashtodockWindowScrollview', + hscrollbar_policy: St.PolicyType.NEVER, + vscrollbar_policy: St.PolicyType.NEVER, + enable_mouse_scrolling: true + }); + + this.actor.connect('scroll-event', this._onScrollEvent.bind(this)); + + let position = Utils.getPosition(); + this.isHorizontal = position == St.Side.BOTTOM || position == St.Side.TOP; + this.box.set_vertical(!this.isHorizontal); + this.box.set_name('dashtodockWindowList'); + this.actor.add_actor(this.box); + this.actor._delegate = this; + + this._shownInitially = false; + + this._source = source; + this.app = source.app; + + this._redisplayId = Main.initializeDeferredWork(this.actor, this._redisplay.bind(this)); + + this.actor.connect('destroy', this._onDestroy.bind(this)); + this._stateChangedId = this.app.connect('windows-changed', + this._queueRedisplay.bind(this)); + } + + _queueRedisplay () { + Main.queueDeferredWork(this._redisplayId); + } + + _onScrollEvent(actor, event) { + // Event coordinates are relative to the stage but can be transformed + // as the actor will only receive events within his bounds. + let stage_x, stage_y, ok, event_x, event_y, actor_w, actor_h; + [stage_x, stage_y] = event.get_coords(); + [ok, event_x, event_y] = actor.transform_stage_point(stage_x, stage_y); + [actor_w, actor_h] = actor.get_size(); + + // If the scroll event is within a 1px margin from + // the relevant edge of the actor, let the event propagate. + if (event_y >= actor_h - 2) + return Clutter.EVENT_PROPAGATE; + + // Skip to avoid double events mouse + if (event.is_pointer_emulated()) + return Clutter.EVENT_STOP; + + let adjustment, delta; + + if (this.isHorizontal) + adjustment = this.actor.get_hscroll_bar().get_adjustment(); + else + adjustment = this.actor.get_vscroll_bar().get_adjustment(); + + let increment = adjustment.step_increment; + + switch ( event.get_scroll_direction() ) { + case Clutter.ScrollDirection.UP: + delta = -increment; + break; + case Clutter.ScrollDirection.DOWN: + delta = +increment; + break; + case Clutter.ScrollDirection.SMOOTH: + let [dx, dy] = event.get_scroll_delta(); + delta = dy*increment; + delta += dx*increment; + break; + + } + + adjustment.set_value(adjustment.get_value() + delta); + + return Clutter.EVENT_STOP; + } + + _onDestroy() { + this.app.disconnect(this._stateChangedId); + this._stateChangedId = 0; + } + + _createPreviewItem(window) { + let preview = new WindowPreviewMenuItem(window); + return preview; + } + + _redisplay () { + let children = this._getMenuItems().filter(function(actor) { + return actor._window; + }); + + // Windows currently on the menu + let oldWin = children.map(function(actor) { + return actor._window; + }); + + // All app windows with a static order + let newWin = this._source.getInterestingWindows().sort(function(a, b) { + return a.get_stable_sequence() > b.get_stable_sequence(); + }); + + let addedItems = []; + let removedActors = []; + + let newIndex = 0; + let oldIndex = 0; + + while (newIndex < newWin.length || oldIndex < oldWin.length) { + // No change at oldIndex/newIndex + if (oldWin[oldIndex] && + oldWin[oldIndex] == newWin[newIndex]) { + oldIndex++; + newIndex++; + continue; + } + + // Window removed at oldIndex + if (oldWin[oldIndex] && + newWin.indexOf(oldWin[oldIndex]) == -1) { + removedActors.push(children[oldIndex]); + oldIndex++; + continue; + } + + // Window added at newIndex + if (newWin[newIndex] && + oldWin.indexOf(newWin[newIndex]) == -1) { + addedItems.push({ item: this._createPreviewItem(newWin[newIndex]), + pos: newIndex }); + newIndex++; + continue; + } + + // Window moved + let insertHere = newWin[newIndex + 1] && + newWin[newIndex + 1] == oldWin[oldIndex]; + let alreadyRemoved = removedActors.reduce(function(result, actor) { + let removedWin = actor._window; + return result || removedWin == newWin[newIndex]; + }, false); + + if (insertHere || alreadyRemoved) { + addedItems.push({ item: this._createPreviewItem(newWin[newIndex]), + pos: newIndex + removedActors.length }); + newIndex++; + } else { + removedActors.push(children[oldIndex]); + oldIndex++; + } + } + + for (let i = 0; i < addedItems.length; i++) + this.addMenuItem(addedItems[i].item, + addedItems[i].pos); + + for (let i = 0; i < removedActors.length; i++) { + let item = removedActors[i]; + if (this._shownInitially) + item._animateOutAndDestroy(); + else + item.actor.destroy(); + } + + // Skip animations on first run when adding the initial set + // of items, to avoid all items zooming in at once + let animate = this._shownInitially; + + if (!this._shownInitially) + this._shownInitially = true; + + for (let i = 0; i < addedItems.length; i++) + addedItems[i].item.show(animate); + + // Workaround for https://bugzilla.gnome.org/show_bug.cgi?id=692744 + // Without it, StBoxLayout may use a stale size cache + this.box.queue_relayout(); + + if (newWin.length < 1) + this._getTopMenu().close(~0); + + // As for upstream: + // St.ScrollView always requests space horizontally for a possible vertical + // scrollbar if in AUTOMATIC mode. Doing better would require implementation + // of width-for-height in St.BoxLayout and St.ScrollView. This looks bad + // when we *don't* need it, so turn off the scrollbar when that's true. + // Dynamic changes in whether we need it aren't handled properly. + let needsScrollbar = this._needsScrollbar(); + let scrollbar_policy = needsScrollbar ? + St.PolicyType.AUTOMATIC : St.PolicyType.NEVER; + if (this.isHorizontal) + this.actor.hscrollbar_policy = scrollbar_policy; + else + this.actor.vscrollbar_policy = scrollbar_policy; + + if (needsScrollbar) + this.actor.add_style_pseudo_class('scrolled'); + else + this.actor.remove_style_pseudo_class('scrolled'); + } + + _needsScrollbar() { + let topMenu = this._getTopMenu(); + let topThemeNode = topMenu.actor.get_theme_node(); + if (this.isHorizontal) { + let [topMinWidth, topNaturalWidth] = topMenu.actor.get_preferred_width(-1); + let topMaxWidth = topThemeNode.get_max_width(); + return topMaxWidth >= 0 && topNaturalWidth >= topMaxWidth; + } else { + let [topMinHeight, topNaturalHeight] = topMenu.actor.get_preferred_height(-1); + let topMaxHeight = topThemeNode.get_max_height(); + return topMaxHeight >= 0 && topNaturalHeight >= topMaxHeight; + } + + } + + isAnimatingOut() { + return this.actor.get_children().reduce(function(result, actor) { + return result || actor.animatingOut; + }, false); + } +}; + +var WindowPreviewMenuItem = GObject.registerClass( +class DashToDock_WindowPreviewMenuItem extends PopupMenu.PopupBaseMenuItem { + _init(window, params) { + super._init(params); + + this._window = window; + this._destroyId = 0; + this._windowAddedId = 0; + [this._width, this._height, this._scale] = this._getWindowPreviewSize(); // This gets the actual windows size for the preview + + // We don't want this: it adds spacing on the left of the item. + this.remove_child(this._ornamentLabel); + this.add_style_class_name('dashtodock-app-well-preview-menu-item'); + + // Now we don't have to set PREVIEW_MAX_WIDTH and PREVIEW_MAX_HEIGHT as preview size - that made all kinds of windows either stretched or squished (aspect ratio problem) + this._cloneBin = new St.Bin(); + this._cloneBin.set_size(this._width*this._scale, this._height*this._scale); + + // TODO: improve the way the closebutton is layout. Just use some padding + // for the moment. + this._cloneBin.set_style('padding-bottom: 0.5em'); + + this.closeButton = new St.Button({ style_class: 'window-close', + x_expand: true, + y_expand: true}); + this.closeButton.add_actor(new St.Icon({ icon_name: 'window-close-symbolic' })); + this.closeButton.set_x_align(Clutter.ActorAlign.END); + this.closeButton.set_y_align(Clutter.ActorAlign.START); + + + this.closeButton.opacity = 0; + this.closeButton.connect('clicked', this._closeWindow.bind(this)); + + let overlayGroup = new Clutter.Actor({layout_manager: new Clutter.BinLayout(), y_expand: true }); + + overlayGroup.add_actor(this._cloneBin); + overlayGroup.add_actor(this.closeButton); + + let label = new St.Label({ text: window.get_title()}); + label.set_style('max-width: '+PREVIEW_MAX_WIDTH +'px'); + let labelBin = new St.Bin({ child: label, + x_align: Clutter.ActorAlign.CENTER, + }); + + this._windowTitleId = this._window.connect('notify::title', () => { + label.set_text(this._window.get_title()); + }); + + let box = new St.BoxLayout({ vertical: true, + reactive:true, + x_expand:true }); + box.add(overlayGroup); + box.add(labelBin); + this.add_actor(box); + + this._cloneTexture(window); + + this.connect('destroy', this._onDestroy.bind(this)); + } + + _getWindowPreviewSize() { + let mutterWindow = this._window.get_compositor_private(); + let [width, height] = mutterWindow.get_size(); + let scale = Math.min(1.0, PREVIEW_MAX_WIDTH/width, PREVIEW_MAX_HEIGHT/height); + return [width, height, scale]; + } + + _cloneTexture(metaWin){ + + let mutterWindow = metaWin.get_compositor_private(); + + // Newly-created windows are added to a workspace before + // the compositor finds out about them... + // Moreover sometimes they return an empty texture, thus as a workarounf also check for it size + if (!mutterWindow || !mutterWindow.get_texture() || !mutterWindow.get_size()[0]) { + this._cloneTextureId = GLib.idle_add(GLib.PRIORITY_DEFAULT, () => { + // Check if there's still a point in getting the texture, + // otherwise this could go on indefinitely + if (metaWin.get_workspace()) + this._cloneTexture(metaWin); + this._cloneTextureId = 0; + return GLib.SOURCE_REMOVE; + }); + GLib.Source.set_name_by_id(this._cloneTextureId, '[dash-to-dock] this._cloneTexture'); + return; + } + + let clone = new Clutter.Clone ({ source: mutterWindow, + reactive: true, + width: this._width * this._scale, + height: this._height * this._scale }); + + // when the source actor is destroyed, i.e. the window closed, first destroy the clone + // and then destroy the menu item (do this animating out) + this._destroyId = mutterWindow.connect('destroy', () => { + clone.destroy(); + this._destroyId = 0; // avoid to try to disconnect this signal from mutterWindow in _onDestroy(), + // as the object was just destroyed + this._animateOutAndDestroy(); + }); + + this._clone = clone; + this._mutterWindow = mutterWindow; + this._cloneBin.set_child(this._clone); + + this._clone.connect('destroy', () => { + if (this._destroyId) { + mutterWindow.disconnect(this._destroyId); + this._destroyId = 0; + } + this._clone = null; + }) + } + + _windowCanClose() { + return this._window.can_close() && + !this._hasAttachedDialogs(); + } + + _closeWindow(actor) { + this._workspace = this._window.get_workspace(); + + // This mechanism is copied from the workspace.js upstream code + // It forces window activation if the windows don't get closed, + // for instance because asking user confirmation, by monitoring the opening of + // such additional confirmation window + this._windowAddedId = this._workspace.connect('window-added', + this._onWindowAdded.bind(this)); + + this.deleteAllWindows(); + } + + deleteAllWindows() { + // Delete all windows, starting from the bottom-most (most-modal) one + //let windows = this._window.get_compositor_private().get_children(); + let windows = this._clone.get_children(); + for (let i = windows.length - 1; i >= 1; i--) { + let realWindow = windows[i].source; + let metaWindow = realWindow.meta_window; + + metaWindow.delete(global.get_current_time()); + } + + this._window.delete(global.get_current_time()); + } + + _onWindowAdded(workspace, win) { + let metaWindow = this._window; + + if (win.get_transient_for() == metaWindow) { + workspace.disconnect(this._windowAddedId); + this._windowAddedId = 0; + + // use an idle handler to avoid mapping problems - + // see comment in Workspace._windowAdded + let activationEvent = Clutter.get_current_event(); + let id = GLib.idle_add(GLib.PRIORITY_DEFAULT, () => { + this.emit('activate', activationEvent); + return GLib.SOURCE_REMOVE; + }); + GLib.Source.set_name_by_id(id, '[dash-to-dock] this.emit'); + } + } + + _hasAttachedDialogs() { + // count trasient windows + let n=0; + this._window.foreach_transient(function(){n++;}); + return n>0; + } + + vfunc_key_focus_in() { + super.vfunc_key_focus_in(); + this._showCloseButton(); + } + + vfunc_key_focus_out() { + super.vfunc_key_focus_out(); + this._hideCloseButton(); + } + + vfunc_enter_event(crossingEvent) { + this._showCloseButton(); + return super.vfunc_enter_event(crossingEvent); + } + + vfunc_leave_event(crossingEvent) { + this._hideCloseButton(); + return super.vfunc_leave_event(crossingEvent); + } + + _idleToggleCloseButton() { + this._idleToggleCloseId = 0; + + this._hideCloseButton(); + + return GLib.SOURCE_REMOVE; + } + + _showCloseButton() { + + if (this._windowCanClose()) { + this.closeButton.show(); + this.closeButton.remove_all_transitions(); + this.closeButton.ease({ + opacity: 255, + duration: Workspace.WINDOW_OVERLAY_FADE_TIME, + mode: Clutter.AnimationMode.EASE_OUT_QUAD + }); + } + } + + _hideCloseButton() { + if (this.closeButton.has_pointer || + this.get_children().some(a => a.has_pointer)) + return; + + this.closeButton.remove_all_transitions(); + this.closeButton.ease({ + opacity: 0, + duration: Workspace.WINDOW_OVERLAY_FADE_TIME, + mode: Clutter.AnimationMode.EASE_IN_QUAD + }); + } + + show(animate) { + let fullWidth = this.get_width(); + + this.opacity = 0; + this.set_width(0); + + let time = animate ? PREVIEW_ANIMATION_DURATION : 0; + this.remove_all_transitions(); + this.ease({ + opacity: 255, + width: fullWidth, + duration: time, + mode: Clutter.AnimationMode.EASE_IN_OUT_QUAD, + }); + } + + _animateOutAndDestroy() { + this.remove_all_transitions(); + this.ease({ + opacity: 0, + duration: PREVIEW_ANIMATION_DURATION, + }); + + this.ease({ + width: 0, + height: 0, + duration: PREVIEW_ANIMATION_DURATION, + delay: PREVIEW_ANIMATION_DURATION, + onComplete: () => this.destroy() + }); + } + + activate() { + this._getTopMenu().close(); + Main.activateWindow(this._window); + } + + _onDestroy() { + if (this._cloneTextureId) { + GLib.source_remove(this._cloneTextureId); + this._cloneTextureId = 0; + } + + if (this._windowAddedId > 0) { + this._workspace.disconnect(this._windowAddedId); + this._windowAddedId = 0; + } + + if (this._destroyId > 0) { + this._mutterWindow.disconnect(this._destroyId); + this._destroyId = 0; + } + + if (this._windowTitleId > 0) { + this._window.disconnect(this._windowTitleId); + this._windowTitleId = 0; + } + } +}); \ No newline at end of file diff --git a/meson.build b/meson.build index f754767c..e3d94918 100644 --- a/meson.build +++ b/meson.build @@ -44,6 +44,7 @@ default_extensions += [ all_extensions = default_extensions all_extensions += [ 'auto-move-windows', + 'dash-to-dock', 'native-window-placement', 'top-icons', 'user-theme' diff --git a/po/ar.po b/po/ar.po index fe3ad350..5a21c94a 100644 --- a/po/ar.po +++ b/po/ar.po @@ -1,9 +1,18 @@ +# #-#-#-#-# ar.po (PACKAGE VERSION) #-#-#-#-# # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. # Khaled Hosny , 2012, 2013, 2015, 2017. +# #-#-#-#-# ar.po (Dash to Dock) #-#-#-#-# +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. +# FIRST AUTHOR , YEAR. +# +#, fuzzy msgid "" msgstr "" +"#-#-#-#-# ar.po (PACKAGE VERSION) #-#-#-#-#\n" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug.cgi?product=gnome-" "shell&keywords=I18N+L10N&component=extensions\n" @@ -19,6 +28,21 @@ msgstr "" "&& n%100<=10 ? 3 : n%100>=11 ? 4 : 5;\n" "X-Generator: Virtaal 1.0.0-beta1\n" "X-Project-Style: gnome\n" +"#-#-#-#-# ar.po (Dash to Dock) #-#-#-#-#\n" +"Project-Id-Version: Dash to Dock\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-06-04 12:35+0100\n" +"PO-Revision-Date: 2015-04-18 18:01+0100\n" +"Last-Translator: Jean-Baptiste Le Cz \n" +"Language-Team: Faissal Chamekh \n" +"Language: ar_DZ\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=6; plural=(n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n%100>=3 " +"&& n%100<=10 ? 3 : n%100>=11 && n%100<=99 ? 4 : 5);\n" +"X-Generator: Poedit 1.7.5\n" +"X-Poedit-SourceCharset: UTF-8\n" #: data/gnome-classic.desktop.in:3 data/gnome-classic.session.desktop.in:3 msgid "GNOME Classic" @@ -237,7 +261,7 @@ msgstr "أغلق" msgid "Unminimize" msgstr "ألغِ التصغير" -#: extensions/window-list/extension.js:130 +#: extensions/window-list/extension.js:130 Settings.ui.h:50 msgid "Minimize" msgstr "صغّر" @@ -334,6 +358,430 @@ msgstr "الاسم" msgid "Workspace %d" msgstr "مساحة العمل %Id" +#: prefs.js:155 Settings.ui.h:26 +msgid "Left" +msgstr "يسار" + +#: prefs.js:154 Settings.ui.h:29 +msgid "Right" +msgstr "يمين" + +#: prefs.js:113 +msgid "Primary monitor" +msgstr "الشاشة الرئيسية" + +#: prefs.js:122 prefs.js:129 +msgid "Secondary monitor " +msgstr "الشاشة الثانوية" + +#: prefs.js:205 +msgid "Intelligent autohide customization" +msgstr "تخصيص الإخفاء التلقائي" + +#: prefs.js:212 prefs.js:393 prefs.js:450 +msgid "Reset to defaults" +msgstr "العودة للافتراضي" + +#: prefs.js:386 +#, fuzzy +msgid "Show dock and application numbers" +msgstr "أظهر التطبيقات قيد التشغيل" + +#: prefs.js:443 +#, fuzzy +msgid "Customize middle-click behavior" +msgstr "خصّص الإعتام" + +#: prefs.js:514 +#, fuzzy +msgid "Customize running indicators" +msgstr "أظهر التطبيقات قيد التشغيل" + +#: appIcons.js:804 +msgid "All Windows" +msgstr "جميع النوافذ" + +#: Settings.ui.h:1 +#, fuzzy +msgid "Customize indicator style" +msgstr "خصّص الإعتام" + +#: Settings.ui.h:2 +msgid "Color" +msgstr "اللون" + +#: Settings.ui.h:3 +msgid "Border color" +msgstr "لون الحواف" + +#: Settings.ui.h:4 +msgid "Border width" +msgstr "عرض الحواف" + +#: Settings.ui.h:5 +msgid "Number overlay" +msgstr "عدد التراكب" + +#: Settings.ui.h:6 +msgid "" +"Temporarily show the application numbers over the icons, corresponding to " +"the shortcut." +msgstr "عرض أرقام التطبيق مؤقتا على الرموز، المقابلةللاختصار." + +#: Settings.ui.h:7 +#, fuzzy +msgid "Show the dock if it is hidden" +msgstr "أظهر المرساة فوق" + +#: Settings.ui.h:8 +msgid "" +"If using autohide, the dock will appear for a short time when triggering the " +"shortcut." +msgstr "" +"إذا اُستخدم الإخفاء التلقائي الشريط سيظهر لوقت قصير عند الضغطعلى الإختصار." + +#: Settings.ui.h:9 +msgid "Shortcut for the options above" +msgstr "الإختصار للخيارات في الأعلى" + +#: Settings.ui.h:10 +msgid "Syntax: , , , " +msgstr "البنية: , , , " + +#: Settings.ui.h:11 +msgid "Hide timeout (s)" +msgstr "زمن الاختفاء (ثا)" + +#: Settings.ui.h:12 +msgid "" +"When set to minimize, double clicking minimizes all the windows of the " +"application." +msgstr "عند التصغير النقر المزدوج سيصغر جميع نوافذالتطبيق." + +#: Settings.ui.h:13 +msgid "Shift+Click action" +msgstr "حدث Shift+Click" + +#: Settings.ui.h:14 +#, fuzzy +msgid "Raise window" +msgstr "صغّر النافذة" + +#: Settings.ui.h:15 +msgid "Minimize window" +msgstr "صغّر النافذة" + +#: Settings.ui.h:16 +msgid "Launch new instance" +msgstr "شغّل نسخة جديدة" + +#: Settings.ui.h:17 +msgid "Cycle through windows" +msgstr "التبديل بين النوافذ" + +#: Settings.ui.h:18 +msgid "Quit" +msgstr "خروج" + +#: Settings.ui.h:19 +msgid "Behavior for Middle-Click." +msgstr "سلوك الزر المتوسط." + +#: Settings.ui.h:20 +#, fuzzy +msgid "Middle-Click action" +msgstr "حدث النقر" + +#: Settings.ui.h:21 +msgid "Behavior for Shift+Middle-Click." +msgstr "سلوك Shift+Middle-Click." + +#: Settings.ui.h:22 +#, fuzzy +msgid "Shift+Middle-Click action" +msgstr "حدث Shift+Click" + +#: Settings.ui.h:23 +msgid "Show the dock on" +msgstr "أظهر المرساة فوق" + +#: Settings.ui.h:24 +#, fuzzy +msgid "Show on all monitors." +msgstr "الشاشة الثانوية" + +#: Settings.ui.h:25 +msgid "Position on screen" +msgstr "الموضع على الشاشة" + +#: Settings.ui.h:27 +msgid "Bottom" +msgstr "أسفل" + +#: Settings.ui.h:28 +msgid "Top" +msgstr "أعلى" + +#: Settings.ui.h:30 +msgid "" +"Hide the dock when it obstructs a window of the current application. More " +"refined settings are available." +msgstr "إخفاء المرساة عندما تحجب نافذة التطبيق الحالي. تخصيصات أكثر متوفرة." + +#: Settings.ui.h:31 +msgid "Intelligent autohide" +msgstr "إخفاء تلقائي ذكي" + +#: Settings.ui.h:32 +msgid "Dock size limit" +msgstr "حدّ حجم المرساة" + +#: Settings.ui.h:33 +msgid "Panel mode: extend to the screen edge" +msgstr "نمط الشريط: تمديد إلى حواف الشاشة" + +#: Settings.ui.h:34 +msgid "Icon size limit" +msgstr "حدّ حجم الأيقونة" + +#: Settings.ui.h:35 +msgid "Fixed icon size: scroll to reveal other icons" +msgstr "حجم أيقونات ثابت: استعمل التمرير لكشف أيقونات أخرى" + +#: Settings.ui.h:36 +msgid "Position and size" +msgstr "الموضع والحجم" + +#: Settings.ui.h:37 +msgid "Show favorite applications" +msgstr "أظهر التطبيقات المفضّلة" + +#: Settings.ui.h:38 +msgid "Show running applications" +msgstr "أظهر التطبيقات قيد التشغيل" + +#: Settings.ui.h:39 +msgid "Isolate workspaces." +msgstr "عزل مساحات العمل." + +#: Settings.ui.h:40 +msgid "Show open windows previews." +msgstr "عرض معاينات النوافذ المفتوحة." + +#: Settings.ui.h:41 +msgid "" +"If disabled, these settings are accessible from gnome-tweak-tool or the " +"extension website." +msgstr "" +"إذا تم تعطيله هذه الإعدادت يمكن الوصول إليها من gnome-tweak-tool أو موقع " +"الإضافات." + +#: Settings.ui.h:42 +#, fuzzy +msgid "Show Applications icon" +msgstr "أظهر أيقونة التطبيقات أولا" + +#: Settings.ui.h:43 +msgid "Move the applications button at the beginning of the dock." +msgstr "تحريك زر التطبيقات في بداية الشريط." + +#: Settings.ui.h:44 +#, fuzzy +msgid "Animate Show Applications." +msgstr "أظهر أيقونة التطبيقات أولا" + +#: Settings.ui.h:45 +msgid "Launchers" +msgstr "المشغلات" + +#: Settings.ui.h:46 +msgid "" +"Enable Super+(0-9) as shortcuts to activate apps. It can also be used " +"together with Shift and Ctrl." +msgstr "" +"تفعيل Super+(0-9) كاختصار لتمكين التطبيقات. يمكن أيضاً استخدامها معاً مع Shift " +"و Ctrl" + +#: Settings.ui.h:47 +msgid "Use keyboard shortcuts to activate apps" +msgstr "استخدام إختصارات لوحة المفاتيح لتفعيل التطبيقات" + +#: Settings.ui.h:48 +#, fuzzy +msgid "Behaviour when clicking on the icon of a running application." +msgstr "التصرّف عن النقر على أيقونة التطبيق قيد التشغيل." + +#: Settings.ui.h:49 +msgid "Click action" +msgstr "حدث النقر" + +#: Settings.ui.h:51 +#, fuzzy +msgid "Minimize or overview" +msgstr "صغّر النافذة" + +#: Settings.ui.h:52 +#, fuzzy +msgid "Behaviour when scrolling on the icon of an application." +msgstr "التصرّف عن النقر على أيقونة التطبيق قيد التشغيل." + +#: Settings.ui.h:53 +#, fuzzy +msgid "Scroll action" +msgstr "حدث النقر" + +#: Settings.ui.h:54 +msgid "Do nothing" +msgstr "لا تفعل شيئا" + +#: Settings.ui.h:55 +#, fuzzy +msgid "Switch workspace" +msgstr "تبديل مساحة عمل واحدة في نفس الوقت" + +#: Settings.ui.h:56 +msgid "Behavior" +msgstr "السلوك" + +#: Settings.ui.h:57 +msgid "" +"Few customizations meant to integrate the dock with the default GNOME theme. " +"Alternatively, specific options can be enabled below." +msgstr "" +"القليل من التخصيصات يعني إضافة الشريط مع سِمَة غنوم. بدلاً من هذا, خيارات محددة " +"يُمكن اختيارها من الأسفل." + +#: Settings.ui.h:58 +msgid "Use built-in theme" +msgstr "استعمل السمة المضمّنة" + +#: Settings.ui.h:59 +msgid "Save space reducing padding and border radius." +msgstr "حفظ المساحة يقلل من الحشو ونصف قطر الحافة." + +#: Settings.ui.h:60 +msgid "Shrink the dash" +msgstr "تقليص المرساة" + +#: Settings.ui.h:61 +msgid "Show a dot for each windows of the application." +msgstr "أظهر نقطة لكل نوافذة من التطبيق." + +#: Settings.ui.h:62 +msgid "Show windows counter indicators" +msgstr "أظهر مؤشرات عدد النوافذ" + +#: Settings.ui.h:63 +msgid "Set the background color for the dash." +msgstr "تعيين لون الخلفية لشَرِطة" + +#: Settings.ui.h:64 +msgid "Customize the dash color" +msgstr "تخصيص لون الشَرِطة" + +#: Settings.ui.h:65 +msgid "Tune the dash background opacity." +msgstr "ضبط إعتام خلفية المرساة." + +#: Settings.ui.h:66 +msgid "Customize opacity" +msgstr "خصّص الإعتام" + +#: Settings.ui.h:67 +msgid "Opacity" +msgstr "العتمة" + +#: Settings.ui.h:68 +msgid "Force straight corner\n" +msgstr "الزاوي المستقيمة\n" + +#: Settings.ui.h:70 +msgid "Appearance" +msgstr "المظهر" + +#: Settings.ui.h:71 +msgid "version: " +msgstr "الإصدار:" + +#: Settings.ui.h:72 +msgid "Moves the dash out of the overview transforming it in a dock" +msgstr "تحريك الشريط خارج النظرة العامة في الشَرِطة" + +#: Settings.ui.h:73 +msgid "Created by" +msgstr "أنشئ من طرف" + +#: Settings.ui.h:74 +msgid "Webpage" +msgstr "صفحة الويب" + +#: Settings.ui.h:75 +msgid "" +"This program comes with ABSOLUTELY NO WARRANTY.\n" +"See the GNU General Public License, version 2 or later for details." +msgstr "" +"هذا البرنامج يأتي بدون أي ضمانات.\n" +"لمزيد من المعلومات أنظر رخصة غنو العمومية، الإصدارة 2 فما فوق." + +#: Settings.ui.h:77 +msgid "About" +msgstr "حول" + +#: Settings.ui.h:78 +msgid "Show the dock by mouse hover on the screen edge." +msgstr "أظهر المرساة بتمرير الفأرة على حافة النافذة" + +#: Settings.ui.h:79 +msgid "Autohide" +msgstr "إخفاء تلقائي" + +#: Settings.ui.h:80 +msgid "Push to show: require pressure to show the dock" +msgstr "اضغط للإظهار: يتطلب ضغطا لإظهار المرساة" + +#: Settings.ui.h:81 +msgid "Enable in fullscreen mode" +msgstr "تمكين في وضع ملئ الشاشة" + +#: Settings.ui.h:82 +msgid "Show the dock when it doesn't obstruct application windows." +msgstr "إظهار المرساة عندما لا تحجب نوافذ التطبيق." + +#: Settings.ui.h:83 +msgid "Dodge windows" +msgstr "حيلة النوافذ" + +#: Settings.ui.h:84 +msgid "All windows" +msgstr "جميع النوافذ" + +#: Settings.ui.h:85 +msgid "Only focused application's windows" +msgstr "نوافذ التطبيق المركزة فقط" + +#: Settings.ui.h:86 +#, fuzzy +msgid "Only maximized windows" +msgstr "صغّر النافذة" + +#: Settings.ui.h:87 +msgid "Animation duration (s)" +msgstr "مدة التحريك (ثا)" + +#: Settings.ui.h:88 +msgid "0.000" +msgstr "0.000" + +#: Settings.ui.h:89 +msgid "Show timeout (s)" +msgstr "زمن الظهور (ثا)" + +#: Settings.ui.h:90 +msgid "Pressure threshold" +msgstr "عتبة الضغط" + #~ msgid "GNOME Shell Classic" #~ msgstr "صدفة جنوم تقليدية" @@ -349,12 +797,6 @@ msgstr "مساحة العمل %Id" #~ msgid "Normal" #~ msgstr "عادي" -#~ msgid "Left" -#~ msgstr "يسار" - -#~ msgid "Right" -#~ msgstr "يمين" - #~ msgid "Upside-down" #~ msgstr "رأسا على عقب" @@ -463,3 +905,115 @@ msgstr "مساحة العمل %Id" #~ msgid "Removable Devices" #~ msgstr "الأجهزة المنفصلة" + +#~ msgid "Switch workspace by scrolling on the dock" +#~ msgstr "بدّل مساحة العمل عند التمرير فوق المرساة" + +#~ msgid "Main Settings" +#~ msgstr "الخصائص الأساسية" + +#~ msgid "Dock Position" +#~ msgstr "موضع المرساة" + +#~ msgid "Dock is fixed and always visible" +#~ msgstr "المرساة ثابتة وظاهرة دائما" + +#~ msgid "Show delay [ms]" +#~ msgstr "تأخير الظهور (ميلي ثانية)" + +#~ msgid "Hide delay [ms]" +#~ msgstr "تأخير الإخفاء (ميلي ثانية)" + +#~ msgid "Application based intellihide" +#~ msgstr "إخفاء تلقائي على حسب التطبيق" + +#~ msgid "Show the dock on following monitor (if attached)" +#~ msgstr "أظهر المرساة في الشاشة الحالية (إن وُصلت)" + +#~ msgid "Primary (default)" +#~ msgstr "الأساسية (الافتراضي)" + +#~ msgid "1" +#~ msgstr "1" + +#~ msgid "2" +#~ msgstr "2" + +#~ msgid "3" +#~ msgstr "3" + +#~ msgid "4" +#~ msgstr "4" + +#~ msgid "Max height" +#~ msgstr "الارتفاع الأقصى" + +#~ msgid "Expand (experimental and buggy)" +#~ msgstr "تمديد (تجريبي)" + +#~ msgid "Maximum icon size" +#~ msgstr "الحجم الأقصى للأيقونة" + +#~ msgid "16" +#~ msgstr "16" + +#~ msgid "24" +#~ msgstr "24" + +#~ msgid "32" +#~ msgstr "32" + +#~ msgid "48" +#~ msgstr "48" + +#~ msgid "64" +#~ msgstr "64" + +#~ msgid "Optional features" +#~ msgstr "ميزات إضافية" + +#~ msgid "Deadtime between each workspace switching [ms]" +#~ msgstr "الوقت بين تبديل كل مساحة عمل" + +#~ msgid "Only a 1px wide area close to the screen edge is active" +#~ msgstr "مساحة بعرض 1 بكسل فقط قريبة من حافة الشاشة هي النشطة" + +#~ msgid "All the area of the dock is active" +#~ msgstr "جميع مناطق المرساة نشطة" + +#~ msgid "Customize actions on mouse click" +#~ msgstr "خصّص حدث النقر على الفأرة" + +#~ msgid "Action on clicking on running app" +#~ msgstr "الحدث عن النقر على تطبيق قيد التشغيل" + +#~ msgid "Minimize window on shift+click (double click for all app windows)" +#~ msgstr "" +#~ "تصغير النافذة عند النقر مع shift (الضغط المزدوج بالنسبة لكل نوافذ التطبيق)" + +#~ msgid "Make message tray insensitive to mouse events" +#~ msgstr "اجعل رسالة التنبيه غير حساسة لأحداث الفأرة" + +#~ msgid "Appearence and Themes" +#~ msgstr "المظهر والسمة" + +#~ msgid "" +#~ "A customized theme is built in the extension. This is meant to work with " +#~ "the default Adwaita theme: the dash is shrunk to save space, its " +#~ "background transparency reduced, and custom indicators for the number of " +#~ "windows of each application are added." +#~ msgstr "" +#~ "تم تضمين سمة مخصّصة للإضافة، هذا يعني أنها تعمل مع السمة الافتراضية " +#~ "Adwaita: تقليص المرساة لكسب مساحة، إنقاص شفافيتها، كذلك تم إضافة مؤشرات " +#~ "لعدد نوافذ التطبيق." + +#~ msgid "" +#~ "Alternatively, for a better integration with custom themes, each " +#~ "customization can be applied indipendently" +#~ msgstr "بدلا من هذا، لتكاملية أفضل مع سمات مخصّصة، كل تخصيص يطبّق على حدة" + +#~ msgid "Shrink the dash size by reducing padding" +#~ msgstr "مساحة المرساة بإنقاص الحشو" + +#~ msgid "Only when in autohide" +#~ msgstr "فقط عند الإخفاء التلقائي" diff --git a/po/cs.po b/po/cs.po index 7d3258dc..572b3787 100644 --- a/po/cs.po +++ b/po/cs.po @@ -1,11 +1,20 @@ +# #-#-#-#-# cs.po (gnome-shell-extensions) #-#-#-#-# # Czech translation for gnome-shell-extensions. # Copyright (C) 2011 gnome-shell-extensions's COPYRIGHT HOLDER # This file is distributed under the same license as the gnome-shell-extensions package. # Petr Kovar , 2013. # Marek Černocký , 2011, 2012, 2013, 2014, 2015, 2017, 2019, 2020. # +# #-#-#-#-# cs.po (Dash to Dock) #-#-#-#-# +# Translation for cs +# Copyright (C) 2014 Michele +# This file is distributed under the same license as the dash-to-dock package. +# Jiří Doubravský , 2015. +# +#, fuzzy msgid "" msgstr "" +"#-#-#-#-# cs.po (gnome-shell-extensions) #-#-#-#-#\n" "Project-Id-Version: gnome-shell-extensions\n" "Report-Msgid-Bugs-To: https://gitlab.gnome.org/GNOME/gnome-shell-extensions/" "issues\n" @@ -19,6 +28,19 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2;\n" "X-Generator: Gtranslator 2.91.6\n" +"#-#-#-#-# cs.po (Dash to Dock) #-#-#-#-#\n" +"Project-Id-Version: Dash to Dock\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2020-05-16 13:48+0200\n" +"PO-Revision-Date: 2020-05-16 13:54+0200\n" +"Last-Translator: Daniel Rusek \n" +"Language-Team: CZECH \n" +"Language: cs\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Poedit 2.3\n" +"Plural-Forms: nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2;\n" #: data/gnome-classic.desktop.in:3 data/gnome-classic.session.desktop.in:3 msgid "GNOME Classic" @@ -151,7 +173,7 @@ msgstr "Zavřít" msgid "Unminimize" msgstr "Zrušit minimalizaci" -#: extensions/window-list/extension.js:118 +#: extensions/window-list/extension.js:118 Settings.ui.h:52 msgid "Minimize" msgstr "Minimalizovat" @@ -257,3 +279,532 @@ msgstr "Pracovní plocha %d" #: extensions/workspace-indicator/prefs.js:218 msgid "Add Workspace" msgstr "Přidat pracovní plochu" + +#: prefs.js:268 +msgid "Primary monitor" +msgstr "Hlavní obrazovka" + +#: prefs.js:277 prefs.js:284 +msgid "Secondary monitor " +msgstr "Sekundární obrazovka " + +#: prefs.js:309 Settings.ui.h:28 +msgid "Right" +msgstr "Vpravo" + +#: prefs.js:310 Settings.ui.h:25 +msgid "Left" +msgstr "Vlevo" + +#: prefs.js:360 +msgid "Intelligent autohide customization" +msgstr "Přizpůsobení chytrého skrývání" + +#: prefs.js:367 prefs.js:560 prefs.js:616 +msgid "Reset to defaults" +msgstr "Obnovit výchozí nastavení" + +#: prefs.js:553 +msgid "Show dock and application numbers" +msgstr "Zobrazování doku a čísel aplikací" + +#: prefs.js:609 +msgid "Customize middle-click behavior" +msgstr "Nastavit chování prostředního tlačítka" + +#: prefs.js:692 +msgid "Customize running indicators" +msgstr "Nastavit indikátory spuštěných aplikací" + +#: prefs.js:804 Settings.ui.h:74 +msgid "Customize opacity" +msgstr "Přizpůsobení průhlednosti" + +#: appIcons.js:797 +msgid "All Windows" +msgstr "Všechna okna" + +#: appIcons.js:916 +#, javascript-format +msgid "Quit %d Windows" +msgstr "Ukončit %d oken" + +#. Translators: %s is "Settings", which is automatically translated. You +#. can also translate the full message if this fits better your language. +#: appIcons.js:1134 +#, javascript-format +msgid "Dash to Dock %s" +msgstr "%s Dash to Docku" + +#: locations.js:65 +msgid "Trash" +msgstr "Koš" + +#: locations.js:74 +msgid "Empty Trash" +msgstr "Vyprázdnit koš" + +#: locations.js:192 +msgid "Mount" +msgstr "Připojit" + +#: locations.js:235 +msgid "Eject" +msgstr "Vysunout" + +#: locations.js:240 +msgid "Unmount" +msgstr "Odpojit" + +#: Settings.ui.h:1 +msgid "" +"When set to minimize, double clicking minimizes all the windows of the " +"application." +msgstr "" +"Pokud je nastavena minimalizace, dvojklik minimalizuje všechna okna aplikace." + +#: Settings.ui.h:2 +msgid "Shift+Click action" +msgstr "Shift + levé tlačítko" + +#: Settings.ui.h:3 +msgid "Raise window" +msgstr "Přenést okno do popředí" + +#: Settings.ui.h:4 +msgid "Minimize window" +msgstr "Minimalizovat okno" + +#: Settings.ui.h:5 +msgid "Launch new instance" +msgstr "Spustit novou instanci" + +#: Settings.ui.h:6 +msgid "Cycle through windows" +msgstr "Přepínat mezi okny" + +#: Settings.ui.h:7 +msgid "Minimize or overview" +msgstr "Minimalizovat nebo zobrazit přehled" + +#: Settings.ui.h:8 +msgid "Show window previews" +msgstr "Zobrazit náhledy oken" + +#: Settings.ui.h:9 +msgid "Minimize or show previews" +msgstr "Minimalizovat nebo zobrazit náhledy oken" + +#: Settings.ui.h:10 +msgid "Focus or show previews" +msgstr "Zaměřit nebo zobrazit náhledy oken" + +#: Settings.ui.h:11 +msgid "Quit" +msgstr "Ukončit" + +#: Settings.ui.h:12 +msgid "Behavior for Middle-Click." +msgstr "Chování při kliknutím prostředního tlačítka" + +#: Settings.ui.h:13 +msgid "Middle-Click action" +msgstr "Prostřední tlačítko" + +#: Settings.ui.h:14 +msgid "Behavior for Shift+Middle-Click." +msgstr "Chování při kliknutím prostředního tlačítka a stiknuté klávese Shift" + +#: Settings.ui.h:15 +msgid "Shift+Middle-Click action" +msgstr "Shift + prostřední tlačítko" + +#: Settings.ui.h:16 +msgid "Enable Unity7 like glossy backlit items" +msgstr "Podsvícení ikon jako v Unity 7" + +#: Settings.ui.h:17 +msgid "Use dominant color" +msgstr "Použít převládající barvu ikony" + +#: Settings.ui.h:18 +msgid "Customize indicator style" +msgstr "Vlastní styl indikátorů" + +#: Settings.ui.h:19 +msgid "Color" +msgstr "Barva" + +#: Settings.ui.h:20 +msgid "Border color" +msgstr "Barva ohraničení" + +#: Settings.ui.h:21 +msgid "Border width" +msgstr "Šířka ohraničení" + +#: Settings.ui.h:22 +msgid "Show the dock on" +msgstr "Kde zobrazit dok" + +#: Settings.ui.h:23 +msgid "Show on all monitors." +msgstr "Zobrazit na všech obrazovkách" + +#: Settings.ui.h:24 +msgid "Position on screen" +msgstr "Umístění na obrazovce" + +#: Settings.ui.h:26 +msgid "Bottom" +msgstr "Dole" + +#: Settings.ui.h:27 +msgid "Top" +msgstr "Nahoře" + +#: Settings.ui.h:29 +msgid "" +"Hide the dock when it obstructs a window of the current application. More " +"refined settings are available." +msgstr "" +"Skrýt dok, pokud překáží oknu aktivní aplikace. K dispozici jsou podrobnější " +"nastavení." + +#: Settings.ui.h:30 +msgid "Intelligent autohide" +msgstr "Chytré skrývání" + +#: Settings.ui.h:31 +msgid "Dock size limit" +msgstr "Maximální velikost doku" + +#: Settings.ui.h:32 +msgid "Panel mode: extend to the screen edge" +msgstr "Režim panelu (roztáhnout dok po celé délce obrazovky)" + +#: Settings.ui.h:33 +msgid "Icon size limit" +msgstr "Maximální velikost ikon" + +#: Settings.ui.h:34 +msgid "Fixed icon size: scroll to reveal other icons" +msgstr "" +"Neměnná velikost ikon (rolováním na doku je možné zobrazit další ikony)" + +#: Settings.ui.h:35 +msgid "Position and size" +msgstr "Umístění a velikost" + +#: Settings.ui.h:36 +msgid "Show favorite applications" +msgstr "Zobrazit oblíbené aplikace" + +#: Settings.ui.h:37 +msgid "Show running applications" +msgstr "Zobrazit spuštěné aplikace" + +#: Settings.ui.h:38 +msgid "Isolate workspaces." +msgstr "Izolovat pracovní plochy" + +#: Settings.ui.h:39 +msgid "Isolate monitors." +msgstr "Izolovat obrazovky" + +#: Settings.ui.h:40 +msgid "Show open windows previews." +msgstr "Zobrazit náhledy oken" + +#: Settings.ui.h:41 +msgid "" +"If disabled, these settings are accessible from gnome-tweak-tool or the " +"extension website." +msgstr "" +"Pokud je zakázáno, jsou tato nastavení dostupná z GNOME Tweaks nebo z webové " +"stránky GNOME Shell Extensions." + +#: Settings.ui.h:42 +msgid "Show Applications icon" +msgstr "Tlačítko přístupu ke všem aplikacím" + +#: Settings.ui.h:43 +msgid "Move the applications button at the beginning of the dock." +msgstr "Přesunout tlačítko přístupu ke všem aplikacím na začátek doku" + +#: Settings.ui.h:44 +msgid "Animate Show Applications." +msgstr "Animace při zobrazení všech aplikací" + +#: Settings.ui.h:45 +msgid "Show trash can" +msgstr "Zobrazit koš" + +#: Settings.ui.h:46 +msgid "Show mounted volumes and devices" +msgstr "Zobrazit připojené svazky a zařízení" + +#: Settings.ui.h:47 +msgid "Launchers" +msgstr "Spouštěče" + +#: Settings.ui.h:48 +msgid "" +"Enable Super+(0-9) as shortcuts to activate apps. It can also be used " +"together with Shift and Ctrl." +msgstr "" +"Povolit klávesovou zkratku Super+[0-9] pro spuštění aplikací; tuto " +"klávesovou zkratku lze též použít s klávesami Shift a Ctrl." + +#: Settings.ui.h:49 +msgid "Use keyboard shortcuts to activate apps" +msgstr "Klávesová zkratka pro aktivaci aplikací" + +#: Settings.ui.h:50 +msgid "Behaviour when clicking on the icon of a running application." +msgstr "Chování při kliknutí na ikonu běžící aplikace" + +#: Settings.ui.h:51 +msgid "Click action" +msgstr "Kliknutí tlačítkem myši" + +#: Settings.ui.h:53 +msgid "Behaviour when scrolling on the icon of an application." +msgstr "Chování při rolování na ikoně běžící aplikace" + +#: Settings.ui.h:54 +msgid "Scroll action" +msgstr "Rolování kolečkem myši" + +#: Settings.ui.h:55 +msgid "Do nothing" +msgstr "Nedělat nic" + +#: Settings.ui.h:56 +msgid "Switch workspace" +msgstr "Přepnout pracovní plochu" + +#: Settings.ui.h:57 +msgid "Behavior" +msgstr "Chování" + +#: Settings.ui.h:58 +msgid "" +"Few customizations meant to integrate the dock with the default GNOME theme. " +"Alternatively, specific options can be enabled below." +msgstr "" +"Nastavení kvůli integraci doku s výchozím motivem GNOME; jinak lze použít " +"samostatné předvolby níže." + +#: Settings.ui.h:59 +msgid "Use built-in theme" +msgstr "Použít výchozí motiv doku" + +#: Settings.ui.h:60 +msgid "Save space reducing padding and border radius." +msgstr "Prostorově méně náročné zobrazení (zmenšení volného místa kolem ikon)" + +#: Settings.ui.h:61 +msgid "Shrink the dash" +msgstr "Zmenšený dok" + +#: Settings.ui.h:62 +msgid "Customize windows counter indicators" +msgstr "Indikátory počtu otevřených oken" + +#: Settings.ui.h:63 +msgid "Default" +msgstr "Výchozí" + +#: Settings.ui.h:64 +msgid "Dots" +msgstr "Tečky" + +#: Settings.ui.h:65 +msgid "Squares" +msgstr "Čtverečky" + +#: Settings.ui.h:66 +msgid "Dashes" +msgstr "Čárky" + +#: Settings.ui.h:67 +msgid "Segmented" +msgstr "Dělená linka" + +#: Settings.ui.h:68 +msgid "Solid" +msgstr "Plná linka" + +#: Settings.ui.h:69 +msgid "Ciliora" +msgstr "Styl Ciliora" + +#: Settings.ui.h:70 +msgid "Metro" +msgstr "Styl Metro" + +#: Settings.ui.h:71 +msgid "Set the background color for the dash." +msgstr "Nastavit barvu pozadí doku" + +#: Settings.ui.h:72 +msgid "Customize the dash color" +msgstr "Vlastní barva doku" + +#: Settings.ui.h:73 +msgid "Tune the dash background opacity." +msgstr "Nastavit průhlednost doku" + +#: Settings.ui.h:75 +msgid "Fixed" +msgstr "Neměnná" + +#: Settings.ui.h:76 +msgid "Dynamic" +msgstr "Dynamická" + +#: Settings.ui.h:77 +msgid "Opacity" +msgstr "Průhlednost" + +#: Settings.ui.h:78 +msgid "Force straight corner" +msgstr "Zakázat zaoblené rohy" + +#: Settings.ui.h:79 +msgid "Appearance" +msgstr "Vzhled" + +#: Settings.ui.h:80 +msgid "version: " +msgstr "verze: " + +#: Settings.ui.h:81 +msgid "Moves the dash out of the overview transforming it in a dock" +msgstr "Vytvoří dok z přehledu činností a oblíbených aplikací" + +#: Settings.ui.h:82 +msgid "Created by" +msgstr "Autor" + +#: Settings.ui.h:83 +msgid "Webpage" +msgstr "Webová stránka" + +#: Settings.ui.h:84 +msgid "" +"This program comes with ABSOLUTELY NO WARRANTY.\n" +"See the GNU General Public License, version 2 or later for details." +msgstr "" +"Na tento program NEJSOU POSKYTOVÁNY ZÁRUKY.\n" +"Podrobněji viz GNU General Public License, verze 2 nebo pozdější." + +#: Settings.ui.h:86 +msgid "About" +msgstr "O tomto doplňku" + +#: Settings.ui.h:87 +msgid "Customize minimum and maximum opacity values" +msgstr "Nastavit minimální a maximální hodnoty průhlednosti" + +#: Settings.ui.h:88 +msgid "Minimum opacity" +msgstr "Minimální průhlednost" + +#: Settings.ui.h:89 +msgid "Maximum opacity" +msgstr "Maximální průhlednost" + +#: Settings.ui.h:90 +msgid "Number overlay" +msgstr "Čísla aplikací" + +#: Settings.ui.h:91 +msgid "" +"Temporarily show the application numbers over the icons, corresponding to " +"the shortcut." +msgstr "Krátce ukázat čísla aplikací odpovídající klávesové zkratce" + +#: Settings.ui.h:92 +msgid "Show the dock if it is hidden" +msgstr "Zobrazit dok, pokud je skrytý" + +#: Settings.ui.h:93 +msgid "" +"If using autohide, the dock will appear for a short time when triggering the " +"shortcut." +msgstr "" +"Pokud je nastaveno automatické skrývání, stisknutím klávesové zkratky se dok " +"krátce zobrazí." + +#: Settings.ui.h:94 +msgid "Shortcut for the options above" +msgstr "Klávesová zkratka" + +#: Settings.ui.h:95 +msgid "Syntax: , , , " +msgstr "Syntaxe: , , , " + +#: Settings.ui.h:96 +msgid "Hide timeout (s)" +msgstr "Prodleva při skrytí (s)" + +#: Settings.ui.h:97 +msgid "Show the dock by mouse hover on the screen edge." +msgstr "Zobrazit dok najetím myši ke kraji obrazovky" + +#: Settings.ui.h:98 +msgid "Autohide" +msgstr "Automatické skrývání" + +#: Settings.ui.h:99 +msgid "Push to show: require pressure to show the dock" +msgstr "Zobrazit dok až po zatlačení na kraj obrazovky" + +#: Settings.ui.h:100 +msgid "Enable in fullscreen mode" +msgstr "Povolit celoobrazovkový režim" + +#: Settings.ui.h:101 +msgid "Show the dock when it doesn't obstruct application windows." +msgstr "Zobrazit dok pokud nepřekáží oknům aplikací" + +#: Settings.ui.h:102 +msgid "Dodge windows" +msgstr "Uhýbání oknům" + +#: Settings.ui.h:103 +msgid "All windows" +msgstr "Všechna okna" + +#: Settings.ui.h:104 +msgid "Only focused application's windows" +msgstr "Pouze aktivní okna" + +#: Settings.ui.h:105 +msgid "Only maximized windows" +msgstr "Pouze maximalizovaná okna" + +#: Settings.ui.h:106 +msgid "Animation duration (s)" +msgstr "Trvání animace (s)" + +#: Settings.ui.h:107 +msgid "Show timeout (s)" +msgstr "Prodleva při zobrazení (s)" + +#: Settings.ui.h:108 +msgid "Pressure threshold" +msgstr "Míra tlaku (px)" + +#~ msgid "Show a dot for each windows of the application." +#~ msgstr "Zobrazit u ikon tečku indikující každé otevřené okno aplikace" + +#~ msgid "Show windows counter indicators" +#~ msgstr "Indikátory počtu oken" + +#~ msgid "Adaptive" +#~ msgstr "Adaptivní" diff --git a/po/de.po b/po/de.po index 6e797d13..30119a76 100644 --- a/po/de.po +++ b/po/de.po @@ -1,3 +1,4 @@ +# #-#-#-#-# de.po (gnome-shell-extensions master) #-#-#-#-# # German translation for gnome-shell-extensions. # Copyright (C) 2011 gnome-shell-extensions's COPYRIGHT HOLDER # This file is distributed under the same license as the gnome-shell-extensions package. @@ -8,8 +9,18 @@ # Paul Seyfert , 2017. # Tim Sabsch , 2019-2020. # +# #-#-#-#-# de.po (Dash to Dock) #-#-#-#-# +# Translation for de +# Copyright (C) 2014 Michele +# This file is distributed under the same license as the dash-to-dock package. +# Morris Jobke , 2014. +# Jonatan Zeidler , 2012 +# jonius , 2012 +# +#, fuzzy msgid "" msgstr "" +"#-#-#-#-# de.po (gnome-shell-extensions master) #-#-#-#-#\n" "Project-Id-Version: gnome-shell-extensions master\n" "Report-Msgid-Bugs-To: https://gitlab.gnome.org/GNOME/gnome-shell-extensions/" "issues\n" @@ -23,6 +34,18 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" "X-Generator: Poedit 2.4.1\n" +"#-#-#-#-# de.po (Dash to Dock) #-#-#-#-#\n" +"Project-Id-Version: Dash to Dock\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-06-04 12:35+0100\n" +"PO-Revision-Date: 2017-12-11 19:21+0100\n" +"Last-Translator: Klaus Staedtler \n" +"Language-Team: jonius \n" +"Language: de\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Poedit 2.0.4\n" #: data/gnome-classic.desktop.in:3 data/gnome-classic.session.desktop.in:3 msgid "GNOME Classic" @@ -160,7 +183,7 @@ msgstr "Schließen" msgid "Unminimize" msgstr "Minimieren rückgängig" -#: extensions/window-list/extension.js:118 +#: extensions/window-list/extension.js:118 Settings.ui.h:50 msgid "Minimize" msgstr "Minimieren" @@ -270,6 +293,442 @@ msgstr "Arbeitsfläche %d" msgid "Add Workspace" msgstr "Arbeitsfläche hinzufügen" +# Konjugation wegen Stellung im Satz +#: prefs.js:113 +msgid "Primary monitor" +msgstr "Primärer Anzeige" + +# Konjugation wegen Stellung im Satz +#: prefs.js:122 prefs.js:129 +msgid "Secondary monitor " +msgstr "Sekundärer Anzeige" + +#: prefs.js:154 Settings.ui.h:29 +msgid "Right" +msgstr "Rechts" + +#: prefs.js:155 Settings.ui.h:26 +msgid "Left" +msgstr "Links" + +#: prefs.js:205 +msgid "Intelligent autohide customization" +msgstr "Automatisches Ausblenden anpassen" + +# Verwende Übersetzung aus Nautilus +#: prefs.js:212 prefs.js:393 prefs.js:450 +msgid "Reset to defaults" +msgstr "Auf Vorgaben zurücksetzen" + +#: prefs.js:386 +msgid "Show dock and application numbers" +msgstr "Zeige Dock und Anwendungsnummern" + +#: prefs.js:443 +msgid "Customize middle-click behavior" +msgstr "Verhalten des mittleren Klick anpassen" + +#: prefs.js:514 +msgid "Customize running indicators" +msgstr "Laufende Anzeigen anpassen" + +#: appIcons.js:804 +msgid "All Windows" +msgstr "Alle Fenster" + +#: Settings.ui.h:1 +msgid "Customize indicator style" +msgstr "Anzeigenstil anpassen" + +#: Settings.ui.h:2 +msgid "Color" +msgstr "Farbe" + +#: Settings.ui.h:3 +msgid "Border color" +msgstr "Randfarbe" + +#: Settings.ui.h:4 +msgid "Border width" +msgstr "Randbreite" + +#: Settings.ui.h:5 +msgid "Number overlay" +msgstr "Nummer der Überlagung" + +#: Settings.ui.h:6 +msgid "" +"Temporarily show the application numbers over the icons, corresponding to " +"the shortcut." +msgstr "" +"Zeige vorübergehend die Nummer der Anwendung über den Icons, passend zum " +"Tastaturkürzel." + +#: Settings.ui.h:7 +msgid "Show the dock if it is hidden" +msgstr "Dock anzeigen wenn es versteckt ist" + +#: Settings.ui.h:8 +msgid "" +"If using autohide, the dock will appear for a short time when triggering the " +"shortcut." +msgstr "" +"Wenn automatisches Ausblenden benutzt wird, erscheint kurzzeitig das Dock " +"durch drücken des Tastaturkürzels." + +#: Settings.ui.h:9 +msgid "Shortcut for the options above" +msgstr "Tastaturkürzel für die obigen Aktionen" + +#: Settings.ui.h:10 +msgid "Syntax: , , , " +msgstr "Syntax: , , , " + +#: Settings.ui.h:11 +msgid "Hide timeout (s)" +msgstr "Ausblende-Verzögerung in s" + +#: Settings.ui.h:12 +msgid "" +"When set to minimize, double clicking minimizes all the windows of the " +"application." +msgstr "" +"Wenn auf »Minimieren« eingestellt, können durch Doppelklick alle Fenster der " +"Anwendung gleichzeitig minimiert werden." + +#: Settings.ui.h:13 +msgid "Shift+Click action" +msgstr "Wirkung bei Umschalttaste + Mausklick" + +#: Settings.ui.h:14 +msgid "Raise window" +msgstr "Fenster anheben" + +#: Settings.ui.h:15 +msgid "Minimize window" +msgstr "Minimieren" + +#: Settings.ui.h:16 +msgid "Launch new instance" +msgstr "Neues Fenster" + +# Vielleicht einen Tick besser als „umschalten“? +#: Settings.ui.h:17 +msgid "Cycle through windows" +msgstr "Zwischen den Fenstern der Anwendung wechseln" + +#: Settings.ui.h:18 +msgid "Quit" +msgstr "Beenden" + +#: Settings.ui.h:19 +msgid "Behavior for Middle-Click." +msgstr "Verhalten bei Mittel-Klick " + +#: Settings.ui.h:20 +#, fuzzy +msgid "Middle-Click action" +msgstr "Wirkung bei Mausklick" + +#: Settings.ui.h:21 +msgid "Behavior for Shift+Middle-Click." +msgstr "Verhalten bei Umschalttaste+Mittel-Klick." + +#: Settings.ui.h:22 +#, fuzzy +msgid "Shift+Middle-Click action" +msgstr "Wirkung bei Umschalttaste + Mausklick" + +#: Settings.ui.h:23 +msgid "Show the dock on" +msgstr "Dock anzeigen auf" + +# Konjugation wegen Stellung im Satz +#: Settings.ui.h:24 +msgid "Show on all monitors." +msgstr "Auf allen Bildschirmen anzeigen" + +#: Settings.ui.h:25 +msgid "Position on screen" +msgstr "Position auf Bildschirm" + +#: Settings.ui.h:27 +msgid "Bottom" +msgstr "Unten" + +#: Settings.ui.h:28 +msgid "Top" +msgstr "Oben" + +#: Settings.ui.h:30 +msgid "" +"Hide the dock when it obstructs a window of the current application. More " +"refined settings are available." +msgstr "" +"Das Dock automatisch ausblenden, falls es ein Fenster der laufenden " +"Anwendung überlagert. Einstellungen können weiter verfeinert werden." + +#: Settings.ui.h:31 +msgid "Intelligent autohide" +msgstr "Automatisch ausblenden" + +#: Settings.ui.h:32 +msgid "Dock size limit" +msgstr "Maximale Dockgröße" + +#: Settings.ui.h:33 +msgid "Panel mode: extend to the screen edge" +msgstr "Panelmodus: bis zu Bildschirmkanten ausdehnen" + +#: Settings.ui.h:34 +msgid "Icon size limit" +msgstr "Maximale Icongröße" + +#: Settings.ui.h:35 +msgid "Fixed icon size: scroll to reveal other icons" +msgstr "Feste Icongröße: andere Icons durch Scrollen sichtbar machen" + +#: Settings.ui.h:36 +msgid "Position and size" +msgstr "Position und Größe" + +#: Settings.ui.h:37 +msgid "Show favorite applications" +msgstr "Favoriten anzeigen" + +#: Settings.ui.h:38 +msgid "Show running applications" +msgstr "Laufende Anwendungen anzeigen" + +#: Settings.ui.h:39 +msgid "Isolate workspaces." +msgstr "Isoliere Arbeitsflächen." + +#: Settings.ui.h:40 +msgid "Show open windows previews." +msgstr "Zeige Vorschau der geöffneten Fenster" + +#: Settings.ui.h:41 +msgid "" +"If disabled, these settings are accessible from gnome-tweak-tool or the " +"extension website." +msgstr "" +"Falls deaktiviert, sind diese Einstellungen über Gnome-Tweak-Tool oder die " +"Erweiterungsseite erreichbar." + +# Durchkopplung von Kompositum +#: Settings.ui.h:42 +msgid "Show Applications icon" +msgstr "Symbol Anwendungen anzeigen anzeigen" + +#: Settings.ui.h:43 +msgid "Move the applications button at the beginning of the dock." +msgstr "Anwendungen-anzeigen-Button an den Anfang verschieben." + +# Durchkopplung von Kompositum +#: Settings.ui.h:44 +msgid "Animate Show Applications." +msgstr "Symbol Anwendungen anzeigen animieren" + +#: Settings.ui.h:45 +msgid "Launchers" +msgstr "Starter" + +#: Settings.ui.h:46 +msgid "" +"Enable Super+(0-9) as shortcuts to activate apps. It can also be used " +"together with Shift and Ctrl." +msgstr "" +"Benutze Super+(0-9) als Tastaturkürzel um Anwendungen zu aktivieren. Kann " +"auch zusammen mit Umschalttaste und Strg. genutzt werden." + +#: Settings.ui.h:47 +msgid "Use keyboard shortcuts to activate apps" +msgstr "Benutze Tastaturkürzel um Anwendungen zu aktivieren" + +#: Settings.ui.h:48 +msgid "Behaviour when clicking on the icon of a running application." +msgstr "Verhalten bei Mausklick auf das Icon einer laufenden Anwendung." + +#: Settings.ui.h:49 +msgid "Click action" +msgstr "Wirkung bei Mausklick" + +#: Settings.ui.h:51 +msgid "Minimize or overview" +msgstr "Minimieren oder Übersicht" + +#: Settings.ui.h:52 +#, fuzzy +msgid "Behaviour when scrolling on the icon of an application." +msgstr "Verhalten bei Mausklick auf das Icon einer laufenden Anwendung." + +#: Settings.ui.h:53 +#, fuzzy +msgid "Scroll action" +msgstr "Wirkung bei Mausklick" + +#: Settings.ui.h:54 +msgid "Do nothing" +msgstr "Nichts tun" + +#: Settings.ui.h:55 +msgid "Switch workspace" +msgstr "Arbeitsfläche umschalten" + +# Verwende Übersetzung aus Nautilus +#: Settings.ui.h:56 +msgid "Behavior" +msgstr "Verhalten" + +#: Settings.ui.h:57 +msgid "" +"Few customizations meant to integrate the dock with the default GNOME theme. " +"Alternatively, specific options can be enabled below." +msgstr "" +"Einige Anpassungen, durch die das Dock besser in das standardmäßige GNOME-" +"Thema eingepasst werden soll. Alternativ können im Folgenden besondere " +"Einstellungen vorgenommen werden." + +#: Settings.ui.h:58 +msgid "Use built-in theme" +msgstr "Angepasstes Thema dieser Erweiterung nutzen" + +#: Settings.ui.h:59 +msgid "Save space reducing padding and border radius." +msgstr "Platz sparen, indem Innenabstand und Eckenradius verkleinert werden." + +#: Settings.ui.h:60 +msgid "Shrink the dash" +msgstr "Dash verkleinern" + +#: Settings.ui.h:61 +msgid "Show a dot for each windows of the application." +msgstr "Für jedes Fenster einer Anwendung einen kleinen Indikator einblenden." + +#: Settings.ui.h:62 +msgid "Show windows counter indicators" +msgstr "Indikatoren für Fensterzahl" + +#: Settings.ui.h:63 +msgid "Set the background color for the dash." +msgstr "Setze Hintergrundfarbe für das Dash" + +#: Settings.ui.h:64 +msgid "Customize the dash color" +msgstr "Farbe des Dash anpassen" + +#: Settings.ui.h:65 +msgid "Tune the dash background opacity." +msgstr "Die Hintergrundtransparenz des Dash einstellen." + +#: Settings.ui.h:66 +msgid "Customize opacity" +msgstr "Transparenz anpassen" + +#: Settings.ui.h:67 +msgid "Opacity" +msgstr "Transparenz" + +#: Settings.ui.h:68 +msgid "Force straight corner\n" +msgstr "Erzwinge rechte Ecke\n" + +#: Settings.ui.h:70 +msgid "Appearance" +msgstr "Erscheinungsbild" + +#: Settings.ui.h:71 +msgid "version: " +msgstr "Version: " + +#: Settings.ui.h:72 +msgid "Moves the dash out of the overview transforming it in a dock" +msgstr "Verwandelt das Dash aus dem Übersichtsmodus in ein Dock" + +#: Settings.ui.h:73 +msgid "Created by" +msgstr "Erstellt von" + +#: Settings.ui.h:74 +msgid "Webpage" +msgstr "Internetseite" + +#: Settings.ui.h:75 +msgid "" +"This program comes with ABSOLUTELY NO WARRANTY.\n" +"See the GNU General Public License, version 2 or later for details." +msgstr "" +"Für dieses Programm besteht KEINERLEI GARANTIE.\n" +" Details finden Sie in der GNU General Public License, Version 2 oder später." + +# Verwende Übersetzung aus Nautilus +#: Settings.ui.h:77 +msgid "About" +msgstr "Info" + +#: Settings.ui.h:78 +msgid "Show the dock by mouse hover on the screen edge." +msgstr "Dock einblenden, wenn Mauszeiger an Bildschirmkante anliegt." + +#: Settings.ui.h:79 +msgid "Autohide" +msgstr "Automatisch ausblenden" + +#: Settings.ui.h:80 +msgid "Push to show: require pressure to show the dock" +msgstr "" +"Anstoßen erforderlich: Dock nur einblenden, wenn Mauszeiger schnell gegen " +"Bildschirmkante stößt" + +#: Settings.ui.h:81 +msgid "Enable in fullscreen mode" +msgstr "Im Vollbildmodus einschalten" + +#: Settings.ui.h:82 +msgid "Show the dock when it doesn't obstruct application windows." +msgstr "Dock einblenden, falls es keine Anwendungsfenster überlagert." + +#: Settings.ui.h:83 +msgid "Dodge windows" +msgstr "Fenstern ausweichen" + +#: Settings.ui.h:84 +msgid "All windows" +msgstr "Alle Fenster" + +#: Settings.ui.h:85 +msgid "Only focused application's windows" +msgstr "Nur Anwendungsfenster mit Fokus" + +#: Settings.ui.h:86 +msgid "Only maximized windows" +msgstr "Nur maximierte Fenster" + +# Nach DIN 1313 werden Einheiten nicht in Klammern gesetzt +#: Settings.ui.h:87 +msgid "Animation duration (s)" +msgstr "Animationsdauer in s" + +#: Settings.ui.h:88 +msgid "0.000" +msgstr "0,000" + +#: Settings.ui.h:89 +msgid "Show timeout (s)" +msgstr "Einblende-Verzögerung in s" + +#: Settings.ui.h:90 +msgid "Pressure threshold" +msgstr "Stoßschwellwert" + +#: Settings.ui.h:91 +msgid "Isolate monitors." +msgstr "Isoliere Monitore." + #~ msgid "Application" #~ msgstr "Anwendung" @@ -354,3 +813,129 @@ msgstr "Arbeitsfläche hinzufügen" #~ "Das Beispiel soll zeigen, wie sich korrekt verhaltende Erweiterungen für " #~ "die Shell erstellt werden. Es enthält grundlegende Funktionalität.\n" #~ "Es ist möglich, die Begrüßungsnachricht zu ändern." + +#, fuzzy +#~ msgid "" +#~ "With fixed icon size, only the edge of the dock and the Show " +#~ "Applications icon are active." +#~ msgstr "" +#~ "Falls es zu viele Symbole auf dem Dock werden, dann bleibt nur " +#~ "Anwendungen anzeigen aktiv." + +#~ msgid "Switch workspace by scrolling on the dock" +#~ msgstr "Arbeitsfläche durch Scrollen wechseln" + +#~ msgid "Only consider windows of the focused application" +#~ msgstr "Nur Fenster der fokussierten Anwendung einbeziehen" + +#~ msgid "Main Settings" +#~ msgstr "Grundeinstellungen" + +#~ msgid "Dock Position" +#~ msgstr "Dock-Position" + +#~ msgid "Dock is fixed and always visible" +#~ msgstr "Das Dock hat eine feste Position und ist immer sichtbar" + +#~ msgid "Show delay [ms]" +#~ msgstr "Einblendeverzögerung [ms]" + +#~ msgid "Hide delay [ms]" +#~ msgstr "Ausblendeverzögerung [ms]" + +#~ msgid "Application based intellihide" +#~ msgstr "Anwendungsbasiertes intelligentes Verstecken" + +#~ msgid "Show the dock on following monitor (if attached)" +#~ msgstr "Zeige Dock auf folgendem Monitor (falls angeschlossen)" + +#~ msgid "Primary (default)" +#~ msgstr "Primäranzeige (Standard)" + +#~ msgid "1" +#~ msgstr "1" + +#~ msgid "2" +#~ msgstr "2" + +#~ msgid "3" +#~ msgstr "3" + +#~ msgid "4" +#~ msgstr "4" + +#~ msgid "Max height" +#~ msgstr "Maximale Höhe" + +#~ msgid "Expand (experimental and buggy)" +#~ msgstr "Komplette Höhe (experimentell und fehlerbehaftet)" + +#~ msgid "Maximum icon size" +#~ msgstr "Maximale Symbolgröße" + +#~ msgid "16" +#~ msgstr "16" + +#~ msgid "24" +#~ msgstr "24" + +#~ msgid "32" +#~ msgstr "32" + +#~ msgid "48" +#~ msgstr "48" + +#~ msgid "64" +#~ msgstr "64" + +#~ msgid "Optional features" +#~ msgstr "Optionale Funktionen" + +#~ msgid "Deadtime between each workspace switching [ms]" +#~ msgstr "Stillstandszeit zwischen Arbeitsflächenwechsel [ms]" + +#~ msgid "Only a 1px wide area close to the screen edge is active" +#~ msgstr "Nur einen 1 Pixel-breiten Bereich am Rand nutzen" + +#~ msgid "All the area of the dock is active" +#~ msgstr "Den gesamten Bereich des Docks nutzen" + +#~ msgid "Customize actions on mouse click" +#~ msgstr "Aktion bei Mausklick anpassen" + +#~ msgid "Action on clicking on running app" +#~ msgstr "Aktion beim Klicken auf eine laufende Anwendung" + +#~ msgid "Minimize window on shift+click (double click for all app windows)" +#~ msgstr "" +#~ "Fenster mit Shift+Klick minimieren (Doppelklick für alle Fenster der " +#~ "Anwendung)" + +#~ msgid "Appearence and Themes" +#~ msgstr "Erscheinungsbild und Themen" + +#~ msgid "" +#~ "A customized theme is built in the extension. This is meant to work with " +#~ "the default Adwaita theme: the dash is shrunk to save space, its " +#~ "background transparency reduced, and custom indicators for the number of " +#~ "windows of each application are added." +#~ msgstr "" +#~ "Ein angepasstes Thema ist in dieser Erweiterung enthalten. Es ist für das " +#~ "Vorgabe-Adwaita-Thema gedacht: Das Dash ist schmaler, um Platz zu sparen, " +#~ "die Hintergrundtransparenz ist reduziert und für jede Anwendung wird ein " +#~ "Indikator für die Anzahl der Fenster eingefügt." + +#~ msgid "" +#~ "Alternatively, for a better integration with custom themes, each " +#~ "customization can be applied indipendently" +#~ msgstr "" +#~ "Alternativ können für eine bessere Integration Anpassungen vorgenommen " +#~ "werden" + +#~ msgid "Shrink the dash size by reducing padding" +#~ msgstr "Das Dash schmaler machen durch Verkleinern des Abstands zum Rand" + +#~ msgid "Apply custom theme (work only with the default Adwaita theme)" +#~ msgstr "" +#~ "Benutzerdefiniertes Theme verwenden (funktioniert nur mit dem Standard-" +#~ "Adwaita-Theme)" diff --git a/po/el.po b/po/el.po index 59b14dfb..bd0a7a5f 100644 --- a/po/el.po +++ b/po/el.po @@ -1,3 +1,4 @@ +# #-#-#-#-# el.po (gnome-shell-extensions master) #-#-#-#-# # Greek translation for gnome-shell-extensions. # Copyright (C) 2011 gnome-shell-extensions's COPYRIGHT HOLDER # This file is distributed under the same license as the gnome-shell-extensions package. @@ -7,8 +8,18 @@ # Vangelis Skarmoutsos , 2013. # Efstathios Iosifidis , 2013-2019. # +# #-#-#-#-# el.po (Dash to Dock) #-#-#-#-# +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. +# FIRST AUTHOR , YEAR. +# Δημήτριος-Ρωμανός Ησαΐας , 2017. +# Vangelis Skarmoutsos , 2017. +# +#, fuzzy msgid "" msgstr "" +"#-#-#-#-# el.po (gnome-shell-extensions master) #-#-#-#-#\n" "Project-Id-Version: gnome-shell-extensions master\n" "Report-Msgid-Bugs-To: https://gitlab.gnome.org/GNOME/gnome-shell-extensions/" "issues\n" @@ -23,6 +34,19 @@ msgstr "" "Plural-Forms: nplurals=2; plural=(n != 1);\n" "X-Generator: Poedit 1.8.7.1\n" "X-Project-Style: gnome\n" +"#-#-#-#-# el.po (Dash to Dock) #-#-#-#-#\n" +"Project-Id-Version: Dash to Dock\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-06-04 12:35+0100\n" +"PO-Revision-Date: 2017-09-29 21:48+0300\n" +"Last-Translator: Vangelis Skarmoutsos \n" +"Language-Team:\n" +"Language: el\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Poedit 2.0.3\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" #: data/gnome-classic.desktop.in:3 data/gnome-classic.session.desktop.in:3 msgid "GNOME Classic" @@ -159,7 +183,7 @@ msgstr "Κλείσιμο" msgid "Unminimize" msgstr "Αποελαχιστοποίηση" -#: extensions/window-list/extension.js:118 +#: extensions/window-list/extension.js:118 Settings.ui.h:50 msgid "Minimize" msgstr "Ελαχιστοποίηση" @@ -268,6 +292,425 @@ msgstr "Χώρος εργασίας %d" msgid "Add Workspace" msgstr "Προσθήκη χώρου εργασίας" +#: prefs.js:155 Settings.ui.h:26 +msgid "Left" +msgstr "Αριστερά" + +#: prefs.js:154 Settings.ui.h:29 +msgid "Right" +msgstr "Δεξιά" + +#: prefs.js:113 +msgid "Primary monitor" +msgstr "Κύρια οθόνη" + +#: prefs.js:122 prefs.js:129 +msgid "Secondary monitor " +msgstr "Δευτερεύουσα οθόνη " + +#: prefs.js:205 +msgid "Intelligent autohide customization" +msgstr "Προσαρμογή έξυπνης απόκρυψης" + +#: prefs.js:212 prefs.js:393 prefs.js:450 +msgid "Reset to defaults" +msgstr "Επαναφορά στις προεπιλογές" + +#: prefs.js:386 +msgid "Show dock and application numbers" +msgstr "Προβολή της μπάρας και της αρίθμησης εφαρμογών" + +#: prefs.js:443 +msgid "Customize middle-click behavior" +msgstr "Προσαρμογή συμπεριφοράς μεσαίου κλικ" + +#: prefs.js:514 +msgid "Customize running indicators" +msgstr "Προσαρμογή δεικτών τρεχόντων εφαρμογών" + +#: appIcons.js:804 +msgid "All Windows" +msgstr "Όλα τα παράθυρα" + +#: Settings.ui.h:1 +msgid "Customize indicator style" +msgstr "Προσαρμογή του στυλ του δείκτη" + +#: Settings.ui.h:2 +msgid "Color" +msgstr "Χρώμα" + +#: Settings.ui.h:3 +msgid "Border color" +msgstr "Χρώμα περιγράμματος" + +#: Settings.ui.h:4 +msgid "Border width" +msgstr "Πλάτος περιγράμματος" + +#: Settings.ui.h:5 +msgid "Number overlay" +msgstr "Επίστρωση αριθμού" + +#: Settings.ui.h:6 +msgid "" +"Temporarily show the application numbers over the icons, corresponding to " +"the shortcut." +msgstr "" +"Προσωρινή εμφάνιση αριθμών εφαρμογής πάνω από τα εικονίδια, που αντιστοιχούν " +"στη συντόμευση πληκτρολογίου." + +#: Settings.ui.h:7 +msgid "Show the dock if it is hidden" +msgstr "Προβολή της μπάρας αν είναι κρυμμένη" + +#: Settings.ui.h:8 +msgid "" +"If using autohide, the dock will appear for a short time when triggering the " +"shortcut." +msgstr "" +"Αν χρησιμοποιείται η αυτόματη απόκρυψη, η μπάρα θα εμφανίζεται για λίγο " +"χρόνο όταν πατιέται η συντόμευση." + +#: Settings.ui.h:9 +msgid "Shortcut for the options above" +msgstr "Συντόμευση για τις παραπάνω επιλογές" + +#: Settings.ui.h:10 +msgid "Syntax: , , , " +msgstr "Σύνταξη: , , , " + +#: Settings.ui.h:11 +msgid "Hide timeout (s)" +msgstr "Καθυστέρηση απόκρυψης" + +#: Settings.ui.h:12 +msgid "" +"When set to minimize, double clicking minimizes all the windows of the " +"application." +msgstr "" +"Όταν είναι ρυθμισμένο στην ελαχιστοποίηση, το διπλό κλικ ελαχιστοποιεί όλα " +"τα παράθυρα της εφαρμογής." + +#: Settings.ui.h:13 +msgid "Shift+Click action" +msgstr "Λειτουργία του Shift+Click" + +#: Settings.ui.h:14 +msgid "Raise window" +msgstr "Ανύψωση παραθύρου" + +#: Settings.ui.h:15 +msgid "Minimize window" +msgstr "Ελαχιστοποίηση παραθύρου" + +#: Settings.ui.h:16 +msgid "Launch new instance" +msgstr "Εκκίνηση νέου παραθύρου" + +#: Settings.ui.h:17 +msgid "Cycle through windows" +msgstr "Περιήγηση στα ανοικτά παράθυρα" + +#: Settings.ui.h:18 +msgid "Quit" +msgstr "Έξοδος" + +#: Settings.ui.h:19 +msgid "Behavior for Middle-Click." +msgstr "Συμπεριφορά μεσαίου κλικ." + +#: Settings.ui.h:20 +msgid "Middle-Click action" +msgstr "Λειτουργία του μεσαίου κλικ" + +#: Settings.ui.h:21 +msgid "Behavior for Shift+Middle-Click." +msgstr "Συμπεριφορά Shift+Μεσαίο κλικ." + +#: Settings.ui.h:22 +msgid "Shift+Middle-Click action" +msgstr "Λειτουργία του Shift+Μεσαίο κλικ" + +#: Settings.ui.h:23 +msgid "Show the dock on" +msgstr "Εμφάνιση της μπάρας στην" + +#: Settings.ui.h:24 +msgid "Show on all monitors." +msgstr "Εμφάνιση σε όλες τις οθόνες." + +#: Settings.ui.h:25 +msgid "Position on screen" +msgstr "Θέση στην οθόνη" + +#: Settings.ui.h:27 +msgid "Bottom" +msgstr "Κάτω" + +#: Settings.ui.h:28 +msgid "Top" +msgstr "Πάνω" + +#: Settings.ui.h:30 +msgid "" +"Hide the dock when it obstructs a window of the the current application. " +"More refined settings are available." +msgstr "" +"Απόκρυψη της μπάρας όταν εμποδίζει ένα παράθυρο της τρέχουσας εφαρμογής. Πιο " +"εξειδικευμένες επιλογές είναι επίσης διαθέσιμες." + +#: Settings.ui.h:31 +msgid "Intelligent autohide" +msgstr "Έξυπνη απόκρυψη" + +#: Settings.ui.h:32 +msgid "Dock size limit" +msgstr "Περιορισμός μεγέθους μπάρας" + +#: Settings.ui.h:33 +msgid "Panel mode: extend to the screen edge" +msgstr "Λειτουργιά πάνελ: επέκταση της μπάρας ως τις άκρες της οθόνης" + +#: Settings.ui.h:34 +msgid "Icon size limit" +msgstr "Περιορισμός μεγέθους εικονιδίων" + +#: Settings.ui.h:35 +msgid "Fixed icon size: scroll to reveal other icons" +msgstr "" +"Σταθερό μέγεθος εικονιδίων: κύλιση για την εμφάνιση περαιτέρω εικονιδίων" + +#: Settings.ui.h:36 +msgid "Position and size" +msgstr "Θέση και μέγεθος" + +#: Settings.ui.h:37 +msgid "Show favorite applications" +msgstr "Εμφάνιση αγαπημένων εφαρμογών" + +#: Settings.ui.h:38 +msgid "Show running applications" +msgstr "Εμφάνιση εκτελούμενων εφαρμογών" + +#: Settings.ui.h:39 +msgid "Isolate workspaces." +msgstr "Απομόνωση χώρων εργασίας." + +#: Settings.ui.h:40 +msgid "Show open windows previews." +msgstr "Εμφάνιση προεπισκόπησης ανοικτών παραθύρων." + +#: Settings.ui.h:41 +msgid "" +"If disabled, these settings are accessible from gnome-tweak-tool or the " +"extension website." +msgstr "" +"Αν είναι απενεργοποιημένο, αυτές οι ρυθμίσεις είναι προσβάσιμες από το " +"εργαλείο μικρορυθμίσεων του GNOME ή τον ιστοτόπο επεκτάσεων." + +#: Settings.ui.h:42 +msgid "Show Applications icon" +msgstr "Εμφάνιση εικονιδίου Εφαρμογές" + +#: Settings.ui.h:43 +msgid "Move the applications button at the beginning of the dock." +msgstr "Μετακίνηση του πλήκτρου εφαρμογών στην αρχή της μπάρας." + +#: Settings.ui.h:44 +msgid "Animate Show Applications." +msgstr "Ενεργοποίηση γραφικών κατά την Εμφάνιση Εφαρμογών." + +#: Settings.ui.h:45 +msgid "Launchers" +msgstr "Εκκινητές" + +#: Settings.ui.h:46 +msgid "" +"Enable Super+(0-9) as shortcuts to activate apps. It can also be used " +"together with Shift and Ctrl." +msgstr "" +"Ενεργοποίηση του Super+(0-9) ως συντομεύσεις για την ενεργοποίηση εφαρμογών. " +"Μπορεί επίσης να χρησιμοποιηθεί με το Shift και το Ctrl." + +#: Settings.ui.h:47 +msgid "Use keyboard shortcuts to activate apps" +msgstr "Χρήση συντομεύσεων πληκτρολογίου για την ενεργοποίηση εφαρμογών" + +#: Settings.ui.h:48 +msgid "Behaviour when clicking on the icon of a running application." +msgstr "Συμπεριφορά κατά το κλικ σε εικονίδιο τρέχουσας εφαρμογής." + +#: Settings.ui.h:49 +msgid "Click action" +msgstr "Συμπεριφορά κλικ" + +#: Settings.ui.h:51 +msgid "Minimize or overview" +msgstr "Ελαχιστοποίηση ή επισκόπηση" + +#: Settings.ui.h:52 +msgid "Behaviour when scrolling on the icon of an application." +msgstr "Συμπεριφορά κατά την κύλιση σε εικονίδιο τρέχουσας εφαρμογής." + +#: Settings.ui.h:53 +msgid "Scroll action" +msgstr "Συμπεριφορά κύλισης" + +#: Settings.ui.h:54 +msgid "Do nothing" +msgstr "Καμία δράση" + +#: Settings.ui.h:55 +msgid "Switch workspace" +msgstr "Αλλαγή χώρου εργασίας" + +#: Settings.ui.h:56 +msgid "Behavior" +msgstr "Συμπεριφορά" + +#: Settings.ui.h:57 +msgid "" +"Few customizations meant to integrate the dock with the default GNOME theme. " +"Alternatively, specific options can be enabled below." +msgstr "" +"Μερικές προσαρμογές στοχεύουν στο να ενοποιήσουν την μπάρα με το " +"προκαθορισμένο θέμα του GNOME. Εναλλακτικά, ειδικές επιλογές μπορούν να " +"ενεργοποιηθούν παρακάτω." + +#: Settings.ui.h:58 +msgid "Use built-in theme" +msgstr "Χρήση ενσωματωμένου θέματος" + +#: Settings.ui.h:59 +msgid "Save space reducing padding and border radius." +msgstr "Εξοικονόμηση χώρου μειώνοντας τα κενά και τα περιθώρια." + +#: Settings.ui.h:60 +msgid "Shrink the dash" +msgstr "Σμίκρυνση της μπάρας" + +#: Settings.ui.h:61 +msgid "Show a dot for each windows of the application." +msgstr "Εμφανίζει μία τελεία για κάθε παράθυρο της εφαρμογής." + +#: Settings.ui.h:62 +msgid "Show windows counter indicators" +msgstr "Εμφάνιση μετρητή παραθύρων" + +#: Settings.ui.h:63 +msgid "Set the background color for the dash." +msgstr "Ορισμός χρώματος φόντου της μπάρας." + +#: Settings.ui.h:64 +msgid "Customize the dash color" +msgstr "Προσαρμογή του χρώματος της μπάρας" + +#: Settings.ui.h:65 +msgid "Tune the dash background opacity." +msgstr "Αλλαγή της αδιαφάνειας του φόντου της μπάρας." + +#: Settings.ui.h:66 +msgid "Customize opacity" +msgstr "Προσαρμογή αδιαφάνειας" + +#: Settings.ui.h:67 +msgid "Opacity" +msgstr "Αδιαφάνεια" + +#: Settings.ui.h:68 +msgid "Force straight corner\n" +msgstr "Εξαναγκασμός ευθείας γωνίας\n" + +#: Settings.ui.h:70 +msgid "Appearance" +msgstr "Εμφάνιση" + +#: Settings.ui.h:71 +msgid "version: " +msgstr "έκδοση: " + +#: Settings.ui.h:72 +msgid "Moves the dash out of the overview transforming it in a dock" +msgstr "" +"Μετακινεί το ταμπλό και εκτός της προεπισκόπησης μετατρέποντάς το σε μπάρα " +"εφαρμογών" + +#: Settings.ui.h:73 +msgid "Created by" +msgstr "Δημιουργήθηκε από" + +#: Settings.ui.h:74 +msgid "Webpage" +msgstr "Ιστοσελίδα" + +#: Settings.ui.h:75 +msgid "" +"This program comes with ABSOLUTELY NO WARRANTY.\n" +"See the GNU General Public License, version 2 or later for details." +msgstr "" +"Αυτό πρόγραμμα παρέχεται χωρίς ΑΠΟΛΥΤΩΣ ΚΑΜΙΑ ΕΓΓΥΗΣΗ.\n" +"Για λεπτομέρειες δείτε την Γενική δημόσια άδεια GNU, έκδοση 2 ή νεότερη. " + +#: Settings.ui.h:77 +msgid "About" +msgstr "Περί" + +#: Settings.ui.h:78 +msgid "Show the dock by mouse hover on the screen edge." +msgstr "Εμφάνιση της μπάρας όταν το ποντίκι πηγαίνει στην άκρη της οθόνης." + +#: Settings.ui.h:79 +msgid "Autohide" +msgstr "Αυτόματη απόκρυψη" + +#: Settings.ui.h:80 +msgid "Push to show: require pressure to show the dock" +msgstr "Πίεση για εμφάνιση: απαιτείται πίεση για την εμφάνιση της μπάρας" + +#: Settings.ui.h:81 +msgid "Enable in fullscreen mode" +msgstr "Ενεργοποίηση σε κατάσταση πλήρους οθόνης" + +#: Settings.ui.h:82 +msgid "Show the dock when it doesn't obstruct application windows." +msgstr "Εμφάνιση της μπάρας όταν δεν εμποδίζει τα παράθυρά των εφαρμογών." + +#: Settings.ui.h:83 +msgid "Dodge windows" +msgstr "Αποφυγή παραθύρων" + +#: Settings.ui.h:84 +msgid "All windows" +msgstr "Όλα τα παράθυρα" + +#: Settings.ui.h:85 +msgid "Only focused application's windows" +msgstr "Μόνο τα παράθυρα της εστιασμένης εφαρμογής" + +#: Settings.ui.h:86 +msgid "Only maximized windows" +msgstr "Μόνο μεγιστοποιημένα παράθυρα" + +#: Settings.ui.h:87 +msgid "Animation duration (s)" +msgstr "Διάρκεια κίνησης γραφικών (s)" + +#: Settings.ui.h:88 +msgid "0.000" +msgstr "0.000" + +#: Settings.ui.h:89 +msgid "Show timeout (s)" +msgstr "Χρονικό όριο εμφάνισης" + +#: Settings.ui.h:90 +msgid "Pressure threshold" +msgstr "Ελάχιστη πίεση" + #~ msgid "Application" #~ msgstr "Εφαρμογή" @@ -389,12 +832,6 @@ msgstr "Προσθήκη χώρου εργασίας" #~ msgid "Normal" #~ msgstr "Κανονικό" -#~ msgid "Left" -#~ msgstr "Αριστερά" - -#~ msgid "Right" -#~ msgstr "Δεξιά" - #~ msgid "Upside-down" #~ msgstr "Αναποδογυρισμένο" diff --git a/po/es.po b/po/es.po index d0b5ab1f..eaafe99e 100644 --- a/po/es.po +++ b/po/es.po @@ -1,3 +1,4 @@ +# #-#-#-#-# es.po (gnome-shell-extensions master) #-#-#-#-# # Spanish translation for gnome-shell-extensions. # Copyright (C) 2011 gnome-shell-extensions's COPYRIGHT HOLDER # This file is distributed under the same license as the gnome-shell-extensions package. @@ -6,8 +7,15 @@ # # Daniel Mustieles , 2011-2020. # +# #-#-#-#-# es.po #-#-#-#-# +# Dash to Dock spanish translation. +# This file is distributed under the same license as the Dash to Dock package. +# Hugo Olabera , 2015. +# +#, fuzzy msgid "" msgstr "" +"#-#-#-#-# es.po (gnome-shell-extensions master) #-#-#-#-#\n" "Project-Id-Version: gnome-shell-extensions master\n" "Report-Msgid-Bugs-To: https://gitlab.gnome.org/GNOME/gnome-shell-extensions/" "issues\n" @@ -21,6 +29,19 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" "X-Generator: Gtranslator 3.36.0\n" +"#-#-#-#-# es.po #-#-#-#-#\n" +"Project-Id-Version: \n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2019-03-06 01:57-0600\n" +"PO-Revision-Date: 2020-03-23 11:25+0100\n" +"Last-Translator: Adolfo Jayme Barrientos \n" +"Language-Team: \n" +"Language: es\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Poedit 2.3\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" #: data/gnome-classic.desktop.in:3 data/gnome-classic.session.desktop.in:3 msgid "GNOME Classic" @@ -155,7 +176,7 @@ msgstr "Cerrar" msgid "Unminimize" msgstr "Desminimizar" -#: extensions/window-list/extension.js:118 +#: extensions/window-list/extension.js:118 Settings.ui.h:50 msgid "Minimize" msgstr "Minimizar" @@ -264,6 +285,505 @@ msgstr "Área de trabajo %d" msgid "Add Workspace" msgstr "Añadir área de trabajo" +#: prefs.js:306 Settings.ui.h:25 +msgid "Left" +msgstr "Izquierda" + +#: prefs.js:305 Settings.ui.h:28 +msgid "Right" +msgstr "Derecha" + +#: prefs.js:264 +msgid "Primary monitor" +msgstr "Monitor principal" + +#: prefs.js:273 prefs.js:280 +msgid "Secondary monitor " +msgstr "Monitor secundario" + +#: prefs.js:356 +msgid "Intelligent autohide customization" +msgstr "Personalización de ocultamiento inteligente" + +#: prefs.js:363 prefs.js:548 prefs.js:604 +msgid "Reset to defaults" +msgstr "Restablecer la configuración predeterminada" + +#: prefs.js:541 +msgid "Show dock and application numbers" +msgstr "Mostrar dock y números de aplicación" + +#: prefs.js:597 +msgid "Customize middle-click behavior" +msgstr "Personalizar comportamiento del botón central" + +#: prefs.js:680 +msgid "Customize running indicators" +msgstr "Personalizar indicadores de ejecución" + +#: appIcons.js:790 +msgid "All Windows" +msgstr "Todas las ventanas" + +#. Translators: %s is "Settings", which is automatically translated. You +#. can also translate the full message if this fits better your language. +#: appIcons.js:1092 +#, javascript-format +msgid "Dash to Dock %s" +msgstr "%s • Dash to Dock" + +#: Settings.ui.h:1 +msgid "" +"When set to minimize, double clicking minimizes all the windows of the " +"application." +msgstr "" +"Cuando se selecciona minimizar, una pulsación doble minimiza todas las " +"ventanas de la aplicación." + +#: Settings.ui.h:2 +msgid "Shift+Click action" +msgstr "Acción de Mayús + pulsación" + +#: Settings.ui.h:3 +msgid "Raise window" +msgstr "Elevar ventana" + +#: Settings.ui.h:4 +msgid "Minimize window" +msgstr "Minimizar ventana" + +#: Settings.ui.h:5 +msgid "Launch new instance" +msgstr "Iniciar una instancia nueva" + +#: Settings.ui.h:6 +msgid "Cycle through windows" +msgstr "Alternar entre ventanas" + +#: Settings.ui.h:7 +msgid "Minimize or overview" +msgstr "Minimizar o vista de actividades" + +#: Settings.ui.h:8 +msgid "Show window previews" +msgstr "Mostrar previsualizaciones de ventanas" + +#: Settings.ui.h:9 +msgid "Minimize or show previews" +msgstr "Minimizar o mostrar previsualizaciones" + +#: Settings.ui.h:10 +msgid "Focus or show previews" +msgstr "Focalizar o mostrar previsualizaciones" + +#: Settings.ui.h:11 +msgid "Quit" +msgstr "Salir" + +#: Settings.ui.h:12 +msgid "Behavior for Middle-Click." +msgstr "Comportamiento del botón central" + +#: Settings.ui.h:13 +msgid "Middle-Click action" +msgstr "Acción del botón central" + +#: Settings.ui.h:14 +msgid "Behavior for Shift+Middle-Click." +msgstr "Comportamiento de Mayús + botón central" + +#: Settings.ui.h:15 +msgid "Shift+Middle-Click action" +msgstr "Acción de Mayús + botón central" + +#: Settings.ui.h:16 +msgid "Enable Unity7 like glossy backlit items" +msgstr "Activar elementos retroiluminados a la Unity 7" + +#: Settings.ui.h:17 +msgid "Use dominant color" +msgstr "Utilizar el color dominante" + +#: Settings.ui.h:18 +msgid "Customize indicator style" +msgstr "Personalizar estilo del indicador" + +#: Settings.ui.h:19 +msgid "Color" +msgstr "Color" + +#: Settings.ui.h:20 +msgid "Border color" +msgstr "Color del borde" + +#: Settings.ui.h:21 +msgid "Border width" +msgstr "Grosor del borde" + +#: Settings.ui.h:22 +msgid "Show the dock on" +msgstr "Mostrar el dock en" + +#: Settings.ui.h:23 +msgid "Show on all monitors." +msgstr "Mostrar en todos los monitores." + +#: Settings.ui.h:24 +msgid "Position on screen" +msgstr "Posición en pantalla" + +#: Settings.ui.h:26 +msgid "Bottom" +msgstr "Inferior" + +#: Settings.ui.h:27 +msgid "Top" +msgstr "Superior" + +#: Settings.ui.h:29 +msgid "" +"Hide the dock when it obstructs a window of the current application. More " +"refined settings are available." +msgstr "" +"Ocultar el dock cuando cubre una ventana de la aplicación activa. Otras " +"opciones disponibles." + +#: Settings.ui.h:30 +msgid "Intelligent autohide" +msgstr "Ocultamiento automático inteligente" + +#: Settings.ui.h:31 +msgid "Dock size limit" +msgstr "Tamaño máximo del dock" + +#: Settings.ui.h:32 +msgid "Panel mode: extend to the screen edge" +msgstr "Modo panel: extender hasta los bordes de la pantalla" + +#: Settings.ui.h:33 +msgid "Icon size limit" +msgstr "Tamaño máximo de los iconos" + +#: Settings.ui.h:34 +msgid "Fixed icon size: scroll to reveal other icons" +msgstr "Tamaño fijo de los iconos: desplazarse para mostrar otros" + +#: Settings.ui.h:35 +msgid "Position and size" +msgstr "Posición y tamaño" + +#: Settings.ui.h:36 +msgid "Show favorite applications" +msgstr "Mostrar aplicaciones favoritas" + +#: Settings.ui.h:37 +msgid "Show running applications" +msgstr "Mostrar aplicaciones en ejecución" + +#: Settings.ui.h:38 +msgid "Isolate workspaces." +msgstr "Aislar los espacios de trabajo." + +#: Settings.ui.h:39 +msgid "Isolate monitors." +msgstr "Aislar los monitores." + +#: Settings.ui.h:40 +msgid "Show open windows previews." +msgstr "Mostrar vista rápida de ventanas." + +#: Settings.ui.h:41 +msgid "" +"If disabled, these settings are accessible from gnome-tweak-tool or the " +"extension website." +msgstr "" +"Si se desactiva, estas opciones estarán disponibles en Retoques de GNOME y " +"el sitio web de la extensión." + +#: Settings.ui.h:42 +msgid "Show Applications icon" +msgstr "Mostrar el icono Aplicaciones" + +#: Settings.ui.h:43 +msgid "Move the applications button at the beginning of the dock." +msgstr "Mover el botón de aplicaciones al comienzo del dock" + +#: Settings.ui.h:44 +msgid "Animate Show Applications." +msgstr "Animar Mostrar aplicaciones" + +#: Settings.ui.h:45 +msgid "Launchers" +msgstr "Lanzadores" + +#: Settings.ui.h:46 +msgid "" +"Enable Super+(0-9) as shortcuts to activate apps. It can also be used " +"together with Shift and Ctrl." +msgstr "" +"Activar Súper + (0-9) como atajos para activar aplicaciones. Pueden " +"emplearse en conjunto con Mayús y Ctrl." + +#: Settings.ui.h:47 +msgid "Use keyboard shortcuts to activate apps" +msgstr "Usar atajos de teclado para activar aplicaciones" + +#: Settings.ui.h:48 +msgid "Behaviour when clicking on the icon of a running application." +msgstr "Comportamiento al pulsar el icono de una aplicación en ejecución" + +#: Settings.ui.h:49 +msgid "Click action" +msgstr "Acción al pulsar" + +#: Settings.ui.h:51 +msgid "Behaviour when scrolling on the icon of an application." +msgstr "Comportamiento al usar la rueda sobre el icono de una aplicación." + +#: Settings.ui.h:52 +msgid "Scroll action" +msgstr "Acción al desplazarse" + +#: Settings.ui.h:53 +msgid "Do nothing" +msgstr "No hacer nada" + +#: Settings.ui.h:54 +msgid "Switch workspace" +msgstr "Cambiar de espacio de trabajo." + +#: Settings.ui.h:55 +msgid "Behavior" +msgstr "Comportamiento" + +#: Settings.ui.h:56 +msgid "" +"Few customizations meant to integrate the dock with the default GNOME theme. " +"Alternatively, specific options can be enabled below." +msgstr "" +"Utilizar el tema predeterminado de GNOME. Alternativamente, pueden elegirse " +"ciertas opciones más abajo." + +#: Settings.ui.h:57 +msgid "Use built-in theme" +msgstr "Utilizar el tema incorporado" + +#: Settings.ui.h:58 +msgid "Save space reducing padding and border radius." +msgstr "Reducir los márgenes para ganar espacio" + +#: Settings.ui.h:59 +msgid "Shrink the dash" +msgstr "Encoger el tablero" + +#: Settings.ui.h:60 +msgid "Customize windows counter indicators" +msgstr "Personalizar los contadores de ventanas" + +#: Settings.ui.h:61 +msgid "Default" +msgstr "Predeterminado" + +#: Settings.ui.h:62 +msgid "Dots" +msgstr "Puntos" + +#: Settings.ui.h:63 +msgid "Squares" +msgstr "Cuadrados" + +#: Settings.ui.h:64 +msgid "Dashes" +msgstr "Rayas" + +#: Settings.ui.h:65 +msgid "Segmented" +msgstr "Segmentado" + +#: Settings.ui.h:66 +msgid "Solid" +msgstr "Sólido" + +#: Settings.ui.h:67 +msgid "Ciliora" +msgstr "Ciliora" + +#: Settings.ui.h:68 +msgid "Metro" +msgstr "Metro" + +#: Settings.ui.h:69 +msgid "Set the background color for the dash." +msgstr "Escoger el color de fondo del dock." + +#: Settings.ui.h:70 +msgid "Customize the dash color" +msgstr "Personalizar el color del dock" + +#: Settings.ui.h:71 +msgid "Tune the dash background opacity." +msgstr "Ajustar la opacidad del fondo del dock." + +#: prefs.js:792 Settings.ui.h:72 +msgid "Customize opacity" +msgstr "Personalizar opacidad" + +#: Settings.ui.h:73 +msgid "Fixed" +msgstr "Fijo" + +#: Settings.ui.h:74 +msgid "Dynamic" +msgstr "Dinámico" + +#: Settings.ui.h:75 +msgid "Opacity" +msgstr "Opacidad" + +#: Settings.ui.h:76 +msgid "Force straight corner" +msgstr "Forzar esquinas rectas" + +#: Settings.ui.h:78 +msgid "Appearance" +msgstr "Apariencia" + +#: Settings.ui.h:79 +msgid "version: " +msgstr "versión: " + +#: Settings.ui.h:80 +msgid "Moves the dash out of the overview transforming it in a dock" +msgstr "" +"Mueve el panel fuera de la vista de actividades trasformándolo en un dock" + +#: Settings.ui.h:81 +msgid "Created by" +msgstr "Creado por" + +#: Settings.ui.h:82 +msgid "Webpage" +msgstr "Sitio web" + +#: Settings.ui.h:83 +msgid "" +"This program comes with ABSOLUTELY NO WARRANTY.\n" +"See the GNU General Public License, version 2 or later for details." +msgstr "" +"Este programa viene SIN NINGUNA GARANTÍA.\n" +"Consulte la Licencia Pública General de GNU, versión 2 o posterior para obtener " +"más detalles." + +#: Settings.ui.h:85 +msgid "About" +msgstr "Acerca de" + +#: Settings.ui.h:86 +msgid "Customize minimum and maximum opacity values" +msgstr "Personalizar los valores mínimo y máximo de opacidad" + +#: Settings.ui.h:87 +msgid "Minimum opacity" +msgstr "Opacidad mínima" + +#: Settings.ui.h:88 +msgid "Maximum opacity" +msgstr "Opacidad máxima" + +#: Settings.ui.h:89 +msgid "Number overlay" +msgstr "Número sobrepuesto" + +#: Settings.ui.h:90 +msgid "" +"Temporarily show the application numbers over the icons, corresponding to " +"the shortcut." +msgstr "" +"Al usar atajos, mostrar momentáneamente el número de aplicación sobre los " +"iconos." + +#: Settings.ui.h:91 +msgid "Show the dock if it is hidden" +msgstr "Mostrar el dock si está oculto" + +#: Settings.ui.h:92 +msgid "" +"If using autohide, the dock will appear for a short time when triggering the " +"shortcut." +msgstr "" +"Si se activa el ocultamiento automático, el dock aparecerá momentáneamente " +"al usar el atajo." + +#: Settings.ui.h:93 +msgid "Shortcut for the options above" +msgstr "Atajo para las opciones anteriores" + +#: Settings.ui.h:94 +msgid "Syntax: , , , " +msgstr "Sintaxis: , , , " + +#: Settings.ui.h:95 +msgid "Hide timeout (s)" +msgstr "Tiempo de ocultación (s)" + +#: Settings.ui.h:96 +msgid "Show the dock by mouse hover on the screen edge." +msgstr "Mostrar el dock al mover el puntero al borde de la pantalla" + +#: Settings.ui.h:97 +msgid "Autohide" +msgstr "Ocultar automáticamente" + +#: Settings.ui.h:98 +msgid "Push to show: require pressure to show the dock" +msgstr "Empujar para mostrar: requiere hacer presión para mostrar el dock" + +#: Settings.ui.h:99 +msgid "Enable in fullscreen mode" +msgstr "Activar en modo de pantalla completa" + +#: Settings.ui.h:100 +msgid "Show the dock when it doesn't obstruct application windows." +msgstr "Mostrar el dock cuando no cubra otras ventanas de aplicaciones." + +#: Settings.ui.h:101 +msgid "Dodge windows" +msgstr "Esquivar las ventanas" + +#: Settings.ui.h:102 +msgid "All windows" +msgstr "Todas las ventanas" + +#: Settings.ui.h:103 +msgid "Only focused application's windows" +msgstr "Solo las ventanas de la aplicación activa" + +#: Settings.ui.h:104 +msgid "Only maximized windows" +msgstr "Solo las ventanas maximizadas" + +#: Settings.ui.h:105 +msgid "Animation duration (s)" +msgstr "Duración de la animación (s)" + +#: Settings.ui.h:106 +msgid "Show timeout (s)" +msgstr "Tiempo de aparición (s)" + +#: Settings.ui.h:107 +msgid "Pressure threshold" +msgstr "Nivel de presión" + +#: Settings.ui.h:108 +msgid "Show trash can" +msgstr "Mostrar el icono Papelera" + +#: Settings.ui.h:109 +msgid "Show mounted volumes and devices" +msgstr "Mostrar los dispositivos montados" + #~ msgid "Application" #~ msgstr "Aplicación" @@ -387,12 +907,6 @@ msgstr "Añadir área de trabajo" #~ msgid "Normal" #~ msgstr "Normal" -#~ msgid "Left" -#~ msgstr "Izquierda" - -#~ msgid "Right" -#~ msgstr "Derecha" - #~ msgid "Upside-down" #~ msgstr "Hacia abajo" diff --git a/po/eu.po b/po/eu.po index 094f6749..f3e26694 100644 --- a/po/eu.po +++ b/po/eu.po @@ -1,3 +1,4 @@ +# #-#-#-#-# eu.po (gnome-shell-extensions master) #-#-#-#-# # Basque translation for gnome-shell-extensions. # Copyright (C) 2011 gnome-shell-extensions's COPYRIGHT HOLDER # This file is distributed under the same license as the gnome-shell-extensions package. @@ -7,9 +8,18 @@ # Edurne Labaka , 2015. # Asier Sarasua Garmendia , 2019, 2020. # +# #-#-#-#-# eu.po #-#-#-#-# +# Dash to Dock Basque translation. +# This file is distributed under the same license as the Dash to Dock package. +# Ibai Oihanguren Sala , 2020. +# +#, fuzzy msgid "" -msgstr "Project-Id-Version: gnome-shell-extensions master\n" -"Report-Msgid-Bugs-To: https://gitlab.gnome.org/GNOME/gnome-shell-extensions/issues\n" +msgstr "" +"#-#-#-#-# eu.po (gnome-shell-extensions master) #-#-#-#-#\n" +"Project-Id-Version: gnome-shell-extensions master\n" +"Report-Msgid-Bugs-To: https://gitlab.gnome.org/GNOME/gnome-shell-extensions/" +"issues\n" "POT-Creation-Date: 2020-05-28 00:55+0000\n" "PO-Revision-Date: 2020-08-10 00:42+0200\n" "Last-Translator: Asier Sarasua Garmendia \n" @@ -21,6 +31,17 @@ msgstr "Project-Id-Version: gnome-shell-extensions master\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" "X-Project-Style: gnome\n" "X-Generator: Poedit 2.2.3\n" +"#-#-#-#-# eu.po #-#-#-#-#\n" +"Project-Id-Version: \n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2020-03-22 23:54+0100\n" +"PO-Revision-Date: 2020-03-22 23:54+0100\n" +"Last-Translator: Ibai Oihanguren Sala \n" +"Language-Team: \n" +"Language: eu\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" #: data/gnome-classic.desktop.in:3 data/gnome-classic.session.desktop.in:3 msgid "GNOME Classic" @@ -46,7 +67,9 @@ msgstr "Aplikazioen eta laneko areen zerrenda" msgid "" "A list of strings, each containing an application id (desktop file name), " "followed by a colon and the workspace number" -msgstr "Kateen zerrenda bat, bakoitzak aplikazio-ID bat duena (mahaigainaren fitxategi-izena) eta jarraian bi puntu eta laneko arearen zenbakia dituena" +msgstr "" +"Kateen zerrenda bat, bakoitzak aplikazio-ID bat duena (mahaigainaren " +"fitxategi-izena) eta jarraian bi puntu eta laneko arearen zenbakia dituena" #: extensions/auto-move-windows/prefs.js:35 msgid "Workspace Rules" @@ -80,7 +103,11 @@ msgid "" "Try to use more screen for placing window thumbnails by adapting to screen " "aspect ratio, and consolidating them further to reduce the bounding box. " "This setting applies only with the natural placement strategy." -msgstr "Saiatu pantaila gehiago erabiltzen leihoen koadro txikiak kokatzeko pantailaren aspektu-erlaziora egokituz, eta haiek taldekatu muga-koadroa txikiagotzeko. Ezarpen hau kokapen naturalaren estrategiarekin soilik aplikatzen da." +msgstr "" +"Saiatu pantaila gehiago erabiltzen leihoen koadro txikiak kokatzeko " +"pantailaren aspektu-erlaziora egokituz, eta haiek taldekatu muga-koadroa " +"txikiagotzeko. Ezarpen hau kokapen naturalaren estrategiarekin soilik " +"aplikatzen da." #: extensions/native-window-placement/org.gnome.shell.extensions.native-window-placement.gschema.xml:11 msgid "Place window captions on top" @@ -91,7 +118,10 @@ msgid "" "If true, place window captions on top the respective thumbnail, overriding " "shell default of placing it at the bottom. Changing this setting requires " "restarting the shell to have any effect." -msgstr "TRUE (egia) bada, leihoen epigrafeak dagokien koadro txikien gainean jarriko ditu, Shell-aren lehenespena (behean jartzearena) gainidatziz. Ezarpen hau aldatzeko eta aplikatzeko Shell berrabiarazi behar da." +msgstr "" +"TRUE (egia) bada, leihoen epigrafeak dagokien koadro txikien gainean jarriko " +"ditu, Shell-aren lehenespena (behean jartzearena) gainidatziz. Ezarpen hau " +"aldatzeko eta aplikatzeko Shell berrabiarazi behar da." #: extensions/places-menu/extension.js:89 #: extensions/places-menu/extension.js:93 @@ -145,7 +175,7 @@ msgstr "Itxi" msgid "Unminimize" msgstr "Leheneratu" -#: extensions/window-list/extension.js:118 +#: extensions/window-list/extension.js:118 Settings.ui.h:53 msgid "Minimize" msgstr "Minimizatu" @@ -189,7 +219,10 @@ msgstr "Noiz elkartu leihoak" msgid "" "Decides when to group windows from the same application on the window list. " "Possible values are “never”, “auto” and “always”." -msgstr "Aplikazio bereko leihoak leihoen zerrendan noiz elkartuko diren erabakitzen du. Balio erabilgarriak: “never“ (inoiz ere ez), “auto“ (automatikoa) eta “always“ (beti)." +msgstr "" +"Aplikazio bereko leihoak leihoen zerrendan noiz elkartuko diren erabakitzen " +"du. Balio erabilgarriak: “never“ (inoiz ere ez), “auto“ (automatikoa) eta " +"“always“ (beti)." #: extensions/window-list/org.gnome.shell.extensions.window-list.gschema.xml:20 #: extensions/window-list/prefs.js:100 @@ -198,7 +231,8 @@ msgstr "Erakutsi laneko area guztietako leihoak" #: extensions/window-list/org.gnome.shell.extensions.window-list.gschema.xml:21 msgid "Whether to show windows from all workspaces or only the current one." -msgstr "Laneko area guztietako leihoak edo uneko areakoak soilik erakutsiko diren." +msgstr "" +"Laneko area guztietako leihoak edo uneko areakoak soilik erakutsiko diren." #: extensions/window-list/org.gnome.shell.extensions.window-list.gschema.xml:27 msgid "Show the window list on all monitors" @@ -208,7 +242,9 @@ msgstr "Erakutsi leihoen zerrenda pantaila guztietan" msgid "" "Whether to show the window list on all connected monitors or only on the " "primary one." -msgstr "Leihoen zerrenda konektatutako pantaila guztietan edo soilik pantaila nagusian erakutsiko den." +msgstr "" +"Leihoen zerrenda konektatutako pantaila guztietan edo soilik pantaila " +"nagusian erakutsiko den." #: extensions/window-list/prefs.js:29 msgid "Window Grouping" @@ -248,6 +284,528 @@ msgstr "%d. laneko area" msgid "Add Workspace" msgstr "Gehitu laneko area" +#: prefs.js:310 Settings.ui.h:26 +msgid "Left" +msgstr "Ezkerrean" + +#: prefs.js:309 Settings.ui.h:29 +msgid "Right" +msgstr "Eskuinean" + +#: prefs.js:268 +msgid "Primary monitor" +msgstr "Monitore nagusia" + +#: prefs.js:277 prefs.js:284 +msgid "Secondary monitor " +msgstr "Bigarren monitorea " + +#: prefs.js:360 +msgid "Intelligent autohide customization" +msgstr "Ezkutatze adimentsuaren pertsonalizazioa" + +#: prefs.js:367 prefs.js:560 prefs.js:616 +msgid "Reset to defaults" +msgstr "Berrezarri balio lehenetsiak" + +#: prefs.js:553 +msgid "Show dock and application numbers" +msgstr "Erakutsi atrakea eta aplikazioen zenbakiak" + +#: prefs.js:609 +msgid "Customize middle-click behavior" +msgstr "Pertsonalizatu erdiko klikaren portaera" + +#: prefs.js:692 +msgid "Customize running indicators" +msgstr "Pertsonalizatu martxan egotearen adierazleak" + +#: prefs.js:804 Settings.ui.h:75 +msgid "Customize opacity" +msgstr "Pertsonalizatu opakutasuna" + +#: appIcons.js:792 +msgid "All Windows" +msgstr "Leiho guztiak" + +#. Translators: %s is "Settings", which is automatically translated. You +#. can also translate the full message if this fits better your language. +#: appIcons.js:1119 +#, javascript-format +msgid "Dash to Dock %s" +msgstr "Dash to Dock %s" + +#: locations.js:65 +msgid "Trash" +msgstr "Zakarrontzia" + +#: locations.js:74 +msgid "Empty Trash" +msgstr "Hustu zakarrontzia" + +#: locations.js:189 +msgid "Mount" +msgstr "Muntatu" + +#: locations.js:232 +msgid "Eject" +msgstr "Egotzi" + +#: locations.js:237 +msgid "Unmount" +msgstr "Desmuntatu" + +#: Settings.ui.h:1 +msgid "" +"When set to minimize, double clicking minimizes all the windows of the " +"application." +msgstr "" +"Minimizatzea hautatuz gero, klik bikoitzak aplikazioaren leiho guztiak " +"minimizatzen ditu." + +#: Settings.ui.h:2 +msgid "Shift+Click action" +msgstr "Maius+Klik ekintza" + +#: Settings.ui.h:3 +msgid "Raise window" +msgstr "Goratu leihoa" + +#: Settings.ui.h:4 +msgid "Minimize window" +msgstr "Minimizatu leihoa" + +#: Settings.ui.h:5 +msgid "Launch new instance" +msgstr "Abiarazi instantzia berria" + +#: Settings.ui.h:6 +msgid "Cycle through windows" +msgstr "Txandakatu leihoak" + +#: Settings.ui.h:7 +msgid "Minimize or overview" +msgstr "Minimizatu edo ikuspegi orokorra" + +#: Settings.ui.h:8 +msgid "Show window previews" +msgstr "Erakutsi leihoen aurrebistak" + +#: Settings.ui.h:9 +msgid "Minimize or show previews" +msgstr "Minimizatu edo erakutsi aurrebistak" + +#: Settings.ui.h:10 +msgid "Focus or show previews" +msgstr "Fokuratu edo erakutsi aurrebistak" + +#: Settings.ui.h:11 +msgid "Quit" +msgstr "Irten" + +#: Settings.ui.h:12 +msgid "Behavior for Middle-Click." +msgstr "Erdiko klikaren portaera" + +#: Settings.ui.h:13 +msgid "Middle-Click action" +msgstr "Erdiko klikaren ekintza" + +#: Settings.ui.h:14 +msgid "Behavior for Shift+Middle-Click." +msgstr "Maius+Erdiko klikaren portaera" + +#: Settings.ui.h:15 +msgid "Shift+Middle-Click action" +msgstr "Maius+Erdiko klikaren ekintza" + +#: Settings.ui.h:16 +msgid "Enable Unity7 like glossy backlit items" +msgstr "Gaitu Unity7 erako atzeko argidun elementu distiratsuak" + +#: Settings.ui.h:17 +msgid "Apply glossy effect." +msgstr "Aplikatu efektu distiratsua." + +#: Settings.ui.h:18 +msgid "Use dominant color" +msgstr "Erabili kolore nagusia" + +#: Settings.ui.h:19 +msgid "Customize indicator style" +msgstr "Pertsonalizatu adierazleen estiloa" + +#: Settings.ui.h:20 +msgid "Color" +msgstr "Kolorea" + +#: Settings.ui.h:21 +msgid "Border color" +msgstr "Ertzaren kolorea" + +#: Settings.ui.h:22 +msgid "Border width" +msgstr "Ertzaren zabalera" + +#: Settings.ui.h:23 +msgid "Show the dock on" +msgstr "Erakutsi atrakea hemen" + +#: Settings.ui.h:24 +msgid "Show on all monitors." +msgstr "Erakutsi monitore guztietan." + +#: Settings.ui.h:25 +msgid "Position on screen" +msgstr "Pantailako posizioa" + +#: Settings.ui.h:27 +msgid "Bottom" +msgstr "Behean" + +#: Settings.ui.h:28 +msgid "Top" +msgstr "Goian" + +#: Settings.ui.h:30 +msgid "" +"Hide the dock when it obstructs a window of the current application. More " +"refined settings are available." +msgstr "" +"Ezkutatu atrakea uneko aplikazioaren leiho bat eragozten duenean. Ezarpen " +"zehatzagoak erabilgarri daude." + +#: Settings.ui.h:31 +msgid "Intelligent autohide" +msgstr "Ezkutatze adimentsua" + +#: Settings.ui.h:32 +msgid "Dock size limit" +msgstr "Atrakearen tamaina-muga" + +#: Settings.ui.h:33 +msgid "Panel mode: extend to the screen edge" +msgstr "Panel modua: hedatu pantailaren ertzetara" + +#: Settings.ui.h:34 +msgid "Icon size limit" +msgstr "Ikonoen tamaina-muga" + +#: Settings.ui.h:35 +msgid "Fixed icon size: scroll to reveal other icons" +msgstr "Ikono-tamaina finkoa: korritu beste ikonoak erakusteko" + +#: Settings.ui.h:36 +msgid "Position and size" +msgstr "Posizioa eta tamaina" + +#: Settings.ui.h:37 +msgid "Show favorite applications" +msgstr "Erakutsi gogoko aplikazioak" + +#: Settings.ui.h:38 +msgid "Show running applications" +msgstr "Erakutsi martxan dauden aplikazioak" + +#: Settings.ui.h:39 +msgid "Isolate workspaces." +msgstr "Isolatu laneako areak." + +#: Settings.ui.h:40 +msgid "Isolate monitors." +msgstr "Isolatu monitoreak." + +#: Settings.ui.h:41 +msgid "Show open windows previews." +msgstr "Erakutsi irekitako leihoen aurrebistak." + +#: Settings.ui.h:42 +msgid "" +"If disabled, these settings are accessible from gnome-tweak-tool or the " +"extension website." +msgstr "" +"Desgaituz gero, ezarpen hauek gnome-tweak-tool aplikazioan edo hedapenen " +"webgunean daude erabilgarri." + +#: Settings.ui.h:43 +msgid "Show Applications icon" +msgstr "Erakutsi Aplikazioak ikonoa" + +#: Settings.ui.h:44 +msgid "Move the applications button at the beginning of the dock." +msgstr "Eraman aplikazioen botoia atrakearen hasierara." + +#: Settings.ui.h:45 +msgid "Animate Show Applications." +msgstr "Animatu Erakutsi aplikazioak ekintza." + +#: Settings.ui.h:46 +msgid "Show trash can" +msgstr "Erakutsi zakarrontzia" + +#: Settings.ui.h:47 +msgid "Show mounted volumes and devices" +msgstr "Erakutsi muntatutako bolumen eta gailuak" + +#: Settings.ui.h:48 +msgid "Launchers" +msgstr "Abiarazleak" + +#: Settings.ui.h:49 +msgid "" +"Enable Super+(0-9) as shortcuts to activate apps. It can also be used " +"together with Shift and Ctrl." +msgstr "" +"Gaitu Super+(0-9) aplikazioak aktibatzeko laster-tekla gisa. Maius eta Ktrl " +"teklekin batera ere erabil daiteke." + +#: Settings.ui.h:50 +msgid "Use keyboard shortcuts to activate apps" +msgstr "Erabili laster-teklak aplikazioak aktibatzeko" + +#: Settings.ui.h:51 +msgid "Behaviour when clicking on the icon of a running application." +msgstr "Martxan dagoen aplikazio baten ikonoak klik egitean duen portaera." + +#: Settings.ui.h:52 +msgid "Click action" +msgstr "Klik ekintza" + +#: Settings.ui.h:54 +msgid "Behaviour when scrolling on the icon of an application." +msgstr "Aplikazio baten ikonoaren gainean sagua korritzean duen portaera." + +#: Settings.ui.h:55 +msgid "Scroll action" +msgstr "Korritze-ekintza" + +#: Settings.ui.h:56 +msgid "Do nothing" +msgstr "Ez egin ezer" + +#: Settings.ui.h:57 +msgid "Switch workspace" +msgstr "Aldatu laneko areaz" + +#: Settings.ui.h:58 +msgid "Behavior" +msgstr "Portaera" + +#: Settings.ui.h:59 +msgid "" +"Few customizations meant to integrate the dock with the default GNOME theme. " +"Alternatively, specific options can be enabled below." +msgstr "" +"Atrakea GNOMEren gai lehenetsiarekin integratzeko ezarritako pertsonalizazio " +"txikiak. Honen ordez aukera zehatzak gaitu daitezke jarraian." + +#: Settings.ui.h:60 +msgid "Use built-in theme" +msgstr "Erabili integrazio gaia" + +#: Settings.ui.h:61 +msgid "Save space reducing padding and border radius." +msgstr "Hartu leku gutxiago betegarria eta ertzen erradioa txikituz." + +#: Settings.ui.h:62 +msgid "Shrink the dash" +msgstr "Txikiagotu abiarazle-panela" + +#: Settings.ui.h:63 +msgid "Customize windows counter indicators" +msgstr "Pertsonalizatu leiho kopuruen adierazleak" + +#: Settings.ui.h:64 +msgid "Default" +msgstr "Lehenetsia" + +#: Settings.ui.h:65 +msgid "Dots" +msgstr "Puntuak" + +#: Settings.ui.h:66 +msgid "Squares" +msgstr "Laukiak" + +#: Settings.ui.h:67 +msgid "Dashes" +msgstr "Marrak" + +#: Settings.ui.h:68 +msgid "Segmented" +msgstr "Zatikatua" + +#: Settings.ui.h:69 +msgid "Solid" +msgstr "Solidoa" + +#: Settings.ui.h:70 +msgid "Ciliora" +msgstr "Ciliora" + +#: Settings.ui.h:71 +msgid "Metro" +msgstr "Metro" + +#: Settings.ui.h:72 +msgid "Set the background color for the dash." +msgstr "Ezarri abiarazle-panelaren atzeko planoko kolorea" + +#: Settings.ui.h:73 +msgid "Customize the dash color" +msgstr "Personalizatu abiarazle-panelaren kolorea" + +#: Settings.ui.h:74 +msgid "Tune the dash background opacity." +msgstr "Doitu abiarazle-panelaren atzeko planoaren opakutasuna." + +#: Settings.ui.h:76 +msgid "Fixed" +msgstr "Finkoa" + +#: Settings.ui.h:77 +msgid "Dynamic" +msgstr "Dinamikoa" + +#: Settings.ui.h:78 +msgid "Opacity" +msgstr "Opakutasuna" + +#: Settings.ui.h:79 +msgid "Force straight corner\n" +msgstr "Behartu erpin zuzena\n" + +#: Settings.ui.h:80 +msgid "Appearance" +msgstr "Itxura" + +#: Settings.ui.h:81 +msgid "version: " +msgstr "bertsioa: " + +#: Settings.ui.h:82 +msgid "Moves the dash out of the overview transforming it in a dock" +msgstr "Abiarazle-panela ikuspegi orokorretik ateratzen du, atrake bihurtuz" + +#: Settings.ui.h:83 +msgid "Created by" +msgstr "Sortzaileak" + +#: Settings.ui.h:84 +msgid "Webpage" +msgstr "Webgunea" + +#: Settings.ui.h:85 +msgid "" +"This program comes with ABSOLUTELY NO WARRANTY.\n" +"See the GNU General Public License, version 2 or later for details." +msgstr "" +"Programa honek ez du inolako bermerik.\n" +"Xehetasun gehiagorako, ikusi GNUren Lizentzia Publiko Orokorra, 2. bertsioa edo " +"berriagoa" + +#: Settings.ui.h:87 +msgid "About" +msgstr "Honi buruz" + +#: Settings.ui.h:88 +msgid "Customize minimum and maximum opacity values" +msgstr "Pertsonalizatu opakutasun minimo eta maximoa" + +#: Settings.ui.h:89 +msgid "Minimum opacity" +msgstr "Opakutasun minimoa" + +#: Settings.ui.h:90 +msgid "Maximum opacity" +msgstr "Opakutasun maximoa" + +#: Settings.ui.h:91 +msgid "Number overlay" +msgstr "Gainjarritako zenbakiak" + +#: Settings.ui.h:92 +msgid "" +"Temporarily show the application numbers over the icons, corresponding to " +"the shortcut." +msgstr "" +"Erakutsi une batez laster-teklei dagozkien aplikazio-zenbakiak ikonoen " +"gainean." + +#: Settings.ui.h:93 +msgid "Show the dock if it is hidden" +msgstr "Erakutsi atrakea ezkutatua badago" + +#: Settings.ui.h:94 +msgid "" +"If using autohide, the dock will appear for a short time when triggering the " +"shortcut." +msgstr "" +"Ezkutatze automatikoa erabiltzean, laster-tekla sakatuz atrakea une baterako " +"azalduko da." + +#: Settings.ui.h:95 +msgid "Shortcut for the options above" +msgstr "Goiko aukeretarako laster-teklak" + +#: Settings.ui.h:96 +msgid "Syntax: , , , " +msgstr "Sintaxia: , , , " + +#: Settings.ui.h:97 +msgid "Hide timeout (s)" +msgstr "Ezkutatzeko denbora-muga (s)" + +#: Settings.ui.h:98 +msgid "Show the dock by mouse hover on the screen edge." +msgstr "Erakutsi atrakea sagua pantailaren ertzera eramatean." + +#: Settings.ui.h:99 +msgid "Autohide" +msgstr "Ezkutatze automatikoa" + +#: Settings.ui.h:100 +msgid "Push to show: require pressure to show the dock" +msgstr "Bultzatu erakusteko: presio pixka bat egin behar da atrakea erakusteko" + +#: Settings.ui.h:101 +msgid "Enable in fullscreen mode" +msgstr "Gaitu pantaila osoko moduan" + +#: Settings.ui.h:102 +msgid "Show the dock when it doesn't obstruct application windows." +msgstr "Erakutsi atrakea aplikazioaren leihoak eragozten ez dituenean." + +#: Settings.ui.h:103 +msgid "Dodge windows" +msgstr "Saihestu leihoak" + +#: Settings.ui.h:104 +msgid "All windows" +msgstr "Leiho guztiak" + +#: Settings.ui.h:105 +msgid "Only focused application's windows" +msgstr "Fokuratutako aplikazioen leihoetan soilik" + +#: Settings.ui.h:106 +msgid "Only maximized windows" +msgstr "Maximizatutako leihoetan soilik" + +#: Settings.ui.h:107 +msgid "Animation duration (s)" +msgstr "Animazioaren iraupena (s)" + +#: Settings.ui.h:108 +msgid "Show timeout (s)" +msgstr "Erakusteko denbora-muga (s)" + +#: Settings.ui.h:109 +msgid "Pressure threshold" +msgstr "Presio-atalasea" + #~ msgid "Application" #~ msgstr "Aplikazioa" @@ -391,12 +949,6 @@ msgstr "Gehitu laneko area" #~ msgid "Normal" #~ msgstr "Normala" -#~ msgid "Left" -#~ msgstr "Ezkerrean" - -#~ msgid "Right" -#~ msgstr "Eskuinean" - #~ msgid "Upside-down" #~ msgstr "Buruz behera" diff --git a/po/fr.po b/po/fr.po index ffa70d96..b1849159 100644 --- a/po/fr.po +++ b/po/fr.po @@ -1,3 +1,4 @@ +# #-#-#-#-# fr.po (gnome-shell-extensions master) #-#-#-#-# # French translation for gnome-shell-extensions. # Copyright (C) 2011-12 Listed translators # This file is distributed under the same license as the gnome-shell-extensions package. @@ -5,8 +6,16 @@ # Alain Lojewski , 2012-2013. # Charles Monzat , 2018. # +# #-#-#-#-# fr.po (Dash to Dock) #-#-#-#-# +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. +# FIRST AUTHOR , YEAR. +# +#, fuzzy msgid "" msgstr "" +"#-#-#-#-# fr.po (gnome-shell-extensions master) #-#-#-#-#\n" "Project-Id-Version: gnome-shell-extensions master\n" "Report-Msgid-Bugs-To: https://gitlab.gnome.org/GNOME/gnome-shell-extensions/" "issues\n" @@ -19,6 +28,18 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n > 1);\n" +"#-#-#-#-# fr.po (Dash to Dock) #-#-#-#-#\n" +"Project-Id-Version: Dash to Dock\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2019-12-07 16:40+0900\n" +"PO-Revision-Date: 2019-12-07 16:52+0900\n" +"Last-Translator: Julien Humbert \n" +"Language-Team: Jean-Baptiste Le Cz \n" +"Language: fr\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Poedit 2.2.4\n" #: data/gnome-classic.desktop.in:3 data/gnome-classic.session.desktop.in:3 msgid "GNOME Classic" @@ -154,9 +175,14 @@ msgstr "Fermer" msgid "Unminimize" msgstr "Restaurer" -#: extensions/window-list/extension.js:118 +#: extensions/window-list/extension.js:118 Settings.ui.h:52 +#, fuzzy msgid "Minimize" -msgstr "Réduire" +msgstr "" +"#-#-#-#-# fr.po (gnome-shell-extensions master) #-#-#-#-#\n" +"Réduire\n" +"#-#-#-#-# fr.po (Dash to Dock) #-#-#-#-#\n" +"Minimiser la fenêtre" #: extensions/window-list/extension.js:125 msgid "Unmaximize" @@ -264,5 +290,512 @@ msgstr "Espace de travail %d" msgid "Add Workspace" msgstr "Ajouter un espace de travail" +#: prefs.js:268 +msgid "Primary monitor" +msgstr "Moniteur principal" + +#: prefs.js:277 prefs.js:284 +msgid "Secondary monitor " +msgstr "Moniteur secondaire " + +#: prefs.js:309 Settings.ui.h:28 +msgid "Right" +msgstr "Droite" + +#: prefs.js:310 Settings.ui.h:25 +msgid "Left" +msgstr "Gauche" + +#: prefs.js:360 +msgid "Intelligent autohide customization" +msgstr "Personnalisation du masquage automatique" + +#: prefs.js:367 prefs.js:560 prefs.js:616 +msgid "Reset to defaults" +msgstr "Restaurer la configuration par défaut" + +#: prefs.js:553 +msgid "Show dock and application numbers" +msgstr "Afficher le dock et le numéro d’application" + +#: prefs.js:609 +msgid "Customize middle-click behavior" +msgstr "Personnaliser le comportement du clic milieu" + +#: prefs.js:692 +msgid "Customize running indicators" +msgstr "Régler les indicateurs de fenêtres" + +#: prefs.js:804 Settings.ui.h:74 +msgid "Customize opacity" +msgstr "Régler l’opacité du dock" + +#: appIcons.js:810 +msgid "All Windows" +msgstr "Toutes les fenêtres" + +#. Translators: %s is "Settings", which is automatically translated. You +#. can also translate the full message if this fits better your language. +#: appIcons.js:1127 +#, javascript-format +msgid "Dash to Dock %s" +msgstr "Dash to Dock %s" + +#: Settings.ui.h:1 +msgid "" +"When set to minimize, double clicking minimizes all the windows of the " +"application." +msgstr "" +"Quand réglé sur Minimiser, double-cliquer minimise toutes les fenêtres de " +"l’application." + +#: Settings.ui.h:2 +msgid "Shift+Click action" +msgstr "Action Maj+Clic" + +#: Settings.ui.h:3 +msgid "Raise window" +msgstr "Faire apparaître la fenêtre" + +#: Settings.ui.h:4 +msgid "Minimize window" +msgstr "Minimiser la fenêtre" + +#: Settings.ui.h:5 +msgid "Launch new instance" +msgstr "Lancer une nouvelle fenêtre" + +#: Settings.ui.h:6 +msgid "Cycle through windows" +msgstr "Cycler sur les fenêtres" + +#: Settings.ui.h:7 +msgid "Minimize or overview" +msgstr "Minimiser ou lancer l’exposé" + +#: Settings.ui.h:8 +msgid "Show window previews" +msgstr "Afficher des aperçus de fenêtres" + +#: Settings.ui.h:9 +msgid "Minimize or show previews" +msgstr "Minimiser ou afficher l’aperçu des fenêtres" + +#: Settings.ui.h:10 +msgid "Focus or show previews" +msgstr "Activer ou afficher l’aperçu des fenêtres" + +#: Settings.ui.h:11 +msgid "Quit" +msgstr "Quitter" + +#: Settings.ui.h:12 +msgid "Behavior for Middle-Click." +msgstr "Comportement pour le clic milieu." + +#: Settings.ui.h:13 +msgid "Middle-Click action" +msgstr "Action du clic milieu" + +#: Settings.ui.h:14 +msgid "Behavior for Shift+Middle-Click." +msgstr "Comportement pour Maj+Clic milieu." + +#: Settings.ui.h:15 +msgid "Shift+Middle-Click action" +msgstr "Action de Maj+Clic milieu" + +#: Settings.ui.h:16 +msgid "Enable Unity7 like glossy backlit items" +msgstr "Activer un fond brillant à la Unity 7" + +#: Settings.ui.h:17 +msgid "Use dominant color" +msgstr "Utiliser la couleur dominante" + +#: Settings.ui.h:18 +msgid "Customize indicator style" +msgstr "Régler le style des indicateurs" + +#: Settings.ui.h:19 +msgid "Color" +msgstr "Couleur" + +#: Settings.ui.h:20 +msgid "Border color" +msgstr "Couleur de la bordure" + +#: Settings.ui.h:21 +msgid "Border width" +msgstr "Épaisseur de la bordure" + +#: Settings.ui.h:22 +msgid "Show the dock on" +msgstr "Afficher le dock sur le" + +#: Settings.ui.h:23 +msgid "Show on all monitors." +msgstr "Afficher sur tous les écrans." + +#: Settings.ui.h:24 +msgid "Position on screen" +msgstr "Position sur l’écran" + +#: Settings.ui.h:26 +msgid "Bottom" +msgstr "Bas" + +#: Settings.ui.h:27 +msgid "Top" +msgstr "Haut" + +#: Settings.ui.h:29 +msgid "" +"Hide the dock when it obstructs a window of the current application. More " +"refined settings are available." +msgstr "" +"Cache le dock quand il gêne l’application principale. D’autres paramètres " +"plus spécifiques sont disponibles." + +#: Settings.ui.h:30 +msgid "Intelligent autohide" +msgstr "Masquage intelligent" + +#: Settings.ui.h:31 +msgid "Dock size limit" +msgstr "Taille maximum du dock" + +#: Settings.ui.h:32 +msgid "Panel mode: extend to the screen edge" +msgstr "Mode barre : étendre aux bords de l’écran" + +#: Settings.ui.h:33 +msgid "Icon size limit" +msgstr "Taille maximum des icônes" + +#: Settings.ui.h:34 +msgid "Fixed icon size: scroll to reveal other icons" +msgstr "Taille des icônes fixe : faire défiler pour voir les autres icônes" + +#: Settings.ui.h:35 +msgid "Position and size" +msgstr "Position et taille" + +#: Settings.ui.h:36 +msgid "Show favorite applications" +msgstr "Afficher les applications favorites" + +#: Settings.ui.h:37 +msgid "Show running applications" +msgstr "Afficher les applications en cours" + +#: Settings.ui.h:38 +msgid "Isolate workspaces." +msgstr "Isoler les espaces de travail." + +#: Settings.ui.h:39 +msgid "Isolate monitors." +msgstr "Isoler les moniteurs." + +#: Settings.ui.h:40 +msgid "Show open windows previews." +msgstr "Afficher des aperçus de fenêtres." + +#: Settings.ui.h:41 +msgid "" +"If disabled, these settings are accessible from gnome-tweak-tool or the " +"extension website." +msgstr "" +"Si désactivés, ces paramètres sont accessibles via gnome-tweak-tool ou le " +"site d’extension GNOME." + +#: Settings.ui.h:42 +msgid "Show Applications icon" +msgstr "Afficher le raccourci Afficher les Applications" + +#: Settings.ui.h:43 +msgid "Move the applications button at the beginning of the dock." +msgstr "Placer le bouton des applications en première position." + +#: Settings.ui.h:44 +msgid "Animate Show Applications." +msgstr "Animer le raccourci Afficher les Applications." + +#: Settings.ui.h:45 +msgid "Show trash can" +msgstr "Afficher la corbeille" + +#: Settings.ui.h:46 +msgid "Show mounted volumes and devices" +msgstr "Afficher les appareils et volumes montés" + +#: Settings.ui.h:47 +msgid "Launchers" +msgstr "Lanceurs" + +#: Settings.ui.h:48 +msgid "" +"Enable Super+(0-9) as shortcuts to activate apps. It can also be used " +"together with Shift and Ctrl." +msgstr "" +"Activer Super+(0-9) comme raccourcis pour activer les applications. On peut " +"l’utiliser aussi avec Maj et Ctrl." + +#: Settings.ui.h:49 +msgid "Use keyboard shortcuts to activate apps" +msgstr "Utiliser des raccourcis clavier pour activer les applications" + +#: Settings.ui.h:50 +msgid "Behaviour when clicking on the icon of a running application." +msgstr "Comportement du clic sur l’icône d’une application ouverte." + +#: Settings.ui.h:51 +msgid "Click action" +msgstr "Action du clic" + +#: Settings.ui.h:53 +msgid "Behaviour when scrolling on the icon of an application." +msgstr "Comportement lors du défilement sur l’icône d’une application." + +#: Settings.ui.h:54 +msgid "Scroll action" +msgstr "Action du défilement" + +#: Settings.ui.h:55 +msgid "Do nothing" +msgstr "Ne rien faire" + +#: Settings.ui.h:56 +msgid "Switch workspace" +msgstr "Changer d’espace de travail" + +#: Settings.ui.h:57 +msgid "Behavior" +msgstr "Comportement" + +#: Settings.ui.h:58 +msgid "" +"Few customizations meant to integrate the dock with the default GNOME theme. " +"Alternatively, specific options can be enabled below." +msgstr "" +"Assortir le dock avec le thème par défaut. Sinon, vous pouvez personnaliser " +"quelques paramètres ci-dessous." + +#: Settings.ui.h:59 +msgid "Use built-in theme" +msgstr "Utiliser le thème par défaut" + +#: Settings.ui.h:60 +msgid "Save space reducing padding and border radius." +msgstr "Réduire la taille des marges pour gagner de la place." + +#: Settings.ui.h:61 +msgid "Shrink the dash" +msgstr "Réduire les marges" + +#: Settings.ui.h:62 +msgid "Customize windows counter indicators" +msgstr "Personnaliser l’indicateur du compteur de fenêtres" + +#: Settings.ui.h:63 +msgid "Default" +msgstr "Défaut" + +#: Settings.ui.h:64 +msgid "Dots" +msgstr "Points" + +#: Settings.ui.h:65 +msgid "Squares" +msgstr "Carrés" + +#: Settings.ui.h:66 +msgid "Dashes" +msgstr "Tirets" + +#: Settings.ui.h:67 +msgid "Segmented" +msgstr "Segments" + +#: Settings.ui.h:68 +msgid "Solid" +msgstr "Solides" + +#: Settings.ui.h:69 +msgid "Ciliora" +msgstr "Ciliora" + +#: Settings.ui.h:70 +msgid "Metro" +msgstr "Métro" + +#: Settings.ui.h:71 +msgid "Set the background color for the dash." +msgstr "Choisir la couleur de fond du dock." + +#: Settings.ui.h:72 +msgid "Customize the dash color" +msgstr "Changer la couleur du dock" + +#: Settings.ui.h:73 +msgid "Tune the dash background opacity." +msgstr "Régler l’opacité en fond du dock." + +#: Settings.ui.h:75 +msgid "Fixed" +msgstr "Fixe" + +#: Settings.ui.h:76 +msgid "Dynamic" +msgstr "Dynamique" + +#: Settings.ui.h:77 +msgid "Opacity" +msgstr "Opacité" + +#: Settings.ui.h:78 +msgid "Force straight corner\n" +msgstr "Forcer des coins droits\n" + +#: Settings.ui.h:80 +msgid "Appearance" +msgstr "Apparence" + +#: Settings.ui.h:81 +msgid "version: " +msgstr "Version : " + +#: Settings.ui.h:82 +msgid "Moves the dash out of the overview transforming it in a dock" +msgstr "Place le dash hors de l’aperçu des fenêtres, le transformant en dock" + +#: Settings.ui.h:83 +msgid "Created by" +msgstr "Conçu par" + +#: Settings.ui.h:84 +msgid "Webpage" +msgstr "Site web" + +#: Settings.ui.h:85 +msgid "" +"This program comes with ABSOLUTELY NO WARRANTY.\n" +"See the GNU General Public License, version 2 or later for details." +msgstr "" +"Ce programme est distribué SANS AUCUNE GARANTIE.\n" +"Consultez la Licence Générale Publique GNU version 2 ou plus récente pour plus " +"d’informations." + +#: Settings.ui.h:87 +msgid "About" +msgstr "À propos" + +#: Settings.ui.h:88 +msgid "Customize minimum and maximum opacity values" +msgstr "Personnaliser les valeurs minimum et maximum de l’opacité" + +#: Settings.ui.h:89 +msgid "Minimum opacity" +msgstr "Opacité minimum" + +#: Settings.ui.h:90 +msgid "Maximum opacity" +msgstr "Opacité maximum" + +#: Settings.ui.h:91 +msgid "Number overlay" +msgstr "Numéro d’application" + +#: Settings.ui.h:92 +msgid "" +"Temporarily show the application numbers over the icons, corresponding to " +"the shortcut." +msgstr "" +"Afficher temporairement les numéros d’application sur les icônes, " +"correspondant au raccourci clavier." + +#: Settings.ui.h:93 +msgid "Show the dock if it is hidden" +msgstr "Afficher le dock s’il est caché" + +#: Settings.ui.h:94 +msgid "" +"If using autohide, the dock will appear for a short time when triggering the " +"shortcut." +msgstr "" +"Si le masquage automatique est actif, le dock apparaîtra temporairement lors " +"de l’utilisation du raccourci." + +#: Settings.ui.h:95 +msgid "Shortcut for the options above" +msgstr "Raccourci pour les options dessus" + +#: Settings.ui.h:96 +msgid "Syntax: , , , " +msgstr "Syntaxe : , , , " + +#: Settings.ui.h:97 +msgid "Hide timeout (s)" +msgstr "Délai de masquage (s)" + +#: Settings.ui.h:98 +msgid "Show the dock by mouse hover on the screen edge." +msgstr "Afficher le dock en survolant le bord de l’écran." + +#: Settings.ui.h:99 +msgid "Autohide" +msgstr "Masquage automatique" + +#: Settings.ui.h:100 +msgid "Push to show: require pressure to show the dock" +msgstr "Pousser pour Afficher : requiert une pression pour afficher le dock" + +#: Settings.ui.h:101 +msgid "Enable in fullscreen mode" +msgstr "Activer en mode plein-écran" + +#: Settings.ui.h:102 +msgid "Show the dock when it doesn't obstruct application windows." +msgstr "Afficher le dock quand il ne gêne pas les fenêtres." + +#: Settings.ui.h:103 +msgid "Dodge windows" +msgstr "Masquage automatique intelligent" + +#: Settings.ui.h:104 +msgid "All windows" +msgstr "Toutes les fenêtres" + +#: Settings.ui.h:105 +msgid "Only focused application's windows" +msgstr "Seulement la fenêtre de l’application active" + +#: Settings.ui.h:106 +msgid "Only maximized windows" +msgstr "Seulement les fenêtres maximisées" + +#: Settings.ui.h:107 +msgid "Animation duration (s)" +msgstr "Durée de l’animation (s)" + +#: Settings.ui.h:108 +msgid "Show timeout (s)" +msgstr "Délai d’apparition (s)" + +#: Settings.ui.h:109 +msgid "Pressure threshold" +msgstr "Seuil de pression" + #~ msgid "Create new matching rule" #~ msgstr "Créer une nouvelle règle de concordance" + +#~ msgid "Adaptive" +#~ msgstr "Adaptatif" + +#~ msgid "Show a dot for each windows of the application." +#~ msgstr "Afficher un point pour chaque fenêtre ouverte de l’application." + +#~ msgid "0.000" +#~ msgstr "0.000" diff --git a/po/gl.po b/po/gl.po index c94dae98..f2d40ad6 100644 --- a/po/gl.po +++ b/po/gl.po @@ -1,14 +1,22 @@ +# #-#-#-#-# gl.po (gnome-shell-extensions master) #-#-#-#-# # Galician translation for gnome-shell-extensions. # Copyright (C) 2011 gnome-shell-extensions's COPYRIGHT HOLDER # This file is distributed under the same license as the gnome-shell-extensions package. # # Fran Diéguez , 2011. # Fran Dieguez , 2011-2020, 2021. +# #-#-#-#-# gl.po #-#-#-#-# +# Dash to Dock galician translation. +# This file is distributed under the same license as the Dash to Dock package. +# Xosé M. Lamas , 2018. +# +#, fuzzy msgid "" msgstr "" +"#-#-#-#-# gl.po (gnome-shell-extensions master) #-#-#-#-#\n" "Project-Id-Version: gnome-shell-extensions master\n" -"Report-Msgid-Bugs-To: https://gitlab.gnome.org/GNOME/gnome-shell-extensions/is" -"sues\n" +"Report-Msgid-Bugs-To: https://gitlab.gnome.org/GNOME/gnome-shell-extensions/" +"issues\n" "POT-Creation-Date: 2020-10-17 20:14+0000\n" "PO-Revision-Date: 2021-02-24 20:41+0100\n" "Last-Translator: Fran Diéguez \n" @@ -20,6 +28,19 @@ msgstr "" "Plural-Forms: nplurals=2; plural=(n != 1)\n" "X-Generator: Gtranslator 3.38.0\n" "X-Project-Style: gnome\n" +"#-#-#-#-# gl.po #-#-#-#-#\n" +"Project-Id-Version: \n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2018-03-30 11:27-0400\n" +"PO-Revision-Date: 2018-03-30 16:42-0500\n" +"Last-Translator: Xosé M. Lamas \n" +"Language-Team: \n" +"Language: gl\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Poedit 2.0.3\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" #: data/gnome-classic.desktop.in:3 msgid "GNOME Classic" @@ -82,8 +103,7 @@ msgid "" "aspect ratio, and consolidating them further to reduce the bounding box. " "This setting applies only with the natural placement strategy." msgstr "" -"Tente usar mais pantalla para dispor as miniaturas das xanelas adaptándose" -" á " +"Tente usar mais pantalla para dispor as miniaturas das xanelas adaptándose á " "taxa de aspecto da pantalla e consolidalas para reducir a caixa envolvente. " "Esta configuración aplícase só para a estratexia de disposición natural." @@ -153,7 +173,7 @@ msgstr "Pechar" msgid "Unminimize" msgstr "Restabelecer" -#: extensions/window-list/extension.js:118 +#: extensions/window-list/extension.js:118 Settings.ui.h:50 msgid "Minimize" msgstr "Minimizar" @@ -262,6 +282,421 @@ msgstr "Espazos de traballo %d" msgid "Add Workspace" msgstr "Engadir área de traballo" +#: prefs.js:113 +msgid "Primary monitor" +msgstr "Monitor principal" + +#: prefs.js:122 prefs.js:129 +msgid "Secondary monitor " +msgstr "Monitor secundario" + +#: prefs.js:154 Settings.ui.h:29 +msgid "Right" +msgstr "Dereita" + +#: prefs.js:155 Settings.ui.h:26 +msgid "Left" +msgstr "Esquerda" + +#: prefs.js:205 +msgid "Intelligent autohide customization" +msgstr "Personalización de agochamento intelixente" + +#: prefs.js:212 prefs.js:393 prefs.js:450 +msgid "Reset to defaults" +msgstr "Restablecer aos valores por omisión" + +#: prefs.js:386 +msgid "Show dock and application numbers" +msgstr "Mostrar dock e números do aplicativo" + +#: prefs.js:443 +msgid "Customize middle-click behavior" +msgstr "Personalizar comportamento do botón central" + +#: prefs.js:514 +msgid "Customize running indicators" +msgstr "Personalizar indicadores en execución" + +#: appIcons.js:804 +msgid "All Windows" +msgstr "Todas as ventás" + +#: Settings.ui.h:1 +msgid "Customize indicator style" +msgstr "Personalizar estilo do indicador" + +#: Settings.ui.h:2 +msgid "Color" +msgstr "Cor" + +#: Settings.ui.h:3 +msgid "Border color" +msgstr "Cor do borde" + +#: Settings.ui.h:4 +msgid "Border width" +msgstr "Ancho do borde" + +#: Settings.ui.h:5 +msgid "Number overlay" +msgstr "Número na vista extendida" + +#: Settings.ui.h:6 +msgid "" +"Temporarily show the application numbers over the icons, corresponding to " +"the shortcut." +msgstr "" +"Mostrar brevemente o número de aplicativo sobre a icona que corresponda ao " +"atallo." + +#: Settings.ui.h:7 +msgid "Show the dock if it is hidden" +msgstr "Mostrar o dock si está agochado" + +#: Settings.ui.h:8 +msgid "" +"If using autohide, the dock will appear for a short time when triggering the " +"shortcut." +msgstr "" +"Si se activa o agochamento automático, o dock aparecerá brevemente ao " +"utilizar o atallo." + +#: Settings.ui.h:9 +msgid "Shortcut for the options above" +msgstr "Atallo para os axustes de arriba" + +#: Settings.ui.h:10 +msgid "Syntax: , , , " +msgstr "Sintaxe: , , , " + +#: Settings.ui.h:11 +msgid "Hide timeout (s)" +msgstr "Tempo en agocharse (s)" + +#: Settings.ui.h:12 +msgid "" +"When set to minimize, double clicking minimizes all the windows of the " +"application." +msgstr "" +"Cando se establece minimizar, facendo duplo click minimiza todas as ventás " +"do aplicativo." + +#: Settings.ui.h:13 +msgid "Shift+Click action" +msgstr "Acción de Maiús + pulsación" + +#: Settings.ui.h:14 +msgid "Raise window" +msgstr "Elevar ventá" + +#: Settings.ui.h:15 +msgid "Minimize window" +msgstr "Minimizar ventá" + +#: Settings.ui.h:16 +msgid "Launch new instance" +msgstr "Iniciar unha nova instancia" + +#: Settings.ui.h:17 +msgid "Cycle through windows" +msgstr "Alternar entre ventás" + +#: Settings.ui.h:18 +msgid "Quit" +msgstr "Saír" + +#: Settings.ui.h:19 +msgid "Behavior for Middle-Click." +msgstr "Comportamento do botón central" + +#: Settings.ui.h:20 +msgid "Middle-Click action" +msgstr "Acción do botón central" + +#: Settings.ui.h:21 +msgid "Behavior for Shift+Middle-Click." +msgstr "Comportamento de Maiús + botón central" + +#: Settings.ui.h:22 +msgid "Shift+Middle-Click action" +msgstr "Acción de Maiús + botón central" + +#: Settings.ui.h:23 +msgid "Show the dock on" +msgstr "Mostrar o dock en" + +#: Settings.ui.h:24 +msgid "Show on all monitors." +msgstr "Mostrar en todos os monitores." + +#: Settings.ui.h:25 +msgid "Position on screen" +msgstr "Posición na pantalla" + +#: Settings.ui.h:27 +msgid "Bottom" +msgstr "Inferior" + +#: Settings.ui.h:28 +msgid "Top" +msgstr "Superior" + +#: Settings.ui.h:30 +msgid "" +"Hide the dock when it obstructs a window of the current application. More " +"refined settings are available." +msgstr "" +"Agochar o dock cando obstrúe a ventá do aplicativo actual. Dispoñibles máis " +"opcións." + +#: Settings.ui.h:31 +msgid "Intelligent autohide" +msgstr "Agochamento automático intelixente" + +#: Settings.ui.h:32 +msgid "Dock size limit" +msgstr "Tamaño máximo do dock" + +#: Settings.ui.h:33 +msgid "Panel mode: extend to the screen edge" +msgstr "Modo panel: extender ate os bordes da pantalla" + +#: Settings.ui.h:34 +msgid "Icon size limit" +msgstr "Tamaño máximo das iconas" + +#: Settings.ui.h:35 +msgid "Fixed icon size: scroll to reveal other icons" +msgstr "Tamaño fixo das iconas: desprazarse para mostrar outros" + +#: Settings.ui.h:36 +msgid "Position and size" +msgstr "Posición e tamaño" + +#: Settings.ui.h:37 +msgid "Show favorite applications" +msgstr "Mostrar aplicativos favoritos" + +#: Settings.ui.h:38 +msgid "Show running applications" +msgstr "Mostrar aplicativos en execución" + +#: Settings.ui.h:39 +msgid "Isolate workspaces." +msgstr "Illar os espazos de traballo." + +#: Settings.ui.h:40 +msgid "Show open windows previews." +msgstr "Mostrar vista rápida de ventás." + +#: Settings.ui.h:41 +msgid "" +"If disabled, these settings are accessible from gnome-tweak-tool or the " +"extension website." +msgstr "" +"Si está deshabilitado, estas opcions están dispoñibles desde gnome-tweak-" +"tool ou desde o sitio web de extensións." + +#: Settings.ui.h:42 +msgid "Show Applications icon" +msgstr "Mostrar a icona Aplicativos" + +#: Settings.ui.h:43 +msgid "Move the applications button at the beginning of the dock." +msgstr "Mover o botón de aplicativos ao principio do dock" + +#: Settings.ui.h:44 +msgid "Animate Show Applications." +msgstr "Animar Mostrar aplicativos" + +#: Settings.ui.h:45 +msgid "Launchers" +msgstr "Lanzadores" + +#: Settings.ui.h:46 +msgid "" +"Enable Super+(0-9) as shortcuts to activate apps. It can also be used " +"together with Shift and Ctrl." +msgstr "" +"Habilitar Súper+(0-9) como atallos para activar aplicativos. Tamén puede ser " +"utilizado xunto con Maiús e Ctrl." + +#: Settings.ui.h:47 +msgid "Use keyboard shortcuts to activate apps" +msgstr "Usar atallos de teclado para activar aplicativos" + +#: Settings.ui.h:48 +msgid "Behaviour when clicking on the icon of a running application." +msgstr "Comportamiento ao pulsar na icona de un aplicativo en execución." + +#: Settings.ui.h:49 +msgid "Click action" +msgstr "Acción de pulsación" + +#: Settings.ui.h:51 +msgid "Minimize or overview" +msgstr "Minimizar ou vista de actividades" + +#: Settings.ui.h:52 +msgid "Behaviour when scrolling on the icon of an application." +msgstr "Comportamiento ao utilizar a roda sobre a icona de un aplicativo." + +#: Settings.ui.h:53 +msgid "Scroll action" +msgstr "Acción de desprazamento" + +#: Settings.ui.h:54 +msgid "Do nothing" +msgstr "Non facer nada" + +#: Settings.ui.h:55 +msgid "Switch workspace" +msgstr "Cambiar de espazo de traballo." + +#: Settings.ui.h:56 +msgid "Behavior" +msgstr "Comportamento" + +#: Settings.ui.h:57 +msgid "" +"Few customizations meant to integrate the dock with the default GNOME theme. " +"Alternatively, specific options can be enabled below." +msgstr "" +"Utilizar o decorado predeterminado de GNOME. De xeito alternativo, poden " +"habilitarse certos axustes aquí abaixo." + +#: Settings.ui.h:58 +msgid "Use built-in theme" +msgstr "Utilizar o decorado incorporado" + +#: Settings.ui.h:59 +msgid "Save space reducing padding and border radius." +msgstr "Reducir as marxes para gañar espazo." + +#: Settings.ui.h:60 +msgid "Shrink the dash" +msgstr "Comprimir o taboleiro" + +#: Settings.ui.h:61 +msgid "Show a dot for each windows of the application." +msgstr "Mostrar un punto por cada ventá do aplicativo." + +#: Settings.ui.h:62 +msgid "Show windows counter indicators" +msgstr "Mostrar contador de ventás" + +#: Settings.ui.h:63 +msgid "Set the background color for the dash." +msgstr "Escoller a cor de fondo do taboleiro." + +#: Settings.ui.h:64 +msgid "Customize the dash color" +msgstr "Personalizar a cor do dock" + +#: Settings.ui.h:65 +msgid "Tune the dash background opacity." +msgstr "Axustar a opacidade do fondo." + +#: Settings.ui.h:66 +msgid "Customize opacity" +msgstr "Personalizar opacidade" + +#: Settings.ui.h:67 +msgid "Opacity" +msgstr "Opacidade" + +#: Settings.ui.h:68 +msgid "Force straight corner\n" +msgstr "Forzar esquinas rectas\n" + +#: Settings.ui.h:70 +msgid "Appearance" +msgstr "Aparencia" + +#: Settings.ui.h:71 +msgid "version: " +msgstr "versión: " + +#: Settings.ui.h:72 +msgid "Moves the dash out of the overview transforming it in a dock" +msgstr "Move o panel da vista de actividades transformándoo nun dock" + +#: Settings.ui.h:73 +msgid "Created by" +msgstr "Creado por" + +#: Settings.ui.h:74 +msgid "Webpage" +msgstr "Sitio web" + +#: Settings.ui.h:75 +msgid "" +"This program comes with ABSOLUTELY NO WARRANTY.\n" +"See the GNU General Public License, version 2 or later for details." +msgstr "" +"Este programa ven SIN GARANTÍA ALGUNHA.\n" +"Consulte a Licenza Pública Xeral de GNU, versión 2 ou posterior para obter máis " +"detalles." + +#: Settings.ui.h:77 +msgid "About" +msgstr "Sobre o" + +#: Settings.ui.h:78 +msgid "Show the dock by mouse hover on the screen edge." +msgstr "Mostrar o dock ao pasar o punteiro sobre o borde da pantalla." + +#: Settings.ui.h:79 +msgid "Autohide" +msgstr "Agochar automáticamente" + +#: Settings.ui.h:80 +msgid "Push to show: require pressure to show the dock" +msgstr "Empurrar para mostrasr: require facer presión para mostrar o dock" + +#: Settings.ui.h:81 +msgid "Enable in fullscreen mode" +msgstr "Activar en modo de pantalla completa" + +#: Settings.ui.h:82 +msgid "Show the dock when it doesn't obstruct application windows." +msgstr "Mostrar o dock cando non cubra outras ventás de aplicativos." + +#: Settings.ui.h:83 +msgid "Dodge windows" +msgstr "Evitar as ventás" + +#: Settings.ui.h:84 +msgid "All windows" +msgstr "Todas as ventás" + +#: Settings.ui.h:85 +msgid "Only focused application's windows" +msgstr "Só as ventás do aplicativo activo" + +#: Settings.ui.h:86 +msgid "Only maximized windows" +msgstr "Só as ventás maximizadas" + +#: Settings.ui.h:87 +msgid "Animation duration (s)" +msgstr "Duración da animación (s)" + +#: Settings.ui.h:88 +msgid "0.000" +msgstr "0.000" + +#: Settings.ui.h:89 +msgid "Show timeout (s)" +msgstr "Tempo de aparición" + +#: Settings.ui.h:90 +msgid "Pressure threshold" +msgstr "Límite de presión" + #~ msgid "Application" #~ msgstr "Aplicación" diff --git a/po/hu.po b/po/hu.po index fb9d8ccd..8be4d93d 100644 --- a/po/hu.po +++ b/po/hu.po @@ -1,3 +1,4 @@ +# #-#-#-#-# hu.po (gnome-shell-extensions master) #-#-#-#-# # Hungarian translation for gnome-shell-extensions. # Copyright (C) 2011, 2012, 2013, 2014, 2017, 2019 Free Software Foundation, Inc. # This file is distributed under the same license as the gnome-shell-extensions package. @@ -5,8 +6,16 @@ # Biró Balázs , 2011. # Gabor Kelemen , 2011, 2012, 2013. # Balázs Úr , 2013, 2014, 2017, 2019. +# #-#-#-#-# hu.po (dash-to-dock master) #-#-#-#-# +# Hungarian translation for dash-to-dock. +# Copyright (C) 2017 Free Software Foundation, Inc. +# This file is distributed under the same license as the dash-to-dock package. +# +# Balázs Úr , 2017. +#, fuzzy msgid "" msgstr "" +"#-#-#-#-# hu.po (gnome-shell-extensions master) #-#-#-#-#\n" "Project-Id-Version: gnome-shell-extensions master\n" "Report-Msgid-Bugs-To: https://gitlab.gnome.org/GNOME/gnome-shell-extensions/" "issues\n" @@ -20,6 +29,19 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "X-Generator: Poedit 2.4.1\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" +"#-#-#-#-# hu.po (dash-to-dock master) #-#-#-#-#\n" +"Project-Id-Version: dash-to-dock master\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-06-04 12:35+0100\n" +"PO-Revision-Date: 2017-04-10 22:02+0100\n" +"Last-Translator: Balázs Úr \n" +"Language-Team: Hungarian \n" +"Language: hu\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Lokalize 2.0\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" #: data/gnome-classic.desktop.in:3 data/gnome-classic.session.desktop.in:3 msgid "GNOME Classic" @@ -153,7 +175,7 @@ msgstr "Bezárás" msgid "Unminimize" msgstr "Minimalizálás megszüntetése" -#: extensions/window-list/extension.js:118 +#: extensions/window-list/extension.js:118 Settings.ui.h:50 msgid "Minimize" msgstr "Minimalizálás" @@ -263,6 +285,423 @@ msgstr "%d. munkaterület" msgid "Add Workspace" msgstr "Munkaterület hozzáadása" +#: prefs.js:113 +msgid "Primary monitor" +msgstr "Elsődleges kijelző" + +#: prefs.js:122 prefs.js:129 +msgid "Secondary monitor " +msgstr "Másodlagos kijelző" + +#: prefs.js:154 Settings.ui.h:29 +msgid "Right" +msgstr "Jobb" + +#: prefs.js:155 Settings.ui.h:26 +msgid "Left" +msgstr "Bal" + +#: prefs.js:205 +msgid "Intelligent autohide customization" +msgstr "Intelligens automatikus elrejtés személyre szabása" + +#: prefs.js:212 prefs.js:393 prefs.js:450 +msgid "Reset to defaults" +msgstr "Visszaállítás az alapértékekre" + +#: prefs.js:386 +msgid "Show dock and application numbers" +msgstr "A dokk és az alkalmazás számainak megjelenítése" + +#: prefs.js:443 +msgid "Customize middle-click behavior" +msgstr "Középső kattintás viselkedésének személyre szabása" + +#: prefs.js:514 +msgid "Customize running indicators" +msgstr "Futásjelzők személyre szabása" + +#: appIcons.js:804 +msgid "All Windows" +msgstr "Összes Ablak" + +#: Settings.ui.h:1 +msgid "Customize indicator style" +msgstr "Jelző stílusának személyre szabása" + +#: Settings.ui.h:2 +msgid "Color" +msgstr "Szín" + +#: Settings.ui.h:3 +msgid "Border color" +msgstr "Szegély színe" + +#: Settings.ui.h:4 +msgid "Border width" +msgstr "Szegély szélessége" + +#: Settings.ui.h:5 +msgid "Number overlay" +msgstr "Szám rátét" + +#: Settings.ui.h:6 +msgid "" +"Temporarily show the application numbers over the icons, corresponding to " +"the shortcut." +msgstr "" +"Az alkalmazás számainak átmeneti megjelenítése az ikonok fölött a " +"gyorsbillentyűnek megfelelően." + +#: Settings.ui.h:7 +msgid "Show the dock if it is hidden" +msgstr "A dokk megjelenítése, ha el van rejtve" + +#: Settings.ui.h:8 +msgid "" +"If using autohide, the dock will appear for a short time when triggering the " +"shortcut." +msgstr "" +"Az automatikus elrejtés használatakor a dokk meg fog jelenni egy rövid ideig " +"a gyorsbillentyű megnyomásakor." + +#: Settings.ui.h:9 +msgid "Shortcut for the options above" +msgstr "Gyorsbillentyűk a fenti beállításokhoz" + +#: Settings.ui.h:10 +msgid "Syntax: , , , " +msgstr "Szintaxis: , , , " + +#: Settings.ui.h:11 +msgid "Hide timeout (s)" +msgstr "Elrejtési időkorlát (mp)" + +#: Settings.ui.h:12 +msgid "" +"When set to minimize, double clicking minimizes all the windows of the " +"application." +msgstr "" +"Ha minimalizálásra van állítva, akkor a dupla kattintás az alkalmazás összes " +"ablakát minimalizálja." + +#: Settings.ui.h:13 +msgid "Shift+Click action" +msgstr "Shift + kattintás művelet" + +#: Settings.ui.h:14 +msgid "Raise window" +msgstr "Ablak előre hozása" + +#: Settings.ui.h:15 +msgid "Minimize window" +msgstr "Ablak minimalizálása" + +#: Settings.ui.h:16 +msgid "Launch new instance" +msgstr "Új példány indítása" + +#: Settings.ui.h:17 +msgid "Cycle through windows" +msgstr "Ablakok körbeléptetése" + +#: Settings.ui.h:18 +msgid "Quit" +msgstr "Kilépés" + +#: Settings.ui.h:19 +msgid "Behavior for Middle-Click." +msgstr "A középső kattintás viselkedése." + +#: Settings.ui.h:20 +msgid "Middle-Click action" +msgstr "Középső kattintás művelet" + +#: Settings.ui.h:21 +msgid "Behavior for Shift+Middle-Click." +msgstr "A Shift + középső kattintás viselkedése." + +#: Settings.ui.h:22 +msgid "Shift+Middle-Click action" +msgstr "Shift + középső kattintás művelet" + +#: Settings.ui.h:23 +msgid "Show the dock on" +msgstr "A dokk megjelenítése" + +#: Settings.ui.h:24 +#, fuzzy +msgid "Show on all monitors." +msgstr "Másodlagos kijelző" + +#: Settings.ui.h:25 +msgid "Position on screen" +msgstr "Elhelyezkedés a képernyőn" + +#: Settings.ui.h:27 +msgid "Bottom" +msgstr "Lent" + +#: Settings.ui.h:28 +msgid "Top" +msgstr "Fent" + +#: Settings.ui.h:30 +msgid "" +"Hide the dock when it obstructs a window of the current application. More " +"refined settings are available." +msgstr "" +"A dokk elrejtése, amikor az aktuális alkalmazás ablakát akadályozza. További " +"finombeállítások is elérhetők." + +#: Settings.ui.h:31 +msgid "Intelligent autohide" +msgstr "Intelligens automatikus elrejtés" + +#: Settings.ui.h:32 +msgid "Dock size limit" +msgstr "Dokk méretkorlátja" + +#: Settings.ui.h:33 +msgid "Panel mode: extend to the screen edge" +msgstr "Panel mód: kiterjesztés a képernyő széléig" + +#: Settings.ui.h:34 +msgid "Icon size limit" +msgstr "Ikon méretkorlátja" + +#: Settings.ui.h:35 +msgid "Fixed icon size: scroll to reveal other icons" +msgstr "Rögzített ikonméret: görgetés egyéb ikonok felfedéséhez" + +#: Settings.ui.h:36 +msgid "Position and size" +msgstr "Elhelyezkedés és méret" + +#: Settings.ui.h:37 +msgid "Show favorite applications" +msgstr "Kedvenc alkalmazások megjelenítése" + +#: Settings.ui.h:38 +msgid "Show running applications" +msgstr "Futó alkalmazások megjelenítése" + +#: Settings.ui.h:39 +msgid "Isolate workspaces." +msgstr "Munkaterületek elkülönítése." + +#: Settings.ui.h:40 +msgid "Show open windows previews." +msgstr "Nyitott ablakok előnézeteinek megjelenítése." + +#: Settings.ui.h:41 +msgid "" +"If disabled, these settings are accessible from gnome-tweak-tool or the " +"extension website." +msgstr "" +"Ha le van tiltva, akkor ezek a beállítások elérhetők a GNOME finomhangoló " +"eszközből vagy a kiegészítők weboldaláról." + +#: Settings.ui.h:42 +msgid "Show Applications icon" +msgstr "Alkalmazások ikon megjelenítése" + +#: Settings.ui.h:43 +msgid "Move the applications button at the beginning of the dock." +msgstr "Az alkalmazások gombjának áthelyezése a dokk elejére." + +#: Settings.ui.h:44 +msgid "Animate Show Applications." +msgstr "Alkalmazások megjelenítése animálása." + +#: Settings.ui.h:45 +msgid "Launchers" +msgstr "Indítok" + +#: Settings.ui.h:46 +msgid "" +"Enable Super+(0-9) as shortcuts to activate apps. It can also be used " +"together with Shift and Ctrl." +msgstr "" +"Szuper + (0-9) engedélyezése gyorsbillentyűként az alkalmazások " +"aktiválásához. Használható a Shift és a Ctrl billentyűkkel együtt is." + +#: Settings.ui.h:47 +msgid "Use keyboard shortcuts to activate apps" +msgstr "Gyorsbillentyűk használata az alkalmazások aktiválásához" + +#: Settings.ui.h:48 +msgid "Behaviour when clicking on the icon of a running application." +msgstr "Viselkedés egy futó alkalmazás ikonjára való kattintáskor." + +#: Settings.ui.h:49 +msgid "Click action" +msgstr "Kattintás művelet" + +#: Settings.ui.h:51 +#, fuzzy +msgid "Minimize or overview" +msgstr "Ablak minimalizálása" + +#: Settings.ui.h:52 +msgid "Behaviour when scrolling on the icon of an application." +msgstr "Viselkedés egy alkalmazás ikonján való görgetéskor." + +#: Settings.ui.h:53 +msgid "Scroll action" +msgstr "Görgetési művelet" + +#: Settings.ui.h:54 +msgid "Do nothing" +msgstr "Ne tegyen semmit" + +#: Settings.ui.h:55 +msgid "Switch workspace" +msgstr "Munkaterület váltása" + +#: Settings.ui.h:56 +msgid "Behavior" +msgstr "Viselkedés" + +#: Settings.ui.h:57 +msgid "" +"Few customizations meant to integrate the dock with the default GNOME theme. " +"Alternatively, specific options can be enabled below." +msgstr "" +"Néhány személyre szabás célja, hogy integrálja a dokkot az alapértelmezett " +"GNOME témába. Alternatív esetben bizonyos beállítások engedélyezhetők lent." + +#: Settings.ui.h:58 +msgid "Use built-in theme" +msgstr "Beépített téma használata" + +#: Settings.ui.h:59 +msgid "Save space reducing padding and border radius." +msgstr "Helymegtakarítás a kitöltés és a szegély sugarának csökkentésével." + +#: Settings.ui.h:60 +msgid "Shrink the dash" +msgstr "A dash zsugorítása" + +#: Settings.ui.h:61 +msgid "Show a dot for each windows of the application." +msgstr "Egy pont megjelenítése az alkalmazás minden ablakánál." + +#: Settings.ui.h:62 +msgid "Show windows counter indicators" +msgstr "Ablakszámlálók jelzőinek megjelenítése" + +#: Settings.ui.h:63 +msgid "Set the background color for the dash." +msgstr "A dash háttérszínének beállítása." + +#: Settings.ui.h:64 +msgid "Customize the dash color" +msgstr "A dash színének személyre szabása" + +#: Settings.ui.h:65 +msgid "Tune the dash background opacity." +msgstr "A dash háttér átlátszatlanságának finomhangolása." + +#: Settings.ui.h:66 +msgid "Customize opacity" +msgstr "Átlátszatlanság személyre szabása" + +#: Settings.ui.h:67 +msgid "Opacity" +msgstr "Átlátszatlanság" + +#: Settings.ui.h:68 +msgid "Force straight corner\n" +msgstr "Egyenes sarok kényszerítése\n" + +#: Settings.ui.h:70 +msgid "Appearance" +msgstr "Megjelenés" + +#: Settings.ui.h:71 +msgid "version: " +msgstr "verzió: " + +#: Settings.ui.h:72 +msgid "Moves the dash out of the overview transforming it in a dock" +msgstr "Áthelyezi a dasht az áttekintőn kívülre egy dokká alakítva azt" + +#: Settings.ui.h:73 +msgid "Created by" +msgstr "Létrehozta" + +#: Settings.ui.h:74 +msgid "Webpage" +msgstr "Weboldal" + +#: Settings.ui.h:75 +msgid "" +"This program comes with ABSOLUTELY NO WARRANTY.\n" +"See the GNU General Public License, version 2 or later for details." +msgstr "" +"Ehhez a programhoz SEMMILYEN GARANCIA NEM JÁR.\n" +"Nézze meg a GNU General Public License 2. vagy későbbi verzióját a részletekért." + +#: Settings.ui.h:77 +msgid "About" +msgstr "Névjegy" + +#: Settings.ui.h:78 +msgid "Show the dock by mouse hover on the screen edge." +msgstr "A dokk megjelenítése a képernyő szélére történő egér rámutatással." + +#: Settings.ui.h:79 +msgid "Autohide" +msgstr "Automatikus elrejtés" + +#: Settings.ui.h:80 +msgid "Push to show: require pressure to show the dock" +msgstr "Nyomás a megjelenítéshez: nyomást igényel a dokk megjelenítéséhez" + +#: Settings.ui.h:81 +msgid "Enable in fullscreen mode" +msgstr "Engedélyezés teljes képernyős módban" + +#: Settings.ui.h:82 +msgid "Show the dock when it doesn't obstruct application windows." +msgstr "A dokk megjelenítése, amikor nem akadályozza az alkalmazás ablakait." + +#: Settings.ui.h:83 +msgid "Dodge windows" +msgstr "Ablakok kikerülése" + +#: Settings.ui.h:84 +msgid "All windows" +msgstr "Összes ablak" + +#: Settings.ui.h:85 +msgid "Only focused application's windows" +msgstr "Csak a kijelölt alkalmazások ablakai" + +#: Settings.ui.h:86 +msgid "Only maximized windows" +msgstr "Csak a maximalizált ablakok" + +#: Settings.ui.h:87 +msgid "Animation duration (s)" +msgstr "Animáció időtartama (mp)" + +#: Settings.ui.h:88 +msgid "0.000" +msgstr "0,000" + +#: Settings.ui.h:89 +msgid "Show timeout (s)" +msgstr "Megjelenítési időkorlát (mp)" + +#: Settings.ui.h:90 +msgid "Pressure threshold" +msgstr "Nyomás küszöbszintje" + #~ msgid "Application" #~ msgstr "Alkalmazás" diff --git a/po/id.po b/po/id.po index a67d729d..af7463f3 100644 --- a/po/id.po +++ b/po/id.po @@ -1,3 +1,4 @@ +# #-#-#-#-# id.po (gnome-shell-extensions master) #-#-#-#-# # Indonesian translation for gnome-shell-extensions. # Copyright (C) 2012 gnome-shell-extensions's COPYRIGHT HOLDER # This file is distributed under the same license as the gnome-shell-extensions package. @@ -5,8 +6,16 @@ # Andika Triwidada , 2012, 2013. # Dirgita , 2012. # Kukuh Syafaat , 2017, 2019, 2020. +# #-#-#-#-# id.po (Dash-to-Dock) #-#-#-#-# +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. +# FIRST AUTHOR , YEAR. +# +#, fuzzy msgid "" msgstr "" +"#-#-#-#-# id.po (gnome-shell-extensions master) #-#-#-#-#\n" "Project-Id-Version: gnome-shell-extensions master\n" "Report-Msgid-Bugs-To: https://gitlab.gnome.org/GNOME/gnome-shell-extensions/" "issues\n" @@ -21,6 +30,19 @@ msgstr "" "Plural-Forms: nplurals=1; plural=0;\n" "X-Poedit-SourceCharset: UTF-8\n" "X-Generator: Poedit 2.3.1\n" +"#-#-#-#-# id.po (Dash-to-Dock) #-#-#-#-#\n" +"Project-Id-Version: Dash-to-Dock\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-06-04 12:35+0100\n" +"PO-Revision-Date: 2017-10-02 11:25+0700\n" +"Last-Translator: Mahyuddin \n" +"Language-Team: Mahyuddin \n" +"Language: id\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=1; plural=0;\n" +"X-Generator: Poedit 1.8.11\n" #: data/gnome-classic.desktop.in:3 data/gnome-classic.session.desktop.in:3 msgid "GNOME Classic" @@ -154,7 +176,7 @@ msgstr "Tutup" msgid "Unminimize" msgstr "Tak minimalkan" -#: extensions/window-list/extension.js:118 +#: extensions/window-list/extension.js:118 Settings.ui.h:50 msgid "Minimize" msgstr "Minimalkan" @@ -263,6 +285,423 @@ msgstr "Ruang Kerja %d" msgid "Add Workspace" msgstr "Tambah Ruang Kerja" +#: prefs.js:113 +msgid "Primary monitor" +msgstr "Monitor primer" + +#: prefs.js:122 prefs.js:129 +msgid "Secondary monitor " +msgstr "Monitor sekunder" + +#: prefs.js:154 Settings.ui.h:29 +msgid "Right" +msgstr "Kanan" + +#: prefs.js:155 Settings.ui.h:26 +msgid "Left" +msgstr "Kiri" + +#: prefs.js:205 +msgid "Intelligent autohide customization" +msgstr "Kustomisasi autohide yang cerdas" + +#: prefs.js:212 prefs.js:393 prefs.js:450 +msgid "Reset to defaults" +msgstr "Setel ulang ke bawaan" + +#: prefs.js:386 +msgid "Show dock and application numbers" +msgstr "Tampilkan dock dan nomor aplikasi" + +#: prefs.js:443 +msgid "Customize middle-click behavior" +msgstr "Sesuaikan perilaku klik menengah" + +#: prefs.js:514 +msgid "Customize running indicators" +msgstr "Sesuaikan indikator yang sedang berjalan" + +#: appIcons.js:804 +msgid "All Windows" +msgstr "Semua Jendela" + +#: Settings.ui.h:1 +msgid "Customize indicator style" +msgstr "Sesuaikan gaya indikator" + +#: Settings.ui.h:2 +msgid "Color" +msgstr "Warna" + +#: Settings.ui.h:3 +msgid "Border color" +msgstr "Warna border" + +#: Settings.ui.h:4 +msgid "Border width" +msgstr "Lebar border" + +#: Settings.ui.h:5 +msgid "Number overlay" +msgstr "Nomor overlay" + +#: Settings.ui.h:6 +msgid "" +"Temporarily show the application numbers over the icons, corresponding to " +"the shortcut." +msgstr "" +"Untuk sementara menunjukkan nomor aplikasi di atas ikon, sesuai dengan " +"pintasan." + +#: Settings.ui.h:7 +msgid "Show the dock if it is hidden" +msgstr "Tunjukkan dock jika tersembunyi" + +#: Settings.ui.h:8 +msgid "" +"If using autohide, the dock will appear for a short time when triggering the " +"shortcut." +msgstr "" +"Jika menggunakan autohide, dock akan muncul dalam waktu singkat saat memicu " +"pintasan." + +#: Settings.ui.h:9 +msgid "Shortcut for the options above" +msgstr "Pintasan untuk opsi di atas" + +#: Settings.ui.h:10 +msgid "Syntax: , , , " +msgstr "Sintaks: , , , " + +#: Settings.ui.h:11 +msgid "Hide timeout (s)" +msgstr "Sembunyikan batas waktu (s)" + +#: Settings.ui.h:12 +msgid "" +"When set to minimize, double clicking minimizes all the windows of the " +"application." +msgstr "" +"Bila disetel untuk meminimalkan, klik ganda meminimalkan semua jendela " +"aplikasi." + +#: Settings.ui.h:13 +msgid "Shift+Click action" +msgstr "Tindakan Shift+Klik" + +#: Settings.ui.h:14 +msgid "Raise window" +msgstr "Menaikkan jendela" + +#: Settings.ui.h:15 +msgid "Minimize window" +msgstr "Minimalkan jendela" + +#: Settings.ui.h:16 +msgid "Launch new instance" +msgstr "Luncurkan contoh baru" + +#: Settings.ui.h:17 +msgid "Cycle through windows" +msgstr "Siklus melalui jendela" + +#: Settings.ui.h:18 +msgid "Quit" +msgstr "Berhenti" + +#: Settings.ui.h:19 +msgid "Behavior for Middle-Click." +msgstr "Perilaku untuk Klik-Tengah." + +#: Settings.ui.h:20 +msgid "Middle-Click action" +msgstr "Tindakan Klik-Tengah" + +#: Settings.ui.h:21 +msgid "Behavior for Shift+Middle-Click." +msgstr "Perilaku untuk Shift+Klik-Tengah." + +#: Settings.ui.h:22 +msgid "Shift+Middle-Click action" +msgstr "Tindakan Shift+Klik-Tengah" + +#: Settings.ui.h:23 +msgid "Show the dock on" +msgstr "Tunjukkan dock pada" + +#: Settings.ui.h:24 +msgid "Show on all monitors." +msgstr "Tunjukkan pada semua monitor." + +#: Settings.ui.h:25 +msgid "Position on screen" +msgstr "Posisi pada layar" + +#: Settings.ui.h:27 +msgid "Bottom" +msgstr "Bawah" + +#: Settings.ui.h:28 +msgid "Top" +msgstr "Atas" + +#: Settings.ui.h:30 +msgid "" +"Hide the dock when it obstructs a window of the current application. More " +"refined settings are available." +msgstr "" +"Sembunyikan dock saat menghalangi jendela aplikasi saat ini. Setelan yang " +"lebih halus juga tersedia." + +#: Settings.ui.h:31 +msgid "Intelligent autohide" +msgstr "Autohide cerdas" + +#: Settings.ui.h:32 +msgid "Dock size limit" +msgstr "Batas ukuran dock" + +#: Settings.ui.h:33 +msgid "Panel mode: extend to the screen edge" +msgstr "Mode panel: meluas ke tepi layar" + +#: Settings.ui.h:34 +msgid "Icon size limit" +msgstr "Batas ukuran ikon" + +#: Settings.ui.h:35 +msgid "Fixed icon size: scroll to reveal other icons" +msgstr "Ukuran ikon tetap: gulir untuk menampilkan ikon lain" + +#: Settings.ui.h:36 +msgid "Position and size" +msgstr "Posisi dan ukuran" + +#: Settings.ui.h:37 +msgid "Show favorite applications" +msgstr "Tampilkan aplikasi favorit" + +#: Settings.ui.h:38 +msgid "Show running applications" +msgstr "Tampilkan aplikasi yang sedang berjalan" + +#: Settings.ui.h:39 +msgid "Isolate workspaces." +msgstr "Isolasi ruang kerja." + +#: Settings.ui.h:40 +msgid "Show open windows previews." +msgstr "Tampilkan pratinjau windows yang terbuka." + +#: Settings.ui.h:41 +msgid "" +"If disabled, these settings are accessible from gnome-tweak-tool or the " +"extension website." +msgstr "" +"Jika dinonaktifkan, setelan ini dapat diakses dari gnome-tweak-tool atau " +"situs ekstensi." + +#: Settings.ui.h:42 +msgid "Show Applications icon" +msgstr "Tampilkan ikon Aplikasi" + +#: Settings.ui.h:43 +msgid "Move the applications button at the beginning of the dock." +msgstr "Pindahkan tombol aplikasi di awal dock." + +#: Settings.ui.h:44 +msgid "Animate Show Applications." +msgstr "Animasi Tampilkan Aplikasi." + +#: Settings.ui.h:45 +msgid "Launchers" +msgstr "Peluncur" + +#: Settings.ui.h:46 +msgid "" +"Enable Super+(0-9) as shortcuts to activate apps. It can also be used " +"together with Shift and Ctrl." +msgstr "" +"Aktifkan Super+(0-9) sebagai cara pintas untuk mengaktifkan aplikasi. Ini " +"juga bisa digunakan bersamaan dengan Shift dan Ctrl." + +#: Settings.ui.h:47 +msgid "Use keyboard shortcuts to activate apps" +msgstr "Gunakan pintasan papan tik untuk mengaktifkan aplikasi" + +#: Settings.ui.h:48 +msgid "Behaviour when clicking on the icon of a running application." +msgstr "Perilaku saat mengklik ikon aplikasi yang sedang berjalan." + +#: Settings.ui.h:49 +msgid "Click action" +msgstr "Klik tindakan" + +#: Settings.ui.h:51 +msgid "Minimize or overview" +msgstr "Minimalkan atau ikhtisar" + +#: Settings.ui.h:52 +msgid "Behaviour when scrolling on the icon of an application." +msgstr "Perilaku saat menggulir pada ikon aplikasi." + +#: Settings.ui.h:53 +msgid "Scroll action" +msgstr "Gulir tindakan" + +#: Settings.ui.h:54 +msgid "Do nothing" +msgstr "Tidak melakukan apapun" + +#: Settings.ui.h:55 +msgid "Switch workspace" +msgstr "Beralih ruang kerja" + +#: Settings.ui.h:56 +msgid "Behavior" +msgstr "Perilaku" + +#: Settings.ui.h:57 +msgid "" +"Few customizations meant to integrate the dock with the default GNOME theme. " +"Alternatively, specific options can be enabled below." +msgstr "" +"Beberapa penyesuaian dimaksudkan untuk mengintegrasikan dock dengan tema " +"GNOME bawaan. Sebagai alternatif, pilihan spesifik dapat diaktifkan di bawah " +"ini." + +#: Settings.ui.h:58 +msgid "Use built-in theme" +msgstr "Gunakan tema bawaan" + +#: Settings.ui.h:59 +msgid "Save space reducing padding and border radius." +msgstr "Hemat ruang padding mengurangi dan radius border." + +#: Settings.ui.h:60 +msgid "Shrink the dash" +msgstr "Penyusutan dash" + +#: Settings.ui.h:61 +msgid "Show a dot for each windows of the application." +msgstr "Tampilkan titik untuk setiap jendela aplikasi." + +#: Settings.ui.h:62 +msgid "Show windows counter indicators" +msgstr "Tampilkan indikator counter jendela" + +#: Settings.ui.h:63 +msgid "Set the background color for the dash." +msgstr "Atur warna latar belakang untuk dash." + +#: Settings.ui.h:64 +msgid "Customize the dash color" +msgstr "Sesuaikan warna dash." + +#: Settings.ui.h:65 +msgid "Tune the dash background opacity." +msgstr "Cocokkan opacity latar belakang." + +#: Settings.ui.h:66 +msgid "Customize opacity" +msgstr "Menyesuaikan opacity" + +#: Settings.ui.h:67 +msgid "Opacity" +msgstr "Opacity" + +#: Settings.ui.h:68 +msgid "Force straight corner\n" +msgstr "Paksa sudut lurus\n" + +#: Settings.ui.h:70 +msgid "Appearance" +msgstr "Penampilan" + +#: Settings.ui.h:71 +msgid "version: " +msgstr "versi: " + +#: Settings.ui.h:72 +msgid "Moves the dash out of the overview transforming it in a dock" +msgstr "Memindahkan dash keluar dari ikhtisar yang mengubahnya di dock" + +#: Settings.ui.h:73 +msgid "Created by" +msgstr "Dibuat oleh" + +#: Settings.ui.h:74 +msgid "Webpage" +msgstr "Halaman web" + +#: Settings.ui.h:75 +msgid "" +"This program comes with ABSOLUTELY NO WARRANTY.\n" +"See the GNU General Public License, version 2 or later for details." +msgstr "" +"Program ini hadir dengan TIDAK ADA JAMINAN TIDAK " +"BENAR.\n" +"Lihat " +"GNU General Public License, versi 2 atau yang lebih baru untuk " +"detailnya. " + +#: Settings.ui.h:77 +msgid "About" +msgstr "Tentang" + +#: Settings.ui.h:78 +msgid "Show the dock by mouse hover on the screen edge." +msgstr "Tunjukkan dock dengan mouse hover di tepi layar." + +#: Settings.ui.h:79 +msgid "Autohide" +msgstr "Autohide" + +#: Settings.ui.h:80 +msgid "Push to show: require pressure to show the dock" +msgstr "Tekan untuk tampilkan: butuh tekanan untuk menunjukkan dock" + +#: Settings.ui.h:81 +msgid "Enable in fullscreen mode" +msgstr "Aktifkan dalam mode layar penuh" + +#: Settings.ui.h:82 +msgid "Show the dock when it doesn't obstruct application windows." +msgstr "Tunjukkan dokk bila tidak menghalangi jendela aplikasi." + +#: Settings.ui.h:83 +msgid "Dodge windows" +msgstr "Dodge jendela" + +#: Settings.ui.h:84 +msgid "All windows" +msgstr "Semua jendela" + +#: Settings.ui.h:85 +msgid "Only focused application's windows" +msgstr "Hanya fokus aplikasi jendela" + +#: Settings.ui.h:86 +msgid "Only maximized windows" +msgstr "Hanya jendela yang maksimal" + +#: Settings.ui.h:87 +msgid "Animation duration (s)" +msgstr "Durasi animasi (s)" + +#: Settings.ui.h:88 +msgid "0.000" +msgstr "0.000" + +#: Settings.ui.h:89 +msgid "Show timeout (s)" +msgstr "Tampilkan batas waktu (s)" + +#: Settings.ui.h:90 +msgid "Pressure threshold" +msgstr "Ambang tekanan" + #~ msgid "Application" #~ msgstr "Aplikasi" @@ -350,3 +789,13 @@ msgstr "Tambah Ruang Kerja" #~ msgid "Memory" #~ msgstr "Memori" + +#~ msgid "" +#~ "With fixed icon size, only the edge of the dock and the Show " +#~ "Applications icon are active." +#~ msgstr "" +#~ "Con la dimensione fissa delle icone, solo il bordo della dock e l'icona " +#~ " Mostra Applicazioni sono attive." + +#~ msgid "Switch workspace by scrolling on the dock" +#~ msgstr "Cambia spazio di lavoro scorrendo sulla dock" diff --git a/po/it.po b/po/it.po index 57124ad2..4b425925 100644 --- a/po/it.po +++ b/po/it.po @@ -1,3 +1,4 @@ +# #-#-#-#-# it.po (gnome-shell-extensions) #-#-#-#-# # Italian translations for GNOME Shell extensions # Copyright (C) 2011 Giovanni Campagna et al. # Copyright (C) 2012, 2013, 2014, 2015, 2017, 2019, 2020 The Free Software Foundation, Inc. @@ -6,8 +7,16 @@ # Milo Casagrande , 2013, 2014, 2015, 2017, 2019, 2020. # Gianvito Cavasoli , 2017. # +# #-#-#-#-# it.po (Dash-to-Dock) #-#-#-#-# +# Dash-to-Dock Italian translation. +# Copyright (C) 2018 the Dash-to-Dock copyright holder. +# This file is distributed under the same license as the Dash-to-Dock package. +# Milo Casagrande , 2018 +# +#, fuzzy msgid "" msgstr "" +"#-#-#-#-# it.po (gnome-shell-extensions) #-#-#-#-#\n" "Project-Id-Version: gnome-shell-extensions\n" "Report-Msgid-Bugs-To: https://gitlab.gnome.org/GNOME/gnome-shell-extensions/" "issues\n" @@ -21,6 +30,17 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" "X-Generator: Poedit 2.4.1\n" +"#-#-#-#-# it.po (Dash-to-Dock) #-#-#-#-#\n" +"Project-Id-Version: Dash-to-Dock\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2018-04-03 17:18+0200\n" +"PO-Revision-Date: 2018-04-04 10:13+0200\n" +"Last-Translator: Milo Casagrande \n" +"Language-Team: Italian \n" +"Language: it\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" #: data/gnome-classic.desktop.in:3 data/gnome-classic.session.desktop.in:3 msgid "GNOME Classic" @@ -154,7 +174,7 @@ msgstr "Chiudi" msgid "Unminimize" msgstr "Deminimizza" -#: extensions/window-list/extension.js:118 +#: extensions/window-list/extension.js:118 Settings.ui.h:49 msgid "Minimize" msgstr "Minimizza" @@ -262,3 +282,497 @@ msgstr "Spazio di lavoro %d" #: extensions/workspace-indicator/prefs.js:218 msgid "Add Workspace" msgstr "Aggiungi spazio di lavoro" + +#: prefs.js:140 +msgid "Primary monitor" +msgstr "Monitor primario" + +#: prefs.js:149 prefs.js:156 +msgid "Secondary monitor " +msgstr "Monitor secondario " + +#: prefs.js:181 Settings.ui.h:27 +msgid "Right" +msgstr "Destra" + +#: prefs.js:182 Settings.ui.h:24 +msgid "Left" +msgstr "Sinistra" + +#: prefs.js:232 +msgid "Intelligent autohide customization" +msgstr "Personalizzazione nascondimento automatico intelligente" + +#: prefs.js:239 prefs.js:424 prefs.js:481 +msgid "Reset to defaults" +msgstr "Ripristina a predefinito" + +#: prefs.js:417 +msgid "Show dock and application numbers" +msgstr "Mostra applicazioni in esecuzione" + +#: prefs.js:474 +msgid "Customize middle-click behavior" +msgstr "Personalizza comportamento clic centrale" + +#: prefs.js:557 +msgid "Customize running indicators" +msgstr "Personalizza indicatori in esecuzione" + +#: prefs.js:671 Settings.ui.h:71 +msgid "Customize opacity" +msgstr "Personalizza opacità" + +#: appIcons.js:785 +msgid "All Windows" +msgstr "Tutte le finestre" + +#. Translators: %s is "Settings", which is automatically translated. You +#. can also translate the full message if this fits better your language. +#: appIcons.js:1091 +#, javascript-format +msgid "Dash to Dock %s" +msgstr "%s di «Dash to Dock»" + +#: Settings.ui.h:1 +msgid "" +"When set to minimize, double clicking minimizes all the windows of the " +"application." +msgstr "" +"Quando impostato su minimizza, un doppio clic minimizza tutte le finestre " +"dell'applicazione" + +#: Settings.ui.h:2 +msgid "Shift+Click action" +msgstr "Azione Maiusc+Clic" + +#: Settings.ui.h:3 +msgid "Raise window" +msgstr "Solleva finestra" + +#: Settings.ui.h:4 +msgid "Minimize window" +msgstr "Minimizza finestra" + +#: Settings.ui.h:5 +msgid "Launch new instance" +msgstr "Lancia nuova istanza" + +#: Settings.ui.h:6 +msgid "Cycle through windows" +msgstr "Passa attraverso le finestre" + +#: Settings.ui.h:7 +msgid "Minimize or overview" +msgstr "Minimizza o mostra attività" + +#: Settings.ui.h:8 +msgid "Show window previews" +msgstr "Mostra anteprime finestra" + +#: Settings.ui.h:9 +msgid "Minimize or show previews" +msgstr "Minimizza o mostra anteprime" + +#: Settings.ui.h:10 +msgid "Quit" +msgstr "Chiudi" + +#: Settings.ui.h:11 +msgid "Behavior for Middle-Click." +msgstr "Comportamento del clic-centrale" + +#: Settings.ui.h:12 +msgid "Middle-Click action" +msgstr "Azione clic-centrale" + +#: Settings.ui.h:13 +msgid "Behavior for Shift+Middle-Click." +msgstr "Comportamento per Maiusc+Clic-centrale" + +#: Settings.ui.h:14 +msgid "Shift+Middle-Click action" +msgstr "Azione Maiusc+Clic-centrale" + +#: Settings.ui.h:15 +msgid "Enable Unity7 like glossy backlit items" +msgstr "Abilitare elementi lucidi retroilluminati come Unity7" + +#: Settings.ui.h:16 +msgid "Use dominant color" +msgstr "Usare colore dominante" + +#: Settings.ui.h:17 +msgid "Customize indicator style" +msgstr "Personalizza stile indicatori" + +#: Settings.ui.h:18 +msgid "Color" +msgstr "Colore" + +#: Settings.ui.h:19 +msgid "Border color" +msgstr "Colore bordo" + +#: Settings.ui.h:20 +msgid "Border width" +msgstr "Larghezza bordo" + +#: Settings.ui.h:21 +msgid "Show the dock on" +msgstr "Mostra dock su" + +#: Settings.ui.h:22 +msgid "Show on all monitors." +msgstr "Mostra su tutti gli schermi" + +#: Settings.ui.h:23 +msgid "Position on screen" +msgstr "Posizione sullo schermo" + +#: Settings.ui.h:25 +msgid "Bottom" +msgstr "Basso" + +#: Settings.ui.h:26 +msgid "Top" +msgstr "Alto" + +#: Settings.ui.h:28 +msgid "" +"Hide the dock when it obstructs a window of the current application. More " +"refined settings are available." +msgstr "" +"Nasconde la dock quando questa ostruisce una finestra dell'applicazione " +"corrente. Sono disponibili maggiori impostazioni." + +#: Settings.ui.h:29 +msgid "Intelligent autohide" +msgstr "Nascondi automaticamente intelligente" + +#: Settings.ui.h:30 +msgid "Dock size limit" +msgstr "Limite dimensione dock" + +#: Settings.ui.h:31 +msgid "Panel mode: extend to the screen edge" +msgstr "Modalità pannello: si estende fino al bordo dello schermo" + +#: Settings.ui.h:32 +msgid "Icon size limit" +msgstr "Limite dimensione icone" + +#: Settings.ui.h:33 +msgid "Fixed icon size: scroll to reveal other icons" +msgstr "Dimensione icona fissa: scorrere per rivelare le altre icone" + +#: Settings.ui.h:34 +msgid "Position and size" +msgstr "Posizione e dimensione" + +#: Settings.ui.h:35 +msgid "Show favorite applications" +msgstr "Mostra applicazioni preferite" + +#: Settings.ui.h:36 +msgid "Show running applications" +msgstr "Mostra applicazioni in esecuzione" + +#: Settings.ui.h:37 +msgid "Isolate workspaces." +msgstr "Isola spazi di lavoro" + +#: Settings.ui.h:38 +msgid "Isolate monitors." +msgstr "Isola gli schermi" + +#: Settings.ui.h:39 +msgid "Show open windows previews." +msgstr "Mostra anteprime delle finestre aperte" + +#: Settings.ui.h:40 +msgid "" +"If disabled, these settings are accessible from gnome-tweak-tool or the " +"extension website." +msgstr "" +"Se disabilitate, queste impostazioni sono accessibili da gnome-tweak-tool o " +"dal sito web delle estensioni." + +#: Settings.ui.h:41 +msgid "Show Applications icon" +msgstr "Mostra icona Applicazioni" + +#: Settings.ui.h:42 +msgid "Move the applications button at the beginning of the dock." +msgstr "Sposta il pulsante delle applicazioni all'inizio della dock" + +#: Settings.ui.h:43 +msgid "Animate Show Applications." +msgstr "Anima Mostra applicazioni" + +#: Settings.ui.h:44 +msgid "Launchers" +msgstr "Icone applicazioni" + +#: Settings.ui.h:45 +msgid "" +"Enable Super+(0-9) as shortcuts to activate apps. It can also be used " +"together with Shift and Ctrl." +msgstr "" +"Attiva Super+(0-9) come scorciatoie per attivare le applicazioni, funziona " +"anche con Maiusc e Ctrl." + +#: Settings.ui.h:46 +msgid "Use keyboard shortcuts to activate apps" +msgstr "Usa scorciatoie da tastiera per attivare le applicazioni" + +#: Settings.ui.h:47 +msgid "Behaviour when clicking on the icon of a running application." +msgstr "" +"Comportamento quando si fa clic sull'icona di una applicazione in esecuzione." + +#: Settings.ui.h:48 +msgid "Click action" +msgstr "Azione clic" + +#: Settings.ui.h:50 +msgid "Behaviour when scrolling on the icon of an application." +msgstr "" +"Comportamento quando si scorre sull'icona di una applicazione in esecuzione" + +#: Settings.ui.h:51 +msgid "Scroll action" +msgstr "Azione scorrimento" + +#: Settings.ui.h:52 +msgid "Do nothing" +msgstr "Non fare nulla" + +#: Settings.ui.h:53 +msgid "Switch workspace" +msgstr "Cambia spazio di lavoro" + +#: Settings.ui.h:54 +msgid "Behavior" +msgstr "Comportamento" + +#: Settings.ui.h:55 +msgid "" +"Few customizations meant to integrate the dock with the default GNOME theme. " +"Alternatively, specific options can be enabled below." +msgstr "" +"Poche personalizzazioni significative per integrare la dock con il tema " +"predefinito di GNOME. In alternativa, delle opzioni specifiche possono " +"essere abilitate qui sotto." + +#: Settings.ui.h:56 +msgid "Use built-in theme" +msgstr "Usa tema integrato" + +#: Settings.ui.h:57 +msgid "Save space reducing padding and border radius." +msgstr "Salva spazio riducendo il margine e il raggio dei bordi" + +#: Settings.ui.h:58 +msgid "Shrink the dash" +msgstr "Riduci la dash" + +#: Settings.ui.h:59 +msgid "Customize windows counter indicators" +msgstr "Personalizza indicatori conteggio finestre" + +#: Settings.ui.h:60 +msgid "Default" +msgstr "Predefinito" + +#: Settings.ui.h:61 +msgid "Dots" +msgstr "Puntini" + +#: Settings.ui.h:62 +msgid "Squares" +msgstr "Quadrati" + +#: Settings.ui.h:63 +msgid "Dashes" +msgstr "Trattini" + +#: Settings.ui.h:64 +msgid "Segmented" +msgstr "Segmenti" + +#: Settings.ui.h:65 +msgid "Solid" +msgstr "Solido" + +#: Settings.ui.h:66 +msgid "Ciliora" +msgstr "Ciliora" + +#: Settings.ui.h:67 +msgid "Metro" +msgstr "Metro" + +#: Settings.ui.h:68 +msgid "Set the background color for the dash." +msgstr "Imposta il colore di sfondo della dash" + +#: Settings.ui.h:69 +msgid "Customize the dash color" +msgstr "Personalizza il colore della dash" + +#: Settings.ui.h:70 +msgid "Tune the dash background opacity." +msgstr "Personalizza l'opacità dello sfondo della dash" + +#: Settings.ui.h:72 +msgid "Fixed" +msgstr "Fisso" + +#: Settings.ui.h:73 +msgid "Adaptive" +msgstr "Adattivo" + +#: Settings.ui.h:74 +msgid "Dynamic" +msgstr "Dinamico" + +#: Settings.ui.h:75 +msgid "Opacity" +msgstr "Opacità" + +#: Settings.ui.h:76 +msgid "Force straight corner\n" +msgstr "Forza angoli squadrati\n" + +#: Settings.ui.h:78 +msgid "Appearance" +msgstr "Aspetto" + +#: Settings.ui.h:79 +msgid "version: " +msgstr "versione: " + +#: Settings.ui.h:80 +msgid "Moves the dash out of the overview transforming it in a dock" +msgstr "Sposta la dash fuori dalla panoramica trasformandola in una dock" + +#: Settings.ui.h:81 +msgid "Created by" +msgstr "Creata da" + +#: Settings.ui.h:82 +msgid "Webpage" +msgstr "Sito web" + +#: Settings.ui.h:83 +msgid "" +"This program comes with ABSOLUTELY NO WARRANTY.\n" +"See the GNU General Public License, version 2 or later for details." +msgstr "" +"Questo programma viene fornito senza ALCUNA GARANZIA.\n" +"Per maggiori informazioni, consultare la GNU General Public License, versione 2 " +"o successiva." + +#: Settings.ui.h:85 +msgid "About" +msgstr "Informazioni" + +#: Settings.ui.h:86 +msgid "Customize minimum and maximum opacity values" +msgstr "Personalizza i valori minimo e massimo dell'opacità" + +#: Settings.ui.h:87 +msgid "Minimum opacity" +msgstr "Opacità minima" + +#: Settings.ui.h:88 +msgid "Maximum opacity" +msgstr "Opacità massima" + +#: Settings.ui.h:89 +msgid "Number overlay" +msgstr "Indicatore numerico in sovraimpressione" + +#: Settings.ui.h:90 +msgid "" +"Temporarily show the application numbers over the icons, corresponding to " +"the shortcut." +msgstr "" +"Mostra brevemente il numero corrispondente alla scorciatoia sull'icona " +"dell'applicazione." + +#: Settings.ui.h:91 +msgid "Show the dock if it is hidden" +msgstr "Mostra dock se nascosta" + +#: Settings.ui.h:92 +msgid "" +"If using autohide, the dock will appear for a short time when triggering the " +"shortcut." +msgstr "" +"In modalità «Nascondi automaticamente intelligente», la dock viene mostrata " +"per un istante quando la scorciatoia è attivata" + +#: Settings.ui.h:93 +msgid "Shortcut for the options above" +msgstr "Scorciatoia" + +#: Settings.ui.h:94 +msgid "Syntax: , , , " +msgstr "Formato: , , , " + +#: Settings.ui.h:95 +msgid "Hide timeout (s)" +msgstr "Timeout nascondimento (s)" + +#: Settings.ui.h:96 +msgid "Show the dock by mouse hover on the screen edge." +msgstr "Mostra la dock passando con il mouse sul bordo dello schermo" + +#: Settings.ui.h:97 +msgid "Autohide" +msgstr "Nascondi automaticamente" + +#: Settings.ui.h:98 +msgid "Push to show: require pressure to show the dock" +msgstr "Premere per vedere: richiede una pressione per mostrare la dock" + +#: Settings.ui.h:99 +msgid "Enable in fullscreen mode" +msgstr "Abilita in modalità a schermo intero" + +#: Settings.ui.h:100 +msgid "Show the dock when it doesn't obstruct application windows." +msgstr "" +"Mostra la dock quando questa non ostruisce le finestre dell'applicazione" + +#: Settings.ui.h:101 +msgid "Dodge windows" +msgstr "Schive finestre" + +#: Settings.ui.h:102 +msgid "All windows" +msgstr "Tutte le finestre" + +#: Settings.ui.h:103 +msgid "Only focused application's windows" +msgstr "Solo le finestre delle applicazione col focus" + +#: Settings.ui.h:104 +msgid "Only maximized windows" +msgstr "Solo le finestre massimizzate" + +#: Settings.ui.h:105 +msgid "Animation duration (s)" +msgstr "Durata animazione (s)" + +#: Settings.ui.h:106 +msgid "Show timeout (s)" +msgstr "Timeout rivelazione (s)" + +#: Settings.ui.h:107 +msgid "Pressure threshold" +msgstr "Soglia pressione" diff --git a/po/ja.po b/po/ja.po index 56ef3286..30b84200 100644 --- a/po/ja.po +++ b/po/ja.po @@ -1,3 +1,4 @@ +# #-#-#-#-# ja.po (gnome-shell-extensions master) #-#-#-#-# # gnome-shell-extensions ja.po # Copyright (C) 2011-2015, 2019-2020 gnome-shell-extensions's COPYRIGHT HOLDER # This file is distributed under the same license as the gnome-shell-extensions package. @@ -8,8 +9,19 @@ # Hajime Taira , 2014, 2015. # sicklylife , 2019-2020. # +# #-#-#-#-# ja.po (dash-to-dock master) #-#-#-#-# +# Dash to Dock master ja.po +# Copyright (C) 2013-2017, 2019-2020 THE dash-to-dock'S COPYRIGHT HOLDER +# This file is distributed under the same license as the dash-to-dock package. +# Jiro Matsuzawa , 2013. +# Debonne Hooties , 2014-2017. +# sicklylife , 2019-2020. +# Ryo Nakano , 2019. +# +#, fuzzy msgid "" msgstr "" +"#-#-#-#-# ja.po (gnome-shell-extensions master) #-#-#-#-#\n" "Project-Id-Version: gnome-shell-extensions master\n" "Report-Msgid-Bugs-To: https://gitlab.gnome.org/GNOME/gnome-shell-extensions/" "issues\n" @@ -22,6 +34,18 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=1; plural=0;\n" +"#-#-#-#-# ja.po (dash-to-dock master) #-#-#-#-#\n" +"Project-Id-Version: dash-to-dock master\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2020-06-14 23:00+0900\n" +"PO-Revision-Date: 2020-06-15 07:30+0900\n" +"Last-Translator: sicklylife \n" +"Language-Team: Japanese <>\n" +"Language: ja\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" #: data/gnome-classic.desktop.in:3 data/gnome-classic.session.desktop.in:3 msgid "GNOME Classic" @@ -156,9 +180,14 @@ msgstr "閉じる" msgid "Unminimize" msgstr "最小化解除" -#: extensions/window-list/extension.js:118 +#: extensions/window-list/extension.js:118 Settings.ui.h:52 +#, fuzzy msgid "Minimize" -msgstr "最小化" +msgstr "" +"#-#-#-#-# ja.po (gnome-shell-extensions master) #-#-#-#-#\n" +"最小化\n" +"#-#-#-#-# ja.po (dash-to-dock master) #-#-#-#-#\n" +"ウィンドウの最小化" #: extensions/window-list/extension.js:125 msgid "Unmaximize" @@ -265,6 +294,581 @@ msgstr "ワークスペース %d" msgid "Add Workspace" msgstr "ワークスペースを追加" +#: prefs.js:310 Settings.ui.h:25 +#, fuzzy +msgid "Left" +msgstr "" +"#-#-#-#-# ja.po (gnome-shell-extensions master) #-#-#-#-#\n" +"左回り\n" +"#-#-#-#-# ja.po (dash-to-dock master) #-#-#-#-#\n" +"左" + +#: prefs.js:309 Settings.ui.h:28 +#, fuzzy +msgid "Right" +msgstr "" +"#-#-#-#-# ja.po (gnome-shell-extensions master) #-#-#-#-#\n" +"右回り\n" +"#-#-#-#-# ja.po (dash-to-dock master) #-#-#-#-#\n" +"右" + +#: appIcons.js:808 +#, fuzzy +msgid "New Window" +msgstr "" +"#-#-#-#-# ja.po (gnome-shell-extensions master) #-#-#-#-#\n" +"新しいウィンドウで開く\n" +"#-#-#-#-# ja.po (dash-to-dock master) #-#-#-#-#\n" +"新しいウィンドウ" + +#: appIcons.js:851 +msgid "Remove from Favorites" +msgstr "お気に入りから削除" + +#: appIcons.js:797 +msgid "All Windows" +msgstr "ウィンドウプレビューの表示" + +#: appIcons.js:823 +msgid "Launch using Dedicated Graphics Card" +msgstr "専用のグラフィックカードを使用して起動" + +#: appIcons.js:857 +msgid "Add to Favorites" +msgstr "お気に入りに追加" + +#: appIcons.js:868 +msgid "Show Details" +msgstr "詳細を表示" + +# ここの翻訳は GNOME Shell の訳が優先される様子 +#: appIcons.js:896 appIcons.js:914 Settings.ui.h:11 +msgid "Quit" +msgstr "終了" + +# ここの「Quit」は GNOME Shell の訳に合わせた方が良さげ +#: appIcons.js:916 +#, javascript-format +msgid "Quit %d Windows" +msgstr "%d 個のウィンドウを終了" + +#. Translators: %s is "Settings", which is automatically translated. You +#. can also translate the full message if this fits better your language. +#: appIcons.js:1134 +#, javascript-format +msgid "Dash to Dock %s" +msgstr "Dash to Dock の%s" + +#: appIcons.js:1134 +msgid "Settings" +msgstr "設定" + +#: docking.js:1188 +msgid "Dash" +msgstr "Dash" + +#: locations.js:65 +msgid "Trash" +msgstr "ゴミ箱" + +#: locations.js:74 +msgid "Empty Trash" +msgstr "ゴミ箱を空にする" + +#: locations.js:192 +msgid "Mount" +msgstr "マウント" + +#: locations.js:235 +msgid "Eject" +msgstr "取り出す" + +#: locations.js:240 +msgid "Unmount" +msgstr "アンマウント" + +#: prefs.js:268 +msgid "Primary monitor" +msgstr "プライマリーモニター" + +#: prefs.js:277 prefs.js:284 +msgid "Secondary monitor " +msgstr "セカンダリーモニター" + +#: prefs.js:360 +msgid "Intelligent autohide customization" +msgstr "インテリジェント表示の設定" + +#: prefs.js:367 prefs.js:560 prefs.js:616 +msgid "Reset to defaults" +msgstr "既定値にリセット" + +#: prefs.js:553 +msgid "Show dock and application numbers" +msgstr "ドック表示とアプリケーション番号" + +#: prefs.js:609 +msgid "Customize middle-click behavior" +msgstr "中ボタンクリック時のアクション" + +#: prefs.js:692 +msgid "Customize running indicators" +msgstr "インジケーターの表示設定" + +#: prefs.js:804 Settings.ui.h:74 +msgid "Customize opacity" +msgstr "不透明度の調整" + +#: Settings.ui.h:1 +msgid "" +"When set to minimize, double clicking minimizes all the windows of the " +"application." +msgstr "" +"[ウィンドウの最小化] に設定したときは、アイコンをダブルクリックするとそのアプ" +"リケーションのウィンドウをすべて最小化します。" + +#: Settings.ui.h:2 +msgid "Shift+Click action" +msgstr "Shift + クリック時のアクション" + +#: Settings.ui.h:3 +msgid "Raise window" +msgstr "ウィンドウの再表示" + +#: Settings.ui.h:4 +msgid "Minimize window" +msgstr "ウィンドウの最小化" + +#: Settings.ui.h:5 +msgid "Launch new instance" +msgstr "新しいウィンドウを開く" + +#: Settings.ui.h:6 +msgid "Cycle through windows" +msgstr "ウィンドウの切り替え" + +#: Settings.ui.h:7 +msgid "Minimize or overview" +msgstr "ウィンドウの最小化またはオーバービュー" + +#: Settings.ui.h:8 +msgid "Show window previews" +msgstr "ウィンドウのプレビュー表示" + +#: Settings.ui.h:9 +msgid "Minimize or show previews" +msgstr "ウィンドウの最小化またはプレビュー表示" + +#: Settings.ui.h:10 +msgid "Focus or show previews" +msgstr "フォーカスまたはプレビュー表示" + +#: Settings.ui.h:12 +msgid "Behavior for Middle-Click." +msgstr "中ボタンをクリックしたときの動作を設定します。" + +#: Settings.ui.h:13 +msgid "Middle-Click action" +msgstr "中ボタンクリック時のアクション" + +#: Settings.ui.h:14 +msgid "Behavior for Shift+Middle-Click." +msgstr "Shift を押しながら中ボタンをクリックしたときの動作を設定します。" + +#: Settings.ui.h:15 +msgid "Shift+Middle-Click action" +msgstr "Shift + 中ボタンクリック時のアクション" + +#: Settings.ui.h:16 +msgid "Enable Unity7 like glossy backlit items" +msgstr "Unity7 のような色付きのアイテム背景" + +#: Settings.ui.h:17 +msgid "Use dominant color" +msgstr "ドミナントカラーを使用" + +#: Settings.ui.h:18 +msgid "Customize indicator style" +msgstr "表示スタイルの設定" + +#: Settings.ui.h:19 +msgid "Color" +msgstr "ボディ色" + +#: Settings.ui.h:20 +msgid "Border color" +msgstr "縁取り色" + +#: Settings.ui.h:21 +msgid "Border width" +msgstr "縁取り幅" + +#: Settings.ui.h:22 +msgid "Show the dock on" +msgstr "ドックを表示するモニター" + +#: Settings.ui.h:23 +msgid "Show on all monitors." +msgstr "すべてのモニターで表示" + +#: Settings.ui.h:24 +msgid "Position on screen" +msgstr "表示位置" + +#: Settings.ui.h:26 +msgid "Bottom" +msgstr "下" + +#: Settings.ui.h:27 +msgid "Top" +msgstr "上" + +#: Settings.ui.h:29 +msgid "" +"Hide the dock when it obstructs a window of the current application. More " +"refined settings are available." +msgstr "" +"開いているウィンドウの邪魔にならないようドックの表示/非表示を自動的に切り替え" +"ます。より洗練された表示設定も可能です。" + +#: Settings.ui.h:30 +msgid "Intelligent autohide" +msgstr "インテリジェント表示" + +#: Settings.ui.h:31 +msgid "Dock size limit" +msgstr "ドックサイズの上限" + +#: Settings.ui.h:32 +msgid "Panel mode: extend to the screen edge" +msgstr "パネルモード (画面の端までドックを拡張)" + +#: Settings.ui.h:33 +msgid "Icon size limit" +msgstr "アイコンサイズの上限" + +#: Settings.ui.h:34 +msgid "Fixed icon size: scroll to reveal other icons" +msgstr "アイコンサイズの固定 (隠れたアイコンはスクロールで表示)" + +#: Settings.ui.h:35 +msgid "Position and size" +msgstr "位置とサイズ" + +#: Settings.ui.h:36 +msgid "Show favorite applications" +msgstr "お気に入りアプリケーションの表示" + +#: Settings.ui.h:37 +msgid "Show running applications" +msgstr "実行中アプリケーションの表示" + +#: Settings.ui.h:38 +msgid "Isolate workspaces." +msgstr "現在のワークスペースのみ表示" + +#: Settings.ui.h:39 +msgid "Isolate monitors." +msgstr "現在のモニターのみ表示" + +#: Settings.ui.h:40 +msgid "Show open windows previews." +msgstr "ウィンドウのプレビューを右クリックで表示可能にする" + +#: Settings.ui.h:41 +msgid "" +"If disabled, these settings are accessible from gnome-tweak-tool or the " +"extension website." +msgstr "" +"オフにしたときは gnome-tweak-tool または拡張機能ウェブサイトを経由してこの設" +"定ダイアログにアクセスします。" + +#: Settings.ui.h:42 +msgid "Show Applications icon" +msgstr "[アプリケーションを表示する] アイコンの表示" + +#: Settings.ui.h:43 +msgid "Move the applications button at the beginning of the dock." +msgstr "ドックの先頭 (最上段または左端) に表示" + +#: Settings.ui.h:44 +msgid "Animate Show Applications." +msgstr "アニメーションしながらアプリケーション一覧を表示" + +#: Settings.ui.h:45 +msgid "Show trash can" +msgstr "ゴミ箱を表示" + +#: Settings.ui.h:46 +msgid "Show mounted volumes and devices" +msgstr "マウントしたボリュームとデバイスを表示" + +#: Settings.ui.h:47 +msgid "Launchers" +msgstr "ランチャー" + +#: Settings.ui.h:48 +msgid "" +"Enable Super+(0-9) as shortcuts to activate apps. It can also be used " +"together with Shift and Ctrl." +msgstr "" +"Super キーと番号 (0-9) を同時に押すことでアプリケーションのアクティブ化を可能" +"にします。\n" +"Shift キーまたは Ctrl キーを Super キーとともに押しても機能します。" + +#: Settings.ui.h:49 +msgid "Use keyboard shortcuts to activate apps" +msgstr "アプリのアクティブ化にキーボードショートカットを使用" + +#: Settings.ui.h:50 +msgid "Behaviour when clicking on the icon of a running application." +msgstr "実行中アプリケーションのアイコンをクリックしたときの動作を設定します。" + +#: Settings.ui.h:51 +msgid "Click action" +msgstr "クリック時のアクション" + +#: Settings.ui.h:53 +msgid "Behaviour when scrolling on the icon of an application." +msgstr "" +"実行中アプリケーションのアイコン上でスクロールしたときの動作を設定します。" + +#: Settings.ui.h:54 +msgid "Scroll action" +msgstr "スクロール時のアクション" + +#: Settings.ui.h:55 +msgid "Do nothing" +msgstr "何もしない" + +#: Settings.ui.h:56 +msgid "Switch workspace" +msgstr "ワークスペースの切り替え" + +#: Settings.ui.h:57 +msgid "Behavior" +msgstr "動作" + +#: Settings.ui.h:58 +msgid "" +"Few customizations meant to integrate the dock with the default GNOME theme. " +"Alternatively, specific options can be enabled below." +msgstr "" +"この設定がオンのときは、お使いの GNOME テーマとの調和を図るためカスタマイズは" +"無効になります。オフのときには以下のカスタマイズが可能です。" + +#: Settings.ui.h:59 +msgid "Use built-in theme" +msgstr "ビルトインテーマの使用" + +#: Settings.ui.h:60 +msgid "Save space reducing padding and border radius." +msgstr "境界線の太さとパディングを減らして表示域を小さくします。" + +#: Settings.ui.h:61 +msgid "Shrink the dash" +msgstr "Dash の縮小表示" + +#: Settings.ui.h:62 +msgid "Customize windows counter indicators" +msgstr "ウィンドウ数インジケーターの設定" + +#: Settings.ui.h:63 +msgid "Default" +msgstr "デフォルト" + +#: Settings.ui.h:64 +msgid "Dots" +msgstr "" + +#: Settings.ui.h:65 +msgid "Squares" +msgstr "" + +#: Settings.ui.h:66 +msgid "Dashes" +msgstr "" + +#: Settings.ui.h:67 +msgid "Segmented" +msgstr "" + +#: Settings.ui.h:68 +msgid "Solid" +msgstr "" + +#: Settings.ui.h:69 +msgid "Ciliora" +msgstr "" + +#: Settings.ui.h:70 +msgid "Metro" +msgstr "" + +#: Settings.ui.h:71 +msgid "Set the background color for the dash." +msgstr "Dash の背景色を設定します" + +#: Settings.ui.h:72 +msgid "Customize the dash color" +msgstr "Dash 背景色の設定" + +#: Settings.ui.h:73 +msgid "Tune the dash background opacity." +msgstr "Dash 背景の不透明度を調整します。" + +#: Settings.ui.h:75 +msgid "Fixed" +msgstr "固定" + +#: Settings.ui.h:76 +msgid "Dynamic" +msgstr "動的" + +#: Settings.ui.h:77 +msgid "Opacity" +msgstr "不透明度" + +#: Settings.ui.h:78 +msgid "Force straight corner" +msgstr "角を丸めない" + +#: Settings.ui.h:79 +msgid "Appearance" +msgstr "外観" + +#: Settings.ui.h:80 +msgid "version: " +msgstr "バージョン: " + +#: Settings.ui.h:81 +msgid "Moves the dash out of the overview transforming it in a dock" +msgstr "" +"Dash をドック化してアクティビティ画面以外でも Dash 操作を可能にします。" + +#: Settings.ui.h:82 +msgid "Created by" +msgstr "作者:" + +#: Settings.ui.h:83 +msgid "Webpage" +msgstr "ウェブページ" + +#: Settings.ui.h:84 +msgid "" +"This program comes with ABSOLUTELY NO WARRANTY.\n" +"See the GNU General Public License, version 2 or later for details." +msgstr "" +"このプログラムに保証は一切ありません。\n" +"詳しくは GNU 一般公衆ライセンス (GPL) バージョン 2 またはそれ以降のバージョンを" +"ご覧ください。" + +#: Settings.ui.h:86 +msgid "About" +msgstr "情報" + +#: Settings.ui.h:87 +msgid "Customize minimum and maximum opacity values" +msgstr "不透明度の最小値と最大値の設定" + +#: Settings.ui.h:88 +msgid "Minimum opacity" +msgstr "最小不透明度" + +#: Settings.ui.h:89 +msgid "Maximum opacity" +msgstr "最大不透明度" + +#: Settings.ui.h:90 +msgid "Number overlay" +msgstr "番号の表示" + +#: Settings.ui.h:91 +msgid "" +"Temporarily show the application numbers over the icons, corresponding to " +"the shortcut." +msgstr "" +"ショートカットキーが押されたときに、アイコン上にアプリケーション番号を一時的" +"に表示します。" + +#: Settings.ui.h:92 +msgid "Show the dock if it is hidden" +msgstr "ドックが非表示なら一時的に表示" + +#: Settings.ui.h:93 +msgid "" +"If using autohide, the dock will appear for a short time when triggering the " +"shortcut." +msgstr "" +"ドックが表示されていない状態のとき、ショーカットキーで一時的にドックを表示し" +"ます。" + +#: Settings.ui.h:94 +msgid "Shortcut for the options above" +msgstr "上記設定のためのショートカットキー" + +#: Settings.ui.h:95 +msgid "Syntax: , , , " +msgstr "表記法: , , , " + +#: Settings.ui.h:96 +msgid "Hide timeout (s)" +msgstr "非表示までのタイムアウト (秒)" + +#: Settings.ui.h:97 +msgid "Show the dock by mouse hover on the screen edge." +msgstr "" +"ドックを表示したいとき、ポインターを画面端に移動するとドックが表示されます。" + +#: Settings.ui.h:98 +msgid "Autohide" +msgstr "オンデマンド表示" + +#: Settings.ui.h:99 +msgid "Push to show: require pressure to show the dock" +msgstr "" +"押し込んで表示 (画面外にポインターを移動するようにマウスを動かして表示)" + +#: Settings.ui.h:100 +msgid "Enable in fullscreen mode" +msgstr "フルスクリーンモード時でも表示" + +#: Settings.ui.h:101 +msgid "Show the dock when it doesn't obstruct application windows." +msgstr "" +"ドックを常に表示しますが、アプリケーションウィンドウと重なるときは表示しませ" +"ん。" + +#: Settings.ui.h:102 +msgid "Dodge windows" +msgstr "ウィンドウ重なり防止" + +#: Settings.ui.h:103 +msgid "All windows" +msgstr "すべてのウィンドウが対象" + +#: Settings.ui.h:104 +msgid "Only focused application's windows" +msgstr "フォーカスされたアプリケーションのウィンドウが対象" + +#: Settings.ui.h:105 +msgid "Only maximized windows" +msgstr "最大化されたウィンドウが対象" + +#: Settings.ui.h:106 +msgid "Animation duration (s)" +msgstr "アニメーション表示時間 (秒)" + +#: Settings.ui.h:107 +msgid "Show timeout (s)" +msgstr "表示までのタイムアウト (秒)" + +#: Settings.ui.h:108 +msgid "Pressure threshold" +msgstr "押し込み量 (ピクセル)" + #~ msgid "Application" #~ msgstr "アプリケーション" @@ -360,12 +964,6 @@ msgstr "ワークスペースを追加" #~ msgid "Normal" #~ msgstr "標準" -#~ msgid "Left" -#~ msgstr "左回り" - -#~ msgid "Right" -#~ msgstr "右回り" - #~ msgid "Upside-down" #~ msgstr "逆さま" @@ -414,12 +1012,6 @@ msgstr "ワークスペースを追加" #~ msgid "Drag here to add favorites" #~ msgstr "ドラッグでお気に入りに追加" -#~ msgid "New Window" -#~ msgstr "新しいウィンドウで開く" - -#~ msgid "Remove from Favorites" -#~ msgstr "お気に入りから削除" - #~ msgid "Icon size" #~ msgstr "アイコンのサイズ" diff --git a/po/nb.po b/po/nb.po index 66114ec1..bc0f0833 100644 --- a/po/nb.po +++ b/po/nb.po @@ -1,12 +1,22 @@ +# #-#-#-#-# nb.po (gnome-shell-extensions 3.26.x) #-#-#-#-# # Norwegian bokmål translation of gnome-shell-extensions. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. # Kjartan Maraas , 2011-2017. # +# #-#-#-#-# nb.po (Dash-to-Dock) #-#-#-#-# +# Norwegian Bokmål translation for Dash to Dock. +# Copyright (C) 2018 Michele +# This file is distributed under the same license as the dash-to-dock package. +# Harald H. , 2018. +# +#, fuzzy msgid "" msgstr "" +"#-#-#-#-# nb.po (gnome-shell-extensions 3.26.x) #-#-#-#-#\n" "Project-Id-Version: gnome-shell-extensions 3.26.x\n" -"Report-Msgid-Bugs-To: https://bugzilla.gnome.org/enter_bug.cgi?product=gnome-shell&keywords=I18N+L10N&component=extensions\n" +"Report-Msgid-Bugs-To: https://bugzilla.gnome.org/enter_bug.cgi?product=gnome-" +"shell&keywords=I18N+L10N&component=extensions\n" "POT-Creation-Date: 2017-10-04 18:03+0000\n" "PO-Revision-Date: 2017-11-06 13:40+0100\n" "Last-Translator: Kjartan Maraas \n" @@ -16,6 +26,19 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Generator: Poedit 1.5.4\n" +"#-#-#-#-# nb.po (Dash-to-Dock) #-#-#-#-#\n" +"Project-Id-Version: Dash-to-Dock\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2018-02-28 09:47+0100\n" +"PO-Revision-Date: 2018-03-02 11:02+0100\n" +"Language-Team: \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Poedit 1.8.7.1\n" +"Last-Translator: Harald H. \n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" +"Language: nb\n" #: data/gnome-classic.desktop.in:3 data/gnome-classic.session.desktop.in:3 msgid "GNOME Classic" @@ -257,7 +280,7 @@ msgstr "Lukk" msgid "Unminimize" msgstr "Gjenopprett" -#: extensions/window-list/extension.js:130 +#: extensions/window-list/extension.js:130 Settings.ui.h:48 msgid "Minimize" msgstr "Minimer" @@ -354,3 +377,485 @@ msgstr "Navn" #, javascript-format msgid "Workspace %d" msgstr "Arbeidsområde %d" + +#: prefs.js:131 +msgid "Primary monitor" +msgstr "Primærskjerm" + +#: prefs.js:140 prefs.js:147 +msgid "Secondary monitor " +msgstr "Sekundærskjerm" + +#: prefs.js:172 Settings.ui.h:26 +msgid "Right" +msgstr "Høyre" + +#: prefs.js:173 Settings.ui.h:23 +msgid "Left" +msgstr "Venstre" + +#: prefs.js:223 +msgid "Intelligent autohide customization" +msgstr "Tilpass intelligent autoskjul" + +#: prefs.js:230 prefs.js:415 prefs.js:472 +msgid "Reset to defaults" +msgstr "Tilbakestill til standard" + +#: prefs.js:408 +msgid "Show dock and application numbers" +msgstr "Vis dokk og programnumre" + +#: prefs.js:465 +msgid "Customize middle-click behavior" +msgstr "Tilpass oppførsel for mellomklikk" + +#: prefs.js:548 +msgid "Customize running indicators" +msgstr "Tilpass kjørende indikatorer" + +#: prefs.js:662 Settings.ui.h:70 +msgid "Customize opacity" +msgstr "Tilpass gjennomsiktighet" + +#: appIcons.js:763 +msgid "All Windows" +msgstr "Alle vinduer" + +#. Translators: %s is "Settings", which is automatically translated. You +#. can also translate the full message if this fits better your language. +#: appIcons.js:1069 +#, javascript-format +msgid "Dash to Dock %s" +msgstr "Dash to Dock %s" + +#: Settings.ui.h:1 +msgid "" +"When set to minimize, double clicking minimizes all the windows of the " +"application." +msgstr "" +"Når satt til minimer vil dobbeltklikking minimere alle åpne instanser av " +"programmet." + +#: Settings.ui.h:2 +msgid "Shift+Click action" +msgstr "Handling for Shift + klikk" + +#: Settings.ui.h:3 +msgid "Raise window" +msgstr "Fremhev vindu" + +#: Settings.ui.h:4 +msgid "Minimize window" +msgstr "Minimer vindu" + +#: Settings.ui.h:5 +msgid "Launch new instance" +msgstr "Åpne ny instans" + +#: Settings.ui.h:6 +msgid "Cycle through windows" +msgstr "Veksle mellom vinduer" + +#: Settings.ui.h:7 +msgid "Minimize or overview" +msgstr "Minimer eller oversikt" + +#: Settings.ui.h:8 +msgid "Show window previews" +msgstr "Vis forhåndsvisning" + +#: Settings.ui.h:9 +msgid "Quit" +msgstr "Avslutt" + +#: Settings.ui.h:10 +msgid "Behavior for Middle-Click." +msgstr "Oppførsel for mellomklikk." + +#: Settings.ui.h:11 +msgid "Middle-Click action" +msgstr "Mellomklikk" + +#: Settings.ui.h:12 +msgid "Behavior for Shift+Middle-Click." +msgstr "Oppførsel for Shift + mellomklikk." + +#: Settings.ui.h:13 +msgid "Shift+Middle-Click action" +msgstr "Shift + mellomklikk" + +#: Settings.ui.h:14 +msgid "Enable Unity7 like glossy backlit items" +msgstr "Aktiver Unity7-lignende bakgrunnsglans" + +#: Settings.ui.h:15 +msgid "Use dominant color" +msgstr "Bruk dominerende farge" + +#: Settings.ui.h:16 +msgid "Customize indicator style" +msgstr "Tilpass indikatorstil" + +#: Settings.ui.h:17 +msgid "Color" +msgstr "Farge" + +#: Settings.ui.h:18 +msgid "Border color" +msgstr "Kantfarge" + +#: Settings.ui.h:19 +msgid "Border width" +msgstr "Kantbredde" + +#: Settings.ui.h:20 +msgid "Show the dock on" +msgstr "Vis dokken på" + +#: Settings.ui.h:21 +msgid "Show on all monitors." +msgstr "Vis på alle skjermer." + +#: Settings.ui.h:22 +msgid "Position on screen" +msgstr "Skjermposisjon" + +#: Settings.ui.h:24 +msgid "Bottom" +msgstr "Bunn" + +#: Settings.ui.h:25 +msgid "Top" +msgstr "Topp" + +#: Settings.ui.h:27 +msgid "" +"Hide the dock when it obstructs a window of the current application. More " +"refined settings are available." +msgstr "" +"Skjul dokken når den forstyrrer et aktivt programvindu. Flere innstillinger " +"er tilgjengelig." + +#: Settings.ui.h:28 +msgid "Intelligent autohide" +msgstr "Intelligent autoskjul" + +#: Settings.ui.h:29 +msgid "Dock size limit" +msgstr "Maks dokkstørrelse" + +#: Settings.ui.h:30 +msgid "Panel mode: extend to the screen edge" +msgstr "Panelmodus: strekker seg til skjermkanten" + +#: Settings.ui.h:31 +msgid "Icon size limit" +msgstr "Ikonstørrelse" + +#: Settings.ui.h:32 +msgid "Fixed icon size: scroll to reveal other icons" +msgstr "Fast ikonstørrelse: rull for vise andre ikoner" + +#: Settings.ui.h:33 +msgid "Position and size" +msgstr "Posisjon og størrelse" + +#: Settings.ui.h:34 +msgid "Show favorite applications" +msgstr "Vis favorittprogrammer" + +#: Settings.ui.h:35 +msgid "Show running applications" +msgstr "Vis kjørende programmer" + +#: Settings.ui.h:36 +msgid "Isolate workspaces." +msgstr "Isoler arbeidsområder." + +#: Settings.ui.h:37 +msgid "Isolate monitors." +msgstr "Isoler skjermer." + +#: Settings.ui.h:38 +msgid "Show open windows previews." +msgstr "Vis forhåndsvisning av åpne vinduer." + +#: Settings.ui.h:39 +msgid "" +"If disabled, these settings are accessible from gnome-tweak-tool or the " +"extension website." +msgstr "" +"Om deaktivert er disse innstillingene tilgjengelig i gnome-tweak-tool eller " +"på nettsiden for utvidelser." + +#: Settings.ui.h:40 +msgid "Show Applications icon" +msgstr "Vis programmer ikon" + +#: Settings.ui.h:41 +msgid "Move the applications button at the beginning of the dock." +msgstr "Flytt programmer-knappen til starten av dokken." + +#: Settings.ui.h:42 +msgid "Animate Show Applications." +msgstr "Animere Vis programmer." + +#: Settings.ui.h:43 +msgid "Launchers" +msgstr "Utløsere" + +#: Settings.ui.h:44 +msgid "" +"Enable Super+(0-9) as shortcuts to activate apps. It can also be used " +"together with Shift and Ctrl." +msgstr "" +"Bruk Super+(0-9) som snarvei for å aktivere apper. Den kan også brukes i " +"kombinasjon med Shift og Ctrl." + +#: Settings.ui.h:45 +msgid "Use keyboard shortcuts to activate apps" +msgstr "Bruk tastatursnarveier for å åpne apper" + +#: Settings.ui.h:46 +msgid "Behaviour when clicking on the icon of a running application." +msgstr "Oppførsel når du klikker på ikonet for et åpent program." + +#: Settings.ui.h:47 +msgid "Click action" +msgstr "Klikkhandling" + +#: Settings.ui.h:49 +msgid "Behaviour when scrolling on the icon of an application." +msgstr "Oppførsel ved rulling over et programikon." + +#: Settings.ui.h:50 +msgid "Scroll action" +msgstr "Rullehandling" + +#: Settings.ui.h:51 +msgid "Do nothing" +msgstr "Ikke gjør noe" + +#: Settings.ui.h:52 +msgid "Switch workspace" +msgstr "Bytt arbeidsområde" + +#: Settings.ui.h:53 +msgid "Behavior" +msgstr "Oppførsel" + +#: Settings.ui.h:54 +msgid "" +"Few customizations meant to integrate the dock with the default GNOME theme. " +"Alternatively, specific options can be enabled below." +msgstr "" +"Enkelte tilpasninger som forsøker å integrere dokken med det standard GNOME-" +"temaet. Alternativt kan bestemte valg aktiveres nedenfor." + +#: Settings.ui.h:55 +msgid "Use built-in theme" +msgstr "Bruk innebygget tema" + +#: Settings.ui.h:56 +msgid "Save space reducing padding and border radius." +msgstr "Spar plass ved å redusere utfylling og kant-radius." + +#: Settings.ui.h:57 +msgid "Shrink the dash" +msgstr "Krymp dash" + +#: Settings.ui.h:58 +msgid "Customize windows counter indicators" +msgstr "Tilpass vinduenes nummer-indikatorer" + +#: Settings.ui.h:59 +msgid "Default" +msgstr "Standard" + +#: Settings.ui.h:60 +msgid "Dots" +msgstr "Prikker" + +#: Settings.ui.h:61 +msgid "Squares" +msgstr "Firkanter" + +#: Settings.ui.h:62 +msgid "Dashes" +msgstr "Streker" + +#: Settings.ui.h:63 +msgid "Segmented" +msgstr "Segmentert" + +#: Settings.ui.h:64 +msgid "Solid" +msgstr "Solid" + +#: Settings.ui.h:65 +msgid "Ciliora" +msgstr "Ciliora" + +#: Settings.ui.h:66 +msgid "Metro" +msgstr "Metro" + +#: Settings.ui.h:67 +msgid "Set the background color for the dash." +msgstr "Avgjør bakgrunnsfargen." + +#: Settings.ui.h:68 +msgid "Customize the dash color" +msgstr "Tilpass fargen" + +#: Settings.ui.h:69 +msgid "Tune the dash background opacity." +msgstr "Justere bakgrunnens gjennomsiktighet." + +#: Settings.ui.h:71 +msgid "Fixed" +msgstr "Fast" + +#: Settings.ui.h:72 +msgid "Adaptive" +msgstr "Adaptiv" + +#: Settings.ui.h:73 +msgid "Dynamic" +msgstr "Dynamisk" + +#: Settings.ui.h:74 +msgid "Opacity" +msgstr "Gjennomsiktighet" + +#: Settings.ui.h:75 +msgid "Force straight corner\n" +msgstr "Tving rette hjørner\n" + +#: Settings.ui.h:77 +msgid "Appearance" +msgstr "Utseende" + +#: Settings.ui.h:78 +msgid "version: " +msgstr "versjon: " + +#: Settings.ui.h:79 +msgid "Moves the dash out of the overview transforming it in a dock" +msgstr "Flytter dash ut av oversikten og omformer den til en dokk" + +#: Settings.ui.h:80 +msgid "Created by" +msgstr "Laget av" + +#: Settings.ui.h:81 +msgid "Webpage" +msgstr "Nettside" + +#: Settings.ui.h:82 +msgid "" +"This program comes with ABSOLUTELY NO WARRANTY.\n" +"See the GNU General Public License, version 2 or later for details." +msgstr "" +"Dette programmet leveres med ABSOLUTT INGEN GARANTI.\n" +"Se GNU " +"General Public License, versjon 2 eller senere for detaljer." + +#: Settings.ui.h:84 +msgid "About" +msgstr "Om" + +#: Settings.ui.h:85 +msgid "Customize minimum and maximum opacity values" +msgstr "Tilpass verdier for minimum og maks gjennomsiktighet" + +#: Settings.ui.h:86 +msgid "Minimum opacity" +msgstr "Minimum gjennomsiktighet" + +#: Settings.ui.h:87 +msgid "Maximum opacity" +msgstr "Maksimum gjennomsiktighet" + +#: Settings.ui.h:88 +msgid "Number overlay" +msgstr "Nummerert overlag" + +#: Settings.ui.h:89 +msgid "" +"Temporarily show the application numbers over the icons, corresponding to " +"the shortcut." +msgstr "Midlertidig vis programnummer over ikoner, som svarer til snarveien." + +#: Settings.ui.h:90 +msgid "Show the dock if it is hidden" +msgstr "Vis dokken om den er skjult" + +#: Settings.ui.h:91 +msgid "" +"If using autohide, the dock will appear for a short time when triggering the " +"shortcut." +msgstr "" +"Om autoskjul er i bruk vil dokken vises en kort stund når snarveien utløses." + +#: Settings.ui.h:92 +msgid "Shortcut for the options above" +msgstr "Snarvei for valgene ovenfor" + +#: Settings.ui.h:93 +msgid "Syntax: , , , " +msgstr "Syntaks: , , , " + +#: Settings.ui.h:94 +msgid "Hide timeout (s)" +msgstr "Skjuleperiode (s)" + +#: Settings.ui.h:95 +msgid "Show the dock by mouse hover on the screen edge." +msgstr "Vis dokken når musepekeren holdes langs skjermkanten." + +#: Settings.ui.h:96 +msgid "Autohide" +msgstr "Autoskjul" + +#: Settings.ui.h:97 +msgid "Push to show: require pressure to show the dock" +msgstr "Dytt for å vise: krev et økt trykk for å vise dokken" + +#: Settings.ui.h:98 +msgid "Enable in fullscreen mode" +msgstr "Aktiver i fullskjermmodus" + +#: Settings.ui.h:99 +msgid "Show the dock when it doesn't obstruct application windows." +msgstr "Vis dokken når den ikke forstyrrer programvinduer." + +#: Settings.ui.h:100 +msgid "Dodge windows" +msgstr "Smett unna vinduer" + +#: Settings.ui.h:101 +msgid "All windows" +msgstr "Alle vinduer" + +#: Settings.ui.h:102 +msgid "Only focused application's windows" +msgstr "Kun fokuserte programvinduer" + +#: Settings.ui.h:103 +msgid "Only maximized windows" +msgstr "Kun maksimerte programvinduer" + +#: Settings.ui.h:104 +msgid "Animation duration (s)" +msgstr "Animasjonsvarighet (s)" + +#: Settings.ui.h:105 +msgid "Show timeout (s)" +msgstr "Visningslengde (s)" + +#: Settings.ui.h:106 +msgid "Pressure threshold" +msgstr "Trykkterskel" diff --git a/po/nl.po b/po/nl.po index 51589f9d..6a1ee07c 100644 --- a/po/nl.po +++ b/po/nl.po @@ -1,11 +1,23 @@ +# #-#-#-#-# nl.po (gnome-shell-extensions master) #-#-#-#-# # Dutch translation for gnome-shell-extensions. # Copyright (C) 2013 gnome-shell-extensions's COPYRIGHT HOLDER # This file is distributed under the same license as the gnome-shell-extensions package. # Reinout van Schouwen , 2013, 2014. # Nathan Follens , 2015-2017, 2019-2020. # Hannie Dumoleyn , 2015. +# #-#-#-#-# nl.po (Dash to Dock) #-#-#-#-# +# Translation for de +# Copyright (C) 2014 Michele +# This file is distributed under the same license as the dash-to-dock package. +# +# Morris Jobke , 2014. +# Jonatan Zeidler , 2012. +# jonius , 2012. +# Heimen Stoffels , 2015, 2019. +#, fuzzy msgid "" msgstr "" +"#-#-#-#-# nl.po (gnome-shell-extensions master) #-#-#-#-#\n" "Project-Id-Version: gnome-shell-extensions master\n" "Report-Msgid-Bugs-To: https://gitlab.gnome.org/GNOME/gnome-shell-extensions/" "issues\n" @@ -20,6 +32,19 @@ msgstr "" "Plural-Forms: nplurals=2; plural=(n != 1);\n" "X-Generator: Poedit 2.4.1\n" "X-Project-Style: gnome\n" +"#-#-#-#-# nl.po (Dash to Dock) #-#-#-#-#\n" +"Project-Id-Version: Dash to Dock\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2019-10-10 20:27+0200\n" +"PO-Revision-Date: 2019-10-10 20:46+0200\n" +"Last-Translator: Heimen Stoffels \n" +"Language-Team: Dutch \n" +"Language: de\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Lokalize 19.11.70\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" #: data/gnome-classic.desktop.in:3 data/gnome-classic.session.desktop.in:3 msgid "GNOME Classic" @@ -154,7 +179,7 @@ msgstr "Sluiten" msgid "Unminimize" msgstr "Zichtbaar maken" -#: extensions/window-list/extension.js:118 +#: extensions/window-list/extension.js:118 Settings.ui.h:52 msgid "Minimize" msgstr "Minimaliseren" @@ -264,6 +289,510 @@ msgstr "Werkblad %d" msgid "Add Workspace" msgstr "Werkblad toevoegen" +#: prefs.js:264 +msgid "Primary monitor" +msgstr "Primair beeldscherm" + +#: prefs.js:273 prefs.js:280 +msgid "Secondary monitor " +msgstr "Secundair beeldscherm" + +#: prefs.js:305 Settings.ui.h:28 +msgid "Right" +msgstr "Rechts" + +#: prefs.js:306 Settings.ui.h:25 +msgid "Left" +msgstr "Links" + +#: prefs.js:356 +msgid "Intelligent autohide customization" +msgstr "Voorkeuren voor slim verbergen" + +#: prefs.js:363 prefs.js:556 prefs.js:612 +msgid "Reset to defaults" +msgstr "Standaardwaarden" + +#: prefs.js:549 +msgid "Show dock and application numbers" +msgstr "Dock en programmanummers tonen" + +#: prefs.js:605 +msgid "Customize middle-click behavior" +msgstr "Middelste muisknop-gedrag aanpassen" + +#: prefs.js:688 +msgid "Customize running indicators" +msgstr "Indicatoren van draaiende programma's aanpassen" + +#: prefs.js:800 Settings.ui.h:74 +msgid "Customize opacity" +msgstr "Doorzichtigheid aanpassen" + +#: appIcons.js:809 +msgid "All Windows" +msgstr "Alle vensters" + +#. Translators: %s is "Settings", which is automatically translated. You +#. can also translate the full message if this fits better your language. +#: appIcons.js:1126 +#, javascript-format +msgid "Dash to Dock %s" +msgstr "Dash to Dock %s" + +#: Settings.ui.h:1 +msgid "" +"When set to minimize, double clicking minimizes all the windows of the " +"application." +msgstr "" +"Als je gekozen hebt voor minimaliseren, dan zorgt dubbelklikken ervoor dat " +"alle vensters van het huidige programma worden geminimaliseerd." + +#: Settings.ui.h:2 +msgid "Shift+Click action" +msgstr "Shift+klikken-actie" + +#: Settings.ui.h:3 +msgid "Raise window" +msgstr "Venster naar voren halen" + +#: Settings.ui.h:4 +msgid "Minimize window" +msgstr "Venster minimalisren" + +#: Settings.ui.h:5 +msgid "Launch new instance" +msgstr "Nieuw proces openen" + +#: Settings.ui.h:6 +msgid "Cycle through windows" +msgstr "Schakelen tussen vensters" + +#: Settings.ui.h:7 +msgid "Minimize or overview" +msgstr "Minimaliseren of activiteitenoverzicht" + +#: Settings.ui.h:8 +msgid "Show window previews" +msgstr "Venstervoorbeelden tonen" + +#: Settings.ui.h:9 +msgid "Minimize or show previews" +msgstr "Minimaliseren of voorbeelden tonen" + +#: Settings.ui.h:10 +msgid "Focus or show previews" +msgstr "Focussen of voorbeelden tonen" + +#: Settings.ui.h:11 +msgid "Quit" +msgstr "Afsluiten" + +#: Settings.ui.h:12 +msgid "Behavior for Middle-Click." +msgstr "Wat er gebeurt bij middelklikken." + +#: Settings.ui.h:13 +msgid "Middle-Click action" +msgstr "Middelklikactie" + +#: Settings.ui.h:14 +msgid "Behavior for Shift+Middle-Click." +msgstr "Wat er gebeurt bij Shift+middelklikken." + +#: Settings.ui.h:15 +msgid "Shift+Middle-Click action" +msgstr "Shift+middelklik-actie" + +#: Settings.ui.h:16 +msgid "Enable Unity7 like glossy backlit items" +msgstr "Unity7-achtige itemachtergrond gebruiken" + +#: Settings.ui.h:17 +msgid "Use dominant color" +msgstr "Dominante kleur gebruiken" + +#: Settings.ui.h:18 +msgid "Customize indicator style" +msgstr "Indicatorstijl aanpassen" + +#: Settings.ui.h:19 +msgid "Color" +msgstr "Kleur" + +#: Settings.ui.h:20 +msgid "Border color" +msgstr "Randkleur" + +#: Settings.ui.h:21 +msgid "Border width" +msgstr "Randbreedte" + +#: Settings.ui.h:22 +msgid "Show the dock on" +msgstr "Dock tonen op" + +#: Settings.ui.h:23 +msgid "Show on all monitors." +msgstr "Tonen op alle beeldschermen." + +#: Settings.ui.h:24 +msgid "Position on screen" +msgstr "Positie op het scherm" + +#: Settings.ui.h:26 +msgid "Bottom" +msgstr "Onderaan" + +#: Settings.ui.h:27 +msgid "Top" +msgstr "Bovenaan" + +#: Settings.ui.h:29 +msgid "" +"Hide the dock when it obstructs a window of the current application. More " +"refined settings are available." +msgstr "" +"Verberg het dock als het een venster van het huidige programma in de weg " +"zit. Er zijn uitgebreide instellingen hiervoor beschikbaar." + +#: Settings.ui.h:30 +msgid "Intelligent autohide" +msgstr "Slim verbergen" + +#: Settings.ui.h:31 +msgid "Dock size limit" +msgstr "Maximale dockgrootte" + +#: Settings.ui.h:32 +msgid "Panel mode: extend to the screen edge" +msgstr "Paneelmodus: uitrekken tot aan de schermrand" + +#: Settings.ui.h:33 +msgid "Icon size limit" +msgstr "Maximale pictogramgrootte" + +#: Settings.ui.h:34 +msgid "Fixed icon size: scroll to reveal other icons" +msgstr "" +"Vastgezette pictogramgrootte: scroll om meer pictogrammen weer te geven" + +#: Settings.ui.h:35 +msgid "Position and size" +msgstr "Positie en grootte" + +#: Settings.ui.h:36 +msgid "Show favorite applications" +msgstr "Favoriete programma's tonen" + +#: Settings.ui.h:37 +msgid "Show running applications" +msgstr "Geopende programma's tonen" + +#: Settings.ui.h:38 +msgid "Isolate workspaces." +msgstr "Werkbladen isoleren." + +#: Settings.ui.h:39 +msgid "Isolate monitors." +msgstr "Beeldschermen isoleren." + +#: Settings.ui.h:40 +msgid "Show open windows previews." +msgstr "Voorbeelden van geopende vensters tonen." + +#: Settings.ui.h:41 +msgid "" +"If disabled, these settings are accessible from gnome-tweak-tool or the " +"extension website." +msgstr "" +"Als je dit uitschakelt, dan zijn deze instellingen toegankelijk via gnome-" +"tweaks of de extensiesite." + +#: Settings.ui.h:42 +msgid "Show Applications icon" +msgstr "Pictogram voor Alle programma's tonen" + +#: Settings.ui.h:43 +msgid "Move the applications button at the beginning of the dock." +msgstr "Verplaatst de 'Alle programma's'-knop naar het begin van het dock." + +#: Settings.ui.h:44 +msgid "Animate Show Applications." +msgstr "Animatie na klikken op Alle programma's tonen." + +#: Settings.ui.h:45 +msgid "Show trash can" +msgstr "Prullenbak tonen" + +#: Settings.ui.h:46 +msgid "Show mounted volumes and devices" +msgstr "Aangekoppelde schijven en apparaten tonen" + +#: Settings.ui.h:47 +msgid "Launchers" +msgstr "Starters" + +#: Settings.ui.h:48 +msgid "" +"Enable Super+(0-9) as shortcuts to activate apps. It can also be used " +"together with Shift and Ctrl." +msgstr "" +"Gebruik Super+(0-9) om programma's te openen en focussen. Kan ook worden " +"gebruikt met Shift en Ctrl." + +#: Settings.ui.h:49 +msgid "Use keyboard shortcuts to activate apps" +msgstr "Sneltoetsen gebruiken om programma's te openen/focussen" + +#: Settings.ui.h:50 +msgid "Behaviour when clicking on the icon of a running application." +msgstr "" +"Wat er gebeurt bij het klikken op het pictogram van een geopend programma." + +#: Settings.ui.h:51 +msgid "Click action" +msgstr "Klikactie" + +#: Settings.ui.h:53 +msgid "Behaviour when scrolling on the icon of an application." +msgstr "" +"Wat er gebeurt bij het scrollen op het pictogram van een geopend programma." + +#: Settings.ui.h:54 +msgid "Scroll action" +msgstr "Scrollactie" + +#: Settings.ui.h:55 +msgid "Do nothing" +msgstr "Niets doen" + +#: Settings.ui.h:56 +msgid "Switch workspace" +msgstr "Van werkblad wisselen" + +#: Settings.ui.h:57 +msgid "Behavior" +msgstr "Gedrag" + +#: Settings.ui.h:58 +msgid "" +"Few customizations meant to integrate the dock with the default GNOME theme. " +"Alternatively, specific options can be enabled below." +msgstr "" +"Enkele aanpassingen, bedoeld om het dock te integreren met het standaard " +"GNOME-thema. In plaats daarvan kun je hieronder specifieke opties " +"inschakelen." + +#: Settings.ui.h:59 +msgid "Use built-in theme" +msgstr "Ingebouwd thema gebruiken" + +#: Settings.ui.h:60 +msgid "Save space reducing padding and border radius." +msgstr "Bespaar ruimte door de straal van de dikte en rand te verkleinen." + +#: Settings.ui.h:61 +msgid "Shrink the dash" +msgstr "Snelstarter verkleinen" + +#: Settings.ui.h:62 +msgid "Customize windows counter indicators" +msgstr "Vensterindicatoren aanpassen" + +#: Settings.ui.h:63 +msgid "Default" +msgstr "Standaard" + +#: Settings.ui.h:64 +msgid "Dots" +msgstr "Stipjes" + +#: Settings.ui.h:65 +msgid "Squares" +msgstr "Vierkantjes" + +#: Settings.ui.h:66 +msgid "Dashes" +msgstr "Streepjes" + +#: Settings.ui.h:67 +msgid "Segmented" +msgstr "Gesegmenteerd" + +#: Settings.ui.h:68 +msgid "Solid" +msgstr "Vast" + +#: Settings.ui.h:69 +msgid "Ciliora" +msgstr "Ciliora" + +#: Settings.ui.h:70 +msgid "Metro" +msgstr "Metro" + +#: Settings.ui.h:71 +msgid "Set the background color for the dash." +msgstr "Stel de achtergrondkleur in van de snelstarter." + +#: Settings.ui.h:72 +msgid "Customize the dash color" +msgstr "Snelstarterkleur aanpassen" + +#: Settings.ui.h:73 +msgid "Tune the dash background opacity." +msgstr "Pas de doorzichtigheid van de snelstarterachtergrond aan." + +#: Settings.ui.h:75 +msgid "Fixed" +msgstr "Vooringesteld" + +#: Settings.ui.h:76 +msgid "Dynamic" +msgstr "Dynamisch" + +#: Settings.ui.h:77 +msgid "Opacity" +msgstr "Doorzichtigheid" + +#: Settings.ui.h:78 +msgid "Force straight corner\n" +msgstr "Rechte hoek afdwingen\n" + +#: Settings.ui.h:80 +msgid "Appearance" +msgstr "Uiterlijk" + +#: Settings.ui.h:81 +msgid "version: " +msgstr "versie: " + +#: Settings.ui.h:82 +msgid "Moves the dash out of the overview transforming it in a dock" +msgstr "" +"Toont de snelstarter buiten het activiteitenoverzicht zodat het een dock " +"wordt" + +#: Settings.ui.h:83 +msgid "Created by" +msgstr "Gemaakt door" + +#: Settings.ui.h:84 +msgid "Webpage" +msgstr "Website" + +#: Settings.ui.h:85 +msgid "" +"This program comes with ABSOLUTELY NO WARRANTY.\n" +"See the GNU General Public License, version 2 or later for details." +msgstr "" +"Dit programma wordt geleverd ZONDER ENIGE GARANTIE.\n" +"Lees de GNU General Public License, versie 2 of nieuwer, voor meer informatie." +"" + +#: Settings.ui.h:87 +msgid "About" +msgstr "Over" + +#: Settings.ui.h:88 +msgid "Customize minimum and maximum opacity values" +msgstr "Minimum- en maximumwaarden van doorzichtigheid aanpassen" + +#: Settings.ui.h:89 +msgid "Minimum opacity" +msgstr "Minimale doorzichtigheid" + +#: Settings.ui.h:90 +msgid "Maximum opacity" +msgstr "Maximale doorzichtigheid" + +#: Settings.ui.h:91 +msgid "Number overlay" +msgstr "Nummers tonen" + +#: Settings.ui.h:92 +msgid "" +"Temporarily show the application numbers over the icons, corresponding to " +"the shortcut." +msgstr "" +"Toon tijdelijk de programmanummers, behorende bij de sneltoets, op de " +"pictogrammen." + +#: Settings.ui.h:93 +msgid "Show the dock if it is hidden" +msgstr "Dock tonen indien verborgen" + +#: Settings.ui.h:94 +msgid "" +"If using autohide, the dock will appear for a short time when triggering the " +"shortcut." +msgstr "" +"Als je automatisch verbergen gebruikt, dan wordt het dock, middels de " +"sneltoets, korte tijd getoond." + +#: Settings.ui.h:95 +msgid "Shortcut for the options above" +msgstr "Sneltoets voor bovenstaande opties" + +#: Settings.ui.h:96 +msgid "Syntax: , , , " +msgstr "Syntax: , , , " + +#: Settings.ui.h:97 +msgid "Hide timeout (s)" +msgstr "Verberginterval (s)" + +#: Settings.ui.h:98 +msgid "Show the dock by mouse hover on the screen edge." +msgstr "Dock tonen door de muiscursor op de schermrand te plaatsen." + +#: Settings.ui.h:99 +msgid "Autohide" +msgstr "Automatisch verbergen" + +#: Settings.ui.h:100 +msgid "Push to show: require pressure to show the dock" +msgstr "Tonen middels druk: druk toepassen om het dock te tonen" + +#: Settings.ui.h:101 +msgid "Enable in fullscreen mode" +msgstr "Inschakelen in beeldvullende modus" + +#: Settings.ui.h:102 +msgid "Show the dock when it doesn't obstruct application windows." +msgstr "Toon het dock als het geen programmavensters in de weg zit." + +#: Settings.ui.h:103 +msgid "Dodge windows" +msgstr "Vensters ontwijken" + +#: Settings.ui.h:104 +msgid "All windows" +msgstr "Alle vensters" + +#: Settings.ui.h:105 +msgid "Only focused application's windows" +msgstr "Alleen gefocuste programmavensters" + +#: Settings.ui.h:106 +msgid "Only maximized windows" +msgstr "Alleen gemaximaliseerde vensters" + +#: Settings.ui.h:107 +msgid "Animation duration (s)" +msgstr "Animatieduur (s)" + +#: Settings.ui.h:108 +msgid "Show timeout (s)" +msgstr "Weergave-interval (s)" + +#: Settings.ui.h:109 +msgid "Pressure threshold" +msgstr "Drukwaarde" + #~ msgid "Application" #~ msgstr "Toepassing" @@ -357,3 +886,135 @@ msgstr "Werkblad toevoegen" #~ msgid "Memory" #~ msgstr "Geheugen" + +#~ msgid "Show a dot for each windows of the application." +#~ msgstr "Toon een stip voor elk geopend venster." + +#~ msgid "0.000" +#~ msgstr "0.000" + +#, fuzzy +#~ msgid "" +#~ "With fixed icon size, only the edge of the dock and the Show " +#~ "Applications icon are active." +#~ msgstr "" +#~ "Het gebied nabij de schermrand en de Applicaties weergeven-knop " +#~ "zijn actief." + +#~ msgid "Switch workspace by scrolling on the dock" +#~ msgstr "Van werkblad wisselen door te scrollen op het dock" + +#~ msgid "Only consider windows of the focused application" +#~ msgstr "Alleen vensters van de huidige gefocuste applicatie overwegen" + +#~ msgid "Main Settings" +#~ msgstr "Grundeinstellungen" + +#~ msgid "Dock Position" +#~ msgstr "Dock-Position" + +#~ msgid "Dock is fixed and always visible" +#~ msgstr "Das Dock hat eine feste Position und ist immer sichtbar" + +#~ msgid "Show delay [ms]" +#~ msgstr "Einblendeverzögerung [ms]" + +#~ msgid "Hide delay [ms]" +#~ msgstr "Ausblendeverzögerung [ms]" + +#~ msgid "Application based intellihide" +#~ msgstr "Anwendungsbasiertes intelligentes Verstecken" + +#~ msgid "Show the dock on following monitor (if attached)" +#~ msgstr "Zeige Dock auf folgendem Monitor (falls angeschlossen)" + +#~ msgid "Primary (default)" +#~ msgstr "Primäranzeige (Standard)" + +#~ msgid "1" +#~ msgstr "1" + +#~ msgid "2" +#~ msgstr "2" + +#~ msgid "3" +#~ msgstr "3" + +#~ msgid "4" +#~ msgstr "4" + +#~ msgid "Max height" +#~ msgstr "Maximale Höhe" + +#~ msgid "Expand (experimental and buggy)" +#~ msgstr "Komplette Höhe (experimentell und fehlerbehaftet)" + +#~ msgid "Maximum icon size" +#~ msgstr "Maximale Symbolgröße" + +#~ msgid "16" +#~ msgstr "16" + +#~ msgid "24" +#~ msgstr "24" + +#~ msgid "32" +#~ msgstr "32" + +#~ msgid "48" +#~ msgstr "48" + +#~ msgid "64" +#~ msgstr "64" + +#~ msgid "Optional features" +#~ msgstr "Optionale Funktionen" + +#~ msgid "Deadtime between each workspace switching [ms]" +#~ msgstr "Stillstandszeit zwischen Arbeitsflächenwechsel [ms]" + +#~ msgid "Only a 1px wide area close to the screen edge is active" +#~ msgstr "Nur einen 1 Pixel-breiten Bereich am Rand nutzen" + +#~ msgid "All the area of the dock is active" +#~ msgstr "Den gesamten Bereich des Docks nutzen" + +#~ msgid "Customize actions on mouse click" +#~ msgstr "Aktion bei Mausklick anpassen" + +#~ msgid "Action on clicking on running app" +#~ msgstr "Aktion beim Klicken auf eine laufende Anwendung" + +#~ msgid "Minimize window on shift+click (double click for all app windows)" +#~ msgstr "" +#~ "Fenster mit Shift+Klick minimieren (Doppelklick für alle Fenster der " +#~ "Anwendung)" + +#~ msgid "Appearence and Themes" +#~ msgstr "Erscheinungsbild und Themen" + +#~ msgid "" +#~ "A customized theme is built in the extension. This is meant to work with " +#~ "the default Adwaita theme: the dash is shrunk to save space, its " +#~ "background transparency reduced, and custom indicators for the number of " +#~ "windows of each application are added." +#~ msgstr "" +#~ "Ein angepasstes Thema ist in dieser Erweiterung enthalten. Es ist für das " +#~ "Vorgabe-Adwaita-Thema gedacht: Das Dash ist schmaler, um Platz zu sparen, " +#~ "die Hintergrundtransparenz ist reduziert und für jede Anwendung wird ein " +#~ "Indikator für die Anzahl der Fenster eingefügt." + +#~ msgid "" +#~ "Alternatively, for a better integration with custom themes, each " +#~ "customization can be applied indipendently" +#~ msgstr "" +#~ "Alternativ können für eine bessere Integration Anpassungen vorgenommen " +#~ "werden" + +#~ msgid "Shrink the dash size by reducing padding" +#~ msgstr "Das Dash schmaler machen durch Verkleinern des Abstands zum Rand" + +#~ msgid "Apply custom theme (work only with the default Adwaita theme)" +#~ msgstr "" +#~ "Benutzerdefiniertes Theme verwenden (funktioniert nur mit dem Standard-" +#~ "Adwaita-Theme)" diff --git a/po/pl.po b/po/pl.po index bcfe2d6a..a97366b6 100644 --- a/po/pl.po +++ b/po/pl.po @@ -1,11 +1,22 @@ +# #-#-#-#-# pl.po (gnome-shell-extensions) #-#-#-#-# # Polish translation for gnome-shell-extensions. # Copyright © 2011-2020 the gnome-shell-extensions authors. # This file is distributed under the same license as the gnome-shell-extensions package. # Piotr Drąg , 2011-2020. # Aviary.pl , 2011-2020. # +# #-#-#-#-# pl.po (55) #-#-#-#-# +# Polish translation for dash-to-dock GNOME Shell extension +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the dash-to-dock package. +# +# +# Piotr Sokół , 2012, 2013, 2015, 2016, 2017. +# +#, fuzzy msgid "" msgstr "" +"#-#-#-#-# pl.po (gnome-shell-extensions) #-#-#-#-#\n" "Project-Id-Version: gnome-shell-extensions\n" "Report-Msgid-Bugs-To: https://gitlab.gnome.org/GNOME/gnome-shell-extensions/" "issues\n" @@ -19,6 +30,20 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=3; plural=(n==1 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 " "|| n%100>=20) ? 1 : 2);\n" +"#-#-#-#-# pl.po (55) #-#-#-#-#\n" +"Project-Id-Version: 55\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2019-10-10 10:10+0200\n" +"PO-Revision-Date: 2019-10-10 10:31+0200\n" +"Last-Translator: Piotr Sokół \n" +"Language-Team: polski <>\n" +"Language: pl\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=3; plural=n==1 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 " +"|| n%100>=20) ? 1 : 2;\n" +"X-Generator: Poedit 2.2.3\n" #: data/gnome-classic.desktop.in:3 data/gnome-classic.session.desktop.in:3 msgid "GNOME Classic" @@ -152,9 +177,14 @@ msgstr "Zamknij" msgid "Unminimize" msgstr "Cofnij minimalizację" -#: extensions/window-list/extension.js:118 +#: extensions/window-list/extension.js:118 Settings.ui.h:52 +#, fuzzy msgid "Minimize" -msgstr "Zminimalizuj" +msgstr "" +"#-#-#-#-# pl.po (gnome-shell-extensions) #-#-#-#-#\n" +"Zminimalizuj\n" +"#-#-#-#-# pl.po (55) #-#-#-#-#\n" +"Zminimalizowanie okna" #: extensions/window-list/extension.js:125 msgid "Unmaximize" @@ -259,3 +289,534 @@ msgstr "%d. obszar roboczy" #: extensions/workspace-indicator/prefs.js:218 msgid "Add Workspace" msgstr "Dodaj obszar roboczy" + +#: prefs.js:264 +msgid "Primary monitor" +msgstr "Podstawowy" + +#: prefs.js:273 prefs.js:280 +msgid "Secondary monitor " +msgstr "Drugorzędny " + +#: prefs.js:305 Settings.ui.h:28 +msgid "Right" +msgstr "Po prawej" + +#: prefs.js:306 Settings.ui.h:25 +msgid "Left" +msgstr "Po lewej" + +#: prefs.js:356 +msgid "Intelligent autohide customization" +msgstr "Dostosowanie automatycznego ukrywania" + +#: prefs.js:363 prefs.js:556 prefs.js:612 +msgid "Reset to defaults" +msgstr "Przywróć domyślne" + +#: prefs.js:549 +msgid "Show dock and application numbers" +msgstr "Wyświetlanie doku i numerów programów" + +#: prefs.js:605 +msgid "Customize middle-click behavior" +msgstr "Dostosowanie działania przycisków myszy" + +#: prefs.js:688 +msgid "Customize running indicators" +msgstr "Dostosowanie wskaźników okien" + +#: prefs.js:800 Settings.ui.h:74 +msgid "Customize opacity" +msgstr "Dostosowanie nieprzejrzystości" + +#: appIcons.js:809 +msgid "All Windows" +msgstr "Wszystkie okna" + +#. Translators: %s is "Settings", which is automatically translated. You +#. can also translate the full message if this fits better your language. +#: appIcons.js:1126 +#, javascript-format +msgid "Dash to Dock %s" +msgstr "%s Dash to Dock" + +#: locations.js:65 +msgid "Trash" +msgstr "Kosz" + +#: locations.js:74 +msgid "Empty Trash" +msgstr "Pusty kosz" + +#: locations.js:182 +msgid "Mount" +msgstr "Zamontuj" + +#: locations.js:225 +msgid "Eject" +msgstr "Wysuń" + +#: locations.js:230 +msgid "Unmount" +msgstr "Odmontuj" + +#: Settings.ui.h:1 +msgid "" +"When set to minimize, double clicking minimizes all the windows of the " +"application." +msgstr "" +"Wybranie zminimalizowania okna, umożliwia minimalizowanie wszystkich okien " +"programu dwukrotnym kliknięciem" + +#: Settings.ui.h:2 +msgid "Shift+Click action" +msgstr "Kliknięcia lewym przyciskiem + Shift" + +#: Settings.ui.h:3 +msgid "Raise window" +msgstr "Przywrócenie okna" + +#: Settings.ui.h:4 +msgid "Minimize window" +msgstr "Zminimalizowanie okna" + +#: Settings.ui.h:5 +msgid "Launch new instance" +msgstr "Otwarcie nowego okna" + +#: Settings.ui.h:6 +msgid "Cycle through windows" +msgstr "Przełączenie pomiędzy oknami" + +#: Settings.ui.h:7 +msgid "Minimize or overview" +msgstr "Zminimalizowanie lub ekran podglądu" + +#: Settings.ui.h:8 +msgid "Show window previews" +msgstr "Wyświetlenie podglądu okien" + +#: Settings.ui.h:9 +#, fuzzy +#| msgid "Minimize or overview" +msgid "Minimize or show previews" +msgstr "Zminimalizowanie lub ekran podglądu" + +#: Settings.ui.h:10 +#, fuzzy +#| msgid "Show window previews" +msgid "Focus or show previews" +msgstr "Wyświetlenie podglądu okien" + +#: Settings.ui.h:11 +msgid "Quit" +msgstr "Zakończenie działania" + +#: Settings.ui.h:12 +msgid "Behavior for Middle-Click." +msgstr "Konfiguruje działanie kliknięcia środkowym przyciskiem myszy" + +#: Settings.ui.h:13 +msgid "Middle-Click action" +msgstr "Kliknięcie środkowym przyciskiem" + +#: Settings.ui.h:14 +msgid "Behavior for Shift+Middle-Click." +msgstr "" +"Konfiguruje działanie kliknięcia środkowym przyciskiem myszy z przytrzymanym " +"klawiszem Shift" + +#: Settings.ui.h:15 +msgid "Shift+Middle-Click action" +msgstr "Kliknięcie środkowym przyciskiem + Shift" + +#: Settings.ui.h:16 +msgid "Enable Unity7 like glossy backlit items" +msgstr "Podświetlenie elementów w stylu Unity7" + +#: Settings.ui.h:17 +msgid "Use dominant color" +msgstr "Użyj dominującego koloru" + +#: Settings.ui.h:18 +msgid "Customize indicator style" +msgstr "Dostosowanie stylu wskaźników" + +#: Settings.ui.h:19 +msgid "Color" +msgstr "Kolor" + +#: Settings.ui.h:20 +msgid "Border color" +msgstr "Kolor obramowania" + +#: Settings.ui.h:21 +msgid "Border width" +msgstr "Szerokość obramowania" + +#: Settings.ui.h:22 +msgid "Show the dock on" +msgstr "Ekran wyświetlania doku" + +#: Settings.ui.h:23 +msgid "Show on all monitors." +msgstr "Na wszystkich ekranach" + +#: Settings.ui.h:24 +msgid "Position on screen" +msgstr "Położenie na ekranie" + +#: Settings.ui.h:26 +msgid "Bottom" +msgstr "Na dole" + +#: Settings.ui.h:27 +msgid "Top" +msgstr "U góry" + +#: Settings.ui.h:29 +msgid "" +"Hide the dock when it obstructs a window of the current application. More " +"refined settings are available." +msgstr "" +"Ukrywa dok jeśli zakrywa okno bieżącego programu. Dostępnych jest więcej " +"szczegółowych opcji." + +#: Settings.ui.h:30 +msgid "Intelligent autohide" +msgstr "Inteligentne ukrywanie" + +#: Settings.ui.h:31 +msgid "Dock size limit" +msgstr "Ograniczenie rozmiaru doku" + +#: Settings.ui.h:32 +msgid "Panel mode: extend to the screen edge" +msgstr "Tryb panelu: rozciągnięcie do krawędzi ekranu" + +#: Settings.ui.h:33 +msgid "Icon size limit" +msgstr "Ograniczenie rozmiaru ikon" + +#: Settings.ui.h:34 +msgid "Fixed icon size: scroll to reveal other icons" +msgstr "Ustalony rozmiar ikon: odsłanianie ikon przewijaniem" + +#: Settings.ui.h:35 +msgid "Position and size" +msgstr "Położenie i rozmiar" + +#: Settings.ui.h:36 +msgid "Show favorite applications" +msgstr "Ulubione programy" + +#: Settings.ui.h:37 +msgid "Show running applications" +msgstr "Uruchomione programy" + +#: Settings.ui.h:38 +msgid "Isolate workspaces." +msgstr "Izolowanie obszarów roboczych" + +#: Settings.ui.h:39 +msgid "Isolate monitors." +msgstr "Izolowanie ekranów" + +#: Settings.ui.h:40 +msgid "Show open windows previews." +msgstr "Podgląd otwartych okien" + +#: Settings.ui.h:41 +msgid "" +"If disabled, these settings are accessible from gnome-tweak-tool or the " +"extension website." +msgstr "" +"Przełącza widoczność przycisku programów. Można też skonfigurować za pomocą " +"narzędzia dostrajania lub witryny internetowej z rozszerzeniami." + +#: Settings.ui.h:42 +msgid "Show Applications icon" +msgstr "Przycisk Wyświetl programy" + +#: Settings.ui.h:43 +msgid "Move the applications button at the beginning of the dock." +msgstr "Przemieszczenie przycisku programów na początek doku" + +#: Settings.ui.h:44 +msgid "Animate Show Applications." +msgstr "Animowanie przycisku Wyświetl programy" + +#: Settings.ui.h:45 +msgid "Show trash can" +msgstr "Pokaż kosz na śmieci" + +#: Settings.ui.h:46 +msgid "Show mounted volumes and devices" +msgstr "Pokaż zamontowane woluminy oraz urządzenia" + +#: Settings.ui.h:47 +msgid "Launchers" +msgstr "Aktywatory" + +#: Settings.ui.h:48 +msgid "" +"Enable Super+(0-9) as shortcuts to activate apps. It can also be used " +"together with Shift and Ctrl." +msgstr "" +"Używa skrótu Super+(0-9) do uruchomienia aktywatorów. Można użyć z " +"modyfikatorem Shift lub Ctrl." + +#: Settings.ui.h:49 +msgid "Use keyboard shortcuts to activate apps" +msgstr "Uruchamianie aktywatorów skrótami klawiszowymi" + +#: Settings.ui.h:50 +msgid "Behaviour when clicking on the icon of a running application." +msgstr "Określa działanie kliknięcia ikony uruchomionego programu" + +#: Settings.ui.h:51 +msgid "Click action" +msgstr "Działanie kliknięcia" + +#: Settings.ui.h:53 +msgid "Behaviour when scrolling on the icon of an application." +msgstr "Określa działanie przewijania kółkiem ikony programu" + +#: Settings.ui.h:54 +msgid "Scroll action" +msgstr "Działanie przewijania" + +#: Settings.ui.h:55 +msgid "Do nothing" +msgstr "Brak" + +#: Settings.ui.h:56 +msgid "Switch workspace" +msgstr "Przełączenie obszaru roboczego" + +#: Settings.ui.h:57 +msgid "Behavior" +msgstr "Zachowanie" + +#: Settings.ui.h:58 +msgid "" +"Few customizations meant to integrate the dock with the default GNOME theme. " +"Alternatively, specific options can be enabled below." +msgstr "" +"Integruje dok z domyślnym stylem GNOME przy użyciu kilku ustawień. " +"Opcjonalnie ustawienia te można określić poniżej." + +#: Settings.ui.h:59 +msgid "Use built-in theme" +msgstr "Użycie zintegrowanego stylu" + +#: Settings.ui.h:60 +msgid "Save space reducing padding and border radius." +msgstr "" +"Zmniejsza zajmowaną powierzchnię redukując\n" +"odległość od krawędzi i jej zaokrąglenie" + +#: Settings.ui.h:61 +msgid "Shrink the dash" +msgstr "Zmniejszenie kokpitu" + +#: Settings.ui.h:62 +#, fuzzy +#| msgid "Show windows counter indicators" +msgid "Customize windows counter indicators" +msgstr "Wskaźniki ilości okien" + +#: Settings.ui.h:63 +msgid "Default" +msgstr "Domyślnie" + +#: Settings.ui.h:64 +msgid "Dots" +msgstr "Kropki" + +#: Settings.ui.h:65 +msgid "Squares" +msgstr "Kwadraty" + +#: Settings.ui.h:66 +msgid "Dashes" +msgstr "Kreski" + +#: Settings.ui.h:67 +msgid "Segmented" +msgstr "Posegmentowane" + +#: Settings.ui.h:68 +msgid "Solid" +msgstr "Nieprzerywane" + +#: Settings.ui.h:69 +msgid "Ciliora" +msgstr "" + +#: Settings.ui.h:70 +msgid "Metro" +msgstr "" + +#: Settings.ui.h:71 +msgid "Set the background color for the dash." +msgstr "Ustala wybrany kolor tła kokpitu" + +#: Settings.ui.h:72 +msgid "Customize the dash color" +msgstr "Kolor kokpitu" + +#: Settings.ui.h:73 +msgid "Tune the dash background opacity." +msgstr "Modyfikuje zaciemnienie tła kokpitu" + +#: Settings.ui.h:75 +msgid "Fixed" +msgstr "Ustalona" + +#: Settings.ui.h:76 +msgid "Dynamic" +msgstr "Dynamiczna" + +#: Settings.ui.h:77 +msgid "Opacity" +msgstr "Nieprzejrzystość" + +#: Settings.ui.h:78 +msgid "Force straight corner\n" +msgstr "Kąty proste narożników\n" + +#: Settings.ui.h:80 +msgid "Appearance" +msgstr "Wygląd" + +#: Settings.ui.h:81 +msgid "version: " +msgstr "wersja: " + +#: Settings.ui.h:82 +msgid "Moves the dash out of the overview transforming it in a dock" +msgstr "Przemieszcza kokpit z widoku podglądu do doku" + +#: Settings.ui.h:83 +msgid "Created by" +msgstr "Stworzony przez" + +#: Settings.ui.h:84 +msgid "Webpage" +msgstr "Strona internetowa" + +#: Settings.ui.h:85 +msgid "" +"This program comes with ABSOLUTELY NO WARRANTY.\n" +"See the GNU General Public License, version 2 or later for details." +msgstr "" +"Niniejszy program rozpowszechniany jest bez " +"jakiejkolwiek gwarancji.\n" +"Więcej informacji: Powszechna licencja publiczna GNU, wersja 2 lub późniejsza." + +#: Settings.ui.h:87 +msgid "About" +msgstr "O programie" + +#: Settings.ui.h:88 +msgid "Customize minimum and maximum opacity values" +msgstr "Dostosowanie minimalnej i maksymalnej wartości nieprzejrzystości" + +#: Settings.ui.h:89 +msgid "Minimum opacity" +msgstr "Minimalna nieprzejrzystość" + +#: Settings.ui.h:90 +msgid "Maximum opacity" +msgstr "Maksymalna nieprzejrzystość" + +#: Settings.ui.h:91 +msgid "Number overlay" +msgstr "Nakładka z numerem" + +#: Settings.ui.h:92 +msgid "" +"Temporarily show the application numbers over the icons, corresponding to " +"the shortcut." +msgstr "Wyświetla chwilowo na ikonach numery programów powiązane ze skrótami" + +#: Settings.ui.h:93 +msgid "Show the dock if it is hidden" +msgstr "Wyświetlenie ukrytego doku" + +#: Settings.ui.h:94 +msgid "" +"If using autohide, the dock will appear for a short time when triggering the " +"shortcut." +msgstr "Wyświetla chwilowo dok po wciśnięciu skrótu klawiszowego" + +#: Settings.ui.h:95 +msgid "Shortcut for the options above" +msgstr "Skrót klawiszowy dla powyższych poleceń" + +#: Settings.ui.h:96 +msgid "Syntax: , , , " +msgstr "Składnia: , , , " + +#: Settings.ui.h:97 +msgid "Hide timeout (s)" +msgstr "Czas ukrywania (s)" + +#: Settings.ui.h:98 +msgid "Show the dock by mouse hover on the screen edge." +msgstr "Wyświetla dok po przemieszczeniu wskaźnika myszy do krawędzi ekranu" + +#: Settings.ui.h:99 +msgid "Autohide" +msgstr "Automatyczne ukrywanie" + +#: Settings.ui.h:100 +msgid "Push to show: require pressure to show the dock" +msgstr "Wymagany nacisk do wyświetlenia doku" + +#: Settings.ui.h:101 +msgid "Enable in fullscreen mode" +msgstr "Wyświetlanie na pełnym ekranie" + +#: Settings.ui.h:102 +msgid "Show the dock when it doesn't obstruct application windows." +msgstr "Wyświetla dok jeśli nie zakrywa okien programu" + +#: Settings.ui.h:103 +msgid "Dodge windows" +msgstr "Ukrywanie przed oknami" + +#: Settings.ui.h:104 +msgid "All windows" +msgstr "Wszystkie okna" + +#: Settings.ui.h:105 +msgid "Only focused application's windows" +msgstr "Tylko aktywne okna programu" + +#: Settings.ui.h:106 +msgid "Only maximized windows" +msgstr "Tylko zmaksymalizowane okna" + +#: Settings.ui.h:107 +msgid "Animation duration (s)" +msgstr "Czas animacji (s)" + +#: Settings.ui.h:108 +msgid "Show timeout (s)" +msgstr "Czas wyświetlania (s)" + +#: Settings.ui.h:109 +msgid "Pressure threshold" +msgstr "Próg nacisku" + +#~ msgid "Show a dot for each windows of the application." +#~ msgstr "Wyświetla kropkę dla każdego okna programu" + +#~ msgid "Adaptive" +#~ msgstr "Adaptacyjna" diff --git a/po/pt.po b/po/pt.po index 87270e01..99d446f9 100644 --- a/po/pt.po +++ b/po/pt.po @@ -1,3 +1,4 @@ +# #-#-#-#-# pt.po (3.14) #-#-#-#-# # gnome-shell-extensions' Portuguese translation. # Copyright © 2011 gnome-shell-extensions # This file is distributed under the same license as the gnome-shell-extensions package. @@ -10,8 +11,16 @@ # Hugo Carvalho , 2021. # Juliano de Souza Camargo , 2021. # +# #-#-#-#-# pt.po (Dash to Dock) #-#-#-#-# +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. +# Carlos Alberto Junior Spohr Poletto , 2012. +# +#, fuzzy msgid "" msgstr "" +"#-#-#-#-# pt.po (3.14) #-#-#-#-#\n" "Project-Id-Version: 3.14\n" "Report-Msgid-Bugs-To: https://gitlab.gnome.org/GNOME/gnome-shell-extensions/" "issues\n" @@ -26,11 +35,18 @@ msgstr "" "Plural-Forms: nplurals=2; plural=(n != 1)\n" "X-Generator: Gtranslator 40.0\n" "X-Project-Style: gnome\n" -"X-DL-Team: pt\n" -"X-DL-Module: gnome-shell-extensions\n" -"X-DL-Branch: gnome-40\n" -"X-DL-Domain: po\n" -"X-DL-State: Translating\n" +"#-#-#-#-# pt.po (Dash to Dock) #-#-#-#-#\n" +"Project-Id-Version: Dash to Dock\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2019-03-06 01:57-0600\n" +"PO-Revision-Date: 2019-03-06 03:55-0600\n" +"Last-Translator: Adolfo Jayme Barrientos \n" +"Language-Team: Carlos Alberto Junior Spohr Poletto \n" +"Language: pt\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Poedit 2.2.1\n" #: data/gnome-classic.desktop.in:3 msgid "GNOME Classic" @@ -164,7 +180,7 @@ msgstr "Fechar" msgid "Unminimize" msgstr "Desminimizar" -#: extensions/window-list/extension.js:118 +#: extensions/window-list/extension.js:118 Settings.ui.h:50 msgid "Minimize" msgstr "Minimizar" @@ -272,6 +288,492 @@ msgstr "Área de trabalho %d" msgid "Add Workspace" msgstr "Adicionar área de trabalho" +#: prefs.js:306 Settings.ui.h:25 +msgid "Left" +msgstr "Esquerda" + +#: prefs.js:305 Settings.ui.h:28 +msgid "Right" +msgstr "Direita" + +#: prefs.js:264 +msgid "Primary monitor" +msgstr "Monitor primário" + +#: prefs.js:273 prefs.js:280 +msgid "Secondary monitor " +msgstr "Monitor secundário " + +#: prefs.js:356 +msgid "Intelligent autohide customization" +msgstr "Personalização do auto-hide inteligente" + +#: prefs.js:363 prefs.js:548 prefs.js:604 +msgid "Reset to defaults" +msgstr "Repor padrão" + +#: prefs.js:541 +msgid "Show dock and application numbers" +msgstr "Mostrar números das docks e aplicações" + +#: prefs.js:597 +msgid "Customize middle-click behavior" +msgstr "Personalizar comportamento do clique do meio" + +#: prefs.js:680 +msgid "Customize running indicators" +msgstr "Personalizar indicadores de execução" + +#: prefs.js:792 Settings.ui.h:72 +msgid "Customize opacity" +msgstr "Personalizar opacidade" + +#: appIcons.js:790 +msgid "All Windows" +msgstr "Todas as janelas" + +#. Translators: %s is "Settings", which is automatically translated. You +#. can also translate the full message if this fits better your language. +#: appIcons.js:1092 +#, javascript-format +msgid "Dash to Dock %s" +msgstr "%s do Dash to Dock" + +#: Settings.ui.h:1 +msgid "" +"When set to minimize, double clicking minimizes all the windows of the " +"application." +msgstr "" +"Quando definido para minimizar, duplo clique minimiza todas as janelas da " +"aplicação." + +#: Settings.ui.h:2 +msgid "Shift+Click action" +msgstr "Ação de Shift+Clique" + +#: Settings.ui.h:3 +msgid "Raise window" +msgstr "Levantar janela" + +#: Settings.ui.h:4 +msgid "Minimize window" +msgstr "Minimizar janela" + +#: Settings.ui.h:5 +msgid "Launch new instance" +msgstr "Abrir nova janela" + +#: Settings.ui.h:6 +msgid "Cycle through windows" +msgstr "Percorrer janelas" + +#: Settings.ui.h:7 +msgid "Minimize or overview" +msgstr "Minimizar ou antever" + +#: Settings.ui.h:8 +msgid "Show window previews" +msgstr "Mostrar antevisão das janelas abertas" + +#: Settings.ui.h:9 +msgid "Minimize or show previews" +msgstr "Minimizar ou antever" + +#: Settings.ui.h:10 +msgid "Focus or show previews" +msgstr "Focar ou antever" + +#: Settings.ui.h:11 +msgid "Quit" +msgstr "Sair" + +#: Settings.ui.h:12 +msgid "Behavior for Middle-Click." +msgstr "Comportamento do clique do meio." + +#: Settings.ui.h:13 +msgid "Middle-Click action" +msgstr "Ação do clique do meio" + +#: Settings.ui.h:14 +msgid "Behavior for Shift+Middle-Click." +msgstr "Comportamento do Shift+Clique do meio." + +#: Settings.ui.h:15 +msgid "Shift+Middle-Click action" +msgstr "Ação do Shift+Clique do meio" + +#: Settings.ui.h:16 +msgid "Enable Unity7 like glossy backlit items" +msgstr "Usar efeito polido no fundo (estilo Unity7)" + +#: Settings.ui.h:17 +msgid "Use dominant color" +msgstr "Usar cor dominante" + +#: Settings.ui.h:18 +msgid "Customize indicator style" +msgstr "Personalizar indicadores" + +#: Settings.ui.h:19 +msgid "Color" +msgstr "Cor" + +#: Settings.ui.h:20 +msgid "Border color" +msgstr "Cor da borda" + +#: Settings.ui.h:21 +msgid "Border width" +msgstr "Largura da borda" + +#: Settings.ui.h:22 +msgid "Show the dock on" +msgstr "Mostrar a dock em" + +#: Settings.ui.h:23 +msgid "Show on all monitors." +msgstr "Mostrar em todos os monitores." + +#: Settings.ui.h:24 +msgid "Position on screen" +msgstr "Posição no ecrã" + +#: Settings.ui.h:26 +msgid "Bottom" +msgstr "Em baixo" + +#: Settings.ui.h:27 +msgid "Top" +msgstr "Em cima" + +#: Settings.ui.h:29 +msgid "" +"Hide the dock when it obstructs a window of the current application. More " +"refined settings are available." +msgstr "" +"Esconder a dock quando obstrói uma janela da aplicação atual. Estão " +"disponíveis opções mais detalhadas." + +#: Settings.ui.h:30 +msgid "Intelligent autohide" +msgstr "Ocultação inteligente" + +#: Settings.ui.h:31 +msgid "Dock size limit" +msgstr "Limite do tamanho da dock" + +#: Settings.ui.h:32 +msgid "Panel mode: extend to the screen edge" +msgstr "Modo Painel: expandir até ao limite do ecrã" + +#: Settings.ui.h:33 +msgid "Icon size limit" +msgstr "Limite do tamanho dos ícones" + +#: Settings.ui.h:34 +msgid "Fixed icon size: scroll to reveal other icons" +msgstr "Tamanho fixo dos ícones: scroll para revelar outros ícones" + +#: Settings.ui.h:35 +msgid "Position and size" +msgstr "Posição e dimensão" + +#: Settings.ui.h:36 +msgid "Show favorite applications" +msgstr "Mostrar aplicações favoritas" + +#: Settings.ui.h:37 +msgid "Show running applications" +msgstr "Mostrar aplicações em execução" + +#: Settings.ui.h:38 +msgid "Isolate workspaces." +msgstr "Isolar áreas de trabalho." + +#: Settings.ui.h:39 +msgid "Isolate monitors." +msgstr "Isolar monitores." + +#: Settings.ui.h:40 +msgid "Show open windows previews." +msgstr "Mostrar antevisão das janelas abertas." + +#: Settings.ui.h:41 +msgid "" +"If disabled, these settings are accessible from gnome-tweak-tool or the " +"extension website." +msgstr "" +"Se desativadas, estas opções estão acessíveis através do gnome-tweak-tool ou " +"no site das extensões." + +#: Settings.ui.h:42 +msgid "Show Applications icon" +msgstr "Mostrar ícone das Aplicações" + +#: Settings.ui.h:43 +msgid "Move the applications button at the beginning of the dock." +msgstr "Mover o botão das aplicações para o início da dock." + +#: Settings.ui.h:44 +msgid "Animate Show Applications." +msgstr "Animar Mostrar aplicações." + +#: Settings.ui.h:45 +msgid "Launchers" +msgstr "Lançadores" + +#: Settings.ui.h:46 +msgid "" +"Enable Super+(0-9) as shortcuts to activate apps. It can also be used " +"together with Shift and Ctrl." +msgstr "" +"Usar Super+(0-9) como atalhos para as aplicações. Também pode ser usado com " +"Shift e Ctrl." + +#: Settings.ui.h:47 +msgid "Use keyboard shortcuts to activate apps" +msgstr "Usar atalhos de teclado para aplicações" + +#: Settings.ui.h:48 +msgid "Behaviour when clicking on the icon of a running application." +msgstr "Comportamento do clique no ícone de uma aplicação em execução." + +#: Settings.ui.h:49 +msgid "Click action" +msgstr "Ação do clique" + +#: Settings.ui.h:51 +msgid "Behaviour when scrolling on the icon of an application." +msgstr "Comportamento do scroll no ícone de uma aplicação." + +#: Settings.ui.h:52 +msgid "Scroll action" +msgstr "Ação do scroll" + +#: Settings.ui.h:53 +msgid "Do nothing" +msgstr "Não fazer nada" + +#: Settings.ui.h:54 +msgid "Switch workspace" +msgstr "Alternar espaço de trabalho" + +#: Settings.ui.h:55 +msgid "Behavior" +msgstr "Comportamento" + +#: Settings.ui.h:56 +msgid "" +"Few customizations meant to integrate the dock with the default GNOME theme. " +"Alternatively, specific options can be enabled below." +msgstr "" +"Menos opções visando a integração da doca com o tema padrão do GNOME. " +"Alternativamente, opções mais detalhadas podem ser ativadas abaixo." + +#: Settings.ui.h:57 +msgid "Use built-in theme" +msgstr "Usar tema embutido" + +#: Settings.ui.h:58 +msgid "Save space reducing padding and border radius." +msgstr "Poupar espaço reduzindo o preenchimento e as bordas." + +#: Settings.ui.h:59 +msgid "Shrink the dash" +msgstr "Encolher a dock" + +#: Settings.ui.h:60 +msgid "Customize windows counter indicators" +msgstr "Mostrar indicador com contagem de janelas" + +#: Settings.ui.h:61 +msgid "Default" +msgstr "Padrão" + +#: Settings.ui.h:62 +msgid "Dots" +msgstr "Pontos" + +#: Settings.ui.h:63 +msgid "Squares" +msgstr "Quadrados" + +#: Settings.ui.h:64 +msgid "Dashes" +msgstr "Linhas" + +#: Settings.ui.h:65 +msgid "Segmented" +msgstr "Segmentado" + +#: Settings.ui.h:66 +msgid "Solid" +msgstr "Sólido" + +#: Settings.ui.h:67 +msgid "Ciliora" +msgstr "Ciliora" + +#: Settings.ui.h:68 +msgid "Metro" +msgstr "Metro" + +#: Settings.ui.h:69 +msgid "Set the background color for the dash." +msgstr "Definir a cor de fundo do painel." + +#: Settings.ui.h:70 +msgid "Customize the dash color" +msgstr "Personalizar cor do painel" + +#: Settings.ui.h:71 +msgid "Tune the dash background opacity." +msgstr "Afinar a cor de fundo do painel." + +#: Settings.ui.h:73 +msgid "Fixed" +msgstr "Fixo" + +#: Settings.ui.h:74 +msgid "Dynamic" +msgstr "Dinâmico" + +#: Settings.ui.h:75 +msgid "Opacity" +msgstr "Opacidade" + +#: Settings.ui.h:76 +msgid "Force straight corner\n" +msgstr "Forçar cantos retos\n" + +#: Settings.ui.h:78 +msgid "Appearance" +msgstr "Aparência" + +#: Settings.ui.h:79 +msgid "version: " +msgstr "versão: " + +#: Settings.ui.h:80 +msgid "Moves the dash out of the overview transforming it in a dock" +msgstr "Retira o painel da vista de Atividades, tornando-o numa dock" + +#: Settings.ui.h:81 +msgid "Created by" +msgstr "Criado por" + +#: Settings.ui.h:82 +msgid "Webpage" +msgstr "Página web" + +#: Settings.ui.h:83 +msgid "" +"This program comes with ABSOLUTELY NO WARRANTY.\n" +"See the GNU General Public License, version 2 or later for details." +msgstr "" + +#: Settings.ui.h:85 +msgid "About" +msgstr "Sobre" + +#: Settings.ui.h:86 +msgid "Customize minimum and maximum opacity values" +msgstr "Personalizar valor mínimo e máximo da opacidade" + +#: Settings.ui.h:87 +msgid "Minimum opacity" +msgstr "Opacidade mínima" + +#: Settings.ui.h:88 +msgid "Maximum opacity" +msgstr "Opacidade máxima" + +#: Settings.ui.h:89 +msgid "Number overlay" +msgstr "Números sobrepostos" + +#: Settings.ui.h:90 +msgid "" +"Temporarily show the application numbers over the icons, corresponding to " +"the shortcut." +msgstr "" +"Mostrar temporariamente o número das aplicações sobre os ícones, " +"correspondendo os atalhos." + +#: Settings.ui.h:91 +msgid "Show the dock if it is hidden" +msgstr "Mostrar a dock se estiver escondida" + +#: Settings.ui.h:92 +msgid "" +"If using autohide, the dock will appear for a short time when triggering the " +"shortcut." +msgstr "" +"Se o auto-hide estiver ativo, a dock aparecerá temporariamente ao utilizar o " +"atalho." + +#: Settings.ui.h:93 +msgid "Shortcut for the options above" +msgstr "Atalho para as opções acima" + +#: Settings.ui.h:94 +msgid "Syntax: , , , " +msgstr "Síntaxe: , , , " + +#: Settings.ui.h:95 +msgid "Hide timeout (s)" +msgstr "Tempo limite para esconder (s)" + +#: Settings.ui.h:96 +msgid "Show the dock by mouse hover on the screen edge." +msgstr "Mostrar a dock ao passar o rato na borda do ecrã." + +#: Settings.ui.h:97 +msgid "Autohide" +msgstr "Ocultação inteligente" + +#: Settings.ui.h:98 +msgid "Push to show: require pressure to show the dock" +msgstr "Pressionar para mostrar: requerer pressão para mostrar a doca" + +#: Settings.ui.h:99 +msgid "Enable in fullscreen mode" +msgstr "Ativar no modo de ecrã inteiro" + +#: Settings.ui.h:100 +msgid "Show the dock when it doesn't obstruct application windows." +msgstr "Mostrar a dock quando esta não obstrui as janelas." + +#: Settings.ui.h:101 +msgid "Dodge windows" +msgstr "Esquivar as janelas" + +#: Settings.ui.h:102 +msgid "All windows" +msgstr "Todas as janelas" + +#: Settings.ui.h:103 +msgid "Only focused application's windows" +msgstr "Apenas janelas da aplicação focada" + +#: Settings.ui.h:104 +msgid "Only maximized windows" +msgstr "Apenas janelas maximizadas" + +#: Settings.ui.h:105 +msgid "Animation duration (s)" +msgstr "Tempo da animação (s)" + +#: Settings.ui.h:106 +msgid "Show timeout (s)" +msgstr "Mostrar tempo limite (s)" + +#: Settings.ui.h:107 +msgid "Pressure threshold" +msgstr "Limite de pressão" + #~ msgid "Attach modal dialog to the parent window" #~ msgstr "Anexar diálogo modal à janela mãe" @@ -391,12 +893,6 @@ msgstr "Adicionar área de trabalho" #~ msgid "Normal" #~ msgstr "Normal" -#~ msgid "Left" -#~ msgstr "Esquerda" - -#~ msgid "Right" -#~ msgstr "Direita" - #~ msgid "Upside-down" #~ msgstr "Invertido" diff --git a/po/pt_BR.po b/po/pt_BR.po index d1bd41bc..9dc0db84 100644 --- a/po/pt_BR.po +++ b/po/pt_BR.po @@ -1,3 +1,4 @@ +# #-#-#-#-# pt_BR.po (gnome-shell-extensions master) #-#-#-#-# # Brazilian Portuguese translation for gnome-shell-extensions. # Copyright (C) 2020 gnome-shell-extensions's COPYRIGHT HOLDER # This file is distributed under the same license as the gnome-shell-extensions package. @@ -10,8 +11,17 @@ # Enrico Nicoletto , 2013, 2014. # Rafael Fontenelle , 2013-2020. # +# #-#-#-#-# pt_BR.po (Dash to Dock) #-#-#-#-# +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. +# Carlos Alberto Junior Spohr Poletto , 2012. +# Fábio Nogueira , 2016. +# +#, fuzzy msgid "" msgstr "" +"#-#-#-#-# pt_BR.po (gnome-shell-extensions master) #-#-#-#-#\n" "Project-Id-Version: gnome-shell-extensions master\n" "Report-Msgid-Bugs-To: https://gitlab.gnome.org/GNOME/gnome-shell-extensions/" "issues\n" @@ -26,6 +36,18 @@ msgstr "" "Plural-Forms: nplurals=2; plural=(n > 1)\n" "X-Generator: Gtranslator 3.36.0\n" "X-Project-Style: gnome\n" +"#-#-#-#-# pt_BR.po (Dash to Dock) #-#-#-#-#\n" +"Project-Id-Version: Dash to Dock\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2019-03-06 01:57-0600\n" +"PO-Revision-Date: 2019-03-06 03:56-0600\n" +"Last-Translator: Adolfo Jayme Barrientos \n" +"Language-Team: Português do Brasil\n" +"Language: pt_BR\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Poedit 2.2.1\n" #: data/gnome-classic.desktop.in:3 data/gnome-classic.session.desktop.in:3 msgid "GNOME Classic" @@ -160,7 +182,7 @@ msgstr "Fechar" msgid "Unminimize" msgstr "Desfazer janelas minimizadas" -#: extensions/window-list/extension.js:118 +#: extensions/window-list/extension.js:118 Settings.ui.h:50 msgid "Minimize" msgstr "Minimizar" @@ -270,6 +292,495 @@ msgstr "Espaço de trabalho %d" msgid "Add Workspace" msgstr "Adicionar espaço de trabalho" +#: prefs.js:306 Settings.ui.h:25 +msgid "Left" +msgstr "Esquerda" + +#: prefs.js:305 Settings.ui.h:28 +msgid "Right" +msgstr "Direita" + +#: prefs.js:264 +msgid "Primary monitor" +msgstr "Monitor primário" + +#: prefs.js:273 prefs.js:280 +msgid "Secondary monitor " +msgstr "Monitor secundário" + +#: prefs.js:356 +msgid "Intelligent autohide customization" +msgstr "Configuração da ocultação inteligente" + +#: prefs.js:363 prefs.js:548 prefs.js:604 +msgid "Reset to defaults" +msgstr "Restaurar o padrão" + +#: prefs.js:541 +msgid "Show dock and application numbers" +msgstr "Exibir o dock e os números dos aplicativos" + +#: prefs.js:597 +msgid "Customize middle-click behavior" +msgstr "Customizar o comportamento do clique do botão do meio" + +#: prefs.js:680 +msgid "Customize running indicators" +msgstr "Customizar os indicadores de execução" + +#: prefs.js:792 Settings.ui.h:72 +msgid "Customize opacity" +msgstr "Customizar opacidade" + +#: appIcons.js:790 +msgid "All Windows" +msgstr "Todas as janelas" + +#. Translators: %s is "Settings", which is automatically translated. You +#. can also translate the full message if this fits better your language. +#: appIcons.js:1092 +#, javascript-format +msgid "Dash to Dock %s" +msgstr "%s do Dash to Dock" + +#: Settings.ui.h:1 +msgid "" +"When set to minimize, double clicking minimizes all the windows of the " +"application." +msgstr "" +"Quando minimizar, o duplo clique minizará todas as janelas dos aplicativos" + +#: Settings.ui.h:2 +msgid "Shift+Click action" +msgstr "Ação do Shift+Clique" + +#: Settings.ui.h:3 +msgid "Raise window" +msgstr "Aumentar janela" + +#: Settings.ui.h:4 +msgid "Minimize window" +msgstr "Minimizar janela" + +#: Settings.ui.h:5 +msgid "Launch new instance" +msgstr "Iniciar nova instância" + +#: Settings.ui.h:6 +msgid "Cycle through windows" +msgstr "Percorrer através das janelas" + +#: Settings.ui.h:7 +msgid "Minimize or overview" +msgstr "Minimizar o visão geral" + +#: Settings.ui.h:8 +msgid "Show window previews" +msgstr "Mostrar pré-visualizações das janelas" + +#: Settings.ui.h:9 +msgid "Minimize or show previews" +msgstr "Minimizar o mostrar pré-visualizações" + +#: Settings.ui.h:10 +msgid "Focus or show previews" +msgstr "Pôr em foco o pré-visualizar" + +#: Settings.ui.h:11 +msgid "Quit" +msgstr "Sair" + +#: Settings.ui.h:12 +msgid "Behavior for Middle-Click." +msgstr "Comportamento do Clique do botão do meio." + +#: Settings.ui.h:13 +msgid "Middle-Click action" +msgstr "Ação do clique do botão do meio" + +#: Settings.ui.h:14 +msgid "Behavior for Shift+Middle-Click." +msgstr "Comportamento para Shift + Clique do botão do meio." + +#: Settings.ui.h:15 +msgid "Shift+Middle-Click action" +msgstr "Ação do Shift+Clique do botão do meio" + +#: Settings.ui.h:16 +msgid "Enable Unity7 like glossy backlit items" +msgstr "Ativar retroiluminação estilo Unity 7 dos elementos" + +#: Settings.ui.h:17 +msgid "Use dominant color" +msgstr "Usar cor dominante" + +#: Settings.ui.h:18 +msgid "Customize indicator style" +msgstr "Customizar o estilo do indicador" + +#: Settings.ui.h:19 +msgid "Color" +msgstr "Cor" + +#: Settings.ui.h:20 +msgid "Border color" +msgstr "Cor da borda" + +#: Settings.ui.h:21 +msgid "Border width" +msgstr "Tamanho da borda" + +#: Settings.ui.h:22 +msgid "Show the dock on" +msgstr "Exibir o dock" + +#: Settings.ui.h:23 +msgid "Show on all monitors." +msgstr "Mostrar em todos os monitores." + +#: Settings.ui.h:24 +msgid "Position on screen" +msgstr "Posição na tela" + +#: Settings.ui.h:26 +msgid "Bottom" +msgstr "Embaixo" + +#: Settings.ui.h:27 +msgid "Top" +msgstr "Em cima" + +#: Settings.ui.h:29 +msgid "" +"Hide the dock when it obstructs a window of the current application. More " +"refined settings are available." +msgstr "" +"Ocultar o dock quando o mesmo sobrepor a janela do aplicativo em uso. " +"Definições mais aperfeiçoadas estão disponíveis." + +#: Settings.ui.h:30 +msgid "Intelligent autohide" +msgstr "Ocultação inteligente" + +#: Settings.ui.h:31 +msgid "Dock size limit" +msgstr "Tamanho limite do dock" + +#: Settings.ui.h:32 +msgid "Panel mode: extend to the screen edge" +msgstr "Modo do painel: estender até a borda da tela" + +#: Settings.ui.h:33 +msgid "Icon size limit" +msgstr "Tamanho limite do ícone" + +#: Settings.ui.h:34 +msgid "Fixed icon size: scroll to reveal other icons" +msgstr "Tamanho do ícone fixo: use o scroll do mouse para revelar outro ícone" + +#: Settings.ui.h:35 +msgid "Position and size" +msgstr "Posição e tamanho" + +#: Settings.ui.h:36 +msgid "Show favorite applications" +msgstr "Mostrar aplicativos favoritos" + +#: Settings.ui.h:37 +msgid "Show running applications" +msgstr "Mostrar aplicativos em execução" + +#: Settings.ui.h:38 +msgid "Isolate workspaces." +msgstr "Isolar espaços de trabalho." + +#: Settings.ui.h:39 +msgid "Isolate monitors." +msgstr "Isolar monitores." + +#: Settings.ui.h:40 +msgid "Show open windows previews." +msgstr "Mostrar pré-visualizações de janelas abertas." + +#: Settings.ui.h:41 +msgid "" +"If disabled, these settings are accessible from gnome-tweak-tool or the " +"extension website." +msgstr "" +"Se desabilitado, essas configurações estão acessíveis através do gnome-tweak-" +"tool ou no site da extensão." + +#: Settings.ui.h:42 +msgid "Show Applications icon" +msgstr "Exibir ícone dos Aplicativos" + +#: Settings.ui.h:43 +msgid "Move the applications button at the beginning of the dock." +msgstr "Mover o botão de aplicativos para o início do dock." + +#: Settings.ui.h:44 +msgid "Animate Show Applications." +msgstr "Mostrar aplicativos com efeitos." + +#: Settings.ui.h:45 +msgid "Launchers" +msgstr "Lançadores" + +#: Settings.ui.h:46 +msgid "" +"Enable Super+(0-9) as shortcuts to activate apps. It can also be used " +"together with Shift and Ctrl." +msgstr "" +"Habilita tecla Super+(0-9) como atalhos para ativar aplicativos. Também pode " +"ser usado junto com Shift e Ctrl." + +#: Settings.ui.h:47 +msgid "Use keyboard shortcuts to activate apps" +msgstr "Usar atalhos de teclado para ativar aplicativos" + +#: Settings.ui.h:48 +msgid "Behaviour when clicking on the icon of a running application." +msgstr "Comportamento ao clicar sobre o ícone de um aplicativo em execução." + +#: Settings.ui.h:49 +msgid "Click action" +msgstr "Ação do clique" + +#: Settings.ui.h:51 +msgid "Behaviour when scrolling on the icon of an application." +msgstr "Comportamento ao rolar sobre o ícone de um aplicativo." + +#: Settings.ui.h:52 +msgid "Scroll action" +msgstr "Ação da rolagem" + +#: Settings.ui.h:53 +msgid "Do nothing" +msgstr "Não fazer nada" + +#: Settings.ui.h:54 +msgid "Switch workspace" +msgstr "Alternar espaço de trabalho" + +#: Settings.ui.h:55 +msgid "Behavior" +msgstr "Comportamento" + +#: Settings.ui.h:56 +msgid "" +"Few customizations meant to integrate the dock with the default GNOME theme. " +"Alternatively, specific options can be enabled below." +msgstr "" +"Algumas personalizações se destinam a integrar o dock com o tema padrão do " +"GNOME. Alternativamente, as opções específicas podem ser ativadas abaixo." + +#: Settings.ui.h:57 +msgid "Use built-in theme" +msgstr "Usar o tema do sistema" + +#: Settings.ui.h:58 +msgid "Save space reducing padding and border radius." +msgstr "Economizar espaço reduzindo preenchimento e a borda arredondada" + +#: Settings.ui.h:59 +msgid "Shrink the dash" +msgstr "Encolher o dash" + +#: Settings.ui.h:60 +msgid "Customize windows counter indicators" +msgstr "Customizar indicadores de contagem de janelas" + +#: Settings.ui.h:61 +msgid "Default" +msgstr "Padrão" + +#: Settings.ui.h:62 +msgid "Dots" +msgstr "Pontos" + +#: Settings.ui.h:63 +msgid "Squares" +msgstr "Quadrados" + +#: Settings.ui.h:64 +msgid "Dashes" +msgstr "Linhas" + +#: Settings.ui.h:65 +msgid "Segmented" +msgstr "Segmentado" + +#: Settings.ui.h:66 +msgid "Solid" +msgstr "Sólido" + +#: Settings.ui.h:67 +msgid "Ciliora" +msgstr "Ciliora" + +#: Settings.ui.h:68 +msgid "Metro" +msgstr "Metro" + +#: Settings.ui.h:69 +msgid "Set the background color for the dash." +msgstr "Define a cor de fundo para o dash." + +#: Settings.ui.h:70 +msgid "Customize the dash color" +msgstr "Customizar a cor do dash" + +#: Settings.ui.h:71 +msgid "Tune the dash background opacity." +msgstr "Ajustar a opacidade do fundo do dash." + +#: Settings.ui.h:73 +msgid "Fixed" +msgstr "Fixo" + +#: Settings.ui.h:74 +msgid "Dynamic" +msgstr "Dinâmico" + +#: Settings.ui.h:75 +msgid "Opacity" +msgstr "Opacidade" + +#: Settings.ui.h:76 +msgid "Force straight corner\n" +msgstr "Forçar canto reto\n" + +#: Settings.ui.h:78 +msgid "Appearance" +msgstr "Aparência" + +#: Settings.ui.h:79 +msgid "version: " +msgstr "versão:" + +#: Settings.ui.h:80 +msgid "Moves the dash out of the overview transforming it in a dock" +msgstr "Mover o dash para fora da visão geral transformando-o em dock" + +#: Settings.ui.h:81 +msgid "Created by" +msgstr "Criado por" + +#: Settings.ui.h:82 +msgid "Webpage" +msgstr "Página Web" + +#: Settings.ui.h:83 +msgid "" +"This program comes with ABSOLUTELY NO WARRANTY.\n" +"See the GNU General Public License, version 2 or later for details." +msgstr "" +"Este programa é distribuido SEM QUALQUER GARANTIA.\n" +"Veja em GNU General Public License, versão 2 ou posterior para maiores " +"detalhes." + +#: Settings.ui.h:85 +msgid "About" +msgstr "Sobre" + +#: Settings.ui.h:86 +msgid "Customize minimum and maximum opacity values" +msgstr "Customizar os valores mínimo e máximo da opacidade" + +#: Settings.ui.h:87 +msgid "Minimum opacity" +msgstr "Opacidade mínima" + +#: Settings.ui.h:88 +msgid "Maximum opacity" +msgstr "Opacidade máxima" + +#: Settings.ui.h:89 +msgid "Number overlay" +msgstr "Sobreposição de número" + +#: Settings.ui.h:90 +msgid "" +"Temporarily show the application numbers over the icons, corresponding to " +"the shortcut." +msgstr "" +"Mostrar temporariamente os números dos aplicativos sobre os ícones, " +"correspondentes ao atalho." + +#: Settings.ui.h:91 +msgid "Show the dock if it is hidden" +msgstr "Exibir o dock se este estiver oculto" + +#: Settings.ui.h:92 +msgid "" +"If using autohide, the dock will appear for a short time when triggering the " +"shortcut." +msgstr "" +"Se utilizar a ocultação, o dock será exibido por um curto período de tempo " +"ao acionar o atalho." + +#: Settings.ui.h:93 +msgid "Shortcut for the options above" +msgstr "Atalho para as opções acima" + +#: Settings.ui.h:94 +msgid "Syntax: , , , " +msgstr "Sintaxe: , , , " + +#: Settings.ui.h:95 +msgid "Hide timeout (s)" +msgstr "Ocultar tempo limite [s]" + +#: Settings.ui.h:96 +msgid "Show the dock by mouse hover on the screen edge." +msgstr "Mostrar o dock quando o mouse pairar sobre a tela." + +#: Settings.ui.h:97 +msgid "Autohide" +msgstr "Ocultação" + +#: Settings.ui.h:98 +msgid "Push to show: require pressure to show the dock" +msgstr "Empurrar para mostrar: requer pressão para mostrar o dock" + +#: Settings.ui.h:99 +msgid "Enable in fullscreen mode" +msgstr "Habilitar modo tela cheia" + +#: Settings.ui.h:100 +msgid "Show the dock when it doesn't obstruct application windows." +msgstr "Mostrar o dock quando nenhum aplicativo sobrepor o mesmo." + +#: Settings.ui.h:101 +msgid "Dodge windows" +msgstr "Esconder janela" + +#: Settings.ui.h:102 +msgid "All windows" +msgstr "Todas as janelas" + +#: Settings.ui.h:103 +msgid "Only focused application's windows" +msgstr "Apenas janelas de aplicativos em foco" + +#: Settings.ui.h:104 +msgid "Only maximized windows" +msgstr "Somente janelas maximizadas" + +#: Settings.ui.h:105 +msgid "Animation duration (s)" +msgstr "Tempo da animação [s]" + +#: Settings.ui.h:106 +msgid "Show timeout (s)" +msgstr "Mostrar tempo limite [s]" + +#: Settings.ui.h:107 +msgid "Pressure threshold" +msgstr "Limite de pressão" + #~ msgid "Application" #~ msgstr "Aplicativo" @@ -389,12 +900,6 @@ msgstr "Adicionar espaço de trabalho" #~ msgid "Normal" #~ msgstr "Normal" -#~ msgid "Left" -#~ msgstr "Esquerda" - -#~ msgid "Right" -#~ msgstr "Direita" - #~ msgid "Upside-down" #~ msgstr "De cabeça para baixo" diff --git a/po/ru.po b/po/ru.po index 8aedfbd6..de5dbbb5 100644 --- a/po/ru.po +++ b/po/ru.po @@ -1,11 +1,18 @@ +# #-#-#-#-# ru.po (gnome-shell-extensions gnome-3-0) #-#-#-#-# # Russian translation for gnome-shell-extensions. # Copyright (C) 2011 gnome-shell-extensions's COPYRIGHT HOLDER # This file is distributed under the same license as the gnome-shell-extensions package. # Yuri Myasoedov , 2011, 2012, 2013. # Stas Solovey , 2011, 2012, 2013, 2015, 2017. # +# #-#-#-#-# ru.po (dash-to-dock) #-#-#-#-# +# Russian translation for dash-to-dock GNOME Shell extension +# Ivan Komaritsyn , 2015-2020. +# +#, fuzzy msgid "" msgstr "" +"#-#-#-#-# ru.po (gnome-shell-extensions gnome-3-0) #-#-#-#-#\n" "Project-Id-Version: gnome-shell-extensions gnome-3-0\n" "Report-Msgid-Bugs-To: https://gitlab.gnome.org/GNOME/gnome-shell-extensions/" "issues\n" @@ -20,6 +27,20 @@ msgstr "" "Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n" "%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" "X-Generator: Poedit 2.4.1\n" +"#-#-#-#-# ru.po (dash-to-dock) #-#-#-#-#\n" +"Project-Id-Version: dash-to-dock\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2020-01-31 14:36+0300\n" +"PO-Revision-Date: 2020-01-31 14:40+0300\n" +"Last-Translator: Ivan Komaritsyn \n" +"Language-Team: \n" +"Language: ru\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n" +"%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2)\n" +"X-Generator: Gtranslator 2.91.7\n" #: data/gnome-classic.desktop.in:3 data/gnome-classic.session.desktop.in:3 msgid "GNOME Classic" @@ -154,9 +175,14 @@ msgstr "Закрыть" msgid "Unminimize" msgstr "Вернуть" -#: extensions/window-list/extension.js:118 +#: extensions/window-list/extension.js:118 Settings.ui.h:52 +#, fuzzy msgid "Minimize" -msgstr "Свернуть" +msgstr "" +"#-#-#-#-# ru.po (gnome-shell-extensions gnome-3-0) #-#-#-#-#\n" +"Свернуть\n" +"#-#-#-#-# ru.po (dash-to-dock) #-#-#-#-#\n" +"Минимизировать" #: extensions/window-list/extension.js:125 msgid "Unmaximize" @@ -264,6 +290,509 @@ msgstr "Рабочая область %d" msgid "Add Workspace" msgstr "Добавить рабочую область" +#: prefs.js:268 +msgid "Primary monitor" +msgstr "Основной монитор" + +#: prefs.js:277 prefs.js:284 +msgid "Secondary monitor " +msgstr "Дополнительный монитор" + +#: prefs.js:309 Settings.ui.h:28 +msgid "Right" +msgstr "Справа" + +#: prefs.js:310 Settings.ui.h:25 +msgid "Left" +msgstr "Слева" + +#: prefs.js:360 +msgid "Intelligent autohide customization" +msgstr "Настройка автоскрытия" + +#: prefs.js:367 prefs.js:560 prefs.js:616 +msgid "Reset to defaults" +msgstr "Сбросить настройки" + +#: prefs.js:553 +msgid "Show dock and application numbers" +msgstr "Показывать количество запущенных приложений" + +#: prefs.js:609 +msgid "Customize middle-click behavior" +msgstr "Настройка действий для средней кнопки мыши" + +#: prefs.js:692 +msgid "Customize running indicators" +msgstr "Настройка индикаторов запуска" + +#: prefs.js:804 Settings.ui.h:74 +msgid "Customize opacity" +msgstr "Настроить прозрачность" + +#: appIcons.js:810 +msgid "All Windows" +msgstr "Все окна" + +#. Translators: %s is "Settings", which is automatically translated. You +#. can also translate the full message if this fits better your language. +#: appIcons.js:1127 +#, javascript-format +msgid "Dash to Dock %s" +msgstr "" + +#: Settings.ui.h:1 +msgid "" +"When set to minimize, double clicking minimizes all the windows of the " +"application." +msgstr "" +"Если установлено на «Минимизировать», то двойной клик минимизирует все окна " +"данного приложения." + +#: Settings.ui.h:2 +msgid "Shift+Click action" +msgstr "Действие по Shift+Click" + +#: Settings.ui.h:3 +msgid "Raise window" +msgstr "Показать окно" + +#: Settings.ui.h:4 +msgid "Minimize window" +msgstr "Минимизировать окно" + +#: Settings.ui.h:5 +msgid "Launch new instance" +msgstr "Открыть новое окно" + +#: Settings.ui.h:6 +msgid "Cycle through windows" +msgstr "Переключить окно приложения" + +#: Settings.ui.h:7 +msgid "Minimize or overview" +msgstr "Минимизация или обзор" + +#: Settings.ui.h:8 +msgid "Show window previews" +msgstr "Показать миниатюры окон" + +#: Settings.ui.h:9 +msgid "Minimize or show previews" +msgstr "Минимизация или показ миниатюр" + +#: Settings.ui.h:10 +msgid "Focus or show previews" +msgstr "Минимизация или показ миниатюр" + +#: Settings.ui.h:11 +msgid "Quit" +msgstr "Выйти" + +#: Settings.ui.h:12 +msgid "Behavior for Middle-Click." +msgstr "Действие по нажатию средней кнопки мыши." + +#: Settings.ui.h:13 +msgid "Middle-Click action" +msgstr "Действие по Middle-Click" + +#: Settings.ui.h:14 +msgid "Behavior for Shift+Middle-Click." +msgstr "Действие по нажатию Shift + средняя кнопка мыши." + +#: Settings.ui.h:15 +msgid "Shift+Middle-Click action" +msgstr "Действие по Shift+Middle-Click" + +#: Settings.ui.h:16 +msgid "Enable Unity7 like glossy backlit items" +msgstr "Включить подсветку элементов как в Unity7" + +#: Settings.ui.h:17 +msgid "Use dominant color" +msgstr "Использовать доминирующий цвет" + +#: Settings.ui.h:18 +msgid "Customize indicator style" +msgstr "Настроить стиль индикатора" + +#: Settings.ui.h:19 +msgid "Color" +msgstr "Цвет" + +#: Settings.ui.h:20 +msgid "Border color" +msgstr "Цвет границы" + +#: Settings.ui.h:21 +msgid "Border width" +msgstr "Ширина границы" + +#: Settings.ui.h:22 +msgid "Show the dock on" +msgstr "Показывать Док на" + +#: Settings.ui.h:23 +msgid "Show on all monitors." +msgstr "Показывать на всех мониторах." + +#: Settings.ui.h:24 +msgid "Position on screen" +msgstr "Расположение на экране" + +#: Settings.ui.h:26 +msgid "Bottom" +msgstr "Снизу" + +#: Settings.ui.h:27 +msgid "Top" +msgstr "Сверху" + +#: Settings.ui.h:29 +msgid "" +"Hide the dock when it obstructs a window of the current application. More " +"refined settings are available." +msgstr "" +"Скрывать Док, если он перекрывается окном активного приложения. Доступны " +"дополнительные настройки." + +#: Settings.ui.h:30 +msgid "Intelligent autohide" +msgstr "Интеллектуальное скрытие" + +#: Settings.ui.h:31 +msgid "Dock size limit" +msgstr "Ограничение размера Дока" + +#: Settings.ui.h:32 +msgid "Panel mode: extend to the screen edge" +msgstr "Режим панели: Док растянут по всей стороне экрана" + +#: Settings.ui.h:33 +msgid "Icon size limit" +msgstr "Ограничение размера иконок" + +#: Settings.ui.h:34 +msgid "Fixed icon size: scroll to reveal other icons" +msgstr "" +"Фиксированный размер иконок: используйте прокрутку для доступа к нужному " +"приложению" + +#: Settings.ui.h:35 +msgid "Position and size" +msgstr "Положение и размер" + +#: Settings.ui.h:36 +msgid "Show favorite applications" +msgstr "Показывать избранные приложения" + +#: Settings.ui.h:37 +msgid "Show running applications" +msgstr "Показывать запущенные приложения" + +#: Settings.ui.h:38 +msgid "Isolate workspaces." +msgstr "Для текущего рабочего стола." + +#: Settings.ui.h:39 +msgid "Isolate monitors." +msgstr "Изолировать мониторы." + +#: Settings.ui.h:40 +msgid "Show open windows previews." +msgstr "Показывать миниатюры открытых окон." + +#: Settings.ui.h:41 +msgid "" +"If disabled, these settings are accessible from gnome-tweak-tool or the " +"extension website." +msgstr "" +"Если отключено, то эти настройки доступны в gnome-tweak-tool или через сайт " +"дополнений." + +#: Settings.ui.h:42 +msgid "Show Applications icon" +msgstr "Показывать иконку «Приложения»" + +#: Settings.ui.h:43 +msgid "Move the applications button at the beginning of the dock." +msgstr "Расположить кнопку «Приложения» с другой стороны Дока." + +#: Settings.ui.h:44 +msgid "Animate Show Applications." +msgstr "Анимация при показе «Приложений»" + +#: Settings.ui.h:45 +msgid "Show trash can" +msgstr "Показывать корзину" + +#: Settings.ui.h:46 +msgid "Show mounted volumes and devices" +msgstr "Показывать примонтированные разделы и устройства" + +#: Settings.ui.h:47 +msgid "Launchers" +msgstr "Команды" + +#: Settings.ui.h:48 +msgid "" +"Enable Super+(0-9) as shortcuts to activate apps. It can also be used " +"together with Shift and Ctrl." +msgstr "" +"Включить сочетания клавиш Super+(0-9) для выбора приложений. Также может " +"быть использовано совместно с Shift и Ctrl." + +#: Settings.ui.h:49 +msgid "Use keyboard shortcuts to activate apps" +msgstr "Использовать сочетания клавиш для выбора приложений" + +#: Settings.ui.h:50 +msgid "Behaviour when clicking on the icon of a running application." +msgstr "Поведение при нажатии на иконку запущенного приложения." + +#: Settings.ui.h:51 +msgid "Click action" +msgstr "Действие по нажатию" + +#: Settings.ui.h:53 +msgid "Behaviour when scrolling on the icon of an application." +msgstr "Поведение при прокрутке на иконке приложения." + +#: Settings.ui.h:54 +msgid "Scroll action" +msgstr "Действие при прокрутке" + +#: Settings.ui.h:55 +msgid "Do nothing" +msgstr "Ничего не делать" + +#: Settings.ui.h:56 +msgid "Switch workspace" +msgstr "Переключить рабочий стол" + +#: Settings.ui.h:57 +msgid "Behavior" +msgstr "Поведение" + +#: Settings.ui.h:58 +msgid "" +"Few customizations meant to integrate the dock with the default GNOME theme. " +"Alternatively, specific options can be enabled below." +msgstr "" +"Сбалансированные настройки для интеграции Дока с темой Gnome по умолчанию. " +"Ниже можно установить настройки вручную." + +#: Settings.ui.h:59 +msgid "Use built-in theme" +msgstr "Использовать встроенную тему" + +#: Settings.ui.h:60 +msgid "Save space reducing padding and border radius." +msgstr "" +"Экономия рабочего пространства за счёт уменьшения промежутков и " +"использования скругленных углов." + +#: Settings.ui.h:61 +msgid "Shrink the dash" +msgstr "Сжать Док" + +#: Settings.ui.h:62 +msgid "Customize windows counter indicators" +msgstr "Настроить индикаторы количества окон" + +#: Settings.ui.h:63 +msgid "Default" +msgstr "По умолчанию" + +#: Settings.ui.h:64 +msgid "Dots" +msgstr "Точки" + +#: Settings.ui.h:65 +msgid "Squares" +msgstr "Квадраты" + +#: Settings.ui.h:66 +msgid "Dashes" +msgstr "Линии" + +#: Settings.ui.h:67 +msgid "Segmented" +msgstr "Сегменты" + +#: Settings.ui.h:68 +msgid "Solid" +msgstr "Слитно" + +#: Settings.ui.h:69 +msgid "Ciliora" +msgstr "" + +#: Settings.ui.h:70 +msgid "Metro" +msgstr "Метро" + +#: Settings.ui.h:71 +msgid "Set the background color for the dash." +msgstr "Вобор цвета фона для панели." + +#: Settings.ui.h:72 +msgid "Customize the dash color" +msgstr "Настроить цвет Дока" + +#: Settings.ui.h:73 +msgid "Tune the dash background opacity." +msgstr "Настройка прозрачности фона Дока." + +#: Settings.ui.h:75 +msgid "Fixed" +msgstr "Постоянная" + +#: Settings.ui.h:76 +msgid "Dynamic" +msgstr "Динамическая" + +#: Settings.ui.h:77 +msgid "Opacity" +msgstr "Непрозрачность" + +#: Settings.ui.h:78 +msgid "Force straight corner\n" +msgstr "Не скруглять углы\n" + +#: Settings.ui.h:80 +msgid "Appearance" +msgstr "Внешний вид" + +#: Settings.ui.h:81 +msgid "version: " +msgstr "версия: " + +#: Settings.ui.h:82 +msgid "Moves the dash out of the overview transforming it in a dock" +msgstr "Показывает панель из режима «Обзор» в виде дока" + +#: Settings.ui.h:83 +msgid "Created by" +msgstr "Автор" + +#: Settings.ui.h:84 +msgid "Webpage" +msgstr "Домашняя страница" + +#: Settings.ui.h:85 +msgid "" +"This program comes with ABSOLUTELY NO WARRANTY.\n" +"See the GNU General Public License, version 2 or later for details." +msgstr "" +"Эта программа распространяется БЕЗ КАКИХ ЛИБО " +"ГАРАНТИЙ.\n" +"Смотри GNU General Public License, версия 2 или позднее для информации." + +#: Settings.ui.h:87 +msgid "About" +msgstr "О дополнении" + +#: Settings.ui.h:88 +msgid "Customize minimum and maximum opacity values" +msgstr "Настройка минимального и максимального значения прозрачности" + +#: Settings.ui.h:89 +msgid "Minimum opacity" +msgstr "Минимальная прозрачность" + +#: Settings.ui.h:90 +msgid "Maximum opacity" +msgstr "Максимальная прозрачность" + +#: Settings.ui.h:91 +msgid "Number overlay" +msgstr "Отображение номера" + +#: Settings.ui.h:92 +msgid "" +"Temporarily show the application numbers over the icons, corresponding to " +"the shortcut." +msgstr "" +"Временно показывать номера приложений рядом с иконками, при нажатии " +"сочетания клавиш." + +#: Settings.ui.h:93 +msgid "Show the dock if it is hidden" +msgstr "Показать Док, если он скрыт" + +#: Settings.ui.h:94 +msgid "" +"If using autohide, the dock will appear for a short time when triggering the " +"shortcut." +msgstr "" +"Если используется автоматическое скрытие, то Док кратковреммено появится при " +"обработке сочетания клавиш." + +#: Settings.ui.h:95 +msgid "Shortcut for the options above" +msgstr "Сочетания клавиш для указанных параметров" + +#: Settings.ui.h:96 +msgid "Syntax: , , , " +msgstr "Синтаксис: , , , " + +#: Settings.ui.h:97 +msgid "Hide timeout (s)" +msgstr "Задержка скрытия (сек.)" + +#: Settings.ui.h:98 +msgid "Show the dock by mouse hover on the screen edge." +msgstr "Показывать Док при подведении мыши к стороне экрана." + +#: Settings.ui.h:99 +msgid "Autohide" +msgstr "Автоматическое скрытие" + +#: Settings.ui.h:100 +msgid "Push to show: require pressure to show the dock" +msgstr "Давление для появления: требуется давление для открытия Дока" + +#: Settings.ui.h:101 +msgid "Enable in fullscreen mode" +msgstr "Включить для полноэкранного режима" + +#: Settings.ui.h:102 +msgid "Show the dock when it doesn't obstruct application windows." +msgstr "Скрывать Док, когда он перекрыт окнами приложений" + +#: Settings.ui.h:103 +msgid "Dodge windows" +msgstr "Перекрытие окнами" + +#: Settings.ui.h:104 +msgid "All windows" +msgstr "Все окна" + +#: Settings.ui.h:105 +msgid "Only focused application's windows" +msgstr "Только активное окно приложения" + +#: Settings.ui.h:106 +msgid "Only maximized windows" +msgstr "Только развёрнутые окна" + +#: Settings.ui.h:107 +msgid "Animation duration (s)" +msgstr "Время анимации (сек.)" + +#: Settings.ui.h:108 +msgid "Show timeout (s)" +msgstr "Задержка открытия (сек.)" + +#: Settings.ui.h:109 +msgid "Pressure threshold" +msgstr "Порог давления" + #~ msgid "Attach modal dialog to the parent window" #~ msgstr "Прикреплять модальное диалоговое окно к родительскому окну" @@ -355,3 +884,104 @@ msgstr "Добавить рабочую область" #~ msgid "Window management and application launching" #~ msgstr "Управление окнами и запуск приложений" + +#~ msgid "Adaptive" +#~ msgstr "Адаптивная" + +#~ msgid "Show a dot for each windows of the application." +#~ msgstr "Отображает точку для каждого окна приложения." + +#~ msgid "" +#~ "With fixed icon size, only the edge of the dock and the Show " +#~ "Applications icon are active." +#~ msgstr "" +#~ "При фиксированном размере иконок приложений активна только область иконки " +#~ "«Приложения» и край дока." + +#~ msgid "Switch workspace by scrolling on the dock" +#~ msgstr "Переключать рабочие столы при прокрутке на Доке" + +#~ msgid "Only consider windows of the focused application" +#~ msgstr "Применить только к активным окнам приложений" + +#~ msgid "Main Settings" +#~ msgstr "Основные настройки" + +#~ msgid "Dock Position" +#~ msgstr "Расположение Дока" + +#~ msgid "Dock is fixed and always visible" +#~ msgstr "Док зафиксирован и всегда виден" + +#~ msgid "Show delay [ms]" +#~ msgstr "Задержка перед появлением [мс]" + +#~ msgid "Hide delay [ms]" +#~ msgstr "Задержка перед скрытием [мс]" + +#~ msgid "Application based intellihide" +#~ msgstr "Интеллектуальное скрытие действует только для активных окон" + +#~ msgid "Show the dock on following monitor (if attached)" +#~ msgstr "Показывать Док на дополнительном мониторе (если подключен)" + +#~ msgid "Primary (default)" +#~ msgstr "Главный (по умолчанию)" + +#~ msgid "Max height" +#~ msgstr "Максимальная высота" + +#~ msgid "Expand (experimental and buggy)" +#~ msgstr "Расширяемый (экспериментально и неустойчиво)" + +#~ msgid "Maximum icon size" +#~ msgstr "Максимальный размер иконки" + +#~ msgid "Optional features" +#~ msgstr "Дополнительные функции" + +#~ msgid "Deadtime between each workspace switching [ms]" +#~ msgstr "Задержка между каждым переключением [мс]" + +#~ msgid "Only a 1px wide area close to the screen edge is active" +#~ msgstr "Активная область - 1 пиксель от края экрана" + +#~ msgid "All the area of the dock is active" +#~ msgstr "Активен весь Док" + +#~ msgid "Customize actions on mouse click" +#~ msgstr "Настроить действия по нажатию мыши" + +#~ msgid "Action on clicking on running app" +#~ msgstr "Действие по нажатию на иконку запущенного приложения" + +#~ msgid "Minimize window on shift+click (double click for all app windows)" +#~ msgstr "" +#~ "Минимизировать окно при shift+click (двойное нажатие скрывает все окна " +#~ "приложений)" + +#~ msgid "Make message tray insensitive to mouse events" +#~ msgstr "Сделать область сообщений нечувствительной к мыши" + +#~ msgid "Appearence and Themes" +#~ msgstr "Внешний вид и Темы" + +#~ msgid "" +#~ "A customized theme is built in the extension. This is meant to work with " +#~ "the default Adwaita theme: the dash is shrunk to save space, its " +#~ "background transparency reduced, and custom indicators for the number of " +#~ "windows of each application are added." +#~ msgstr "" +#~ "Тема встроена в расширение. Она оптимизирована для темы Adwaita по " +#~ "умолчанию: Док уменьшен, чтобы сохранить пространство; прозрачность фона " +#~ "снижена; включены индикаторы количества окон для каждого приложения." + +#~ msgid "" +#~ "Alternatively, for a better integration with custom themes, each " +#~ "customization can be applied indipendently" +#~ msgstr "" +#~ "Для большей интеграции с пользовательской темой, каждый параметр можно " +#~ "настроить независимо" + +#~ msgid "Shrink the dash size by reducing padding" +#~ msgstr "Уменьшить Док за счёт промежутков" diff --git a/po/sk.po b/po/sk.po index d352e15a..e8330d08 100644 --- a/po/sk.po +++ b/po/sk.po @@ -1,11 +1,20 @@ +# #-#-#-#-# sk.po (gnome-shell-extensions) #-#-#-#-# # Slovak translation for gnome-shell-extensions. # Copyright (C) 2012-2013 Free Software Foundation, Inc. # This file is distributed under the same license as the gnome-shell-extensions package. # Pavol Klačanský , 2012. # Dušan Kazik , 2012, 2013. # +# #-#-#-#-# sk.po #-#-#-#-# +# Slovak translation of dash-to-dock. +# Copyright (C) 2016 Dušan Kazik +# This file is distributed under the same license as the PACKAGE package. +# Dušan Kazik , 2015, 2016. +# +#, fuzzy msgid "" msgstr "" +"#-#-#-#-# sk.po (gnome-shell-extensions) #-#-#-#-#\n" "Project-Id-Version: gnome-shell-extensions\n" "Report-Msgid-Bugs-To: https://gitlab.gnome.org/GNOME/gnome-shell-extensions/" "issues\n" @@ -19,6 +28,19 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=3; plural=(n==1) ? 1 : (n>=2 && n<=4) ? 2 : 0;\n" "X-Generator: Poedit 2.4.1\n" +"#-#-#-#-# sk.po #-#-#-#-#\n" +"Project-Id-Version: \n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-06-04 12:35+0100\n" +"PO-Revision-Date: 2016-07-15 12:48+0200\n" +"Last-Translator: Dušan Kazik \n" +"Language-Team: \n" +"Language: sk\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Poedit 1.8.7.1\n" +"Plural-Forms: nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2;\n" #: data/gnome-classic.desktop.in:3 data/gnome-classic.session.desktop.in:3 msgid "GNOME Classic" @@ -169,8 +191,9 @@ msgstr "Zavrieť" msgid "Unminimize" msgstr "Odminimalizovať" +# #-#-#-#-# sk.po (gnome-shell-extensions) #-#-#-#-# # label -#: extensions/window-list/extension.js:118 +#: extensions/window-list/extension.js:118 Settings.ui.h:50 msgid "Minimize" msgstr "Minimalizovať" @@ -291,6 +314,427 @@ msgstr "Pracovný priestor č. %d" msgid "Add Workspace" msgstr "Pridať pracovný priestor" +#: prefs.js:113 +msgid "Primary monitor" +msgstr "Hlavnom monitore" + +#: prefs.js:122 prefs.js:129 +msgid "Secondary monitor " +msgstr "Vedľajšom monitore" + +#: prefs.js:154 Settings.ui.h:29 +msgid "Right" +msgstr "Vpravo" + +#: prefs.js:155 Settings.ui.h:26 +msgid "Left" +msgstr "Vľavo" + +#: prefs.js:205 +msgid "Intelligent autohide customization" +msgstr "Prispôsobenie inteligentného automatického skrývania" + +#: prefs.js:212 prefs.js:393 prefs.js:450 +msgid "Reset to defaults" +msgstr "Obnoviť pôvodné" + +#: prefs.js:386 +#, fuzzy +msgid "Show dock and application numbers" +msgstr "Zobraziť spustené aplikácie" + +#: prefs.js:443 +#, fuzzy +msgid "Customize middle-click behavior" +msgstr "Prispôsobenie štýlu indikátorov" + +#: prefs.js:514 +msgid "Customize running indicators" +msgstr "Prispôsobenie " + +#: appIcons.js:804 +msgid "All Windows" +msgstr "Všetky okná" + +#: Settings.ui.h:1 +msgid "Customize indicator style" +msgstr "Prispôsobenie štýlu indikátorov" + +#: Settings.ui.h:2 +msgid "Color" +msgstr "Farba" + +#: Settings.ui.h:3 +msgid "Border color" +msgstr "Farba okraja" + +#: Settings.ui.h:4 +msgid "Border width" +msgstr "Šírka okraja" + +#: Settings.ui.h:5 +msgid "Number overlay" +msgstr "" + +#: Settings.ui.h:6 +msgid "" +"Temporarily show the application numbers over the icons, corresponding to " +"the shortcut." +msgstr "" + +#: Settings.ui.h:7 +#, fuzzy +msgid "Show the dock if it is hidden" +msgstr "Zobraziť dok na" + +#: Settings.ui.h:8 +msgid "" +"If using autohide, the dock will appear for a short time when triggering the " +"shortcut." +msgstr "" + +#: Settings.ui.h:9 +msgid "Shortcut for the options above" +msgstr "" + +#: Settings.ui.h:10 +msgid "Syntax: , , , " +msgstr "" + +#: Settings.ui.h:11 +msgid "Hide timeout (s)" +msgstr "Časový limit na skrytie (s)" + +#: Settings.ui.h:12 +msgid "" +"When set to minimize, double clicking minimizes all the windows of the " +"application." +msgstr "" +"Keď je nastavené na minimalizovanie, dvojklik minimalizuje všetky okná " +"aplikácie." + +#: Settings.ui.h:13 +msgid "Shift+Click action" +msgstr "Akcia Shift+Kliknutie" + +#: Settings.ui.h:14 +#, fuzzy +msgid "Raise window" +msgstr "Minimalizovať okno" + +#: Settings.ui.h:15 +msgid "Minimize window" +msgstr "Minimalizovať okno" + +#: Settings.ui.h:16 +msgid "Launch new instance" +msgstr "Spustiť novú inštanciu" + +#: Settings.ui.h:17 +msgid "Cycle through windows" +msgstr "Striedať okná" + +#: Settings.ui.h:18 +msgid "Quit" +msgstr "" + +#: Settings.ui.h:19 +msgid "Behavior for Middle-Click." +msgstr "" + +#: Settings.ui.h:20 +#, fuzzy +msgid "Middle-Click action" +msgstr "Akcia po kliknutí" + +#: Settings.ui.h:21 +msgid "Behavior for Shift+Middle-Click." +msgstr "" + +#: Settings.ui.h:22 +#, fuzzy +msgid "Shift+Middle-Click action" +msgstr "Akcia Shift+Kliknutie" + +#: Settings.ui.h:23 +msgid "Show the dock on" +msgstr "Zobraziť dok na" + +#: Settings.ui.h:24 +#, fuzzy +msgid "Show on all monitors." +msgstr "Vedľajšom monitore" + +#: Settings.ui.h:25 +msgid "Position on screen" +msgstr "Pozícia na obrazovke" + +#: Settings.ui.h:27 +msgid "Bottom" +msgstr "Na spodku" + +#: Settings.ui.h:28 +msgid "Top" +msgstr "Na vrchu" + +#: Settings.ui.h:30 +msgid "" +"Hide the dock when it obstructs a window of the current application. More " +"refined settings are available." +msgstr "" +"Skryť dok, keď zasahuje do okna aktuálnej aplikácie. Sú dostupné " +"podrobnejšie nastavenia." + +#: Settings.ui.h:31 +msgid "Intelligent autohide" +msgstr "Inteligentné automatické skrývanie" + +#: Settings.ui.h:32 +msgid "Dock size limit" +msgstr "Limit veľkosti doku" + +#: Settings.ui.h:33 +msgid "Panel mode: extend to the screen edge" +msgstr "Režim panelu: roztiahnutie k hranám obrazovky" + +#: Settings.ui.h:34 +msgid "Icon size limit" +msgstr "Limit veľkosti ikôn" + +#: Settings.ui.h:35 +msgid "Fixed icon size: scroll to reveal other icons" +msgstr "Pevná veľkosť ikôn: rolovaním odhalíte ostatné ikony" + +#: Settings.ui.h:36 +msgid "Position and size" +msgstr "Pozícia a veľkosť" + +#: Settings.ui.h:37 +msgid "Show favorite applications" +msgstr "Zobraziť obľúbené aplikácie" + +#: Settings.ui.h:38 +msgid "Show running applications" +msgstr "Zobraziť spustené aplikácie" + +#: Settings.ui.h:39 +msgid "Isolate workspaces." +msgstr "Oddelené pracovné priestory." + +#: Settings.ui.h:40 +msgid "Show open windows previews." +msgstr "" + +#: Settings.ui.h:41 +#, fuzzy +msgid "" +"If disabled, these settings are accessible from gnome-tweak-tool or the " +"extension website." +msgstr "" +"Ak je voľba zakázaná, nastavenia sú dostupné z nástroja na vyladenie " +"nastavení prostredia Gnome alebo webovej stránky rozšírenia." + +#: Settings.ui.h:42 +msgid "Show Applications icon" +msgstr "Zobraziť ikonu Aplikácie" + +#: Settings.ui.h:43 +msgid "Move the applications button at the beginning of the dock." +msgstr "Premiestni tlačidlo aplikácií na začiatok doku." + +#: Settings.ui.h:44 +msgid "Animate Show Applications." +msgstr "Animovať položku Zobraziť aplikácie." + +#: Settings.ui.h:45 +msgid "Launchers" +msgstr "" + +#: Settings.ui.h:46 +msgid "" +"Enable Super+(0-9) as shortcuts to activate apps. It can also be used " +"together with Shift and Ctrl." +msgstr "" + +#: Settings.ui.h:47 +msgid "Use keyboard shortcuts to activate apps" +msgstr "" + +#: Settings.ui.h:48 +msgid "Behaviour when clicking on the icon of a running application." +msgstr "Správanie pri kliknutí na ikonu spustenej aplikácie." + +#: Settings.ui.h:49 +msgid "Click action" +msgstr "Akcia po kliknutí" + +#: Settings.ui.h:51 +#, fuzzy +msgid "Minimize or overview" +msgstr "Minimalizovať okno" + +#: Settings.ui.h:52 +#, fuzzy +msgid "Behaviour when scrolling on the icon of an application." +msgstr "Správanie pri kliknutí na ikonu spustenej aplikácie." + +#: Settings.ui.h:53 +#, fuzzy +msgid "Scroll action" +msgstr "Akcia po kliknutí" + +#: Settings.ui.h:54 +msgid "Do nothing" +msgstr "Nevykonať nič" + +#: Settings.ui.h:55 +#, fuzzy +msgid "Switch workspace" +msgstr "Oddelené pracovné priestory." + +#: Settings.ui.h:56 +msgid "Behavior" +msgstr "Správanie" + +#: Settings.ui.h:57 +msgid "" +"Few customizations meant to integrate the dock with the default GNOME theme. " +"Alternatively, specific options can be enabled below." +msgstr "" +"Niekoľko úprav na integrovanie doku s predvolenou témou prostredia GNOME. " +"Alternatívne môžu byť povolené špecifické voľby nižšie." + +#: Settings.ui.h:58 +msgid "Use built-in theme" +msgstr "Použiť zabudovanú tému" + +#: Settings.ui.h:59 +msgid "Save space reducing padding and border radius." +msgstr "Ušetrí miesto zmenšením rádiusu odsadenia a okrajov." + +#: Settings.ui.h:60 +msgid "Shrink the dash" +msgstr "Zmenšiť panel" + +#: Settings.ui.h:61 +msgid "Show a dot for each windows of the application." +msgstr "Zobrazí bodku za každé okno aplikácie." + +#: Settings.ui.h:62 +msgid "Show windows counter indicators" +msgstr "Zobraziť indikátory počítadiel okien" + +#: Settings.ui.h:63 +msgid "Set the background color for the dash." +msgstr "Nastaví farbu pozadia panelu." + +#: Settings.ui.h:64 +msgid "Customize the dash color" +msgstr "Prispôsobenie farby panelu" + +#: Settings.ui.h:65 +msgid "Tune the dash background opacity." +msgstr "Vyladí krytie pozadia panelu." + +#: Settings.ui.h:66 +msgid "Customize opacity" +msgstr "Prispôsobenie krytia" + +#: Settings.ui.h:67 +msgid "Opacity" +msgstr "Krytie" + +#: Settings.ui.h:68 +msgid "Force straight corner\n" +msgstr "" + +#: Settings.ui.h:70 +msgid "Appearance" +msgstr "Vzhľad" + +#: Settings.ui.h:71 +msgid "version: " +msgstr "Verzia: c" + +#: Settings.ui.h:72 +msgid "Moves the dash out of the overview transforming it in a dock" +msgstr "Presunie panel z prehľadu transformovaním do doku" + +#: Settings.ui.h:73 +msgid "Created by" +msgstr "Vytvoril" + +#: Settings.ui.h:74 +msgid "Webpage" +msgstr "Webová stránka" + +#: Settings.ui.h:75 +msgid "" +"This program comes with ABSOLUTELY NO WARRANTY.\n" +"See the GNU General Public License, version 2 or later for details." +msgstr "" +"Tento program je ABSOLÚTNE BEZ ZÁRUKY.\n" +"Pre viac podrobností si pozrite Licenciu GNU General Public, verzie 2 alebo novšiu." + +#: Settings.ui.h:77 +msgid "About" +msgstr "O rozšírení" + +#: Settings.ui.h:78 +msgid "Show the dock by mouse hover on the screen edge." +msgstr "Zobrazí dok prejdením myši na hranu obrazovky." + +#: Settings.ui.h:79 +msgid "Autohide" +msgstr "Automatické skrytie" + +#: Settings.ui.h:80 +msgid "Push to show: require pressure to show the dock" +msgstr "Zobraziť stlačením: vyžaduje tlak na zobrazenie doku" + +#: Settings.ui.h:81 +msgid "Enable in fullscreen mode" +msgstr "Povoliť v režime na celú obrazovku" + +#: Settings.ui.h:82 +msgid "Show the dock when it doesn't obstruct application windows." +msgstr "Zobrazí dok, keď nebude zasahovať do okien aplikácií." + +#: Settings.ui.h:83 +msgid "Dodge windows" +msgstr "Vyhýbať sa oknám" + +#: Settings.ui.h:84 +msgid "All windows" +msgstr "Všetky okná" + +#: Settings.ui.h:85 +msgid "Only focused application's windows" +msgstr "Iba zamerané okná aplikácií" + +#: Settings.ui.h:86 +msgid "Only maximized windows" +msgstr "Iba maximalizované okná" + +#: Settings.ui.h:87 +msgid "Animation duration (s)" +msgstr "Trvanie animácie (s)" + +#: Settings.ui.h:88 +msgid "0.000" +msgstr "0.000" + +#: Settings.ui.h:89 +msgid "Show timeout (s)" +msgstr "Zobraziť časový limit (s)" + +#: Settings.ui.h:90 +msgid "Pressure threshold" +msgstr "Medza tlaku" + # TreeViewColumn #~ msgid "Application" #~ msgstr "Aplikácia" @@ -406,3 +850,13 @@ msgstr "Pridať pracovný priestor" # RadioButton label #~ msgid "Window management and application launching" #~ msgstr "Správca okien a spúšťanie aplikácií" + +#~ msgid "" +#~ "With fixed icon size, only the edge of the dock and the Show " +#~ "Applications icon are active." +#~ msgstr "" +#~ "S pevnou veľkosťou ikon je aktívna iba hrana doku a ikona Zobraziť " +#~ "aplikácie." + +#~ msgid "Switch workspace by scrolling on the dock" +#~ msgstr "Prepínať pracovné priestory rolovaním na doku" diff --git a/po/sr.po b/po/sr.po index dba6f9ff..92ab6945 100644 --- a/po/sr.po +++ b/po/sr.po @@ -1,3 +1,4 @@ +# #-#-#-#-# sr.po (gnome-shell-extensions master) #-#-#-#-# # Serbian translation for gnome-shell-extensions. # Courtesy of Prevod.org team (http://prevod.org/) -- 2012—2017. # This file is distributed under the same license as the gnome-shell-extensions package. @@ -5,8 +6,16 @@ # Мирослав Николић , 2012—2017. # Марко М. Костић , 2020. # +# #-#-#-#-# sr.po #-#-#-#-# +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. +# FIRST AUTHOR , YEAR. +# +#, fuzzy msgid "" msgstr "" +"#-#-#-#-# sr.po (gnome-shell-extensions master) #-#-#-#-#\n" "Project-Id-Version: gnome-shell-extensions master\n" "Report-Msgid-Bugs-To: https://gitlab.gnome.org/GNOME/gnome-shell-extensions/" "issues\n" @@ -22,6 +31,20 @@ msgstr "" "%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2\n" "X-Project-Style: gnome\n" "X-Generator: Gtranslator 3.36.0\n" +"#-#-#-#-# sr.po #-#-#-#-#\n" +"Project-Id-Version: \n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-09-16 13:45+0200\n" +"PO-Revision-Date: 2017-09-20 18:59+0200\n" +"Last-Translator: Слободан Терзић \n" +"Language-Team: \n" +"Language: sr\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Poedit 2.0.3\n" +"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n" +"%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" #: data/gnome-classic.desktop.in:3 data/gnome-classic.session.desktop.in:3 msgid "GNOME Classic" @@ -155,9 +178,14 @@ msgstr "Затвори" msgid "Unminimize" msgstr "Поништи умањење" -#: extensions/window-list/extension.js:118 +#: extensions/window-list/extension.js:118 Settings.ui.h:53 +#, fuzzy msgid "Minimize" -msgstr "Умањи" +msgstr "" +"#-#-#-#-# sr.po (gnome-shell-extensions master) #-#-#-#-#\n" +"Умањи\n" +"#-#-#-#-# sr.po #-#-#-#-#\n" +"минимизуј" #: extensions/window-list/extension.js:125 msgid "Unmaximize" @@ -264,6 +292,435 @@ msgstr "%d. радни простор" msgid "Add Workspace" msgstr "Додај радни простор" +#: prefs.js:113 +msgid "Primary monitor" +msgstr "примарном монитору" + +#: prefs.js:122 prefs.js:129 +msgid "Secondary monitor " +msgstr "секундарном монитору" + +#: prefs.js:154 Settings.ui.h:31 +msgid "Right" +msgstr "десно" + +#: prefs.js:155 Settings.ui.h:28 +msgid "Left" +msgstr "лево" + +#: prefs.js:205 +msgid "Intelligent autohide customization" +msgstr "Поставке интелигентног аутоматског сакривања" + +#: prefs.js:212 prefs.js:397 prefs.js:454 +msgid "Reset to defaults" +msgstr "Поврати основно" + +#: prefs.js:390 +msgid "Show dock and application numbers" +msgstr "Прикажи док и бројеве програма" + +#: prefs.js:447 +msgid "Customize middle-click behavior" +msgstr "Прилагоћавање понашања средњег клика" + +#: prefs.js:518 +msgid "Customize running indicators" +msgstr "Прилагођавање индикатора покренутих" + +#: appIcons.js:1144 +msgid "All Windows" +msgstr "Сви прозори" + +#. Translators: %s is "Settings", which is automatically translated. You +#. can also translate the full message if this fits better your language. +#: appIcons.js:1450 +#, javascript-format +msgid "Dash to Dock %s" +msgstr "%s плоче/панела" + +#: Settings.ui.h:1 +msgid "Customize indicator style" +msgstr "Прилагоћавање стила индикатора" + +#: Settings.ui.h:2 +msgid "Color" +msgstr "Боја" + +#: Settings.ui.h:3 +msgid "Border color" +msgstr "Боја ивице" + +#: Settings.ui.h:4 +msgid "Border width" +msgstr "Ширина ивице" + +#: Settings.ui.h:5 +msgid "Number overlay" +msgstr "Бројне налепнице" + +#: Settings.ui.h:6 +msgid "" +"Temporarily show the application numbers over the icons, corresponding to " +"the shortcut." +msgstr "" +"Привремено прикажи бројеве програма изнад иконица, према припадајућој " +"пречици." + +#: Settings.ui.h:7 +msgid "Show the dock if it is hidden" +msgstr "Прикажи док уколико је сакривен" + +#: Settings.ui.h:8 +msgid "" +"If using autohide, the dock will appear for a short time when triggering the " +"shortcut." +msgstr "" +"Уколико се користи аутоматско сакривање, док ће се приказати на тренутак при " +"окидању пречице." + +#: Settings.ui.h:9 +msgid "Shortcut for the options above" +msgstr "Пречица за горе наведене опције" + +#: Settings.ui.h:10 +msgid "Syntax: , , , " +msgstr "Синтакса: , , , " + +#: Settings.ui.h:11 +msgid "Hide timeout (s)" +msgstr "Застој скривања" + +#: Settings.ui.h:12 +msgid "" +"When set to minimize, double clicking minimizes all the windows of the " +"application." +msgstr "" +"Кад је постављено на минимизовање, дупли клик минимизује све прозоре " +"програма." + +#: Settings.ui.h:13 +msgid "Shift+Click action" +msgstr "Радња шифт+клика" + +#: Settings.ui.h:14 +msgid "Raise window" +msgstr "издигни прозор" + +#: Settings.ui.h:15 +msgid "Minimize window" +msgstr "минимизуј прозор" + +#: Settings.ui.h:16 +msgid "Launch new instance" +msgstr "покрени нови примерак" + +#: Settings.ui.h:17 +msgid "Cycle through windows" +msgstr "кружење кроз прозоре" + +#: Settings.ui.h:18 +msgid "Minimize or overview" +msgstr "минимиуј или преглед" + +#: Settings.ui.h:19 +msgid "Show window previews" +msgstr "прикажи сличице прозора" + +#: Settings.ui.h:20 +msgid "Quit" +msgstr "напусти" + +#: Settings.ui.h:21 +msgid "Behavior for Middle-Click." +msgstr "Понашање средњег клика." + +#: Settings.ui.h:22 +msgid "Middle-Click action" +msgstr "Радња средњег клика" + +#: Settings.ui.h:23 +msgid "Behavior for Shift+Middle-Click." +msgstr "Пoнашање шифт+средњег клика." + +#: Settings.ui.h:24 +msgid "Shift+Middle-Click action" +msgstr "Радња шифт+средњегклика" + +#: Settings.ui.h:25 +msgid "Show the dock on" +msgstr "Прикажи док на" + +#: Settings.ui.h:26 +msgid "Show on all monitors." +msgstr "Прикажи на свим мониторима." + +#: Settings.ui.h:27 +msgid "Position on screen" +msgstr "Позиција на екрану" + +#: Settings.ui.h:29 +msgid "Bottom" +msgstr "дно" + +#: Settings.ui.h:30 +msgid "Top" +msgstr "врх" + +#: Settings.ui.h:32 +msgid "" +"Hide the dock when it obstructs a window of the current application. More " +"refined settings are available." +msgstr "" +"Сакриј док када је на путу прозора тренутног програма. Доступне су финије " +"поставке." + +#: Settings.ui.h:33 +msgid "Intelligent autohide" +msgstr "Интелигентно аутоматско сакривање" + +#: Settings.ui.h:34 +msgid "Dock size limit" +msgstr "Ограничење величине дока" + +#: Settings.ui.h:35 +msgid "Panel mode: extend to the screen edge" +msgstr "Режим панела: проширен до ивица екрана" + +#: Settings.ui.h:36 +msgid "Icon size limit" +msgstr "Ограничење величине иконица" + +#: Settings.ui.h:37 +msgid "Fixed icon size: scroll to reveal other icons" +msgstr "Устаљена величина иконица: клизајте за друге иконе" + +#: Settings.ui.h:38 +msgid "Position and size" +msgstr "Позиција и величина" + +#: Settings.ui.h:39 +msgid "Show favorite applications" +msgstr "Приказ омиљених програма" + +#: Settings.ui.h:40 +msgid "Show running applications" +msgstr "Приказ покренутих програма" + +#: Settings.ui.h:41 +msgid "Isolate workspaces." +msgstr "Изолуј радне просторе." + +#: Settings.ui.h:42 +msgid "Isolate monitors." +msgstr "Изолуј мониторе." + +#: Settings.ui.h:43 +msgid "Show open windows previews." +msgstr "Прикажи сличице отворених прозора." + +#: Settings.ui.h:44 +msgid "" +"If disabled, these settings are accessible from gnome-tweak-tool or the " +"extension website." +msgstr "" +"Уколико је онемогућено, ове поставке су доступне кроз алатку за лицкање или " +"веб сајт проширења." + +#: Settings.ui.h:45 +msgid "Show Applications icon" +msgstr "Приказ иконице Прикажи програме" + +#: Settings.ui.h:46 +msgid "Move the applications button at the beginning of the dock." +msgstr "Помери дугме програма на почетак дока." + +#: Settings.ui.h:47 +msgid "Animate Show Applications." +msgstr "Анимирај приказ програма." + +#: Settings.ui.h:48 +msgid "Launchers" +msgstr "Покретачи" + +#: Settings.ui.h:49 +msgid "" +"Enable Super+(0-9) as shortcuts to activate apps. It can also be used " +"together with Shift and Ctrl." +msgstr "" +"Укључује Супер+(0-9) као пречице за активацију програма. Такође је могуће " +"користити уз shift и ctrl." + +#: Settings.ui.h:50 +msgid "Use keyboard shortcuts to activate apps" +msgstr "Активирај програме пречицама тастатуре" + +#: Settings.ui.h:51 +msgid "Behaviour when clicking on the icon of a running application." +msgstr "Понашање при клику на покренути програм." + +#: Settings.ui.h:52 +msgid "Click action" +msgstr "Радња клика" + +#: Settings.ui.h:54 +msgid "Behaviour when scrolling on the icon of an application." +msgstr "Понашање при клизању на иконицу покренутог програма." + +#: Settings.ui.h:55 +msgid "Scroll action" +msgstr "Радња клизања на иконицу" + +#: Settings.ui.h:56 +msgid "Do nothing" +msgstr "ништа" + +#: Settings.ui.h:57 +msgid "Switch workspace" +msgstr "пребаци радни простор" + +#: Settings.ui.h:58 +msgid "Behavior" +msgstr "Понашање" + +#: Settings.ui.h:59 +msgid "" +"Few customizations meant to integrate the dock with the default GNOME theme. " +"Alternatively, specific options can be enabled below." +msgstr "" +"Неколико поставки намењених уграђивању дока у основну тему Гнома. " +"Алтернативно, посебне поставке се могу уредити испод." + +#: Settings.ui.h:60 +msgid "Use built-in theme" +msgstr "Користи уграђену тему" + +#: Settings.ui.h:61 +msgid "Save space reducing padding and border radius." +msgstr "Чува простор сужавањем попуне и опсега ивица." + +#: Settings.ui.h:62 +msgid "Shrink the dash" +msgstr "Скупи плочу" + +#: Settings.ui.h:63 +msgid "Show a dot for each windows of the application." +msgstr "Приказује тачку за сваки прозор програма." + +#: Settings.ui.h:64 +msgid "Show windows counter indicators" +msgstr "Приказ индикаторa бројача прозора." + +#: Settings.ui.h:65 +msgid "Set the background color for the dash." +msgstr "Постави позадинску боју плоче." + +#: Settings.ui.h:66 +msgid "Customize the dash color" +msgstr "Прилагоди боју плоче" + +#: Settings.ui.h:67 +msgid "Tune the dash background opacity." +msgstr "Прилагоди прозирност позадине плоче." + +#: Settings.ui.h:68 +msgid "Customize opacity" +msgstr "Прилагоћавање прозирности" + +#: Settings.ui.h:69 +msgid "Opacity" +msgstr "Прозирност" + +#: Settings.ui.h:70 +msgid "Enable Unity7 like glossy backlit items" +msgstr "Укључи позадинске ефекте попут Unity7" + +#: Settings.ui.h:71 +msgid "Force straight corner\n" +msgstr "Наметни равне углове\n" + +#: Settings.ui.h:73 +msgid "Appearance" +msgstr "Изглед" + +#: Settings.ui.h:74 +msgid "version: " +msgstr "верзија: " + +#: Settings.ui.h:75 +msgid "Moves the dash out of the overview transforming it in a dock" +msgstr "Помера плочу из глобалног приказа, претварајући је у док" + +#: Settings.ui.h:76 +msgid "Created by" +msgstr "Направи" + +#: Settings.ui.h:77 +msgid "Webpage" +msgstr "Веб страница" + +#: Settings.ui.h:78 +msgid "" +"This program comes with ABSOLUTELY NO WARRANTY.\n" +"See the GNU General Public License, version 2 or later for details." +msgstr "" +"Овај програм се доставља БЕЗ ИКАКВИХ ГАРАНЦИЈА.\n" +"Погледајте ГНУову Општу Јавну лиценцу, верзија 2 или каснија, за детаље." + +#: Settings.ui.h:80 +msgid "About" +msgstr "О програму" + +#: Settings.ui.h:81 +msgid "Show the dock by mouse hover on the screen edge." +msgstr "Прикажи док прелазом миша пеко ивице екрана." + +#: Settings.ui.h:82 +msgid "Autohide" +msgstr "Аутоматско сакривање" + +#: Settings.ui.h:83 +msgid "Push to show: require pressure to show the dock" +msgstr "Приказ притиском: захтева притисак за приказ дока" + +#: Settings.ui.h:84 +msgid "Enable in fullscreen mode" +msgstr "Омогући у целоекранском режиму" + +#: Settings.ui.h:85 +msgid "Show the dock when it doesn't obstruct application windows." +msgstr "Приказује док када није на путу прозорима програма." + +#: Settings.ui.h:86 +msgid "Dodge windows" +msgstr "Избегавање розора" + +#: Settings.ui.h:87 +msgid "All windows" +msgstr "Сви прозори" + +#: Settings.ui.h:88 +msgid "Only focused application's windows" +msgstr "Само прозор фокусираног програма" + +#: Settings.ui.h:89 +msgid "Only maximized windows" +msgstr "Само максимизовани прозори" + +#: Settings.ui.h:90 +msgid "Animation duration (s)" +msgstr "Трајање(а) анимације" + +#: Settings.ui.h:91 +msgid "Show timeout (s)" +msgstr "Застој приказивања" + +#: Settings.ui.h:92 +msgid "Pressure threshold" +msgstr "Праг притиска" + #~ msgid "Application" #~ msgstr "Програм" @@ -356,3 +813,20 @@ msgstr "Додај радни простор" #~ msgid "Window management and application launching" #~ msgstr "Управљање прозорима и покретање програма" + +#~ msgid "0.000" +#~ msgstr "0,000" + +#, fuzzy +#~ msgid "" +#~ "With fixed icon size, only the edge of the dock and the Show " +#~ "Applications icon are active." +#~ msgstr "" +#~ "Ако се иконе преклапају на доку, приказује се само икона Прикажи " +#~ "програме." + +#~ msgid "Switch workspace by scrolling on the dock" +#~ msgstr "Промена радног простора клизањем по доку" + +#~ msgid "Only consider windows of the focused application" +#~ msgstr "Разматрај само прозор фокусираног програма" diff --git a/po/sr@latin.po b/po/sr@latin.po index 92dae13d..1a7e0f10 100644 --- a/po/sr@latin.po +++ b/po/sr@latin.po @@ -1,10 +1,19 @@ +# #-#-#-#-# sr@latin.po (gnome-shell-extensions master) #-#-#-#-# # Serbian translation for gnome-shell-extensions. # Courtesy of Prevod.org team (http://prevod.org/) -- 2012—2017. # This file is distributed under the same license as the gnome-shell-extensions package. # Miloš Popović , 2012. # Miroslav Nikolić , 2012—2017. +# #-#-#-#-# sr@latin.po #-#-#-#-# +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. +# FIRST AUTHOR , YEAR. +# +#, fuzzy msgid "" msgstr "" +"#-#-#-#-# sr@latin.po (gnome-shell-extensions master) #-#-#-#-#\n" "Project-Id-Version: gnome-shell-extensions master\n" "Report-Msgid-Bugs-To: https://bugzilla.gnome.org/enter_bug.cgi?product=gnome-" "shell&keywords=I18N+L10N&component=extensions\n" @@ -16,9 +25,23 @@ msgstr "" "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" +"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" "X-Project-Style: gnome\n" +"#-#-#-#-# sr@latin.po #-#-#-#-#\n" +"Project-Id-Version: \n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-09-16 13:45+0200\n" +"PO-Revision-Date: 2017-09-20 18:56+0200\n" +"Last-Translator: Slobodan Terzić \n" +"Language-Team: \n" +"Language: sr@latin\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Poedit 2.0.3\n" +"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n" +"%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" #: data/gnome-classic.desktop.in:3 data/gnome-classic.session.desktop.in:3 msgid "GNOME Classic" @@ -39,7 +62,8 @@ msgstr "Prikačinje prozorče roditeljskom prozoru" msgid "" "This key overrides the key in org.gnome.mutter when running GNOME Shell." msgstr "" -"Ovaj ključ prevazilazi ključ u „org.gnome.mutter“ kada pokreće Gnomovu školjku." +"Ovaj ključ prevazilazi ključ u „org.gnome.mutter“ kada pokreće Gnomovu " +"školjku." #: data/org.gnome.shell.extensions.classic-overrides.gschema.xml:16 msgid "Arrangement of buttons on the titlebar" @@ -50,8 +74,8 @@ msgid "" "This key overrides the key in org.gnome.desktop.wm.preferences when running " "GNOME Shell." msgstr "" -"Ovaj ključ prevazilazi ključ u „org.gnome.desktop.wm.preferences“ kada pokreće " -"Gnomovu školjku." +"Ovaj ključ prevazilazi ključ u „org.gnome.desktop.wm.preferences“ kada " +"pokreće Gnomovu školjku." #: data/org.gnome.shell.extensions.classic-overrides.gschema.xml:24 msgid "Enable edge tiling when dropping windows on screen edges" @@ -259,9 +283,14 @@ msgstr "Zatvori" msgid "Unminimize" msgstr "Poništi umanjenje" -#: extensions/window-list/extension.js:130 +#: extensions/window-list/extension.js:130 Settings.ui.h:53 +#, fuzzy msgid "Minimize" -msgstr "Umanji" +msgstr "" +"#-#-#-#-# sr@latin.po (gnome-shell-extensions master) #-#-#-#-#\n" +"Umanji\n" +"#-#-#-#-# sr@latin.po #-#-#-#-#\n" +"minimizuj" #: extensions/window-list/extension.js:136 msgid "Unmaximize" @@ -358,6 +387,435 @@ msgstr "Naziv" msgid "Workspace %d" msgstr "%d. radni prostor" +#: prefs.js:113 +msgid "Primary monitor" +msgstr "primarnom monitoru" + +#: prefs.js:122 prefs.js:129 +msgid "Secondary monitor " +msgstr "sekundarnom monitoru" + +#: prefs.js:154 Settings.ui.h:31 +msgid "Right" +msgstr "desno" + +#: prefs.js:155 Settings.ui.h:28 +msgid "Left" +msgstr "levo" + +#: prefs.js:205 +msgid "Intelligent autohide customization" +msgstr "Postavke inteligentnog automatskog sakrivanja" + +#: prefs.js:212 prefs.js:397 prefs.js:454 +msgid "Reset to defaults" +msgstr "Povrati osnovno" + +#: prefs.js:390 +msgid "Show dock and application numbers" +msgstr "Prikaži dok i brojeve programa" + +#: prefs.js:447 +msgid "Customize middle-click behavior" +msgstr "Prilagoćavanje ponašanja srednjeg klika" + +#: prefs.js:518 +msgid "Customize running indicators" +msgstr "Prilagođavanje indikatora pokrenutih" + +#: appIcons.js:1144 +msgid "All Windows" +msgstr "Svi prozori" + +#. Translators: %s is "Settings", which is automatically translated. You +#. can also translate the full message if this fits better your language. +#: appIcons.js:1450 +#, javascript-format +msgid "Dash to Dock %s" +msgstr "%s ploče/panela" + +#: Settings.ui.h:1 +msgid "Customize indicator style" +msgstr "Prilagoćavanje stila indikatora" + +#: Settings.ui.h:2 +msgid "Color" +msgstr "Boja" + +#: Settings.ui.h:3 +msgid "Border color" +msgstr "Boja ivice" + +#: Settings.ui.h:4 +msgid "Border width" +msgstr "Širina ivice" + +#: Settings.ui.h:5 +msgid "Number overlay" +msgstr "Brojne nalepnice" + +#: Settings.ui.h:6 +msgid "" +"Temporarily show the application numbers over the icons, corresponding to " +"the shortcut." +msgstr "" +"Privremeno prikaži brojeve programa iznad ikonica, prema pripadajućoj " +"prečici." + +#: Settings.ui.h:7 +msgid "Show the dock if it is hidden" +msgstr "Prikaži dok ukoliko je sakriven" + +#: Settings.ui.h:8 +msgid "" +"If using autohide, the dock will appear for a short time when triggering the " +"shortcut." +msgstr "" +"Ukoliko se koristi automatsko sakrivanje, dok će se prikazati na trenutak " +"pri okidanju prečice." + +#: Settings.ui.h:9 +msgid "Shortcut for the options above" +msgstr "Prečica za gore navedene opcije" + +#: Settings.ui.h:10 +msgid "Syntax: , , , " +msgstr "Sintaksa: , , , " + +#: Settings.ui.h:11 +msgid "Hide timeout (s)" +msgstr "Zastoj skrivanja" + +#: Settings.ui.h:12 +msgid "" +"When set to minimize, double clicking minimizes all the windows of the " +"application." +msgstr "" +"Kad je postavljeno na minimizovanje, dupli klik minimizuje sve prozore " +"programa." + +#: Settings.ui.h:13 +msgid "Shift+Click action" +msgstr "Radnja šift+klika" + +#: Settings.ui.h:14 +msgid "Raise window" +msgstr "izdigni prozor" + +#: Settings.ui.h:15 +msgid "Minimize window" +msgstr "minimizuj prozor" + +#: Settings.ui.h:16 +msgid "Launch new instance" +msgstr "pokreni novi primerak" + +#: Settings.ui.h:17 +msgid "Cycle through windows" +msgstr "kruženje kroz prozore" + +#: Settings.ui.h:18 +msgid "Minimize or overview" +msgstr "minimiuj ili pregled" + +#: Settings.ui.h:19 +msgid "Show window previews" +msgstr "prikaži sličice prozora" + +#: Settings.ui.h:20 +msgid "Quit" +msgstr "napusti" + +#: Settings.ui.h:21 +msgid "Behavior for Middle-Click." +msgstr "Ponašanje srednjeg klika." + +#: Settings.ui.h:22 +msgid "Middle-Click action" +msgstr "Radnja srednjeg klika" + +#: Settings.ui.h:23 +msgid "Behavior for Shift+Middle-Click." +msgstr "Ponašanje šift+srednjeg klika." + +#: Settings.ui.h:24 +msgid "Shift+Middle-Click action" +msgstr "Radnja šift+srednjegklika" + +#: Settings.ui.h:25 +msgid "Show the dock on" +msgstr "Prikaži dok na" + +#: Settings.ui.h:26 +msgid "Show on all monitors." +msgstr "Prikaži na svim monitorima." + +#: Settings.ui.h:27 +msgid "Position on screen" +msgstr "Pozicija na ekranu" + +#: Settings.ui.h:29 +msgid "Bottom" +msgstr "dno" + +#: Settings.ui.h:30 +msgid "Top" +msgstr "vrh" + +#: Settings.ui.h:32 +msgid "" +"Hide the dock when it obstructs a window of the current application. More " +"refined settings are available." +msgstr "" +"Sakrij dok kada je na putu prozora trenutnog programa. Dostupne su finije " +"postavke." + +#: Settings.ui.h:33 +msgid "Intelligent autohide" +msgstr "Inteligentno automatsko sakrivanje" + +#: Settings.ui.h:34 +msgid "Dock size limit" +msgstr "Ograničenje veličine doka" + +#: Settings.ui.h:35 +msgid "Panel mode: extend to the screen edge" +msgstr "Režim panela: proširen do ivica ekrana" + +#: Settings.ui.h:36 +msgid "Icon size limit" +msgstr "Ograničenje veličine ikonica" + +#: Settings.ui.h:37 +msgid "Fixed icon size: scroll to reveal other icons" +msgstr "Ustaljena veličina ikonica: klizajte za druge ikone" + +#: Settings.ui.h:38 +msgid "Position and size" +msgstr "Pozicija i veličina" + +#: Settings.ui.h:39 +msgid "Show favorite applications" +msgstr "Prikaz omiljenih programa" + +#: Settings.ui.h:40 +msgid "Show running applications" +msgstr "Prikaz pokrenutih programa" + +#: Settings.ui.h:41 +msgid "Isolate workspaces." +msgstr "Izoluj radne prostore." + +#: Settings.ui.h:42 +msgid "Isolate monitors." +msgstr "Izoluj monitore." + +#: Settings.ui.h:43 +msgid "Show open windows previews." +msgstr "Prikaži sličice otvorenih prozora." + +#: Settings.ui.h:44 +msgid "" +"If disabled, these settings are accessible from gnome-tweak-tool or the " +"extension website." +msgstr "" +"Ukoliko je onemogućeno, ove postavke su dostupne kroz alatku za lickanje ili " +"veb sajt proširenja." + +#: Settings.ui.h:45 +msgid "Show Applications icon" +msgstr "Prikaz ikonice Prikaži programe" + +#: Settings.ui.h:46 +msgid "Move the applications button at the beginning of the dock." +msgstr "Pomeri dugme programa na početak doka." + +#: Settings.ui.h:47 +msgid "Animate Show Applications." +msgstr "Animiraj prikaz programa." + +#: Settings.ui.h:48 +msgid "Launchers" +msgstr "Pokretači" + +#: Settings.ui.h:49 +msgid "" +"Enable Super+(0-9) as shortcuts to activate apps. It can also be used " +"together with Shift and Ctrl." +msgstr "" +"Uključuje Super+(0-9) kao prečice za aktivaciju programa. Takođe je moguće " +"koristiti uz shift i ctrl." + +#: Settings.ui.h:50 +msgid "Use keyboard shortcuts to activate apps" +msgstr "Aktiviraj programe prečicama tastature" + +#: Settings.ui.h:51 +msgid "Behaviour when clicking on the icon of a running application." +msgstr "Ponašanje pri kliku na pokrenuti program." + +#: Settings.ui.h:52 +msgid "Click action" +msgstr "Radnja klika" + +#: Settings.ui.h:54 +msgid "Behaviour when scrolling on the icon of an application." +msgstr "Ponašanje pri klizanju na ikonicu pokrenutog programa." + +#: Settings.ui.h:55 +msgid "Scroll action" +msgstr "Radnja klizanja na ikonicu" + +#: Settings.ui.h:56 +msgid "Do nothing" +msgstr "ništa" + +#: Settings.ui.h:57 +msgid "Switch workspace" +msgstr "prebaci radni prostor" + +#: Settings.ui.h:58 +msgid "Behavior" +msgstr "Ponašanje" + +#: Settings.ui.h:59 +msgid "" +"Few customizations meant to integrate the dock with the default GNOME theme. " +"Alternatively, specific options can be enabled below." +msgstr "" +"Nekoliko postavki namenjenih ugrađivanju doka u osnovnu temu Gnoma. " +"Alternativno, posebne postavke se mogu urediti ispod." + +#: Settings.ui.h:60 +msgid "Use built-in theme" +msgstr "Koristi ugrađenu temu" + +#: Settings.ui.h:61 +msgid "Save space reducing padding and border radius." +msgstr "Čuva prostor sužavanjem popune i opsega ivica." + +#: Settings.ui.h:62 +msgid "Shrink the dash" +msgstr "Skupi ploču" + +#: Settings.ui.h:63 +msgid "Show a dot for each windows of the application." +msgstr "Prikazuje tačku za svaki prozor programa." + +#: Settings.ui.h:64 +msgid "Show windows counter indicators" +msgstr "Prikaz indikatora brojača prozora." + +#: Settings.ui.h:65 +msgid "Set the background color for the dash." +msgstr "Postavi pozadinsku boju ploče." + +#: Settings.ui.h:66 +msgid "Customize the dash color" +msgstr "Prilagodi boju ploče" + +#: Settings.ui.h:67 +msgid "Tune the dash background opacity." +msgstr "Prilagodi prozirnost pozadine ploče." + +#: Settings.ui.h:68 +msgid "Customize opacity" +msgstr "Prilagoćavanje prozirnosti" + +#: Settings.ui.h:69 +msgid "Opacity" +msgstr "Prozirnost" + +#: Settings.ui.h:70 +msgid "Enable Unity7 like glossy backlit items" +msgstr "Uključi pozadinske efekte poput Unity7" + +#: Settings.ui.h:71 +msgid "Force straight corner\n" +msgstr "Nametni ravne uglove\n" + +#: Settings.ui.h:73 +msgid "Appearance" +msgstr "Izgled" + +#: Settings.ui.h:74 +msgid "version: " +msgstr "verzija: " + +#: Settings.ui.h:75 +msgid "Moves the dash out of the overview transforming it in a dock" +msgstr "Pomera ploču iz globalnog prikaza, pretvarajući je u dok" + +#: Settings.ui.h:76 +msgid "Created by" +msgstr "Napravi" + +#: Settings.ui.h:77 +msgid "Webpage" +msgstr "Veb stranica" + +#: Settings.ui.h:78 +msgid "" +"This program comes with ABSOLUTELY NO WARRANTY.\n" +"See the GNU General Public License, version 2 or later for details." +msgstr "" +"Ovaj program se dostavlja BEZ IKAKVIH GARANCIJA.\n" +"Pogledajte GNUovu Opštu Javnu licencu, verzija 2 ili kasnija, za detalje." + +#: Settings.ui.h:80 +msgid "About" +msgstr "O programu" + +#: Settings.ui.h:81 +msgid "Show the dock by mouse hover on the screen edge." +msgstr "Prikaži dok prelazom miša peko ivice ekrana." + +#: Settings.ui.h:82 +msgid "Autohide" +msgstr "Automatsko sakrivanje" + +#: Settings.ui.h:83 +msgid "Push to show: require pressure to show the dock" +msgstr "Prikaz pritiskom: zahteva pritisak za prikaz doka" + +#: Settings.ui.h:84 +msgid "Enable in fullscreen mode" +msgstr "Omogući u celoekranskom režimu" + +#: Settings.ui.h:85 +msgid "Show the dock when it doesn't obstruct application windows." +msgstr "Prikazuje dok kada nije na putu prozorima programa." + +#: Settings.ui.h:86 +msgid "Dodge windows" +msgstr "Izbegavanje rozora" + +#: Settings.ui.h:87 +msgid "All windows" +msgstr "Svi prozori" + +#: Settings.ui.h:88 +msgid "Only focused application's windows" +msgstr "Samo prozor fokusiranog programa" + +#: Settings.ui.h:89 +msgid "Only maximized windows" +msgstr "Samo maksimizovani prozori" + +#: Settings.ui.h:90 +msgid "Animation duration (s)" +msgstr "Trajanje(a) animacije" + +#: Settings.ui.h:91 +msgid "Show timeout (s)" +msgstr "Zastoj prikazivanja" + +#: Settings.ui.h:92 +msgid "Pressure threshold" +msgstr "Prag pritiska" + #~ msgid "CPU" #~ msgstr "Procesor" @@ -369,3 +827,20 @@ msgstr "%d. radni prostor" #~ msgid "Window management and application launching" #~ msgstr "Upravljanje prozorima i pokretanje programa" + +#~ msgid "0.000" +#~ msgstr "0,000" + +#, fuzzy +#~ msgid "" +#~ "With fixed icon size, only the edge of the dock and the Show " +#~ "Applications icon are active." +#~ msgstr "" +#~ "Ako se ikone preklapaju na doku, prikazuje se samo ikona Prikaži " +#~ "programe." + +#~ msgid "Switch workspace by scrolling on the dock" +#~ msgstr "Promena radnog prostora klizanjem po doku" + +#~ msgid "Only consider windows of the focused application" +#~ msgstr "Razmatraj samo prozor fokusiranog programa" diff --git a/po/sv.po b/po/sv.po index 989074aa..2ca88c58 100644 --- a/po/sv.po +++ b/po/sv.po @@ -1,3 +1,4 @@ +# #-#-#-#-# sv.po (gnome-shell-extensions) #-#-#-#-# # Swedish translation for gnome-shell-extensions. # Copyright © 2011-2021 Free Software Foundation, Inc. # This file is distributed under the same license as the gnome-shell-extensions package. @@ -5,8 +6,17 @@ # Mattias Eriksson , 2014. # Anders Jonsson , 2015, 2017, 2019, 2020, 2021. # +# #-#-#-#-# sv.po #-#-#-#-# +# Swedish translation for dash-to-dock. +# Copyright © 2020 dash-to-dock's COPYRIGHT HOLDER +# This file is distributed under the same license as the dash-to-dock package. +# Anders Jonsson , 2016. +# Morgan Antonsson , 2020. +# +#, fuzzy msgid "" msgstr "" +"#-#-#-#-# sv.po (gnome-shell-extensions) #-#-#-#-#\n" "Project-Id-Version: gnome-shell-extensions\n" "Report-Msgid-Bugs-To: https://gitlab.gnome.org/GNOME/gnome-shell-extensions/" "issues\n" @@ -19,6 +29,18 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Generator: Poedit 2.4.2\n" +"#-#-#-#-# sv.po #-#-#-#-#\n" +"Project-Id-Version: \n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2020-08-03 19:27+0200\n" +"PO-Revision-Date: 2020-08-03 19:41+0200\n" +"Last-Translator: Morgan Antonsson \n" +"Language-Team: \n" +"Language: sv\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Poedit 2.3\n" #: data/gnome-classic.desktop.in:3 msgid "GNOME Classic" @@ -152,7 +174,7 @@ msgstr "Stäng" msgid "Unminimize" msgstr "Avminimera" -#: extensions/window-list/extension.js:118 +#: extensions/window-list/extension.js:118 Settings.ui.h:52 msgid "Minimize" msgstr "Minimera" @@ -259,3 +281,525 @@ msgstr "Arbetsyta %d" #: extensions/workspace-indicator/prefs.js:218 msgid "Add Workspace" msgstr "Lägg till arbetsyta" + +#: prefs.js:268 +msgid "Primary monitor" +msgstr "Primär skärm" + +#: prefs.js:277 prefs.js:284 +msgid "Secondary monitor " +msgstr "Sekundär skärm " + +#: prefs.js:309 Settings.ui.h:28 +msgid "Right" +msgstr "Höger" + +#: prefs.js:310 Settings.ui.h:25 +msgid "Left" +msgstr "Vänster" + +#: prefs.js:360 +msgid "Intelligent autohide customization" +msgstr "Anpassning av intelligent automatiskt döljande" + +#: prefs.js:367 prefs.js:560 prefs.js:616 +msgid "Reset to defaults" +msgstr "Återställ till standardvärden" + +#: prefs.js:553 +msgid "Show dock and application numbers" +msgstr "Visa docka och programnummer" + +#: prefs.js:609 +msgid "Customize middle-click behavior" +msgstr "Anpassa mellanklicksbeteende" + +#: prefs.js:692 +msgid "Customize running indicators" +msgstr "Anpassa körningsindikatorer" + +#: prefs.js:804 Settings.ui.h:74 +msgid "Customize opacity" +msgstr "Anpassa opacitet" + +#: appIcons.js:797 +msgid "All Windows" +msgstr "Alla fönster" + +#: appIcons.js:916 +#, javascript-format +msgid "Quit %d Windows" +msgstr "Stäng %d fönster" + +#. Translators: %s is "Settings", which is automatically translated. You +#. can also translate the full message if this fits better your language. +#: appIcons.js:1134 +#, javascript-format +msgid "Dash to Dock %s" +msgstr "%s för Dash to Dock" + +#: locations.js:80 +msgid "Trash" +msgstr "Papperskorg" + +#: locations.js:89 +msgid "Empty Trash" +msgstr "Töm papperskorgen" + +#: locations.js:207 +msgid "Mount" +msgstr "Montera" + +#: locations.js:250 +msgid "Eject" +msgstr "Mata ut" + +#: locations.js:255 +msgid "Unmount" +msgstr "Avmontera" + +#: Settings.ui.h:1 +msgid "" +"When set to minimize, double clicking minimizes all the windows of the " +"application." +msgstr "" +"Då inställd till minimera så minimerar dubbelklick alla fönster för " +"programmet." + +#: Settings.ui.h:2 +msgid "Shift+Click action" +msgstr "Skift+klick-åtgärd" + +#: Settings.ui.h:3 +msgid "Raise window" +msgstr "Höj fönster" + +#: Settings.ui.h:4 +msgid "Minimize window" +msgstr "Minimera fönster" + +#: Settings.ui.h:5 +msgid "Launch new instance" +msgstr "Starta ny instans" + +#: Settings.ui.h:6 +msgid "Cycle through windows" +msgstr "Växla mellan fönster" + +#: Settings.ui.h:7 +msgid "Minimize or overview" +msgstr "Minimera eller visa översikt" + +#: Settings.ui.h:8 +msgid "Show window previews" +msgstr "Visa förhandsgranskningar av fönster" + +#: Settings.ui.h:9 +msgid "Minimize or show previews" +msgstr "Minimera eller visa förhandsgranskningar" + +#: Settings.ui.h:10 +msgid "Focus or show previews" +msgstr "Fokusera eller visa förhandsgranskningar" + +#: Settings.ui.h:11 +msgid "Quit" +msgstr "Avsluta" + +#: Settings.ui.h:12 +msgid "Behavior for Middle-Click." +msgstr "Beteende för mellanklick." + +#: Settings.ui.h:13 +msgid "Middle-Click action" +msgstr "Åtgärd för mellanklick" + +#: Settings.ui.h:14 +msgid "Behavior for Shift+Middle-Click." +msgstr "Beteende för skift+mellanklick." + +#: Settings.ui.h:15 +msgid "Shift+Middle-Click action" +msgstr "Åtgärd för skift+mellanklick" + +#: Settings.ui.h:16 +msgid "Enable Unity7 like glossy backlit items" +msgstr "Aktivera bakgrundsbelysta blanka knappar" + +#: Settings.ui.h:17 +msgid "Use dominant color" +msgstr "Använd dominerande färg" + +#: Settings.ui.h:18 +msgid "Customize indicator style" +msgstr "Anpassa indikatorstil" + +#: Settings.ui.h:19 +msgid "Color" +msgstr "Färg" + +#: Settings.ui.h:20 +msgid "Border color" +msgstr "Kantfärg" + +#: Settings.ui.h:21 +msgid "Border width" +msgstr "Kantbredd" + +#: Settings.ui.h:22 +msgid "Show the dock on" +msgstr "Visa dockan på" + +#: Settings.ui.h:23 +msgid "Show on all monitors." +msgstr "Visa på alla skärmar." + +#: Settings.ui.h:24 +msgid "Position on screen" +msgstr "Position på skärmen" + +#: Settings.ui.h:26 +msgid "Bottom" +msgstr "Nederkant" + +#: Settings.ui.h:27 +msgid "Top" +msgstr "Överkant" + +#: Settings.ui.h:29 +msgid "" +"Hide the dock when it obstructs a window of the current application. More " +"refined settings are available." +msgstr "" +"Dölj dockan då den är i vägen för ett fönster för det aktuella programmet. " +"Mer förfinade inställningar finns tillgängliga." + +#: Settings.ui.h:30 +msgid "Intelligent autohide" +msgstr "Intelligent automatiskt döljande" + +#: Settings.ui.h:31 +msgid "Dock size limit" +msgstr "Storleksgräns för docka" + +#: Settings.ui.h:32 +msgid "Panel mode: extend to the screen edge" +msgstr "Panelläge: sträck ut till skärmkanten" + +#: Settings.ui.h:33 +msgid "Icon size limit" +msgstr "Storleksgräns för ikoner" + +#: Settings.ui.h:34 +msgid "Fixed icon size: scroll to reveal other icons" +msgstr "Fast ikonstorlek: rulla för att visa dolda ikoner" + +#: Settings.ui.h:35 +msgid "Position and size" +msgstr "Position och storlek" + +#: Settings.ui.h:36 +msgid "Show favorite applications" +msgstr "Visa favoritprogram" + +#: Settings.ui.h:37 +msgid "Show running applications" +msgstr "Visa körande program" + +#: Settings.ui.h:38 +msgid "Isolate workspaces." +msgstr "Visa endast arbetsytans fönster." + +#: Settings.ui.h:39 +msgid "Isolate monitors." +msgstr "Visa endast skärmens fönster." + +#: Settings.ui.h:40 +msgid "Show open windows previews." +msgstr "Visa förhandsgranskningar av öppna fönster." + +#: Settings.ui.h:41 +msgid "" +"If disabled, these settings are accessible from gnome-tweak-tool or the " +"extension website." +msgstr "" +"Om inaktiverad är dessa inställningar tillgängliga från justeringsverktyg " +"eller webbplatsen för utökningar." + +#: Settings.ui.h:42 +msgid "Show Applications icon" +msgstr "Visa Program-ikon" + +#: Settings.ui.h:43 +msgid "Move the applications button at the beginning of the dock." +msgstr "Flytta programknappen till början av dockan." + +#: Settings.ui.h:44 +msgid "Animate Show Applications." +msgstr "Animera Visa program." + +#: Settings.ui.h:45 +msgid "Show trash can" +msgstr "Visa papperskorgen" + +#: Settings.ui.h:46 +msgid "Show mounted volumes and devices" +msgstr "Visa monterade volymer och enheter" + +#: Settings.ui.h:47 +msgid "Launchers" +msgstr "Programstartare" + +#: Settings.ui.h:48 +msgid "" +"Enable Super+(0-9) as shortcuts to activate apps. It can also be used " +"together with Shift and Ctrl." +msgstr "" +"Använd Super+(0-9) som tangentbordsgenvägar för att aktivera program. De kan " +"även användas tillsammans med skift- och ctrl-tangenterna." + +#: Settings.ui.h:49 +msgid "Use keyboard shortcuts to activate apps" +msgstr "Använd tangentbordsgenvägar för att aktivera program" + +#: Settings.ui.h:50 +msgid "Behaviour when clicking on the icon of a running application." +msgstr "Beteende då ikonen för ett körande program klickas." + +#: Settings.ui.h:51 +msgid "Click action" +msgstr "Klickåtgärd" + +#: Settings.ui.h:53 +msgid "Behaviour when scrolling on the icon of an application." +msgstr "Beteende vid rullning över programikon." + +#: Settings.ui.h:54 +msgid "Scroll action" +msgstr "Rullåtgärd" + +#: Settings.ui.h:55 +msgid "Do nothing" +msgstr "Gör ingenting" + +#: Settings.ui.h:56 +msgid "Switch workspace" +msgstr "Byt arbetsyta" + +#: Settings.ui.h:57 +msgid "Behavior" +msgstr "Beteende" + +#: Settings.ui.h:58 +msgid "" +"Few customizations meant to integrate the dock with the default GNOME theme. " +"Alternatively, specific options can be enabled below." +msgstr "" +"Några anpassningar för att integrera dockan med GNOME:s standardtema. " +"Alternativt kan specifika alternativ aktiveras nedan." + +#: Settings.ui.h:59 +msgid "Use built-in theme" +msgstr "Använd inbyggt tema" + +#: Settings.ui.h:60 +msgid "Save space reducing padding and border radius." +msgstr "Spara utrymme genom att minska utfyllnad och kantradie." + +#: Settings.ui.h:61 +msgid "Shrink the dash" +msgstr "Krymp snabbstartspanelen" + +#: Settings.ui.h:62 +msgid "Customize windows counter indicators" +msgstr "Anpassa räknare för öppna fönster" + +#: Settings.ui.h:63 +msgid "Default" +msgstr "Standard" + +#: Settings.ui.h:64 +msgid "Dots" +msgstr "Prickar" + +#: Settings.ui.h:65 +msgid "Squares" +msgstr "Kvadrater" + +#: Settings.ui.h:66 +msgid "Dashes" +msgstr "Streck" + +#: Settings.ui.h:67 +msgid "Segmented" +msgstr "Segment" + +#: Settings.ui.h:68 +msgid "Solid" +msgstr "Solid" + +#: Settings.ui.h:69 +msgid "Ciliora" +msgstr "Ciliora" + +#: Settings.ui.h:70 +msgid "Metro" +msgstr "Metro" + +#: Settings.ui.h:71 +msgid "Set the background color for the dash." +msgstr "Ställ in bakgrundsfärg för snabbstartspanelen." + +#: Settings.ui.h:72 +msgid "Customize the dash color" +msgstr "Anpassa färgen för snabbstartspanelen" + +#: Settings.ui.h:73 +msgid "Tune the dash background opacity." +msgstr "Justera opacitet för bakgrunden till snabbstartspanelen." + +#: Settings.ui.h:75 +msgid "Fixed" +msgstr "Fast" + +#: Settings.ui.h:76 +msgid "Dynamic" +msgstr "Dynamisk" + +#: Settings.ui.h:77 +msgid "Opacity" +msgstr "Opacitet" + +#: Settings.ui.h:78 +msgid "Force straight corner" +msgstr "Tvinga räta hörn" + +#: Settings.ui.h:79 +msgid "Appearance" +msgstr "Utseende" + +#: Settings.ui.h:80 +msgid "version: " +msgstr "version: " + +#: Settings.ui.h:81 +msgid "Moves the dash out of the overview transforming it in a dock" +msgstr "" +"Flyttar snabbstartspanelen från översiktsvyn och förvandlar den till en docka" + +#: Settings.ui.h:82 +msgid "Created by" +msgstr "Skapat av" + +#: Settings.ui.h:83 +msgid "Webpage" +msgstr "Webbsida" + +#: Settings.ui.h:84 +msgid "" +"This program comes with ABSOLUTELY NO WARRANTY.\n" +"See the GNU General Public License, version 2 or later for details." +msgstr "" +"Detta program kommer HELT UTAN GARANTI.\n" +"Se GNU " +"General Public License, version 2 eller senare för detaljer." + +#: Settings.ui.h:86 +msgid "About" +msgstr "Om" + +#: Settings.ui.h:87 +msgid "Customize minimum and maximum opacity values" +msgstr "Anpassa minsta och högsta värden för opacitet" + +#: Settings.ui.h:88 +msgid "Minimum opacity" +msgstr "Minsta opacitet" + +#: Settings.ui.h:89 +msgid "Maximum opacity" +msgstr "Högsta opacitet" + +#: Settings.ui.h:90 +msgid "Number overlay" +msgstr "Nummermarkeringar" + +#: Settings.ui.h:91 +msgid "" +"Temporarily show the application numbers over the icons, corresponding to " +"the shortcut." +msgstr "" +"Visa tillfälligt programmens tangentbordsgenvägsnummer ovanpå dess ikoner." + +#: Settings.ui.h:92 +msgid "Show the dock if it is hidden" +msgstr "Visa dockan om den är dold" + +#: Settings.ui.h:93 +msgid "" +"If using autohide, the dock will appear for a short time when triggering the " +"shortcut." +msgstr "" +"Om automatiskt döljande är aktiverat kommer dockan att synas tillfälligt när " +"tangentbordsgenvägen triggas." + +#: Settings.ui.h:94 +msgid "Shortcut for the options above" +msgstr "Tangentbordsgenväg för alternativen ovan" + +#: Settings.ui.h:95 +msgid "Syntax: , , , " +msgstr "Syntax: , , , " + +#: Settings.ui.h:96 +msgid "Hide timeout (s)" +msgstr "Tidsgräns för att dölja (s)" + +#: Settings.ui.h:97 +msgid "Show the dock by mouse hover on the screen edge." +msgstr "Visa dockan genom att flytta muspekaren till skärmkanten." + +#: Settings.ui.h:98 +msgid "Autohide" +msgstr "Dölj automatiskt" + +#: Settings.ui.h:99 +msgid "Push to show: require pressure to show the dock" +msgstr "Tryck för att visa: kräv tryck för att visa dockan" + +#: Settings.ui.h:100 +msgid "Enable in fullscreen mode" +msgstr "Aktivera i helskärmsläge" + +#: Settings.ui.h:101 +msgid "Show the dock when it doesn't obstruct application windows." +msgstr "Visa dockan då den inte är i vägen för programfönster." + +#: Settings.ui.h:102 +msgid "Dodge windows" +msgstr "Undvik fönster" + +#: Settings.ui.h:103 +msgid "All windows" +msgstr "Alla fönster" + +#: Settings.ui.h:104 +msgid "Only focused application's windows" +msgstr "Endast fokuserade programs fönster" + +#: Settings.ui.h:105 +msgid "Only maximized windows" +msgstr "Endast maximerade fönster" + +#: Settings.ui.h:106 +msgid "Animation duration (s)" +msgstr "Animationens varaktighet (s)" + +#: Settings.ui.h:107 +msgid "Show timeout (s)" +msgstr "Tidsgräns för att visa (s)" + +#: Settings.ui.h:108 +msgid "Pressure threshold" +msgstr "Tröskelvärde för tryck" diff --git a/po/tr.po b/po/tr.po index 0a5f7459..38bbc7b6 100644 --- a/po/tr.po +++ b/po/tr.po @@ -1,3 +1,4 @@ +# #-#-#-#-# tr.po (gnome-shell-extensions master) #-#-#-#-# # Turkish translation for gnome-shell-extensions. # Copyright (C) 2012-2019 gnome-shell-extensions's COPYRIGHT HOLDER # This file is distributed under the same license as the gnome-shell-extensions package. @@ -9,8 +10,23 @@ # Sabri Ünal , 2014, 2019. # Emin Tufan Çetin , 2019, 2020. # +# #-#-#-#-# tr.po (dash-to-dock master) #-#-#-#-# +# Turkish translation for dash-to-dock GNOME shell extension. +# Copyright (C) 2015-2019, dash-to-dock'S COPYRIGHT HOLDER +# This file is distributed under the same license as the dash-to-dock package. +# +# Mustafa Akgün , 2015. +# Çağatay Yiğit Şahin , 2016. +# Serdar Sağlam , 2018, 2019. +# Sabri Ünal , 2019. +# +# Note for all turkish translators: +# Lütfen GNOME Shell çevirileri ile uyumlu çevirmeye gayret edelim. +# +#, fuzzy msgid "" msgstr "" +"#-#-#-#-# tr.po (gnome-shell-extensions master) #-#-#-#-#\n" "Project-Id-Version: gnome-shell-extensions master\n" "Report-Msgid-Bugs-To: https://gitlab.gnome.org/GNOME/gnome-shell-extensions/" "issues\n" @@ -24,6 +40,19 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=1; plural=0;\n" "X-Generator: Poedit 2.2.3\n" +"#-#-#-#-# tr.po (dash-to-dock master) #-#-#-#-#\n" +"Project-Id-Version: dash-to-dock master\n" +"Report-Msgid-Bugs-To: https://github.com/micheleg/dash-to-dock\n" +"POT-Creation-Date: 2019-10-13 08:54+0300\n" +"PO-Revision-Date: 2019-11-11 17:21+0300\n" +"Last-Translator: Sabri Ünal \n" +"Language-Team: \n" +"Language: tr\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.0.6\n" #: data/gnome-classic.desktop.in:3 data/gnome-classic.session.desktop.in:3 msgid "GNOME Classic" @@ -158,9 +187,14 @@ msgstr "Kapat" msgid "Unminimize" msgstr "Önceki duruma getir" -#: extensions/window-list/extension.js:118 +#: extensions/window-list/extension.js:118 Settings.ui.h:52 +#, fuzzy msgid "Minimize" -msgstr "Simge durumuna küçült" +msgstr "" +"#-#-#-#-# tr.po (gnome-shell-extensions master) #-#-#-#-#\n" +"Simge durumuna küçült\n" +"#-#-#-#-# tr.po (dash-to-dock master) #-#-#-#-#\n" +"Küçült" #: extensions/window-list/extension.js:125 msgid "Unmaximize" @@ -268,6 +302,519 @@ msgstr "Çalışma Alanı %d" msgid "Add Workspace" msgstr "Çalışma Alanı Ekle" +#: prefs.js:264 +msgid "Primary monitor" +msgstr "Ana ekran" + +#: prefs.js:273 prefs.js:280 +msgid "Secondary monitor " +msgstr "İkincil ekran " + +#: prefs.js:305 Settings.ui.h:28 +msgid "Right" +msgstr "Sağ" + +#: prefs.js:306 Settings.ui.h:25 +msgid "Left" +msgstr "Sol" + +#: prefs.js:356 +msgid "Intelligent autohide customization" +msgstr "Akıllı otomatik gizleme özelleştirmeleri" + +#: prefs.js:363 prefs.js:556 prefs.js:612 +msgid "Reset to defaults" +msgstr "Varsayılan ayarlara dön" + +#: prefs.js:549 +msgid "Show dock and application numbers" +msgstr "Rıhtımı ve uygulama sayılarını göster" + +#: prefs.js:605 +msgid "Customize middle-click behavior" +msgstr "Orta tık davranışını özelleştir" + +#: prefs.js:688 +msgid "Customize running indicators" +msgstr "Çalışan göstergeleri özelleştir" + +#: prefs.js:800 Settings.ui.h:74 +msgid "Customize opacity" +msgstr "Matlığı özelleştir" + +#: appIcons.js:809 +msgid "All Windows" +msgstr "Tüm Pencereler" + +# %s değişkeni Ayarlar olarak çevrildiği için, bir ı harfi ekleyerek Türkçeye uyumlu hale getiriyoruz. +#. Translators: %s is "Settings", which is automatically translated. You +#. can also translate the full message if this fits better your language. +#: appIcons.js:1126 +#, javascript-format +msgid "Dash to Dock %s" +msgstr "Dash to Dock %sı" + +#: Settings.ui.h:1 +msgid "" +"When set to minimize, double clicking minimizes all the windows of the " +"application." +msgstr "" +"Küçültmeye ayarlandığında, çift tıklamak uygulamanın tüm pencerelerini " +"küçültür." + +#: Settings.ui.h:2 +msgid "Shift+Click action" +msgstr "Shift + Tıklama eylemi" + +# Tweak ayarlarında raise için öne çıkar kullanılmış +#: Settings.ui.h:3 +msgid "Raise window" +msgstr "Pencereyi büyüt" + +#: Settings.ui.h:4 +msgid "Minimize window" +msgstr "Pencereyi küçült" + +#: Settings.ui.h:5 +msgid "Launch new instance" +msgstr "Yeni uygulama örneği başlat" + +#: Settings.ui.h:6 +msgid "Cycle through windows" +msgstr "Pencere döngüsü" + +#: Settings.ui.h:7 +msgid "Minimize or overview" +msgstr "Küçült yada genel bakış" + +#: Settings.ui.h:8 +msgid "Show window previews" +msgstr "Pencere önizlemelerini göster" + +#: Settings.ui.h:9 +msgid "Minimize or show previews" +msgstr "Küçült yada önizlemeleri göster" + +#: Settings.ui.h:10 +msgid "Focus or show previews" +msgstr "Odaklan veya önizlemeleri göster" + +#: Settings.ui.h:11 +msgid "Quit" +msgstr "Çık" + +#: Settings.ui.h:12 +msgid "Behavior for Middle-Click." +msgstr "Orta Tıklama davranışı." + +#: Settings.ui.h:13 +msgid "Middle-Click action" +msgstr "Orta Tıklama eylemi" + +#: Settings.ui.h:14 +msgid "Behavior for Shift+Middle-Click." +msgstr "Shift + Orta Tıklama davranışı." + +#: Settings.ui.h:15 +msgid "Shift+Middle-Click action" +msgstr "Shift + Orta Tıklama eylemi" + +# glossy backlit için serbest çeviri yapıldı +#: Settings.ui.h:16 +msgid "Enable Unity7 like glossy backlit items" +msgstr "Unity7 tipi parlak öğeleri etkinleştir" + +#: Settings.ui.h:17 +msgid "Use dominant color" +msgstr "Baskın rengi kullan" + +#: Settings.ui.h:18 +msgid "Customize indicator style" +msgstr "Gösterge biçemini özelleştir" + +#: Settings.ui.h:19 +msgid "Color" +msgstr "Renk" + +#: Settings.ui.h:20 +msgid "Border color" +msgstr "Kenarlık rengi" + +#: Settings.ui.h:21 +msgid "Border width" +msgstr "Kenarlık genişliği" + +#: Settings.ui.h:22 +msgid "Show the dock on" +msgstr "Rıhtım'ı göster" + +#: Settings.ui.h:23 +msgid "Show on all monitors." +msgstr "Tüm ekranlarda göster." + +#: Settings.ui.h:24 +msgid "Position on screen" +msgstr "Ekrandaki konumu" + +#: Settings.ui.h:26 +msgid "Bottom" +msgstr "Alt" + +#: Settings.ui.h:27 +msgid "Top" +msgstr "Üst" + +#: Settings.ui.h:29 +msgid "" +"Hide the dock when it obstructs a window of the current application. More " +"refined settings are available." +msgstr "" +"Geçerli uygulamanın penceresini engellediğinde rıhtımı gizle. Daha detaylı " +"ayarlar mevcuttur." + +#: Settings.ui.h:30 +msgid "Intelligent autohide" +msgstr "Akıllı gizleme" + +# son limit cümlesi kasten çevrilmedi +#: Settings.ui.h:31 +msgid "Dock size limit" +msgstr "Rıhtım boyutu" + +#: Settings.ui.h:32 +msgid "Panel mode: extend to the screen edge" +msgstr "Panel kipi: Ekran köşelerine genişlet" + +# son limit cümlesi kasten çevrilmedi +#: Settings.ui.h:33 +msgid "Icon size limit" +msgstr "Simge boyutu" + +#: Settings.ui.h:34 +msgid "Fixed icon size: scroll to reveal other icons" +msgstr "Sabit simge boyutu: Diğer simgeleri görmek için kaydır" + +#: Settings.ui.h:35 +msgid "Position and size" +msgstr "Konum ve boyut" + +#: Settings.ui.h:36 +msgid "Show favorite applications" +msgstr "Sık kullanılan uygulamaları göster" + +#: Settings.ui.h:37 +msgid "Show running applications" +msgstr "Çalışan uygulamaları göster" + +#: Settings.ui.h:38 +msgid "Isolate workspaces." +msgstr "Çalışma alanlarını ayır." + +#: Settings.ui.h:39 +msgid "Isolate monitors." +msgstr "Ekranları ayır." + +#: Settings.ui.h:40 +msgid "Show open windows previews." +msgstr "Açık pencere önizlemelerini göster." + +# Anlamlı ve açıklayıcı olması için ilave değerler eklendi +#: Settings.ui.h:41 +msgid "" +"If disabled, these settings are accessible from gnome-tweak-tool or the " +"extension website." +msgstr "" +"Eğer kapatılmışsa, bu ayarlara GNOME İnce Ayarlar (gnome-tweak-tool) " +"uygulamasından veya GNOME eklentileri (https://extensions.gnome.org) " +"sitesinden ulaşılabilir." + +#: Settings.ui.h:42 +msgid "Show Applications icon" +msgstr "Uygulamalar simgesini göster" + +#: Settings.ui.h:43 +msgid "Move the applications button at the beginning of the dock." +msgstr "Uygulamalar simgesini rıhtım'ın başlangıcına taşı." + +#: Settings.ui.h:44 +msgid "Animate Show Applications." +msgstr "Uygulamalar açılırken canlandırma göster." + +#: Settings.ui.h:45 +msgid "Show trash can" +msgstr "Çöp kutusunu göster" + +#: Settings.ui.h:46 +msgid "Show mounted volumes and devices" +msgstr "Bağlı birimleri ve aygıtları göster" + +#: Settings.ui.h:47 +msgid "Launchers" +msgstr "Başlatıcılar" + +#: Settings.ui.h:48 +msgid "" +"Enable Super+(0-9) as shortcuts to activate apps. It can also be used " +"together with Shift and Ctrl." +msgstr "" +"Uygulamaları etkinleştirmek için Super+(0-9) seçeneğini kısayol olarak " +"etkinleştir. Ayrıca Shift ve Ctrl ile birlikte de kullanılabilir." + +#: Settings.ui.h:49 +msgid "Use keyboard shortcuts to activate apps" +msgstr "Uygulamaları etkinleştirmek için klavye kısayollarını kullan" + +#: Settings.ui.h:50 +msgid "Behaviour when clicking on the icon of a running application." +msgstr "Çalışan bir uygulamanın simgesine tıklandığındaki davranışı." + +#: Settings.ui.h:51 +msgid "Click action" +msgstr "Tıklama eylemi" + +#: Settings.ui.h:53 +msgid "Behaviour when scrolling on the icon of an application." +msgstr "Bir uygulamanın simgesini kaydırdığınızdaki davranışı." + +#: Settings.ui.h:54 +msgid "Scroll action" +msgstr "Kaydırma eylemi" + +#: Settings.ui.h:55 +msgid "Do nothing" +msgstr "Hiçbir şey yapma" + +#: Settings.ui.h:56 +msgid "Switch workspace" +msgstr "Çalışma alanını değiştir" + +#: Settings.ui.h:57 +msgid "Behavior" +msgstr "Davranış" + +# Çeviri yapmak yerine, Türkçe'de anlamlı, konuma uyumlu özgün metin oluşturuldu. +#: Settings.ui.h:58 +msgid "" +"Few customizations meant to integrate the dock with the default GNOME theme. " +"Alternatively, specific options can be enabled below." +msgstr "" +"Sistemde bulunan etkin GNOME teması kullanılır ve rıhtım ona göre " +"şekillenir. Özelleştirmek isterseniz bu menüyü kapatın." + +#: Settings.ui.h:59 +msgid "Use built-in theme" +msgstr "Yerleşik temayı kullan" + +#: Settings.ui.h:60 +msgid "Save space reducing padding and border radius." +msgstr "Dolgu ve kenarlığı azaltarak yer kazan." + +# Shrink için genelde küçült çevirisini kullanıyoruz ama, +# anlamlı ve eylemle uyumlu olduğu için daralt çevirisi kullanıldı +#: Settings.ui.h:61 +msgid "Shrink the dash" +msgstr "Paneli daralt" + +#: Settings.ui.h:62 +msgid "Customize windows counter indicators" +msgstr "Pencere sayı göstergelerini özelleştir" + +#: Settings.ui.h:63 +msgid "Default" +msgstr "Varsayılan" + +#: Settings.ui.h:64 +msgid "Dots" +msgstr "Noktalar" + +#: Settings.ui.h:65 +msgid "Squares" +msgstr "Kareler" + +#: Settings.ui.h:66 +msgid "Dashes" +msgstr "Tireler" + +#: Settings.ui.h:67 +msgid "Segmented" +msgstr "Segmentler" + +#: Settings.ui.h:68 +msgid "Solid" +msgstr "Kalın çizgi" + +#: Settings.ui.h:69 +msgid "Ciliora" +msgstr "Nokta ve çizgi" + +#: Settings.ui.h:70 +msgid "Metro" +msgstr "Metro" + +#: Settings.ui.h:71 +msgid "Set the background color for the dash." +msgstr "Panel arkaplan rengini ayarla." + +#: Settings.ui.h:72 +msgid "Customize the dash color" +msgstr "Panel rengini özelleştir" + +#: Settings.ui.h:73 +msgid "Tune the dash background opacity." +msgstr "Panel arkaplan matlığını ayarla." + +#: Settings.ui.h:75 +msgid "Fixed" +msgstr "Sabit" + +#: Settings.ui.h:76 +msgid "Dynamic" +msgstr "Dinamik" + +#: Settings.ui.h:77 +msgid "Opacity" +msgstr "Matlık" + +# Daha anlaşılır olması için serbest çeviri yapıldı +#: Settings.ui.h:78 +msgid "Force straight corner\n" +msgstr "Köşeleri düzleştir\n" + +#: Settings.ui.h:80 +msgid "Appearance" +msgstr "Görünüm" + +#: Settings.ui.h:81 +msgid "version: " +msgstr "sürüm: " + +#: Settings.ui.h:82 +msgid "Moves the dash out of the overview transforming it in a dock" +msgstr "Paneli genel görünümden taşır ve rıhtıma dönüştürür" + +# Çeviri anlamlı olması için : eklendi +#: Settings.ui.h:83 +msgid "Created by" +msgstr "Oluşturan:" + +#: Settings.ui.h:84 +msgid "Webpage" +msgstr "Web sitesi" + +#: Settings.ui.h:85 +msgid "" +"This program comes with ABSOLUTELY NO WARRANTY.\n" +"See the GNU General Public License, version 2 or later for details." +msgstr "" +"Bu program kesinlikle hiçbir garanti vermiyor..\n" +"Ayrıntılar için GNU Genel Kamu Lisansı, sürüm 2 veya üstü bağlantısına bakın" + +#: Settings.ui.h:87 +msgid "About" +msgstr "Hakkında" + +# minimum and maximum değerleri çevrilmedi +#: Settings.ui.h:88 +msgid "Customize minimum and maximum opacity values" +msgstr "Matlık değerlerini özelleştir" + +#: Settings.ui.h:89 +msgid "Minimum opacity" +msgstr "Asgari matlık" + +#: Settings.ui.h:90 +msgid "Maximum opacity" +msgstr "Azami matlık" + +#: Settings.ui.h:91 +msgid "Number overlay" +msgstr "Sayı yerleşimi" + +#: Settings.ui.h:92 +msgid "" +"Temporarily show the application numbers over the icons, corresponding to " +"the shortcut." +msgstr "" +"Uygulama numaralarını, karşılık gelen simgelere göre geçici olarak göster " +"kısayol." + +#: Settings.ui.h:93 +msgid "Show the dock if it is hidden" +msgstr "Gizlenmişse rıhtım'ı göster" + +#: Settings.ui.h:94 +msgid "" +"If using autohide, the dock will appear for a short time when triggering the " +"shortcut." +msgstr "" +"Otomatik gizleme kullanıyorsanız, kısayol tetiklendiğinde rıhtım kısa bir " +"süre için görünür." + +#: Settings.ui.h:95 +msgid "Shortcut for the options above" +msgstr "Yukarıdaki seçenekler için kısayol" + +#: Settings.ui.h:96 +msgid "Syntax: , , , " +msgstr "Sözdizimi: , , , " + +#: Settings.ui.h:97 +msgid "Hide timeout (s)" +msgstr "Gizleme zaman aşımı (s)" + +#: Settings.ui.h:98 +msgid "Show the dock by mouse hover on the screen edge." +msgstr "Fare ekran köşeleri üzerindeyken rıhtım'ı göster." + +#: Settings.ui.h:99 +msgid "Autohide" +msgstr "Otomatik gizle" + +# Anlaşılması kolay olsun diye, pressure burada etki olarak çevrilmiştir +#: Settings.ui.h:100 +msgid "Push to show: require pressure to show the dock" +msgstr "Göstermek için it: Rıhtım'ın gösterilmesi için etki gerekir" + +#: Settings.ui.h:101 +msgid "Enable in fullscreen mode" +msgstr "Tam ekran kipinde etkinleştir" + +#: Settings.ui.h:102 +msgid "Show the dock when it doesn't obstruct application windows." +msgstr "Uygulama penceresine engel olmadığında rıhtımı göster." + +#: Settings.ui.h:103 +msgid "Dodge windows" +msgstr "Pencelereleri atlat" + +#: Settings.ui.h:104 +msgid "All windows" +msgstr "Tüm pencereler" + +#: Settings.ui.h:105 +msgid "Only focused application's windows" +msgstr "Sadece odaklanılan uygulamanın pencereleri" + +#: Settings.ui.h:106 +msgid "Only maximized windows" +msgstr "Sadece büyütülen pencereler" + +#: Settings.ui.h:107 +msgid "Animation duration (s)" +msgstr "Canlandırma süresi (s)" + +#: Settings.ui.h:108 +msgid "Show timeout (s)" +msgstr "Gösterim zaman aşımı (s)" + +# Anlaşılması kolay olsun diye, pressure burada etki olarak çevrilmiştir +#: Settings.ui.h:109 +msgid "Pressure threshold" +msgstr "Etki eşiği" + #~ msgid "Application" #~ msgstr "Uygulama" @@ -353,3 +900,6 @@ msgstr "Çalışma Alanı Ekle" #~ msgid "Memory" #~ msgstr "Bellek" + +#~ msgid "Adaptive" +#~ msgstr "Uyarlanır" diff --git a/po/zh_CN.po b/po/zh_CN.po index feb1bff9..338e86ed 100644 --- a/po/zh_CN.po +++ b/po/zh_CN.po @@ -1,3 +1,4 @@ +# #-#-#-#-# zh_CN.po (gnome-shell-extensions master) #-#-#-#-# # Chinese (China) translation for gnome-shell-extensions. # Copyright (C) 2011-2019 gnome-shell-extensions's authors and contributors # This file is distributed under the same license as the gnome-shell-extensions package. @@ -8,8 +9,18 @@ # Mingcong Bai , 2017. # Dingzhong Chen , 2019. # +# #-#-#-#-# zh_CN.po (Dash to Dock) #-#-#-#-# +# Simplified Chinese translation of dash-to-dock +# Copyright (C) 2013 tuhaihe +# This file is distributed under the same license as the dash-to-dock package. +# tuhaihe <1132321739qq@gmail.com>, 2013. +# 绿色圣光 , 2015, 2016, 2017. +# zhmars <1403122061@qq.com>, 2019, 2020. +# +#, fuzzy msgid "" msgstr "" +"#-#-#-#-# zh_CN.po (gnome-shell-extensions master) #-#-#-#-#\n" "Project-Id-Version: gnome-shell-extensions master\n" "Report-Msgid-Bugs-To: https://gitlab.gnome.org/GNOME/gnome-shell-extensions/" "issues\n" @@ -23,6 +34,19 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "X-Generator: Poedit 2.3.1\n" "Plural-Forms: nplurals=1; plural=0;\n" +"#-#-#-#-# zh_CN.po (Dash to Dock) #-#-#-#-#\n" +"Project-Id-Version: Dash to Dock\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2020-03-23 15:33+0800\n" +"PO-Revision-Date: 2017-08-03 22:49+0800\n" +"Last-Translator: zhmars <1403122061@qq.com>\n" +"Language-Team: Chinese (Simplified) <>\n" +"Language: zh_CN\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Gtranslator 2.91.7\n" +"Plural-Forms: nplurals=1; plural=0;\n" #: data/gnome-classic.desktop.in:3 data/gnome-classic.session.desktop.in:3 msgid "GNOME Classic" @@ -152,7 +176,7 @@ msgstr "关闭" msgid "Unminimize" msgstr "取消最小化" -#: extensions/window-list/extension.js:118 +#: extensions/window-list/extension.js:118 Settings.ui.h:52 msgid "Minimize" msgstr "最小化" @@ -257,6 +281,523 @@ msgstr "工作区 %d" msgid "Add Workspace" msgstr "添加工作区" +#: prefs.js:310 Settings.ui.h:25 +#, fuzzy +msgid "Left" +msgstr "" +"#-#-#-#-# zh_CN.po (gnome-shell-extensions master) #-#-#-#-#\n" +"左\n" +"#-#-#-#-# zh_CN.po (Dash to Dock) #-#-#-#-#\n" +"左侧" + +#: prefs.js:309 Settings.ui.h:28 +#, fuzzy +msgid "Right" +msgstr "" +"#-#-#-#-# zh_CN.po (gnome-shell-extensions master) #-#-#-#-#\n" +"右\n" +"#-#-#-#-# zh_CN.po (Dash to Dock) #-#-#-#-#\n" +"右侧" + +#: prefs.js:268 +msgid "Primary monitor" +msgstr "主显示器" + +#: prefs.js:277 prefs.js:284 +msgid "Secondary monitor " +msgstr "副显示器" + +#: prefs.js:360 +msgid "Intelligent autohide customization" +msgstr "智能自动隐藏自定义" + +#: prefs.js:367 prefs.js:560 prefs.js:616 +msgid "Reset to defaults" +msgstr "重置为默认值" + +#: prefs.js:553 +msgid "Show dock and application numbers" +msgstr "显示 Dock 和应用程序编号" + +#: prefs.js:609 +msgid "Customize middle-click behavior" +msgstr "自定义中键点击行为" + +#: prefs.js:692 +msgid "Customize running indicators" +msgstr "自定义“运行中”指示器" + +#: prefs.js:804 Settings.ui.h:74 +msgid "Customize opacity" +msgstr "自定义不透明度" + +#: appIcons.js:810 +msgid "All Windows" +msgstr "所有窗口" + +#. Translators: %s is "Settings", which is automatically translated. You +#. can also translate the full message if this fits better your language. +#: appIcons.js:1125 +#, javascript-format +msgid "Dash to Dock %s" +msgstr "Dash to Dock %s" + +#: locations.js:65 +msgid "Trash" +msgstr "回收站" + +#: locations.js:74 +msgid "Empty Trash" +msgstr "清空回收站" + +#: locations.js:189 +msgid "Mount" +msgstr "挂载" + +#: locations.js:232 +msgid "Eject" +msgstr "弹出" + +#: locations.js:237 +msgid "Unmount" +msgstr "卸载" + +#: Settings.ui.h:1 +msgid "" +"When set to minimize, double clicking minimizes all the windows of the " +"application." +msgstr "当设置为最小化时,双击会最小化应用程序的所有窗口。" + +#: Settings.ui.h:2 +msgid "Shift+Click action" +msgstr "Shift+点击动作" + +#: Settings.ui.h:3 +msgid "Raise window" +msgstr "提升窗口" + +#: Settings.ui.h:4 +msgid "Minimize window" +msgstr "最小化窗口" + +#: Settings.ui.h:5 +msgid "Launch new instance" +msgstr "启动新实例" + +#: Settings.ui.h:6 +msgid "Cycle through windows" +msgstr "在窗口间循环" + +#: Settings.ui.h:7 +msgid "Minimize or overview" +msgstr "最小化或概览" + +#: Settings.ui.h:8 +msgid "Show window previews" +msgstr "显示打开窗口预览" + +#: Settings.ui.h:9 +msgid "Minimize or show previews" +msgstr "最小化或显示预览" + +#: Settings.ui.h:10 +msgid "Focus or show previews" +msgstr "聚焦或显示预览" + +#: Settings.ui.h:11 +msgid "Quit" +msgstr "退出" + +#: Settings.ui.h:12 +msgid "Behavior for Middle-Click." +msgstr "中键点击的行为。" + +#: Settings.ui.h:13 +msgid "Middle-Click action" +msgstr "中键点击动作" + +#: Settings.ui.h:14 +msgid "Behavior for Shift+Middle-Click." +msgstr "Shift+中键点击的行为。" + +#: Settings.ui.h:15 +msgid "Shift+Middle-Click action" +msgstr "Shift+中键点击动作" + +#: Settings.ui.h:16 +msgid "Enable Unity7 like glossy backlit items" +msgstr "启用类似 Unity 7 的高亮阴影" + +#: Settings.ui.h:17 +msgid "Use dominant color" +msgstr "使用主色调" + +#: Settings.ui.h:18 +msgid "Customize indicator style" +msgstr "自定义指示器样式" + +#: Settings.ui.h:19 +msgid "Color" +msgstr "颜色" + +#: Settings.ui.h:20 +msgid "Border color" +msgstr "边框颜色" + +#: Settings.ui.h:21 +msgid "Border width" +msgstr "边框宽度" + +#: Settings.ui.h:22 +msgid "Show the dock on" +msgstr "显示 Dock 于" + +#: Settings.ui.h:23 +msgid "Show on all monitors." +msgstr "所有显示器上都显示" + +#: Settings.ui.h:24 +msgid "Position on screen" +msgstr "屏幕中的位置" + +#: Settings.ui.h:26 +msgid "Bottom" +msgstr "底部" + +#: Settings.ui.h:27 +msgid "Top" +msgstr "顶部" + +#: Settings.ui.h:29 +msgid "" +"Hide the dock when it obstructs a window of the current application. More " +"refined settings are available." +msgstr "" +"当 Dock 会挡住当前应用程序的某个窗口时,将其隐藏。点击右侧设置按钮可以设置更" +"多细节。" + +#: Settings.ui.h:30 +msgid "Intelligent autohide" +msgstr "智能隐藏" + +#: Settings.ui.h:31 +msgid "Dock size limit" +msgstr "Dock 大小限制" + +#: Settings.ui.h:32 +msgid "Panel mode: extend to the screen edge" +msgstr "面板模式:延伸到屏幕边缘" + +#: Settings.ui.h:33 +msgid "Icon size limit" +msgstr "图标大小限制" + +#: Settings.ui.h:34 +msgid "Fixed icon size: scroll to reveal other icons" +msgstr "固定图标大小:滚动显示其它图标" + +#: Settings.ui.h:35 +msgid "Position and size" +msgstr "位置和大小" + +#: Settings.ui.h:36 +msgid "Show favorite applications" +msgstr "显示收藏的应用程序" + +#: Settings.ui.h:37 +msgid "Show running applications" +msgstr "显示正在运行的应用程序" + +#: Settings.ui.h:38 +msgid "Isolate workspaces." +msgstr "隔离工作区" + +#: Settings.ui.h:39 +msgid "Isolate monitors." +msgstr "隔离显示器" + +#: Settings.ui.h:40 +msgid "Show open windows previews." +msgstr "显示打开窗口预览" + +#: Settings.ui.h:41 +msgid "" +"If disabled, these settings are accessible from gnome-tweak-tool or the " +"extension website." +msgstr "禁用之后,可以通过 gnome-tweak-tool 或者扩展网站来访问这些设置。" + +#: Settings.ui.h:42 +msgid "Show Applications icon" +msgstr "显示 应用程序 图标" + +#: Settings.ui.h:43 +msgid "Move the applications button at the beginning of the dock." +msgstr "将应用程序图标移至 Dock 的起始位置" + +#: Settings.ui.h:44 +msgid "Animate Show Applications." +msgstr "动画方式 显示应用程序" + +#: Settings.ui.h:45 +msgid "Show trash can" +msgstr "显示回收站" + +#: Settings.ui.h:46 +msgid "Show mounted volumes and devices" +msgstr "显示挂载卷和设备" + +#: Settings.ui.h:47 +msgid "Launchers" +msgstr "启动器" + +#: Settings.ui.h:48 +msgid "" +"Enable Super+(0-9) as shortcuts to activate apps. It can also be used " +"together with Shift and Ctrl." +msgstr "启用 Super+(0-9) 作为快捷键来激活应用。也可与 Shift 和 Ctrl 一起使用。" + +#: Settings.ui.h:49 +msgid "Use keyboard shortcuts to activate apps" +msgstr "使用键盘快捷键激活应用" + +#: Settings.ui.h:50 +msgid "Behaviour when clicking on the icon of a running application." +msgstr "点击一个正在运行的应用程序图标时的行为。" + +#: Settings.ui.h:51 +msgid "Click action" +msgstr "点击动作" + +#: Settings.ui.h:53 +msgid "Behaviour when scrolling on the icon of an application." +msgstr "在一个应用程序图标上滚动时的行为。" + +#: Settings.ui.h:54 +msgid "Scroll action" +msgstr "滚动动作" + +#: Settings.ui.h:55 +msgid "Do nothing" +msgstr "无动作" + +#: Settings.ui.h:56 +msgid "Switch workspace" +msgstr "切换工作区" + +#: Settings.ui.h:57 +msgid "Behavior" +msgstr "行为" + +#: Settings.ui.h:58 +msgid "" +"Few customizations meant to integrate the dock with the default GNOME theme. " +"Alternatively, specific options can be enabled below." +msgstr "" +"几个自定义项可以将 Dock 整合到默认 GNOME 主题中。或者,也可以启动下面的几个特" +"殊选项。" + +#: Settings.ui.h:59 +msgid "Use built-in theme" +msgstr "使用内置主题" + +#: Settings.ui.h:60 +msgid "Save space reducing padding and border radius." +msgstr "减小填充和边框半径以节省空间。" + +#: Settings.ui.h:61 +msgid "Shrink the dash" +msgstr "收缩 Dash" + +#: Settings.ui.h:62 +msgid "Customize windows counter indicators" +msgstr "显示窗口个数指示器" + +#: Settings.ui.h:63 +msgid "Default" +msgstr "默认" + +#: Settings.ui.h:64 +msgid "Dots" +msgstr "圆点" + +#: Settings.ui.h:65 +msgid "Squares" +msgstr "正方形" + +#: Settings.ui.h:66 +msgid "Dashes" +msgstr "破折号" + +#: Settings.ui.h:67 +msgid "Segmented" +msgstr "分段" + +#: Settings.ui.h:68 +msgid "Solid" +msgstr "" + +#: Settings.ui.h:69 +msgid "Ciliora" +msgstr "" + +#: Settings.ui.h:70 +msgid "Metro" +msgstr "" + +#: Settings.ui.h:71 +msgid "Set the background color for the dash." +msgstr "设置 Dash 的背景颜色。" + +#: Settings.ui.h:72 +msgid "Customize the dash color" +msgstr "自定义 Dash 颜色" + +#: Settings.ui.h:73 +msgid "Tune the dash background opacity." +msgstr "调整 Dash 的背景不透明度。" + +#: Settings.ui.h:75 +msgid "Fixed" +msgstr "固定" + +#: Settings.ui.h:76 +msgid "Dynamic" +msgstr "动态" + +#: Settings.ui.h:77 +msgid "Opacity" +msgstr "不透明度" + +#: Settings.ui.h:78 +msgid "Force straight corner" +msgstr "强制边框直角" + +#: Settings.ui.h:79 +msgid "Appearance" +msgstr "外观" + +#: Settings.ui.h:80 +msgid "version: " +msgstr "版本:" + +#: Settings.ui.h:81 +msgid "Moves the dash out of the overview transforming it in a dock" +msgstr "让 Dash 跳出概览之外,转化为一个 Dock" + +#: Settings.ui.h:82 +msgid "Created by" +msgstr "作者:" + +#: Settings.ui.h:83 +msgid "Webpage" +msgstr "网站主页" + +#: Settings.ui.h:84 +msgid "" +"This program comes with ABSOLUTELY NO WARRANTY.\n" +"See the GNU General Public License, version 2 or later for details." +msgstr "" +"本程序不提供任何担保。\n" +"参见 GNU " +"通用公共许可证,第二版或更高版本以了解更多细节。" + +#: Settings.ui.h:86 +msgid "About" +msgstr "关于" + +#: Settings.ui.h:87 +msgid "Customize minimum and maximum opacity values" +msgstr "自定义窗口最小化和最大化时 Dock 的不透明度" + +#: Settings.ui.h:88 +msgid "Minimum opacity" +msgstr "最小化不透明度" + +#: Settings.ui.h:89 +msgid "Maximum opacity" +msgstr "最大化不透明度" + +#: Settings.ui.h:90 +msgid "Number overlay" +msgstr "编号覆盖" + +#: Settings.ui.h:91 +msgid "" +"Temporarily show the application numbers over the icons, corresponding to " +"the shortcut." +msgstr "临时显示与快捷键对应的图标上的应用程序编号。" + +#: Settings.ui.h:92 +msgid "Show the dock if it is hidden" +msgstr "若 Dock 已隐藏,将其显示" + +#: Settings.ui.h:93 +msgid "" +"If using autohide, the dock will appear for a short time when triggering the " +"shortcut." +msgstr "如果使用了自动隐藏,Dock 将在触发快捷键时短暂显示。" + +#: Settings.ui.h:94 +msgid "Shortcut for the options above" +msgstr "以上选项的快捷键" + +#: Settings.ui.h:95 +msgid "Syntax: , , , " +msgstr "语法:" + +#: Settings.ui.h:96 +msgid "Hide timeout (s)" +msgstr "隐藏超时时间(秒)" + +#: Settings.ui.h:97 +msgid "Show the dock by mouse hover on the screen edge." +msgstr "鼠标移至屏幕边缘时显示 Dock。" + +#: Settings.ui.h:98 +msgid "Autohide" +msgstr "自动隐藏" + +#: Settings.ui.h:99 +msgid "Push to show: require pressure to show the dock" +msgstr "推压以显示:需要一定压力来显示 Dock" + +#: Settings.ui.h:100 +msgid "Enable in fullscreen mode" +msgstr "在全屏模式下启用" + +#: Settings.ui.h:101 +msgid "Show the dock when it doesn't obstruct application windows." +msgstr "在不妨碍应用程序窗口时,显示 Dock。" + +#: Settings.ui.h:102 +msgid "Dodge windows" +msgstr "避开窗口" + +#: Settings.ui.h:103 +msgid "All windows" +msgstr "所有窗口" + +#: Settings.ui.h:104 +msgid "Only focused application's windows" +msgstr "仅焦点程序窗口" + +#: Settings.ui.h:105 +msgid "Only maximized windows" +msgstr "仅最大化窗口" + +#: Settings.ui.h:106 +msgid "Animation duration (s)" +msgstr "动画持续时间(秒)" + +#: Settings.ui.h:107 +msgid "Show timeout (s)" +msgstr "显示超时时间(秒)" + +#: Settings.ui.h:108 +msgid "Pressure threshold" +msgstr "压力阈值" + #~ msgid "Application" #~ msgstr "应用程序" @@ -367,12 +908,6 @@ msgstr "添加工作区" #~ msgid "Normal" #~ msgstr "正常" -#~ msgid "Left" -#~ msgstr "左" - -#~ msgid "Right" -#~ msgstr "右" - #~ msgid "Upside-down" #~ msgstr "上下翻转" @@ -551,3 +1086,97 @@ msgstr "添加工作区" #~ msgid "Busy" #~ msgstr "忙碌" + +#~ msgid "Show a dot for each windows of the application." +#~ msgstr "为应用程序的每个窗口显示一个点。" + +#~ msgid "0.000" +#~ msgstr "0.000" + +#~ msgid "" +#~ "With fixed icon size, only the edge of the dock and the Show " +#~ "Applications icon are active." +#~ msgstr "" +#~ "如果固定了图标大小,只有 dock 边缘和“显示应用程序”图标会激活该功" +#~ "能。" + +#~ msgid "Switch workspace by scrolling on the dock" +#~ msgstr "通过滚动 dock 来切换工作区" + +#~ msgid "Main Settings" +#~ msgstr "主设置" + +#~ msgid "Dock is fixed and always visible" +#~ msgstr "Dock 固定且总是可见" + +#~ msgid "Show delay [ms]" +#~ msgstr "显示延迟(毫秒)" + +#~ msgid "Hide delay [ms]" +#~ msgstr "隐藏延迟(毫秒)" + +#~ msgid "Application based intellihide" +#~ msgstr "应用程序基于智能隐藏" + +#~ msgid "Show the dock on following monitor (if attached)" +#~ msgstr "Dock 将在如下显示器显示(如果已连接)" + +#~ msgid "Primary (default)" +#~ msgstr "主显示器(默认)" + +#~ msgid "1" +#~ msgstr "1" + +#~ msgid "2" +#~ msgstr "2" + +#~ msgid "3" +#~ msgstr "3" + +#~ msgid "4" +#~ msgstr "4" + +#~ msgid "Max height" +#~ msgstr "最大高度" + +#~ msgid "Expand (experimental and buggy)" +#~ msgstr "全部展开(实验阶段且存在问题)" + +#~ msgid "Maximum icon size" +#~ msgstr "最大图标尺寸" + +#~ msgid "16" +#~ msgstr "16" + +#~ msgid "24" +#~ msgstr "24" + +#~ msgid "32" +#~ msgstr "32" + +#~ msgid "48" +#~ msgstr "48" + +#~ msgid "64" +#~ msgstr "64" + +#~ msgid "Optional features" +#~ msgstr "可选功能" + +#~ msgid "Only a 1px wide area close to the screen edge is active" +#~ msgstr "仅当靠近屏幕边缘1像素宽区域时启用" + +#~ msgid "All the area of the dock is active" +#~ msgstr "Dock 全部区域时启用" + +#~ msgid "Customize actions on mouse click" +#~ msgstr "自定义鼠标点击动作" + +#~ msgid "Action on clicking on running app" +#~ msgstr "点击正在运行程序的动作" + +#~ msgid "Minimize window on shift+click (double click for all app windows)" +#~ msgstr "当按下“Shift+单击”(双击适用于全部程序窗口)时最小化窗口" + +#~ msgid "Only when in autohide" +#~ msgstr "仅当自动隐藏时" diff --git a/po/zh_TW.po b/po/zh_TW.po index 6a40e212..14e60ccb 100644 --- a/po/zh_TW.po +++ b/po/zh_TW.po @@ -1,11 +1,20 @@ +# #-#-#-#-# zh_TW.po (gnome-shell-extensions gnome-3-0) #-#-#-#-# # Chinese (Taiwan) translation for gnome-shell-extensions. # Copyright (C) 2011 gnome-shell-extensions's COPYRIGHT HOLDER # This file is distributed under the same license as the gnome-shell-extensions package. # # Cheng-Chia Tseng , 2011. # pan93412 , 2019. +# #-#-#-#-# zh_TW.po (Dash to Dock) #-#-#-#-# +# Traditional Chinese translation of dash-to-dock +# Copyright (C) 2013 micheleg +# This file is distributed under the same license as the dash-to-dock package. +# Cheng-Chia Tseng , 2017 +# +#, fuzzy msgid "" msgstr "" +"#-#-#-#-# zh_TW.po (gnome-shell-extensions gnome-3-0) #-#-#-#-#\n" "Project-Id-Version: gnome-shell-extensions gnome-3-0\n" "Report-Msgid-Bugs-To: https://gitlab.gnome.org/GNOME/gnome-shell-extensions/" "issues\n" @@ -19,6 +28,19 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "X-Generator: Poedit 2.4.1\n" "Plural-Forms: nplurals=1; plural=0;\n" +"#-#-#-#-# zh_TW.po (Dash to Dock) #-#-#-#-#\n" +"Project-Id-Version: Dash to Dock\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2020-05-23 23:49+0800\n" +"PO-Revision-Date: 2020-05-24 00:08+0800\n" +"Last-Translator: Yi-Jyun Pan \n" +"Language-Team: Chinese (Traditional) <>\n" +"Language: zh_TW\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Poedit 2.3.1\n" +"Plural-Forms: nplurals=1; plural=0;\n" #: data/gnome-classic.desktop.in:3 msgid "GNOME Classic" @@ -149,7 +171,7 @@ msgstr "關閉" msgid "Unminimize" msgstr "取消最小化" -#: extensions/window-list/extension.js:118 +#: extensions/window-list/extension.js:118 Settings.ui.h:52 msgid "Minimize" msgstr "最小化" @@ -253,6 +275,526 @@ msgstr "工作區 %d" msgid "Add Workspace" msgstr "新增工作區" +#: prefs.js:310 Settings.ui.h:25 +#, fuzzy +msgid "Left" +msgstr "" +"#-#-#-#-# zh_TW.po (gnome-shell-extensions gnome-3-0) #-#-#-#-#\n" +"左\n" +"#-#-#-#-# zh_TW.po (Dash to Dock) #-#-#-#-#\n" +"左側" + +#: prefs.js:309 Settings.ui.h:28 +#, fuzzy +msgid "Right" +msgstr "" +"#-#-#-#-# zh_TW.po (gnome-shell-extensions gnome-3-0) #-#-#-#-#\n" +"右\n" +"#-#-#-#-# zh_TW.po (Dash to Dock) #-#-#-#-#\n" +"右側" + +#: prefs.js:268 +msgid "Primary monitor" +msgstr "主螢幕" + +#: prefs.js:277 prefs.js:284 +msgid "Secondary monitor " +msgstr "次螢幕 " + +#: prefs.js:360 +msgid "Intelligent autohide customization" +msgstr "自訂智慧型自動隱藏" + +#: prefs.js:367 prefs.js:560 prefs.js:616 +msgid "Reset to defaults" +msgstr "重設回預設值" + +#: prefs.js:553 +msgid "Show dock and application numbers" +msgstr "顯示 Dock 和應用程式數量" + +#: prefs.js:609 +msgid "Customize middle-click behavior" +msgstr "自訂滑鼠中鍵行為" + +#: prefs.js:692 +msgid "Customize running indicators" +msgstr "自訂執行中指示器" + +#: prefs.js:804 Settings.ui.h:74 +msgid "Customize opacity" +msgstr "自訂不透明度" + +#: appIcons.js:797 +msgid "All Windows" +msgstr "所有視窗" + +#: appIcons.js:916 +#, javascript-format +msgid "Quit %d Windows" +msgstr "結束 %d 個視窗" + +#. Translators: %s is "Settings", which is automatically translated. You +#. can also translate the full message if this fits better your language. +#: appIcons.js:1134 +#, javascript-format +msgid "Dash to Dock %s" +msgstr "Dash to Dock %s" + +#: locations.js:65 +msgid "Trash" +msgstr "垃圾桶" + +#: locations.js:74 +msgid "Empty Trash" +msgstr "清空垃圾桶" + +#: locations.js:192 +msgid "Mount" +msgstr "掛載" + +#: locations.js:235 +msgid "Eject" +msgstr "退出" + +#: locations.js:240 +msgid "Unmount" +msgstr "卸載" + +#: Settings.ui.h:1 +msgid "" +"When set to minimize, double clicking minimizes all the windows of the " +"application." +msgstr "當設定為最小化時,雙點滑鼠可將應用程式的所有視窗最小化。" + +#: Settings.ui.h:2 +msgid "Shift+Click action" +msgstr "Shift+滑鼠點按 動作" + +#: Settings.ui.h:3 +msgid "Raise window" +msgstr "擡升視窗" + +#: Settings.ui.h:4 +msgid "Minimize window" +msgstr "最小化視窗" + +#: Settings.ui.h:5 +msgid "Launch new instance" +msgstr "啟動新實體" + +#: Settings.ui.h:6 +msgid "Cycle through windows" +msgstr "在視窗之間循環" + +#: Settings.ui.h:7 +msgid "Minimize or overview" +msgstr "最小化或概覽" + +#: Settings.ui.h:8 +msgid "Show window previews" +msgstr "顯示視窗預覽" + +#: Settings.ui.h:9 +msgid "Minimize or show previews" +msgstr "最小化或顯示預覽" + +#: Settings.ui.h:10 +msgid "Focus or show previews" +msgstr "聚焦或顯示預覽" + +#: Settings.ui.h:11 +msgid "Quit" +msgstr "結束" + +#: Settings.ui.h:12 +msgid "Behavior for Middle-Click." +msgstr "滑鼠中鍵的行為。" + +#: Settings.ui.h:13 +msgid "Middle-Click action" +msgstr "滑鼠中鍵動作" + +#: Settings.ui.h:14 +msgid "Behavior for Shift+Middle-Click." +msgstr "Shift+滑鼠中鍵的行為。" + +#: Settings.ui.h:15 +msgid "Shift+Middle-Click action" +msgstr "Shift+滑鼠中鍵動作" + +#: Settings.ui.h:16 +msgid "Enable Unity7 like glossy backlit items" +msgstr "啟用 Unity7 類平滑背光項目" + +#: Settings.ui.h:17 +msgid "Use dominant color" +msgstr "使用主色調" + +#: Settings.ui.h:18 +msgid "Customize indicator style" +msgstr "自訂指示器樣式" + +#: Settings.ui.h:19 +msgid "Color" +msgstr "色彩" + +#: Settings.ui.h:20 +msgid "Border color" +msgstr "邊框色彩" + +#: Settings.ui.h:21 +msgid "Border width" +msgstr "邊框寬度" + +#: Settings.ui.h:22 +msgid "Show the dock on" +msgstr "Dock 顯示於" + +#: Settings.ui.h:23 +msgid "Show on all monitors." +msgstr "在所有顯示器顯示。" + +#: Settings.ui.h:24 +msgid "Position on screen" +msgstr "螢幕上的位置" + +#: Settings.ui.h:26 +msgid "Bottom" +msgstr "下面" + +#: Settings.ui.h:27 +msgid "Top" +msgstr "上面" + +#: Settings.ui.h:29 +msgid "" +"Hide the dock when it obstructs a window of the current application. More " +"refined settings are available." +msgstr "當 Dock 遮到目前應用程式的視窗時隱藏。可調整更多細部設定。" + +#: Settings.ui.h:30 +msgid "Intelligent autohide" +msgstr "智慧型自動隱藏" + +#: Settings.ui.h:31 +msgid "Dock size limit" +msgstr "Dock 大小限制" + +#: Settings.ui.h:32 +msgid "Panel mode: extend to the screen edge" +msgstr "面板模式:延伸到螢幕邊緣" + +#: Settings.ui.h:33 +msgid "Icon size limit" +msgstr "圖示大小限制" + +#: Settings.ui.h:34 +msgid "Fixed icon size: scroll to reveal other icons" +msgstr "固定圖示大小:捲動滑鼠以揭開其他圖示" + +#: Settings.ui.h:35 +msgid "Position and size" +msgstr "位置與大小" + +#: Settings.ui.h:36 +msgid "Show favorite applications" +msgstr "顯示喜愛的應用程式" + +#: Settings.ui.h:37 +msgid "Show running applications" +msgstr "顯示執行中應用程式" + +#: Settings.ui.h:38 +msgid "Isolate workspaces." +msgstr "獨立工作區。" + +#: Settings.ui.h:39 +msgid "Isolate monitors." +msgstr "獨立顯示器。" + +#: Settings.ui.h:40 +msgid "Show open windows previews." +msgstr "顯示開啟視窗的預覽。" + +#: Settings.ui.h:41 +msgid "" +"If disabled, these settings are accessible from gnome-tweak-tool or the " +"extension website." +msgstr "若停用,這些設定值可從 gnome-tweak-tool 或擴充套件網站存取。" + +#: Settings.ui.h:42 +msgid "Show Applications icon" +msgstr "顯示 應用程式 圖示" + +#: Settings.ui.h:43 +msgid "Move the applications button at the beginning of the dock." +msgstr "將應用程式按鈕移動到 Dock 開頭。" + +#: Settings.ui.h:44 +msgid "Animate Show Applications." +msgstr "讓 顯示應用程式 有動畫。" + +#: Settings.ui.h:45 +msgid "Show trash can" +msgstr "顯示垃圾桶" + +#: Settings.ui.h:46 +msgid "Show mounted volumes and devices" +msgstr "顯示掛載儲存區和裝置" + +#: Settings.ui.h:47 +msgid "Launchers" +msgstr "啟動器" + +#: Settings.ui.h:48 +msgid "" +"Enable Super+(0-9) as shortcuts to activate apps. It can also be used " +"together with Shift and Ctrl." +msgstr "" +"啟用 Super+(0-9) 作為啟用 App 的快捷鍵。這也可以搭配 Shift 和 Ctrl 使用。" + +#: Settings.ui.h:49 +msgid "Use keyboard shortcuts to activate apps" +msgstr "使用鍵盤快捷鍵啟用 App" + +#: Settings.ui.h:50 +msgid "Behaviour when clicking on the icon of a running application." +msgstr "點按執行中應用程式圖示時的行為。" + +#: Settings.ui.h:51 +msgid "Click action" +msgstr "點按動作" + +#: Settings.ui.h:53 +msgid "Behaviour when scrolling on the icon of an application." +msgstr "捲動應用程式圖示時的行為。" + +#: Settings.ui.h:54 +msgid "Scroll action" +msgstr "捲動動作" + +#: Settings.ui.h:55 +msgid "Do nothing" +msgstr "什麼都不做" + +#: Settings.ui.h:56 +msgid "Switch workspace" +msgstr "切換工作區" + +#: Settings.ui.h:57 +msgid "Behavior" +msgstr "行為" + +#: Settings.ui.h:58 +msgid "" +"Few customizations meant to integrate the dock with the default GNOME theme. " +"Alternatively, specific options can be enabled below." +msgstr "" +"不自訂即代表將 Dock 與預設 GNOME 主題整合。或者可以啟用下方的特定選項。" + +#: Settings.ui.h:59 +msgid "Use built-in theme" +msgstr "使用內建主題" + +#: Settings.ui.h:60 +msgid "Save space reducing padding and border radius." +msgstr "透過縮小邊框間距及邊框半徑來節省空間。" + +#: Settings.ui.h:61 +msgid "Shrink the dash" +msgstr "縮小 Dash" + +#: Settings.ui.h:62 +msgid "Customize windows counter indicators" +msgstr "自訂視窗計數器的指示器" + +#: Settings.ui.h:63 +msgid "Default" +msgstr "預設" + +#: Settings.ui.h:64 +msgid "Dots" +msgstr "圓點" + +#: Settings.ui.h:65 +msgid "Squares" +msgstr "方框" + +#: Settings.ui.h:66 +msgid "Dashes" +msgstr "小槓線" + +#: Settings.ui.h:67 +msgid "Segmented" +msgstr "長段線" + +#: Settings.ui.h:68 +msgid "Solid" +msgstr "實心" + +#: Settings.ui.h:69 +msgid "Ciliora" +msgstr "Ciliora" + +#: Settings.ui.h:70 +msgid "Metro" +msgstr "現代" + +#: Settings.ui.h:71 +msgid "Set the background color for the dash." +msgstr "設定 Dash 的背景色彩。" + +#: Settings.ui.h:72 +msgid "Customize the dash color" +msgstr "自訂 Dash 色彩" + +#: Settings.ui.h:73 +msgid "Tune the dash background opacity." +msgstr "調整 Dash 的背景不透明度。" + +#: Settings.ui.h:75 +msgid "Fixed" +msgstr "固定" + +#: Settings.ui.h:76 +msgid "Dynamic" +msgstr "動態" + +#: Settings.ui.h:77 +msgid "Opacity" +msgstr "不透明" + +#: Settings.ui.h:78 +msgid "Force straight corner" +msgstr "強制邊緣直角" + +#: Settings.ui.h:79 +msgid "Appearance" +msgstr "外觀" + +#: Settings.ui.h:80 +msgid "version: " +msgstr "版本:" + +#: Settings.ui.h:81 +msgid "Moves the dash out of the overview transforming it in a dock" +msgstr "將 Dash 移出概覽轉變成 Dock" + +#: Settings.ui.h:82 +msgid "Created by" +msgstr "作者" + +#: Settings.ui.h:83 +msgid "Webpage" +msgstr "網頁" + +#: Settings.ui.h:84 +msgid "" +"This program comes with ABSOLUTELY NO WARRANTY.\n" +"See the GNU General Public License, version 2 or later for details." +msgstr "" +"本程式「絕無任何擔保」。\n" +"請見 GNU " +"通用公眾授權第 2 版,或後續版本 深入瞭解更多細節。" + +#: Settings.ui.h:86 +msgid "About" +msgstr "關於" + +#: Settings.ui.h:87 +msgid "Customize minimum and maximum opacity values" +msgstr "自訂最低與最高不透明值" + +#: Settings.ui.h:88 +msgid "Minimum opacity" +msgstr "最小化不透明度" + +#: Settings.ui.h:89 +msgid "Maximum opacity" +msgstr "最大化不透明度" + +#: Settings.ui.h:90 +msgid "Number overlay" +msgstr "數字覆層" + +#: Settings.ui.h:91 +msgid "" +"Temporarily show the application numbers over the icons, corresponding to " +"the shortcut." +msgstr "暫時在圖示上顯示應用程式數量,對應到快捷鍵。" + +#: Settings.ui.h:92 +msgid "Show the dock if it is hidden" +msgstr "若隱藏時顯示 Dock" + +#: Settings.ui.h:93 +msgid "" +"If using autohide, the dock will appear for a short time when triggering the " +"shortcut." +msgstr "若使用自動隱藏,則觸發快捷鍵時 Dock 會出現一段時間。" + +#: Settings.ui.h:94 +msgid "Shortcut for the options above" +msgstr "上述選項的快捷鍵" + +#: Settings.ui.h:95 +msgid "Syntax: , , , " +msgstr "語法:, , , " + +#: Settings.ui.h:96 +msgid "Hide timeout (s)" +msgstr "隱藏等候時間" + +#: Settings.ui.h:97 +msgid "Show the dock by mouse hover on the screen edge." +msgstr "滑鼠停駐在螢幕邊緣時顯示 Dock。" + +#: Settings.ui.h:98 +msgid "Autohide" +msgstr "自動隱藏" + +#: Settings.ui.h:99 +msgid "Push to show: require pressure to show the dock" +msgstr "推擠才顯示:需要一些壓力才會顯示 Dock" + +#: Settings.ui.h:100 +msgid "Enable in fullscreen mode" +msgstr "在全螢幕模式啟用" + +#: Settings.ui.h:101 +msgid "Show the dock when it doesn't obstruct application windows." +msgstr "在 Dock 不會遮到應用程式視窗時顯示。" + +#: Settings.ui.h:102 +msgid "Dodge windows" +msgstr "躲避視窗" + +#: Settings.ui.h:103 +msgid "All windows" +msgstr "所有視窗" + +#: Settings.ui.h:104 +msgid "Only focused application's windows" +msgstr "僅聚焦中的應用程式視窗" + +#: Settings.ui.h:105 +msgid "Only maximized windows" +msgstr "僅最大化的視窗" + +#: Settings.ui.h:106 +msgid "Animation duration (s)" +msgstr "動畫時間長度" + +#: Settings.ui.h:107 +msgid "Show timeout (s)" +msgstr "顯示等候秒數" + +#: Settings.ui.h:108 +msgid "Pressure threshold" +msgstr "壓力閾值" + #~ msgid "Application" #~ msgstr "應用程式" @@ -348,12 +890,6 @@ msgstr "新增工作區" #~ msgid "Normal" #~ msgstr "一般" -#~ msgid "Left" -#~ msgstr "左" - -#~ msgid "Right" -#~ msgstr "右" - #~ msgid "Upside-down" #~ msgstr "上下顛倒" @@ -594,3 +1130,12 @@ msgstr "新增工作區" #~ msgid "Busy" #~ msgstr "忙碌" + +#~ msgid "Adaptive" +#~ msgstr "自適應" + +#~ msgid "Show a dot for each windows of the application." +#~ msgstr "為應用程式的每個視窗顯示圓點。" + +#~ msgid "0.000" +#~ msgstr "0.000" -- 2.38.1 From 6cad2aac52022030bcbbf03066fc08937f6d177f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Florian=20M=C3=BCllner?= Date: Wed, 20 May 2015 18:55:47 +0200 Subject: [PATCH 3/7] Add panel-favorites extension --- extensions/panel-favorites/extension.js | 257 ++++++++++++++++++++ extensions/panel-favorites/meson.build | 5 + extensions/panel-favorites/metadata.json.in | 10 + extensions/panel-favorites/stylesheet.css | 14 ++ meson.build | 1 + 5 files changed, 287 insertions(+) create mode 100644 extensions/panel-favorites/extension.js create mode 100644 extensions/panel-favorites/meson.build create mode 100644 extensions/panel-favorites/metadata.json.in create mode 100644 extensions/panel-favorites/stylesheet.css diff --git a/extensions/panel-favorites/extension.js b/extensions/panel-favorites/extension.js new file mode 100644 index 00000000..15da32da --- /dev/null +++ b/extensions/panel-favorites/extension.js @@ -0,0 +1,257 @@ +// Copyright (C) 2011-2013 R M Yorston +// Licence: GPLv2+ + +const Clutter = imports.gi.Clutter; +const Gio = imports.gi.Gio; +const GLib = imports.gi.GLib; +const Lang = imports.lang; +const Shell = imports.gi.Shell; +const Signals = imports.signals; +const St = imports.gi.St; + +const AppFavorites = imports.ui.appFavorites; +const Main = imports.ui.main; +const Panel = imports.ui.panel; + +const PANEL_LAUNCHER_LABEL_SHOW_TIME = 150; +const PANEL_LAUNCHER_LABEL_HIDE_TIME = 100; +const PANEL_LAUNCHER_HOVER_TIMEOUT = 300; + +const PanelLauncher = +class PanelLauncher { + constructor(app) { + this.actor = new St.Button({ style_class: 'panel-button', + reactive: true }); + this.iconSize = 24; + let icon = app.create_icon_texture(this.iconSize); + this.actor.set_child(icon); + this.actor._delegate = this; + let text = app.get_name(); + if ( app.get_description() ) { + text += '\n' + app.get_description(); + } + + this.label = new St.Label({ style_class: 'panel-launcher-label'}); + this.label.set_text(text); + Main.layoutManager.addChrome(this.label); + this.label.hide(); + this.actor.label_actor = this.label; + + this._app = app; + this.actor.connect('clicked', () => this._app.open_new_window(-1)); + this.actor.connect('notify::hover', this._onHoverChanged.bind(this)); + this.actor.opacity = 207; + + this.actor.connect('notify::allocation', () => this._alloc()); + } + + _onHoverChanged(actor) { + actor.opacity = actor.hover ? 255 : 207; + } + + _alloc() { + let size = this.actor.allocation.y2 - this.actor.allocation.y1 - 3; + if ( size >= 24 && size != this.iconSize ) { + this.actor.get_child().destroy(); + this.iconSize = size; + let icon = this._app.create_icon_texture(this.iconSize); + this.actor.set_child(icon); + } + } + + showLabel() { + this.label.opacity = 0; + this.label.show(); + + let [stageX, stageY] = this.actor.get_transformed_position(); + + let itemHeight = this.actor.allocation.y2 - this.actor.allocation.y1; + let itemWidth = this.actor.allocation.x2 - this.actor.allocation.x1; + let labelWidth = this.label.get_width(); + + let node = this.label.get_theme_node(); + let yOffset = node.get_length('-y-offset'); + + let y = stageY + itemHeight + yOffset; + let x = Math.floor(stageX + itemWidth/2 - labelWidth/2); + + let parent = this.label.get_parent(); + let parentWidth = parent.allocation.x2 - parent.allocation.x1; + + if ( Clutter.get_default_text_direction() == Clutter.TextDirection.LTR ) { + // stop long tooltips falling off the right of the screen + x = Math.min(x, parentWidth-labelWidth-6); + // but whatever happens don't let them fall of the left + x = Math.max(x, 6); + } + else { + x = Math.max(x, 6); + x = Math.min(x, parentWidth-labelWidth-6); + } + + this.label.set_position(x, y); + this.label.ease({ + opacity: 255, + duration: PANEL_LAUNCHER_LABEL_SHOW_TIME, + mode: Clutter.AnimationMode.EASE_OUT_QUAD, + }); + } + + hideLabel() { + this.label.opacity = 255; + this.label.ease({ + opacity: 0, + duration: PANEL_LAUNCHER_LABEL_HIDE_TIME, + mode: Clutter.AnimationMode.EASE_OUT_QUAD, + onComplete: () => this.label.hide(), + }); + } + + destroy() { + this.label.destroy(); + this.actor.destroy(); + } +}; + +const PanelFavorites = +class PanelFavorites { + constructor() { + this._showLabelTimeoutId = 0; + this._resetHoverTimeoutId = 0; + this._labelShowing = false; + + this.actor = new St.BoxLayout({ name: 'panelFavorites', + x_expand: true, y_expand: true, + style_class: 'panel-favorites' }); + this._display(); + + this.container = new St.Bin({ child: this.actor }); + + this.actor.connect('destroy', this._onDestroy.bind(this)); + this._installChangedId = Shell.AppSystem.get_default().connect('installed-changed', this._redisplay.bind(this)); + this._changedId = AppFavorites.getAppFavorites().connect('changed', this._redisplay.bind(this)); + } + + _redisplay() { + for ( let i=0; i this._onHover(launcher)); + this._buttons[j] = launcher; + ++j; + } + } + + // this routine stolen from dash.js + _onHover(launcher) { + if ( launcher.actor.hover ) { + if (this._showLabelTimeoutId == 0) { + let timeout = this._labelShowing ? + 0 : PANEL_LAUNCHER_HOVER_TIMEOUT; + this._showLabelTimeoutId = GLib.timeout_add( + GLib.PRIORITY_DEFAULT, + timeout, + () => { + this._labelShowing = true; + launcher.showLabel(); + this._showLabelTimeoutId = 0; + return GLib.SOURCE_REMOVE; + }); + if (this._resetHoverTimeoutId > 0) { + GLib.source_remove(this._resetHoverTimeoutId); + this._resetHoverTimeoutId = 0; + } + } + } else { + if (this._showLabelTimeoutId > 0) { + GLib.source_remove(this._showLabelTimeoutId); + this._showLabelTimeoutId = 0; + } + launcher.hideLabel(); + if (this._labelShowing) { + this._resetHoverTimeoutId = GLib.timeout_add( + GLib.PRIORITY_DEFAULT, + PANEL_LAUNCHER_HOVER_TIMEOUT, + () => { + this._labelShowing = false; + this._resetHoverTimeoutId = 0; + return GLib.SOURCE_REMOVE; + }); + } + } + } + + _onDestroy() { + if ( this._installChangedId != 0 ) { + Shell.AppSystem.get_default().disconnect(this._installChangedId); + this._installChangedId = 0; + } + + if ( this._changedId != 0 ) { + AppFavorites.getAppFavorites().disconnect(this._changedId); + this._changedId = 0; + } + } +}; +Signals.addSignalMethods(PanelFavorites.prototype); + +let myAddToStatusArea; +let panelFavorites; + +function enable() { + Panel.Panel.prototype.myAddToStatusArea = myAddToStatusArea; + + // place panel to left of app menu, or failing that at right end of box + let siblings = Main.panel._leftBox.get_children(); + let appMenu = Main.panel.statusArea['appMenu']; + let pos = appMenu ? siblings.indexOf(appMenu.container) : siblings.length; + + panelFavorites = new PanelFavorites(); + Main.panel.myAddToStatusArea('panel-favorites', panelFavorites, + pos, 'left'); +} + +function disable() { + delete Panel.Panel.prototype.myAddToStatusArea; + + panelFavorites.actor.destroy(); + panelFavorites.emit('destroy'); + panelFavorites = null; +} + +function init() { + myAddToStatusArea = function(role, indicator, position, box) { + if (this.statusArea[role]) + throw new Error('Extension point conflict: there is already a status indicator for role ' + role); + + position = position || 0; + let boxes = { + left: this._leftBox, + center: this._centerBox, + right: this._rightBox + }; + let boxContainer = boxes[box] || this._rightBox; + this.statusArea[role] = indicator; + this._addToPanelBox(role, indicator, position, boxContainer); + return indicator; + }; +} diff --git a/extensions/panel-favorites/meson.build b/extensions/panel-favorites/meson.build new file mode 100644 index 00000000..48504f63 --- /dev/null +++ b/extensions/panel-favorites/meson.build @@ -0,0 +1,5 @@ +extension_data += configure_file( + input: metadata_name + '.in', + output: metadata_name, + configuration: metadata_conf +) diff --git a/extensions/panel-favorites/metadata.json.in b/extensions/panel-favorites/metadata.json.in new file mode 100644 index 00000000..037f2813 --- /dev/null +++ b/extensions/panel-favorites/metadata.json.in @@ -0,0 +1,10 @@ +{ +"extension-id": "@extension_id@", +"uuid": "@uuid@", +"settings-schema": "@gschemaname@", +"gettext-domain": "@gettext_domain@", +"name": "Frippery Panel Favorites", +"description": "Add launchers for Favorites to the panel", +"shell-version": [ "@shell_current@" ], +"url": "http://intgat.tigress.co.uk/rmy/extensions/index.html" +} diff --git a/extensions/panel-favorites/stylesheet.css b/extensions/panel-favorites/stylesheet.css new file mode 100644 index 00000000..120adacb --- /dev/null +++ b/extensions/panel-favorites/stylesheet.css @@ -0,0 +1,14 @@ +.panel-favorites { + spacing: 6px; +} + +.panel-launcher-label { + border-radius: 7px; + padding: 4px 12px; + background-color: rgba(0,0,0,0.9); + color: white; + text-align: center; + font-size: 9pt; + font-weight: bold; + -y-offset: 6px; +} diff --git a/meson.build b/meson.build index e3d94918..12706001 100644 --- a/meson.build +++ b/meson.build @@ -46,6 +46,7 @@ all_extensions += [ 'auto-move-windows', 'dash-to-dock', 'native-window-placement', + 'panel-favorites', 'top-icons', 'user-theme' ] -- 2.38.1 From dbd3ebbb2d3cf380f2c0a13f13618fedfd8bbad4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Florian=20M=C3=BCllner?= Date: Fri, 4 Mar 2016 17:07:21 +0100 Subject: [PATCH 4/7] Add updates-dialog extension --- extensions/updates-dialog/extension.js | 504 ++++++++++++++++++ extensions/updates-dialog/meson.build | 7 + extensions/updates-dialog/metadata.json.in | 10 + ...hell.extensions.updates-dialog.gschema.xml | 30 ++ extensions/updates-dialog/stylesheet.css | 1 + meson.build | 1 + po/POTFILES.in | 2 + 7 files changed, 555 insertions(+) create mode 100644 extensions/updates-dialog/extension.js create mode 100644 extensions/updates-dialog/meson.build create mode 100644 extensions/updates-dialog/metadata.json.in create mode 100644 extensions/updates-dialog/org.gnome.shell.extensions.updates-dialog.gschema.xml create mode 100644 extensions/updates-dialog/stylesheet.css diff --git a/extensions/updates-dialog/extension.js b/extensions/updates-dialog/extension.js new file mode 100644 index 00000000..9fd9b33d --- /dev/null +++ b/extensions/updates-dialog/extension.js @@ -0,0 +1,504 @@ +/* + * Copyright (c) 2015 Red Hat, Inc. + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License as + * published by the Free Software Foundation; either version 2 of the + * License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, but + * WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, see . + */ + +/* exported enable disable */ + +const { Clutter, Gio, GLib, GObject, PackageKitGlib: PkgKit, Pango, Polkit, St } = imports.gi; +const Signals = imports.signals; + +const EndSessionDialog = imports.ui.endSessionDialog; +const ModalDialog = imports.ui.modalDialog; + +const ExtensionUtils = imports.misc.extensionUtils; +const Me = ExtensionUtils.getCurrentExtension(); + +const PkIface = ' \ + \ + \ + \ + \ + \ + \ +'; + +const PkOfflineIface = ' \ + \ + \ + \ + \ + \ + \ + \ + \ +'; + +const PkTransactionIface = ' \ + \ + \ + \ + \ + \ + \ + \ + \ + \ + \ + \ + \ + \ + \ + \ + \ + \ + \ + \ + \ + \ +'; + +const LoginManagerIface = ' \ + \ + \ + \ + \ + \ + \ + \ + \ +'; + +const PkProxy = Gio.DBusProxy.makeProxyWrapper(PkIface); +const PkOfflineProxy = Gio.DBusProxy.makeProxyWrapper(PkOfflineIface); +const PkTransactionProxy = Gio.DBusProxy.makeProxyWrapper(PkTransactionIface); +const LoginManagerProxy = Gio.DBusProxy.makeProxyWrapper(LoginManagerIface); + +let pkProxy = null; +let pkOfflineProxy = null; +let loginManagerProxy = null; +let updatesDialog = null; +let extensionSettings = null; +let cancellable = null; + +let updatesCheckInProgress = false; +let updatesCheckRequested = false; +let securityUpdates = []; + +function getDetailText(period) { + let text = _('Important security updates need to be installed.\n'); + if (period < 60) { + text += ngettext( + 'You can close this dialog and get %d minute to finish your work.', + 'You can close this dialog and get %d minutes to finish your work.', + period) + .format(period); + } else { + text += ngettext( + 'You can close this dialog and get %d hour to finish your work.', + 'You can close this dialog and get %d hours to finish your work.', + Math.floor(period / 60)) + .format(Math.floor(period / 60)); + } + return text; +} + +const UpdatesDialog = GObject.registerClass({ + Signals: { 'done': {} }, +}, class extends ModalDialog.ModalDialog { + _init(settings) { + super._init({ + styleClass: 'end-session-dialog', + destroyOnClose: false + }); + + this._gracePeriod = settings.get_uint('grace-period'); + this._gracePeriod = Math.min(Math.max(10, this._gracePeriod), 24 * 60); + this._lastWarningPeriod = settings.get_uint('last-warning-period'); + this._lastWarningPeriod = Math.min( + Math.max(1, this._lastWarningPeriod), + this._gracePeriod - 1); + this._lastWarnings = settings.get_uint('last-warnings'); + this._lastWarnings = Math.min( + Math.max(1, this._lastWarnings), + Math.floor((this._gracePeriod - 1) / this._lastWarningPeriod)); + + let messageLayout = new St.BoxLayout({ + vertical: true, + style_class: 'end-session-dialog-layout' + }); + this.contentLayout.add(messageLayout, { + x_fill: true, + y_fill: true, + y_expand: true + }); + + let subjectLabel = new St.Label({ + style_class: 'end-session-dialog-subject', + style: 'padding-bottom: 1em;', + text: _('Important security updates') + }); + messageLayout.add(subjectLabel, { + x_fill: false, + y_fill: false, + x_align: St.Align.START, + y_align: St.Align.START + }); + + this._detailLabel = new St.Label({ + style_class: 'end-session-dialog-description', + style: 'padding-bottom: 0em;', + text: getDetailText(this._gracePeriod) + }); + this._detailLabel.clutter_text.ellipsize = Pango.EllipsizeMode.NONE; + this._detailLabel.clutter_text.line_wrap = true; + + messageLayout.add(this._detailLabel, { + y_fill: true, + y_align: St.Align.START + }); + + let buttons = [{ + action: this.close.bind(this), + label: _('Close'), + key: Clutter.Escape + }, { + action: this._done.bind(this), + label: _('Restart & Install') + }]; + + this.setButtons(buttons); + + this._openTimeoutId = 0; + this.connect('destroy', this._clearOpenTimeout.bind(this)); + + this._startTimer(); + } + + _clearOpenTimeout() { + if (this._openTimeoutId > 0) { + GLib.source_remove(this._openTimeoutId); + this._openTimeoutId = 0; + } + } + + tryOpen() { + if (this._openTimeoutId > 0 || this.open()) + return; + + this._openTimeoutId = GLib.timeout_add_seconds( + GLib.PRIORITY_DEFAULT, 1, () => { + if (!this.open()) + return GLib.SOURCE_CONTINUE; + + this._clearOpenTimeout(); + return GLib.SOURCE_REMOVE; + }); + } + + _startTimer() { + this._secondsLeft = this._gracePeriod * 60; + + this._timerId = GLib.timeout_add_seconds( + GLib.PRIORITY_DEFAULT, 1, () => { + this._secondsLeft -= 1; + let minutesLeft = this._secondsLeft / 60; + let periodLeft = Math.floor(minutesLeft); + + if (this._secondsLeft == 60 || + (periodLeft > 0 && periodLeft <= this._lastWarningPeriod * this._lastWarnings && + minutesLeft % this._lastWarningPeriod == 0)) { + this.tryOpen(); + this._detailLabel.text = getDetailText(periodLeft); + } + + if (this._secondsLeft > 0) { + if (this._secondsLeft < 60) { + let seconds = EndSessionDialog._roundSecondsToInterval( + this._gracePeriod * 60, this._secondsLeft, 10); + this._detailLabel.text = + _('Important security updates need to be installed now.\n') + + ngettext( + 'This computer will restart in %d second.', + 'This computer will restart in %d seconds.', + seconds).format(seconds); + } + return GLib.SOURCE_CONTINUE; + } + + this._done(); + return GLib.SOURCE_REMOVE; + }); + this.connect('destroy', () => { + if (this._timerId > 0) { + GLib.source_remove(this._timerId); + this._timerId = 0; + } + }); + } + + _done() { + this.emit('done'); + this.destroy(); + } + + getState() { + return [this._gracePeriod, this._lastWarningPeriod, this._lastWarnings, this._secondsLeft]; + } + + setState(state) { + [this._gracePeriod, this._lastWarningPeriod, this._lastWarnings, this._secondsLeft] = state; + } +}); + +function showDialog() { + if (updatesDialog) + return; + + updatesDialog = new UpdatesDialog(extensionSettings); + updatesDialog.tryOpen(); + updatesDialog.connect('destroy', () => updatesDialog = null); + updatesDialog.connect('done', () => { + if (pkOfflineProxy.TriggerAction == 'power-off' || + pkOfflineProxy.TriggerAction == 'reboot') { + loginManagerProxy.RebootRemote(false); + } else { + pkOfflineProxy.TriggerRemote('reboot', (result, error) => { + if (!error) + loginManagerProxy.RebootRemote(false); + else + log('Failed to trigger offline update: %s'.format(error.message)); + }); + } + }); +} + +function cancelDialog(save) { + if (!updatesDialog) + return; + + if (save) { + let state = GLib.Variant.new('(uuuu)', updatesDialog.getState()); + global.set_runtime_state(Me.uuid, state); + } + updatesDialog.destroy(); +} + +function restoreExistingState() { + let state = global.get_runtime_state('(uuuu)', Me.uuid); + if (state === null) + return false; + + global.set_runtime_state(Me.uuid, null); + showDialog(); + updatesDialog.setState(state.deep_unpack()); + return true; +} + +function syncState() { + if (!pkOfflineProxy || !loginManagerProxy) + return; + + if (restoreExistingState()) + return; + + if (!updatesCheckInProgress && + securityUpdates.length > 0 && + pkOfflineProxy.UpdatePrepared) + showDialog(); + else + cancelDialog(); +} + +function doPkTransaction(callback) { + if (!pkProxy) + return; + + pkProxy.CreateTransactionRemote((result, error) => { + if (error) { + log('Error creating PackageKit transaction: %s'.format(error.message)); + checkUpdatesDone(); + return; + } + + new PkTransactionProxy(Gio.DBus.system, + 'org.freedesktop.PackageKit', + String(result), + (proxy, error) => { + if (!error) { + proxy.SetHintsRemote( + ['background=true', 'interactive=false'], + (result, error) => { + if (error) { + log('Error connecting to PackageKit: %s'.format(error.message)); + checkUpdatesDone(); + return; + } + callback(proxy); + }); + } else { + log('Error connecting to PackageKit: %s'.format(error.message)); + } + }); + }); +} + +function pkUpdatePackages(proxy) { + proxy.connectSignal('Finished', (p, e, params) => { + let [exit, runtime_] = params; + + if (exit == PkgKit.ExitEnum.CANCELLED_PRIORITY) { + // try again + checkUpdates(); + } else if (exit != PkgKit.ExitEnum.SUCCESS) { + log('UpdatePackages failed: %s'.format(PkgKit.ExitEnum.to_string(exit))); + } + + checkUpdatesDone(); + }); + proxy.UpdatePackagesRemote(1 << PkgKit.TransactionFlagEnum.ONLY_DOWNLOAD, securityUpdates); +} + +function pkGetUpdates(proxy) { + proxy.connectSignal('Package', (p, e, params) => { + let [info, packageId, summary_] = params; + + if (info == PkgKit.InfoEnum.SECURITY) + securityUpdates.push(packageId); + }); + proxy.connectSignal('Finished', (p, e, params) => { + let [exit, runtime_] = params; + + if (exit == PkgKit.ExitEnum.SUCCESS) { + if (securityUpdates.length > 0) { + doPkTransaction(pkUpdatePackages); + return; + } + } else if (exit == PkgKit.ExitEnum.CANCELLED_PRIORITY) { + // try again + checkUpdates(); + } else { + log('GetUpdates failed: %s'.format(PkgKit.ExitEnum.to_string(exit))); + } + + checkUpdatesDone(); + }); + proxy.GetUpdatesRemote(0); +} + +function checkUpdatesDone() { + updatesCheckInProgress = false; + if (updatesCheckRequested) { + updatesCheckRequested = false; + checkUpdates(); + } else { + syncState(); + } +} + +function checkUpdates() { + if (updatesCheckInProgress) { + updatesCheckRequested = true; + return; + } + updatesCheckInProgress = true; + securityUpdates = []; + doPkTransaction(pkGetUpdates); +} + +function initSystemProxies() { + new PkProxy(Gio.DBus.system, + 'org.freedesktop.PackageKit', + '/org/freedesktop/PackageKit', + (proxy, error) => { + if (!error) { + pkProxy = proxy; + let id = pkProxy.connectSignal('UpdatesChanged', checkUpdates); + pkProxy._signalId = id; + checkUpdates(); + } else { + log('Error connecting to PackageKit: %s'.format(error.message)); + } + }, + cancellable); + new PkOfflineProxy(Gio.DBus.system, + 'org.freedesktop.PackageKit', + '/org/freedesktop/PackageKit', + (proxy, error) => { + if (!error) { + pkOfflineProxy = proxy; + let id = pkOfflineProxy.connect('g-properties-changed', syncState); + pkOfflineProxy._signalId = id; + syncState(); + } else { + log('Error connecting to PackageKit: %s'.format(error.message)); + } + }, + cancellable); + new LoginManagerProxy(Gio.DBus.system, + 'org.freedesktop.login1', + '/org/freedesktop/login1', + (proxy, error) => { + if (!error) { + proxy.CanRebootRemote(cancellable, (result, error) => { + if (!error && result == 'yes') { + loginManagerProxy = proxy; + syncState(); + } else { + log('Reboot is not available'); + } + }); + } else { + log('Error connecting to Login manager: %s'.format(error.message)); + } + }, + cancellable); +} + +function enable() { + cancellable = new Gio.Cancellable(); + extensionSettings = ExtensionUtils.getSettings(); + Polkit.Permission.new('org.freedesktop.packagekit.trigger-offline-update', + null, + cancellable, + (p, result) => { + try { + let permission = Polkit.Permission.new_finish(result); + if (permission && permission.allowed) + initSystemProxies(); + else + throw (new Error('not allowed')); + } catch (e) { + log('No permission to trigger offline updates: %s'.format(e.toString())); + } + }); +} + +function disable() { + cancelDialog(true); + cancellable.cancel(); + cancellable = null; + extensionSettings = null; + updatesDialog = null; + loginManagerProxy = null; + if (pkOfflineProxy) { + pkOfflineProxy.disconnect(pkOfflineProxy._signalId); + pkOfflineProxy = null; + } + if (pkProxy) { + pkProxy.disconnectSignal(pkProxy._signalId); + pkProxy = null; + } +} diff --git a/extensions/updates-dialog/meson.build b/extensions/updates-dialog/meson.build new file mode 100644 index 00000000..585c02da --- /dev/null +++ b/extensions/updates-dialog/meson.build @@ -0,0 +1,7 @@ +extension_data += configure_file( + input: metadata_name + '.in', + output: metadata_name, + configuration: metadata_conf +) + +extension_schemas += files(metadata_conf.get('gschemaname') + '.gschema.xml') diff --git a/extensions/updates-dialog/metadata.json.in b/extensions/updates-dialog/metadata.json.in new file mode 100644 index 00000000..9946abb5 --- /dev/null +++ b/extensions/updates-dialog/metadata.json.in @@ -0,0 +1,10 @@ +{ +"extension-id": "@extension_id@", +"uuid": "@uuid@", +"settings-schema": "@gschemaname@", +"gettext-domain": "@gettext_domain@", +"name": "Updates Dialog", +"description": "Shows a modal dialog when there are software updates.", +"shell-version": [ "@shell_current@" ], +"url": "http://rtcm.fedorapeople.org/updates-dialog" +} diff --git a/extensions/updates-dialog/org.gnome.shell.extensions.updates-dialog.gschema.xml b/extensions/updates-dialog/org.gnome.shell.extensions.updates-dialog.gschema.xml new file mode 100644 index 00000000..c08d33c4 --- /dev/null +++ b/extensions/updates-dialog/org.gnome.shell.extensions.updates-dialog.gschema.xml @@ -0,0 +1,30 @@ + + + + + 300 + Grace period in minutes + + When the grace period is over, the computer will automatically + reboot and install security updates. + + + + 10 + Last warning dialog period + + A last warning dialog is displayed this many minutes before + the automatic reboot. + + + + 1 + Number of last warning dialogs + + How many warning dialogs are displayed. Each is displayed at + 'last-warning-period' minute intervals. + + + + diff --git a/extensions/updates-dialog/stylesheet.css b/extensions/updates-dialog/stylesheet.css new file mode 100644 index 00000000..25134b65 --- /dev/null +++ b/extensions/updates-dialog/stylesheet.css @@ -0,0 +1 @@ +/* This extensions requires no special styling */ diff --git a/meson.build b/meson.build index 12706001..c609ae52 100644 --- a/meson.build +++ b/meson.build @@ -48,6 +48,7 @@ all_extensions += [ 'native-window-placement', 'panel-favorites', 'top-icons', + 'updates-dialog', 'user-theme' ] diff --git a/po/POTFILES.in b/po/POTFILES.in index 0ed12762..10b1d517 100644 --- a/po/POTFILES.in +++ b/po/POTFILES.in @@ -9,6 +9,8 @@ extensions/native-window-placement/org.gnome.shell.extensions.native-window-plac extensions/places-menu/extension.js extensions/places-menu/placeDisplay.js extensions/screenshot-window-sizer/org.gnome.shell.extensions.screenshot-window-sizer.gschema.xml +extensions/updates-dialog/extension.js +extensions/updates-dialog/org.gnome.shell.extensions.updates-dialog.gschema.xml extensions/user-theme/org.gnome.shell.extensions.user-theme.gschema.xml extensions/window-list/extension.js extensions/window-list/org.gnome.shell.extensions.window-list.gschema.xml -- 2.38.1 From 5de33c69acd297659ac3182e85f0fe32771dd75e Mon Sep 17 00:00:00 2001 From: Carlos Soriano Date: Mon, 13 Aug 2018 17:28:41 +0200 Subject: [PATCH 5/7] Add desktop icons extension --- .../desktop-icons/createFolderDialog.js | 165 +++ extensions/desktop-icons/createThumbnail.js | 35 + extensions/desktop-icons/dbusUtils.js | 127 +++ extensions/desktop-icons/desktopGrid.js | 782 ++++++++++++++ extensions/desktop-icons/desktopIconsUtil.js | 164 +++ extensions/desktop-icons/desktopManager.js | 856 ++++++++++++++++ extensions/desktop-icons/extension.js | 75 ++ extensions/desktop-icons/fileItem.js | 961 ++++++++++++++++++ extensions/desktop-icons/meson.build | 20 + extensions/desktop-icons/metadata.json.in | 11 + extensions/desktop-icons/po/LINGUAS | 33 + extensions/desktop-icons/po/POTFILES.in | 6 + extensions/desktop-icons/po/ca.po | 218 ++++ extensions/desktop-icons/po/cs.po | 235 +++++ extensions/desktop-icons/po/da.po | 226 ++++ extensions/desktop-icons/po/de.po | 232 +++++ extensions/desktop-icons/po/el.po | 190 ++++ extensions/desktop-icons/po/en_GB.po | 194 ++++ extensions/desktop-icons/po/es.po | 257 +++++ extensions/desktop-icons/po/eu.po | 192 ++++ extensions/desktop-icons/po/fa.po | 187 ++++ extensions/desktop-icons/po/fi.po | 231 +++++ extensions/desktop-icons/po/fr.po | 225 ++++ extensions/desktop-icons/po/fur.po | 227 +++++ extensions/desktop-icons/po/hr.po | 228 +++++ extensions/desktop-icons/po/hu.po | 228 +++++ extensions/desktop-icons/po/id.po | 222 ++++ extensions/desktop-icons/po/it.po | 189 ++++ extensions/desktop-icons/po/ja.po | 221 ++++ extensions/desktop-icons/po/kab.po | 222 ++++ extensions/desktop-icons/po/ko.po | 223 ++++ extensions/desktop-icons/po/meson.build | 1 + extensions/desktop-icons/po/nl.po | 228 +++++ extensions/desktop-icons/po/oc.po | 221 ++++ extensions/desktop-icons/po/pl.po | 223 ++++ extensions/desktop-icons/po/pt.po | 222 ++++ extensions/desktop-icons/po/pt_BR.po | 235 +++++ extensions/desktop-icons/po/ro.po | 223 ++++ extensions/desktop-icons/po/ru.po | 197 ++++ extensions/desktop-icons/po/sk.po | 222 ++++ extensions/desktop-icons/po/sl.po | 227 +++++ extensions/desktop-icons/po/sr.po | 220 ++++ extensions/desktop-icons/po/sv.po | 239 +++++ extensions/desktop-icons/po/tr.po | 231 +++++ extensions/desktop-icons/po/uk.po | 223 ++++ extensions/desktop-icons/po/zh_CN.po | 228 +++++ extensions/desktop-icons/po/zh_TW.po | 220 ++++ extensions/desktop-icons/prefs.js | 161 +++ extensions/desktop-icons/schemas/meson.build | 6 + ...shell.extensions.desktop-icons.gschema.xml | 30 + extensions/desktop-icons/stylesheet.css | 42 + extensions/desktop-icons/templateManager.js | 104 ++ meson.build | 1 + po/ca.po | 223 +++- po/cs.po | 235 ++++- po/da.po | 225 +++- po/de.po | 243 ++++- po/el.po | 206 +++- po/en_GB.po | 206 +++- po/es.po | 280 ++++- po/eu.po | 192 +++- po/fa.po | 266 ++++- po/fi.po | 247 ++++- po/fr.po | 229 ++++- po/fur.po | 238 ++++- po/hr.po | 233 ++++- po/hu.po | 224 +++- po/id.po | 226 +++- po/it.po | 191 ++++ po/ja.po | 233 ++++- po/kab.po | 227 ++++- po/ko.po | 228 ++++- po/nl.po | 224 +++- po/oc.po | 233 ++++- po/pl.po | 222 +++- po/pt.po | 237 ++++- po/pt_BR.po | 260 ++++- po/ro.po | 220 +++- po/ru.po | 199 ++++ po/sk.po | 220 +++- po/sl.po | 234 ++++- po/sr.po | 232 ++++- po/sv.po | 239 ++++- po/tr.po | 234 ++++- po/uk.po | 247 ++++- po/zh_CN.po | 229 ++++- po/zh_TW.po | 241 ++++- 87 files changed, 18670 insertions(+), 239 deletions(-) create mode 100644 extensions/desktop-icons/createFolderDialog.js create mode 100755 extensions/desktop-icons/createThumbnail.js create mode 100644 extensions/desktop-icons/dbusUtils.js create mode 100644 extensions/desktop-icons/desktopGrid.js create mode 100644 extensions/desktop-icons/desktopIconsUtil.js create mode 100644 extensions/desktop-icons/desktopManager.js create mode 100644 extensions/desktop-icons/extension.js create mode 100644 extensions/desktop-icons/fileItem.js create mode 100644 extensions/desktop-icons/meson.build create mode 100644 extensions/desktop-icons/metadata.json.in create mode 100644 extensions/desktop-icons/po/LINGUAS create mode 100644 extensions/desktop-icons/po/POTFILES.in create mode 100644 extensions/desktop-icons/po/ca.po create mode 100644 extensions/desktop-icons/po/cs.po create mode 100644 extensions/desktop-icons/po/da.po create mode 100644 extensions/desktop-icons/po/de.po create mode 100644 extensions/desktop-icons/po/el.po create mode 100644 extensions/desktop-icons/po/en_GB.po create mode 100644 extensions/desktop-icons/po/es.po create mode 100644 extensions/desktop-icons/po/eu.po create mode 100644 extensions/desktop-icons/po/fa.po create mode 100644 extensions/desktop-icons/po/fi.po create mode 100644 extensions/desktop-icons/po/fr.po create mode 100644 extensions/desktop-icons/po/fur.po create mode 100644 extensions/desktop-icons/po/hr.po create mode 100644 extensions/desktop-icons/po/hu.po create mode 100644 extensions/desktop-icons/po/id.po create mode 100644 extensions/desktop-icons/po/it.po create mode 100644 extensions/desktop-icons/po/ja.po create mode 100644 extensions/desktop-icons/po/kab.po create mode 100644 extensions/desktop-icons/po/ko.po create mode 100644 extensions/desktop-icons/po/meson.build create mode 100644 extensions/desktop-icons/po/nl.po create mode 100644 extensions/desktop-icons/po/oc.po create mode 100644 extensions/desktop-icons/po/pl.po create mode 100644 extensions/desktop-icons/po/pt.po create mode 100644 extensions/desktop-icons/po/pt_BR.po create mode 100644 extensions/desktop-icons/po/ro.po create mode 100644 extensions/desktop-icons/po/ru.po create mode 100644 extensions/desktop-icons/po/sk.po create mode 100644 extensions/desktop-icons/po/sl.po create mode 100644 extensions/desktop-icons/po/sr.po create mode 100644 extensions/desktop-icons/po/sv.po create mode 100644 extensions/desktop-icons/po/tr.po create mode 100644 extensions/desktop-icons/po/uk.po create mode 100644 extensions/desktop-icons/po/zh_CN.po create mode 100644 extensions/desktop-icons/po/zh_TW.po create mode 100644 extensions/desktop-icons/prefs.js create mode 100644 extensions/desktop-icons/schemas/meson.build create mode 100644 extensions/desktop-icons/schemas/org.gnome.shell.extensions.desktop-icons.gschema.xml create mode 100644 extensions/desktop-icons/stylesheet.css create mode 100644 extensions/desktop-icons/templateManager.js diff --git a/extensions/desktop-icons/createFolderDialog.js b/extensions/desktop-icons/createFolderDialog.js new file mode 100644 index 00000000..027e4c6a --- /dev/null +++ b/extensions/desktop-icons/createFolderDialog.js @@ -0,0 +1,165 @@ +/* Desktop Icons GNOME Shell extension + * + * Copyright (C) 2019 Andrea Azzaronea + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +const { Clutter, GObject, GLib, Gio, Pango, St } = imports.gi; + +const Signals = imports.signals; + +const Dialog = imports.ui.dialog; +const Gettext = imports.gettext.domain('gnome-shell-extensions'); +const ModalDialog = imports.ui.modalDialog; +const ShellEntry = imports.ui.shellEntry; + +const ExtensionUtils = imports.misc.extensionUtils; +const Me = ExtensionUtils.getCurrentExtension(); +const DesktopIconsUtil = Me.imports.desktopIconsUtil; +const Extension = Me.imports.extension; +const Config = imports.misc.config; + +const _ = Gettext.gettext; + +const DIALOG_GROW_TIME = 100; + +var CreateFolderDialog = GObject.registerClass({ + GTypeName: 'DesktopIcons_CreateFolderDialog', + Signals: { 'response': { param_types: [GObject.TYPE_STRING] } } +}, class CreateFolderDialog extends ModalDialog.ModalDialog { + _init() { + super._init({ styleClass: 'create-folder-dialog' }); + + let dialogContent = new Dialog.MessageDialogContent({ + title: _('New folder name'), + }); + this.contentLayout.add_child(dialogContent); + + this._entry = new St.Entry({ style_class: 'create-folder-dialog-entry', + can_focus: true }); + ShellEntry.addContextMenu(this._entry); + this._entry.clutter_text.connect('activate', this._onEntryActivate.bind(this)); + this._entry.clutter_text.connect('text-changed', this._onTextChanged.bind(this)); + + this.setInitialKeyFocus(this._entry.clutter_text); + + dialogContent.add(this._entry); + + this._errorBox = new St.BoxLayout({ vertical: true }); + dialogContent.add_child(this._errorBox); + + this._errorMessage = new St.Label({ + style_class: 'create-folder-dialog-error-label', + y_expand: false, + x_expand: false, + }); + this._errorMessage.clutter_text.line_wrap = true; + this._errorBox.add_child(this._errorMessage); + + this._createButton = this.addButton({ action: this._onCreateButton.bind(this), + label: _('Create') }); + this.addButton({ action: this.close.bind(this), + label: _('Cancel'), + key: Clutter.KEY_Escape }); + this._onTextChanged(); + } + + _showError(message) { + this._errorMessage.set_text(message); + + if (!this._errorBox.visible) { + let [errorBoxMinHeight, errorBoxNaturalHeight] = this._errorBox.get_preferred_height(-1); + let parentActor = this._errorBox.get_parent(); + + parentActor.remove_all_transitions(); + parentActor.ease_property( + 'height', parentActor.height + errorBoxNaturalHeight, { + duration: DIALOG_GROW_TIME, + mode: Clutter.AnimationMode.EASE_OUT_QUAD, + onComplete: () => { + parentActor.set_height(-1); + this._errorBox.show(); + } + }); + } + } + + _hideError() { + if (this._errorBox.visible) { + let [errorBoxMinHeight, errorBoxNaturalHeight] = this._errorBox.get_preferred_height(-1); + let parentActor = this._errorBox.get_parent(); + + parentActor.remove_all_transitions(); + parentActor.ease_property( + 'height', parentActor.height - errorBoxNaturalHeight, { + duration: DIALOG_GROW_TIME, + mode: Clutter.AnimationMode.EASE_OUT_QUAD, + onComplete: () => { + parentActor.set_height(-1); + this._errorBox.hide(); + this._errorMessage.set_text(''); + } + }); + } + } + + _onCreateButton() { + this._onEntryActivate(); + } + + _onEntryActivate() { + if (!this._createButton.reactive) + return; + + this.emit('response', this._entry.get_text()); + this.close(); + } + + _onTextChanged() { + let text = this._entry.get_text(); + let is_valid = true; + + let found_name = false; + for(let name of Extension.desktopManager.getDesktopFileNames()) { + if (name === text) { + found_name = true; + break; + } + } + + if (text.trim().length == 0) { + is_valid = false; + this._hideError(); + } else if (text.includes('/')) { + is_valid = false; + this._showError(_('Folder names cannot contain “/”.')); + } else if (text === '.') { + is_valid = false; + this._showError(_('A folder cannot be called “.”.')); + } else if (text === '..') { + is_valid = false; + this._showError(_('A folder cannot be called “..”.')); + } else if (text.startsWith('.')) { + this._showError(_('Folders with “.” at the beginning of their name are hidden.')); + } else if (found_name) { + this._showError(_('There is already a file or folder with that name.')); + is_valid = false; + } else { + this._hideError(); + } + + this._createButton.reactive = is_valid; + } +}); diff --git a/extensions/desktop-icons/createThumbnail.js b/extensions/desktop-icons/createThumbnail.js new file mode 100755 index 00000000..212f6b79 --- /dev/null +++ b/extensions/desktop-icons/createThumbnail.js @@ -0,0 +1,35 @@ +#!/usr/bin/gjs + +/* Desktop Icons GNOME Shell extension + * + * Copyright (C) 2018 Sergio Costas + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +const GnomeDesktop = imports.gi.GnomeDesktop; +const Gio = imports.gi.Gio; + +let thumbnailFactory = GnomeDesktop.DesktopThumbnailFactory.new(GnomeDesktop.DesktopThumbnailSize.LARGE); + +let file = Gio.File.new_for_path(ARGV[0]); +let fileUri = file.get_uri(); + +let fileInfo = file.query_info('standard::content-type,time::modified', Gio.FileQueryInfoFlags.NONE, null); +let modifiedTime = fileInfo.get_attribute_uint64('time::modified'); +let thumbnailPixbuf = thumbnailFactory.generate_thumbnail(fileUri, fileInfo.get_content_type()); +if (thumbnailPixbuf == null) + thumbnailFactory.create_failed_thumbnail(fileUri, modifiedTime); +else + thumbnailFactory.save_thumbnail(thumbnailPixbuf, fileUri, modifiedTime); diff --git a/extensions/desktop-icons/dbusUtils.js b/extensions/desktop-icons/dbusUtils.js new file mode 100644 index 00000000..b2bca421 --- /dev/null +++ b/extensions/desktop-icons/dbusUtils.js @@ -0,0 +1,127 @@ +const Gio = imports.gi.Gio; +const GLib = imports.gi.GLib; +var NautilusFileOperationsProxy; +var FreeDesktopFileManagerProxy; +var GnomeNautilusPreviewerProxy; + +const NautilusFileOperationsInterface = ` + + + + + + + + + + + + + + + + + + + + + + + + + + + +`; + +const NautilusFileOperationsProxyInterface = Gio.DBusProxy.makeProxyWrapper(NautilusFileOperationsInterface); + +const FreeDesktopFileManagerInterface = ` + + + + + + + + + + +`; + +const FreeDesktopFileManagerProxyInterface = Gio.DBusProxy.makeProxyWrapper(FreeDesktopFileManagerInterface); + +const GnomeNautilusPreviewerInterface = ` + + + + + + + +`; + +const GnomeNautilusPreviewerProxyInterface = Gio.DBusProxy.makeProxyWrapper(GnomeNautilusPreviewerInterface); + +function init() { + NautilusFileOperationsProxy = new NautilusFileOperationsProxyInterface( + Gio.DBus.session, + 'org.gnome.Nautilus', + '/org/gnome/Nautilus', + (proxy, error) => { + if (error) { + log('Error connecting to Nautilus'); + } + } + ); + + FreeDesktopFileManagerProxy = new FreeDesktopFileManagerProxyInterface( + Gio.DBus.session, + 'org.freedesktop.FileManager1', + '/org/freedesktop/FileManager1', + (proxy, error) => { + if (error) { + log('Error connecting to Nautilus'); + } + } + ); + + GnomeNautilusPreviewerProxy = new GnomeNautilusPreviewerProxyInterface( + Gio.DBus.session, + 'org.gnome.NautilusPreviewer', + '/org/gnome/NautilusPreviewer', + (proxy, error) => { + if (error) { + log('Error connecting to Nautilus Previewer'); + } + } + ); +} + +function openFileWithOtherApplication(filePath) { + let fdList = new Gio.UnixFDList(); + let channel = GLib.IOChannel.new_file(filePath, "r"); + fdList.append(channel.unix_get_fd()); + channel.set_close_on_unref(true); + let builder = GLib.VariantBuilder.new(GLib.VariantType.new("a{sv}")); + let options = builder.end(); + let parameters = GLib.Variant.new_tuple([GLib.Variant.new_string("0"), + GLib.Variant.new_handle(0), + options]); + Gio.bus_get(Gio.BusType.SESSION, null, + (source, result) => { + let dbus_connection = Gio.bus_get_finish(result); + dbus_connection.call_with_unix_fd_list("org.freedesktop.portal.Desktop", + "/org/freedesktop/portal/desktop", + "org.freedesktop.portal.OpenURI", + "OpenFile", + parameters, + GLib.VariantType.new("o"), + Gio.DBusCallFlags.NONE, + -1, + fdList, + null, + null); + } + ); +} diff --git a/extensions/desktop-icons/desktopGrid.js b/extensions/desktop-icons/desktopGrid.js new file mode 100644 index 00000000..002803c7 --- /dev/null +++ b/extensions/desktop-icons/desktopGrid.js @@ -0,0 +1,782 @@ +/* Desktop Icons GNOME Shell extension + * + * Copyright (C) 2017 Carlos Soriano + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +const Gtk = imports.gi.Gtk; +const Clutter = imports.gi.Clutter; +const St = imports.gi.St; +const Gio = imports.gi.Gio; +const GLib = imports.gi.GLib; +const GObject = imports.gi.GObject; +const Shell = imports.gi.Shell; + +const Layout = imports.ui.layout; +const Main = imports.ui.main; +const BoxPointer = imports.ui.boxpointer; +const PopupMenu = imports.ui.popupMenu; +const GrabHelper = imports.ui.grabHelper; +const Config = imports.misc.config; + +const ExtensionUtils = imports.misc.extensionUtils; +const Me = ExtensionUtils.getCurrentExtension(); +const CreateFolderDialog = Me.imports.createFolderDialog; +const Extension = Me.imports.extension; +const FileItem = Me.imports.fileItem; +const Prefs = Me.imports.prefs; +const DBusUtils = Me.imports.dbusUtils; +const DesktopIconsUtil = Me.imports.desktopIconsUtil; +const Util = imports.misc.util; + +const Clipboard = St.Clipboard.get_default(); +const CLIPBOARD_TYPE = St.ClipboardType.CLIPBOARD; +const Gettext = imports.gettext.domain('gnome-shell-extensions'); + +const _ = Gettext.gettext; + + +/* From NautilusFileUndoManagerState */ +var UndoStatus = { + NONE: 0, + UNDO: 1, + REDO: 2, +}; + +var StoredCoordinates = { + PRESERVE: 0, + OVERWRITE:1, + ASSIGN:2, +}; + +var Placeholder = GObject.registerClass({ + GTypeName: 'DesktopIcons_Placeholder', +}, class Placeholder extends St.Bin { +}); + +var DesktopGrid = GObject.registerClass({ + GTypeName: 'DesktopIcons_DesktopGrid', +}, class DesktopGrid extends St.Widget { + _init(bgManager) { + this._bgManager = bgManager; + + this._fileItemHandlers = new Map(); + this._fileItems = []; + + this.layout = new Clutter.GridLayout({ + orientation: Clutter.Orientation.VERTICAL, + column_homogeneous: true, + row_homogeneous: true + }); + + this._actorLayout = new Clutter.BinLayout({ + x_align: Clutter.BinAlignment.FIXED, + y_align: Clutter.BinAlignment.FIXED + }); + + super._init({ + layout_manager: this._actorLayout + }); + this._delegate = this; + + this.connect('style-changed', () => { + if (this.isFirst) + Extension.desktopManager.scheduleReLayoutChildren(); + }); + + this._grid = new St.Widget({ + name: 'DesktopGrid', + layout_manager: this.layout, + reactive: true, + x_expand: true, + y_expand: true, + can_focus: true, + opacity: 255 + }); + this.add_child(this._grid); + + this._menuManager = new PopupMenu.PopupMenuManager(this); + + this._bgManager._container.add_child(this); + + let monitorIndex = bgManager._monitorIndex; + this._monitorConstraint = new Layout.MonitorConstraint({ + index: monitorIndex, + work_area: true + }); + this.add_constraint(this._monitorConstraint); + + this._addDesktopBackgroundMenu(); + + this._bgDestroyedId = bgManager.backgroundActor.connect('destroy', + () => this._backgroundDestroyed()); + + this._grid.connect('button-press-event', (actor, event) => this._onPressButton(actor, event)); + + this._grid.connect('key-press-event', this._onKeyPress.bind(this)); + + this._grid.connect('notify::allocation', () => Extension.desktopManager.scheduleReLayoutChildren()); + + let themeNodeBase = this.get_theme_node(); + let themeContext = St.ThemeContext.get_for_stage(global.stage); + let themeNode = St.ThemeNode.new(themeContext, null, + themeNodeBase.get_theme(), themeNodeBase.get_element_type(), + null, "file-item", null, "fake-id {}"); + this._extra_width = themeNode.get_margin(St.Side.LEFT) + + themeNode.get_margin(St.Side.RIGHT) + + themeNode.get_border_width(St.Side.LEFT) + + themeNode.get_border_width(St.Side.RIGHT) + + themeNode.get_horizontal_padding(); + this._extra_height = themeNode.get_margin(St.Side.TOP) + + themeNode.get_margin(St.Side.BOTTOM) + + themeNode.get_border_width(St.Side.TOP) + + themeNode.get_border_width(St.Side.BOTTOM) + + themeNode.get_vertical_padding(); + + this.connect('destroy', () => this._onDestroy()); + } + + _onKeyPress(actor, event) { + if (global.stage.get_key_focus() != actor) + return Clutter.EVENT_PROPAGATE; + + let symbol = event.get_key_symbol(); + let isCtrl = (event.get_state() & Clutter.ModifierType.CONTROL_MASK) != 0; + let isShift = (event.get_state() & Clutter.ModifierType.SHIFT_MASK) != 0; + + if (isCtrl && isShift && [Clutter.KEY_Z, Clutter.KEY_z].indexOf(symbol) > -1) { + this._doRedo(); + return Clutter.EVENT_STOP; + } + else if (isCtrl && [Clutter.KEY_Z, Clutter.KEY_z].indexOf(symbol) > -1) { + this._doUndo(); + return Clutter.EVENT_STOP; + } + else if (isCtrl && [Clutter.KEY_C, Clutter.KEY_c].indexOf(symbol) > -1) { + Extension.desktopManager.doCopy(); + return Clutter.EVENT_STOP; + } + else if (isCtrl && [Clutter.KEY_X, Clutter.KEY_x].indexOf(symbol) > -1) { + Extension.desktopManager.doCut(); + return Clutter.EVENT_STOP; + } + else if (isCtrl && [Clutter.KEY_V, Clutter.KEY_v].indexOf(symbol) > -1) { + this._doPaste(); + return Clutter.EVENT_STOP; + } + else if (symbol == Clutter.KEY_Return) { + Extension.desktopManager.doOpen(); + return Clutter.EVENT_STOP; + } + else if (symbol == Clutter.KEY_Delete) { + Extension.desktopManager.doTrash(); + return Clutter.EVENT_STOP; + } else if (symbol == Clutter.KEY_F2) { + // Support renaming other grids file items. + Extension.desktopManager.doRename(); + return Clutter.EVENT_STOP; + } else if (symbol == Clutter.KEY_space) { + Extension.desktopManager.doPreview(); + return Clutter.EVENT_STOP; + } + return Clutter.EVENT_PROPAGATE; + } + + _backgroundDestroyed() { + this._bgDestroyedId = 0; + if (this._bgManager == null) + return; + + if (this._bgManager._backgroundSource) { + this._bgDestroyedId = this._bgManager.backgroundActor.connect('destroy', + () => this._backgroundDestroyed()); + } else { + this.destroy(); + } + } + + _onDestroy() { + if (this._bgDestroyedId && this._bgManager.backgroundActor) + this._bgManager.backgroundActor.disconnect(this._bgDestroyedId); + this._bgDestroyedId = 0; + this._bgManager = null; + this._menuManager = null; + } + + _onNewFolderClicked() { + + let dialog = new CreateFolderDialog.CreateFolderDialog(); + + dialog.connect('response', (dialog, name) => { + let dir = DesktopIconsUtil.getDesktopDir().get_child(name); + DBusUtils.NautilusFileOperationsProxy.CreateFolderRemote(dir.get_uri(), + (result, error) => { + if (error) + throw new Error('Error creating new folder: ' + error.message); + } + ); + }); + + dialog.open(); + } + + _parseClipboardText(text) { + if (text === null) + return [false, false, null]; + + let lines = text.split('\n'); + let [mime, action, ...files] = lines; + + if (mime != 'x-special/nautilus-clipboard') + return [false, false, null]; + + if (!(['copy', 'cut'].includes(action))) + return [false, false, null]; + let isCut = action == 'cut'; + + /* Last line is empty due to the split */ + if (files.length <= 1) + return [false, false, null]; + /* Remove last line */ + files.pop(); + + return [true, isCut, files]; + } + + _doPaste() { + Clipboard.get_text(CLIPBOARD_TYPE, + (clipboard, text) => { + let [valid, is_cut, files] = this._parseClipboardText(text); + if (!valid) + return; + + let desktopDir = `${DesktopIconsUtil.getDesktopDir().get_uri()}`; + if (is_cut) { + DBusUtils.NautilusFileOperationsProxy.MoveURIsRemote(files, desktopDir, + (result, error) => { + if (error) + throw new Error('Error moving files: ' + error.message); + } + ); + } else { + DBusUtils.NautilusFileOperationsProxy.CopyURIsRemote(files, desktopDir, + (result, error) => { + if (error) + throw new Error('Error copying files: ' + error.message); + } + ); + } + } + ); + } + + _onPasteClicked() { + this._doPaste(); + } + + _doUndo() { + DBusUtils.NautilusFileOperationsProxy.UndoRemote( + (result, error) => { + if (error) + throw new Error('Error performing undo: ' + error.message); + } + ); + } + + _onUndoClicked() { + this._doUndo(); + } + + _doRedo() { + DBusUtils.NautilusFileOperationsProxy.RedoRemote( + (result, error) => { + if (error) + throw new Error('Error performing redo: ' + error.message); + } + ); + } + + _onRedoClicked() { + this._doRedo(); + } + + _onOpenDesktopInFilesClicked() { + Gio.AppInfo.launch_default_for_uri_async(DesktopIconsUtil.getDesktopDir().get_uri(), + null, null, + (source, result) => { + try { + Gio.AppInfo.launch_default_for_uri_finish(result); + } catch (e) { + log('Error opening Desktop in Files: ' + e.message); + } + } + ); + } + + _onOpenTerminalClicked() { + let desktopPath = DesktopIconsUtil.getDesktopDir().get_path(); + DesktopIconsUtil.launchTerminal(desktopPath); + } + + _syncUndoRedo() { + this._undoMenuItem.visible = DBusUtils.NautilusFileOperationsProxy.UndoStatus == UndoStatus.UNDO; + this._redoMenuItem.visible = DBusUtils.NautilusFileOperationsProxy.UndoStatus == UndoStatus.REDO; + } + + _undoStatusChanged(proxy, properties, test) { + if ('UndoStatus' in properties.deep_unpack()) + this._syncUndoRedo(); + } + + _createDesktopBackgroundMenu() { + let menu = new PopupMenu.PopupMenu(Main.layoutManager.dummyCursor, + 0, St.Side.TOP); + menu.addAction(_("New Folder"), () => this._onNewFolderClicked()); + this._submenu = new PopupMenu.PopupSubMenuMenuItem(_("New Document"), false); + menu.addMenuItem(this._submenu); + menu.addMenuItem(new PopupMenu.PopupSeparatorMenuItem()); + this._pasteMenuItem = menu.addAction(_("Paste"), () => this._onPasteClicked()); + this._undoMenuItem = menu.addAction(_("Undo"), () => this._onUndoClicked()); + this._redoMenuItem = menu.addAction(_("Redo"), () => this._onRedoClicked()); + menu.addMenuItem(new PopupMenu.PopupSeparatorMenuItem()); + menu.addAction(_("Show Desktop in Files"), () => this._onOpenDesktopInFilesClicked()); + menu.addAction(_("Open in Terminal"), () => this._onOpenTerminalClicked()); + menu.addMenuItem(new PopupMenu.PopupSeparatorMenuItem()); + menu.addSettingsAction(_("Change Background…"), 'gnome-background-panel.desktop'); + menu.addMenuItem(new PopupMenu.PopupSeparatorMenuItem()); + menu.addSettingsAction(_("Display Settings"), 'gnome-display-panel.desktop'); + menu.addSettingsAction(_("Settings"), 'gnome-control-center.desktop'); + + menu.actor.add_style_class_name('background-menu'); + + Main.layoutManager.uiGroup.add_child(menu.actor); + menu.actor.hide(); + + menu._propertiesChangedId = DBusUtils.NautilusFileOperationsProxy.connect('g-properties-changed', + this._undoStatusChanged.bind(this)); + this._syncUndoRedo(); + + menu.connect('destroy', + () => DBusUtils.NautilusFileOperationsProxy.disconnect(menu._propertiesChangedId)); + menu.connect('open-state-changed', + (popupm, isOpen) => { + if (isOpen) { + Clipboard.get_text(CLIPBOARD_TYPE, + (clipBoard, text) => { + let [valid, is_cut, files] = this._parseClipboardText(text); + this._pasteMenuItem.setSensitive(valid); + } + ); + } + } + ); + this._pasteMenuItem.setSensitive(false); + + return menu; + } + + _openMenu(x, y) { + Main.layoutManager.setDummyCursorGeometry(x, y, 0, 0); + this._submenu.menu.removeAll(); + let templates = Extension.templateManager.getTemplates(); + if (templates.length == 0) { + this._submenu.hide(); + } else { + for(let template of templates) { + this._submenu.menu.addAction(template["name"], () => {this._newDocument(template)}, template["icon"]); + } + this._submenu.show(); + } + this._desktopBackgroundMenu.open(BoxPointer.PopupAnimation.NONE); + /* Since the handler is in the press event it needs to ignore the release event + * to not immediately close the menu on release + */ + this._menuManager.ignoreRelease(); + } + + _newDocument(template) { + let file = Extension.templateManager.getTemplateFile(template["file"]); + if (file == null) + return; + let counter = 0; + let finalName = `${template["name"]}${template["extension"]}`; + let destination; + do { + if (counter != 0) { + finalName = `${template["name"]} ${counter}${template["extension"]}` + } + destination = Gio.File.new_for_path( + GLib.build_filenamev([GLib.get_user_special_dir(GLib.UserDirectory.DIRECTORY_DESKTOP), + finalName]) + ); + counter++; + } while(destination.query_exists(null)); + file.copy_async(destination, Gio.FileCopyFlags.NONE, GLib.PRIORITY_DEFAULT, null, null, (source, result) => { + try { + source.copy_finish(result); + } catch(e) { + log(`Failed to create template ${e.message}`); + } + }); + } + + _addFileItemTo(fileItem, column, row, coordinatesAction) { + let placeholder = this.layout.get_child_at(column, row); + placeholder.child = fileItem; + this._fileItems.push(fileItem); + let fileItemHandler = {}; + fileItemHandler.selectedId = fileItem.connect('selected', + this._onFileItemSelected.bind(this)); + fileItemHandler.renameId = fileItem.connect('rename-clicked', + this._onRenameClicked.bind(this)); + fileItemHandler.destroyId = fileItem.connect('destroy', () => { + this._fileItemHandlers.delete(fileItem); + }); + this._fileItemHandlers.set(fileItem, fileItemHandler); + + /* If this file is new in the Desktop and hasn't yet + * fixed coordinates, store the new possition to ensure + * that the next time it will be shown in the same possition. + * Also store the new possition if it has been moved by the user, + * and not triggered by a screen change. + */ + if ((fileItem.savedCoordinates == null) || (coordinatesAction == StoredCoordinates.OVERWRITE)) { + let [fileX, fileY] = placeholder.get_transformed_position(); + fileItem.savedCoordinates = [Math.round(fileX), Math.round(fileY)]; + } + } + + addFileItemCloseTo(fileItem, x, y, coordinatesAction) { + let [column, row] = this._getEmptyPlaceClosestTo(x, y, coordinatesAction); + fileItem.set_margins(this._extra_width, this._extra_height); + this._addFileItemTo(fileItem, column, row, coordinatesAction); + } + + _getEmptyPlaceClosestTo(x, y, coordinatesAction) { + + let [actorX, actorY] = this._grid.get_transformed_position(); + let actorWidth = this._grid.allocation.x2 - this._grid.allocation.x1; + let actorHeight = this._grid.allocation.y2 - this._grid.allocation.y1; + let placeX = Math.round((x - actorX) * this._columns / actorWidth); + let placeY = Math.round((y - actorY) * this._rows / actorHeight); + + placeX = DesktopIconsUtil.clamp(placeX, 0, this._columns - 1); + placeY = DesktopIconsUtil.clamp(placeY, 0, this._rows - 1); + if (this.layout.get_child_at(placeX, placeY).child == null) + return [placeX, placeY]; + let found = false; + let resColumn = null; + let resRow = null; + let minDistance = Infinity; + for (let column = 0; column < this._columns; column++) { + for (let row = 0; row < this._rows; row++) { + let placeholder = this.layout.get_child_at(column, row); + if (placeholder.child != null) + continue; + + let [proposedX, proposedY] = placeholder.get_transformed_position(); + if (coordinatesAction == StoredCoordinates.ASSIGN) + return [column, row]; + let distance = DesktopIconsUtil.distanceBetweenPoints(proposedX, proposedY, x, y); + if (distance < minDistance) { + found = true; + minDistance = distance; + resColumn = column; + resRow = row; + } + } + } + + if (!found) + throw new Error(`Not enough place at monitor ${this._bgManager._monitorIndex}`); + + return [resColumn, resRow]; + } + + removeFileItem(fileItem) { + let index = this._fileItems.indexOf(fileItem); + if (index > -1) + this._fileItems.splice(index, 1); + else + throw new Error('Error removing children from container'); + + let [column, row] = this._getPosOfFileItem(fileItem); + let placeholder = this.layout.get_child_at(column, row); + placeholder.child = null; + let fileItemHandler = this._fileItemHandlers.get(fileItem); + Object.values(fileItemHandler).forEach(id => fileItem.disconnect(id)); + this._fileItemHandlers.delete(fileItem); + } + + _fillPlaceholders() { + this._rows = this._getMaxRows(); + this._columns = this._getMaxColumns(); + for (let column = 0; column < this._columns; column++) { + for (let row = 0; row < this._rows; row++) { + this.layout.attach(new Placeholder(), column, row, 1, 1); + } + } + } + + usingNewAllocationAPI() { + return (this.get_fixed_position !== undefined); + } + + reset() { + let tmpFileItemsCopy = this._fileItems.slice(); + for (let fileItem of tmpFileItemsCopy) + this.removeFileItem(fileItem); + this._grid.remove_all_children(); + + this._fillPlaceholders(); + + if (this.usingNewAllocationAPI()) + this.allocate_preferred_size(0, 0); + } + + _onStageMotion(actor, event) { + if (this._drawingRubberBand) { + let [x, y] = event.get_coords(); + this._updateRubberBand(x, y); + this._selectFromRubberband(x, y); + } + return Clutter.EVENT_PROPAGATE; + } + + _onPressButton(actor, event) { + let button = event.get_button(); + let [x, y] = event.get_coords(); + + this._grid.grab_key_focus(); + + if (button == 1) { + let shiftPressed = !!(event.get_state() & Clutter.ModifierType.SHIFT_MASK); + let controlPressed = !!(event.get_state() & Clutter.ModifierType.CONTROL_MASK); + if (!shiftPressed && !controlPressed) + Extension.desktopManager.clearSelection(); + let [gridX, gridY] = this._grid.get_transformed_position(); + Extension.desktopManager.startRubberBand(x, y, gridX, gridY); + return Clutter.EVENT_STOP; + } + + if (button == 3) { + this._openMenu(x, y); + + return Clutter.EVENT_STOP; + } + + return Clutter.EVENT_PROPAGATE; + } + + _addDesktopBackgroundMenu() { + this._desktopBackgroundMenu = this._createDesktopBackgroundMenu(); + this._menuManager.addMenu(this._desktopBackgroundMenu); + + this.connect('destroy', () => { + this._desktopBackgroundMenu.destroy(); + this._desktopBackgroundMenu = null; + }); + } + + _getMaxColumns() { + let gridWidth = this._grid.allocation.x2 - this._grid.allocation.x1; + let scaleFactor = St.ThemeContext.get_for_stage(global.stage).scale_factor; + let desiredWidth = Prefs.getDesiredWidth(scaleFactor, this._extra_width); + return Math.floor(gridWidth / desiredWidth); + } + + _getMaxRows() { + let gridHeight = this._grid.allocation.y2 - this._grid.allocation.y1; + let scaleFactor = St.ThemeContext.get_for_stage(global.stage).scale_factor; + let desiredHeight = Prefs.getDesiredHeight(scaleFactor, this._extra_height); + return Math.floor(gridHeight / desiredHeight); + } + + acceptDrop(source, actor, x, y, time) { + /* Coordinates are relative to the grid, we want to transform them to + * absolute coordinates to work across monitors */ + let [gridX, gridY] = this.get_transformed_position(); + let [absoluteX, absoluteY] = [x + gridX, y + gridY]; + return Extension.desktopManager.acceptDrop(absoluteX, absoluteY); + } + + _getPosOfFileItem(itemToFind) { + if (itemToFind == null) + throw new Error('Error at _getPosOfFileItem: child cannot be null'); + + let found = false; + let column = 0; + let row = 0; + for (column = 0; column < this._columns; column++) { + for (row = 0; row < this._rows; row++) { + let item = this.layout.get_child_at(column, row); + if (item.child && item.child.file.equal(itemToFind.file)) { + found = true; + break; + } + } + + if (found) + break; + } + + if (!found) + throw new Error('Position of file item was not found'); + + return [column, row]; + } + + _onFileItemSelected(fileItem, keepCurrentSelection, rubberBandSelection, addToSelection) { + this._grid.grab_key_focus(); + } + + _onRenameClicked(fileItem) { + if (fileItem.menu && fileItem.menu.isOpen) { + let id = fileItem.menu.connect('menu-closed', () => { + fileItem.menu.disconnect(id); + this.doRename(fileItem); + }); + } else { + this.doRename(fileItem); + } + } + + doRename(fileItem) { + let renamePopup = new RenamePopup(fileItem); + this._menuManager.addMenu(renamePopup); + this._menuManager.ignoreRelease(); + + renamePopup.connect('menu-closed', () => renamePopup.destroy()); + renamePopup.open(); + } +}); + +var RenamePopupMenuItem = GObject.registerClass( +class RenamePopupMenuItem extends PopupMenu.PopupBaseMenuItem { + _init(fileItem) { + super._init({ + style_class: 'rename-popup-item', + reactive: false, + }); + + if (PopupMenu.Ornament.HIDDEN !== undefined) + this.setOrnament(PopupMenu.Ornament.HIDDEN); + else /* Support version prior 3.34.1 */ + this._ornamentLabel.visible = false; + + this._fileItem = fileItem; + + // Entry + this._entry = new St.Entry({ + x_expand: true, + width: 200, + }); + this.add_child(this._entry); + + this._entry.clutter_text.connect( + 'notify::text', this._validate.bind(this)); + this._entry.clutter_text.connect( + 'activate', this._onRenameAccepted.bind(this)); + + // Rename button + this._button = new St.Button({ + style_class: 'button', + reactive: true, + button_mask: St.ButtonMask.ONE | St.ButtonMask.TWO, + can_focus: true, + label: _('Rename'), + }); + this.add_child(this._button); + this._button.connect('clicked', this._onRenameAccepted.bind(this)); + } + + vfunc_map() { + this._entry.text = this._fileItem.displayName; + this._entry.clutter_text.set_selection(0, -1); + super.vfunc_map(); + } + + vfunc_key_focus_in() { + super.vfunc_key_focus_in(); + this._entry.clutter_text.grab_key_focus(); + } + + _isValidFolderName() { + let newName = this._entry.text.trim(); + + return newName.length > 0 && newName.indexOf('/') === -1 && + newName != this._fileItem.displayName; + } + + _validate() { + this._button.reactive = this._isValidFolderName(); + } + + _onRenameAccepted() { + if (!this._isValidFolderName()) + return; + + DBusUtils.NautilusFileOperationsProxy.RenameFileRemote( + this._fileItem.file.get_uri(), + this._entry.text.trim(), + (result, error) => { + if (error) + throw new Error('Error renaming file: ' + error.message); + } + ); + + this.activate(Clutter.get_current_event()); + } +}); + +var RenamePopup = class RenameFolderMenu extends PopupMenu.PopupMenu { + constructor(fileItem) { + super(fileItem, 0.5, St.Side.TOP); + this.actor.add_style_class_name('rename-popup'); + + // We want to keep the item hovered while the menu is up + this.blockSourceEvents = true; + + let menuItem = new RenamePopupMenuItem(fileItem); + this.addMenuItem(menuItem); + + if (this.focusActor !== undefined) { + // Focus the text entry on menu pop-up, works starting 3.34.1 + this.focusActor = menuItem; + } else { + this.connect('open-state-changed', (_menu, state) => { + if (state) + this._openId = GLib.idle_add(GLib.PRIORITY_DEFAULT, () => { + delete this._openId; + menuItem.grab_key_focus() + }); + else if (this._openId) + GLib.source_remove(this._openId); + }); + } + + // Chain our visibility and lifecycle to that of the fileItem source + this._fileItemMappedId = fileItem.connect('notify::mapped', () => { + if (!fileItem.mapped) + this.close(); + }); + fileItem.connect('destroy', () => { + fileItem.disconnect(this._fileItemMappedId); + this.destroy(); + }); + + Main.uiGroup.add_actor(this.actor); + } +}; diff --git a/extensions/desktop-icons/desktopIconsUtil.js b/extensions/desktop-icons/desktopIconsUtil.js new file mode 100644 index 00000000..696c945e --- /dev/null +++ b/extensions/desktop-icons/desktopIconsUtil.js @@ -0,0 +1,164 @@ +/* Desktop Icons GNOME Shell extension + * + * Copyright (C) 2017 Carlos Soriano + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +const Gtk = imports.gi.Gtk; +const Gio = imports.gi.Gio; +const GLib = imports.gi.GLib; +const ExtensionUtils = imports.misc.extensionUtils; +const Me = ExtensionUtils.getCurrentExtension(); +const Prefs = Me.imports.prefs; +const Main = imports.ui.main; +const ShellMountOperation = imports.ui.shellMountOperation; + +const TERMINAL_SCHEMA = 'org.gnome.desktop.default-applications.terminal'; +const EXEC_KEY = 'exec'; + +var DEFAULT_ATTRIBUTES = 'metadata::*,standard::*,access::*,time::modified,unix::mode'; + +function getDesktopDir() { + let desktopPath = GLib.get_user_special_dir(GLib.UserDirectory.DIRECTORY_DESKTOP); + return Gio.File.new_for_commandline_arg(desktopPath); +} + +function clamp(value, min, max) { + return Math.max(Math.min(value, max), min); +}; + +function launchTerminal(workdir) { + let terminalSettings = new Gio.Settings({ schema_id: TERMINAL_SCHEMA }); + let exec = terminalSettings.get_string(EXEC_KEY); + let argv = [exec, `--working-directory=${workdir}`]; + + /* The following code has been extracted from GNOME Shell's + * source code in Misc.Util.trySpawn function and modified to + * set the working directory. + * + * https://gitlab.gnome.org/GNOME/gnome-shell/blob/gnome-3-30/js/misc/util.js + */ + + var success, pid; + try { + [success, pid] = GLib.spawn_async(workdir, argv, null, + GLib.SpawnFlags.SEARCH_PATH | GLib.SpawnFlags.DO_NOT_REAP_CHILD, + null); + } catch (err) { + /* Rewrite the error in case of ENOENT */ + if (err.matches(GLib.SpawnError, GLib.SpawnError.NOENT)) { + throw new GLib.SpawnError({ code: GLib.SpawnError.NOENT, + message: _("Command not found") }); + } else if (err instanceof GLib.Error) { + // The exception from gjs contains an error string like: + // Error invoking GLib.spawn_command_line_async: Failed to + // execute child process "foo" (No such file or directory) + // We are only interested in the part in the parentheses. (And + // we can't pattern match the text, since it gets localized.) + let message = err.message.replace(/.*\((.+)\)/, '$1'); + throw new (err.constructor)({ code: err.code, + message: message }); + } else { + throw err; + } + } + // Dummy child watch; we don't want to double-fork internally + // because then we lose the parent-child relationship, which + // can break polkit. See https://bugzilla.redhat.com//show_bug.cgi?id=819275 + GLib.child_watch_add(GLib.PRIORITY_DEFAULT, pid, () => {}); +} + +function distanceBetweenPoints(x, y, x2, y2) { + return (Math.pow(x - x2, 2) + Math.pow(y - y2, 2)); +} + +function getExtraFolders() { + let extraFolders = new Array(); + if (Prefs.settings.get_boolean('show-home')) { + extraFolders.push([Gio.File.new_for_commandline_arg(GLib.get_home_dir()), Prefs.FileType.USER_DIRECTORY_HOME]); + } + if (Prefs.settings.get_boolean('show-trash')) { + extraFolders.push([Gio.File.new_for_uri('trash:///'), Prefs.FileType.USER_DIRECTORY_TRASH]); + } + return extraFolders; +} + +function getFileExtensionOffset(filename, isDirectory) { + let offset = filename.length; + + if (!isDirectory) { + let doubleExtensions = ['.gz', '.bz2', '.sit', '.Z', '.bz', '.xz']; + for (let extension of doubleExtensions) { + if (filename.endsWith(extension)) { + offset -= extension.length; + filename = filename.substring(0, offset); + break; + } + } + let lastDot = filename.lastIndexOf('.'); + if (lastDot > 0) + offset = lastDot; + } + return offset; +} + +function getGtkClassBackgroundColor(classname, state) { + let widget = new Gtk.WidgetPath(); + widget.append_type(Gtk.Widget); + + let context = new Gtk.StyleContext(); + context.set_path(widget); + context.add_class(classname); + return context.get_background_color(state); +} + +// Reference the extension org.gnome.shell.extensions.drive-menu +function eject(mount) { + let unmountArgs = [ + Gio.MountUnmountFlags.NONE, + (new ShellMountOperation.ShellMountOperation(mount)).mountOp, + null, // Gio.Cancellable + ]; + + if (mount.can_eject()) { + mount.eject_with_operation(...unmountArgs, + _ejectFinish.bind(mount)); + } else { + mount.unmount_with_operation(...unmountArgs, + _unmountFinish.bind(mount)); + } +} + +function _unmountFinish(mount, result) { + try { + mount.unmount_with_operation_finish(result); + } catch (e) { + this._reportFailure(e); + } +} + +function _ejectFinish(mount, result) { + try { + mount.eject_with_operation_finish(result); + } catch (e) { + this._reportFailure(e); + } +} + +function _reportFailure(exception) { + // TRANSLATORS: %s is the filesystem name + let msg = _('Ejecting drive “%s” failed:').format(this.mount.get_name()); + Main.notifyError(msg, exception.message); +} diff --git a/extensions/desktop-icons/desktopManager.js b/extensions/desktop-icons/desktopManager.js new file mode 100644 index 00000000..1aad8c67 --- /dev/null +++ b/extensions/desktop-icons/desktopManager.js @@ -0,0 +1,856 @@ +/* Desktop Icons GNOME Shell extension + * + * Copyright (C) 2017 Carlos Soriano + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +const Gtk = imports.gi.Gtk; +const Clutter = imports.gi.Clutter; +const GObject = imports.gi.GObject; +const Gio = imports.gi.Gio; +const GLib = imports.gi.GLib; +const St = imports.gi.St; +const Mainloop = imports.mainloop; +const Meta = imports.gi.Meta; + +const Animation = imports.ui.animation; +const Background = imports.ui.background; +const DND = imports.ui.dnd; +const Main = imports.ui.main; +const GrabHelper = imports.ui.grabHelper; + +const ExtensionUtils = imports.misc.extensionUtils; +const Me = ExtensionUtils.getCurrentExtension(); +const Extension = Me.imports.extension; +const DesktopGrid = Me.imports.desktopGrid; +const FileItem = Me.imports.fileItem; +const Prefs = Me.imports.prefs; +const DBusUtils = Me.imports.dbusUtils; +const DesktopIconsUtil = Me.imports.desktopIconsUtil; + +const { loadInterfaceXML } = imports.misc.fileUtils; + +const Clipboard = St.Clipboard.get_default(); +const CLIPBOARD_TYPE = St.ClipboardType.CLIPBOARD; + +var S_IWOTH = 0x00002; + +function getDpy() { + return global.screen || global.display; +} + +function findMonitorIndexForPos(x, y) { + return getDpy().get_monitor_index_for_rect(new Meta.Rectangle({x, y})); +} + + +var DesktopManager = GObject.registerClass({ + Properties: { + 'writable-by-others': GObject.ParamSpec.boolean( + 'writable-by-others', + 'WritableByOthers', + 'Whether the desktop\'s directory can be written by others (o+w unix permission)', + GObject.ParamFlags.READABLE, + false + ) + } +}, class DesktopManager extends GObject.Object { + _init(params) { + super._init(params); + + this._layoutChildrenId = 0; + this._deleteChildrenId = 0; + this._monitorDesktopDir = null; + this._desktopMonitorCancellable = null; + this._desktopGrids = {}; + this._fileItemHandlers = new Map(); + this._fileItems = new Map(); + this._dragCancelled = false; + this._queryFileInfoCancellable = null; + this._unixMode = null; + this._writableByOthers = null; + this._discreteGpuAvailable = false; + + this._monitorsChangedId = Main.layoutManager.connect('monitors-changed', () => this._recreateDesktopIcons()); + this._rubberBand = new St.Widget({ style_class: 'rubber-band' }); + this._rubberBand.hide(); + Main.layoutManager._backgroundGroup.add_child(this._rubberBand); + this._grabHelper = new GrabHelper.GrabHelper(global.stage); + + this._mountMonitor = Gio.VolumeMonitor.get(); + this._mountAddedId = this._mountMonitor.connect('mount-added', (monitor, mount) => { + this._recreateDesktopIcons(); }); + this._mountRemovedId = this._mountMonitor.connect('mount-removed', (monitor, mount) => { + this._recreateDesktopIcons(); }); + + this._addDesktopIcons(); + this._monitorDesktopFolder(); + + this.settingsId = Prefs.settings.connect('changed', () => this._recreateDesktopIcons()); + this.gtkSettingsId = Prefs.gtkSettings.connect('changed', (obj, key) => { + if (key == 'show-hidden') + this._recreateDesktopIcons(); + }); + this.nautilusSettingsId = Prefs.nautilusSettings.connect('changed', (obj, key) => { + if (key == 'show-image-thumbnails') + this._recreateDesktopIcons(); + }); + + this._selection = new Set(); + this._currentSelection = new Set(); + this._inDrag = false; + this._dragXStart = Number.POSITIVE_INFINITY; + this._dragYStart = Number.POSITIVE_INFINITY; + + this._switcherooNotifyId = global.connect('notify::switcheroo-control', + () => this._updateDiscreteGpuAvailable()); + this._updateDiscreteGpuAvailable(); + } + + _updateDiscreteGpuAvailable() { + this._switcherooProxy = global.get_switcheroo_control(); + if (this._switcherooProxy) { + let prop = this._switcherooProxy.get_cached_property('HasDualGpu'); + this._discreteGpuAvailable = prop ? prop.unpack() : false; + } else { + this._discreteGpuAvailable = false; + } + } + + startRubberBand(x, y) { + this._rubberBandInitialX = x; + this._rubberBandInitialY = y; + this._initRubberBandColor(); + this._updateRubberBand(x, y); + this._rubberBand.show(); + this._grabHelper.grab({ actor: global.stage }); + Extension.lockActivitiesButton = true; + this._stageReleaseEventId = global.stage.connect('button-release-event', (actor, event) => { + this.endRubberBand(); + }); + this._rubberBandId = global.stage.connect('motion-event', (actor, event) => { + /* In some cases, when the user starts a rubberband selection and ends it + * (by releasing the left button) over a window instead of doing it over + * the desktop, the stage doesn't receive the "button-release" event. + * This happens currently with, at least, Dash to Dock extension, but + * it probably also happens with other applications or extensions. + * To fix this, we also end the rubberband selection if we detect mouse + * motion in the stage without the left button pressed during a + * rubberband selection. + * */ + let button = event.get_state(); + if (!(button & Clutter.ModifierType.BUTTON1_MASK)) { + this.endRubberBand(); + return; + } + [x, y] = event.get_coords(); + this._updateRubberBand(x, y); + let x0, y0, x1, y1; + if (x >= this._rubberBandInitialX) { + x0 = this._rubberBandInitialX; + x1 = x; + } else { + x1 = this._rubberBandInitialX; + x0 = x; + } + if (y >= this._rubberBandInitialY) { + y0 = this._rubberBandInitialY; + y1 = y; + } else { + y1 = this._rubberBandInitialY; + y0 = y; + } + for (let [fileUri, fileItem] of this._fileItems) { + fileItem.emit('selected', true, true, + fileItem.intersectsWith(x0, y0, x1 - x0, y1 - y0)); + } + }); + } + + endRubberBand() { + this._rubberBand.hide(); + Extension.lockActivitiesButton = false; + this._grabHelper.ungrab(); + global.stage.disconnect(this._rubberBandId); + global.stage.disconnect(this._stageReleaseEventId); + this._rubberBandId = 0; + this._stageReleaseEventId = 0; + + this._selection = new Set([...this._selection, ...this._currentSelection]); + this._currentSelection.clear(); + } + + _updateRubberBand(currentX, currentY) { + let x = this._rubberBandInitialX < currentX ? this._rubberBandInitialX + : currentX; + let y = this._rubberBandInitialY < currentY ? this._rubberBandInitialY + : currentY; + let width = Math.abs(this._rubberBandInitialX - currentX); + let height = Math.abs(this._rubberBandInitialY - currentY); + /* TODO: Convert to gobject.set for 3.30 */ + this._rubberBand.set_position(x, y); + this._rubberBand.set_size(width, height); + } + + _recreateDesktopIcons() { + this.clearSelection(); + this._destroyDesktopIcons(); + this._addDesktopIcons(); + } + + _addDesktopIcons() { + let first_element = true; + forEachBackgroundManager(bgManager => { + let newGrid = new DesktopGrid.DesktopGrid(bgManager); + newGrid.connect('destroy', (actor) => { + // if a grid loses its actor, remove it from the grid list + for (let grid in this._desktopGrids) + if (this._desktopGrids[grid] == actor) { + delete this._desktopGrids[grid]; + break; + } + }); + newGrid.isFirst = first_element; + first_element = false; + this._desktopGrids[bgManager._monitorIndex] = newGrid; + }); + + this._scanFiles(); + } + + _destroyDesktopIcons() { + Object.values(this._desktopGrids).forEach(grid => grid.destroy()); + this._desktopGrids = {}; + } + + /** + * Initialize rubberband color from the GTK rubberband class + * */ + _initRubberBandColor() { + let rgba = DesktopIconsUtil.getGtkClassBackgroundColor('rubberband', Gtk.StateFlags.NORMAL); + let background_color = + 'rgba(' + rgba.red * 255 + ', ' + rgba.green * 255 + ', ' + rgba.blue * 255 + ', 0.4)'; + this._rubberBand.set_style('background-color: ' + background_color); + } + + async _scanFiles() { + for (let [fileItem, fileItemHandler] of this._fileItemHandlers) + Object.values(fileItemHandler).forEach(id => fileItem.disconnect(id)); + + this._fileItemHandlers = new Map(); + + if (!this._unixMode) { + let desktopDir = DesktopIconsUtil.getDesktopDir(); + let fileInfo = desktopDir.query_info(Gio.FILE_ATTRIBUTE_UNIX_MODE, + Gio.FileQueryInfoFlags.NONE, + null); + this._unixMode = fileInfo.get_attribute_uint32(Gio.FILE_ATTRIBUTE_UNIX_MODE); + this._setWritableByOthers((this._unixMode & S_IWOTH) != 0); + } + + try { + let items = []; + for (let item of await this._enumerateDesktop()) + items.push(item); + for (let item of this._getMounts()) + items.push(item); + + let tmpFileItems = new Map(); + for (let [file, info, extra] of items) { + let fileItem = new FileItem.FileItem(file, info, extra); + tmpFileItems.set(fileItem.file.get_uri(), fileItem); + let fileItemHandler = {} + fileItemHandler.selectedId = fileItem.connect('selected', + this._onFileItemSelected.bind(this)); + fileItemHandler.destroyId = fileItem.connect('destroy', () => { + this._fileItemHandlers.delete(fileItem); + }); + this._fileItemHandlers.set(fileItem, fileItemHandler); + } + this._fileItems = tmpFileItems; + } catch (e) { + if (!e.matches(Gio.IOErrorEnum, Gio.IOErrorEnum.CANCELLED)) + log(`Error loading desktop files ${e.message}`, logError(e)); + return; + } + + this.scheduleReLayoutChildren(); + } + + getDesktopFileNames () { + let fileList = []; + for (let [uri, item] of this._fileItems) { + fileList.push(item.fileName); + } + return fileList; + } + + _enumerateDesktop() { + return new Promise((resolve, reject) => { + if (this._desktopEnumerateCancellable) + this._desktopEnumerateCancellable.cancel(); + + this._desktopEnumerateCancellable = new Gio.Cancellable(); + + let desktopDir = DesktopIconsUtil.getDesktopDir(); + desktopDir.enumerate_children_async(DesktopIconsUtil.DEFAULT_ATTRIBUTES, + Gio.FileQueryInfoFlags.NONE, + GLib.PRIORITY_DEFAULT, + this._desktopEnumerateCancellable, + (source, result) => { + try { + let fileEnum = source.enumerate_children_finish(result); + let resultGenerator = function *() { + let info; + for (let [newFolder, extras] of DesktopIconsUtil.getExtraFolders()) { + yield [newFolder, newFolder.query_info(DesktopIconsUtil.DEFAULT_ATTRIBUTES, Gio.FileQueryInfoFlags.NONE, this._desktopEnumerateCancellable), extras]; + } + while ((info = fileEnum.next_file(null))) + yield [fileEnum.get_child(info), info, Prefs.FileType.NONE]; + }.bind(this); + resolve(resultGenerator()); + } catch (e) { + reject(e); + } + }); + }); + } + + _monitorDesktopFolder() { + if (this._monitorDesktopDir) { + this._monitorDesktopDir.cancel(); + this._monitorDesktopDir = null; + } + + let desktopDir = DesktopIconsUtil.getDesktopDir(); + this._monitorDesktopDir = desktopDir.monitor_directory(Gio.FileMonitorFlags.WATCH_MOVES, null); + this._monitorDesktopDir.set_rate_limit(1000); + this._monitorDesktopDir.connect('changed', (obj, file, otherFile, eventType) => this._updateDesktopIfChanged(file, otherFile, eventType)); + } + + _getMounts() { + let files = []; + if (!Prefs.settings.get_boolean('show-mount')) + return files; + + this._mountMonitor.get_mounts().forEach( mount => { + if (this._isNetworkMount(mount)) + return; + + let file = mount.get_root(); + let info = file.query_info(DesktopIconsUtil.DEFAULT_ATTRIBUTES, + Gio.FileQueryInfoFlags.NONE, + null); + files.push([file, info, Prefs.FileType.MOUNT_DISK]); + }); + + return files; + } + + _isNetworkMount(mount) { + let volume = mount.get_volume(); + if (!volume) + return true; + + return volume.get_identifier('class') == 'network'; + } + + checkIfSpecialFilesAreSelected() { + for (let fileItem of this._selection) { + if (fileItem.isSpecial) + return true; + } + return false; + } + + getNumberOfSelectedItems() { + return this._selection.size; + } + + get writableByOthers() { + return this._writableByOthers; + } + + _setWritableByOthers(value) { + if (value == this._writableByOthers) + return; + + this._writableByOthers = value + this.notify('writable-by-others'); + } + + get discreteGpuAvailable() { + return this._discreteGpuAvailable; + } + + get switcherooProxyGPUs() { + if (!this._switcherooProxy) { + log('Could not apply discrete GPU environment, switcheroo-control not available'); + return null; + } + let prop = this._switcherooProxy.get_cached_property("GPUs"); + return prop ? prop.unpack() : null; + } + + _updateDesktopIfChanged (file, otherFile, eventType) { + let { + DELETED, MOVED_IN, MOVED_OUT, CREATED, RENAMED, CHANGES_DONE_HINT, ATTRIBUTE_CHANGED + } = Gio.FileMonitorEvent; + + let fileUri = file.get_uri(); + let fileItem = this._fileItems.get(fileUri); + switch(eventType) { + case RENAMED: + this._fileItems.delete(fileUri); + this._fileItems.set(otherFile.get_uri(), fileItem); + fileItem.onFileRenamed(otherFile); + return; + case CHANGES_DONE_HINT: + case ATTRIBUTE_CHANGED: + /* a file changed, rather than the desktop itself */ + let desktopDir = DesktopIconsUtil.getDesktopDir(); + if (fileItem && file.get_uri() != desktopDir.get_uri()) { + fileItem.onAttributeChanged(); + return; + } + + if (this._queryFileInfoCancellable) + this._queryFileInfoCancellable.cancel(); + + file.query_info_async(Gio.FILE_ATTRIBUTE_UNIX_MODE, + Gio.FileQueryInfoFlags.NONE, + GLib.PRIORITY_DEFAULT, + this._queryFileInfoCancellable, + (source, result) => { + try { + let info = source.query_info_finish(result); + this._queryFileInfoCancellable = null; + + this._unixMode = info.get_attribute_uint32(Gio.FILE_ATTRIBUTE_UNIX_MODE); + this._setWritableByOthers((this._unixMode & S_IWOTH) != 0); + + if (this._writableByOthers) + log(`desktop-icons: Desktop is writable by others - will not allow launching any desktop files`); + } catch(error) { + if (!error.matches(Gio.IOErrorEnum, Gio.IOErrorEnum.CANCELLED)) + global.log('Error getting desktop unix mode: ' + error); + } + }); + + return; + } + + // Only get a subset of events we are interested in. + // Note that CREATED will emit a CHANGES_DONE_HINT + if (![DELETED, MOVED_IN, MOVED_OUT, CREATED].includes(eventType)) + return; + + this._recreateDesktopIcons(); + } + + _setupDnD() { + this._draggableContainer = new St.Widget({ + visible: true, + width: 1, + height: 1, + x: 0, + y: 0, + style_class: 'draggable' + }); + this._draggableContainer._delegate = this; + this._draggable = DND.makeDraggable(this._draggableContainer, + { + manualMode: true, + dragActorOpacity: 100 + }); + + this._draggable.connect('drag-cancelled', () => this._onDragCancelled()); + this._draggable.connect('drag-end', () => this._onDragEnd()); + + this._draggable._dragActorDropped = event => this._dragActorDropped(event); + } + + dragStart() { + if (this._inDrag) { + return; + } + + this._setupDnD(); + let event = Clutter.get_current_event(); + let [x, y] = event.get_coords(); + [this._dragXStart, this._dragYStart] = event.get_coords(); + this._inDrag = true; + + for (let fileItem of this._selection) { + let clone = new Clutter.Clone({ + source: fileItem, + reactive: false + }); + clone.x = fileItem.get_transformed_position()[0]; + clone.y = fileItem.get_transformed_position()[1]; + this._draggableContainer.add_child(clone); + } + + Main.layoutManager.uiGroup.add_child(this._draggableContainer); + + if (this._draggableContainer.get_fixed_position !== undefined) + this._draggableContainer.allocate_preferred_size(0, 0); + + this._draggable.startDrag(x, y, global.get_current_time(), event.get_event_sequence()); + } + + _onDragCancelled() { + let event = Clutter.get_current_event(); + let [x, y] = event.get_coords(); + this._dragCancelled = true; + } + + _onDragEnd() { + this._inDrag = false; + Main.layoutManager.uiGroup.remove_child(this._draggableContainer); + } + + _dragActorDropped(event) { + let [dropX, dropY] = event.get_coords(); + let target = this._draggable._dragActor.get_stage().get_actor_at_pos(Clutter.PickMode.ALL, + dropX, dropY); + + // We call observers only once per motion with the innermost + // target actor. If necessary, the observer can walk the + // parent itself. + let dropEvent = { + dropActor: this._draggable._dragActor, + targetActor: target, + clutterEvent: event + }; + for (let dragMonitor of DND.dragMonitors) { + let dropFunc = dragMonitor.dragDrop; + if (dropFunc) + switch (dropFunc(dropEvent)) { + case DragDropResult.FAILURE: + case DragDropResult.SUCCESS: + return true; + case DragDropResult.CONTINUE: + continue; + } + } + + // At this point it is too late to cancel a drag by destroying + // the actor, the fate of which is decided by acceptDrop and its + // side-effects + this._draggable._dragCancellable = false; + + let destroyActor = false; + while (target) { + if (target._delegate && target._delegate.acceptDrop) { + let [r, targX, targY] = target.transform_stage_point(dropX, dropY); + if (target._delegate.acceptDrop(this._draggable.actor._delegate, + this._draggable._dragActor, + targX, + targY, + event.get_time())) { + // If it accepted the drop without taking the actor, + // handle it ourselves. + if (this._draggable._dragActor.get_parent() == Main.uiGroup) { + if (this._draggable._restoreOnSuccess) { + this._draggable._restoreDragActor(event.get_time()); + return true; + } + else { + // We need this in order to make sure drag-end is fired + destroyActor = true; + } + } + + this._draggable._dragInProgress = false; + getDpy().set_cursor(Meta.Cursor.DEFAULT); + this._draggable.emit('drag-end', event.get_time(), true); + if (destroyActor) { + this._draggable._dragActor.destroy(); + } + this._draggable._dragComplete(); + + return true; + } + } + target = target.get_parent(); + } + + this._draggable._cancelDrag(event.get_time()); + + return true; + } + + acceptDrop(xEnd, yEnd) { + let savedCoordinates = new Map(); + let [xDiff, yDiff] = [xEnd - this._dragXStart, yEnd - this._dragYStart]; + /* Remove all items before dropping new ones, so we can freely reposition + * them. + */ + for (let item of this._selection) { + let [itemX, itemY] = item.get_transformed_position(); + let monitorIndex = findMonitorIndexForPos(itemX, itemY); + savedCoordinates.set(item, [itemX, itemY]); + this._desktopGrids[monitorIndex].removeFileItem(item); + } + + for (let item of this._selection) { + let [itemX, itemY] = savedCoordinates.get(item); + /* Set the new ideal position where the item drop should happen */ + let newFileX = Math.round(xDiff + itemX); + let newFileY = Math.round(yDiff + itemY); + let monitorIndex = findMonitorIndexForPos(newFileX, newFileY); + this._desktopGrids[monitorIndex].addFileItemCloseTo(item, newFileX, newFileY, DesktopGrid.StoredCoordinates.OVERWRITE); + } + + return true; + } + + selectionDropOnFileItem (fileItemDestination) { + if (!fileItemDestination.isDirectory) + return false; + + let droppedUris = []; + for (let fileItem of this._selection) { + if (fileItem.isSpecial) + return false; + if (fileItemDestination.file.get_uri() == fileItem.file.get_uri()) + return false; + droppedUris.push(fileItem.file.get_uri()); + } + + if (droppedUris.length == 0) + return true; + + DBusUtils.NautilusFileOperationsProxy.MoveURIsRemote(droppedUris, + fileItemDestination.file.get_uri(), + (result, error) => { + if (error) + throw new Error('Error moving files: ' + error.message); + } + ); + for (let fileItem of this._selection) { + fileItem.state = FileItem.State.GONE; + } + + this._recreateDesktopIcons(); + + return true; + } + + _resetGridsAndScheduleLayout() { + this._deleteChildrenId = 0; + + Object.values(this._desktopGrids).forEach((grid) => grid.reset()); + + if (!this._layoutChildrenId) + this._layoutChildrenId = GLib.idle_add(GLib.PRIORITY_LOW, () => this._layoutChildren()); + + return GLib.SOURCE_REMOVE; + } + + scheduleReLayoutChildren() { + if (this._deleteChildrenId != 0) + return; + + if (this._layoutChildrenId != 0) { + GLib.source_remove(this._layoutChildrenId); + this._layoutChildrenId = 0; + } + + + this._deleteChildrenId = GLib.idle_add(GLib.PRIORITY_LOW, () => this._resetGridsAndScheduleLayout()); + } + + _addFileItemCloseTo(item) { + let coordinates; + let x = 0; + let y = 0; + let coordinatesAction = DesktopGrid.StoredCoordinates.ASSIGN; + if (item.savedCoordinates != null) { + [x, y] = item.savedCoordinates; + coordinatesAction = DesktopGrid.StoredCoordinates.PRESERVE; + } + let monitorIndex = findMonitorIndexForPos(x, y); + let desktopGrid = this._desktopGrids[monitorIndex]; + try { + desktopGrid.addFileItemCloseTo(item, x, y, coordinatesAction); + } catch (e) { + log(`Error adding children to desktop: ${e.message}`); + } + } + + _layoutChildren() { + let showHidden = Prefs.gtkSettings.get_boolean('show-hidden'); + /* + * Paint the icons in two passes: + * * first pass paints those that have their coordinates defined in the metadata + * * second pass paints those new files that still don't have their definitive coordinates + */ + for (let [fileUri, fileItem] of this._fileItems) { + if (fileItem.savedCoordinates == null) + continue; + if (fileItem.state != FileItem.State.NORMAL) + continue; + if (!showHidden && fileItem.isHidden) + continue; + this._addFileItemCloseTo(fileItem); + } + + for (let [fileUri, fileItem] of this._fileItems) { + if (fileItem.savedCoordinates !== null) + continue; + if (fileItem.state != FileItem.State.NORMAL) + continue; + if (!showHidden && fileItem.isHidden) + continue; + this._addFileItemCloseTo(fileItem); + } + + this._layoutChildrenId = 0; + return GLib.SOURCE_REMOVE; + } + + doRename() { + if (this._selection.size != 1) + return; + + let item = [...this._selection][0]; + if (item.canRename()) + item.doRename(); + } + + doPreview() { + if (this._selection.size == 0) + return; + + let item = [...this._selection][0]; + DBusUtils.GnomeNautilusPreviewProxy.ShowFileRemote(item.file.get_uri(), 0, false); + } + + doOpen() { + for (let fileItem of this._selection) + fileItem.doOpen(); + } + + doTrash() { + DBusUtils.NautilusFileOperationsProxy.TrashFilesRemote([...this._selection].map((x) => { return x.file.get_uri(); }), + (source, error) => { + if (error) + throw new Error('Error trashing files on the desktop: ' + error.message); + } + ); + } + + doEmptyTrash() { + DBusUtils.NautilusFileOperationsProxy.EmptyTrashRemote( (source, error) => { + if (error) + throw new Error('Error trashing files on the desktop: ' + error.message); + }); + } + + _onFileItemSelected(fileItem, keepCurrentSelection, rubberBandSelection, addToSelection) { + + if (!keepCurrentSelection && !this._inDrag) + this.clearSelection(); + + let selection = keepCurrentSelection && rubberBandSelection ? this._currentSelection : this._selection; + if (addToSelection) + selection.add(fileItem); + else + selection.delete(fileItem); + + for (let [fileUri, fileItem] of this._fileItems) + fileItem.isSelected = this._currentSelection.has(fileItem) || this._selection.has(fileItem); + } + + clearSelection() { + for (let [fileUri, fileItem] of this._fileItems) + fileItem.isSelected = false; + this._selection = new Set(); + this._currentSelection = new Set(); + } + + _getClipboardText(isCopy) { + let action = isCopy ? 'copy' : 'cut'; + let text = `x-special/nautilus-clipboard\n${action}\n${ + [...this._selection].map(s => s.file.get_uri()).join('\n') + }\n`; + + return text; + } + + doCopy() { + Clipboard.set_text(CLIPBOARD_TYPE, this._getClipboardText(true)); + } + + doCut() { + Clipboard.set_text(CLIPBOARD_TYPE, this._getClipboardText(false)); + } + + destroy() { + if (this._monitorDesktopDir) + this._monitorDesktopDir.cancel(); + this._monitorDesktopDir = null; + + if (this._mountAddedId) + this._mountMonitor.disconnect(this._mountAddedId); + this._mountAddedId = 0; + if (this._mountRemovedId) + this._mountMonitor.disconnect(this._mountRemovedId); + this._mountRemovedId = 0; + + if (this.settingsId) + Prefs.settings.disconnect(this.settingsId); + this.settingsId = 0; + if (this.gtkSettingsId) + Prefs.gtkSettings.disconnect(this.gtkSettingsId); + this.gtkSettingsId = 0; + if (this.nautilusSettingsId) + Prefs.nautilusSettings.disconnect(this.nautilusSettingsId); + this.nautilusSettingsId = 0; + + if (this._layoutChildrenId) + GLib.source_remove(this._layoutChildrenId); + this._layoutChildrenId = 0; + + if (this._deleteChildrenId) + GLib.source_remove(this._deleteChildrenId); + this._deleteChildrenId = 0; + + if (this._monitorsChangedId) + Main.layoutManager.disconnect(this._monitorsChangedId); + this._monitorsChangedId = 0; + if (this._stageReleaseEventId) + global.stage.disconnect(this._stageReleaseEventId); + this._stageReleaseEventId = 0; + + if (this._rubberBandId) + global.stage.disconnect(this._rubberBandId); + this._rubberBandId = 0; + + this._rubberBand.destroy(); + + if (this._queryFileInfoCancellable) + this._queryFileInfoCancellable.cancel(); + + Object.values(this._desktopGrids).forEach(grid => grid.destroy()); + this._desktopGrids = {} + } +}); + +function forEachBackgroundManager(func) { + Main.layoutManager._bgManagers.forEach(func); +} diff --git a/extensions/desktop-icons/extension.js b/extensions/desktop-icons/extension.js new file mode 100644 index 00000000..be3e59d1 --- /dev/null +++ b/extensions/desktop-icons/extension.js @@ -0,0 +1,75 @@ +/* Desktop Icons GNOME Shell extension + * + * Copyright (C) 2017 Carlos Soriano + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +const Main = imports.ui.main; + +const ExtensionUtils = imports.misc.extensionUtils; +const Me = ExtensionUtils.getCurrentExtension(); +const Prefs = Me.imports.prefs; +const { DesktopManager } = Me.imports.desktopManager; +const { TemplateManager } = Me.imports.templateManager; +const DBusUtils = Me.imports.dbusUtils; + +var desktopManager = null; +var templateManager = null; +var addBackgroundMenuOrig = null; +var _startupPreparedId; +var lockActivitiesButton = false; + +var oldShouldToggleByCornerOrButtonFunction = null; + +function init() { + addBackgroundMenuOrig = Main.layoutManager._addBackgroundMenu; + + Prefs.initTranslations(); +} + +function newShouldToggleByCornerOrButton() { + if (lockActivitiesButton) + return false; + else + return oldShouldToggleByCornerOrButtonFunction.bind(Main.overview); +} + +function enable() { + // register a new function to allow to lock the Activities button when doing a rubberband selection + oldShouldToggleByCornerOrButtonFunction = Main.overview.shouldToggleByCornerOrButton; + Main.overview.shouldToggleByCornerOrButton = newShouldToggleByCornerOrButton; + // wait until the startup process has ended + if (Main.layoutManager._startingUp) + _startupPreparedId = Main.layoutManager.connect('startup-complete', () => innerEnable(true)); + else + innerEnable(false); +} + +function innerEnable(disconnectSignal) { + if (disconnectSignal) + Main.layoutManager.disconnect(_startupPreparedId); + DBusUtils.init(); + Prefs.init(); + Main.layoutManager._addBackgroundMenu = function() {}; + desktopManager = new DesktopManager(); + templateManager = new TemplateManager(); +} + +function disable() { + desktopManager.destroy(); + templateManager.destroy(); + Main.layoutManager._addBackgroundMenu = addBackgroundMenuOrig; + Main.overview.shouldToggleByCornerOrButton = oldShouldToggleByCornerOrButtonFunction; +} diff --git a/extensions/desktop-icons/fileItem.js b/extensions/desktop-icons/fileItem.js new file mode 100644 index 00000000..9987e7fe --- /dev/null +++ b/extensions/desktop-icons/fileItem.js @@ -0,0 +1,961 @@ +/* Desktop Icons GNOME Shell extension + * + * Copyright (C) 2017 Carlos Soriano + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +const Gtk = imports.gi.Gtk; +const Clutter = imports.gi.Clutter; +const Gio = imports.gi.Gio; +const GLib = imports.gi.GLib; +const GObject = imports.gi.GObject; +const St = imports.gi.St; +const Pango = imports.gi.Pango; +const Meta = imports.gi.Meta; +const GdkPixbuf = imports.gi.GdkPixbuf; +const Cogl = imports.gi.Cogl; +const GnomeDesktop = imports.gi.GnomeDesktop; + +const Mainloop = imports.mainloop; + +const Config = imports.misc.config; +const Background = imports.ui.background; +const Main = imports.ui.main; +const PopupMenu = imports.ui.popupMenu; +const Util = imports.misc.util; + +const ExtensionUtils = imports.misc.extensionUtils; +const Me = ExtensionUtils.getCurrentExtension(); +const Extension = Me.imports.extension; +const Prefs = Me.imports.prefs; +const DBusUtils = Me.imports.dbusUtils; +const DesktopIconsUtil = Me.imports.desktopIconsUtil; + +const Gettext = imports.gettext.domain('gnome-shell-extensions'); + +const _ = Gettext.gettext; + +const DRAG_TRESHOLD = 8; + +var S_IXUSR = 0o00100; +var S_IWOTH = 0o00002; + +var State = { + NORMAL: 0, + GONE: 1, +}; + +var FileItem = GObject.registerClass({ + GTypeName: 'DesktopIcons_FileItem', + Signals: { + 'rename-clicked': {}, + 'selected': { + param_types: [GObject.TYPE_BOOLEAN, GObject.TYPE_BOOLEAN, GObject.TYPE_BOOLEAN] + } + } +}, class FileItem extends St.Bin { + _init(file, fileInfo, fileExtra) { + super._init({ visible: true }); + + this._fileExtra = fileExtra; + this._loadThumbnailDataCancellable = null; + this._thumbnailScriptWatch = 0; + this._setMetadataCancellable = null; + this._queryFileInfoCancellable = null; + this._isSpecial = this._fileExtra != Prefs.FileType.NONE; + this._lastClickTime = 0; + this._lastClickButton = 0; + this._clickCount = 0; + + this._file = file; + this._mount = null; + if (this._fileExtra == Prefs.FileType.MOUNT_DISK) + this._mount = this._file.find_enclosing_mount(null); + + this._savedCoordinates = null; + let savedCoordinates = fileInfo.get_attribute_as_string('metadata::nautilus-icon-position'); + if (savedCoordinates != null) + this._savedCoordinates = savedCoordinates.split(',').map(x => Number(x)); + + this._state = State.NORMAL; + + try { + this.set_fill(true, true); + } catch(error) {} + let scaleFactor = St.ThemeContext.get_for_stage(global.stage).scale_factor; + this._delegate = this; + this.connect('destroy', () => this._onDestroy()); + + this._container = new St.BoxLayout({ reactive: true, + track_hover: true, + can_focus: true, + style_class: 'file-item', + x_expand: true, + y_expand: true, + x_align: Clutter.ActorAlign.FILL, + vertical: true }); + this.set_child(this._container); + this._icon = new St.Bin(); + this._icon.set_height(Prefs.get_icon_size() * scaleFactor); + this._iconAllocationIdleId = 0; + this._iconAllocationId = this._icon.connect("notify::allocation", () => { + if (this._iconAllocationIdleId) + GLib.source_remove(this._iconAllocationIdleId); + this._iconAllocationIdleId = GLib.idle_add(GLib.PRIORITY_DEFAULT, () => { + GLib.source_remove(this._iconAllocationIdleId); + this._iconAllocationIdleId = 0; + this._updateIcon(); + return GLib.SOURCE_REMOVE; + }); + }); + + this._iconContainer = new St.Bin({ visible: true }); + this._iconContainer.child = this._icon; + this._container.add_child(this._iconContainer); + + this._label = new St.Label({ + style_class: 'name-label' + }); + + this._container.add_child(this._label); + let clutterText = this._label.get_clutter_text(); + /* TODO: Convert to gobject.set for 3.30 */ + clutterText.set_line_wrap(true); + clutterText.set_line_wrap_mode(Pango.WrapMode.WORD_CHAR); + clutterText.set_ellipsize(Pango.EllipsizeMode.END); + + this._container.connect('button-press-event', (actor, event) => this._onPressButton(actor, event)); + this._container.connect('motion-event', (actor, event) => this._onMotion(actor, event)); + this._container.connect('leave-event', (actor, event) => this._onLeave(actor, event)); + this._container.connect('enter-event', (actor, event) => this._onEnter(actor, event)); + this._container.connect('button-release-event', (actor, event) => this._onReleaseButton(actor, event)); + + /* Set the metadata and update relevant UI */ + this._updateMetadataFromFileInfo(fileInfo); + + this._menuManager = null; + this._menu = null; + this._updateIcon(); + + this._isSelected = false; + this._primaryButtonPressed = false; + if (this._attributeCanExecute && !this._isValidDesktopFile) + this._execLine = this.file.get_path(); + if (fileExtra == Prefs.FileType.USER_DIRECTORY_TRASH) { + // if this icon is the trash, monitor the state of the directory to update the icon + this._trashChanged = false; + this._queryTrashInfoCancellable = null; + this._scheduleTrashRefreshId = 0; + this._monitorTrashDir = this._file.monitor_directory(Gio.FileMonitorFlags.WATCH_MOVES, null); + this._monitorTrashId = this._monitorTrashDir.connect('changed', (obj, file, otherFile, eventType) => { + switch(eventType) { + case Gio.FileMonitorEvent.DELETED: + case Gio.FileMonitorEvent.MOVED_OUT: + case Gio.FileMonitorEvent.CREATED: + case Gio.FileMonitorEvent.MOVED_IN: + if (this._queryTrashInfoCancellable || this._scheduleTrashRefreshId) { + if (this._scheduleTrashRefreshId) + GLib.source_remove(this._scheduleTrashRefreshId); + this._scheduleTrashRefreshId = Mainloop.timeout_add(200, () => this._refreshTrashIcon()); + } else { + this._refreshTrashIcon(); + } + break; + } + }); + } + + this._writebleByOthersId = Extension.desktopManager.connect('notify::writable-by-others', () => { + if (!this._isValidDesktopFile) + return; + this._refreshMetadataAsync(true); + }); + } + + set_margins(width, height) { + let scaleFactor = St.ThemeContext.get_for_stage(global.stage).scale_factor; + this.set_width(Prefs.getDesiredWidth(scaleFactor, width)); + this.set_height(Prefs.getDesiredHeight(scaleFactor, height)); + } + + onAttributeChanged() { + this._refreshMetadataAsync(this._isDesktopFile); + } + + _onDestroy() { + /* Regular file data */ + if (this._setMetadataCancellable) + this._setMetadataCancellable.cancel(); + if (this._queryFileInfoCancellable) + this._queryFileInfoCancellable.cancel(); + + Extension.desktopManager.disconnect(this._writebleByOthersId); + + /* Thumbnailing */ + if (this._thumbnailScriptWatch) + GLib.source_remove(this._thumbnailScriptWatch); + if (this._loadThumbnailDataCancellable) + this._loadThumbnailDataCancellable.cancel(); + + /* Desktop file */ + if (this._monitorDesktopFileId) { + this._monitorDesktopFile.disconnect(this._monitorDesktopFileId); + this._monitorDesktopFile.cancel(); + } + + /* Trash */ + if (this._monitorTrashDir) { + this._monitorTrashDir.disconnect(this._monitorTrashId); + this._monitorTrashDir.cancel(); + } + if (this._queryTrashInfoCancellable) + this._queryTrashInfoCancellable.cancel(); + if (this._scheduleTrashRefreshId) + GLib.source_remove(this._scheduleTrashRefreshId); + + /* Icon */ + this._icon.disconnect(this._iconAllocationId); + if (this._iconAllocationIdleId) + GLib.source_remove(this._iconAllocationIdleId); + + /* Menu */ + this._removeMenu(); + } + + _refreshMetadataAsync(rebuild) { + if (this._queryFileInfoCancellable) + this._queryFileInfoCancellable.cancel(); + this._queryFileInfoCancellable = new Gio.Cancellable(); + this._file.query_info_async(DesktopIconsUtil.DEFAULT_ATTRIBUTES, + Gio.FileQueryInfoFlags.NONE, + GLib.PRIORITY_DEFAULT, + this._queryFileInfoCancellable, + (source, result) => { + try { + let newFileInfo = source.query_info_finish(result); + this._queryFileInfoCancellable = null; + this._updateMetadataFromFileInfo(newFileInfo); + if (rebuild) + this._recreateMenu(); + this._updateIcon(); + } catch(error) { + if (!error.matches(Gio.IOErrorEnum, Gio.IOErrorEnum.CANCELLED)) + global.log("Error getting the file info: " + error); + } + }); + } + + _updateMetadataFromFileInfo(fileInfo) { + this._fileInfo = fileInfo; + + let oldLabelText = this._label.text; + + this._displayName = fileInfo.get_attribute_as_string('standard::display-name'); + this._attributeCanExecute = fileInfo.get_attribute_boolean('access::can-execute'); + this._unixmode = fileInfo.get_attribute_uint32('unix::mode'); + this._writableByOthers = (this._unixmode & S_IWOTH) != 0; + this._trusted = fileInfo.get_attribute_as_string('metadata::trusted') == 'true'; + this._attributeContentType = fileInfo.get_content_type(); + this._isDesktopFile = this._attributeContentType == 'application/x-desktop'; + + if (this._isDesktopFile && this._writableByOthers) + log(`desktop-icons: File ${this._displayName} is writable by others - will not allow launching`); + + if (this._isDesktopFile) { + this._desktopFile = Gio.DesktopAppInfo.new_from_filename(this._file.get_path()); + if (!this._desktopFile) { + log(`Couldn’t parse ${this._displayName} as a desktop file, will treat it as a regular file.`); + this._isValidDesktopFile = false; + } else { + this._isValidDesktopFile = true; + } + } else { + this._isValidDesktopFile = false; + } + + if (this.displayName != oldLabelText) { + this._label.text = this.displayName; + } + + this._fileType = fileInfo.get_file_type(); + this._isDirectory = this._fileType == Gio.FileType.DIRECTORY; + this._isSpecial = this._fileExtra != Prefs.FileType.NONE; + this._isHidden = fileInfo.get_is_hidden() | fileInfo.get_is_backup(); + this._isSymlink = fileInfo.get_is_symlink(); + this._modifiedTime = this._fileInfo.get_attribute_uint64("time::modified"); + /* + * This is a glib trick to detect broken symlinks. If a file is a symlink, the filetype + * points to the final file, unless it is broken; thus if the file type is SYMBOLIC_LINK, + * it must be a broken link. + * https://developer.gnome.org/gio/stable/GFile.html#g-file-query-info + */ + this._isBrokenSymlink = this._isSymlink && this._fileType == Gio.FileType.SYMBOLIC_LINK; + } + + onFileRenamed(file) { + this._file = file; + this._refreshMetadataAsync(false); + } + + _updateIcon() { + if (this._fileExtra == Prefs.FileType.USER_DIRECTORY_TRASH) { + this._icon.child = this._createEmblemedStIcon(this._fileInfo.get_icon(), null); + return; + } + if (this._fileExtra == Prefs.FileType.MOUNT_DISK) { + this._icon.child = this._createEmblemedStIcon(this._mount.get_icon(), null); + return; + } + + let thumbnailFactory = GnomeDesktop.DesktopThumbnailFactory.new(GnomeDesktop.DesktopThumbnailSize.LARGE); + if ((Prefs.nautilusSettings.get_string('show-image-thumbnails') != 'never') && + (thumbnailFactory.can_thumbnail(this._file.get_uri(), + this._attributeContentType, + this._modifiedTime))) { + let thumbnail = thumbnailFactory.lookup(this._file.get_uri(), this._modifiedTime); + if (thumbnail == null) { + if (!thumbnailFactory.has_valid_failed_thumbnail(this._file.get_uri(), + this._modifiedTime)) { + let argv = []; + argv.push(GLib.build_filenamev([ExtensionUtils.getCurrentExtension().path, + 'createThumbnail.js'])); + argv.push(this._file.get_path()); + let [success, pid] = GLib.spawn_async(null, argv, null, + GLib.SpawnFlags.SEARCH_PATH | GLib.SpawnFlags.DO_NOT_REAP_CHILD, null); + if (this._thumbnailScriptWatch) + GLib.source_remove(this._thumbnailScriptWatch); + this._thumbnailScriptWatch = GLib.child_watch_add(GLib.PRIORITY_DEFAULT, + pid, + (pid, exitCode) => { + this._thumbnailScriptWatch = 0; + if (exitCode == 0) + this._updateIcon(); + else + global.log('Failed to generate thumbnail for ' + this._filePath); + GLib.spawn_close_pid(pid); + return false; + } + ); + } + } else { + if (this._loadThumbnailDataCancellable) + this._loadThumbnailDataCancellable.cancel(); + this._loadThumbnailDataCancellable = new Gio.Cancellable(); + let thumbnailFile = Gio.File.new_for_path(thumbnail); + thumbnailFile.load_bytes_async(this._loadThumbnailDataCancellable, + (source, result) => { + try { + this._loadThumbnailDataCancellable = null; + let [thumbnailData, etag_out] = source.load_bytes_finish(result); + let thumbnailStream = Gio.MemoryInputStream.new_from_bytes(thumbnailData); + let thumbnailPixbuf = GdkPixbuf.Pixbuf.new_from_stream(thumbnailStream, null); + + if (thumbnailPixbuf != null) { + let scaleFactor = St.ThemeContext.get_for_stage(global.stage).scale_factor; + let thumbnailImage = new Clutter.Image(); + thumbnailImage.set_data(thumbnailPixbuf.get_pixels(), + thumbnailPixbuf.has_alpha ? Cogl.PixelFormat.RGBA_8888 : Cogl.PixelFormat.RGB_888, + thumbnailPixbuf.width, + thumbnailPixbuf.height, + thumbnailPixbuf.rowstride + ); + let icon = new Clutter.Actor(); + icon.set_content(thumbnailImage); + let containerWidth = (this._icon.allocation.x2 - this._icon.allocation.x1) * scaleFactor; + let containerHeight = Prefs.get_icon_size() * scaleFactor; + let containerAspectRatio = containerWidth / containerHeight; + let iconAspectRatio = thumbnailPixbuf.width / thumbnailPixbuf.height; + if (containerAspectRatio > iconAspectRatio) { + let iconWidth = containerHeight * iconAspectRatio; + icon.set_size(iconWidth, containerHeight); + let margin = (containerWidth - iconWidth) / 2; + icon.margin_left = Math.ceil(margin); + icon.margin_right = Math.floor(margin); + } else { + let iconHeight = containerWidth / iconAspectRatio; + icon.set_size(containerWidth, iconHeight); + let margin = (containerHeight - iconHeight) / 2; + icon.margin_top = Math.ceil(margin); + icon.margin_bottom = Math.floor(margin); + } + this._icon.child = icon; + } + } catch (error) { + if (!error.matches(Gio.IOErrorEnum, Gio.IOErrorEnum.CANCELLED)) { + global.log('Error while loading thumbnail: ' + error); + this._icon.child = this._createEmblemedStIcon(this._fileInfo.get_icon(), null); + } + } + } + ); + } + } + + if (this._isBrokenSymlink) { + this._icon.child = this._createEmblemedStIcon(null, 'text-x-generic'); + } else { + if (this.trustedDesktopFile && this._desktopFile.has_key('Icon')) + this._icon.child = this._createEmblemedStIcon(null, this._desktopFile.get_string('Icon')); + else + this._icon.child = this._createEmblemedStIcon(this._fileInfo.get_icon(), null); + } + } + + _refreshTrashIcon() { + if (this._queryTrashInfoCancellable) + this._queryTrashInfoCancellable.cancel(); + this._queryTrashInfoCancellable = new Gio.Cancellable(); + + this._file.query_info_async(DesktopIconsUtil.DEFAULT_ATTRIBUTES, + Gio.FileQueryInfoFlags.NONE, + GLib.PRIORITY_DEFAULT, + this._queryTrashInfoCancellable, + (source, result) => { + try { + this._fileInfo = source.query_info_finish(result); + this._queryTrashInfoCancellable = null; + this._updateIcon(); + } catch(error) { + if (!error.matches(Gio.IOErrorEnum, Gio.IOErrorEnum.CANCELLED)) + global.log('Error getting the number of files in the trash: ' + error); + } + }); + + this._scheduleTrashRefreshId = 0; + return false; + } + + get file() { + return this._file; + } + + get isHidden() { + return this._isHidden; + } + + _createEmblemedStIcon(icon, iconName) { + if (icon == null) { + if (GLib.path_is_absolute(iconName)) { + let iconFile = Gio.File.new_for_commandline_arg(iconName); + icon = new Gio.FileIcon({ file: iconFile }); + } else { + icon = Gio.ThemedIcon.new_with_default_fallbacks(iconName); + } + } + let itemIcon = Gio.EmblemedIcon.new(icon, null); + + if (this._isSymlink) { + if (this._isBrokenSymlink) + itemIcon.add_emblem(Gio.Emblem.new(Gio.ThemedIcon.new('emblem-unreadable'))); + else + itemIcon.add_emblem(Gio.Emblem.new(Gio.ThemedIcon.new('emblem-symbolic-link'))); + } else if (this.trustedDesktopFile) { + itemIcon.add_emblem(Gio.Emblem.new(Gio.ThemedIcon.new('emblem-symbolic-link'))); + } + + return new St.Icon({ gicon: itemIcon, + icon_size: Prefs.get_icon_size() + }); + } + + doRename() { + if (!this.canRename()) { + log (`Error: ${this.file.get_uri()} cannot be renamed`); + return; + } + + this.emit('rename-clicked'); + } + + _doOpenContext(context) { + if (this._isBrokenSymlink) { + log(`Error: Can’t open ${this.file.get_uri()} because it is a broken symlink.`); + return; + } + + if (this.trustedDesktopFile) { + this._desktopFile.launch_uris_as_manager([], context, GLib.SpawnFlags.SEARCH_PATH, null, null); + return; + } + + if (this._attributeCanExecute && + !this._isDirectory && + !this._isValidDesktopFile && + Gio.content_type_can_be_executable(this._attributeContentType)) { + if (this._execLine) + Util.spawnCommandLine(this._execLine); + return; + } + + Gio.AppInfo.launch_default_for_uri_async(this.file.get_uri(), + null, null, + (source, result) => { + try { + Gio.AppInfo.launch_default_for_uri_finish(result); + } catch (e) { + log('Error opening file ' + this.file.get_uri() + ': ' + e.message); + } + } + ); + } + + doOpen() { + this._doOpenContext(null); + } + + _doDiscreteGpu() { + let gpus = Extension.desktopManager.switcherooProxyGPUs; + if (!gpus) { + log('Could not apply discrete GPU environment, no GPUs in list'); + } + + for (let gpu in gpus) { + if (!gpus[gpu]) + continue; + + let default_variant = gpus[gpu].lookup_value('Default', null); + if (!default_variant || default_variant.get_boolean()) + continue; + + let env = gpus[gpu].lookup_value('Environment', null); + if (!env) + continue; + + let env_s = env.get_strv(); + let context = new Gio.AppLaunchContext; + for (let i = 0; i < env_s.length; i=i+2) { + context.setenv(env_s[i], env_s[i+1]); + } + this._doOpenContext(context); + return; + } + log('Could not find discrete GPU data in switcheroo-control'); + } + + _onCopyClicked() { + Extension.desktopManager.doCopy(); + } + + _onCutClicked() { + Extension.desktopManager.doCut(); + } + + _onShowInFilesClicked() { + + DBusUtils.FreeDesktopFileManagerProxy.ShowItemsRemote([this.file.get_uri()], '', + (result, error) => { + if (error) + log('Error showing file on desktop: ' + error.message); + } + ); + } + + _onPropertiesClicked() { + + DBusUtils.FreeDesktopFileManagerProxy.ShowItemPropertiesRemote([this.file.get_uri()], '', + (result, error) => { + if (error) + log('Error showing properties: ' + error.message); + } + ); + } + + _onMoveToTrashClicked() { + Extension.desktopManager.doTrash(); + } + + _onEmptyTrashClicked() { + Extension.desktopManager.doEmptyTrash(); + } + + _onEjectClicked() { + DesktopIconsUtil.eject(this._mount); + } + + get _allowLaunchingText() { + if (this.trustedDesktopFile) + return _("Don’t Allow Launching"); + + return _("Allow Launching"); + } + + get metadataTrusted() { + return this._trusted; + } + + set metadataTrusted(value) { + this._trusted = value; + + let info = new Gio.FileInfo(); + info.set_attribute_string('metadata::trusted', + value ? 'true' : 'false'); + this._file.set_attributes_async(info, + Gio.FileQueryInfoFlags.NONE, + GLib.PRIORITY_LOW, + null, + (source, result) => { + try { + source.set_attributes_finish(result); + this._refreshMetadataAsync(true); + } catch(e) { + log(`Failed to set metadata::trusted: ${e.message}`); + } + }); + } + + _onAllowDisallowLaunchingClicked() { + this.metadataTrusted = !this.trustedDesktopFile; + + /* + * we're marking as trusted, make the file executable too. note that we + * do not ever remove the executable bit, since we don't know who set + * it. + */ + if (this.metadataTrusted && !this._attributeCanExecute) { + let info = new Gio.FileInfo(); + let newUnixMode = this._unixmode | S_IXUSR; + info.set_attribute_uint32(Gio.FILE_ATTRIBUTE_UNIX_MODE, newUnixMode); + this._file.set_attributes_async(info, + Gio.FileQueryInfoFlags.NONE, + GLib.PRIORITY_LOW, + null, + (source, result) => { + try { + source.set_attributes_finish (result); + } catch(e) { + log(`Failed to set unix mode: ${e.message}`); + } + }); + } + } + + canRename() { + return !this.trustedDesktopFile && this._fileExtra == Prefs.FileType.NONE; + } + + _doOpenWith() { + DBusUtils.openFileWithOtherApplication(this.file.get_path()); + } + + _getSelectionStyle() { + let rgba = DesktopIconsUtil.getGtkClassBackgroundColor('view', Gtk.StateFlags.SELECTED); + let background_color = + 'rgba(' + rgba.red * 255 + ', ' + rgba.green * 255 + ', ' + rgba.blue * 255 + ', 0.6)'; + let border_color = + 'rgba(' + rgba.red * 255 + ', ' + rgba.green * 255 + ', ' + rgba.blue * 255 + ', 0.8)'; + + return 'background-color: ' + background_color + ';' + + 'border-color: ' + border_color + ';'; + } + + get menu() { + return this._menu; + } + + _removeMenu() { + if (this._menu != null) { + if (this._menuManager != null) + this._menuManager.removeMenu(this._menu); + + Main.layoutManager.uiGroup.remove_child(this._menu.actor); + this._menu.destroy(); + this._menu = null; + } + + this._menuManager = null; + } + + _recreateMenu() { + this._removeMenu(); + this._menuManager = new PopupMenu.PopupMenuManager(this); + let side = St.Side.LEFT; + if (Clutter.get_default_text_direction() == Clutter.TextDirection.RTL) + side = St.Side.RIGHT; + this._menu = new PopupMenu.PopupMenu(this, 0.5, side); + this._menu.addAction(_('Open'), () => this.doOpen()); + switch (this._fileExtra) { + case Prefs.FileType.NONE: + if (!this._isDirectory) { + this._actionOpenWith = this._menu.addAction(_('Open With Other Application'), () => this._doOpenWith()); + if (Extension.desktopManager.discreteGpuAvailable && this.trustedDesktopFile) + this._menu.addAction(_('Launch using Dedicated Graphics Card'), () => this._doDiscreteGpu()); + } else { + this._actionOpenWith = null; + } + this._menu.addMenuItem(new PopupMenu.PopupSeparatorMenuItem()); + this._actionCut = this._menu.addAction(_('Cut'), () => this._onCutClicked()); + this._actionCopy = this._menu.addAction(_('Copy'), () => this._onCopyClicked()); + if (this.canRename()) + this._menu.addAction(_('Rename…'), () => this.doRename()); + this._actionTrash = this._menu.addAction(_('Move to Trash'), () => this._onMoveToTrashClicked()); + if (this._isValidDesktopFile && !Extension.desktopManager.writableByOthers && !this._writableByOthers) { + this._menu.addMenuItem(new PopupMenu.PopupSeparatorMenuItem()); + this._allowLaunchingMenuItem = this._menu.addAction(this._allowLaunchingText, + () => this._onAllowDisallowLaunchingClicked()); + + } + break; + case Prefs.FileType.USER_DIRECTORY_TRASH: + this._menu.addMenuItem(new PopupMenu.PopupSeparatorMenuItem()); + this._menu.addAction(_('Empty Trash'), () => this._onEmptyTrashClicked()); + break; + case Prefs.FileType.MOUNT_DISK: + this._menu.addMenuItem(new PopupMenu.PopupSeparatorMenuItem()); + this._menu.addAction(_('Eject'), () => this._onEjectClicked()); + break; + default: + break; + } + this._menu.addMenuItem(new PopupMenu.PopupSeparatorMenuItem()); + this._menu.addAction(_('Properties'), () => this._onPropertiesClicked()); + this._menu.addMenuItem(new PopupMenu.PopupSeparatorMenuItem()); + this._menu.addAction(_('Show in Files'), () => this._onShowInFilesClicked()); + if (this._isDirectory && this.file.get_path() != null) + this._actionOpenInTerminal = this._menu.addAction(_('Open in Terminal'), () => this._onOpenTerminalClicked()); + + this._menuManager.addMenu(this._menu); + + Main.layoutManager.uiGroup.add_child(this._menu.actor); + this._menu.actor.hide(); + } + + _ensureMenu() { + if (this._menu == null) + this._recreateMenu(); + + return this._menu; + } + + _onOpenTerminalClicked () { + DesktopIconsUtil.launchTerminal(this.file.get_path()); + } + + _updateClickState(event) { + let settings = Clutter.Settings.get_default(); + if ((event.get_button() == this._lastClickButton) && + ((event.get_time() - this._lastClickTime) < settings.double_click_time)) + this._clickCount++; + else + this._clickCount = 1; + + this._lastClickTime = event.get_time(); + this._lastClickButton = event.get_button(); + } + + _getClickCount() { + return this._clickCount; + } + + _onPressButton(actor, event) { + this._updateClickState(event); + let button = event.get_button(); + if (button == 3) { + if (!this.isSelected) + this.emit('selected', false, false, true); + this._ensureMenu().toggle(); + if (this._actionOpenWith) { + let allowOpenWith = (Extension.desktopManager.getNumberOfSelectedItems() == 1); + this._actionOpenWith.setSensitive(allowOpenWith); + } + let specialFilesSelected = Extension.desktopManager.checkIfSpecialFilesAreSelected(); + if (this._actionCut) + this._actionCut.setSensitive(!specialFilesSelected); + if (this._actionCopy) + this._actionCopy.setSensitive(!specialFilesSelected); + if (this._actionTrash) + this._actionTrash.setSensitive(!specialFilesSelected); + return Clutter.EVENT_STOP; + } else if (button == 1) { + if (this._getClickCount() == 1) { + let [x, y] = event.get_coords(); + this._primaryButtonPressed = true; + this._buttonPressInitialX = x; + this._buttonPressInitialY = y; + let shiftPressed = !!(event.get_state() & Clutter.ModifierType.SHIFT_MASK); + let controlPressed = !!(event.get_state() & Clutter.ModifierType.CONTROL_MASK); + if (controlPressed || shiftPressed) { + this.emit('selected', true, false, !this._isSelected); + } else { + if (!this._isSelected) + this.emit('selected', false, false, true); + } + } + return Clutter.EVENT_STOP; + } + + return Clutter.EVENT_PROPAGATE; + } + + _onEnter(actor, event) { + if (Prefs.CLICK_POLICY_SINGLE) + global.display.set_cursor(Meta.Cursor.POINTING_HAND); + else + global.display.set_cursor(Meta.Cursor.DEFAULT); + } + + _onLeave(actor, event) { + this._primaryButtonPressed = false; + if (Prefs.CLICK_POLICY_SINGLE) + global.display.set_cursor(Meta.Cursor.DEFAULT); + } + + _onMotion(actor, event) { + let [x, y] = event.get_coords(); + if (this._primaryButtonPressed) { + let xDiff = x - this._buttonPressInitialX; + let yDiff = y - this._buttonPressInitialY; + let distance = Math.sqrt(Math.pow(xDiff, 2) + Math.pow(yDiff, 2)); + if (distance > DRAG_TRESHOLD) { + // Don't need to track anymore this if we start drag, and also + // avoids reentrance here + this._primaryButtonPressed = false; + let event = Clutter.get_current_event(); + let [x, y] = event.get_coords(); + Extension.desktopManager.dragStart(); + } + } + + return Clutter.EVENT_PROPAGATE; + } + + _onReleaseButton(actor, event) { + let button = event.get_button(); + if (button == 1) { + // primaryButtonPressed is TRUE only if the user has pressed the button + // over an icon, and if (s)he has not started a drag&drop operation + if (this._primaryButtonPressed) { + this._primaryButtonPressed = false; + let shiftPressed = !!(event.get_state() & Clutter.ModifierType.SHIFT_MASK); + let controlPressed = !!(event.get_state() & Clutter.ModifierType.CONTROL_MASK); + if (!controlPressed && !shiftPressed) + this.emit('selected', false, false, true); + if ((this._getClickCount() == 1) && Prefs.CLICK_POLICY_SINGLE && !shiftPressed && !controlPressed) + this.doOpen(); + return Clutter.EVENT_STOP; + } + if ((this._getClickCount() == 2) && (!Prefs.CLICK_POLICY_SINGLE)) + this.doOpen(); + } + return Clutter.EVENT_PROPAGATE; + } + + get savedCoordinates() { + return this._savedCoordinates; + } + + _onSetMetadataFileFinished(source, result) { + try { + let [success, info] = source.set_attributes_finish(result); + } catch (error) { + if (!error.matches(Gio.IOErrorEnum, Gio.IOErrorEnum.CANCELLED)) + log(`Error setting metadata to desktop files ${error}`); + } + } + + set savedCoordinates(pos) { + if (this._setMetadataCancellable) + this._setMetadataCancellable.cancel(); + + this._setMetadataCancellable = new Gio.Cancellable(); + this._savedCoordinates = [pos[0], pos[1]]; + let info = new Gio.FileInfo(); + info.set_attribute_string('metadata::nautilus-icon-position', + `${pos[0]},${pos[1]}`); + this.file.set_attributes_async(info, + Gio.FileQueryInfoFlags.NONE, + GLib.PRIORITY_DEFAULT, + this._setMetadataCancellable, + (source, result) => { + this._setMetadataCancellable = null; + this._onSetMetadataFileFinished(source, result); + } + ); + } + + intersectsWith(argX, argY, argWidth, argHeight) { + let rect = new Meta.Rectangle({ x: argX, y: argY, width: argWidth, height: argHeight }); + let [containerX, containerY] = this._container.get_transformed_position(); + let boundingBox = new Meta.Rectangle({ x: containerX, + y: containerY, + width: this._container.allocation.x2 - this._container.allocation.x1, + height: this._container.allocation.y2 - this._container.allocation.y1 }); + let [intersects, _] = rect.intersect(boundingBox); + + return intersects; + } + + set isSelected(isSelected) { + isSelected = !!isSelected; + if (isSelected == this._isSelected) + return; + + if (isSelected) { + this._container.set_style(this._getSelectionStyle()); + } else { + this._container.set_style('background-color: transparent'); + this._container.set_style('border-color: transparent'); + } + + this._isSelected = isSelected; + } + + get isSelected() { + return this._isSelected; + } + + get isSpecial() { + return this._isSpecial; + } + + get state() { + return this._state; + } + + set state(state) { + if (state == this._state) + return; + + this._state = state; + } + + get isDirectory() { + return this._isDirectory; + } + + get trustedDesktopFile() { + return this._isValidDesktopFile && + this._attributeCanExecute && + this.metadataTrusted && + !Extension.desktopManager.writableByOthers && + !this._writableByOthers; + } + + get fileName() { + return this._fileInfo.get_name(); + } + + get displayName() { + if (this._fileExtra == Prefs.FileType.USER_DIRECTORY_HOME) + return _("Home"); + if (this.trustedDesktopFile) + return this._desktopFile.get_name(); + + return this._displayName || null; + } + + acceptDrop() { + return Extension.desktopManager.selectionDropOnFileItem(this); + } +}); diff --git a/extensions/desktop-icons/meson.build b/extensions/desktop-icons/meson.build new file mode 100644 index 00000000..8e691426 --- /dev/null +++ b/extensions/desktop-icons/meson.build @@ -0,0 +1,20 @@ +extension_data += configure_file( + input: metadata_name + '.in', + output: metadata_name, + configuration: metadata_conf +) + +extension_schemas += files(join_paths('schemas', metadata_conf.get('gschemaname') + '.gschema.xml')) + +extension_sources += files( + 'createFolderDialog.js', + 'createThumbnail.js', + 'dbusUtils.js', + 'desktopGrid.js', + 'desktopIconsUtil.js', + 'desktopManager.js', + 'extension.js', + 'fileItem.js', + 'prefs.js', + 'templateManager.js' +) diff --git a/extensions/desktop-icons/metadata.json.in b/extensions/desktop-icons/metadata.json.in new file mode 100644 index 00000000..78cabf08 --- /dev/null +++ b/extensions/desktop-icons/metadata.json.in @@ -0,0 +1,11 @@ +{ +"extension-id": "@extension_id@", +"uuid": "@uuid@", +"settings-schema": "@gschemaname@", +"gettext-domain": "@gettext_domain@", +"name": "Desktop Icons", +"description": "Provide desktop icons support for classic mode", +"original-authors": [ "csoriano@redhat.com" ], +"shell-version": [ "@shell_current@" ], +"url": "@url@" +} diff --git a/extensions/desktop-icons/po/LINGUAS b/extensions/desktop-icons/po/LINGUAS new file mode 100644 index 00000000..3ca08422 --- /dev/null +++ b/extensions/desktop-icons/po/LINGUAS @@ -0,0 +1,33 @@ +ca +cs +da +de +el +en_GB +es +eu +fa +fi +fr +fur +hr +hu +id +it +ja +kab +nl +oc +pl +pt +pt_BR +ro +ru +sk +sl +sr +sv +tr +uk +zh_CN +zh_TW diff --git a/extensions/desktop-icons/po/POTFILES.in b/extensions/desktop-icons/po/POTFILES.in new file mode 100644 index 00000000..d9adb218 --- /dev/null +++ b/extensions/desktop-icons/po/POTFILES.in @@ -0,0 +1,6 @@ +createFolderDialog.js +prefs.js +desktopGrid.js +desktopIconsUtil.js +fileItem.js +schemas/org.gnome.shell.extensions.desktop-icons.gschema.xml \ No newline at end of file diff --git a/extensions/desktop-icons/po/ca.po b/extensions/desktop-icons/po/ca.po new file mode 100644 index 00000000..28152696 --- /dev/null +++ b/extensions/desktop-icons/po/ca.po @@ -0,0 +1,218 @@ +# This file is distributed under the same license as the PACKAGE package. +# Jordi Mas i Hernandez , 2019-2020 +# +msgid "" +msgstr "" +"Project-Id-Version: 1.0\n" +"Report-Msgid-Bugs-To: https://gitlab.gnome.org/World/ShellExtensions/desktop-icons/issues\n" +"POT-Creation-Date: 2020-05-26 20:08+0000\n" +"PO-Revision-Date: 2019-07-22 10:24+0200\n" +"Last-Translator: Jordi Mas \n" +"Language-Team: Catalan \n" +"Language: ca\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Poedit 2.2.1\n" + +#: createFolderDialog.js:46 +msgid "New folder name" +msgstr "Nom de la carpeta nova" + +#: createFolderDialog.js:70 +msgid "Create" +msgstr "Crea" + +#: createFolderDialog.js:72 +msgid "Cancel" +msgstr "Cancel·la" + +#: createFolderDialog.js:145 +msgid "Folder names cannot contain “/”." +msgstr "Els noms de carpetes no poden contenir «/»." + +#: createFolderDialog.js:148 +msgid "A folder cannot be called “.”." +msgstr "Una carpeta no es pot anomenar «.»." + +#: createFolderDialog.js:151 +msgid "A folder cannot be called “..”." +msgstr "Una carpeta no es pot anomenar «..»." + +#: createFolderDialog.js:153 +msgid "Folders with “.” at the beginning of their name are hidden." +msgstr "Les carpetes amb un «.» a l'inici del seu nom s'amaguen." + +#: createFolderDialog.js:155 +msgid "There is already a file or folder with that name." +msgstr "Ja existeix un fitxer o carpeta amb aquest nom." + +#: prefs.js:103 +msgid "Size for the desktop icons" +msgstr "Mida de les icones d'escriptori" + +#: prefs.js:103 +msgid "Small" +msgstr "Petita" + +#: prefs.js:103 +msgid "Standard" +msgstr "Estàndard" + +#: prefs.js:103 +msgid "Large" +msgstr "Gran" + +#: prefs.js:104 +msgid "Show the personal folder in the desktop" +msgstr "Mostra la carpeta personal a l'escriptori" + +#: prefs.js:105 +msgid "Show the trash icon in the desktop" +msgstr "Mostra la icona de la paperera a l'escriptori" + +#: prefs.js:106 +msgid "Show mounted drives in the desktop" +msgstr "Mostra les unitats muntades a l'escriptori" + +#: desktopGrid.js:346 +msgid "New Folder" +msgstr "Carpeta nova" + +#: desktopGrid.js:347 +msgid "New Document" +msgstr "Document nou" + +#: desktopGrid.js:350 +msgid "Paste" +msgstr "Enganxa" + +#: desktopGrid.js:351 +msgid "Undo" +msgstr "Desfés" + +#: desktopGrid.js:352 +msgid "Redo" +msgstr "Refés" + +#: desktopGrid.js:354 +msgid "Show Desktop in Files" +msgstr "Mostra l'escriptori al Fitxers" + +#: desktopGrid.js:355 fileItem.js:721 +msgid "Open in Terminal" +msgstr "Obre al Terminal" + +#: desktopGrid.js:357 +msgid "Change Background…" +msgstr "Canvia el fons de l'escriptori…" + +#: desktopGrid.js:359 +msgid "Display Settings" +msgstr "Paràmetres de la pantalla" + +#: desktopGrid.js:360 +msgid "Settings" +msgstr "Paràmetres" + +#: desktopGrid.js:692 +msgid "Rename" +msgstr "Canvia el nom" + +#: desktopIconsUtil.js:63 +msgid "Command not found" +msgstr "No s'ha trobat l'ordre" + +#. TRANSLATORS: %s is the filesystem name +#: desktopIconsUtil.js:162 +#, javascript-format +msgid "Ejecting drive “%s” failed:" +msgstr "Ha fallat l'expulsió de la unitat «%s»:" + +#: fileItem.js:584 +msgid "Don’t Allow Launching" +msgstr "No permetis que s'iniciï" + +#: fileItem.js:586 +msgid "Allow Launching" +msgstr "Permet que s'iniciï" + +#: fileItem.js:682 +msgid "Open" +msgstr "Obre" + +#: fileItem.js:686 +msgid "Open With Other Application" +msgstr "Obre amb una altra aplicació" + +#: fileItem.js:688 +msgid "Launch using Dedicated Graphics Card" +msgstr "Llança usant la targeta gràfica dedicada" + +#: fileItem.js:693 +msgid "Cut" +msgstr "Retalla" + +#: fileItem.js:694 +msgid "Copy" +msgstr "Copia" + +#: fileItem.js:696 +msgid "Rename…" +msgstr "Canvia el nom…" + +#: fileItem.js:697 +msgid "Move to Trash" +msgstr "Mou a la paperera" + +#: fileItem.js:707 +msgid "Empty Trash" +msgstr "Buida la paperera" + +#: fileItem.js:711 +msgid "Eject" +msgstr "Expulsa" + +#: fileItem.js:717 +msgid "Properties" +msgstr "Propietats" + +#: fileItem.js:719 +msgid "Show in Files" +msgstr "Mostra al Fitxers" + +#: fileItem.js:925 +msgid "Home" +msgstr "Inici" + +#: schemas/org.gnome.shell.extensions.desktop-icons.gschema.xml:11 +msgid "Icon size" +msgstr "Mida d'icona" + +#: schemas/org.gnome.shell.extensions.desktop-icons.gschema.xml:12 +msgid "Set the size for the desktop icons." +msgstr "Estableix la mida per les icones de l'escriptori." + +#: schemas/org.gnome.shell.extensions.desktop-icons.gschema.xml:16 +msgid "Show personal folder" +msgstr "Mostra la carpeta personal" + +#: schemas/org.gnome.shell.extensions.desktop-icons.gschema.xml:17 +msgid "Show the personal folder in the desktop." +msgstr "Mostra la carpeta personal a l'escriptori." + +#: schemas/org.gnome.shell.extensions.desktop-icons.gschema.xml:21 +msgid "Show trash icon" +msgstr "Mostra la icona de la paperera" + +#: schemas/org.gnome.shell.extensions.desktop-icons.gschema.xml:22 +msgid "Show the trash icon in the desktop." +msgstr "Mostra la icona de la paperera a l'escriptori." + +#: schemas/org.gnome.shell.extensions.desktop-icons.gschema.xml:26 +msgid "Show mounted drives" +msgstr "Mostra les unitats muntades" + +#: schemas/org.gnome.shell.extensions.desktop-icons.gschema.xml:27 +msgid "Show mounted drives in the desktop." +msgstr "Mostra la icona de la paperera a l'escriptori." diff --git a/extensions/desktop-icons/po/cs.po b/extensions/desktop-icons/po/cs.po new file mode 100644 index 00000000..5acfe16a --- /dev/null +++ b/extensions/desktop-icons/po/cs.po @@ -0,0 +1,235 @@ +# Czech translation for desktop-icons. +# Copyright (C) 2018 desktop-icons's COPYRIGHT HOLDER +# This file is distributed under the same license as the desktop-icons package. +# Marek Černocký , 2018. +# Milan Zink , 2018. +# +msgid "" +msgstr "" +"Project-Id-Version: desktop-icons master\n" +"Report-Msgid-Bugs-To: https://gitlab.gnome.org/World/ShellExtensions/desktop-" +"icons/issues\n" +"POT-Creation-Date: 2020-05-26 20:08+0000\n" +"PO-Revision-Date: 2020-06-16 14:22+0200\n" +"Last-Translator: Daniel Rusek \n" +"Language-Team: Czech \n" +"Language: cs\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2;\n" +"X-Generator: Poedit 2.3.1\n" + +#: createFolderDialog.js:46 +msgid "New folder name" +msgstr "Název nové složky" + +#: createFolderDialog.js:70 +msgid "Create" +msgstr "Vytvořit" + +#: createFolderDialog.js:72 +msgid "Cancel" +msgstr "Zrušit" + +#: createFolderDialog.js:145 +msgid "Folder names cannot contain “/”." +msgstr "Názvy složek nesmí obsahovat „/“." + +#: createFolderDialog.js:148 +msgid "A folder cannot be called “.”." +msgstr "Složka se nemůže jmenovat „.“." + +#: createFolderDialog.js:151 +msgid "A folder cannot be called “..”." +msgstr "Složka se nemůže jmenovat „..“." + +#: createFolderDialog.js:153 +msgid "Folders with “.” at the beginning of their name are hidden." +msgstr "Složky s „.“ na začátku jejich názvu jsou skryty." + +#: createFolderDialog.js:155 +msgid "There is already a file or folder with that name." +msgstr "Soubor nebo složka s tímto názvem již existuje." + +#: prefs.js:103 +msgid "Size for the desktop icons" +msgstr "Velikost ikon na pracovní ploše" + +#: prefs.js:103 +msgid "Small" +msgstr "malé" + +#: prefs.js:103 +msgid "Standard" +msgstr "standardní" + +#: prefs.js:103 +msgid "Large" +msgstr "velké" + +#: prefs.js:104 +msgid "Show the personal folder in the desktop" +msgstr "Zobrazovat osobní složku na pracovní ploše" + +#: prefs.js:105 +msgid "Show the trash icon in the desktop" +msgstr "Zobrazovat ikonu koše na pracovní ploše" + +#: prefs.js:106 +msgid "Show mounted drives in the desktop" +msgstr "Zobrazovat připojené svazky na pracovní ploše" + +#: desktopGrid.js:346 +msgid "New Folder" +msgstr "Nová složka" + +#: desktopGrid.js:347 +msgid "New Document" +msgstr "Nový dokument" + +#: desktopGrid.js:350 +msgid "Paste" +msgstr "Vložit" + +#: desktopGrid.js:351 +msgid "Undo" +msgstr "Zpět" + +#: desktopGrid.js:352 +msgid "Redo" +msgstr "Znovu" + +#: desktopGrid.js:354 +msgid "Show Desktop in Files" +msgstr "Zobrazit plochu v Souborech" + +#: desktopGrid.js:355 fileItem.js:721 +msgid "Open in Terminal" +msgstr "Otevřít v terminálu" + +#: desktopGrid.js:357 +msgid "Change Background…" +msgstr "Změnit pozadí…" + +#: desktopGrid.js:359 +msgid "Display Settings" +msgstr "Nastavení zobrazení" + +#: desktopGrid.js:360 +msgid "Settings" +msgstr "Nastavení" + +#: desktopGrid.js:692 +msgid "Rename" +msgstr "Přejmenovat" + +#: desktopIconsUtil.js:63 +msgid "Command not found" +msgstr "Příkaz nebyl nalezen" + +#. TRANSLATORS: %s is the filesystem name +#: desktopIconsUtil.js:162 +#, javascript-format +msgid "Ejecting drive “%s” failed:" +msgstr "Vysunutí svazku „%s“ selhalo:" + +#: fileItem.js:584 +msgid "Don’t Allow Launching" +msgstr "Nepovolit spouštění" + +#: fileItem.js:586 +msgid "Allow Launching" +msgstr "Povolit spouštění" + +#: fileItem.js:682 +msgid "Open" +msgstr "Otevřít" + +#: fileItem.js:686 +msgid "Open With Other Application" +msgstr "Otevřít pomocí jiné aplikace" + +#: fileItem.js:688 +msgid "Launch using Dedicated Graphics Card" +msgstr "Spustit pomocí vyhrazené grafické karty" + +#: fileItem.js:693 +msgid "Cut" +msgstr "Vyjmout" + +#: fileItem.js:694 +msgid "Copy" +msgstr "Kopírovat" + +#: fileItem.js:696 +msgid "Rename…" +msgstr "Přejmenovat…" + +#: fileItem.js:697 +msgid "Move to Trash" +msgstr "Přesunout do koše" + +#: fileItem.js:707 +msgid "Empty Trash" +msgstr "Vyprázdnit koš" + +#: fileItem.js:711 +msgid "Eject" +msgstr "Vysunout" + +#: fileItem.js:717 +msgid "Properties" +msgstr "Vlastnosti" + +#: fileItem.js:719 +msgid "Show in Files" +msgstr "Zobrazit v Souborech" + +#: fileItem.js:925 +msgid "Home" +msgstr "Domů" + +#: schemas/org.gnome.shell.extensions.desktop-icons.gschema.xml:11 +msgid "Icon size" +msgstr "Velikost ikon" + +#: schemas/org.gnome.shell.extensions.desktop-icons.gschema.xml:12 +msgid "Set the size for the desktop icons." +msgstr "Nastavit velikost pro ikony na pracovní ploše." + +#: schemas/org.gnome.shell.extensions.desktop-icons.gschema.xml:16 +msgid "Show personal folder" +msgstr "Zobrazovat osobní složku" + +#: schemas/org.gnome.shell.extensions.desktop-icons.gschema.xml:17 +msgid "Show the personal folder in the desktop." +msgstr "Zobrazovat osobní složku na pracovní ploše." + +#: schemas/org.gnome.shell.extensions.desktop-icons.gschema.xml:21 +msgid "Show trash icon" +msgstr "Zobrazovat koš" + +#: schemas/org.gnome.shell.extensions.desktop-icons.gschema.xml:22 +msgid "Show the trash icon in the desktop." +msgstr "Zobrazovat ikonu koše na pracovní ploše." + +#: schemas/org.gnome.shell.extensions.desktop-icons.gschema.xml:26 +msgid "Show mounted drives" +msgstr "Zobrazovat připojené svazky" + +#: schemas/org.gnome.shell.extensions.desktop-icons.gschema.xml:27 +msgid "Show mounted drives in the desktop." +msgstr "Zobrazovat připojené svazky na pracovní ploše." + +#~ msgid "Enter file name…" +#~ msgstr "Zadejte název souboru…" + +#~ msgid "OK" +#~ msgstr "Budiž" + +#~ msgid "Huge" +#~ msgstr "obrovské" + +#~ msgid "Ok" +#~ msgstr "Ok" diff --git a/extensions/desktop-icons/po/da.po b/extensions/desktop-icons/po/da.po new file mode 100644 index 00000000..ff533680 --- /dev/null +++ b/extensions/desktop-icons/po/da.po @@ -0,0 +1,226 @@ +# Danish translation for desktop-icons. +# Copyright (C) 2018 desktop-icons's COPYRIGHT HOLDER +# This file is distributed under the same license as the desktop-icons package. +# Alan Mortensen , 2018. +# scootergrisen, 2020. +msgid "" +msgstr "" +"Project-Id-Version: desktop-icons master\n" +"Report-Msgid-Bugs-To: https://gitlab.gnome.org/World/ShellExtensions" +"/desktop-icons/issues\n" +"POT-Creation-Date: 2020-05-26 20:08+0000\n" +"PO-Revision-Date: 2020-10-10 00:00+0200\n" +"Last-Translator: scootergrisen\n" +"Language-Team: Danish \n" +"Language: da\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + + +#: createFolderDialog.js:46 +msgid "New folder name" +msgstr "Nyt mappenavn" + +#: createFolderDialog.js:70 +msgid "Create" +msgstr "Opret" + +#: createFolderDialog.js:72 +msgid "Cancel" +msgstr "Annullér" + +#: createFolderDialog.js:145 +msgid "Folder names cannot contain “/”." +msgstr "Mappenavne må ikke indeholde “/”." + +#: createFolderDialog.js:148 +msgid "A folder cannot be called “.”." +msgstr "En mappe må ikke kaldes “.”." + +#: createFolderDialog.js:151 +msgid "A folder cannot be called “..”." +msgstr "En mappe må ikke kaldes “..”." + +#: createFolderDialog.js:153 +msgid "Folders with “.” at the beginning of their name are hidden." +msgstr "Mapper med “.” i begyndelsen af deres navn er skjulte." + +#: createFolderDialog.js:155 +msgid "There is already a file or folder with that name." +msgstr "Der findes allerede en fil eller mappe med det navn." + +#: prefs.js:103 +msgid "Size for the desktop icons" +msgstr "Størrelsen på skrivebordsikoner" + +#: prefs.js:103 +msgid "Small" +msgstr "Små" + +#: prefs.js:103 +msgid "Standard" +msgstr "Standard" + +#: prefs.js:103 +msgid "Large" +msgstr "Store" + +#: prefs.js:104 +msgid "Show the personal folder in the desktop" +msgstr "Vis den personlige mappe på skrivebordet" + +#: prefs.js:105 +msgid "Show the trash icon in the desktop" +msgstr "Vis papirkurvsikonet på skrivebordet" + +#: prefs.js:106 +#| msgid "Show the trash icon in the desktop" +msgid "Show mounted drives in the desktop" +msgstr "Vis monterede drev på skrivebordet" + +#: desktopGrid.js:346 +msgid "New Folder" +msgstr "Ny mappe" + +#: desktopGrid.js:347 +msgid "New Document" +msgstr "Nyt dokument" + +#: desktopGrid.js:350 +msgid "Paste" +msgstr "Indsæt" + +#: desktopGrid.js:351 +msgid "Undo" +msgstr "Fortryd" + +#: desktopGrid.js:352 +msgid "Redo" +msgstr "Omgør" + +#: desktopGrid.js:354 +msgid "Show Desktop in Files" +msgstr "Vis skrivebordet i Filer" + +#: desktopGrid.js:355 fileItem.js:721 +msgid "Open in Terminal" +msgstr "Åbn i terminal" + +#: desktopGrid.js:357 +msgid "Change Background…" +msgstr "Skift baggrund …" + +#: desktopGrid.js:359 +msgid "Display Settings" +msgstr "Skærmindstillinger" + +#: desktopGrid.js:360 +msgid "Settings" +msgstr "Indstillinger" + +#: desktopGrid.js:692 +msgid "Rename" +msgstr "Omdøb" + +#: desktopIconsUtil.js:63 +msgid "Command not found" +msgstr "Kommando ikke fundet" + +#. TRANSLATORS: %s is the filesystem name +#: desktopIconsUtil.js:162 +#, javascript-format +msgid "Ejecting drive “%s” failed:" +msgstr "Udskubning af drevet “%s” mislykkedes:" + +#: fileItem.js:584 +msgid "Don’t Allow Launching" +msgstr "Tillad ikke opstart" + +#: fileItem.js:586 +msgid "Allow Launching" +msgstr "Tillad opstart" + +#: fileItem.js:682 +msgid "Open" +msgstr "Åbn" + +#: fileItem.js:686 +msgid "Open With Other Application" +msgstr "Åbn med et andet program" + +# scootergrisen: tjek oversættelsen af "Dedicated" +#: fileItem.js:688 +msgid "Launch using Dedicated Graphics Card" +msgstr "Start med dedikeret grafikkort" + +#: fileItem.js:693 +msgid "Cut" +msgstr "Klip" + +#: fileItem.js:694 +msgid "Copy" +msgstr "Kopiér" + +#: fileItem.js:696 +msgid "Rename…" +msgstr "Omdøb …" + +#: fileItem.js:697 +msgid "Move to Trash" +msgstr "Flyt til papirkurven" + +#: fileItem.js:707 +msgid "Empty Trash" +msgstr "Tøm papirkurven" + +#: fileItem.js:711 +msgid "Eject" +msgstr "Skub ud" + +#: fileItem.js:717 +msgid "Properties" +msgstr "Egenskaber" + +#: fileItem.js:719 +msgid "Show in Files" +msgstr "Vis i Filer" + +#: fileItem.js:925 +msgid "Home" +msgstr "Hjem" + +#: schemas/org.gnome.shell.extensions.desktop-icons.gschema.xml:11 +msgid "Icon size" +msgstr "Ikonstørrelse" + +#: schemas/org.gnome.shell.extensions.desktop-icons.gschema.xml:12 +msgid "Set the size for the desktop icons." +msgstr "Angiv størrelsen på skrivebordsikoner." + +#: schemas/org.gnome.shell.extensions.desktop-icons.gschema.xml:16 +msgid "Show personal folder" +msgstr "Vis personlig mappe" + +#: schemas/org.gnome.shell.extensions.desktop-icons.gschema.xml:17 +msgid "Show the personal folder in the desktop." +msgstr "Vis den personlige mappe på skrivebordet." + +#: schemas/org.gnome.shell.extensions.desktop-icons.gschema.xml:21 +msgid "Show trash icon" +msgstr "Vis papirkurvsikon" + +#: schemas/org.gnome.shell.extensions.desktop-icons.gschema.xml:22 +msgid "Show the trash icon in the desktop." +msgstr "Vis papirkurvsikonet på skrivebordet." + +#: schemas/org.gnome.shell.extensions.desktop-icons.gschema.xml:26 +#| msgid "Show in Files" +msgid "Show mounted drives" +msgstr "Vis monterede drev" + +#: schemas/org.gnome.shell.extensions.desktop-icons.gschema.xml:27 +#| msgid "Show the trash icon in the desktop." +msgid "Show mounted drives in the desktop." +msgstr "Vis monterede drev på skrivebordet." diff --git a/extensions/desktop-icons/po/de.po b/extensions/desktop-icons/po/de.po new file mode 100644 index 00000000..8f2f4cbc --- /dev/null +++ b/extensions/desktop-icons/po/de.po @@ -0,0 +1,232 @@ +# German translation for desktop-icons. +# Copyright (C) 2018 desktop-icons's COPYRIGHT HOLDER +# This file is distributed under the same license as the desktop-icons package. +# Mario Blättermann , 2018. +# rugk , 2019. +# +msgid "" +msgstr "" +"Project-Id-Version: desktop-icons master\n" +"Report-Msgid-Bugs-To: https://gitlab.gnome.org/World/ShellExtensions/desktop-" +"icons/issues\n" +"POT-Creation-Date: 2020-08-16 14:44+0000\n" +"PO-Revision-Date: 2020-08-26 22:46+0200\n" +"Last-Translator: Christian Kirbach \n" +"Language-Team: German \n" +"Language: de\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" +"X-Generator: Poedit 2.3.1\n" + +#: createFolderDialog.js:46 +msgid "New folder name" +msgstr "Neuer Ordner" + +#: createFolderDialog.js:70 +msgid "Create" +msgstr "Erstellen" + +#: createFolderDialog.js:72 +msgid "Cancel" +msgstr "Abbrechen" + +#: createFolderDialog.js:145 +msgid "Folder names cannot contain “/”." +msgstr "Ordnernamen dürfen kein »/« enthalten." + +#: createFolderDialog.js:148 +msgid "A folder cannot be called “.”." +msgstr "Ein Ordner darf nicht ».« genannt werden." + +#: createFolderDialog.js:151 +msgid "A folder cannot be called “..”." +msgstr "Ein Ordner darf nicht »..« genannt werden." + +#: createFolderDialog.js:153 +msgid "Folders with “.” at the beginning of their name are hidden." +msgstr "Ordner mit ».« am Anfang sind verborgen." + +#: createFolderDialog.js:155 +msgid "There is already a file or folder with that name." +msgstr "Es gibt bereits eine Datei oder einen Ordner mit diesem Namen." + +#: prefs.js:103 +msgid "Size for the desktop icons" +msgstr "Größe der Arbeitsflächensymbole" + +#: prefs.js:103 +msgid "Small" +msgstr "Klein" + +#: prefs.js:103 +msgid "Standard" +msgstr "Standard" + +#: prefs.js:103 +msgid "Large" +msgstr "Groß" + +#: prefs.js:104 +msgid "Show the personal folder in the desktop" +msgstr "Den persönlichen Ordner auf der Arbeitsfläche anzeigen" + +#: prefs.js:105 +msgid "Show the trash icon in the desktop" +msgstr "Papierkorb-Symbol auf der Arbeitsfläche anzeigen" + +#: prefs.js:106 +msgid "Show mounted drives in the desktop" +msgstr "Eingebundene Laufwerke auf der Arbeitsfläche anzeigen" + +#: desktopGrid.js:346 +msgid "New Folder" +msgstr "Neuer Ordner" + +#: desktopGrid.js:347 +msgid "New Document" +msgstr "Neues Dokument" + +#: desktopGrid.js:350 +msgid "Paste" +msgstr "Einfügen" + +#: desktopGrid.js:351 +msgid "Undo" +msgstr "Rückgängig" + +#: desktopGrid.js:352 +msgid "Redo" +msgstr "Wiederholen" + +#: desktopGrid.js:354 +msgid "Show Desktop in Files" +msgstr "Schreibtisch in Dateien anzeigen" + +#: desktopGrid.js:355 fileItem.js:723 +msgid "Open in Terminal" +msgstr "Im Terminal öffnen" + +#: desktopGrid.js:357 +msgid "Change Background…" +msgstr "Hintergrund ändern …" + +#: desktopGrid.js:359 +msgid "Display Settings" +msgstr "Anzeigeeinstellungen" + +#: desktopGrid.js:360 +msgid "Settings" +msgstr "Einstellungen" + +#: desktopGrid.js:699 +msgid "Rename" +msgstr "Umbenennen" + +#: desktopIconsUtil.js:63 +msgid "Command not found" +msgstr "Befehl nicht gefunden" + +#. TRANSLATORS: %s is the filesystem name +#: desktopIconsUtil.js:162 +#, javascript-format +msgid "Ejecting drive “%s” failed:" +msgstr "Auswerfen des Laufwerks »%s« fehlgeschlagen:" + +#: fileItem.js:586 +msgid "Don’t Allow Launching" +msgstr "Start nicht erlauben" + +#: fileItem.js:588 +msgid "Allow Launching" +msgstr "Start erlauben" + +#: fileItem.js:684 +msgid "Open" +msgstr "Öffnen" + +#: fileItem.js:688 +msgid "Open With Other Application" +msgstr "Mit anderer Anwendung öffnen" + +#: fileItem.js:690 +msgid "Launch using Dedicated Graphics Card" +msgstr "Start mit dedizierter Grafikkarte" + +#: fileItem.js:695 +msgid "Cut" +msgstr "Ausschneiden" + +#: fileItem.js:696 +msgid "Copy" +msgstr "Kopieren" + +#: fileItem.js:698 +msgid "Rename…" +msgstr "Umbenennen …" + +#: fileItem.js:699 +msgid "Move to Trash" +msgstr "In den Papierkorb verschieben" + +#: fileItem.js:709 +msgid "Empty Trash" +msgstr "Papierkorb leeren" + +#: fileItem.js:713 +msgid "Eject" +msgstr "Auswerfen" + +#: fileItem.js:719 +msgid "Properties" +msgstr "Eigenschaften" + +#: fileItem.js:721 +msgid "Show in Files" +msgstr "In Dateiverwaltung anzeigen" + +#: fileItem.js:927 +msgid "Home" +msgstr "Startseite" + +#: schemas/org.gnome.shell.extensions.desktop-icons.gschema.xml:11 +msgid "Icon size" +msgstr "Symbolgröße" + +#: schemas/org.gnome.shell.extensions.desktop-icons.gschema.xml:12 +msgid "Set the size for the desktop icons." +msgstr "Die Größe der Arbeitsflächensymbole festlegen." + +#: schemas/org.gnome.shell.extensions.desktop-icons.gschema.xml:16 +msgid "Show personal folder" +msgstr "Persönlichen Ordner anzeigen" + +#: schemas/org.gnome.shell.extensions.desktop-icons.gschema.xml:17 +msgid "Show the personal folder in the desktop." +msgstr "Den persönlichen Ordner auf der Arbeitsfläche anzeigen." + +#: schemas/org.gnome.shell.extensions.desktop-icons.gschema.xml:21 +msgid "Show trash icon" +msgstr "Papierkorb-Symbol anzeigen" + +#: schemas/org.gnome.shell.extensions.desktop-icons.gschema.xml:22 +msgid "Show the trash icon in the desktop." +msgstr "Das Papierkorb-Symbol auf der Arbeitsfläche anzeigen." + +#: schemas/org.gnome.shell.extensions.desktop-icons.gschema.xml:26 +msgid "Show mounted drives" +msgstr "Eingebundene Laufwerke anzeigen" + +#: schemas/org.gnome.shell.extensions.desktop-icons.gschema.xml:27 +msgid "Show mounted drives in the desktop." +msgstr "Eingebundene Laufwerke auf der Arbeitsfläche anzeigen." + +#~ msgid "Enter file name…" +#~ msgstr "Dateinamen eingeben …" + +#~ msgid "OK" +#~ msgstr "OK" + +#~ msgid "Huge" +#~ msgstr "Riesig" diff --git a/extensions/desktop-icons/po/el.po b/extensions/desktop-icons/po/el.po new file mode 100644 index 00000000..302aea80 --- /dev/null +++ b/extensions/desktop-icons/po/el.po @@ -0,0 +1,190 @@ +# Greek translation for desktop-icons. +# Copyright (C) 2019 desktop-icons's COPYRIGHT HOLDER +# This file is distributed under the same license as the desktop-icons package. +# Emmanouil I. Kapernaros , 2019. +# +msgid "" +msgstr "" +"Project-Id-Version: desktop-icons master\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2020-04-05 21:12+0200\n" +"PO-Revision-Date: 2019-10-30 23:18+0200\n" +"Last-Translator: Emmanouil I. Kapernaros \n" +"Language-Team: Greek, Modern (1453-) \n" +"Language: el\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n != 1)\n" +"X-Generator: Gtranslator 3.34.0\n" + +#: createFolderDialog.js:46 +msgid "New folder name" +msgstr "Όνομα νέου φακέλου" + +#: createFolderDialog.js:70 +msgid "Create" +msgstr "Δημιουργία" + +#: createFolderDialog.js:72 +msgid "Cancel" +msgstr "Ακύρωση" + +#: createFolderDialog.js:145 +msgid "Folder names cannot contain “/”." +msgstr "Τα ονόματα φακέλων δεν μπορούν να περιέχουν “/”." + +#: createFolderDialog.js:148 +msgid "A folder cannot be called “.”." +msgstr "Ο φάκελος δεν μπορεί να ονομάζεται “.”." + +#: createFolderDialog.js:151 +msgid "A folder cannot be called “..”." +msgstr "Ο φάκελος δεν μπορεί να ονομάζεται “..”." + +#: createFolderDialog.js:153 +msgid "Folders with “.” at the beginning of their name are hidden." +msgstr "Οι φάκελοι με “.” στην αρχή του ονόματος τους είναι κρυφοί" + +#: createFolderDialog.js:155 +msgid "There is already a file or folder with that name." +msgstr "Υπάρχει ήδη ένας φάκελος ή αρχείο με αυτό το όνομα" + +#: prefs.js:102 +msgid "Size for the desktop icons" +msgstr "Μέγεθος για τα εικονίδια επιφάνειας εργασίας" + +#: prefs.js:102 +msgid "Small" +msgstr "Μικρό" + +#: prefs.js:102 +msgid "Standard" +msgstr "Κανονικό" + +#: prefs.js:102 +msgid "Large" +msgstr "Μεγάλο" + +#: prefs.js:103 +msgid "Show the personal folder in the desktop" +msgstr "Εμφάνιση του προσωπικού φακέλου στην επιφάνεια εργασίας" + +#: prefs.js:104 +msgid "Show the trash icon in the desktop" +msgstr "Εμφάνιση του εικονίδιου απορριμάτων στην επιφάνεια εργασίας" + +#: desktopGrid.js:343 +msgid "New Folder" +msgstr "Νέος Φάκελος" + +#: desktopGrid.js:345 +msgid "Paste" +msgstr "Επικόλληση" + +#: desktopGrid.js:346 +msgid "Undo" +msgstr "Αναίρεση" + +#: desktopGrid.js:347 +msgid "Redo" +msgstr "Επανάληψη" + +#: desktopGrid.js:349 +msgid "Show Desktop in Files" +msgstr "Εμφάνιση Επιφάνειας εργασίας στα Αρχεία" + +#: desktopGrid.js:350 fileItem.js:651 +msgid "Open in Terminal" +msgstr "Άνοιγμα στο Τερματικό" + +#: desktopGrid.js:352 +msgid "Change Background…" +msgstr "Αλλαγή Φόντου" + +#: desktopGrid.js:354 +msgid "Display Settings" +msgstr "Ρυθμίσεις Οθόνης" + +#: desktopGrid.js:355 +msgid "Settings" +msgstr "Ρυθμίσεις" + +#: desktopGrid.js:653 +msgid "Rename" +msgstr "Μετονομασία" + +#: desktopIconsUtil.js:61 +msgid "Command not found" +msgstr "Η εντολή δεν βρέθηκε" + +#: fileItem.js:521 +msgid "Don’t Allow Launching" +msgstr "Μην Επιτρέψεις Εκτέλεση" + +#: fileItem.js:523 +msgid "Allow Launching" +msgstr "Επέτρεψε Εκτέλεση" + +#: fileItem.js:619 +msgid "Open" +msgstr "Άνοιγμα" + +#: fileItem.js:623 +msgid "Open With Other Application" +msgstr "Άνοιγμα Με Άλλη Εφαρμογή" + +#: fileItem.js:627 +msgid "Cut" +msgstr "Αποκοπή" + +#: fileItem.js:628 +msgid "Copy" +msgstr "Αντιγραφή" + +#: fileItem.js:630 +msgid "Rename…" +msgstr "Μετονομασία" + +#: fileItem.js:631 +msgid "Move to Trash" +msgstr "Μετακίνηση στα Απορρίματα" + +#: fileItem.js:641 +msgid "Empty Trash" +msgstr "Άδειασμα Απορριμάτων" + +#: fileItem.js:647 +msgid "Properties" +msgstr "Ιδιότητες" + +#: fileItem.js:649 +msgid "Show in Files" +msgstr "Εμφάνιση στα Αρχεία" + +#: schemas/org.gnome.shell.extensions.desktop-icons.gschema.xml:11 +msgid "Icon size" +msgstr "Μέγεθος εικονιδίου" + +#: schemas/org.gnome.shell.extensions.desktop-icons.gschema.xml:12 +msgid "Set the size for the desktop icons." +msgstr "Ορισμός μεγέθους για τα εικονίδια της επιφάνειας εργασίας" + +#: schemas/org.gnome.shell.extensions.desktop-icons.gschema.xml:16 +msgid "Show personal folder" +msgstr "Εμφάνιση προσωπικού φακέλου" + +#: schemas/org.gnome.shell.extensions.desktop-icons.gschema.xml:17 +msgid "Show the personal folder in the desktop." +msgstr "Εμφάνιση του προσωπικού φακέλου στην επιφάνεια εργασίας" + +#: schemas/org.gnome.shell.extensions.desktop-icons.gschema.xml:21 +msgid "Show trash icon" +msgstr "Εμφάνιση του εικονιδίου απορριμμάτων" + +#: schemas/org.gnome.shell.extensions.desktop-icons.gschema.xml:22 +msgid "Show the trash icon in the desktop." +msgstr "Εμφάνιση του εικονιδίου απορριμμάτων στην επιφάνεια εργασίας" + +#~ msgid "Enter file name…" +#~ msgstr "Εισάγετε όνομα αρχείου..." diff --git a/extensions/desktop-icons/po/en_GB.po b/extensions/desktop-icons/po/en_GB.po new file mode 100644 index 00000000..d30b74db --- /dev/null +++ b/extensions/desktop-icons/po/en_GB.po @@ -0,0 +1,194 @@ +# British English translation for desktop-icons. +# Copyright (C) 2019 desktop-icons's COPYRIGHT HOLDER +# This file is distributed under the same license as the desktop-icons package. +# Zander Brown , 2019. +# +msgid "" +msgstr "" +"Project-Id-Version: desktop-icons master\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2020-04-05 21:12+0200\n" +"PO-Revision-Date: 2019-08-23 21:48+0100\n" +"Last-Translator: Zander Brown \n" +"Language-Team: English - United Kingdom \n" +"Language: en_GB\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" +"X-Generator: Gtranslator 3.32.1\n" + +#: createFolderDialog.js:46 +msgid "New folder name" +msgstr "New folder name" + +#: createFolderDialog.js:70 +msgid "Create" +msgstr "Create" + +#: createFolderDialog.js:72 +msgid "Cancel" +msgstr "Cancel" + +#: createFolderDialog.js:145 +msgid "Folder names cannot contain “/”." +msgstr "Folder names cannot contain “/”." + +#: createFolderDialog.js:148 +msgid "A folder cannot be called “.”." +msgstr "A folder cannot be called “.”." + +#: createFolderDialog.js:151 +msgid "A folder cannot be called “..”." +msgstr "A folder cannot be called “..”." + +#: createFolderDialog.js:153 +msgid "Folders with “.” at the beginning of their name are hidden." +msgstr "Folders with “.” at the beginning of their name are hidden." + +#: createFolderDialog.js:155 +msgid "There is already a file or folder with that name." +msgstr "There is already a file or folder with that name." + +#: prefs.js:102 +msgid "Size for the desktop icons" +msgstr "Size for the desktop icons" + +#: prefs.js:102 +msgid "Small" +msgstr "Small" + +#: prefs.js:102 +msgid "Standard" +msgstr "Standard" + +#: prefs.js:102 +msgid "Large" +msgstr "Large" + +#: prefs.js:103 +msgid "Show the personal folder in the desktop" +msgstr "Show the personal folder on the desktop" + +#: prefs.js:104 +msgid "Show the trash icon in the desktop" +msgstr "Show the wastebasket icon on the desktop" + +#: desktopGrid.js:343 +msgid "New Folder" +msgstr "New Folder" + +#: desktopGrid.js:345 +msgid "Paste" +msgstr "Paste" + +#: desktopGrid.js:346 +msgid "Undo" +msgstr "Undo" + +#: desktopGrid.js:347 +msgid "Redo" +msgstr "Redo" + +#: desktopGrid.js:349 +msgid "Show Desktop in Files" +msgstr "Show Desktop in Files" + +#: desktopGrid.js:350 fileItem.js:651 +msgid "Open in Terminal" +msgstr "Open in Terminal" + +#: desktopGrid.js:352 +msgid "Change Background…" +msgstr "Change Background…" + +#: desktopGrid.js:354 +msgid "Display Settings" +msgstr "Display Settings" + +#: desktopGrid.js:355 +msgid "Settings" +msgstr "Settings" + +#: desktopGrid.js:653 +#, fuzzy +msgid "Rename" +msgstr "Rename…" + +#: desktopIconsUtil.js:61 +msgid "Command not found" +msgstr "Command not found" + +#: fileItem.js:521 +msgid "Don’t Allow Launching" +msgstr "Don’t Allow Launching" + +#: fileItem.js:523 +msgid "Allow Launching" +msgstr "Allow Launching" + +#: fileItem.js:619 +msgid "Open" +msgstr "Open" + +#: fileItem.js:623 +msgid "Open With Other Application" +msgstr "Open With Other Application" + +#: fileItem.js:627 +msgid "Cut" +msgstr "Cut" + +#: fileItem.js:628 +msgid "Copy" +msgstr "Copy" + +#: fileItem.js:630 +msgid "Rename…" +msgstr "Rename…" + +#: fileItem.js:631 +msgid "Move to Trash" +msgstr "Move to Wastebasket" + +#: fileItem.js:641 +msgid "Empty Trash" +msgstr "Empty Wastebasket" + +#: fileItem.js:647 +msgid "Properties" +msgstr "Properties" + +#: fileItem.js:649 +msgid "Show in Files" +msgstr "Show in Files" + +#: schemas/org.gnome.shell.extensions.desktop-icons.gschema.xml:11 +msgid "Icon size" +msgstr "Icon size" + +#: schemas/org.gnome.shell.extensions.desktop-icons.gschema.xml:12 +msgid "Set the size for the desktop icons." +msgstr "Set the size for the desktop icons." + +#: schemas/org.gnome.shell.extensions.desktop-icons.gschema.xml:16 +msgid "Show personal folder" +msgstr "Show personal folder" + +#: schemas/org.gnome.shell.extensions.desktop-icons.gschema.xml:17 +msgid "Show the personal folder in the desktop." +msgstr "Show the personal folder on the desktop." + +#: schemas/org.gnome.shell.extensions.desktop-icons.gschema.xml:21 +msgid "Show trash icon" +msgstr "Show wastebasket icon" + +#: schemas/org.gnome.shell.extensions.desktop-icons.gschema.xml:22 +msgid "Show the trash icon in the desktop." +msgstr "Show the trash icon on the desktop." + +#~ msgid "Enter file name…" +#~ msgstr "Enter file name…" + +#~ msgid "OK" +#~ msgstr "OK" diff --git a/extensions/desktop-icons/po/es.po b/extensions/desktop-icons/po/es.po new file mode 100644 index 00000000..86ea1522 --- /dev/null +++ b/extensions/desktop-icons/po/es.po @@ -0,0 +1,257 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. +# FIRST AUTHOR , YEAR. +# Sergio Costas , 2018. +# Daniel Mustieles , 2018-2020. +# +msgid "" +msgstr "" +"Project-Id-Version: 1.0\n" +"Report-Msgid-Bugs-To: https://gitlab.gnome.org/World/ShellExtensions/desktop-" +"icons/issues\n" +"POT-Creation-Date: 2020-05-26 20:08+0000\n" +"PO-Revision-Date: 2020-09-23 09:43+0200\n" +"Last-Translator: Daniel Mustieles \n" +"Language-Team: Spanish - Spain \n" +"Language: es_ES\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" +"X-Generator: Gtranslator 3.38.0\n" + +#: createFolderDialog.js:46 +msgid "New folder name" +msgstr "Nombre de la nueva carpeta" + +#: createFolderDialog.js:70 +msgid "Create" +msgstr "Crear" + +#: createFolderDialog.js:72 +msgid "Cancel" +msgstr "Cancelar" + +#: createFolderDialog.js:145 +msgid "Folder names cannot contain “/”." +msgstr "Los nombres de carpetas no pueden contener «/»." + +#: createFolderDialog.js:148 +msgid "A folder cannot be called “.”." +msgstr "Una carpeta no se puede llamar «.»." + +#: createFolderDialog.js:151 +msgid "A folder cannot be called “..”." +msgstr "Una carpeta no se puede llamar «..»." + +#: createFolderDialog.js:153 +msgid "Folders with “.” at the beginning of their name are hidden." +msgstr "Las carpetas cuyo nombre empieza por «.» están ocultas." + +#: createFolderDialog.js:155 +msgid "There is already a file or folder with that name." +msgstr "Ya hay un archivo o carpeta con ese nombre." + +#: prefs.js:103 +msgid "Size for the desktop icons" +msgstr "Tamaño de los iconos del escritorio" + +#: prefs.js:103 +msgid "Small" +msgstr "Pequeño" + +#: prefs.js:103 +msgid "Standard" +msgstr "Estándar" + +#: prefs.js:103 +msgid "Large" +msgstr "Grande" + +#: prefs.js:104 +msgid "Show the personal folder in the desktop" +msgstr "Mostrar la carpeta personal en el escritorio" + +#: prefs.js:105 +msgid "Show the trash icon in the desktop" +msgstr "Mostrar la papelera en el escritorio" + +#: prefs.js:106 +msgid "Show mounted drives in the desktop" +msgstr "Mostrar unidades montadas en el escritorio" + +#: desktopGrid.js:346 +msgid "New Folder" +msgstr "Nueva carpeta" + +#: desktopGrid.js:347 +msgid "New Document" +msgstr "Nuevo documento" + +#: desktopGrid.js:350 +msgid "Paste" +msgstr "Pegar" + +#: desktopGrid.js:351 +msgid "Undo" +msgstr "Deshacer" + +#: desktopGrid.js:352 +msgid "Redo" +msgstr "Rehacer" + +#: desktopGrid.js:354 +msgid "Show Desktop in Files" +msgstr "Mostrar el escritorio en Archivos" + +#: desktopGrid.js:355 fileItem.js:721 +msgid "Open in Terminal" +msgstr "Abrir en una terminal" + +#: desktopGrid.js:357 +msgid "Change Background…" +msgstr "Cambiar el fondo..." + +#: desktopGrid.js:359 +msgid "Display Settings" +msgstr "Configuración de pantalla" + +#: desktopGrid.js:360 +msgid "Settings" +msgstr "Configuración" + +#: desktopGrid.js:692 +msgid "Rename" +msgstr "Renombrar" + +#: desktopIconsUtil.js:63 +msgid "Command not found" +msgstr "Comando no encontrado" + +#. TRANSLATORS: %s is the filesystem name +#: desktopIconsUtil.js:162 +#, javascript-format +msgid "Ejecting drive “%s” failed:" +msgstr "Falló al expulsar la unidad «%s»:" + +#: fileItem.js:584 +msgid "Don’t Allow Launching" +msgstr "No permitir lanzar" + +#: fileItem.js:586 +msgid "Allow Launching" +msgstr "Permitir lanzar" + +#: fileItem.js:682 +msgid "Open" +msgstr "Abrir" + +#: fileItem.js:686 +msgid "Open With Other Application" +msgstr "Abrir con otra aplicación" + +#: fileItem.js:688 +msgid "Launch using Dedicated Graphics Card" +msgstr "Lanza usando la tarjeta gráfica dedicada" + +#: fileItem.js:693 +msgid "Cut" +msgstr "Cortar" + +#: fileItem.js:694 +msgid "Copy" +msgstr "Copiar" + +#: fileItem.js:696 +msgid "Rename…" +msgstr "Renombrar…" + +#: fileItem.js:697 +msgid "Move to Trash" +msgstr "Mover a la papelera" + +#: fileItem.js:707 +msgid "Empty Trash" +msgstr "Vaciar la papelera" + +#: fileItem.js:711 +msgid "Eject" +msgstr "Expulsar" + +#: fileItem.js:717 +msgid "Properties" +msgstr "Propiedades" + +#: fileItem.js:719 +msgid "Show in Files" +msgstr "Mostrar en Files" + +#: fileItem.js:925 +msgid "Home" +msgstr "Carpeta personal" + +#: schemas/org.gnome.shell.extensions.desktop-icons.gschema.xml:11 +msgid "Icon size" +msgstr "Tamaño de los iconos" + +#: schemas/org.gnome.shell.extensions.desktop-icons.gschema.xml:12 +msgid "Set the size for the desktop icons." +msgstr "Establece el tamaño de los iconos del escritorio." + +#: schemas/org.gnome.shell.extensions.desktop-icons.gschema.xml:16 +msgid "Show personal folder" +msgstr "Mostrar la carpeta personal" + +#: schemas/org.gnome.shell.extensions.desktop-icons.gschema.xml:17 +msgid "Show the personal folder in the desktop." +msgstr "Mostrar la carpeta personal en el escritorio." + +#: schemas/org.gnome.shell.extensions.desktop-icons.gschema.xml:21 +msgid "Show trash icon" +msgstr "Mostrar la papelera" + +#: schemas/org.gnome.shell.extensions.desktop-icons.gschema.xml:22 +msgid "Show the trash icon in the desktop." +msgstr "Mostrar la papelera en el escritorio." + +#: schemas/org.gnome.shell.extensions.desktop-icons.gschema.xml:26 +msgid "Show mounted drives" +msgstr "Mostrar unidades montadas" + +#: schemas/org.gnome.shell.extensions.desktop-icons.gschema.xml:27 +msgid "Show mounted drives in the desktop." +msgstr "Mostrar unidades montadas en el escritorio." + +#~ msgid "Enter file name…" +#~ msgstr "Introduzca el nombre del archivo…" + +#~ msgid "OK" +#~ msgstr "Aceptar" + +#~ msgid "Huge" +#~ msgstr "Inmenso" + +#~ msgid "Ok" +#~ msgstr "Aceptar" + +#~ msgid "huge" +#~ msgstr "inmenso" + +#~ msgid "Maximum width for the icons and filename." +#~ msgstr "Ancho máximo de los iconos y el nombre de fichero." + +#~ msgid "Shows the Documents folder in the desktop." +#~ msgstr "Muestra la carpeta Documentos en el escritorio." + +#~ msgid "Shows the Downloads folder in the desktop." +#~ msgstr "Muestra la carpeta Descargas en el escritorio." + +#~ msgid "Shows the Music folder in the desktop." +#~ msgstr "Muestra la carpeta Música en el escritorio." + +#~ msgid "Shows the Pictures folder in the desktop." +#~ msgstr "Muestra la carpeta Imágenes en el escritorio." + +#~ msgid "Shows the Videos folder in the desktop." +#~ msgstr "Muestra la carpeta Vídeos en el escritorio." diff --git a/extensions/desktop-icons/po/eu.po b/extensions/desktop-icons/po/eu.po new file mode 100644 index 00000000..d662e0d3 --- /dev/null +++ b/extensions/desktop-icons/po/eu.po @@ -0,0 +1,192 @@ +# Basque translation for desktop-icons. +# Copyright (C) 2019 desktop-icons's COPYRIGHT HOLDER +# This file is distributed under the same license as the desktop-icons package. +# Asier Sarasua Garmendia , 2019. +# +msgid "" +msgstr "" +"Project-Id-Version: desktop-icons master\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2020-04-05 21:12+0200\n" +"PO-Revision-Date: 2019-09-15 10:00+0100\n" +"Last-Translator: Asier Sarasua Garmendia \n" +"Language-Team: Basque \n" +"Language: eu\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: createFolderDialog.js:46 +msgid "New folder name" +msgstr "Karpetaren izen berria" + +#: createFolderDialog.js:70 +msgid "Create" +msgstr "Sorrera" + +#: createFolderDialog.js:72 +msgid "Cancel" +msgstr "Utzi" + +#: createFolderDialog.js:145 +msgid "Folder names cannot contain “/”." +msgstr "Karpeta-izenak ezin du '/' karaktererik eduki." + +#: createFolderDialog.js:148 +msgid "A folder cannot be called “.”." +msgstr "Karpeta ezin da '.' gisa deitu." + +#: createFolderDialog.js:151 +msgid "A folder cannot be called “..”." +msgstr "Karpeta ezin da '..' gisa deitu." + +#: createFolderDialog.js:153 +msgid "Folders with “.” at the beginning of their name are hidden." +msgstr "Izenaren hasieran \".\" duten karpetak ezkutuan daude." + +#: createFolderDialog.js:155 +msgid "There is already a file or folder with that name." +msgstr "Badago izen hori duen fitxategi edo karpeta bat." + +#: prefs.js:102 +msgid "Size for the desktop icons" +msgstr "Mahaigaineko ikonoen tamaina" + +#: prefs.js:102 +msgid "Small" +msgstr "Txikia" + +#: prefs.js:102 +msgid "Standard" +msgstr "Arrunta" + +#: prefs.js:102 +msgid "Large" +msgstr "Handia" + +#: prefs.js:103 +msgid "Show the personal folder in the desktop" +msgstr "Erakutsi karpeta pertsonala mahaigainean" + +#: prefs.js:104 +msgid "Show the trash icon in the desktop" +msgstr "Erakutsi zakarrontziaren ikonoa mahaigainean" + +#: desktopGrid.js:343 +msgid "New Folder" +msgstr "Karpeta berria" + +#: desktopGrid.js:345 +msgid "Paste" +msgstr "Itsatsi" + +#: desktopGrid.js:346 +msgid "Undo" +msgstr "Desegin" + +#: desktopGrid.js:347 +msgid "Redo" +msgstr "Berregin" + +#: desktopGrid.js:349 +msgid "Show Desktop in Files" +msgstr "Erakutsi mahaigaina Fitxategiak aplikazioan" + +#: desktopGrid.js:350 fileItem.js:651 +msgid "Open in Terminal" +msgstr "Ireki terminalean" + +#: desktopGrid.js:352 +msgid "Change Background…" +msgstr "Aldatu atzeko planoa…" + +#: desktopGrid.js:354 +msgid "Display Settings" +msgstr "Pantailaren ezarpenak" + +#: desktopGrid.js:355 +msgid "Settings" +msgstr "Ezarpenak" + +#: desktopGrid.js:653 +#, fuzzy +msgid "Rename" +msgstr "Aldatu izena…" + +#: desktopIconsUtil.js:61 +msgid "Command not found" +msgstr "Ez da komandoa aurkitu" + +#: fileItem.js:521 +msgid "Don’t Allow Launching" +msgstr "Ez baimendu abiaraztea" + +#: fileItem.js:523 +msgid "Allow Launching" +msgstr "Baimendu abiaraztea" + +#: fileItem.js:619 +msgid "Open" +msgstr "Ireki" + +#: fileItem.js:623 +msgid "Open With Other Application" +msgstr "Ireki beste aplikazio batekin" + +#: fileItem.js:627 +msgid "Cut" +msgstr "Ebaki" + +#: fileItem.js:628 +msgid "Copy" +msgstr "Kopiatu" + +#: fileItem.js:630 +msgid "Rename…" +msgstr "Aldatu izena…" + +#: fileItem.js:631 +msgid "Move to Trash" +msgstr "Bota zakarrontzira" + +#: fileItem.js:641 +msgid "Empty Trash" +msgstr "Hustu zakarrontzia" + +#: fileItem.js:647 +msgid "Properties" +msgstr "Propietateak" + +#: fileItem.js:649 +msgid "Show in Files" +msgstr "Erakutsi Fitxategiak aplikazioan" + +#: schemas/org.gnome.shell.extensions.desktop-icons.gschema.xml:11 +msgid "Icon size" +msgstr "Ikonoaren tamaina" + +#: schemas/org.gnome.shell.extensions.desktop-icons.gschema.xml:12 +msgid "Set the size for the desktop icons." +msgstr "Ezarri mahaigaineko ikonoen tamaina." + +#: schemas/org.gnome.shell.extensions.desktop-icons.gschema.xml:16 +msgid "Show personal folder" +msgstr "Erakutsi karpeta pertsonala" + +#: schemas/org.gnome.shell.extensions.desktop-icons.gschema.xml:17 +msgid "Show the personal folder in the desktop." +msgstr "Erakutsi karpeta pertsonala mahaigainean." + +#: schemas/org.gnome.shell.extensions.desktop-icons.gschema.xml:21 +msgid "Show trash icon" +msgstr "Erakutsi zakarrontziaren ikonoa" + +#: schemas/org.gnome.shell.extensions.desktop-icons.gschema.xml:22 +msgid "Show the trash icon in the desktop." +msgstr "Erakutsi zakarrontziaren ikonoa mahaigainean." + +#~ msgid "Enter file name…" +#~ msgstr "Sartu fitxategi-izena…" + +#~ msgid "OK" +#~ msgstr "Ados" diff --git a/extensions/desktop-icons/po/fa.po b/extensions/desktop-icons/po/fa.po new file mode 100644 index 00000000..4538923e --- /dev/null +++ b/extensions/desktop-icons/po/fa.po @@ -0,0 +1,187 @@ +# Persian translation for desktop-icons. +# Copyright (C) 2020 desktop-icons's COPYRIGHT HOLDER +# This file is distributed under the same license as the desktop-icons package. +# Danial Behzadi , 2020. +# +msgid "" +msgstr "" +"Project-Id-Version: desktop-icons master\n" +"Report-Msgid-Bugs-To: https://gitlab.gnome.org/World/ShellExtensions/desktop-" +"icons/issues\n" +"POT-Creation-Date: 2020-04-06 14:18+0000\n" +"PO-Revision-Date: 2020-04-06 18:21+0000\n" +"Language-Team: Persian \n" +"Language: fa\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Last-Translator: \n" +"X-Generator: Poedit 2.3\n" + +#: createFolderDialog.js:46 +msgid "New folder name" +msgstr "نام شاخهٔ جدید" + +#: createFolderDialog.js:70 +msgid "Create" +msgstr "ایجاد" + +#: createFolderDialog.js:72 +msgid "Cancel" +msgstr "لغو" + +#: createFolderDialog.js:145 +msgid "Folder names cannot contain “/”." +msgstr "نام شاخه‌ها نمی‌تواند شامل \"/\" شود." + +#: createFolderDialog.js:148 +msgid "A folder cannot be called “.”." +msgstr "یک شاخه را نمی‌توان «.» نامگذاری کرد." + +#: createFolderDialog.js:151 +msgid "A folder cannot be called “..”." +msgstr "یک شاخه را نمی‌توان «..» نامگذاری کرد." + +#: createFolderDialog.js:153 +msgid "Folders with “.” at the beginning of their name are hidden." +msgstr "شاخه‌هایی با «.» در ابتدای نامشان، مخفیند." + +#: createFolderDialog.js:155 +msgid "There is already a file or folder with that name." +msgstr "پرونده یا شاخه‌ای با همان نام موجود است." + +#: prefs.js:102 +msgid "Size for the desktop icons" +msgstr "اندازه برای نقشک‌های میزکار" + +#: prefs.js:102 +msgid "Small" +msgstr "کوچک" + +#: prefs.js:102 +msgid "Standard" +msgstr "استاندارد" + +#: prefs.js:102 +msgid "Large" +msgstr "بزرگ" + +#: prefs.js:103 +msgid "Show the personal folder in the desktop" +msgstr "نمایش شاخهٔ شخصی در میزکار" + +#: prefs.js:104 +msgid "Show the trash icon in the desktop" +msgstr "نمایش نقشک زباله‌دان در میزکار" + +#: desktopGrid.js:343 +msgid "New Folder" +msgstr "شاخه جدید" + +#: desktopGrid.js:345 +msgid "Paste" +msgstr "چسباندن" + +#: desktopGrid.js:346 +msgid "Undo" +msgstr "برگردان" + +#: desktopGrid.js:347 +msgid "Redo" +msgstr "انجام دوباره" + +#: desktopGrid.js:349 +msgid "Show Desktop in Files" +msgstr "نمایش میزکار در پرونده‌ها" + +#: desktopGrid.js:350 fileItem.js:651 +msgid "Open in Terminal" +msgstr "گشودن در پایانه" + +#: desktopGrid.js:352 +msgid "Change Background…" +msgstr "تغییر پس‌زمینه…" + +#: desktopGrid.js:354 +msgid "Display Settings" +msgstr "تنظیمات نمایشگر" + +#: desktopGrid.js:355 +msgid "Settings" +msgstr "تنظیمات" + +#: desktopGrid.js:653 +msgid "Rename" +msgstr "تغییر نام" + +#: desktopIconsUtil.js:61 +msgid "Command not found" +msgstr "فرمان پیدا نشد" + +#: fileItem.js:521 +msgid "Don’t Allow Launching" +msgstr "اجازه ندادن به اجرا" + +#: fileItem.js:523 +msgid "Allow Launching" +msgstr "اجازهٔ اجرا" + +#: fileItem.js:619 +msgid "Open" +msgstr "گشودن" + +#: fileItem.js:623 +msgid "Open With Other Application" +msgstr "گشودن با برنامه‌ای دیگر" + +#: fileItem.js:627 +msgid "Cut" +msgstr "برش" + +#: fileItem.js:628 +msgid "Copy" +msgstr "رونوشت" + +#: fileItem.js:630 +msgid "Rename…" +msgstr "تغییر نام…" + +#: fileItem.js:631 +msgid "Move to Trash" +msgstr "انداختن در زباله‌دان" + +#: fileItem.js:641 +msgid "Empty Trash" +msgstr "خالی کردن زباله‌دان" + +#: fileItem.js:647 +msgid "Properties" +msgstr "ویژگی‌ها" + +#: fileItem.js:649 +msgid "Show in Files" +msgstr "نمایش در پرونده‌ها" + +#: schemas/org.gnome.shell.extensions.desktop-icons.gschema.xml:11 +msgid "Icon size" +msgstr "اندازهٔ نقشک" + +#: schemas/org.gnome.shell.extensions.desktop-icons.gschema.xml:12 +msgid "Set the size for the desktop icons." +msgstr "تنظیم اندازه برای نقشک‌های میزکار." + +#: schemas/org.gnome.shell.extensions.desktop-icons.gschema.xml:16 +msgid "Show personal folder" +msgstr "نمایش شاخهٔ شخصی" + +#: schemas/org.gnome.shell.extensions.desktop-icons.gschema.xml:17 +msgid "Show the personal folder in the desktop." +msgstr "نمایش شاخهٔ شخصی در میزکار." + +#: schemas/org.gnome.shell.extensions.desktop-icons.gschema.xml:21 +msgid "Show trash icon" +msgstr "نمایش نقشک زباله‌دان" + +#: schemas/org.gnome.shell.extensions.desktop-icons.gschema.xml:22 +msgid "Show the trash icon in the desktop." +msgstr "نمایش نقشک زباله‌دان در میزکار." diff --git a/extensions/desktop-icons/po/fi.po b/extensions/desktop-icons/po/fi.po new file mode 100644 index 00000000..f2b451db --- /dev/null +++ b/extensions/desktop-icons/po/fi.po @@ -0,0 +1,231 @@ +# Finnish translation for desktop-icons. +# Copyright (C) 2018 desktop-icons's COPYRIGHT HOLDER +# This file is distributed under the same license as the desktop-icons package. +# Jiri Grönroos , 2018. +# +msgid "" +msgstr "" +"Project-Id-Version: desktop-icons master\n" +"Report-Msgid-Bugs-To: https://gitlab.gnome.org/World/ShellExtensions/desktop-" +"icons/issues\n" +"POT-Creation-Date: 2020-05-26 20:08+0000\n" +"PO-Revision-Date: 2020-08-16 17:43+0300\n" +"Last-Translator: Jiri Grönroos \n" +"Language-Team: Finnish \n" +"Language: fi\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" +"X-Generator: Poedit 2.4.1\n" + +#: createFolderDialog.js:46 +msgid "New folder name" +msgstr "Uusi kansion nimi" + +#: createFolderDialog.js:70 +msgid "Create" +msgstr "Luo" + +#: createFolderDialog.js:72 +msgid "Cancel" +msgstr "Peru" + +#: createFolderDialog.js:145 +msgid "Folder names cannot contain “/”." +msgstr "Kansion nimi ei voi sisältää merkkiä “/”." + +#: createFolderDialog.js:148 +msgid "A folder cannot be called “.”." +msgstr "Kansion nimi ei voi olla “.”." + +#: createFolderDialog.js:151 +msgid "A folder cannot be called “..”." +msgstr "Kansion nimi ei voi olla “..”." + +#: createFolderDialog.js:153 +msgid "Folders with “.” at the beginning of their name are hidden." +msgstr "Kansiot, joiden nimi alkaa merkillä “.”, ovat piilotettuja." + +#: createFolderDialog.js:155 +msgid "There is already a file or folder with that name." +msgstr "Nimi on jo toisen tiedoston tai kansion käytössä." + +#: prefs.js:103 +msgid "Size for the desktop icons" +msgstr "Työpöydän kuvakkeiden koko" + +#: prefs.js:103 +msgid "Small" +msgstr "Pieni" + +#: prefs.js:103 +msgid "Standard" +msgstr "Normaali" + +#: prefs.js:103 +msgid "Large" +msgstr "Suuri" + +#: prefs.js:104 +msgid "Show the personal folder in the desktop" +msgstr "Näytä kotikansio työpöydällä" + +#: prefs.js:105 +msgid "Show the trash icon in the desktop" +msgstr "Näytä roskakorin kuvake työpöydällä" + +#: prefs.js:106 +msgid "Show mounted drives in the desktop" +msgstr "Näytä liitetyt asemat työpöydällä" + +#: desktopGrid.js:346 +msgid "New Folder" +msgstr "Uusi kansio" + +#: desktopGrid.js:347 +msgid "New Document" +msgstr "Uusi asiakirja" + +#: desktopGrid.js:350 +msgid "Paste" +msgstr "Liitä" + +#: desktopGrid.js:351 +msgid "Undo" +msgstr "Kumoa" + +#: desktopGrid.js:352 +msgid "Redo" +msgstr "Tee uudeleen" + +#: desktopGrid.js:354 +msgid "Show Desktop in Files" +msgstr "Näytä työpöytä tiedostonhallinnassa" + +#: desktopGrid.js:355 fileItem.js:721 +msgid "Open in Terminal" +msgstr "Avaa päätteessä" + +#: desktopGrid.js:357 +msgid "Change Background…" +msgstr "Vaihda taustakuva…" + +#: desktopGrid.js:359 +msgid "Display Settings" +msgstr "Näytön asetukset" + +#: desktopGrid.js:360 +msgid "Settings" +msgstr "Asetukset" + +#: desktopGrid.js:692 +msgid "Rename" +msgstr "Nimeä uudelleen" + +#: desktopIconsUtil.js:63 +msgid "Command not found" +msgstr "Komentoa ei löydy" + +#. TRANSLATORS: %s is the filesystem name +#: desktopIconsUtil.js:162 +#, javascript-format +msgid "Ejecting drive “%s” failed:" +msgstr "Aseman “%s” avaaminen epäonnistui:" + +#: fileItem.js:584 +msgid "Don’t Allow Launching" +msgstr "Älä salli käynnistämistä" + +#: fileItem.js:586 +msgid "Allow Launching" +msgstr "Salli käynnistäminen" + +#: fileItem.js:682 +msgid "Open" +msgstr "Avaa" + +#: fileItem.js:686 +msgid "Open With Other Application" +msgstr "Avaa toisella sovelluksella" + +#: fileItem.js:688 +msgid "Launch using Dedicated Graphics Card" +msgstr "Käynnistä käyttäen erillistä näytönohjainta" + +#: fileItem.js:693 +msgid "Cut" +msgstr "Leikkaa" + +#: fileItem.js:694 +msgid "Copy" +msgstr "Kopioi" + +#: fileItem.js:696 +msgid "Rename…" +msgstr "Nimeä uudelleen…" + +#: fileItem.js:697 +msgid "Move to Trash" +msgstr "Siirrä roskakoriin" + +#: fileItem.js:707 +msgid "Empty Trash" +msgstr "Tyhjennä roskakori" + +#: fileItem.js:711 +msgid "Eject" +msgstr "Poista asemasta" + +#: fileItem.js:717 +msgid "Properties" +msgstr "Ominaisuudet" + +#: fileItem.js:719 +msgid "Show in Files" +msgstr "Näytä tiedostonhallinnassa" + +#: fileItem.js:925 +msgid "Home" +msgstr "Koti" + +#: schemas/org.gnome.shell.extensions.desktop-icons.gschema.xml:11 +msgid "Icon size" +msgstr "Kuvakekoko" + +#: schemas/org.gnome.shell.extensions.desktop-icons.gschema.xml:12 +msgid "Set the size for the desktop icons." +msgstr "Aseta työpöytäkuvakkeiden koko." + +#: schemas/org.gnome.shell.extensions.desktop-icons.gschema.xml:16 +msgid "Show personal folder" +msgstr "Näytä kotikansio" + +#: schemas/org.gnome.shell.extensions.desktop-icons.gschema.xml:17 +msgid "Show the personal folder in the desktop." +msgstr "Näytä kotikansio työpöydällä." + +#: schemas/org.gnome.shell.extensions.desktop-icons.gschema.xml:21 +msgid "Show trash icon" +msgstr "Näytä roskakorin kuvake" + +#: schemas/org.gnome.shell.extensions.desktop-icons.gschema.xml:22 +msgid "Show the trash icon in the desktop." +msgstr "Näytä roskakorin kuvake työpöydällä." + +#: schemas/org.gnome.shell.extensions.desktop-icons.gschema.xml:26 +msgid "Show mounted drives" +msgstr "Näytä liitetyt asemat" + +#: schemas/org.gnome.shell.extensions.desktop-icons.gschema.xml:27 +msgid "Show mounted drives in the desktop." +msgstr "Näytä liitetyt asemat työpöydällä." + +#~ msgid "Enter file name…" +#~ msgstr "Anna tiedostonimi…" + +#~ msgid "OK" +#~ msgstr "OK" + +#~ msgid "Huge" +#~ msgstr "Valtava" diff --git a/extensions/desktop-icons/po/fr.po b/extensions/desktop-icons/po/fr.po new file mode 100644 index 00000000..3c5958d5 --- /dev/null +++ b/extensions/desktop-icons/po/fr.po @@ -0,0 +1,225 @@ +# French translation for desktop-icons. +# Copyright (C) 2018-2020 desktop-icons's COPYRIGHT HOLDER +# This file is distributed under the same license as the desktop-icons package. +# ghentdebian , 2018. +# Charles Monzat , 2018. +# Claude Paroz , 2020. +# Sylvestris , 2020. +# +msgid "" +msgstr "" +"Project-Id-Version: desktop-icons master\n" +"Report-Msgid-Bugs-To: https://gitlab.gnome.org/World/ShellExtensions/desktop-" +"icons/issues\n" +"POT-Creation-Date: 2020-08-25 19:35+0000\n" +"PO-Revision-Date: 2020-09-20 10:54+0200\n" +"Last-Translator: Sylvestris \n" +"Language-Team: GNOME French Team \n" +"Language: fr\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n > 1);\n" +"X-Generator: Gtranslator 3.36.0\n" + +#: createFolderDialog.js:46 +msgid "New folder name" +msgstr "Nouveau nom de dossier" + +#: createFolderDialog.js:70 +msgid "Create" +msgstr "Créer" + +#: createFolderDialog.js:72 +msgid "Cancel" +msgstr "Annuler" + +#: createFolderDialog.js:145 +msgid "Folder names cannot contain “/”." +msgstr "Les noms de dossiers ne peuvent pas contenir « / »." + +#: createFolderDialog.js:148 +msgid "A folder cannot be called “.”." +msgstr "Un dossier ne peut pas être nommé « . »." + +#: createFolderDialog.js:151 +msgid "A folder cannot be called “..”." +msgstr "Un dossier ne peut pas être nommé « .. »." + +#: createFolderDialog.js:153 +msgid "Folders with “.” at the beginning of their name are hidden." +msgstr "Les dossiers dont le nom commence par « . » sont masqués." + +#: createFolderDialog.js:155 +msgid "There is already a file or folder with that name." +msgstr "Il existe déjà un fichier ou dossier ayant ce nom." + +#: prefs.js:103 +msgid "Size for the desktop icons" +msgstr "Taille des icônes du bureau" + +#: prefs.js:103 +msgid "Small" +msgstr "Petite" + +#: prefs.js:103 +msgid "Standard" +msgstr "Normale" + +#: prefs.js:103 +msgid "Large" +msgstr "Grande" + +#: prefs.js:104 +msgid "Show the personal folder in the desktop" +msgstr "Montrer le dossier personnel sur le bureau" + +#: prefs.js:105 +msgid "Show the trash icon in the desktop" +msgstr "Montrer la corbeille sur le bureau" + +#: prefs.js:106 +msgid "Show mounted drives in the desktop" +msgstr "Montrer les disques montés sur le bureau" + +#: desktopGrid.js:346 +msgid "New Folder" +msgstr "Nouveau dossier" + +#: desktopGrid.js:347 +msgid "New Document" +msgstr "Nouveau document" + +#: desktopGrid.js:350 +msgid "Paste" +msgstr "Coller" + +#: desktopGrid.js:351 +msgid "Undo" +msgstr "Annuler" + +#: desktopGrid.js:352 +msgid "Redo" +msgstr "Rétablir" + +#: desktopGrid.js:354 +msgid "Show Desktop in Files" +msgstr "Afficher le bureau dans Fichiers" + +#: desktopGrid.js:355 fileItem.js:723 +msgid "Open in Terminal" +msgstr "Ouvrir dans un terminal" + +#: desktopGrid.js:357 +msgid "Change Background…" +msgstr "Changer l’arrière-plan…" + +#: desktopGrid.js:359 +msgid "Display Settings" +msgstr "Configuration d’affichage" + +#: desktopGrid.js:360 +msgid "Settings" +msgstr "Paramètres" + +#: desktopGrid.js:699 +msgid "Rename" +msgstr "Renommer" + +#: desktopIconsUtil.js:63 +msgid "Command not found" +msgstr "Commande introuvable" + +#. TRANSLATORS: %s is the filesystem name +#: desktopIconsUtil.js:162 +#, javascript-format +msgid "Ejecting drive “%s” failed:" +msgstr "Échec de l’éjection du disque « %s » :" + +#: fileItem.js:586 +msgid "Don’t Allow Launching" +msgstr "Ne pas autoriser le lancement" + +#: fileItem.js:588 +msgid "Allow Launching" +msgstr "Autoriser le lancement" + +#: fileItem.js:684 +msgid "Open" +msgstr "Ouvrir" + +#: fileItem.js:688 +msgid "Open With Other Application" +msgstr "Ouvrir avec une autre application" + +#: fileItem.js:690 +msgid "Launch using Dedicated Graphics Card" +msgstr "Lancer en utilisant une carte graphique dédiée" + +#: fileItem.js:695 +msgid "Cut" +msgstr "Couper" + +#: fileItem.js:696 +msgid "Copy" +msgstr "Copier" + +#: fileItem.js:698 +msgid "Rename…" +msgstr "Renommer…" + +#: fileItem.js:699 +msgid "Move to Trash" +msgstr "Mettre à la corbeille" + +#: fileItem.js:709 +msgid "Empty Trash" +msgstr "Vider la corbeille" + +#: fileItem.js:713 +msgid "Eject" +msgstr "Éjecter" + +#: fileItem.js:719 +msgid "Properties" +msgstr "Propriétés" + +#: fileItem.js:721 +msgid "Show in Files" +msgstr "Montrer dans Fichiers" + +#: fileItem.js:927 +msgid "Home" +msgstr "Dossier personnel" + +#: schemas/org.gnome.shell.extensions.desktop-icons.gschema.xml:11 +msgid "Icon size" +msgstr "Taille d’icônes" + +#: schemas/org.gnome.shell.extensions.desktop-icons.gschema.xml:12 +msgid "Set the size for the desktop icons." +msgstr "Définir la taille des icônes du bureau." + +#: schemas/org.gnome.shell.extensions.desktop-icons.gschema.xml:16 +msgid "Show personal folder" +msgstr "Montrer le dossier personnel" + +#: schemas/org.gnome.shell.extensions.desktop-icons.gschema.xml:17 +msgid "Show the personal folder in the desktop." +msgstr "Montrer le dossier personnel sur le bureau." + +#: schemas/org.gnome.shell.extensions.desktop-icons.gschema.xml:21 +msgid "Show trash icon" +msgstr "Montrer l’icône de la corbeille" + +#: schemas/org.gnome.shell.extensions.desktop-icons.gschema.xml:22 +msgid "Show the trash icon in the desktop." +msgstr "Montrer la corbeille sur le bureau." + +#: schemas/org.gnome.shell.extensions.desktop-icons.gschema.xml:26 +msgid "Show mounted drives" +msgstr "Montrer les disques montés" + +#: schemas/org.gnome.shell.extensions.desktop-icons.gschema.xml:27 +msgid "Show mounted drives in the desktop." +msgstr "Montrer les disques montés sur le bureau." diff --git a/extensions/desktop-icons/po/fur.po b/extensions/desktop-icons/po/fur.po new file mode 100644 index 00000000..58bcb4e4 --- /dev/null +++ b/extensions/desktop-icons/po/fur.po @@ -0,0 +1,227 @@ +# Friulian translation for desktop-icons. +# Copyright (C) 2019 desktop-icons's COPYRIGHT HOLDER +# This file is distributed under the same license as the desktop-icons package. +# Fabio Tomat , 2019. +# +msgid "" +msgstr "" +"Project-Id-Version: desktop-icons master\n" +"Report-Msgid-Bugs-To: https://gitlab.gnome.org/World/ShellExtensions/desktop-" +"icons/issues\n" +"POT-Creation-Date: 2020-05-26 20:08+0000\n" +"PO-Revision-Date: 2020-09-08 10:04+0200\n" +"Last-Translator: Fabio Tomat \n" +"Language-Team: Friulian \n" +"Language: fur\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Poedit 2.4.1\n" + +#: createFolderDialog.js:46 +msgid "New folder name" +msgstr "Gnûf non de cartele" + +#: createFolderDialog.js:70 +msgid "Create" +msgstr "Cree" + +#: createFolderDialog.js:72 +msgid "Cancel" +msgstr "Anule" + +#: createFolderDialog.js:145 +msgid "Folder names cannot contain “/”." +msgstr "I nons des cartelis no puedin contignî il caratar “/”." + +#: createFolderDialog.js:148 +msgid "A folder cannot be called “.”." +msgstr "Une cartele no pues jessi clamade “.”." + +#: createFolderDialog.js:151 +msgid "A folder cannot be called “..”." +msgstr "Une cartele no pues jessi clamade “..”." + +#: createFolderDialog.js:153 +msgid "Folders with “.” at the beginning of their name are hidden." +msgstr "Lis cartelis cul “.” al inizi dal lôr non a son platadis." + +#: createFolderDialog.js:155 +msgid "There is already a file or folder with that name." +msgstr "Un file o une cartele cul stes non e esist za." + +#: prefs.js:103 +msgid "Size for the desktop icons" +msgstr "Dimension pes iconis dal scritori" + +#: prefs.js:103 +msgid "Small" +msgstr "Piçule" + +#: prefs.js:103 +msgid "Standard" +msgstr "Standard" + +#: prefs.js:103 +msgid "Large" +msgstr "Largje" + +#: prefs.js:104 +msgid "Show the personal folder in the desktop" +msgstr "Mostre la cartele personâl intal scritori" + +#: prefs.js:105 +msgid "Show the trash icon in the desktop" +msgstr "Mostre la icone de scovacere intal scritori" + +#: prefs.js:106 +msgid "Show mounted drives in the desktop" +msgstr "Mostre lis unitâts montadis tal scritori" + +#: desktopGrid.js:346 +msgid "New Folder" +msgstr "Gnove cartele" + +#: desktopGrid.js:347 +msgid "New Document" +msgstr "Gnûf document" + +#: desktopGrid.js:350 +msgid "Paste" +msgstr "Tache" + +#: desktopGrid.js:351 +msgid "Undo" +msgstr "Anule" + +#: desktopGrid.js:352 +msgid "Redo" +msgstr "Torne fâ" + +#: desktopGrid.js:354 +msgid "Show Desktop in Files" +msgstr "Mostre Scritori in File" + +#: desktopGrid.js:355 fileItem.js:721 +msgid "Open in Terminal" +msgstr "Vierç in Terminâl" + +#: desktopGrid.js:357 +msgid "Change Background…" +msgstr "Cambie sfont…" + +#: desktopGrid.js:359 +msgid "Display Settings" +msgstr "Impostazions visôr" + +#: desktopGrid.js:360 +msgid "Settings" +msgstr "Impostazions" + +#: desktopGrid.js:692 +msgid "Rename" +msgstr "Cambie non" + +#: desktopIconsUtil.js:63 +msgid "Command not found" +msgstr "Comant no cjatât" + +#. TRANSLATORS: %s is the filesystem name +#: desktopIconsUtil.js:162 +#, javascript-format +msgid "Ejecting drive “%s” failed:" +msgstr "No si è rivâts a parâ fûr la unitât “%s”:" + +#: fileItem.js:584 +msgid "Don’t Allow Launching" +msgstr "No sta permeti inviament" + +#: fileItem.js:586 +msgid "Allow Launching" +msgstr "Permet inviament" + +#: fileItem.js:682 +msgid "Open" +msgstr "Vierç" + +#: fileItem.js:686 +msgid "Open With Other Application" +msgstr "Vierç cuntune altre aplicazion" + +#: fileItem.js:688 +msgid "Launch using Dedicated Graphics Card" +msgstr "Invie doprant une schede grafiche dedicade" + +#: fileItem.js:693 +msgid "Cut" +msgstr "Taie" + +#: fileItem.js:694 +msgid "Copy" +msgstr "Copie" + +#: fileItem.js:696 +msgid "Rename…" +msgstr "Cambie non…" + +#: fileItem.js:697 +msgid "Move to Trash" +msgstr "Sposte te scovacere" + +#: fileItem.js:707 +msgid "Empty Trash" +msgstr "Disvuede scovacere" + +#: fileItem.js:711 +msgid "Eject" +msgstr "Pare fûr" + +#: fileItem.js:717 +msgid "Properties" +msgstr "Propietâts" + +#: fileItem.js:719 +msgid "Show in Files" +msgstr "Mostre in File" + +#: fileItem.js:925 +msgid "Home" +msgstr "Home" + +#: schemas/org.gnome.shell.extensions.desktop-icons.gschema.xml:11 +msgid "Icon size" +msgstr "Dimension icone" + +#: schemas/org.gnome.shell.extensions.desktop-icons.gschema.xml:12 +msgid "Set the size for the desktop icons." +msgstr "Stabilìs la dimension pes iconis dal scritori." + +#: schemas/org.gnome.shell.extensions.desktop-icons.gschema.xml:16 +msgid "Show personal folder" +msgstr "Mostre cartele personâl" + +#: schemas/org.gnome.shell.extensions.desktop-icons.gschema.xml:17 +msgid "Show the personal folder in the desktop." +msgstr "Mostre la cartele personâl intal scritori." + +#: schemas/org.gnome.shell.extensions.desktop-icons.gschema.xml:21 +msgid "Show trash icon" +msgstr "Mostre la icone de scovacere" + +#: schemas/org.gnome.shell.extensions.desktop-icons.gschema.xml:22 +msgid "Show the trash icon in the desktop." +msgstr "Mostre la icone de scovacere intal scritori." + +#: schemas/org.gnome.shell.extensions.desktop-icons.gschema.xml:26 +msgid "Show mounted drives" +msgstr "Mostre unitâts montadis" + +#: schemas/org.gnome.shell.extensions.desktop-icons.gschema.xml:27 +msgid "Show mounted drives in the desktop." +msgstr "Mostre lis unitâts montadis intal scritori." + +#~ msgid "Enter file name…" +#~ msgstr "Inserìs il non dal file…" + +#~ msgid "OK" +#~ msgstr "Va ben" diff --git a/extensions/desktop-icons/po/hr.po b/extensions/desktop-icons/po/hr.po new file mode 100644 index 00000000..11cd25f7 --- /dev/null +++ b/extensions/desktop-icons/po/hr.po @@ -0,0 +1,228 @@ +# Croatian translation for gnome-shell-extension-desktop-icons +# Copyright (c) 2019 Rosetta Contributors and Canonical Ltd 2019 +# This file is distributed under the same license as the gnome-shell-extension-desktop-icons package. +# FIRST AUTHOR , 2019. +# +msgid "" +msgstr "" +"Project-Id-Version: gnome-shell-extension-desktop-icons\n" +"Report-Msgid-Bugs-To: https://gitlab.gnome.org/World/ShellExtensions/desktop-" +"icons/issues\n" +"POT-Creation-Date: 2020-05-26 20:08+0000\n" +"PO-Revision-Date: 2020-09-10 17:48+0200\n" +"Last-Translator: gogo \n" +"Language-Team: Croatian \n" +"Language: hr\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Launchpad-Export-Date: 2019-03-27 09:36+0000\n" +"X-Generator: Poedit 2.3\n" + +#: createFolderDialog.js:46 +msgid "New folder name" +msgstr "Naziv nove mape" + +#: createFolderDialog.js:70 +msgid "Create" +msgstr "Stvori" + +#: createFolderDialog.js:72 +msgid "Cancel" +msgstr "Odustani" + +#: createFolderDialog.js:145 +msgid "Folder names cannot contain “/”." +msgstr "Naziv mape ne može sadržavati “/”." + +#: createFolderDialog.js:148 +msgid "A folder cannot be called “.”." +msgstr "Mapa se ne može nazvati “.”." + +#: createFolderDialog.js:151 +msgid "A folder cannot be called “..”." +msgstr "Mapa se ne može nazvati “..”." + +#: createFolderDialog.js:153 +msgid "Folders with “.” at the beginning of their name are hidden." +msgstr "Mape koje sadrže “.” na početku njihovih naziva su skrivene." + +#: createFolderDialog.js:155 +msgid "There is already a file or folder with that name." +msgstr "Već postoji datoteka ili mapa s tim nazivom." + +#: prefs.js:103 +msgid "Size for the desktop icons" +msgstr "Veličina ikona radne površine" + +#: prefs.js:103 +msgid "Small" +msgstr "Male" + +#: prefs.js:103 +msgid "Standard" +msgstr "Standardne" + +#: prefs.js:103 +msgid "Large" +msgstr "Velike" + +#: prefs.js:104 +msgid "Show the personal folder in the desktop" +msgstr "Prikaži osobnu mapu na radnoj površini" + +#: prefs.js:105 +msgid "Show the trash icon in the desktop" +msgstr "Prikaži mapu smeća na radnoj površini" + +#: prefs.js:106 +msgid "Show mounted drives in the desktop" +msgstr "Prikaži montirane uređaje na radnoj površini" + +#: desktopGrid.js:346 +msgid "New Folder" +msgstr "Nova mapa" + +#: desktopGrid.js:347 +msgid "New Document" +msgstr "Novi dokument" + +#: desktopGrid.js:350 +msgid "Paste" +msgstr "Zalijepi" + +#: desktopGrid.js:351 +msgid "Undo" +msgstr "Poništi" + +#: desktopGrid.js:352 +msgid "Redo" +msgstr "Ponovi" + +#: desktopGrid.js:354 +msgid "Show Desktop in Files" +msgstr "Prikaži radnu površinu u Datotekama" + +#: desktopGrid.js:355 fileItem.js:721 +msgid "Open in Terminal" +msgstr "Otvori u Terminalu" + +#: desktopGrid.js:357 +msgid "Change Background…" +msgstr "Promijeni pozadinu…" + +#: desktopGrid.js:359 +msgid "Display Settings" +msgstr "Postavke zaslona" + +#: desktopGrid.js:360 +msgid "Settings" +msgstr "Postavke" + +#: desktopGrid.js:692 +msgid "Rename" +msgstr "Preimenuj" + +#: desktopIconsUtil.js:63 +msgid "Command not found" +msgstr "Naredba nije pronađena" + +#. TRANSLATORS: %s is the filesystem name +#: desktopIconsUtil.js:162 +#, javascript-format +msgid "Ejecting drive “%s” failed:" +msgstr "Neuspjelo izbacivanje “%s” uređaja:" + +#: fileItem.js:584 +msgid "Don’t Allow Launching" +msgstr "Ne dopuštaj pokretanje" + +#: fileItem.js:586 +msgid "Allow Launching" +msgstr "Dopusti pokretanje" + +#: fileItem.js:682 +msgid "Open" +msgstr "Otvori" + +#: fileItem.js:686 +msgid "Open With Other Application" +msgstr "Otvori s drugom aplikacijom" + +#: fileItem.js:688 +msgid "Launch using Dedicated Graphics Card" +msgstr "Pokreni pomoću namjenske grafičke kartice" + +#: fileItem.js:693 +msgid "Cut" +msgstr "Izreži" + +#: fileItem.js:694 +msgid "Copy" +msgstr "Kopiraj" + +#: fileItem.js:696 +msgid "Rename…" +msgstr "Preimenuj…" + +#: fileItem.js:697 +msgid "Move to Trash" +msgstr "Premjesti u smeće" + +#: fileItem.js:707 +msgid "Empty Trash" +msgstr "Isprazni smeće" + +#: fileItem.js:711 +msgid "Eject" +msgstr "Izbaci" + +#: fileItem.js:717 +msgid "Properties" +msgstr "Svojstva" + +#: fileItem.js:719 +msgid "Show in Files" +msgstr "Prikaži u Datotekama" + +#: fileItem.js:925 +msgid "Home" +msgstr "Osobna mapa" + +#: schemas/org.gnome.shell.extensions.desktop-icons.gschema.xml:11 +msgid "Icon size" +msgstr "Veličina ikona" + +#: schemas/org.gnome.shell.extensions.desktop-icons.gschema.xml:12 +msgid "Set the size for the desktop icons." +msgstr "Postavi veličinu ikona radne površine." + +#: schemas/org.gnome.shell.extensions.desktop-icons.gschema.xml:16 +msgid "Show personal folder" +msgstr "Prikaži osobnu mapu" + +#: schemas/org.gnome.shell.extensions.desktop-icons.gschema.xml:17 +msgid "Show the personal folder in the desktop." +msgstr "Prikaži osobnu mapu na radnoj površini." + +#: schemas/org.gnome.shell.extensions.desktop-icons.gschema.xml:21 +msgid "Show trash icon" +msgstr "Prikaži ikonu smeća" + +#: schemas/org.gnome.shell.extensions.desktop-icons.gschema.xml:22 +msgid "Show the trash icon in the desktop." +msgstr "Prikaži ikonu smeća na radnoj površini." + +#: schemas/org.gnome.shell.extensions.desktop-icons.gschema.xml:26 +msgid "Show mounted drives" +msgstr "Prikaži montirane uređaje" + +#: schemas/org.gnome.shell.extensions.desktop-icons.gschema.xml:27 +msgid "Show mounted drives in the desktop." +msgstr "Prikaži montirane uređaje na radnoj površini." + +#~ msgid "Enter file name…" +#~ msgstr "Upiši naziv datoteke…" + +#~ msgid "OK" +#~ msgstr "U redu" diff --git a/extensions/desktop-icons/po/hu.po b/extensions/desktop-icons/po/hu.po new file mode 100644 index 00000000..dead2ac5 --- /dev/null +++ b/extensions/desktop-icons/po/hu.po @@ -0,0 +1,228 @@ +# Hungarian translation for desktop-icons. +# Copyright (C) 2019, 2020 The Free Software Foundation, inc. +# This file is distributed under the same license as the desktop-icons package. +# +# Balázs Úr , 2019, 2020. +msgid "" +msgstr "" +"Project-Id-Version: desktop-icons master\n" +"Report-Msgid-Bugs-To: https://gitlab.gnome.org/World/ShellExtensions/desktop-i" +"cons/issues\n" +"POT-Creation-Date: 2020-05-26 20:08+0000\n" +"PO-Revision-Date: 2020-09-12 14:46+0200\n" +"Last-Translator: Balázs Úr \n" +"Language-Team: Hungarian \n" +"Language: hu\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" +"X-Generator: Lokalize 19.12.3\n" + +#: createFolderDialog.js:46 +msgid "New folder name" +msgstr "Új mappa neve" + +#: createFolderDialog.js:70 +msgid "Create" +msgstr "Létrehozás" + +#: createFolderDialog.js:72 +msgid "Cancel" +msgstr "Mégse" + +#: createFolderDialog.js:145 +msgid "Folder names cannot contain “/”." +msgstr "A mappanevek nem tartalmazhatnak „/” karaktert." + +#: createFolderDialog.js:148 +msgid "A folder cannot be called “.”." +msgstr "Egy mappának nem lehet „.” a neve." + +#: createFolderDialog.js:151 +msgid "A folder cannot be called “..”." +msgstr "Egy mappának nem lehet „..” a neve." + +#: createFolderDialog.js:153 +msgid "Folders with “.” at the beginning of their name are hidden." +msgstr "A „.” karakterrel kezdődő nevű mappák rejtettek." + +#: createFolderDialog.js:155 +msgid "There is already a file or folder with that name." +msgstr "Már van egy fájl vagy mappa azzal a névvel." + +#: prefs.js:103 +msgid "Size for the desktop icons" +msgstr "Az asztali ikonok mérete" + +#: prefs.js:103 +msgid "Small" +msgstr "Kicsi" + +#: prefs.js:103 +msgid "Standard" +msgstr "Szabványos" + +#: prefs.js:103 +msgid "Large" +msgstr "Nagy" + +#: prefs.js:104 +msgid "Show the personal folder in the desktop" +msgstr "A személyes mappa megjelenítése az asztalon" + +#: prefs.js:105 +msgid "Show the trash icon in the desktop" +msgstr "A kuka ikon megjelenítése az asztalon" + +#: prefs.js:106 +#| msgid "Show the trash icon in the desktop" +msgid "Show mounted drives in the desktop" +msgstr "Csatolt meghajtók megjelenítése az asztalon" + +#: desktopGrid.js:346 +msgid "New Folder" +msgstr "Új mappa" + +#: desktopGrid.js:347 +msgid "New Document" +msgstr "Új dokumentum" + +#: desktopGrid.js:350 +msgid "Paste" +msgstr "Beillesztés" + +#: desktopGrid.js:351 +msgid "Undo" +msgstr "Visszavonás" + +#: desktopGrid.js:352 +msgid "Redo" +msgstr "Újra" + +#: desktopGrid.js:354 +msgid "Show Desktop in Files" +msgstr "Asztal megjelenítése a Fájlokban" + +#: desktopGrid.js:355 fileItem.js:721 +msgid "Open in Terminal" +msgstr "Megnyitás terminálban" + +#: desktopGrid.js:357 +msgid "Change Background…" +msgstr "Háttér megváltoztatása…" + +#: desktopGrid.js:359 +msgid "Display Settings" +msgstr "Megjelenítés beállításai" + +#: desktopGrid.js:360 +msgid "Settings" +msgstr "Beállítások" + +#: desktopGrid.js:692 +msgid "Rename" +msgstr "Átnevezés" + +#: desktopIconsUtil.js:63 +msgid "Command not found" +msgstr "A parancs nem található" + +#. TRANSLATORS: %s is the filesystem name +#: desktopIconsUtil.js:162 +#, javascript-format +msgid "Ejecting drive “%s” failed:" +msgstr "A(z) „%s” meghajtó kiadása nem sikerült:" + +#: fileItem.js:584 +msgid "Don’t Allow Launching" +msgstr "Ne engedélyezzen indítást" + +#: fileItem.js:586 +msgid "Allow Launching" +msgstr "Indítás engedélyezése" + +#: fileItem.js:682 +msgid "Open" +msgstr "Megnyitás" + +#: fileItem.js:686 +msgid "Open With Other Application" +msgstr "Megnyitás egyéb alkalmazással" + +#: fileItem.js:688 +msgid "Launch using Dedicated Graphics Card" +msgstr "Futtatás dedikált videokártya használatával" + +#: fileItem.js:693 +msgid "Cut" +msgstr "Kivágás" + +#: fileItem.js:694 +msgid "Copy" +msgstr "Másolás" + +#: fileItem.js:696 +msgid "Rename…" +msgstr "Átnevezés…" + +#: fileItem.js:697 +msgid "Move to Trash" +msgstr "Áthelyezés a Kukába" + +#: fileItem.js:707 +msgid "Empty Trash" +msgstr "Kuka ürítése" + +#: fileItem.js:711 +msgid "Eject" +msgstr "Kiadás" + +#: fileItem.js:717 +msgid "Properties" +msgstr "Tulajdonságok" + +#: fileItem.js:719 +msgid "Show in Files" +msgstr "Megjelenítés a Fájlokban" + +#: fileItem.js:925 +msgid "Home" +msgstr "Saját mappa" + +#: schemas/org.gnome.shell.extensions.desktop-icons.gschema.xml:11 +msgid "Icon size" +msgstr "Ikonméret" + +#: schemas/org.gnome.shell.extensions.desktop-icons.gschema.xml:12 +msgid "Set the size for the desktop icons." +msgstr "Az asztali ikonok méretének beállítása." + +#: schemas/org.gnome.shell.extensions.desktop-icons.gschema.xml:16 +msgid "Show personal folder" +msgstr "Személyes mappa megjelenítése" + +#: schemas/org.gnome.shell.extensions.desktop-icons.gschema.xml:17 +msgid "Show the personal folder in the desktop." +msgstr "A személyes mappa megjelenítése az asztalon." + +#: schemas/org.gnome.shell.extensions.desktop-icons.gschema.xml:21 +msgid "Show trash icon" +msgstr "Kuka ikon megjelenítése" + +#: schemas/org.gnome.shell.extensions.desktop-icons.gschema.xml:22 +msgid "Show the trash icon in the desktop." +msgstr "A kuka ikon megjelenítése az asztalon." + +#: schemas/org.gnome.shell.extensions.desktop-icons.gschema.xml:26 +#| msgid "Show in Files" +msgid "Show mounted drives" +msgstr "Csatolt meghajtók megjelenítése" + +#: schemas/org.gnome.shell.extensions.desktop-icons.gschema.xml:27 +#| msgid "Show the trash icon in the desktop." +msgid "Show mounted drives in the desktop." +msgstr "Csatolt meghajtók megjelenítése az asztalon." + +#~ msgid "Enter file name…" +#~ msgstr "Adjon meg egy fájlnevet…" diff --git a/extensions/desktop-icons/po/id.po b/extensions/desktop-icons/po/id.po new file mode 100644 index 00000000..04eb8551 --- /dev/null +++ b/extensions/desktop-icons/po/id.po @@ -0,0 +1,222 @@ +# Indonesian translation for desktop-icons. +# Copyright (C) 2018 desktop-icons's COPYRIGHT HOLDER +# This file is distributed under the same license as the desktop-icons package. +# Kukuh Syafaat , 2018-2020. +# Andika Triwidada , 2020. +# +msgid "" +msgstr "" +"Project-Id-Version: desktop-icons master\n" +"Report-Msgid-Bugs-To: https://gitlab.gnome.org/World/ShellExtensions/desktop-" +"icons/issues\n" +"POT-Creation-Date: 2020-05-26 20:08+0000\n" +"PO-Revision-Date: 2020-06-06 16:30+0700\n" +"Last-Translator: Andika Triwidada \n" +"Language-Team: Indonesian \n" +"Language: id\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Poedit 2.3.1\n" + +#: createFolderDialog.js:46 +msgid "New folder name" +msgstr "Nama folder baru" + +#: createFolderDialog.js:70 +msgid "Create" +msgstr "Buat" + +#: createFolderDialog.js:72 +msgid "Cancel" +msgstr "Batal" + +#: createFolderDialog.js:145 +msgid "Folder names cannot contain “/”." +msgstr "Nama folder tak boleh memuat \"/\"." + +#: createFolderDialog.js:148 +msgid "A folder cannot be called “.”." +msgstr "Sebuah folder tak bisa dinamai \".\"." + +#: createFolderDialog.js:151 +msgid "A folder cannot be called “..”." +msgstr "Sebuah folder tak bisa dinamai \"..\"." + +#: createFolderDialog.js:153 +msgid "Folders with “.” at the beginning of their name are hidden." +msgstr "Folder dengan \".\" di awal nama mereka disembunyikan." + +#: createFolderDialog.js:155 +msgid "There is already a file or folder with that name." +msgstr "Folder dengan nama itu sudah ada." + +#: prefs.js:103 +msgid "Size for the desktop icons" +msgstr "Ukuran untuk ikon destop" + +#: prefs.js:103 +msgid "Small" +msgstr "Kecil" + +#: prefs.js:103 +msgid "Standard" +msgstr "Standar" + +#: prefs.js:103 +msgid "Large" +msgstr "Besar" + +#: prefs.js:104 +msgid "Show the personal folder in the desktop" +msgstr "Tampilkan folder pribadi di destop" + +#: prefs.js:105 +msgid "Show the trash icon in the desktop" +msgstr "Tampilkan ikon tong sampah di destop" + +#: prefs.js:106 +msgid "Show mounted drives in the desktop" +msgstr "Tampilkan kandar yang dikaitkan di destop" + +#: desktopGrid.js:346 +msgid "New Folder" +msgstr "Folder Baru" + +#: desktopGrid.js:347 +msgid "New Document" +msgstr "Dokumen Baru" + +#: desktopGrid.js:350 +msgid "Paste" +msgstr "Tempel" + +#: desktopGrid.js:351 +msgid "Undo" +msgstr "Tak Jadi" + +#: desktopGrid.js:352 +msgid "Redo" +msgstr "Jadi Lagi" + +#: desktopGrid.js:354 +msgid "Show Desktop in Files" +msgstr "Tampilkan Destop pada Berkas" + +#: desktopGrid.js:355 fileItem.js:721 +msgid "Open in Terminal" +msgstr "Buka dalam Terminal" + +#: desktopGrid.js:357 +msgid "Change Background…" +msgstr "Ubah Latar Belakang…" + +#: desktopGrid.js:359 +msgid "Display Settings" +msgstr "Pengaturan Tampilan" + +#: desktopGrid.js:360 +msgid "Settings" +msgstr "Pengaturan" + +#: desktopGrid.js:692 +msgid "Rename" +msgstr "Ganti Nama" + +#: desktopIconsUtil.js:63 +msgid "Command not found" +msgstr "Perintah tidak ditemukan" + +#. TRANSLATORS: %s is the filesystem name +#: desktopIconsUtil.js:162 +#, javascript-format +msgid "Ejecting drive “%s” failed:" +msgstr "Mengeluarkan kandar \"%s\" gagal:" + +#: fileItem.js:584 +msgid "Don’t Allow Launching" +msgstr "Jangan Izinkan Peluncuran" + +#: fileItem.js:586 +msgid "Allow Launching" +msgstr "Izinkan Peluncuran" + +#: fileItem.js:682 +msgid "Open" +msgstr "Buka" + +#: fileItem.js:686 +msgid "Open With Other Application" +msgstr "Buka Dengan Aplikasi Lain" + +#: fileItem.js:688 +msgid "Launch using Dedicated Graphics Card" +msgstr "Luncurkan menggunakan Kartu Grafis Terdedikasi" + +#: fileItem.js:693 +msgid "Cut" +msgstr "Potong" + +#: fileItem.js:694 +msgid "Copy" +msgstr "Salin" + +#: fileItem.js:696 +msgid "Rename…" +msgstr "Ganti Nama…" + +#: fileItem.js:697 +msgid "Move to Trash" +msgstr "Pindahkan ke Tong Sampah" + +#: fileItem.js:707 +msgid "Empty Trash" +msgstr "Kosongkan Tong Sampah" + +#: fileItem.js:711 +msgid "Eject" +msgstr "Keluarkan" + +#: fileItem.js:717 +msgid "Properties" +msgstr "Properti" + +#: fileItem.js:719 +msgid "Show in Files" +msgstr "Tampilkan pada Berkas" + +#: fileItem.js:925 +msgid "Home" +msgstr "Rumah" + +#: schemas/org.gnome.shell.extensions.desktop-icons.gschema.xml:11 +msgid "Icon size" +msgstr "Ukuran ikon" + +#: schemas/org.gnome.shell.extensions.desktop-icons.gschema.xml:12 +msgid "Set the size for the desktop icons." +msgstr "Set ukuran untuk ikon destop." + +#: schemas/org.gnome.shell.extensions.desktop-icons.gschema.xml:16 +msgid "Show personal folder" +msgstr "Tampilkan folder pribadi" + +#: schemas/org.gnome.shell.extensions.desktop-icons.gschema.xml:17 +msgid "Show the personal folder in the desktop." +msgstr "Tampilkan folder pribadi di destop." + +#: schemas/org.gnome.shell.extensions.desktop-icons.gschema.xml:21 +msgid "Show trash icon" +msgstr "Tampilkan ikon tong sampah" + +#: schemas/org.gnome.shell.extensions.desktop-icons.gschema.xml:22 +msgid "Show the trash icon in the desktop." +msgstr "Tampilkan ikon tong sampah di destop." + +#: schemas/org.gnome.shell.extensions.desktop-icons.gschema.xml:26 +msgid "Show mounted drives" +msgstr "Tampilkan kandar yang dikaitkan" + +#: schemas/org.gnome.shell.extensions.desktop-icons.gschema.xml:27 +msgid "Show mounted drives in the desktop." +msgstr "Tampilkan kandar yang dikaitkan di destop." diff --git a/extensions/desktop-icons/po/it.po b/extensions/desktop-icons/po/it.po new file mode 100644 index 00000000..bd3eb249 --- /dev/null +++ b/extensions/desktop-icons/po/it.po @@ -0,0 +1,189 @@ +# Italian translation for desktop-icons. +# Copyright (C) 2019, 2020 desktop-icons's COPYRIGHT HOLDER +# This file is distributed under the same license as the desktop-icons package. +# Massimo Branchini , 2019. +# Milo Casagrande , 2019, 2020. +# +msgid "" +msgstr "" +"Project-Id-Version: desktop-icons master\n" +"Report-Msgid-Bugs-To: https://gitlab.gnome.org/World/ShellExtensions/desktop-" +"icons/issues\n" +"POT-Creation-Date: 2020-04-05 19:13+0000\n" +"PO-Revision-Date: 2020-04-07 09:36+0200\n" +"Last-Translator: Milo Casagrande \n" +"Language-Team: Italian \n" +"Language: it\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" +"X-Generator: Poedit 2.2.4\n" + +#: createFolderDialog.js:46 +msgid "New folder name" +msgstr "Nuova cartella" + +#: createFolderDialog.js:70 +msgid "Create" +msgstr "Crea" + +#: createFolderDialog.js:72 +msgid "Cancel" +msgstr "Annulla" + +#: createFolderDialog.js:145 +msgid "Folder names cannot contain “/”." +msgstr "I nomi di cartelle non possono contenere il carattere «/»" + +#: createFolderDialog.js:148 +msgid "A folder cannot be called “.”." +msgstr "Una cartella non può essere chiamata «.»." + +#: createFolderDialog.js:151 +msgid "A folder cannot be called “..”." +msgstr "Una cartella non può essere chiamata «..»." + +#: createFolderDialog.js:153 +msgid "Folders with “.” at the beginning of their name are hidden." +msgstr "Cartelle il cui nome inizia con «.» sono nascoste." + +#: createFolderDialog.js:155 +msgid "There is already a file or folder with that name." +msgstr "Esiste già un file o una cartella con quel nome." + +#: prefs.js:102 +msgid "Size for the desktop icons" +msgstr "Dimensione delle icone della scrivania" + +#: prefs.js:102 +msgid "Small" +msgstr "Piccola" + +#: prefs.js:102 +msgid "Standard" +msgstr "Normale" + +#: prefs.js:102 +msgid "Large" +msgstr "Grande" + +#: prefs.js:103 +msgid "Show the personal folder in the desktop" +msgstr "Mostra la cartella personale sulla scrivania" + +#: prefs.js:104 +msgid "Show the trash icon in the desktop" +msgstr "Mostra il cestino sulla scrivania" + +#: desktopGrid.js:343 +msgid "New Folder" +msgstr "Nuova cartella" + +#: desktopGrid.js:345 +msgid "Paste" +msgstr "Incolla" + +#: desktopGrid.js:346 +msgid "Undo" +msgstr "Annulla" + +#: desktopGrid.js:347 +msgid "Redo" +msgstr "Ripeti" + +#: desktopGrid.js:349 +msgid "Show Desktop in Files" +msgstr "Mostra la scrivania in File" + +#: desktopGrid.js:350 fileItem.js:651 +msgid "Open in Terminal" +msgstr "Apri in Terminale" + +#: desktopGrid.js:352 +msgid "Change Background…" +msgstr "Cambia lo sfondo…" + +#: desktopGrid.js:354 +msgid "Display Settings" +msgstr "Impostazioni dello schermo" + +#: desktopGrid.js:355 +msgid "Settings" +msgstr "Impostazioni" + +#: desktopGrid.js:653 +msgid "Rename" +msgstr "Rinomina" + +#: desktopIconsUtil.js:61 +msgid "Command not found" +msgstr "Comando non trovato" + +#: fileItem.js:521 +msgid "Don’t Allow Launching" +msgstr "Non permettere l'esecuzione" + +#: fileItem.js:523 +msgid "Allow Launching" +msgstr "Permetti l'esecuzione" + +#: fileItem.js:619 +msgid "Open" +msgstr "Apri" + +#: fileItem.js:623 +msgid "Open With Other Application" +msgstr "Apri con altra applicazione" + +#: fileItem.js:627 +msgid "Cut" +msgstr "Taglia" + +#: fileItem.js:628 +msgid "Copy" +msgstr "Copia" + +#: fileItem.js:630 +msgid "Rename…" +msgstr "Rinomina…" + +#: fileItem.js:631 +msgid "Move to Trash" +msgstr "Sposta nel cestino" + +#: fileItem.js:641 +msgid "Empty Trash" +msgstr "Svuota il cestino" + +#: fileItem.js:647 +msgid "Properties" +msgstr "Proprietà" + +#: fileItem.js:649 +msgid "Show in Files" +msgstr "Mostra in File" + +#: schemas/org.gnome.shell.extensions.desktop-icons.gschema.xml:11 +msgid "Icon size" +msgstr "Dimensione dell'icona" + +#: schemas/org.gnome.shell.extensions.desktop-icons.gschema.xml:12 +msgid "Set the size for the desktop icons." +msgstr "Imposta la grandezza delle icone della scrivania." + +#: schemas/org.gnome.shell.extensions.desktop-icons.gschema.xml:16 +msgid "Show personal folder" +msgstr "Mostra la cartella personale" + +#: schemas/org.gnome.shell.extensions.desktop-icons.gschema.xml:17 +msgid "Show the personal folder in the desktop." +msgstr "Mostra la cartella personale sulla scrivania." + +#: schemas/org.gnome.shell.extensions.desktop-icons.gschema.xml:21 +msgid "Show trash icon" +msgstr "Mostra il cestino" + +#: schemas/org.gnome.shell.extensions.desktop-icons.gschema.xml:22 +msgid "Show the trash icon in the desktop." +msgstr "Mostra il cestino sulla scrivania." diff --git a/extensions/desktop-icons/po/ja.po b/extensions/desktop-icons/po/ja.po new file mode 100644 index 00000000..71d9f539 --- /dev/null +++ b/extensions/desktop-icons/po/ja.po @@ -0,0 +1,221 @@ +# Japanese translation for desktop-icons. +# Copyright (C) 2019-2020 desktop-icons's COPYRIGHT HOLDER +# This file is distributed under the same license as the desktop-icons package. +# sicklylife , 2019-2020. +# +msgid "" +msgstr "" +"Project-Id-Version: desktop-icons master\n" +"Report-Msgid-Bugs-To: https://gitlab.gnome.org/World/ShellExtensions/desktop-" +"icons/issues\n" +"POT-Creation-Date: 2020-05-26 20:08+0000\n" +"PO-Revision-Date: 2020-05-30 00:00+0900\n" +"Last-Translator: sicklylife \n" +"Language-Team: Japanese \n" +"Language: ja\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" + +#: createFolderDialog.js:46 +msgid "New folder name" +msgstr "新しいフォルダー名" + +#: createFolderDialog.js:70 +msgid "Create" +msgstr "作成" + +#: createFolderDialog.js:72 +msgid "Cancel" +msgstr "キャンセル" + +#: createFolderDialog.js:145 +msgid "Folder names cannot contain “/”." +msgstr "“/”はフォルダー名に含められません。" + +#: createFolderDialog.js:148 +msgid "A folder cannot be called “.”." +msgstr "“.”という名前はフォルダーに付けられません。" + +#: createFolderDialog.js:151 +msgid "A folder cannot be called “..”." +msgstr "“..”という名前はフォルダーに付けられません。" + +#: createFolderDialog.js:153 +msgid "Folders with “.” at the beginning of their name are hidden." +msgstr "“.”で始まるフォルダーは隠しフォルダーになります。" + +#: createFolderDialog.js:155 +msgid "There is already a file or folder with that name." +msgstr "その名前のファイルかフォルダーがすでに存在します。" + +#: prefs.js:103 +msgid "Size for the desktop icons" +msgstr "デスクトップアイコンのサイズ" + +#: prefs.js:103 +msgid "Small" +msgstr "小さい" + +#: prefs.js:103 +msgid "Standard" +msgstr "標準" + +#: prefs.js:103 +msgid "Large" +msgstr "大きい" + +#: prefs.js:104 +msgid "Show the personal folder in the desktop" +msgstr "ホームフォルダーをデスクトップに表示する" + +#: prefs.js:105 +msgid "Show the trash icon in the desktop" +msgstr "ゴミ箱をデスクトップに表示する" + +#: prefs.js:106 +msgid "Show mounted drives in the desktop" +msgstr "マウントしたドライブをデスクトップに表示する" + +#: desktopGrid.js:346 +msgid "New Folder" +msgstr "新しいフォルダー" + +#: desktopGrid.js:347 +msgid "New Document" +msgstr "新しいドキュメント" + +#: desktopGrid.js:350 +msgid "Paste" +msgstr "貼り付け" + +#: desktopGrid.js:351 +msgid "Undo" +msgstr "元に戻す" + +#: desktopGrid.js:352 +msgid "Redo" +msgstr "やり直す" + +#: desktopGrid.js:354 +msgid "Show Desktop in Files" +msgstr "“ファイル”でデスクトップを表示" + +#: desktopGrid.js:355 fileItem.js:721 +msgid "Open in Terminal" +msgstr "端末で開く" + +#: desktopGrid.js:357 +msgid "Change Background…" +msgstr "背景を変更…" + +#: desktopGrid.js:359 +msgid "Display Settings" +msgstr "ディスプレイの設定" + +#: desktopGrid.js:360 +msgid "Settings" +msgstr "設定" + +#: desktopGrid.js:692 +msgid "Rename" +msgstr "名前を変更" + +#: desktopIconsUtil.js:63 +msgid "Command not found" +msgstr "コマンドが見つかりませんでした" + +#. TRANSLATORS: %s is the filesystem name +#: desktopIconsUtil.js:162 +#, javascript-format +msgid "Ejecting drive “%s” failed:" +msgstr "“%s”の取り出しに失敗しました:" + +#: fileItem.js:584 +msgid "Don’t Allow Launching" +msgstr "起動を許可しない" + +#: fileItem.js:586 +msgid "Allow Launching" +msgstr "起動を許可する" + +#: fileItem.js:682 +msgid "Open" +msgstr "開く" + +#: fileItem.js:686 +msgid "Open With Other Application" +msgstr "別のアプリケーションで開く" + +#: fileItem.js:688 +msgid "Launch using Dedicated Graphics Card" +msgstr "専用のグラフィックカードを使用して起動" + +#: fileItem.js:693 +msgid "Cut" +msgstr "切り取り" + +#: fileItem.js:694 +msgid "Copy" +msgstr "コピー" + +#: fileItem.js:696 +msgid "Rename…" +msgstr "名前を変更…" + +#: fileItem.js:697 +msgid "Move to Trash" +msgstr "ゴミ箱へ移動する" + +#: fileItem.js:707 +msgid "Empty Trash" +msgstr "ゴミ箱を空にする" + +#: fileItem.js:711 +msgid "Eject" +msgstr "取り出す" + +#: fileItem.js:717 +msgid "Properties" +msgstr "プロパティ" + +#: fileItem.js:719 +msgid "Show in Files" +msgstr "“ファイル”で表示" + +#: fileItem.js:925 +msgid "Home" +msgstr "ホーム" + +#: schemas/org.gnome.shell.extensions.desktop-icons.gschema.xml:11 +msgid "Icon size" +msgstr "アイコンサイズ" + +#: schemas/org.gnome.shell.extensions.desktop-icons.gschema.xml:12 +msgid "Set the size for the desktop icons." +msgstr "デスクトップのアイコンサイズを設定します。" + +#: schemas/org.gnome.shell.extensions.desktop-icons.gschema.xml:16 +msgid "Show personal folder" +msgstr "ホームフォルダーを表示する" + +#: schemas/org.gnome.shell.extensions.desktop-icons.gschema.xml:17 +msgid "Show the personal folder in the desktop." +msgstr "デスクトップにホームフォルダーを表示します。" + +#: schemas/org.gnome.shell.extensions.desktop-icons.gschema.xml:21 +msgid "Show trash icon" +msgstr "ゴミ箱アイコンを表示する" + +#: schemas/org.gnome.shell.extensions.desktop-icons.gschema.xml:22 +msgid "Show the trash icon in the desktop." +msgstr "デスクトップにゴミ箱のアイコンを表示します。" + +#: schemas/org.gnome.shell.extensions.desktop-icons.gschema.xml:26 +msgid "Show mounted drives" +msgstr "マウントしたドライブを表示する" + +#: schemas/org.gnome.shell.extensions.desktop-icons.gschema.xml:27 +msgid "Show mounted drives in the desktop." +msgstr "デスクトップにマウントしたドライブを表示します。" diff --git a/extensions/desktop-icons/po/kab.po b/extensions/desktop-icons/po/kab.po new file mode 100644 index 00000000..232728ae --- /dev/null +++ b/extensions/desktop-icons/po/kab.po @@ -0,0 +1,222 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. +# FIRST AUTHOR , YEAR. +# +msgid "" +msgstr "" +"Project-Id-Version: \n" +"Report-Msgid-Bugs-To: https://gitlab.gnome.org/World/ShellExtensions/desktop-" +"icons/issues\n" +"POT-Creation-Date: 2021-03-28 17:45+0000\n" +"PO-Revision-Date: 2021-04-03 21:21+0100\n" +"Language-Team: \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Poedit 2.4.2\n" +"Last-Translator: Slimane Selyan Amiri \n" +"Plural-Forms: nplurals=2; plural=(n > 1);\n" +"Language: kab\n" + +#: createFolderDialog.js:46 +msgid "New folder name" +msgstr "Isem n ukaram amaynut" + +#: createFolderDialog.js:72 +msgid "Create" +msgstr "Rnu" + +#: createFolderDialog.js:74 +msgid "Cancel" +msgstr "Sefsex" + +#: createFolderDialog.js:147 +msgid "Folder names cannot contain “/”." +msgstr "Isem n ukaram ur izmir ara ad igber “/”." + +#: createFolderDialog.js:150 +msgid "A folder cannot be called “.”." +msgstr "Isem n ukaram ur izmir ara ad yili “.”." + +#: createFolderDialog.js:153 +msgid "A folder cannot be called “..”." +msgstr "Isem n ukaram ur izmir ara ad yili “..”." + +#: createFolderDialog.js:155 +msgid "Folders with “.” at the beginning of their name are hidden." +msgstr "Ikaramen s “.” di tazwara n yisem-nsen ttwafren." + +#: createFolderDialog.js:157 +msgid "There is already a file or folder with that name." +msgstr "Akaram s yisem-agi yella yakan." + +#: prefs.js:103 +msgid "Size for the desktop icons" +msgstr "Tuɣzi n tegnitin n tnarit" + +#: prefs.js:103 +msgid "Small" +msgstr "Meẓẓi" + +#: prefs.js:103 +msgid "Standard" +msgstr "Anaway" + +#: prefs.js:103 +msgid "Large" +msgstr "Meqqer" + +#: prefs.js:104 +msgid "Show the personal folder in the desktop" +msgstr "Sken akaram udmawan deg tnarit" + +#: prefs.js:105 +msgid "Show the trash icon in the desktop" +msgstr "Sken tignit n tqecwalt deg tnarit" + +#: prefs.js:106 +msgid "Show mounted drives in the desktop" +msgstr "Sken iḍebsiyen irekben deg tnarit" + +#: desktopGrid.js:346 +msgid "New Folder" +msgstr "Akaram amaynut" + +#: desktopGrid.js:347 +msgid "New Document" +msgstr "Isemli amaynut" + +#: desktopGrid.js:350 +msgid "Paste" +msgstr "Senṭeḍ" + +#: desktopGrid.js:351 +msgid "Undo" +msgstr "Err-d" + +#: desktopGrid.js:352 +msgid "Redo" +msgstr "Uɣal" + +#: desktopGrid.js:354 +msgid "Show Desktop in Files" +msgstr "Sken-d tanarit deg ifuyla" + +#: desktopGrid.js:355 fileItem.js:726 +msgid "Open in Terminal" +msgstr "Ldi deg unneftaɣ" + +#: desktopGrid.js:357 +msgid "Change Background…" +msgstr "Beddel agilal…" + +#: desktopGrid.js:359 +msgid "Display Settings" +msgstr "Iɣewwaren n uskan" + +#: desktopGrid.js:360 +msgid "Settings" +msgstr "Iɣewwaṛen" + +#: desktopGrid.js:699 +msgid "Rename" +msgstr "Beddel isem" + +#: desktopIconsUtil.js:63 +msgid "Command not found" +msgstr "Ulac taladna" + +#. TRANSLATORS: %s is the filesystem name +#: desktopIconsUtil.js:162 +#, javascript-format +msgid "Ejecting drive “%s” failed:" +msgstr "Aḍegger n uḍebsi “%s” ur yeddi ara:" + +#: fileItem.js:589 +msgid "Don’t Allow Launching" +msgstr "Ur sirig ara asenker" + +#: fileItem.js:591 +msgid "Allow Launching" +msgstr "Sireg asenker" + +#: fileItem.js:687 +msgid "Open" +msgstr "Ldi" + +#: fileItem.js:691 +msgid "Open With Other Application" +msgstr "Ldi s usnas-nniḍen" + +#: fileItem.js:693 +msgid "Launch using Dedicated Graphics Card" +msgstr "Sker s useqdec n tkarḍa tudlift ittwaHerzen" + +#: fileItem.js:698 +msgid "Cut" +msgstr "Gzem" + +#: fileItem.js:699 +msgid "Copy" +msgstr "Nɣel" + +#: fileItem.js:701 +msgid "Rename…" +msgstr "Snifel isem…" + +#: fileItem.js:702 +msgid "Move to Trash" +msgstr "Smutti ɣer tqecwalt" + +#: fileItem.js:712 +msgid "Empty Trash" +msgstr "Ḍeggeṛ iḍumman" + +#: fileItem.js:716 +msgid "Eject" +msgstr "Ḍeqqer-d" + +#: fileItem.js:722 +msgid "Properties" +msgstr "Tulmisin" + +#: fileItem.js:724 +msgid "Show in Files" +msgstr "Sken deg ifulay" + +#: fileItem.js:951 +msgid "Home" +msgstr "Asnubeg" + +#: schemas/org.gnome.shell.extensions.desktop-icons.gschema.xml:11 +msgid "Icon size" +msgstr "Tuɣzi n tignit" + +#: schemas/org.gnome.shell.extensions.desktop-icons.gschema.xml:12 +msgid "Set the size for the desktop icons." +msgstr "Sbadu tuɣzi n tegnitin n tnarit." + +#: schemas/org.gnome.shell.extensions.desktop-icons.gschema.xml:16 +msgid "Show personal folder" +msgstr "Sken akaram udmawan" + +#: schemas/org.gnome.shell.extensions.desktop-icons.gschema.xml:17 +msgid "Show the personal folder in the desktop." +msgstr "Sken akaram udmawan deg tnarit." + +#: schemas/org.gnome.shell.extensions.desktop-icons.gschema.xml:21 +msgid "Show trash icon" +msgstr "Sken tignit n tqecwalt" + +#: schemas/org.gnome.shell.extensions.desktop-icons.gschema.xml:22 +msgid "Show the trash icon in the desktop." +msgstr "Sken tignit n tqecwalt deg tnarit." + +#: schemas/org.gnome.shell.extensions.desktop-icons.gschema.xml:26 +msgid "Show mounted drives" +msgstr "Sken iḍebsiyen irekben" + +#: schemas/org.gnome.shell.extensions.desktop-icons.gschema.xml:27 +msgid "Show mounted drives in the desktop." +msgstr "Sken iḍebsiyen irekben deg tnarit." diff --git a/extensions/desktop-icons/po/ko.po b/extensions/desktop-icons/po/ko.po new file mode 100644 index 00000000..da87e2b1 --- /dev/null +++ b/extensions/desktop-icons/po/ko.po @@ -0,0 +1,223 @@ +# Korean translation for desktop-icons. +# Copyright (C) 2021 desktop-icons's COPYRIGHT HOLDER +# This file is distributed under the same license as the desktop-icons package. +# FIRST AUTHOR , YEAR. +# Kuroe Hanako , 2021. +# +msgid "" +msgstr "" +"Project-Id-Version: desktop-icons master\n" +"Report-Msgid-Bugs-To: https://gitlab.gnome.org/World/ShellExtensions/desktop-" +"icons/issues\n" +"POT-Creation-Date: 2021-03-17 02:05+0000\n" +"PO-Revision-Date: 2021-03-28 13:11+0900\n" +"Last-Translator: Kuroe Hanako \n" +"Language-Team: Korean \n" +"Language: ko\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: Gtranslator 3.36.0\n" + +#: createFolderDialog.js:46 +msgid "New folder name" +msgstr "새 폴더 이름" + +#: createFolderDialog.js:72 +msgid "Create" +msgstr "만들기" + +#: createFolderDialog.js:74 +msgid "Cancel" +msgstr "취소" + +#: createFolderDialog.js:147 +msgid "Folder names cannot contain “/”." +msgstr "폴더 이름에는 \"/\"가 들어갈 수 없습니다." + +#: createFolderDialog.js:150 +msgid "A folder cannot be called “.”." +msgstr "폴더 이름은 \".\"이 될 수 없습니다." + +#: createFolderDialog.js:153 +msgid "A folder cannot be called “..”." +msgstr "폴더 이름은 \"..\"이 될 수 없습니다." + +#: createFolderDialog.js:155 +msgid "Folders with “.” at the beginning of their name are hidden." +msgstr "폴더 이름이 \".\"으로 시작하면 폴더가 숨겨집니다." + +#: createFolderDialog.js:157 +msgid "There is already a file or folder with that name." +msgstr "같은 이름의 폴더가 이미 있습니다." + +#: prefs.js:103 +msgid "Size for the desktop icons" +msgstr "바탕 화면 아이콘 크기" + +#: prefs.js:103 +msgid "Small" +msgstr "작게" + +#: prefs.js:103 +msgid "Standard" +msgstr "보통" + +#: prefs.js:103 +msgid "Large" +msgstr "크게" + +#: prefs.js:104 +msgid "Show the personal folder in the desktop" +msgstr "사용자 폴더를 바탕 화면에 표시" + +#: prefs.js:105 +msgid "Show the trash icon in the desktop" +msgstr "휴지통 아이콘을 바탕 화면에 표시" + +#: prefs.js:106 +msgid "Show mounted drives in the desktop" +msgstr "마운트된 드라이브를 바탕 화면에 표시" + +#: desktopGrid.js:346 +msgid "New Folder" +msgstr "새 폴더" + +#: desktopGrid.js:347 +msgid "New Document" +msgstr "새 문서" + +#: desktopGrid.js:350 +msgid "Paste" +msgstr "붙여넣기" + +#: desktopGrid.js:351 +msgid "Undo" +msgstr "실행 취소" + +#: desktopGrid.js:352 +msgid "Redo" +msgstr "다시 실행" + +#: desktopGrid.js:354 +msgid "Show Desktop in Files" +msgstr "파일에서 바탕 화면 보기" + +#: desktopGrid.js:355 fileItem.js:726 +msgid "Open in Terminal" +msgstr "터미널에서 열기" + +#: desktopGrid.js:357 +msgid "Change Background…" +msgstr "배경 바꾸기…" + +#: desktopGrid.js:359 +msgid "Display Settings" +msgstr "디스플레이 설정" + +#: desktopGrid.js:360 +msgid "Settings" +msgstr "설정" + +#: desktopGrid.js:699 +msgid "Rename" +msgstr "이름 바꾸기" + +#: desktopIconsUtil.js:63 +msgid "Command not found" +msgstr "명령을 찾을 수 없음" + +#. TRANSLATORS: %s is the filesystem name +#: desktopIconsUtil.js:162 +#, javascript-format +msgid "Ejecting drive “%s” failed:" +msgstr "\"%s\" 드라이브를 꺼내는 데 실패했습니다:" + +#: fileItem.js:589 +msgid "Don’t Allow Launching" +msgstr "실행 허용하지 않음" + +#: fileItem.js:591 +msgid "Allow Launching" +msgstr "실행 허용" + +#: fileItem.js:687 +msgid "Open" +msgstr "열기" + +#: fileItem.js:691 +msgid "Open With Other Application" +msgstr "다른 프로그램으로 열기" + +#: fileItem.js:693 +msgid "Launch using Dedicated Graphics Card" +msgstr "전용 그래픽 카드로 실행" + +#: fileItem.js:698 +msgid "Cut" +msgstr "잘라내기" + +#: fileItem.js:699 +msgid "Copy" +msgstr "복사" + +#: fileItem.js:701 +msgid "Rename…" +msgstr "이름 바꾸기…" + +#: fileItem.js:702 +msgid "Move to Trash" +msgstr "휴지통에 버리기" + +#: fileItem.js:712 +msgid "Empty Trash" +msgstr "휴지통 비우기" + +#: fileItem.js:716 +msgid "Eject" +msgstr "꺼내기" + +#: fileItem.js:722 +msgid "Properties" +msgstr "속성" + +#: fileItem.js:724 +msgid "Show in Files" +msgstr "파일에서 보기" + +#: fileItem.js:951 +msgid "Home" +msgstr "홈" + +#: schemas/org.gnome.shell.extensions.desktop-icons.gschema.xml:11 +msgid "Icon size" +msgstr "아이콘 크기" + +#: schemas/org.gnome.shell.extensions.desktop-icons.gschema.xml:12 +msgid "Set the size for the desktop icons." +msgstr "바탕 화면의 아이콘 크기를 설정합니다." + +#: schemas/org.gnome.shell.extensions.desktop-icons.gschema.xml:16 +msgid "Show personal folder" +msgstr "사용자 폴더 표시" + +#: schemas/org.gnome.shell.extensions.desktop-icons.gschema.xml:17 +msgid "Show the personal folder in the desktop." +msgstr "바탕 화면에 사용자 폴더를 표시합니다." + +#: schemas/org.gnome.shell.extensions.desktop-icons.gschema.xml:21 +msgid "Show trash icon" +msgstr "휴지통 아이콘 표시" + +#: schemas/org.gnome.shell.extensions.desktop-icons.gschema.xml:22 +msgid "Show the trash icon in the desktop." +msgstr "바탕 화면에 휴지통 아이콘을 표시합니다." + +#: schemas/org.gnome.shell.extensions.desktop-icons.gschema.xml:26 +msgid "Show mounted drives" +msgstr "마운트된 드라이브 표시" + +#: schemas/org.gnome.shell.extensions.desktop-icons.gschema.xml:27 +msgid "Show mounted drives in the desktop." +msgstr "바탕 화면에 마운트된 드라이브를 표시합니다." diff --git a/extensions/desktop-icons/po/meson.build b/extensions/desktop-icons/po/meson.build new file mode 100644 index 00000000..b2e9e422 --- /dev/null +++ b/extensions/desktop-icons/po/meson.build @@ -0,0 +1 @@ +i18n.gettext (meson.project_name (), preset: 'glib') diff --git a/extensions/desktop-icons/po/nl.po b/extensions/desktop-icons/po/nl.po new file mode 100644 index 00000000..86deae6f --- /dev/null +++ b/extensions/desktop-icons/po/nl.po @@ -0,0 +1,228 @@ +# Dutch translation for desktop-icons. +# Copyright (C) 2019 desktop-icons's COPYRIGHT HOLDER +# This file is distributed under the same license as the desktop-icons package. +# Nathan Follens , 2019-2020. +# +msgid "" +msgstr "" +"Project-Id-Version: desktop-icons master\n" +"Report-Msgid-Bugs-To: https://gitlab.gnome.org/World/ShellExtensions/desktop-" +"icons/issues\n" +"POT-Creation-Date: 2020-05-26 20:08+0000\n" +"PO-Revision-Date: 2020-08-25 21:34+0200\n" +"Last-Translator: Nathan Follens \n" +"Language-Team: Dutch \n" +"Language: nl\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" +"X-Generator: Poedit 2.4.1\n" + +#: createFolderDialog.js:46 +msgid "New folder name" +msgstr "Nieuwe mapnaam" + +#: createFolderDialog.js:70 +msgid "Create" +msgstr "Aanmaken" + +#: createFolderDialog.js:72 +msgid "Cancel" +msgstr "Annuleren" + +#: createFolderDialog.js:145 +msgid "Folder names cannot contain “/”." +msgstr "Mapnamen kunnen geen ‘/’ bevatten." + +#: createFolderDialog.js:148 +msgid "A folder cannot be called “.”." +msgstr "Een map kan niet ‘.’ worden genoemd." + +#: createFolderDialog.js:151 +msgid "A folder cannot be called “..”." +msgstr "Een map kan niet ‘..’ worden genoemd." + +#: createFolderDialog.js:153 +msgid "Folders with “.” at the beginning of their name are hidden." +msgstr "Mappen waarvan de naam begint met ‘.’ zijn verborgen." + +#: createFolderDialog.js:155 +msgid "There is already a file or folder with that name." +msgstr "Er bestaat al een bestand of map met die naam." + +#: prefs.js:103 +msgid "Size for the desktop icons" +msgstr "Grootte van bureaubladpictogrammen" + +#: prefs.js:103 +msgid "Small" +msgstr "Klein" + +#: prefs.js:103 +msgid "Standard" +msgstr "Standaard" + +#: prefs.js:103 +msgid "Large" +msgstr "Groot" + +#: prefs.js:104 +msgid "Show the personal folder in the desktop" +msgstr "Toon de persoonlijke map op het bureaublad" + +#: prefs.js:105 +msgid "Show the trash icon in the desktop" +msgstr "Toon het prullenbakpictogram op het bureaublad" + +#: prefs.js:106 +msgid "Show mounted drives in the desktop" +msgstr "Gekoppelde volumes tonen op het bureaublad" + +#: desktopGrid.js:346 +msgid "New Folder" +msgstr "Nieuwe map" + +#: desktopGrid.js:347 +msgid "New Document" +msgstr "Nieuw document" + +#: desktopGrid.js:350 +msgid "Paste" +msgstr "Plakken" + +#: desktopGrid.js:351 +msgid "Undo" +msgstr "Ongedaan maken" + +#: desktopGrid.js:352 +msgid "Redo" +msgstr "Opnieuw" + +#: desktopGrid.js:354 +msgid "Show Desktop in Files" +msgstr "Bureaublad tonen in Bestanden" + +#: desktopGrid.js:355 fileItem.js:721 +msgid "Open in Terminal" +msgstr "Openen in terminalvenster" + +#: desktopGrid.js:357 +msgid "Change Background…" +msgstr "Achtergrond aanpassen…" + +#: desktopGrid.js:359 +msgid "Display Settings" +msgstr "Scherminstellingen" + +#: desktopGrid.js:360 +msgid "Settings" +msgstr "Instellingen" + +#: desktopGrid.js:692 +msgid "Rename" +msgstr "Hernoemen" + +#: desktopIconsUtil.js:63 +msgid "Command not found" +msgstr "Opdracht niet gevonden" + +#. TRANSLATORS: %s is the filesystem name +#: desktopIconsUtil.js:162 +#, javascript-format +msgid "Ejecting drive “%s” failed:" +msgstr "Uitwerpen van station ‘%s’ mislukt:" + +#: fileItem.js:584 +msgid "Don’t Allow Launching" +msgstr "Toepassingen starten niet toestaan" + +#: fileItem.js:586 +msgid "Allow Launching" +msgstr "Toepassingen starten toestaan" + +#: fileItem.js:682 +msgid "Open" +msgstr "Openen" + +#: fileItem.js:686 +msgid "Open With Other Application" +msgstr "Met andere toepassing openen" + +#: fileItem.js:688 +msgid "Launch using Dedicated Graphics Card" +msgstr "Met grafische kaart opstarten" + +#: fileItem.js:693 +msgid "Cut" +msgstr "Knippen" + +#: fileItem.js:694 +msgid "Copy" +msgstr "Kopiëren" + +#: fileItem.js:696 +msgid "Rename…" +msgstr "Hernoemen…" + +#: fileItem.js:697 +msgid "Move to Trash" +msgstr "Verplaatsen naar prullenbak" + +#: fileItem.js:707 +msgid "Empty Trash" +msgstr "Prullenbak legen" + +#: fileItem.js:711 +msgid "Eject" +msgstr "Uitwerpen" + +#: fileItem.js:717 +msgid "Properties" +msgstr "Eigenschappen" + +#: fileItem.js:719 +msgid "Show in Files" +msgstr "Tonen in Bestanden" + +#: fileItem.js:925 +msgid "Home" +msgstr "Persoonlijke map" + +#: schemas/org.gnome.shell.extensions.desktop-icons.gschema.xml:11 +msgid "Icon size" +msgstr "Pictogramgrootte" + +#: schemas/org.gnome.shell.extensions.desktop-icons.gschema.xml:12 +msgid "Set the size for the desktop icons." +msgstr "Stel de grootte van de bureaubladpictogrammen in." + +#: schemas/org.gnome.shell.extensions.desktop-icons.gschema.xml:16 +msgid "Show personal folder" +msgstr "Persoonlijke map tonen" + +#: schemas/org.gnome.shell.extensions.desktop-icons.gschema.xml:17 +msgid "Show the personal folder in the desktop." +msgstr "Toon de persoonlijke map op het bureaublad." + +#: schemas/org.gnome.shell.extensions.desktop-icons.gschema.xml:21 +msgid "Show trash icon" +msgstr "Prullenbakpictogram tonen" + +#: schemas/org.gnome.shell.extensions.desktop-icons.gschema.xml:22 +msgid "Show the trash icon in the desktop." +msgstr "Toon het prullenbakpictogram op het bureaublad." + +#: schemas/org.gnome.shell.extensions.desktop-icons.gschema.xml:26 +msgid "Show mounted drives" +msgstr "Gekoppelde volumes tonen" + +#: schemas/org.gnome.shell.extensions.desktop-icons.gschema.xml:27 +msgid "Show mounted drives in the desktop." +msgstr "Gekoppelde volumes tonen op het bureaublad." + +#~ msgid "Enter file name…" +#~ msgstr "Voer bestandsnaam in…" + +#~ msgid "OK" +#~ msgstr "Oké" diff --git a/extensions/desktop-icons/po/oc.po b/extensions/desktop-icons/po/oc.po new file mode 100644 index 00000000..9be20f48 --- /dev/null +++ b/extensions/desktop-icons/po/oc.po @@ -0,0 +1,221 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. +# FIRST AUTHOR , YEAR. +# +msgid "" +msgstr "" +"Project-Id-Version: \n" +"Report-Msgid-Bugs-To: https://gitlab.gnome.org/World/ShellExtensions/desktop-" +"icons/issues\n" +"POT-Creation-Date: 2021-03-28 17:45+0000\n" +"PO-Revision-Date: 2021-04-02 20:01+0200\n" +"Language-Team: \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Poedit 2.4.2\n" +"Last-Translator: Quentin PAGÈS\n" +"Language: oc\n" + +#: createFolderDialog.js:46 +msgid "New folder name" +msgstr "Nom de dossièr novèl" + +#: createFolderDialog.js:72 +msgid "Create" +msgstr "Crear" + +#: createFolderDialog.js:74 +msgid "Cancel" +msgstr "Anullar" + +#: createFolderDialog.js:147 +msgid "Folder names cannot contain “/”." +msgstr "Los noms de dossièrs pòdon pas conténer « / »." + +#: createFolderDialog.js:150 +msgid "A folder cannot be called “.”." +msgstr "Impossible d'apelar un dossièr « . »." + +#: createFolderDialog.js:153 +msgid "A folder cannot be called “..”." +msgstr "Impossible d'apelar un dossièr « .. »." + +#: createFolderDialog.js:155 +msgid "Folders with “.” at the beginning of their name are hidden." +msgstr "Los dossièrs amb un « . » a la debuta de lor nom son amagats" + +#: createFolderDialog.js:157 +msgid "There is already a file or folder with that name." +msgstr "Un fichièr o un dossièr amb aqueste nom existís ja." + +#: prefs.js:103 +msgid "Size for the desktop icons" +msgstr "Talha de las icònas burèu" + +#: prefs.js:103 +msgid "Small" +msgstr "Pichon" + +#: prefs.js:103 +msgid "Standard" +msgstr "Estandard" + +#: prefs.js:103 +msgid "Large" +msgstr "Grand" + +#: prefs.js:104 +msgid "Show the personal folder in the desktop" +msgstr "Mostrar lo dorsièr personal pel burèu" + +#: prefs.js:105 +msgid "Show the trash icon in the desktop" +msgstr "Mostrar l'icòna de l'escobilhièr pel burèu" + +#: prefs.js:106 +msgid "Show mounted drives in the desktop" +msgstr "Mostrar los volums montats pel burèu" + +#: desktopGrid.js:346 +msgid "New Folder" +msgstr "Dossièr novèl" + +#: desktopGrid.js:347 +msgid "New Document" +msgstr "Document novèl" + +#: desktopGrid.js:350 +msgid "Paste" +msgstr "Pegar" + +#: desktopGrid.js:351 +msgid "Undo" +msgstr "Restablir" + +#: desktopGrid.js:352 +msgid "Redo" +msgstr "Restablir" + +#: desktopGrid.js:354 +msgid "Show Desktop in Files" +msgstr "Mostrar lo burèu dins Fichièrs" + +#: desktopGrid.js:355 fileItem.js:726 +msgid "Open in Terminal" +msgstr "Dobrir dins un terminal" + +#: desktopGrid.js:357 +msgid "Change Background…" +msgstr "Modificar lo rèireplan…" + +#: desktopGrid.js:359 +msgid "Display Settings" +msgstr "Paramètres d'afichatge" + +#: desktopGrid.js:360 +msgid "Settings" +msgstr "Paramètres" + +#: desktopGrid.js:699 +msgid "Rename" +msgstr "Renomenar" + +#: desktopIconsUtil.js:63 +msgid "Command not found" +msgstr "Comanda pas trobada" + +#. TRANSLATORS: %s is the filesystem name +#: desktopIconsUtil.js:162 +#, javascript-format +msgid "Ejecting drive “%s” failed:" +msgstr "L'ejeccion del disc « %s » a fracassat :" + +#: fileItem.js:589 +msgid "Don’t Allow Launching" +msgstr "Permetre pas l'aviada" + +#: fileItem.js:591 +msgid "Allow Launching" +msgstr "Permetre l'aviada" + +#: fileItem.js:687 +msgid "Open" +msgstr "Dobrir" + +#: fileItem.js:691 +msgid "Open With Other Application" +msgstr "Dobrir amb una autra aplicacion" + +#: fileItem.js:693 +msgid "Launch using Dedicated Graphics Card" +msgstr "Aviar en utilizant la carta grafica dedicada" + +#: fileItem.js:698 +msgid "Cut" +msgstr "Talhar" + +#: fileItem.js:699 +msgid "Copy" +msgstr "Copiar" + +#: fileItem.js:701 +msgid "Rename…" +msgstr "Renomenar…" + +#: fileItem.js:702 +msgid "Move to Trash" +msgstr "Desplaçar a l’_escobilhièr" + +#: fileItem.js:712 +msgid "Empty Trash" +msgstr "Voidar l’escobilhièr" + +#: fileItem.js:716 +msgid "Eject" +msgstr "Ejectar" + +#: fileItem.js:722 +msgid "Properties" +msgstr "Proprietats" + +#: fileItem.js:724 +msgid "Show in Files" +msgstr "Mostrar dins Fichièrs" + +#: fileItem.js:951 +msgid "Home" +msgstr "Repertòri personal" + +#: schemas/org.gnome.shell.extensions.desktop-icons.gschema.xml:11 +msgid "Icon size" +msgstr "Talha de l'icòna" + +#: schemas/org.gnome.shell.extensions.desktop-icons.gschema.xml:12 +msgid "Set the size for the desktop icons." +msgstr "Definir la talha de las icònas burèu." + +#: schemas/org.gnome.shell.extensions.desktop-icons.gschema.xml:16 +msgid "Show personal folder" +msgstr "Mostrar lo dorsièr personal" + +#: schemas/org.gnome.shell.extensions.desktop-icons.gschema.xml:17 +msgid "Show the personal folder in the desktop." +msgstr "Mostrar lo dorsièr personal pel burèu." + +#: schemas/org.gnome.shell.extensions.desktop-icons.gschema.xml:21 +msgid "Show trash icon" +msgstr "Mostrar l'icòna de l'escobilhièr" + +#: schemas/org.gnome.shell.extensions.desktop-icons.gschema.xml:22 +msgid "Show the trash icon in the desktop." +msgstr "Mostrar l'icòna de l'escobilhièr pel burèu." + +#: schemas/org.gnome.shell.extensions.desktop-icons.gschema.xml:26 +msgid "Show mounted drives" +msgstr "Mostrar los lectors montats" + +#: schemas/org.gnome.shell.extensions.desktop-icons.gschema.xml:27 +msgid "Show mounted drives in the desktop." +msgstr "Mostrar los lector montats pel burèu." diff --git a/extensions/desktop-icons/po/pl.po b/extensions/desktop-icons/po/pl.po new file mode 100644 index 00000000..feffa267 --- /dev/null +++ b/extensions/desktop-icons/po/pl.po @@ -0,0 +1,223 @@ +# Polish translation for desktop-icons. +# Copyright © 2018-2020 the desktop-icons authors. +# This file is distributed under the same license as the desktop-icons package. +# Piotr Drąg , 2018-2020. +# Aviary.pl , 2018-2020. +# +msgid "" +msgstr "" +"Project-Id-Version: desktop-icons\n" +"Report-Msgid-Bugs-To: https://gitlab.gnome.org/World/ShellExtensions/desktop-" +"icons/issues\n" +"POT-Creation-Date: 2020-05-26 20:08+0000\n" +"PO-Revision-Date: 2020-05-31 14:15+0200\n" +"Last-Translator: Piotr Drąg \n" +"Language-Team: Polish \n" +"Language: pl\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=3; plural=(n==1 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 " +"|| n%100>=20) ? 1 : 2);\n" + +#: createFolderDialog.js:46 +msgid "New folder name" +msgstr "Nazwa nowego katalogu" + +#: createFolderDialog.js:70 +msgid "Create" +msgstr "Utwórz" + +#: createFolderDialog.js:72 +msgid "Cancel" +msgstr "Anuluj" + +#: createFolderDialog.js:145 +msgid "Folder names cannot contain “/”." +msgstr "Nazwy katalogów nie mogą zawierać znaku „/”." + +#: createFolderDialog.js:148 +msgid "A folder cannot be called “.”." +msgstr "Katalog nie może mieć nazwy „.”." + +#: createFolderDialog.js:151 +msgid "A folder cannot be called “..”." +msgstr "Katalog nie może mieć nazwy „..”." + +#: createFolderDialog.js:153 +msgid "Folders with “.” at the beginning of their name are hidden." +msgstr "Katalogi z „.” na początku nazwy są ukryte." + +#: createFolderDialog.js:155 +msgid "There is already a file or folder with that name." +msgstr "Plik lub katalog o tej nazwie już istnieje." + +#: prefs.js:103 +msgid "Size for the desktop icons" +msgstr "Rozmiar ikon na pulpicie" + +#: prefs.js:103 +msgid "Small" +msgstr "Mały" + +#: prefs.js:103 +msgid "Standard" +msgstr "Standardowy" + +#: prefs.js:103 +msgid "Large" +msgstr "Duży" + +#: prefs.js:104 +msgid "Show the personal folder in the desktop" +msgstr "Katalog domowy na pulpicie" + +#: prefs.js:105 +msgid "Show the trash icon in the desktop" +msgstr "Kosz na pulpicie" + +#: prefs.js:106 +msgid "Show mounted drives in the desktop" +msgstr "Zamontowane napędy na pulpicie" + +#: desktopGrid.js:346 +msgid "New Folder" +msgstr "Nowy katalog" + +#: desktopGrid.js:347 +msgid "New Document" +msgstr "Nowy dokument" + +#: desktopGrid.js:350 +msgid "Paste" +msgstr "Wklej" + +#: desktopGrid.js:351 +msgid "Undo" +msgstr "Cofnij" + +#: desktopGrid.js:352 +msgid "Redo" +msgstr "Ponów" + +#: desktopGrid.js:354 +msgid "Show Desktop in Files" +msgstr "Wyświetl pulpit w menedżerze plików" + +#: desktopGrid.js:355 fileItem.js:721 +msgid "Open in Terminal" +msgstr "Otwórz w terminalu" + +#: desktopGrid.js:357 +msgid "Change Background…" +msgstr "Zmień tło…" + +#: desktopGrid.js:359 +msgid "Display Settings" +msgstr "Ustawienia ekranu" + +#: desktopGrid.js:360 +msgid "Settings" +msgstr "Ustawienia" + +#: desktopGrid.js:692 +msgid "Rename" +msgstr "Zmień nazwę" + +#: desktopIconsUtil.js:63 +msgid "Command not found" +msgstr "Nie odnaleziono polecenia" + +#. TRANSLATORS: %s is the filesystem name +#: desktopIconsUtil.js:162 +#, javascript-format +msgid "Ejecting drive “%s” failed:" +msgstr "Wysunięcie napędu „%s” się nie powiodło:" + +#: fileItem.js:584 +msgid "Don’t Allow Launching" +msgstr "Nie zezwalaj na uruchamianie" + +#: fileItem.js:586 +msgid "Allow Launching" +msgstr "Zezwól na uruchamianie" + +#: fileItem.js:682 +msgid "Open" +msgstr "Otwórz" + +#: fileItem.js:686 +msgid "Open With Other Application" +msgstr "Otwórz za pomocą innego programu" + +#: fileItem.js:688 +msgid "Launch using Dedicated Graphics Card" +msgstr "Uruchom za pomocą dedykowanej karty graficznej" + +#: fileItem.js:693 +msgid "Cut" +msgstr "Wytnij" + +#: fileItem.js:694 +msgid "Copy" +msgstr "Skopiuj" + +#: fileItem.js:696 +msgid "Rename…" +msgstr "Zmień nazwę…" + +#: fileItem.js:697 +msgid "Move to Trash" +msgstr "Przenieś do kosza" + +#: fileItem.js:707 +msgid "Empty Trash" +msgstr "Opróżnij kosz" + +#: fileItem.js:711 +msgid "Eject" +msgstr "Wysuń" + +#: fileItem.js:717 +msgid "Properties" +msgstr "Właściwości" + +#: fileItem.js:719 +msgid "Show in Files" +msgstr "Wyświetl w menedżerze plików" + +#: fileItem.js:925 +msgid "Home" +msgstr "Katalog domowy" + +#: schemas/org.gnome.shell.extensions.desktop-icons.gschema.xml:11 +msgid "Icon size" +msgstr "Rozmiar ikon" + +#: schemas/org.gnome.shell.extensions.desktop-icons.gschema.xml:12 +msgid "Set the size for the desktop icons." +msgstr "Ustawia rozmiar ikon na pulpicie." + +#: schemas/org.gnome.shell.extensions.desktop-icons.gschema.xml:16 +msgid "Show personal folder" +msgstr "Katalog domowy" + +#: schemas/org.gnome.shell.extensions.desktop-icons.gschema.xml:17 +msgid "Show the personal folder in the desktop." +msgstr "Wyświetla katalog domowy na pulpicie." + +#: schemas/org.gnome.shell.extensions.desktop-icons.gschema.xml:21 +msgid "Show trash icon" +msgstr "Kosz" + +#: schemas/org.gnome.shell.extensions.desktop-icons.gschema.xml:22 +msgid "Show the trash icon in the desktop." +msgstr "Wyświetla kosz na pulpicie." + +#: schemas/org.gnome.shell.extensions.desktop-icons.gschema.xml:26 +msgid "Show mounted drives" +msgstr "Zamontowane napędy" + +#: schemas/org.gnome.shell.extensions.desktop-icons.gschema.xml:27 +msgid "Show mounted drives in the desktop." +msgstr "Wyświetla zamontowane napędy na pulpicie." diff --git a/extensions/desktop-icons/po/pt.po b/extensions/desktop-icons/po/pt.po new file mode 100644 index 00000000..3faf722f --- /dev/null +++ b/extensions/desktop-icons/po/pt.po @@ -0,0 +1,222 @@ +# Portuguese translation for desktop-icons. +# Copyright (C) 2021 desktop-icons's COPYRIGHT HOLDER +# This file is distributed under the same license as the desktop-icons package. +# Hugo Carvalho , 2021. +# +msgid "" +msgstr "" +"Project-Id-Version: desktop-icons master\n" +"Report-Msgid-Bugs-To: https://gitlab.gnome.org/World/ShellExtensions/desktop-" +"icons/issues\n" +"POT-Creation-Date: 2021-02-03 06:55+0000\n" +"PO-Revision-Date: 2021-02-24 20:34+0000\n" +"Language-Team: Portuguese \n" +"Language: pt\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" +"Last-Translator: Hugo Carvalho \n" +"X-Generator: Poedit 2.4.1\n" + +#: createFolderDialog.js:46 +msgid "New folder name" +msgstr "Novo nome de pasta" + +#: createFolderDialog.js:72 +msgid "Create" +msgstr "Criar" + +#: createFolderDialog.js:74 +msgid "Cancel" +msgstr "Cancelar" + +#: createFolderDialog.js:147 +msgid "Folder names cannot contain “/”." +msgstr "Nomes de pastas não podem conter “/”." + +#: createFolderDialog.js:150 +msgid "A folder cannot be called “.”." +msgstr "Uma pasta não pode ser chamada de “.”." + +#: createFolderDialog.js:153 +msgid "A folder cannot be called “..”." +msgstr "Uma pasta não pode ser chamada de “..”." + +#: createFolderDialog.js:155 +msgid "Folders with “.” at the beginning of their name are hidden." +msgstr "Pastas com “.” no começo de seus nomes são ocultas." + +#: createFolderDialog.js:157 +msgid "There is already a file or folder with that name." +msgstr "Já existe um ficheiro ou uma pasta com esse nome." + +#: prefs.js:103 +msgid "Size for the desktop icons" +msgstr "Tamanho para os ícones do ambiente de trabalho" + +#: prefs.js:103 +msgid "Small" +msgstr "Pequeno" + +#: prefs.js:103 +msgid "Standard" +msgstr "Padrão" + +#: prefs.js:103 +msgid "Large" +msgstr "Grande" + +#: prefs.js:104 +msgid "Show the personal folder in the desktop" +msgstr "Mostrar a pasta pessoal no ambiente de trabalho" + +#: prefs.js:105 +msgid "Show the trash icon in the desktop" +msgstr "Mostrar o ícone do lixo no ambiente de trabalho" + +#: prefs.js:106 +msgid "Show mounted drives in the desktop" +msgstr "Mostrar as unidades montadas na área de trabalho" + +#: desktopGrid.js:346 +msgid "New Folder" +msgstr "Nova pasta" + +#: desktopGrid.js:347 +msgid "New Document" +msgstr "Novo documento" + +#: desktopGrid.js:350 +msgid "Paste" +msgstr "Colar" + +#: desktopGrid.js:351 +msgid "Undo" +msgstr "Anular" + +#: desktopGrid.js:352 +msgid "Redo" +msgstr "Refazer" + +#: desktopGrid.js:354 +msgid "Show Desktop in Files" +msgstr "Mostrar o ambiente de trabalho em Ficheiros" + +#: desktopGrid.js:355 fileItem.js:726 +msgid "Open in Terminal" +msgstr "Abrir no Terminal" + +#: desktopGrid.js:357 +msgid "Change Background…" +msgstr "Alterar o fundo…" + +#: desktopGrid.js:359 +msgid "Display Settings" +msgstr "Definições de ecrã" + +#: desktopGrid.js:360 +msgid "Settings" +msgstr "Definições" + +#: desktopGrid.js:699 +msgid "Rename" +msgstr "Renomear" + +#: desktopIconsUtil.js:63 +msgid "Command not found" +msgstr "Comando não encontrado" + +#. TRANSLATORS: %s is the filesystem name +#: desktopIconsUtil.js:162 +#, javascript-format +msgid "Ejecting drive “%s” failed:" +msgstr "A ejeção da unidade “%s” falhou:" + +#: fileItem.js:589 +msgid "Don’t Allow Launching" +msgstr "Não permitir iniciar" + +#: fileItem.js:591 +msgid "Allow Launching" +msgstr "Permitir iniciar" + +#: fileItem.js:687 +msgid "Open" +msgstr "Abrir" + +#: fileItem.js:691 +msgid "Open With Other Application" +msgstr "Abrir com outra aplicação" + +#: fileItem.js:693 +msgid "Launch using Dedicated Graphics Card" +msgstr "Iniciar utilizando a placa gráfica dedicada" + +#: fileItem.js:698 +msgid "Cut" +msgstr "Cortar" + +#: fileItem.js:699 +msgid "Copy" +msgstr "Copiar" + +#: fileItem.js:701 +msgid "Rename…" +msgstr "Renomear…" + +#: fileItem.js:702 +msgid "Move to Trash" +msgstr "Mover para o lixo" + +#: fileItem.js:712 +msgid "Empty Trash" +msgstr "Esvaziar lixo" + +#: fileItem.js:716 +msgid "Eject" +msgstr "Ejetar" + +#: fileItem.js:722 +msgid "Properties" +msgstr "Propriedades" + +#: fileItem.js:724 +msgid "Show in Files" +msgstr "Mostrar no Ficheiros" + +#: fileItem.js:951 +msgid "Home" +msgstr "Início" + +#: schemas/org.gnome.shell.extensions.desktop-icons.gschema.xml:11 +msgid "Icon size" +msgstr "Tamanho do ícone" + +#: schemas/org.gnome.shell.extensions.desktop-icons.gschema.xml:12 +msgid "Set the size for the desktop icons." +msgstr "Define o tamanho para os ícones do ambiente de trabalho." + +#: schemas/org.gnome.shell.extensions.desktop-icons.gschema.xml:16 +msgid "Show personal folder" +msgstr "Mostrar pasta pessoal" + +#: schemas/org.gnome.shell.extensions.desktop-icons.gschema.xml:17 +msgid "Show the personal folder in the desktop." +msgstr "Mostra a pasta pessoal no ambiente de trabalho." + +#: schemas/org.gnome.shell.extensions.desktop-icons.gschema.xml:21 +msgid "Show trash icon" +msgstr "Mostrar ícone do lixo" + +#: schemas/org.gnome.shell.extensions.desktop-icons.gschema.xml:22 +msgid "Show the trash icon in the desktop." +msgstr "Mostra o ícone do lixo no ambiente de trabalho." + +#: schemas/org.gnome.shell.extensions.desktop-icons.gschema.xml:26 +msgid "Show mounted drives" +msgstr "Mostrar unidades montadas" + +#: schemas/org.gnome.shell.extensions.desktop-icons.gschema.xml:27 +msgid "Show mounted drives in the desktop." +msgstr "Mostra as unidades montadas no ambiente de trabalho." diff --git a/extensions/desktop-icons/po/pt_BR.po b/extensions/desktop-icons/po/pt_BR.po new file mode 100644 index 00000000..e8bf0940 --- /dev/null +++ b/extensions/desktop-icons/po/pt_BR.po @@ -0,0 +1,235 @@ +# Brazilian Portuguese translation for desktop-icons. +# Copyright (C) 2020 desktop-icons's COPYRIGHT HOLDER +# This file is distributed under the same license as the desktop-icons package. +# Enrico Nicoletto , 2018. +# Rafael Fontenelle , 2018-2020. +# +msgid "" +msgstr "" +"Project-Id-Version: desktop-icons master\n" +"Report-Msgid-Bugs-To: https://gitlab.gnome.org/World/ShellExtensions/desktop-" +"icons/issues\n" +"POT-Creation-Date: 2020-05-26 20:08+0000\n" +"PO-Revision-Date: 2020-05-28 18:35-0300\n" +"Last-Translator: Rafael Fontenelle \n" +"Language-Team: Brazilian Portuguese \n" +"Language: pt_BR\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n > 1)\n" +"X-Generator: Gtranslator 3.36.0\n" + +#: createFolderDialog.js:46 +msgid "New folder name" +msgstr "Nome da nova pasta" + +#: createFolderDialog.js:70 +msgid "Create" +msgstr "Criar" + +#: createFolderDialog.js:72 +msgid "Cancel" +msgstr "Cancelar" + +#: createFolderDialog.js:145 +msgid "Folder names cannot contain “/”." +msgstr "Nomes de pastas não podem conter “/”." + +#: createFolderDialog.js:148 +msgid "A folder cannot be called “.”." +msgstr "Uma pasta não pode ser chamada “.”." + +#: createFolderDialog.js:151 +msgid "A folder cannot be called “..”." +msgstr "Uma pasta não pode ser chamada “..”." + +#: createFolderDialog.js:153 +msgid "Folders with “.” at the beginning of their name are hidden." +msgstr "Pastas com “.” no começo de seus nomes são ocultas." + +#: createFolderDialog.js:155 +msgid "There is already a file or folder with that name." +msgstr "Já existe um arquivo ou uma pasta com esse nome." + +#: prefs.js:103 +msgid "Size for the desktop icons" +msgstr "Tamanho para os ícones da área de trabalho" + +#: prefs.js:103 +msgid "Small" +msgstr "Pequeno" + +#: prefs.js:103 +msgid "Standard" +msgstr "Padrão" + +#: prefs.js:103 +msgid "Large" +msgstr "Grande" + +#: prefs.js:104 +msgid "Show the personal folder in the desktop" +msgstr "Mostrar a pasta pessoal na área de trabalho" + +#: prefs.js:105 +msgid "Show the trash icon in the desktop" +msgstr "Mostrar o ícone da lixeira na área de trabalho" + +#: prefs.js:106 +msgid "Show mounted drives in the desktop" +msgstr "Mostrar as unidades montadas na área de trabalho" + +#: desktopGrid.js:346 +msgid "New Folder" +msgstr "Nova pasta" + +#: desktopGrid.js:347 +msgid "New Document" +msgstr "Novo documento" + +#: desktopGrid.js:350 +msgid "Paste" +msgstr "Colar" + +#: desktopGrid.js:351 +msgid "Undo" +msgstr "Desfazer" + +#: desktopGrid.js:352 +msgid "Redo" +msgstr "Refazer" + +#: desktopGrid.js:354 +msgid "Show Desktop in Files" +msgstr "Mostrar a área de trabalho no Arquivos" + +#: desktopGrid.js:355 fileItem.js:721 +msgid "Open in Terminal" +msgstr "Abrir no terminal" + +#: desktopGrid.js:357 +msgid "Change Background…" +msgstr "Alterar plano de fundo…" + +#: desktopGrid.js:359 +msgid "Display Settings" +msgstr "Configurações de exibição" + +#: desktopGrid.js:360 +msgid "Settings" +msgstr "Configurações" + +#: desktopGrid.js:692 +msgid "Rename" +msgstr "Renomear" + +#: desktopIconsUtil.js:63 +msgid "Command not found" +msgstr "Comando não encontrado" + +#. TRANSLATORS: %s is the filesystem name +#: desktopIconsUtil.js:162 +#, javascript-format +msgid "Ejecting drive “%s” failed:" +msgstr "A ejeção a unidade “%s” falhou:" + +#: fileItem.js:584 +msgid "Don’t Allow Launching" +msgstr "Não permitir iniciar" + +#: fileItem.js:586 +msgid "Allow Launching" +msgstr "Permitir iniciar" + +#: fileItem.js:682 +msgid "Open" +msgstr "Abrir" + +#: fileItem.js:686 +msgid "Open With Other Application" +msgstr "Abrir com outro aplicativo" + +#: fileItem.js:688 +msgid "Launch using Dedicated Graphics Card" +msgstr "Iniciar usando placa gráfica dedicada" + +#: fileItem.js:693 +msgid "Cut" +msgstr "Recortar" + +#: fileItem.js:694 +msgid "Copy" +msgstr "Copiar" + +#: fileItem.js:696 +msgid "Rename…" +msgstr "Renomear…" + +#: fileItem.js:697 +msgid "Move to Trash" +msgstr "Mover para a lixeira" + +#: fileItem.js:707 +msgid "Empty Trash" +msgstr "Esvaziar lixeira" + +#: fileItem.js:711 +msgid "Eject" +msgstr "Ejetar" + +#: fileItem.js:717 +msgid "Properties" +msgstr "Propriedades" + +#: fileItem.js:719 +msgid "Show in Files" +msgstr "Mostrar no Arquivos" + +#: fileItem.js:925 +msgid "Home" +msgstr "Home" + +#: schemas/org.gnome.shell.extensions.desktop-icons.gschema.xml:11 +msgid "Icon size" +msgstr "Tamanho do ícone" + +#: schemas/org.gnome.shell.extensions.desktop-icons.gschema.xml:12 +msgid "Set the size for the desktop icons." +msgstr "Define o tamanho para os ícones da área de trabalho." + +#: schemas/org.gnome.shell.extensions.desktop-icons.gschema.xml:16 +msgid "Show personal folder" +msgstr "Mostrar pasta pessoal" + +#: schemas/org.gnome.shell.extensions.desktop-icons.gschema.xml:17 +msgid "Show the personal folder in the desktop." +msgstr "Mostra a pasta pessoal na área de trabalho." + +#: schemas/org.gnome.shell.extensions.desktop-icons.gschema.xml:21 +msgid "Show trash icon" +msgstr "Mostrar ícone da lixeira" + +#: schemas/org.gnome.shell.extensions.desktop-icons.gschema.xml:22 +msgid "Show the trash icon in the desktop." +msgstr "Mostra o ícone da lixeira na área de trabalho." + +#: schemas/org.gnome.shell.extensions.desktop-icons.gschema.xml:26 +msgid "Show mounted drives" +msgstr "Mostrar unidades montadas" + +#: schemas/org.gnome.shell.extensions.desktop-icons.gschema.xml:27 +msgid "Show mounted drives in the desktop." +msgstr "Mostra as unidades montadas na área de trabalho." + +#~ msgid "Enter file name…" +#~ msgstr "Insira um nome de arquivo…" + +#~ msgid "OK" +#~ msgstr "OK" + +#~ msgid "Huge" +#~ msgstr "Enorme" + +#~ msgid "Ok" +#~ msgstr "Ok" diff --git a/extensions/desktop-icons/po/ro.po b/extensions/desktop-icons/po/ro.po new file mode 100644 index 00000000..b290b89d --- /dev/null +++ b/extensions/desktop-icons/po/ro.po @@ -0,0 +1,223 @@ +# Romanian translation for desktop-icons. +# Copyright (C) 2020 desktop-icons's COPYRIGHT HOLDER +# This file is distributed under the same license as the desktop-icons package. +# Florentina Mușat , 2020. +# +msgid "" +msgstr "" +"Project-Id-Version: desktop-icons master\n" +"Report-Msgid-Bugs-To: https://gitlab.gnome.org/World/ShellExtensions/desktop-" +"icons/issues\n" +"POT-Creation-Date: 2020-05-26 20:08+0000\n" +"PO-Revision-Date: 2020-06-06 12:24+0300\n" +"Last-Translator: Florentina Mușat \n" +"Language-Team: Romanian \n" +"Language: ro\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=3; plural=(n==1 ? 0 : (n==0 || (n%100 > 0 && n%100 < " +"20)) ? 1 : 2);;\n" +"X-Generator: Poedit 2.3.1\n" + +#: createFolderDialog.js:46 +msgid "New folder name" +msgstr "Nume nou de fișier" + +#: createFolderDialog.js:70 +msgid "Create" +msgstr "Creează" + +#: createFolderDialog.js:72 +msgid "Cancel" +msgstr "Anulează" + +#: createFolderDialog.js:145 +msgid "Folder names cannot contain “/”." +msgstr "Numele dosarelor nu pot conține „/”." + +#: createFolderDialog.js:148 +msgid "A folder cannot be called “.”." +msgstr "Un dosar nu poate fi numit „.”." + +#: createFolderDialog.js:151 +msgid "A folder cannot be called “..”." +msgstr "Un dosar nu poate fi numit „..”." + +#: createFolderDialog.js:153 +msgid "Folders with “.” at the beginning of their name are hidden." +msgstr "Dosarele cu „.” la începutul numelui sunt ascunse." + +#: createFolderDialog.js:155 +msgid "There is already a file or folder with that name." +msgstr "Există deja un fișier sau doar cu acel nume." + +#: prefs.js:103 +msgid "Size for the desktop icons" +msgstr "Dimensiunea pentru iconițele desktopului" + +#: prefs.js:103 +msgid "Small" +msgstr "Mic" + +#: prefs.js:103 +msgid "Standard" +msgstr "Standard" + +#: prefs.js:103 +msgid "Large" +msgstr "Mare" + +#: prefs.js:104 +msgid "Show the personal folder in the desktop" +msgstr "Arată dosarul personal pe desktop" + +#: prefs.js:105 +msgid "Show the trash icon in the desktop" +msgstr "Arată iconița gunoiului pe desktop" + +#: prefs.js:106 +msgid "Show mounted drives in the desktop" +msgstr "Arată dispozitivele montate pe desktop" + +#: desktopGrid.js:346 +msgid "New Folder" +msgstr "Dosar nou" + +#: desktopGrid.js:347 +msgid "New Document" +msgstr "Document nou" + +#: desktopGrid.js:350 +msgid "Paste" +msgstr "Lipește" + +#: desktopGrid.js:351 +msgid "Undo" +msgstr "Refă" + +#: desktopGrid.js:352 +msgid "Redo" +msgstr "Repetă" + +#: desktopGrid.js:354 +msgid "Show Desktop in Files" +msgstr "Aratată Desktopul în Fișiere" + +#: desktopGrid.js:355 fileItem.js:721 +msgid "Open in Terminal" +msgstr "Deschide în Terminal" + +#: desktopGrid.js:357 +msgid "Change Background…" +msgstr "Schimbă fundalul…" + +#: desktopGrid.js:359 +msgid "Display Settings" +msgstr "Configurări afișaj" + +#: desktopGrid.js:360 +msgid "Settings" +msgstr "Configurări" + +#: desktopGrid.js:692 +msgid "Rename" +msgstr "Redenumește" + +#: desktopIconsUtil.js:63 +msgid "Command not found" +msgstr "Comanda nu a fost găsită" + +#. TRANSLATORS: %s is the filesystem name +#: desktopIconsUtil.js:162 +#, javascript-format +msgid "Ejecting drive “%s” failed:" +msgstr "Scoaterea unității „%s” a eșuat:" + +#: fileItem.js:584 +msgid "Don’t Allow Launching" +msgstr "Nu permite lansarea" + +#: fileItem.js:586 +msgid "Allow Launching" +msgstr "Permite lansarea" + +#: fileItem.js:682 +msgid "Open" +msgstr "Deschide" + +#: fileItem.js:686 +msgid "Open With Other Application" +msgstr "Deschide cu altă aplicație" + +#: fileItem.js:688 +msgid "Launch using Dedicated Graphics Card" +msgstr "Lansează folosind placa grafică dedicată" + +#: fileItem.js:693 +msgid "Cut" +msgstr "Taie" + +#: fileItem.js:694 +msgid "Copy" +msgstr "Copiază" + +#: fileItem.js:696 +msgid "Rename…" +msgstr "Redenumește…" + +#: fileItem.js:697 +msgid "Move to Trash" +msgstr "Mută la gunoi" + +#: fileItem.js:707 +msgid "Empty Trash" +msgstr "Golește gunoiul" + +#: fileItem.js:711 +msgid "Eject" +msgstr "Ejectează" + +#: fileItem.js:717 +msgid "Properties" +msgstr "Proprietăți" + +#: fileItem.js:719 +msgid "Show in Files" +msgstr "Arată în Fișiere" + +#: fileItem.js:925 +msgid "Home" +msgstr "Acasă" + +#: schemas/org.gnome.shell.extensions.desktop-icons.gschema.xml:11 +msgid "Icon size" +msgstr "Dimensiune iconiță" + +#: schemas/org.gnome.shell.extensions.desktop-icons.gschema.xml:12 +msgid "Set the size for the desktop icons." +msgstr "Stabilește dimensiunea pentru iconițele desktopului." + +#: schemas/org.gnome.shell.extensions.desktop-icons.gschema.xml:16 +msgid "Show personal folder" +msgstr "Arată dosarul personal" + +#: schemas/org.gnome.shell.extensions.desktop-icons.gschema.xml:17 +msgid "Show the personal folder in the desktop." +msgstr "Arată dosarul personal pe desktop." + +#: schemas/org.gnome.shell.extensions.desktop-icons.gschema.xml:21 +msgid "Show trash icon" +msgstr "Arată iconița gunoiului" + +#: schemas/org.gnome.shell.extensions.desktop-icons.gschema.xml:22 +msgid "Show the trash icon in the desktop." +msgstr "Arată iconița gunoiului pe deskop." + +#: schemas/org.gnome.shell.extensions.desktop-icons.gschema.xml:26 +msgid "Show mounted drives" +msgstr "Arată dispozitivele montate" + +#: schemas/org.gnome.shell.extensions.desktop-icons.gschema.xml:27 +msgid "Show mounted drives in the desktop." +msgstr "Arată dispozitivele montate pe desktop." diff --git a/extensions/desktop-icons/po/ru.po b/extensions/desktop-icons/po/ru.po new file mode 100644 index 00000000..a373301c --- /dev/null +++ b/extensions/desktop-icons/po/ru.po @@ -0,0 +1,197 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. +# Eaglers , 2018. +# +msgid "" +msgstr "" +"Project-Id-Version: \n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2020-04-05 21:12+0200\n" +"PO-Revision-Date: 2020-04-06 22:29+0300\n" +"Last-Translator: Stas Solovey \n" +"Language-Team: Russian \n" +"Language: ru\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n" +"%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" +"X-Generator: Poedit 2.3\n" + +#: createFolderDialog.js:46 +msgid "New folder name" +msgstr "Имя новой папки" + +#: createFolderDialog.js:70 +msgid "Create" +msgstr "Создать" + +#: createFolderDialog.js:72 +msgid "Cancel" +msgstr "Отмена" + +#: createFolderDialog.js:145 +msgid "Folder names cannot contain “/”." +msgstr "Имена папок не могут содержать «/»." + +#: createFolderDialog.js:148 +msgid "A folder cannot be called “.”." +msgstr "Папка не может быть названа как «.»." + +#: createFolderDialog.js:151 +msgid "A folder cannot be called “..”." +msgstr "Папка не может быть названа как «..»." + +#: createFolderDialog.js:153 +msgid "Folders with “.” at the beginning of their name are hidden." +msgstr "Папки с точкой «.» в начале их имени скрываются." + +#: createFolderDialog.js:155 +msgid "There is already a file or folder with that name." +msgstr "Файл или папка с таким именем уже существует." + +#: prefs.js:102 +msgid "Size for the desktop icons" +msgstr "Размер значков" + +#: prefs.js:102 +msgid "Small" +msgstr "Маленький" + +#: prefs.js:102 +msgid "Standard" +msgstr "Стандартный" + +#: prefs.js:102 +msgid "Large" +msgstr "Большой" + +#: prefs.js:103 +msgid "Show the personal folder in the desktop" +msgstr "Показывать домашнюю папку на рабочем столе" + +#: prefs.js:104 +msgid "Show the trash icon in the desktop" +msgstr "Показывать «Корзину» на рабочем столе" + +#: desktopGrid.js:343 +msgid "New Folder" +msgstr "Создать папку" + +#: desktopGrid.js:345 +msgid "Paste" +msgstr "Вставить" + +#: desktopGrid.js:346 +msgid "Undo" +msgstr "Отменить" + +#: desktopGrid.js:347 +msgid "Redo" +msgstr "Повторить" + +#: desktopGrid.js:349 +msgid "Show Desktop in Files" +msgstr "Показывать папку «Рабочий стол» в приложении «Файлы»" + +#: desktopGrid.js:350 fileItem.js:651 +msgid "Open in Terminal" +msgstr "Открыть в терминале" + +#: desktopGrid.js:352 +msgid "Change Background…" +msgstr "Изменить фон…" + +#: desktopGrid.js:354 +msgid "Display Settings" +msgstr "Настройки дисплея" + +#: desktopGrid.js:355 +msgid "Settings" +msgstr "Параметры" + +#: desktopGrid.js:653 +msgid "Rename" +msgstr "Переименовать" + +#: desktopIconsUtil.js:61 +msgid "Command not found" +msgstr "Команда не найдена" + +#: fileItem.js:521 +msgid "Don’t Allow Launching" +msgstr "Запретить запуск" + +#: fileItem.js:523 +msgid "Allow Launching" +msgstr "Разрешить запуск" + +#: fileItem.js:619 +msgid "Open" +msgstr "Открыть" + +#: fileItem.js:623 +msgid "Open With Other Application" +msgstr "Открыть в другом приложении" + +#: fileItem.js:627 +msgid "Cut" +msgstr "Вырезать" + +#: fileItem.js:628 +msgid "Copy" +msgstr "Вставить" + +#: fileItem.js:630 +msgid "Rename…" +msgstr "Переименовать…" + +#: fileItem.js:631 +msgid "Move to Trash" +msgstr "Переместить в корзину" + +#: fileItem.js:641 +msgid "Empty Trash" +msgstr "Очистить корзину" + +#: fileItem.js:647 +msgid "Properties" +msgstr "Свойства" + +#: fileItem.js:649 +msgid "Show in Files" +msgstr "Показать в «Файлах»" + +#: schemas/org.gnome.shell.extensions.desktop-icons.gschema.xml:11 +msgid "Icon size" +msgstr "Размер значков" + +#: schemas/org.gnome.shell.extensions.desktop-icons.gschema.xml:12 +msgid "Set the size for the desktop icons." +msgstr "Установить размер значков рабочего стола." + +#: schemas/org.gnome.shell.extensions.desktop-icons.gschema.xml:16 +msgid "Show personal folder" +msgstr "Показывать домашнюю папку" + +#: schemas/org.gnome.shell.extensions.desktop-icons.gschema.xml:17 +msgid "Show the personal folder in the desktop." +msgstr "Показывать значок домашней папки на рабочем столе." + +#: schemas/org.gnome.shell.extensions.desktop-icons.gschema.xml:21 +msgid "Show trash icon" +msgstr "Показывать значок корзины" + +#: schemas/org.gnome.shell.extensions.desktop-icons.gschema.xml:22 +msgid "Show the trash icon in the desktop." +msgstr "Показывать значок корзины на рабочем столе." + +#~ msgid "Huge" +#~ msgstr "Огромный" + +#~ msgid "Enter file name…" +#~ msgstr "Ввести имя файла…" + +#~ msgid "Ok" +#~ msgstr "ОК" diff --git a/extensions/desktop-icons/po/sk.po b/extensions/desktop-icons/po/sk.po new file mode 100644 index 00000000..a67f40cb --- /dev/null +++ b/extensions/desktop-icons/po/sk.po @@ -0,0 +1,222 @@ +# Slovak translation for desktop-icons. +# Copyright (C) 2020 desktop-icons's COPYRIGHT HOLDER +# This file is distributed under the same license as the desktop-icons package. +# Dušan Kazik , 2020. +# +msgid "" +msgstr "" +"Project-Id-Version: desktop-icons master\n" +"Report-Msgid-Bugs-To: https://gitlab.gnome.org/World/ShellExtensions/desktop-" +"icons/issues\n" +"POT-Creation-Date: 2020-09-05 22:22+0000\n" +"PO-Revision-Date: 2020-09-06 18:40+0200\n" +"Language-Team: Slovak \n" +"Language: sk\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=3; plural=(n==1) ? 1 : (n>=2 && n<=4) ? 2 : 0;\n" +"Last-Translator: Dušan Kazik \n" +"X-Generator: Poedit 2.4.1\n" + +#: createFolderDialog.js:46 +msgid "New folder name" +msgstr "Nový názov priečinka" + +#: createFolderDialog.js:70 +msgid "Create" +msgstr "Vytvoriť" + +#: createFolderDialog.js:72 +msgid "Cancel" +msgstr "Zrušiť" + +#: createFolderDialog.js:145 +msgid "Folder names cannot contain “/”." +msgstr "Názvy priečinkov nemôžu obsahovať znak „/“." + +#: createFolderDialog.js:148 +msgid "A folder cannot be called “.”." +msgstr "Priečinok nemôže byť nazvaný „.“." + +#: createFolderDialog.js:151 +msgid "A folder cannot be called “..”." +msgstr "Priečinok nemôže byť nazvaný „..“." + +#: createFolderDialog.js:153 +msgid "Folders with “.” at the beginning of their name are hidden." +msgstr "Priečinky s názvami začínajúcimi znakom „.“ sú skryté." + +#: createFolderDialog.js:155 +msgid "There is already a file or folder with that name." +msgstr "Súbor alebo priečinok s týmto názvom už existuje." + +#: prefs.js:103 +msgid "Size for the desktop icons" +msgstr "Veľkosť ikon pracovnej plochy" + +#: prefs.js:103 +msgid "Small" +msgstr "Malé" + +#: prefs.js:103 +msgid "Standard" +msgstr "Štandardné" + +#: prefs.js:103 +msgid "Large" +msgstr "Veľké" + +#: prefs.js:104 +msgid "Show the personal folder in the desktop" +msgstr "Zobraziť osobný priečinok na pracovnej ploche" + +#: prefs.js:105 +msgid "Show the trash icon in the desktop" +msgstr "Zobraziť ikonu Koša na pracovnej ploche" + +#: prefs.js:106 +msgid "Show mounted drives in the desktop" +msgstr "Zobraziť pripojené jednotky na pracovnej ploche" + +#: desktopGrid.js:346 +msgid "New Folder" +msgstr "Nový priečinok" + +#: desktopGrid.js:347 +msgid "New Document" +msgstr "Nový dokument" + +#: desktopGrid.js:350 +msgid "Paste" +msgstr "Vložiť" + +#: desktopGrid.js:351 +msgid "Undo" +msgstr "Vráti späť" + +#: desktopGrid.js:352 +msgid "Redo" +msgstr "Opakovať vrátené" + +#: desktopGrid.js:354 +msgid "Show Desktop in Files" +msgstr "Zobraziť Plochu v aplikácii Súbory" + +#: desktopGrid.js:355 fileItem.js:723 +msgid "Open in Terminal" +msgstr "Otvoriť v termináli" + +#: desktopGrid.js:357 +msgid "Change Background…" +msgstr "Zmeniť pozadie…" + +#: desktopGrid.js:359 +msgid "Display Settings" +msgstr "Nastavenia displejov" + +#: desktopGrid.js:360 +msgid "Settings" +msgstr "Nastavenia" + +#: desktopGrid.js:699 +msgid "Rename" +msgstr "Premenovanie" + +#: desktopIconsUtil.js:63 +msgid "Command not found" +msgstr "Príkaz sa nenašiel" + +#. TRANSLATORS: %s is the filesystem name +#: desktopIconsUtil.js:162 +#, javascript-format +msgid "Ejecting drive “%s” failed:" +msgstr "Zlyhalo vysúvanie jednotky „%s“:" + +#: fileItem.js:586 +msgid "Don’t Allow Launching" +msgstr "Neumožniť spúšťanie" + +#: fileItem.js:588 +msgid "Allow Launching" +msgstr "Umožniť spúšťanie" + +#: fileItem.js:684 +msgid "Open" +msgstr "Otvorené" + +#: fileItem.js:688 +msgid "Open With Other Application" +msgstr "Otvoriť inou aplikáciou" + +#: fileItem.js:690 +msgid "Launch using Dedicated Graphics Card" +msgstr "Spustiť pomocou vyhradenej grafickej karty" + +#: fileItem.js:695 +msgid "Cut" +msgstr "Vystrihnúť" + +#: fileItem.js:696 +msgid "Copy" +msgstr "Skopíruje" + +#: fileItem.js:698 +msgid "Rename…" +msgstr "Premenovať…" + +#: fileItem.js:699 +msgid "Move to Trash" +msgstr "Presunúť do Koša" + +#: fileItem.js:709 +msgid "Empty Trash" +msgstr "Vyprázdniť Kôš" + +#: fileItem.js:713 +msgid "Eject" +msgstr "Vysunúť" + +#: fileItem.js:719 +msgid "Properties" +msgstr "Vlastnosti" + +#: fileItem.js:721 +msgid "Show in Files" +msgstr "Zobraziť v aplikácii Súbory" + +#: fileItem.js:927 +msgid "Home" +msgstr "Domov" + +#: schemas/org.gnome.shell.extensions.desktop-icons.gschema.xml:11 +msgid "Icon size" +msgstr "Veľkosť ikon" + +#: schemas/org.gnome.shell.extensions.desktop-icons.gschema.xml:12 +msgid "Set the size for the desktop icons." +msgstr "Nastaví veľkosť ikon na pracovnej ploche." + +#: schemas/org.gnome.shell.extensions.desktop-icons.gschema.xml:16 +msgid "Show personal folder" +msgstr "Zobraziť osobný priečinok" + +#: schemas/org.gnome.shell.extensions.desktop-icons.gschema.xml:17 +msgid "Show the personal folder in the desktop." +msgstr "Zobrazí osobný priečinok na pracovnej ploche." + +#: schemas/org.gnome.shell.extensions.desktop-icons.gschema.xml:21 +msgid "Show trash icon" +msgstr "Zobraziť ikonu Koša" + +#: schemas/org.gnome.shell.extensions.desktop-icons.gschema.xml:22 +msgid "Show the trash icon in the desktop." +msgstr "Zobrazí ikonu Koša na pracovnej ploche." + +#: schemas/org.gnome.shell.extensions.desktop-icons.gschema.xml:26 +msgid "Show mounted drives" +msgstr "Zobraziť pripojené jednotky" + +#: schemas/org.gnome.shell.extensions.desktop-icons.gschema.xml:27 +msgid "Show mounted drives in the desktop." +msgstr "Zobrazí pripojené jednotky na pracovnej ploche." diff --git a/extensions/desktop-icons/po/sl.po b/extensions/desktop-icons/po/sl.po new file mode 100644 index 00000000..d8584147 --- /dev/null +++ b/extensions/desktop-icons/po/sl.po @@ -0,0 +1,227 @@ +# Slovenian translations for desktop-icons. +# Copyright (C) 2018 desktop-icons's COPYRIGHT HOLDER +# This file is distributed under the same license as the atomix package. +# +# Matej Urbančič , + 2018–. +# +msgid "" +msgstr "" +"Project-Id-Version: desktop-icons master\n" +"Report-Msgid-Bugs-To: https://gitlab.gnome.org/World/ShellExtensions/desktop-" +"icons/issues\n" +"POT-Creation-Date: 2020-08-28 03:11+0000\n" +"PO-Revision-Date: 2020-09-03 21:58+0200\n" +"Last-Translator: \n" +"Language-Team: Slovenian \n" +"Language: sl\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%100==1 ? 1 : n%100==2 ? 2 : n%100==3 || n" +"%100==4 ? 3 : 0);\n" +"X-Generator: Poedit 2.3\n" + +#: createFolderDialog.js:46 +msgid "New folder name" +msgstr "Ime nove mape" + +#: createFolderDialog.js:70 +msgid "Create" +msgstr "Ustvari" + +#: createFolderDialog.js:72 +msgid "Cancel" +msgstr "Prekliči" + +#: createFolderDialog.js:145 +msgid "Folder names cannot contain “/”." +msgstr "Ime mape ne sme vsebovati poševnice » / «." + +#: createFolderDialog.js:148 +msgid "A folder cannot be called “.”." +msgstr "Mapa ne sme biti poimenovana » . «." + +#: createFolderDialog.js:151 +msgid "A folder cannot be called “..”." +msgstr "Mapa ne sme biti poimenovana » .. «." + +#: createFolderDialog.js:153 +msgid "Folders with “.” at the beginning of their name are hidden." +msgstr "Mape, katerih ime se začne s piko » . «, so skrite mape." + +#: createFolderDialog.js:155 +msgid "There is already a file or folder with that name." +msgstr "Mapa oziroma datoteka z enakim imenom že obstaja." + +#: prefs.js:103 +msgid "Size for the desktop icons" +msgstr "Velikost ikon namizja" + +#: prefs.js:103 +msgid "Small" +msgstr "Majhne" + +#: prefs.js:103 +msgid "Standard" +msgstr "Običajne" + +#: prefs.js:103 +msgid "Large" +msgstr "Velike" + +#: prefs.js:104 +msgid "Show the personal folder in the desktop" +msgstr "Pokaži osebno mapo na namizju" + +#: prefs.js:105 +msgid "Show the trash icon in the desktop" +msgstr "Pokaži smeti na namizju" + +#: prefs.js:106 +msgid "Show mounted drives in the desktop" +msgstr "Pokaži priklopljene nosilce na namizju" + +#: desktopGrid.js:346 +msgid "New Folder" +msgstr "Nova mapa" + +#: desktopGrid.js:347 +msgid "New Document" +msgstr "Nov dokument" + +#: desktopGrid.js:350 +msgid "Paste" +msgstr "Prilepi" + +#: desktopGrid.js:351 +msgid "Undo" +msgstr "Razveljavi" + +#: desktopGrid.js:352 +msgid "Redo" +msgstr "Ponovno uveljavi" + +#: desktopGrid.js:354 +msgid "Show Desktop in Files" +msgstr "Odpri Namizje v upravljalniku datotek" + +#: desktopGrid.js:355 fileItem.js:723 +msgid "Open in Terminal" +msgstr "Odpri v terminalu" + +#: desktopGrid.js:357 +msgid "Change Background…" +msgstr "Spremeni ozadje …" + +#: desktopGrid.js:359 +msgid "Display Settings" +msgstr "Nastavitve zaslona" + +#: desktopGrid.js:360 +msgid "Settings" +msgstr "Nastavitve" + +#: desktopGrid.js:699 +msgid "Rename" +msgstr "Preimenuj" + +#: desktopIconsUtil.js:63 +msgid "Command not found" +msgstr "Ukaza ni mogoče najti" + +#. TRANSLATORS: %s is the filesystem name +#: desktopIconsUtil.js:162 +#, javascript-format +msgid "Ejecting drive “%s” failed:" +msgstr "Izmetavanje pogona »%s« je spodletelo:" + +#: fileItem.js:586 +msgid "Don’t Allow Launching" +msgstr "Ne dovoli zaganjanja" + +#: fileItem.js:588 +msgid "Allow Launching" +msgstr "Dovoli zaganjanje" + +#: fileItem.js:684 +msgid "Open" +msgstr "Odpri" + +#: fileItem.js:688 +msgid "Open With Other Application" +msgstr "Odpri z drugim programom …" + +#: fileItem.js:690 +msgid "Launch using Dedicated Graphics Card" +msgstr "Zaženi z uporabo določene grafične kartice" + +#: fileItem.js:695 +msgid "Cut" +msgstr "Izreži" + +#: fileItem.js:696 +msgid "Copy" +msgstr "Kopiraj" + +#: fileItem.js:698 +msgid "Rename…" +msgstr "Preimenuj …" + +#: fileItem.js:699 +msgid "Move to Trash" +msgstr "Premakni v smeti" + +#: fileItem.js:709 +msgid "Empty Trash" +msgstr "Izprazni smeti" + +#: fileItem.js:713 +msgid "Eject" +msgstr "Izvrzi" + +#: fileItem.js:719 +msgid "Properties" +msgstr "Lastnosti" + +#: fileItem.js:721 +msgid "Show in Files" +msgstr "Pokaži v upravljalniku datotek" + +#: fileItem.js:927 +msgid "Home" +msgstr "Na začetek" + +#: schemas/org.gnome.shell.extensions.desktop-icons.gschema.xml:11 +msgid "Icon size" +msgstr "Velikost ikon" + +#: schemas/org.gnome.shell.extensions.desktop-icons.gschema.xml:12 +msgid "Set the size for the desktop icons." +msgstr "Nastavitev velikosti ikon na namizju." + +#: schemas/org.gnome.shell.extensions.desktop-icons.gschema.xml:16 +msgid "Show personal folder" +msgstr "Pokaži osebno mapo" + +#: schemas/org.gnome.shell.extensions.desktop-icons.gschema.xml:17 +msgid "Show the personal folder in the desktop." +msgstr "Pokaže ikono osebne mape na namizju." + +#: schemas/org.gnome.shell.extensions.desktop-icons.gschema.xml:21 +msgid "Show trash icon" +msgstr "Pokaži ikono smeti" + +#: schemas/org.gnome.shell.extensions.desktop-icons.gschema.xml:22 +msgid "Show the trash icon in the desktop." +msgstr "Pokaže ikono smeti na namizju." + +#: schemas/org.gnome.shell.extensions.desktop-icons.gschema.xml:26 +msgid "Show mounted drives" +msgstr "Pokaži priklopljene nosilce" + +#: schemas/org.gnome.shell.extensions.desktop-icons.gschema.xml:27 +msgid "Show mounted drives in the desktop." +msgstr "Pokaži priklopljene nosilce na namizju." + +#~ msgid "Huge" +#~ msgstr "Velikanske" diff --git a/extensions/desktop-icons/po/sr.po b/extensions/desktop-icons/po/sr.po new file mode 100644 index 00000000..82aeafc2 --- /dev/null +++ b/extensions/desktop-icons/po/sr.po @@ -0,0 +1,220 @@ +# Serbian translation for desktop-icons. +# Copyright © 2021 desktop-icons's COPYRIGHT HOLDER +# This file is distributed under the same license as the desktop-icons package. +# Мирослав Николић , 2021. +msgid "" +msgstr "" +"Project-Id-Version: desktop-icons master\n" +"Report-Msgid-Bugs-To: https://gitlab.gnome.org/World/ShellExtensions/" +"desktop-icons/issues\n" +"POT-Creation-Date: 2021-01-27 22:42+0000\n" +"PO-Revision-Date: 2021-02-02 07:23+0200\n" +"Last-Translator: Мирослав Николић \n" +"Language-Team: српски \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" + +#: createFolderDialog.js:46 +msgid "New folder name" +msgstr "Назив нове фасцикле" + +#: createFolderDialog.js:72 +msgid "Create" +msgstr "Направи" + +#: createFolderDialog.js:74 +msgid "Cancel" +msgstr "Откажи" + +#: createFolderDialog.js:147 +msgid "Folder names cannot contain “/”." +msgstr "Називи фасцикли не могу да садрже /." + +#: createFolderDialog.js:150 +msgid "A folder cannot be called “.”." +msgstr "Фасцикла се не може звати „.“." + +#: createFolderDialog.js:153 +msgid "A folder cannot be called “..”." +msgstr "Фасцикла се не може звати „..“." + +#: createFolderDialog.js:155 +msgid "Folders with “.” at the beginning of their name are hidden." +msgstr "Фасцикле са . на почетку назива су скривене." + +#: createFolderDialog.js:157 +msgid "There is already a file or folder with that name." +msgstr "Већ постоји датотека или фасцикла са тим називом." + +#: prefs.js:103 +msgid "Size for the desktop icons" +msgstr "Величина за иконице радне површи" + +#: prefs.js:103 +msgid "Small" +msgstr "Мала" + +#: prefs.js:103 +msgid "Standard" +msgstr "Обична" + +#: prefs.js:103 +msgid "Large" +msgstr "Велика" + +#: prefs.js:104 +msgid "Show the personal folder in the desktop" +msgstr "Прикажи личну фасциклу на радној површи" + +#: prefs.js:105 +msgid "Show the trash icon in the desktop" +msgstr "Прикажи иконицу смећа на радној површи" + +#: prefs.js:106 +msgid "Show mounted drives in the desktop" +msgstr "Прикажи прикачене уређаје на радној површи" + +#: desktopGrid.js:346 +msgid "New Folder" +msgstr "Нова фасцикла" + +#: desktopGrid.js:347 +msgid "New Document" +msgstr "Нови документ" + +#: desktopGrid.js:350 +msgid "Paste" +msgstr "Убаци" + +#: desktopGrid.js:351 +msgid "Undo" +msgstr "Поништи" + +#: desktopGrid.js:352 +msgid "Redo" +msgstr "Врати" + +#: desktopGrid.js:354 +msgid "Show Desktop in Files" +msgstr "Прикажи радну површ у датотекама" + +#: desktopGrid.js:355 fileItem.js:726 +msgid "Open in Terminal" +msgstr "Отвори у терминалу" + +#: desktopGrid.js:357 +msgid "Change Background…" +msgstr "Измени позадину…" + +#: desktopGrid.js:359 +msgid "Display Settings" +msgstr "Прикажи поставке" + +#: desktopGrid.js:360 +msgid "Settings" +msgstr "Поставке" + +#: desktopGrid.js:699 +msgid "Rename" +msgstr "Преименуј" + +#: desktopIconsUtil.js:63 +msgid "Command not found" +msgstr "Нема такве наредбе" + +#. TRANSLATORS: %s is the filesystem name +#: desktopIconsUtil.js:162 +#, javascript-format +msgid "Ejecting drive “%s” failed:" +msgstr "Избацивање уређаја „%s“ није успело:" + +#: fileItem.js:589 +msgid "Don’t Allow Launching" +msgstr "Не дозволи покретање" + +#: fileItem.js:591 +msgid "Allow Launching" +msgstr "Дозволи покретање" + +#: fileItem.js:687 +msgid "Open" +msgstr "Отвори" + +#: fileItem.js:691 +msgid "Open With Other Application" +msgstr "Отвори другим програмом" + +#: fileItem.js:693 +msgid "Launch using Dedicated Graphics Card" +msgstr "Покрени користећи намењену графичку картицу" + +#: fileItem.js:698 +msgid "Cut" +msgstr "Исеци" + +#: fileItem.js:699 +msgid "Copy" +msgstr "Умножи" + +#: fileItem.js:701 +msgid "Rename…" +msgstr "Преименуј…" + +#: fileItem.js:702 +msgid "Move to Trash" +msgstr "Премести у смеће" + +#: fileItem.js:712 +msgid "Empty Trash" +msgstr "Испразни смеће" + +#: fileItem.js:716 +msgid "Eject" +msgstr "Избаци" + +#: fileItem.js:722 +msgid "Properties" +msgstr "Својства" + +#: fileItem.js:724 +msgid "Show in Files" +msgstr "Прикажи у Датотекама" + +#: fileItem.js:951 +msgid "Home" +msgstr "Полазна" + +#: schemas/org.gnome.shell.extensions.desktop-icons.gschema.xml:11 +msgid "Icon size" +msgstr "Величина иконице" + +#: schemas/org.gnome.shell.extensions.desktop-icons.gschema.xml:12 +msgid "Set the size for the desktop icons." +msgstr "Поставља величину за иконице радне површи." + +#: schemas/org.gnome.shell.extensions.desktop-icons.gschema.xml:16 +msgid "Show personal folder" +msgstr "Приказ личне фасцикле" + +#: schemas/org.gnome.shell.extensions.desktop-icons.gschema.xml:17 +msgid "Show the personal folder in the desktop." +msgstr "Приказује личну фасциклу на радној површи." + +#: schemas/org.gnome.shell.extensions.desktop-icons.gschema.xml:21 +msgid "Show trash icon" +msgstr "Приказ иконице смећа" + +#: schemas/org.gnome.shell.extensions.desktop-icons.gschema.xml:22 +msgid "Show the trash icon in the desktop." +msgstr "Приказује иконицу смећа на радној површи." + +#: schemas/org.gnome.shell.extensions.desktop-icons.gschema.xml:26 +msgid "Show mounted drives" +msgstr "Приказ прикачених уређаја" + +#: schemas/org.gnome.shell.extensions.desktop-icons.gschema.xml:27 +msgid "Show mounted drives in the desktop." +msgstr "Приказује прикачене уређаје на радној површи." diff --git a/extensions/desktop-icons/po/sv.po b/extensions/desktop-icons/po/sv.po new file mode 100644 index 00000000..52461365 --- /dev/null +++ b/extensions/desktop-icons/po/sv.po @@ -0,0 +1,239 @@ +# Swedish translation for desktop-icons. +# Copyright © 2018-2020 desktop-icons's COPYRIGHT HOLDER +# This file is distributed under the same license as the desktop-icons package. +# Anders Jonsson , 2018, 2019, 2020. +# Josef Andersson , 2019. +# +msgid "" +msgstr "" +"Project-Id-Version: desktop-icons master\n" +"Report-Msgid-Bugs-To: https://gitlab.gnome.org/World/ShellExtensions/desktop-" +"icons/issues\n" +"POT-Creation-Date: 2020-05-26 20:08+0000\n" +"PO-Revision-Date: 2020-05-27 01:14+0200\n" +"Last-Translator: Anders Jonsson \n" +"Language-Team: Swedish \n" +"Language: sv\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" +"X-Generator: Poedit 2.3.1\n" + +#: createFolderDialog.js:46 +msgid "New folder name" +msgstr "Nytt mappnamn" + +#: createFolderDialog.js:70 +msgid "Create" +msgstr "Skapa" + +#: createFolderDialog.js:72 +msgid "Cancel" +msgstr "Avbryt" + +#: createFolderDialog.js:145 +msgid "Folder names cannot contain “/”." +msgstr "Mappnamn kan inte innehålla ”/”." + +#: createFolderDialog.js:148 +msgid "A folder cannot be called “.”." +msgstr "En mapp kan inte kallas ”.”." + +#: createFolderDialog.js:151 +msgid "A folder cannot be called “..”." +msgstr "En mapp kan inte kallas ”..”." + +#: createFolderDialog.js:153 +msgid "Folders with “.” at the beginning of their name are hidden." +msgstr "Mappar med ”.” i början på sitt namn är dolda." + +#: createFolderDialog.js:155 +msgid "There is already a file or folder with that name." +msgstr "Det finns redan en fil eller mapp med det namnet." + +#: prefs.js:103 +msgid "Size for the desktop icons" +msgstr "Storlek för skrivbordsikonerna" + +#: prefs.js:103 +msgid "Small" +msgstr "Liten" + +#: prefs.js:103 +msgid "Standard" +msgstr "Standard" + +#: prefs.js:103 +msgid "Large" +msgstr "Stor" + +# TODO: *ON* the desktop? +#: prefs.js:104 +msgid "Show the personal folder in the desktop" +msgstr "Visa den personliga mappen på skrivbordet" + +# TODO: *ON* the desktop? +#: prefs.js:105 +msgid "Show the trash icon in the desktop" +msgstr "Visa papperskorgsikonen på skrivbordet" + +# TODO: *ON* the desktop? +#: prefs.js:106 +msgid "Show mounted drives in the desktop" +msgstr "Visa monterade enheter på skrivbordet" + +#: desktopGrid.js:346 +msgid "New Folder" +msgstr "Ny mapp" + +#: desktopGrid.js:347 +msgid "New Document" +msgstr "Nytt dokument" + +#: desktopGrid.js:350 +msgid "Paste" +msgstr "Klistra in" + +#: desktopGrid.js:351 +msgid "Undo" +msgstr "Ångra" + +#: desktopGrid.js:352 +msgid "Redo" +msgstr "Gör om" + +#: desktopGrid.js:354 +msgid "Show Desktop in Files" +msgstr "Visa skrivbord i Filer" + +#: desktopGrid.js:355 fileItem.js:721 +msgid "Open in Terminal" +msgstr "Öppna i terminal" + +#: desktopGrid.js:357 +msgid "Change Background…" +msgstr "Ändra bakgrund…" + +#: desktopGrid.js:359 +msgid "Display Settings" +msgstr "Visningsinställningar" + +#: desktopGrid.js:360 +msgid "Settings" +msgstr "Inställningar" + +#: desktopGrid.js:692 +msgid "Rename" +msgstr "Byt namn" + +#: desktopIconsUtil.js:63 +msgid "Command not found" +msgstr "Kommandot hittades inte" + +#. TRANSLATORS: %s is the filesystem name +#: desktopIconsUtil.js:162 +#, javascript-format +msgid "Ejecting drive “%s” failed:" +msgstr "Utmatning av enhet ”%s” misslyckades:" + +#: fileItem.js:584 +msgid "Don’t Allow Launching" +msgstr "Tillåt ej programstart" + +#: fileItem.js:586 +msgid "Allow Launching" +msgstr "Tillåt programstart" + +#: fileItem.js:682 +msgid "Open" +msgstr "Öppna" + +#: fileItem.js:686 +msgid "Open With Other Application" +msgstr "Öppna med annat program" + +#: fileItem.js:688 +msgid "Launch using Dedicated Graphics Card" +msgstr "Kör med diskret grafikkort" + +#: fileItem.js:693 +msgid "Cut" +msgstr "Klipp ut" + +#: fileItem.js:694 +msgid "Copy" +msgstr "Kopiera" + +#: fileItem.js:696 +msgid "Rename…" +msgstr "Byt namn…" + +#: fileItem.js:697 +msgid "Move to Trash" +msgstr "Flytta till papperskorgen" + +#: fileItem.js:707 +msgid "Empty Trash" +msgstr "Töm papperskorgen" + +#: fileItem.js:711 +msgid "Eject" +msgstr "Mata ut" + +#: fileItem.js:717 +msgid "Properties" +msgstr "Egenskaper" + +#: fileItem.js:719 +msgid "Show in Files" +msgstr "Visa i Filer" + +#: fileItem.js:925 +msgid "Home" +msgstr "Hem" + +#: schemas/org.gnome.shell.extensions.desktop-icons.gschema.xml:11 +msgid "Icon size" +msgstr "Ikonstorlek" + +# TODO: *ON* the desktop? +#: schemas/org.gnome.shell.extensions.desktop-icons.gschema.xml:12 +msgid "Set the size for the desktop icons." +msgstr "Ställ in storleken för skrivbordsikonerna." + +#: schemas/org.gnome.shell.extensions.desktop-icons.gschema.xml:16 +msgid "Show personal folder" +msgstr "Visa personlig mapp" + +# TODO: *ON* the desktop? +#: schemas/org.gnome.shell.extensions.desktop-icons.gschema.xml:17 +msgid "Show the personal folder in the desktop." +msgstr "Visa den personliga mappen på skrivbordet." + +#: schemas/org.gnome.shell.extensions.desktop-icons.gschema.xml:21 +msgid "Show trash icon" +msgstr "Visa papperskorgsikon" + +# TODO: *ON* the desktop? +#: schemas/org.gnome.shell.extensions.desktop-icons.gschema.xml:22 +msgid "Show the trash icon in the desktop." +msgstr "Visa papperskorgsikonen på skrivbordet." + +#: schemas/org.gnome.shell.extensions.desktop-icons.gschema.xml:26 +msgid "Show mounted drives" +msgstr "Visa monterade enheter" + +# TODO: *ON* the desktop? +#: schemas/org.gnome.shell.extensions.desktop-icons.gschema.xml:27 +msgid "Show mounted drives in the desktop." +msgstr "Visa monterade enheter på skrivbordet." + +#~ msgid "Enter file name…" +#~ msgstr "Ange filnamn…" + +#~ msgid "OK" +#~ msgstr "OK" + +#~ msgid "Huge" +#~ msgstr "Enorm" diff --git a/extensions/desktop-icons/po/tr.po b/extensions/desktop-icons/po/tr.po new file mode 100644 index 00000000..cd2a4f13 --- /dev/null +++ b/extensions/desktop-icons/po/tr.po @@ -0,0 +1,231 @@ +# Turkish translation for desktop-icons. +# Copyright (C) 2000-2019 desktop-icons's COPYRIGHT HOLDER +# This file is distributed under the same license as the desktop-icons package. +# +# Sabri Ünal , 2019. +# Serdar Sağlam , 2019 +# Emin Tufan Çetin , 2019, 2020. +# +msgid "" +msgstr "" +"Project-Id-Version: \n" +"Report-Msgid-Bugs-To: https://gitlab.gnome.org/World/ShellExtensions/desktop-" +"icons/issues\n" +"POT-Creation-Date: 2020-05-26 20:08+0000\n" +"PO-Revision-Date: 2020-09-06 01:02+0300\n" +"Last-Translator: Emin Tufan Çetin \n" +"Language-Team: Türkçe \n" +"Language: tr\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Poedit 2.0.6\n" +"Plural-Forms: nplurals=1; plural=0;\n" + +#: createFolderDialog.js:46 +msgid "New folder name" +msgstr "Yeni klasör adı" + +#: createFolderDialog.js:70 +msgid "Create" +msgstr "Oluştur" + +#: createFolderDialog.js:72 +msgid "Cancel" +msgstr "İptal" + +#: createFolderDialog.js:145 +msgid "Folder names cannot contain “/”." +msgstr "Klasör adları “/” içeremez." + +#: createFolderDialog.js:148 +msgid "A folder cannot be called “.”." +msgstr "Klasör “.” olarak adlandırılamaz." + +#: createFolderDialog.js:151 +msgid "A folder cannot be called “..”." +msgstr "Klasör “..” olarak adlandırılamaz." + +#: createFolderDialog.js:153 +msgid "Folders with “.” at the beginning of their name are hidden." +msgstr "Adının başında “.” bulunan klasörler gizlenir." + +#: createFolderDialog.js:155 +msgid "There is already a file or folder with that name." +msgstr "Bu adda dosya veya klasör var." + +#: prefs.js:103 +msgid "Size for the desktop icons" +msgstr "Masaüstü simgeleri boyutu" + +#: prefs.js:103 +msgid "Small" +msgstr "Küçük" + +#: prefs.js:103 +msgid "Standard" +msgstr "Standart" + +#: prefs.js:103 +msgid "Large" +msgstr "Büyük" + +#: prefs.js:104 +msgid "Show the personal folder in the desktop" +msgstr "Kişisel klasörü masaüstünde göster" + +#: prefs.js:105 +msgid "Show the trash icon in the desktop" +msgstr "Çöp kutusunu masaüstünde göster" + +#: prefs.js:106 +msgid "Show mounted drives in the desktop" +msgstr "Bağlı sürücüleri masaüstünde göster" + +#: desktopGrid.js:346 +msgid "New Folder" +msgstr "Yeni Klasör" + +#: desktopGrid.js:347 +msgid "New Document" +msgstr "Yeni Belge" + +#: desktopGrid.js:350 +msgid "Paste" +msgstr "Yapıştır" + +#: desktopGrid.js:351 +msgid "Undo" +msgstr "Geri Al" + +#: desktopGrid.js:352 +msgid "Redo" +msgstr "Yinele" + +#: desktopGrid.js:354 +msgid "Show Desktop in Files" +msgstr "Masaüstünü Dosyalarʼda Göster" + +#: desktopGrid.js:355 fileItem.js:721 +msgid "Open in Terminal" +msgstr "Uçbirimde Aç" + +#: desktopGrid.js:357 +msgid "Change Background…" +msgstr "Arka Planı Değiştir…" + +#: desktopGrid.js:359 +msgid "Display Settings" +msgstr "Görüntü Ayarları" + +#: desktopGrid.js:360 +msgid "Settings" +msgstr "Ayarlar" + +#: desktopGrid.js:692 +msgid "Rename" +msgstr "Yeniden Adlandır" + +#: desktopIconsUtil.js:63 +msgid "Command not found" +msgstr "Komut bulunamadı" + +#. TRANSLATORS: %s is the filesystem name +#: desktopIconsUtil.js:162 +#, javascript-format +msgid "Ejecting drive “%s” failed:" +msgstr "“%s” sürücüsü çıkarılamadı:" + +#: fileItem.js:584 +msgid "Don’t Allow Launching" +msgstr "Başlatmaya İzin Verme" + +#: fileItem.js:586 +msgid "Allow Launching" +msgstr "Başlatmaya İzin Ver" + +#: fileItem.js:682 +msgid "Open" +msgstr "Aç" + +#: fileItem.js:686 +msgid "Open With Other Application" +msgstr "Başka Uygulamayla Aç" + +#: fileItem.js:688 +msgid "Launch using Dedicated Graphics Card" +msgstr "Ayrık Ekran Kartıyla Başlat" + +#: fileItem.js:693 +msgid "Cut" +msgstr "Kes" + +#: fileItem.js:694 +msgid "Copy" +msgstr "Kopyala" + +#: fileItem.js:696 +msgid "Rename…" +msgstr "Yeniden Adlandır…" + +#: fileItem.js:697 +msgid "Move to Trash" +msgstr "Çöpe Taşı" + +#: fileItem.js:707 +msgid "Empty Trash" +msgstr "Çöpü Boşalt" + +#: fileItem.js:711 +msgid "Eject" +msgstr "Çıkar" + +#: fileItem.js:717 +msgid "Properties" +msgstr "Özellikler" + +#: fileItem.js:719 +msgid "Show in Files" +msgstr "Dosyalarʼda Göster" + +#: fileItem.js:925 +msgid "Home" +msgstr "Ev" + +#: schemas/org.gnome.shell.extensions.desktop-icons.gschema.xml:11 +msgid "Icon size" +msgstr "Simge boyutu" + +#: schemas/org.gnome.shell.extensions.desktop-icons.gschema.xml:12 +msgid "Set the size for the desktop icons." +msgstr "Masaüstü simgelerinin boyutunu ayarla." + +#: schemas/org.gnome.shell.extensions.desktop-icons.gschema.xml:16 +msgid "Show personal folder" +msgstr "Kişisel klasörü göster" + +#: schemas/org.gnome.shell.extensions.desktop-icons.gschema.xml:17 +msgid "Show the personal folder in the desktop." +msgstr "Kişisel klasörü masaüstünde göster." + +#: schemas/org.gnome.shell.extensions.desktop-icons.gschema.xml:21 +msgid "Show trash icon" +msgstr "Çöp kutusunu göster" + +#: schemas/org.gnome.shell.extensions.desktop-icons.gschema.xml:22 +msgid "Show the trash icon in the desktop." +msgstr "Çöp kutusu simgesini masaüstünde göster." + +#: schemas/org.gnome.shell.extensions.desktop-icons.gschema.xml:26 +msgid "Show mounted drives" +msgstr "Bağlı sürücüleri göster" + +#: schemas/org.gnome.shell.extensions.desktop-icons.gschema.xml:27 +msgid "Show mounted drives in the desktop." +msgstr "Bağlı sürücüleri masaüstünde göster." + +#~ msgid "Enter file name…" +#~ msgstr "Dosya adını gir…" + +#~ msgid "OK" +#~ msgstr "Tamam" diff --git a/extensions/desktop-icons/po/uk.po b/extensions/desktop-icons/po/uk.po new file mode 100644 index 00000000..df37099a --- /dev/null +++ b/extensions/desktop-icons/po/uk.po @@ -0,0 +1,223 @@ +# Ukrainian translation for desktop-icons. +# Copyright (C) 2020 desktop-icons's COPYRIGHT HOLDER +# This file is distributed under the same license as the desktop-icons package. +# +# Yuri Chornoivan , 2020. +msgid "" +msgstr "" +"Project-Id-Version: desktop-icons master\n" +"Report-Msgid-Bugs-To: https://gitlab.gnome.org/World/ShellExtensions/desktop-i" +"cons/issues\n" +"POT-Creation-Date: 2020-05-26 20:08+0000\n" +"PO-Revision-Date: 2020-05-27 11:46+0300\n" +"Last-Translator: Yuri Chornoivan \n" +"Language-Team: Ukrainian \n" +"Language: uk\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" +"X-Generator: Lokalize 20.07.70\n" + +#: createFolderDialog.js:46 +msgid "New folder name" +msgstr "Назва нової теки" + +#: createFolderDialog.js:70 +msgid "Create" +msgstr "Створити" + +#: createFolderDialog.js:72 +msgid "Cancel" +msgstr "Скасувати" + +#: createFolderDialog.js:145 +msgid "Folder names cannot contain “/”." +msgstr "Назви теки не можуть містити «/»." + +#: createFolderDialog.js:148 +msgid "A folder cannot be called “.”." +msgstr "Теку не можна називати як «.»." + +#: createFolderDialog.js:151 +msgid "A folder cannot be called “..”." +msgstr "Теку не можна називати як «..»." + +#: createFolderDialog.js:153 +msgid "Folders with “.” at the beginning of their name are hidden." +msgstr "Теки, назви яких починаються із символу «.», є прихованими." + +#: createFolderDialog.js:155 +msgid "There is already a file or folder with that name." +msgstr "Файл або тека із такою назвою вже існують." + +#: prefs.js:103 +msgid "Size for the desktop icons" +msgstr "Розмір піктограм на стільниці" + +#: prefs.js:103 +msgid "Small" +msgstr "Малий" + +#: prefs.js:103 +msgid "Standard" +msgstr "Стандартний" + +#: prefs.js:103 +msgid "Large" +msgstr "Великий" + +#: prefs.js:104 +msgid "Show the personal folder in the desktop" +msgstr "Показувати особисту теку на стільниці" + +#: prefs.js:105 +msgid "Show the trash icon in the desktop" +msgstr "Показувати піктограму смітника на стільниці" + +#: prefs.js:106 +msgid "Show mounted drives in the desktop" +msgstr "Показувати змонтовані диски на стільниці" + +#: desktopGrid.js:346 +msgid "New Folder" +msgstr "Нова тека" + +#: desktopGrid.js:347 +msgid "New Document" +msgstr "Новий документ" + +#: desktopGrid.js:350 +msgid "Paste" +msgstr "Вставити" + +#: desktopGrid.js:351 +msgid "Undo" +msgstr "Скасувати" + +#: desktopGrid.js:352 +msgid "Redo" +msgstr "Повторити" + +#: desktopGrid.js:354 +msgid "Show Desktop in Files" +msgstr "Показувати «Стільницю» у «Файлах»" + +#: desktopGrid.js:355 fileItem.js:721 +msgid "Open in Terminal" +msgstr "Відкрити у терміналі" + +#: desktopGrid.js:357 +msgid "Change Background…" +msgstr "Змінити тло…" + +#: desktopGrid.js:359 +msgid "Display Settings" +msgstr "Параметри екрана" + +#: desktopGrid.js:360 +msgid "Settings" +msgstr "Параметри" + +#: desktopGrid.js:692 +msgid "Rename" +msgstr "Перейменувати" + +#: desktopIconsUtil.js:63 +msgid "Command not found" +msgstr "Команди не знайдено" + +#. TRANSLATORS: %s is the filesystem name +#: desktopIconsUtil.js:162 +#, javascript-format +msgid "Ejecting drive “%s” failed:" +msgstr "Не вдалося виштовхнути пристрій «%s»:" + +#: fileItem.js:584 +msgid "Don’t Allow Launching" +msgstr "Не дозволяти запуск" + +#: fileItem.js:586 +msgid "Allow Launching" +msgstr "Дозволяти запуск" + +#: fileItem.js:682 +msgid "Open" +msgstr "Відкрити" + +#: fileItem.js:686 +msgid "Open With Other Application" +msgstr "Відкрити за допомогою іншої програми" + +#: fileItem.js:688 +msgid "Launch using Dedicated Graphics Card" +msgstr "Запустити через відповідну графічну плату" + +#: fileItem.js:693 +msgid "Cut" +msgstr "Вирізати" + +#: fileItem.js:694 +msgid "Copy" +msgstr "Копіювати" + +#: fileItem.js:696 +msgid "Rename…" +msgstr "Перейменувати…" + +#: fileItem.js:697 +msgid "Move to Trash" +msgstr "Пересунути до смітника" + +#: fileItem.js:707 +msgid "Empty Trash" +msgstr "Спорожнити смітник" + +#: fileItem.js:711 +msgid "Eject" +msgstr "Виштовхнути" + +#: fileItem.js:717 +msgid "Properties" +msgstr "Властивості" + +#: fileItem.js:719 +msgid "Show in Files" +msgstr "Показувати у «Файлах»" + +#: fileItem.js:925 +msgid "Home" +msgstr "Домівка" + +#: schemas/org.gnome.shell.extensions.desktop-icons.gschema.xml:11 +msgid "Icon size" +msgstr "Розмір піктограм" + +#: schemas/org.gnome.shell.extensions.desktop-icons.gschema.xml:12 +msgid "Set the size for the desktop icons." +msgstr "Встановити розмір піктограм на стільниці." + +#: schemas/org.gnome.shell.extensions.desktop-icons.gschema.xml:16 +msgid "Show personal folder" +msgstr "Показувати особисту теку" + +#: schemas/org.gnome.shell.extensions.desktop-icons.gschema.xml:17 +msgid "Show the personal folder in the desktop." +msgstr "Показувати особисту теку на стільниці." + +#: schemas/org.gnome.shell.extensions.desktop-icons.gschema.xml:21 +msgid "Show trash icon" +msgstr "Показувати піктограму смітника" + +#: schemas/org.gnome.shell.extensions.desktop-icons.gschema.xml:22 +msgid "Show the trash icon in the desktop." +msgstr "Показувати піктограму смітника на стільниці." + +#: schemas/org.gnome.shell.extensions.desktop-icons.gschema.xml:26 +msgid "Show mounted drives" +msgstr "Показувати змонтовані диски" + +#: schemas/org.gnome.shell.extensions.desktop-icons.gschema.xml:27 +msgid "Show mounted drives in the desktop." +msgstr "Показувати змонтовані диски на стільниці." diff --git a/extensions/desktop-icons/po/zh_CN.po b/extensions/desktop-icons/po/zh_CN.po new file mode 100644 index 00000000..8f2bea44 --- /dev/null +++ b/extensions/desktop-icons/po/zh_CN.po @@ -0,0 +1,228 @@ +# Chinese (China) translation for desktop-icons. +# Copyright (C) 2019 desktop-icons's COPYRIGHT HOLDER +# This file is distributed under the same license as the desktop-icons package. +# Dingzhong Chen , 2019. +# +msgid "" +msgstr "" +"Project-Id-Version: desktop-icons master\n" +"Report-Msgid-Bugs-To: https://gitlab.gnome.org/World/ShellExtensions/desktop-" +"icons/issues\n" +"POT-Creation-Date: 2020-05-26 20:08+0000\n" +"PO-Revision-Date: 2020-06-23 21:51-0400\n" +"Last-Translator: Boyuan Yang <073plan@gmail.com>\n" +"Language-Team: Chinese (China) \n" +"Language: zh_CN\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Poedit 2.3.1\n" +"Plural-Forms: nplurals=1; plural=0;\n" + +#: createFolderDialog.js:46 +msgid "New folder name" +msgstr "新文件夹名称" + +#: createFolderDialog.js:70 +msgid "Create" +msgstr "创建" + +#: createFolderDialog.js:72 +msgid "Cancel" +msgstr "取消" + +#: createFolderDialog.js:145 +msgid "Folder names cannot contain “/”." +msgstr "文件夹名称不能包含“/”。" + +#: createFolderDialog.js:148 +msgid "A folder cannot be called “.”." +msgstr "文件夹不能命名为“.”。" + +#: createFolderDialog.js:151 +msgid "A folder cannot be called “..”." +msgstr "文件夹不能命名为“..”。" + +#: createFolderDialog.js:153 +msgid "Folders with “.” at the beginning of their name are hidden." +msgstr "名称以“.”开头的文件夹将被隐藏。" + +#: createFolderDialog.js:155 +msgid "There is already a file or folder with that name." +msgstr "相同名称的文件夹已存在。" + +#: prefs.js:103 +msgid "Size for the desktop icons" +msgstr "桌面图标大小" + +#: prefs.js:103 +msgid "Small" +msgstr "小" + +#: prefs.js:103 +msgid "Standard" +msgstr "标准" + +#: prefs.js:103 +msgid "Large" +msgstr "大" + +#: prefs.js:104 +msgid "Show the personal folder in the desktop" +msgstr "在桌面上显示个人文件夹" + +#: prefs.js:105 +msgid "Show the trash icon in the desktop" +msgstr "在桌面上显示回收站图标" + +#: prefs.js:106 +msgid "Show mounted drives in the desktop" +msgstr "在桌面上显示已挂载的驱动器" + +#: desktopGrid.js:346 +msgid "New Folder" +msgstr "新建文件夹" + +#: desktopGrid.js:347 +msgid "New Document" +msgstr "新建文档" + +#: desktopGrid.js:350 +msgid "Paste" +msgstr "粘贴" + +#: desktopGrid.js:351 +msgid "Undo" +msgstr "撤消" + +#: desktopGrid.js:352 +msgid "Redo" +msgstr "恢复" + +#: desktopGrid.js:354 +msgid "Show Desktop in Files" +msgstr "在文件管理器中显示桌面" + +#: desktopGrid.js:355 fileItem.js:721 +msgid "Open in Terminal" +msgstr "在终端中打开" + +#: desktopGrid.js:357 +msgid "Change Background…" +msgstr "更换壁纸…" + +#: desktopGrid.js:359 +msgid "Display Settings" +msgstr "显示设置" + +#: desktopGrid.js:360 +msgid "Settings" +msgstr "设置" + +#: desktopGrid.js:692 +msgid "Rename" +msgstr "重命名" + +#: desktopIconsUtil.js:63 +msgid "Command not found" +msgstr "命令未找到" + +#. TRANSLATORS: %s is the filesystem name +#: desktopIconsUtil.js:162 +#, javascript-format +msgid "Ejecting drive “%s” failed:" +msgstr "弹出驱动器“%s”失败:" + +#: fileItem.js:584 +msgid "Don’t Allow Launching" +msgstr "不允许启动" + +#: fileItem.js:586 +msgid "Allow Launching" +msgstr "允许启动" + +#: fileItem.js:682 +msgid "Open" +msgstr "打开" + +#: fileItem.js:686 +msgid "Open With Other Application" +msgstr "用其他应用程序打开" + +#: fileItem.js:688 +msgid "Launch using Dedicated Graphics Card" +msgstr "使用独立显卡启动" + +#: fileItem.js:693 +msgid "Cut" +msgstr "剪除" + +#: fileItem.js:694 +msgid "Copy" +msgstr "复制" + +#: fileItem.js:696 +msgid "Rename…" +msgstr "重命名…" + +#: fileItem.js:697 +msgid "Move to Trash" +msgstr "移到回收站" + +#: fileItem.js:707 +msgid "Empty Trash" +msgstr "清空回收站" + +#: fileItem.js:711 +msgid "Eject" +msgstr "弹出" + +#: fileItem.js:717 +msgid "Properties" +msgstr "属性" + +#: fileItem.js:719 +msgid "Show in Files" +msgstr "在文件管理器中显示" + +#: fileItem.js:925 +msgid "Home" +msgstr "主文件夹" + +#: schemas/org.gnome.shell.extensions.desktop-icons.gschema.xml:11 +msgid "Icon size" +msgstr "图标大小" + +#: schemas/org.gnome.shell.extensions.desktop-icons.gschema.xml:12 +msgid "Set the size for the desktop icons." +msgstr "设定桌面图标的大小。" + +#: schemas/org.gnome.shell.extensions.desktop-icons.gschema.xml:16 +msgid "Show personal folder" +msgstr "显示个人文件夹" + +#: schemas/org.gnome.shell.extensions.desktop-icons.gschema.xml:17 +msgid "Show the personal folder in the desktop." +msgstr "在桌面上显示个人文件夹。" + +#: schemas/org.gnome.shell.extensions.desktop-icons.gschema.xml:21 +msgid "Show trash icon" +msgstr "显示回收站图标" + +#: schemas/org.gnome.shell.extensions.desktop-icons.gschema.xml:22 +msgid "Show the trash icon in the desktop." +msgstr "在桌面上显示回收站图标。" + +#: schemas/org.gnome.shell.extensions.desktop-icons.gschema.xml:26 +msgid "Show mounted drives" +msgstr "显示已挂载的驱动器" + +#: schemas/org.gnome.shell.extensions.desktop-icons.gschema.xml:27 +msgid "Show mounted drives in the desktop." +msgstr "在桌面上显示已挂载的驱动器。" + +#~ msgid "Enter file name…" +#~ msgstr "输入文件名…" + +#~ msgid "OK" +#~ msgstr "确定" diff --git a/extensions/desktop-icons/po/zh_TW.po b/extensions/desktop-icons/po/zh_TW.po new file mode 100644 index 00000000..16fadc48 --- /dev/null +++ b/extensions/desktop-icons/po/zh_TW.po @@ -0,0 +1,220 @@ +# Chinese (Taiwan) translation for desktop-icons. +# Copyright (C) 2018 desktop-icons's COPYRIGHT HOLDER +# This file is distributed under the same license as the desktop-icons package. +# Yi-Jyun Pan , 2018. +# +msgid "" +msgstr "" +"Project-Id-Version: desktop-icons master\n" +"Report-Msgid-Bugs-To: https://gitlab.gnome.org/World/ShellExtensions/desktop-" +"icons/issues\n" +"POT-Creation-Date: 2020-05-14 18:46+0000\n" +"PO-Revision-Date: 2020-05-25 01:21+0800\n" +"Last-Translator: Yi-Jyun Pan \n" +"Language-Team: Chinese (Taiwan) \n" +"Language: zh_TW\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Poedit 2.3.1\n" + +#: createFolderDialog.js:46 +msgid "New folder name" +msgstr "新資料夾名稱" + +#: createFolderDialog.js:70 +msgid "Create" +msgstr "建立" + +#: createFolderDialog.js:72 +msgid "Cancel" +msgstr "取消" + +#: createFolderDialog.js:145 +msgid "Folder names cannot contain “/”." +msgstr "資料夾名稱不能有「/」。" + +#: createFolderDialog.js:148 +msgid "A folder cannot be called “.”." +msgstr "資料夾的名稱不能是「.」。" + +#: createFolderDialog.js:151 +msgid "A folder cannot be called “..”." +msgstr "資料夾的名稱不能是「..」。" + +#: createFolderDialog.js:153 +msgid "Folders with “.” at the beginning of their name are hidden." +msgstr "會隱藏名稱開頭是「.」的資料夾。" + +#: createFolderDialog.js:155 +msgid "There is already a file or folder with that name." +msgstr "已經有同名的檔案或資料夾。" + +#: prefs.js:103 +msgid "Size for the desktop icons" +msgstr "桌面圖示的大小" + +#: prefs.js:103 +msgid "Small" +msgstr "小圖示" + +#: prefs.js:103 +msgid "Standard" +msgstr "標準大小圖示" + +#: prefs.js:103 +msgid "Large" +msgstr "大圖示" + +#: prefs.js:104 +msgid "Show the personal folder in the desktop" +msgstr "在桌面顯示個人資料夾" + +#: prefs.js:105 +msgid "Show the trash icon in the desktop" +msgstr "在桌面顯示垃圾桶圖示" + +#: prefs.js:106 +msgid "Show mounted drives in the desktop" +msgstr "在桌面顯示掛載裝置" + +#: desktopGrid.js:343 +msgid "New Folder" +msgstr "新增資料夾" + +#: desktopGrid.js:345 +msgid "Paste" +msgstr "貼上" + +#: desktopGrid.js:346 +msgid "Undo" +msgstr "復原" + +#: desktopGrid.js:347 +msgid "Redo" +msgstr "重做" + +#: desktopGrid.js:349 +msgid "Show Desktop in Files" +msgstr "在《檔案》中顯示桌面" + +#: desktopGrid.js:350 fileItem.js:702 +msgid "Open in Terminal" +msgstr "在終端器開啟" + +#: desktopGrid.js:352 +msgid "Change Background…" +msgstr "變更背景圖片…" + +#: desktopGrid.js:354 +msgid "Display Settings" +msgstr "顯示設定" + +#: desktopGrid.js:355 +msgid "Settings" +msgstr "設定" + +#: desktopGrid.js:653 +msgid "Rename" +msgstr "重新命名" + +#: desktopIconsUtil.js:63 +msgid "Command not found" +msgstr "找不到命令" + +#. TRANSLATORS: %s is the filesystem name +#: desktopIconsUtil.js:162 +#, javascript-format +msgid "Ejecting drive “%s” failed:" +msgstr "退出「%s」裝置失敗:" + +#: fileItem.js:565 +msgid "Don’t Allow Launching" +msgstr "不允許啟動" + +#: fileItem.js:567 +msgid "Allow Launching" +msgstr "允許啟動" + +#: fileItem.js:663 +msgid "Open" +msgstr "開啟" + +#: fileItem.js:667 +msgid "Open With Other Application" +msgstr "以其他應用程式開啟" + +#: fileItem.js:669 +msgid "Launch using Dedicated Graphics Card" +msgstr "使用獨立圖形卡啟動" + +#: fileItem.js:674 +msgid "Cut" +msgstr "剪下" + +#: fileItem.js:675 +msgid "Copy" +msgstr "複製" + +#: fileItem.js:677 +msgid "Rename…" +msgstr "重新命名…" + +#: fileItem.js:678 +msgid "Move to Trash" +msgstr "移動到垃圾桶" + +#: fileItem.js:688 +msgid "Empty Trash" +msgstr "清空垃圾桶" + +#: fileItem.js:692 +msgid "Eject" +msgstr "退出" + +#: fileItem.js:698 +msgid "Properties" +msgstr "屬性" + +#: fileItem.js:700 +msgid "Show in Files" +msgstr "在《檔案》中顯示" + +#: fileItem.js:906 +msgid "Home" +msgstr "首頁" + +#: schemas/org.gnome.shell.extensions.desktop-icons.gschema.xml:11 +msgid "Icon size" +msgstr "圖示大小" + +#: schemas/org.gnome.shell.extensions.desktop-icons.gschema.xml:12 +msgid "Set the size for the desktop icons." +msgstr "設定桌面圖示的大小。" + +#: schemas/org.gnome.shell.extensions.desktop-icons.gschema.xml:16 +msgid "Show personal folder" +msgstr "顯示個人資料夾" + +#: schemas/org.gnome.shell.extensions.desktop-icons.gschema.xml:17 +msgid "Show the personal folder in the desktop." +msgstr "在桌面顯示個人資料夾。" + +#: schemas/org.gnome.shell.extensions.desktop-icons.gschema.xml:21 +msgid "Show trash icon" +msgstr "顯示垃圾桶圖示" + +#: schemas/org.gnome.shell.extensions.desktop-icons.gschema.xml:22 +msgid "Show the trash icon in the desktop." +msgstr "在桌面顯示垃圾桶圖示。" + +#: schemas/org.gnome.shell.extensions.desktop-icons.gschema.xml:26 +msgid "Show mounted drives" +msgstr "顯示掛載裝置" + +#: schemas/org.gnome.shell.extensions.desktop-icons.gschema.xml:27 +msgid "Show mounted drives in the desktop." +msgstr "在桌面顯示掛載裝置。" + +#~ msgid "Huge" +#~ msgstr "巨大圖示" diff --git a/extensions/desktop-icons/prefs.js b/extensions/desktop-icons/prefs.js new file mode 100644 index 00000000..890bcdb4 --- /dev/null +++ b/extensions/desktop-icons/prefs.js @@ -0,0 +1,161 @@ + +/* Desktop Icons GNOME Shell extension + * + * Copyright (C) 2017 Carlos Soriano + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +const Gtk = imports.gi.Gtk; +const GObject = imports.gi.GObject; +const Gio = imports.gi.Gio; +const GioSSS = Gio.SettingsSchemaSource; +const ExtensionUtils = imports.misc.extensionUtils; +const Gettext = imports.gettext; + +const Config = imports.misc.config; + +var _ = Gettext.domain('gnome-shell-extensions').gettext; + +const SCHEMA_NAUTILUS = 'org.gnome.nautilus.preferences'; +const SCHEMA_GTK = 'org.gtk.Settings.FileChooser'; +const SCHEMA = 'org.gnome.shell.extensions.desktop-icons'; + +const ICON_SIZE = { 'small': 48, 'standard': 64, 'large': 96 }; +const ICON_WIDTH = { 'small': 108, 'standard': 116, 'large': 116 }; +const ICON_HEIGHT = { 'small': 86, 'standard': 102, 'large': 134 }; + +var FileType = { + NONE: null, + USER_DIRECTORY_HOME: 'show-home', + USER_DIRECTORY_TRASH: 'show-trash', + MOUNT_DISK: 'mount-disk', +} + +var nautilusSettings; +var gtkSettings; +var settings; +// This is already in Nautilus settings, so it should not be made tweakable here +var CLICK_POLICY_SINGLE = false; + +function initTranslations() { + let extension = ExtensionUtils.getCurrentExtension(); + + let localedir = extension.dir.get_child('locale'); + if (localedir.query_exists(null)) + Gettext.bindtextdomain('gnome-shell-extensions', localedir.get_path()); + else + Gettext.bindtextdomain('gnome-shell-extensions', Config.LOCALEDIR); +} + +function init() { + let schemaSource = GioSSS.get_default(); + let schemaGtk = schemaSource.lookup(SCHEMA_GTK, true); + gtkSettings = new Gio.Settings({ settings_schema: schemaGtk }); + let schemaObj = schemaSource.lookup(SCHEMA_NAUTILUS, true); + if (!schemaObj) { + nautilusSettings = null; + } else { + nautilusSettings = new Gio.Settings({ settings_schema: schemaObj });; + nautilusSettings.connect('changed', _onNautilusSettingsChanged); + _onNautilusSettingsChanged(); + } + settings = get_schema(SCHEMA); +} + +function get_schema(schema) { + let extension = ExtensionUtils.getCurrentExtension(); + + // check if this extension was built with "make zip-file", and thus + // has the schema files in a subfolder + // otherwise assume that extension has been installed in the + // same prefix as gnome-shell (and therefore schemas are available + // in the standard folders) + let schemaDir = extension.dir.get_child('schemas'); + let schemaSource; + if (schemaDir.query_exists(null)) + schemaSource = GioSSS.new_from_directory(schemaDir.get_path(), GioSSS.get_default(), false); + else + schemaSource = GioSSS.get_default(); + + let schemaObj = schemaSource.lookup(schema, true); + if (!schemaObj) + throw new Error('Schema ' + schema + ' could not be found for extension ' + extension.metadata.uuid + '. Please check your installation.'); + + return new Gio.Settings({ settings_schema: schemaObj }); +} + +function buildPrefsWidget() { + initTranslations(); + let frame = new Gtk.Box({ orientation: Gtk.Orientation.VERTICAL, border_width: 10, spacing: 10 }); + + frame.add(buildSelector('icon-size', _("Size for the desktop icons"), { 'small': _("Small"), 'standard': _("Standard"), 'large': _("Large") })); + frame.add(buildSwitcher('show-home', _("Show the personal folder in the desktop"))); + frame.add(buildSwitcher('show-trash', _("Show the trash icon in the desktop"))); + frame.add(buildSwitcher('show-mount', _("Show mounted drives in the desktop"))); + frame.show_all(); + return frame; +} + +function buildSwitcher(key, labelText) { + let hbox = new Gtk.Box({ orientation: Gtk.Orientation.HORIZONTAL, spacing: 10 }); + let label = new Gtk.Label({ label: labelText, xalign: 0 }); + let switcher = new Gtk.Switch({ active: settings.get_boolean(key) }); + settings.bind(key, switcher, 'active', 3); + hbox.pack_start(label, true, true, 0); + hbox.add(switcher); + return hbox; +} + +function buildSelector(key, labelText, elements) { + let listStore = new Gtk.ListStore(); + listStore.set_column_types ([GObject.TYPE_STRING, GObject.TYPE_STRING]); + let schemaKey = settings.settings_schema.get_key(key); + let values = schemaKey.get_range().get_child_value(1).get_child_value(0).get_strv(); + for (let val of values) { + let iter = listStore.append(); + let visibleText = val; + if (visibleText in elements) + visibleText = elements[visibleText]; + listStore.set (iter, [0, 1], [visibleText, val]); + } + let hbox = new Gtk.Box({ orientation: Gtk.Orientation.HORIZONTAL, spacing: 10 }); + let label = new Gtk.Label({ label: labelText, xalign: 0 }); + let combo = new Gtk.ComboBox({model: listStore}); + let rendererText = new Gtk.CellRendererText(); + combo.pack_start (rendererText, false); + combo.add_attribute (rendererText, 'text', 0); + combo.set_id_column(1); + settings.bind(key, combo, 'active-id', 3); + hbox.pack_start(label, true, true, 0); + hbox.add(combo); + return hbox; +} + +function _onNautilusSettingsChanged() { + CLICK_POLICY_SINGLE = nautilusSettings.get_string('click-policy') == 'single'; +} + +function get_icon_size() { + // this one doesn't need scaling because Gnome Shell automagically scales the icons + return ICON_SIZE[settings.get_string('icon-size')]; +} + +function getDesiredWidth(scale_factor, margin) { + return (ICON_WIDTH[settings.get_string('icon-size')] + margin) * scale_factor; +} + +function getDesiredHeight(scale_factor, margin) { + return (ICON_HEIGHT[settings.get_string('icon-size')] + margin) * scale_factor; +} diff --git a/extensions/desktop-icons/schemas/meson.build b/extensions/desktop-icons/schemas/meson.build new file mode 100644 index 00000000..2b179165 --- /dev/null +++ b/extensions/desktop-icons/schemas/meson.build @@ -0,0 +1,6 @@ +gnome.compile_schemas() + +install_data( + 'org.gnome.shell.extensions.desktop-icons.gschema.xml', + install_dir : schema_dir +) diff --git a/extensions/desktop-icons/schemas/org.gnome.shell.extensions.desktop-icons.gschema.xml b/extensions/desktop-icons/schemas/org.gnome.shell.extensions.desktop-icons.gschema.xml new file mode 100644 index 00000000..de126b5b --- /dev/null +++ b/extensions/desktop-icons/schemas/org.gnome.shell.extensions.desktop-icons.gschema.xml @@ -0,0 +1,30 @@ + + + + + + + + + + 'standard' + Icon size + Set the size for the desktop icons. + + + true + Show personal folder + Show the personal folder in the desktop. + + + true + Show trash icon + Show the trash icon in the desktop. + + + true + Show mounted drives + Show mounted drives in the desktop. + + + diff --git a/extensions/desktop-icons/stylesheet.css b/extensions/desktop-icons/stylesheet.css new file mode 100644 index 00000000..61b4ce86 --- /dev/null +++ b/extensions/desktop-icons/stylesheet.css @@ -0,0 +1,42 @@ +.file-item { + padding: 4px; + border: 1px; + margin: 1px; +} + +.file-item:hover { + background-color: rgba(238, 238, 238, 0.2); +} + +.name-label { + text-shadow: 1px 1px black; + color: white; + text-align: center; +} + +.draggable { + background-color: red; +} + +.rename-popup { + min-width: 300px; + margin: 6px; +} + +.rename-popup .rename-popup-item { + spacing: 6px; +} +.rename-popup .rename-popup-item:ltr, +.rename-popup .rename-popup-item:rtl { + padding: 0, 12px; +} + +.create-folder-dialog-entry { + width: 20em; + margin-bottom: 6px; +} + +.create-folder-dialog-error-box { + padding-top: 16px; + spacing: 6px; +} diff --git a/extensions/desktop-icons/templateManager.js b/extensions/desktop-icons/templateManager.js new file mode 100644 index 00000000..a468f4ab --- /dev/null +++ b/extensions/desktop-icons/templateManager.js @@ -0,0 +1,104 @@ +/* DING: Desktop Icons New Generation for GNOME Shell + * + * Copyright (C) 2020 Sergio Costas (rastersoft@gmail.com) + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, version 3 of the License. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +const Gio = imports.gi.Gio; +const GLib = imports.gi.GLib; + +const ExtensionUtils = imports.misc.extensionUtils; +const Me = ExtensionUtils.getCurrentExtension(); +const DesktopIconsUtil = Me.imports.desktopIconsUtil; + +var TemplateManager = class { + + constructor() { + this._templates = []; + this._templatesEnumerateCancellable = null; + this._templateDir = GLib.get_user_special_dir(GLib.UserDirectory.DIRECTORY_TEMPLATES); + if (this._templateDir == GLib.get_home_dir()) + this._templateDir = null; + this.updated = true; + if (this._templateDir != null) { + this._templateGFile = Gio.File.new_for_path(this._templateDir); + this._monitor = this._templateGFile.monitor_directory(Gio.FileMonitorFlags.NONE, null); + this._monitorId = this._monitor.connect("changed", () => { + this._refreshTemplates(); + }); + this._refreshTemplates(); + } else { + this._templateGFile = null; + this._monitorId = null; + } + } + + destroy() { + if (this._monitorId) + this._monitor.disconnect(this._monitorId); + this._monitorId = null; + } + + getTemplates() { + let templates = []; + for(let template of this._templates) { + let data = {}; + data["icon"] = template.get_icon(); + let name = template.get_name(); + let offset = DesktopIconsUtil.getFileExtensionOffset(name, false); + data["name"] = name.substring(0, offset); + data["extension"] = name.substring(offset); + data["file"] = name; + templates.push(data); + } + this.updated = false; + return templates; + } + + _refreshTemplates() { + if (this._templatesEnumerateCancellable) + this._templatesEnumerateCancellable.cancel(); + this._templatesEnumerateCancellable = new Gio.Cancellable(); + this._templateGFile.enumerate_children_async( + DesktopIconsUtil.DEFAULT_ATTRIBUTES, + Gio.FileQueryInfoFlags.NONE, + GLib.PRIORITY_DEFAULT, + this._templatesEnumerateCancellable, + (source, result) => { + try { + let fileEnum = source.enumerate_children_finish(result); + this._templates = []; + let info; + while ((info = fileEnum.next_file(null))) { + if (info.get_file_type() != Gio.FileType.DIRECTORY) + this._templates.push(info); + } + this.updated = true; + } catch(e) { + global.log(`Exception while reading templates ${e}`); + } + } + ); + } + + getTemplateFile(name) { + if (this._templateGFile == null) + return null; + let template = Gio.File.new_for_path(GLib.build_filenamev([this._templateDir, name])); + if (template.query_exists(null)) + return template; + else + return null; + } +} diff --git a/meson.build b/meson.build index c609ae52..b83f0795 100644 --- a/meson.build +++ b/meson.build @@ -28,6 +28,7 @@ uuid_suffix = '@gnome-shell-extensions.gcampax.github.com' classic_extensions = [ 'apps-menu', + 'desktop-icons', 'places-menu', 'launch-new-instance', 'window-list' diff --git a/po/ca.po b/po/ca.po index d17003f9..8e21b717 100644 --- a/po/ca.po +++ b/po/ca.po @@ -1,11 +1,18 @@ +# #-#-#-#-# ca.po (gnome-shell-extensions) #-#-#-#-# # Catalan translation for gnome-shell-extensions. # Copyright (C) 2011 gnome-shell-extensions's COPYRIGHT HOLDER # This file is distributed under the same license as the gnome-shell-extensions package. # Jordi Mas i Hernandez , 2011. # Gil Forcada , 2012, 2013, 2014. # +# #-#-#-#-# ca.po (1.0) #-#-#-#-# +# This file is distributed under the same license as the PACKAGE package. +# Jordi Mas i Hernandez , 2019-2020 +# +#, fuzzy msgid "" msgstr "" +"#-#-#-#-# ca.po (gnome-shell-extensions) #-#-#-#-#\n" "Project-Id-Version: gnome-shell-extensions\n" "Report-Msgid-Bugs-To: https://gitlab.gnome.org/GNOME/gnome-shell-extensions/" "issues\n" @@ -18,6 +25,19 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n != 1;\n" +"#-#-#-#-# ca.po (1.0) #-#-#-#-#\n" +"Project-Id-Version: 1.0\n" +"Report-Msgid-Bugs-To: https://gitlab.gnome.org/World/ShellExtensions/desktop-" +"icons/issues\n" +"POT-Creation-Date: 2020-05-26 20:08+0000\n" +"PO-Revision-Date: 2019-07-22 10:24+0200\n" +"Last-Translator: Jordi Mas \n" +"Language-Team: Catalan \n" +"Language: ca\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Poedit 2.2.1\n" #: data/gnome-classic.desktop.in:3 data/gnome-classic.session.desktop.in:3 msgid "GNOME Classic" @@ -58,7 +78,7 @@ msgstr "Afegeix una regla" #. TRANSLATORS: %s is the filesystem name #: extensions/drive-menu/extension.js:112 -#: extensions/places-menu/placeDisplay.js:233 +#: extensions/places-menu/placeDisplay.js:233 desktopIconsUtil.js:162 #, javascript-format msgid "Ejecting drive “%s” failed:" msgstr "Ha fallat l'expulsió de la unitat «%s»:" @@ -81,10 +101,10 @@ msgid "" "aspect ratio, and consolidating them further to reduce the bounding box. " "This setting applies only with the natural placement strategy." msgstr "" -"Intenta utilitzar més espai de la pantalla per a posicionar les miniatures de " -"les finestres adaptant-les a la ràtio d'aspecte de la pantalla, consolidant-" -"les més per a reduir la caixa que les envolta. Aquest paràmetre de " -"configuració només s'aplica a l'estratègia de posicionament de finestres " +"Intenta utilitzar més espai de la pantalla per a posicionar les miniatures " +"de les finestres adaptant-les a la ràtio d'aspecte de la pantalla, " +"consolidant-les més per a reduir la caixa que les envolta. Aquest paràmetre " +"de configuració només s'aplica a l'estratègia de posicionament de finestres " "natural." #: extensions/native-window-placement/org.gnome.shell.extensions.native-window-placement.gschema.xml:11 @@ -122,7 +142,7 @@ msgstr "No s'ha pogut muntar el volum «%s»" msgid "Computer" msgstr "Ordinador" -#: extensions/places-menu/placeDisplay.js:359 +#: extensions/places-menu/placeDisplay.js:359 fileItem.js:925 msgid "Home" msgstr "Inici" @@ -264,3 +284,194 @@ msgstr "Espai de treball %d" msgid "Add Workspace" msgstr "Afegeix un espai de treball" +#: createFolderDialog.js:46 +msgid "New folder name" +msgstr "Nom de la carpeta nova" + +#: createFolderDialog.js:70 +msgid "Create" +msgstr "Crea" + +#: createFolderDialog.js:72 +msgid "Cancel" +msgstr "Cancel·la" + +#: createFolderDialog.js:145 +msgid "Folder names cannot contain “/”." +msgstr "Els noms de carpetes no poden contenir «/»." + +#: createFolderDialog.js:148 +msgid "A folder cannot be called “.”." +msgstr "Una carpeta no es pot anomenar «.»." + +#: createFolderDialog.js:151 +msgid "A folder cannot be called “..”." +msgstr "Una carpeta no es pot anomenar «..»." + +#: createFolderDialog.js:153 +msgid "Folders with “.” at the beginning of their name are hidden." +msgstr "Les carpetes amb un «.» a l'inici del seu nom s'amaguen." + +#: createFolderDialog.js:155 +msgid "There is already a file or folder with that name." +msgstr "Ja existeix un fitxer o carpeta amb aquest nom." + +#: prefs.js:103 +msgid "Size for the desktop icons" +msgstr "Mida de les icones d'escriptori" + +#: prefs.js:103 +msgid "Small" +msgstr "Petita" + +#: prefs.js:103 +msgid "Standard" +msgstr "Estàndard" + +#: prefs.js:103 +msgid "Large" +msgstr "Gran" + +#: prefs.js:104 +msgid "Show the personal folder in the desktop" +msgstr "Mostra la carpeta personal a l'escriptori" + +#: prefs.js:105 +msgid "Show the trash icon in the desktop" +msgstr "Mostra la icona de la paperera a l'escriptori" + +#: prefs.js:106 +msgid "Show mounted drives in the desktop" +msgstr "Mostra les unitats muntades a l'escriptori" + +#: desktopGrid.js:346 +msgid "New Folder" +msgstr "Carpeta nova" + +#: desktopGrid.js:347 +msgid "New Document" +msgstr "Document nou" + +#: desktopGrid.js:350 +msgid "Paste" +msgstr "Enganxa" + +#: desktopGrid.js:351 +msgid "Undo" +msgstr "Desfés" + +#: desktopGrid.js:352 +msgid "Redo" +msgstr "Refés" + +#: desktopGrid.js:354 +msgid "Show Desktop in Files" +msgstr "Mostra l'escriptori al Fitxers" + +#: desktopGrid.js:355 fileItem.js:721 +msgid "Open in Terminal" +msgstr "Obre al Terminal" + +#: desktopGrid.js:357 +msgid "Change Background…" +msgstr "Canvia el fons de l'escriptori…" + +#: desktopGrid.js:359 +msgid "Display Settings" +msgstr "Paràmetres de la pantalla" + +#: desktopGrid.js:360 +msgid "Settings" +msgstr "Paràmetres" + +#: desktopGrid.js:692 +msgid "Rename" +msgstr "Canvia el nom" + +#: desktopIconsUtil.js:63 +msgid "Command not found" +msgstr "No s'ha trobat l'ordre" + +#: fileItem.js:584 +msgid "Don’t Allow Launching" +msgstr "No permetis que s'iniciï" + +#: fileItem.js:586 +msgid "Allow Launching" +msgstr "Permet que s'iniciï" + +#: fileItem.js:682 +msgid "Open" +msgstr "Obre" + +#: fileItem.js:686 +msgid "Open With Other Application" +msgstr "Obre amb una altra aplicació" + +#: fileItem.js:688 +msgid "Launch using Dedicated Graphics Card" +msgstr "Llança usant la targeta gràfica dedicada" + +#: fileItem.js:693 +msgid "Cut" +msgstr "Retalla" + +#: fileItem.js:694 +msgid "Copy" +msgstr "Copia" + +#: fileItem.js:696 +msgid "Rename…" +msgstr "Canvia el nom…" + +#: fileItem.js:697 +msgid "Move to Trash" +msgstr "Mou a la paperera" + +#: fileItem.js:707 +msgid "Empty Trash" +msgstr "Buida la paperera" + +#: fileItem.js:711 +msgid "Eject" +msgstr "Expulsa" + +#: fileItem.js:717 +msgid "Properties" +msgstr "Propietats" + +#: fileItem.js:719 +msgid "Show in Files" +msgstr "Mostra al Fitxers" + +#: schemas/org.gnome.shell.extensions.desktop-icons.gschema.xml:11 +msgid "Icon size" +msgstr "Mida d'icona" + +#: schemas/org.gnome.shell.extensions.desktop-icons.gschema.xml:12 +msgid "Set the size for the desktop icons." +msgstr "Estableix la mida per les icones de l'escriptori." + +#: schemas/org.gnome.shell.extensions.desktop-icons.gschema.xml:16 +msgid "Show personal folder" +msgstr "Mostra la carpeta personal" + +#: schemas/org.gnome.shell.extensions.desktop-icons.gschema.xml:17 +msgid "Show the personal folder in the desktop." +msgstr "Mostra la carpeta personal a l'escriptori." + +#: schemas/org.gnome.shell.extensions.desktop-icons.gschema.xml:21 +msgid "Show trash icon" +msgstr "Mostra la icona de la paperera" + +#: schemas/org.gnome.shell.extensions.desktop-icons.gschema.xml:22 +msgid "Show the trash icon in the desktop." +msgstr "Mostra la icona de la paperera a l'escriptori." + +#: schemas/org.gnome.shell.extensions.desktop-icons.gschema.xml:26 +msgid "Show mounted drives" +msgstr "Mostra les unitats muntades" + +#: schemas/org.gnome.shell.extensions.desktop-icons.gschema.xml:27 +msgid "Show mounted drives in the desktop." +msgstr "Mostra la icona de la paperera a l'escriptori." diff --git a/po/cs.po b/po/cs.po index 572b3787..f0d57b72 100644 --- a/po/cs.po +++ b/po/cs.po @@ -1,4 +1,5 @@ # #-#-#-#-# cs.po (gnome-shell-extensions) #-#-#-#-# +# #-#-#-#-# cs.po (gnome-shell-extensions) #-#-#-#-# # Czech translation for gnome-shell-extensions. # Copyright (C) 2011 gnome-shell-extensions's COPYRIGHT HOLDER # This file is distributed under the same license as the gnome-shell-extensions package. @@ -11,10 +12,18 @@ # This file is distributed under the same license as the dash-to-dock package. # Jiří Doubravský , 2015. # +# #-#-#-#-# cs.po (desktop-icons master) #-#-#-#-# +# Czech translation for desktop-icons. +# Copyright (C) 2018 desktop-icons's COPYRIGHT HOLDER +# This file is distributed under the same license as the desktop-icons package. +# Marek Černocký , 2018. +# Milan Zink , 2018. +# #, fuzzy msgid "" msgstr "" "#-#-#-#-# cs.po (gnome-shell-extensions) #-#-#-#-#\n" +"#-#-#-#-# cs.po (gnome-shell-extensions) #-#-#-#-#\n" "Project-Id-Version: gnome-shell-extensions\n" "Report-Msgid-Bugs-To: https://gitlab.gnome.org/GNOME/gnome-shell-extensions/" "issues\n" @@ -41,6 +50,20 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "X-Generator: Poedit 2.3\n" "Plural-Forms: nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2;\n" +"#-#-#-#-# cs.po (desktop-icons master) #-#-#-#-#\n" +"Project-Id-Version: desktop-icons master\n" +"Report-Msgid-Bugs-To: https://gitlab.gnome.org/World/ShellExtensions/desktop-" +"icons/issues\n" +"POT-Creation-Date: 2020-05-26 20:08+0000\n" +"PO-Revision-Date: 2020-06-16 14:22+0200\n" +"Last-Translator: Daniel Rusek \n" +"Language-Team: Czech \n" +"Language: cs\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2;\n" +"X-Generator: Poedit 2.3.1\n" #: data/gnome-classic.desktop.in:3 data/gnome-classic.session.desktop.in:3 msgid "GNOME Classic" @@ -80,10 +103,14 @@ msgstr "Přidat pravidlo" #. TRANSLATORS: %s is the filesystem name #: extensions/drive-menu/extension.js:112 -#: extensions/places-menu/placeDisplay.js:233 -#, javascript-format +#: extensions/places-menu/placeDisplay.js:233 desktopIconsUtil.js:162 +#, fuzzy, javascript-format msgid "Ejecting drive “%s” failed:" -msgstr "Vysunutí disku „%s“ selhalo:" +msgstr "" +"#-#-#-#-# cs.po (gnome-shell-extensions) #-#-#-#-#\n" +"Vysunutí disku „%s“ selhalo:\n" +"#-#-#-#-# cs.po (desktop-icons master) #-#-#-#-#\n" +"Vysunutí svazku „%s“ selhalo:" #: extensions/drive-menu/extension.js:128 msgid "Removable devices" @@ -141,7 +168,7 @@ msgstr "Selhalo připojení svazku pro „%s“" msgid "Computer" msgstr "Počítač" -#: extensions/places-menu/placeDisplay.js:359 +#: extensions/places-menu/placeDisplay.js:359 fileItem.js:925 msgid "Home" msgstr "Domů" @@ -340,7 +367,7 @@ msgstr "%s Dash to Docku" msgid "Trash" msgstr "Koš" -#: locations.js:74 +#: locations.js:74 fileItem.js:707 msgid "Empty Trash" msgstr "Vyprázdnit koš" @@ -348,7 +375,7 @@ msgstr "Vyprázdnit koš" msgid "Mount" msgstr "Připojit" -#: locations.js:235 +#: locations.js:235 fileItem.js:711 msgid "Eject" msgstr "Vysunout" @@ -800,6 +827,190 @@ msgstr "Prodleva při zobrazení (s)" msgid "Pressure threshold" msgstr "Míra tlaku (px)" +#: createFolderDialog.js:46 +msgid "New folder name" +msgstr "Název nové složky" + +#: createFolderDialog.js:70 +msgid "Create" +msgstr "Vytvořit" + +#: createFolderDialog.js:72 +msgid "Cancel" +msgstr "Zrušit" + +#: createFolderDialog.js:145 +msgid "Folder names cannot contain “/”." +msgstr "Názvy složek nesmí obsahovat „/“." + +#: createFolderDialog.js:148 +msgid "A folder cannot be called “.”." +msgstr "Složka se nemůže jmenovat „.“." + +#: createFolderDialog.js:151 +msgid "A folder cannot be called “..”." +msgstr "Složka se nemůže jmenovat „..“." + +#: createFolderDialog.js:153 +msgid "Folders with “.” at the beginning of their name are hidden." +msgstr "Složky s „.“ na začátku jejich názvu jsou skryty." + +#: createFolderDialog.js:155 +msgid "There is already a file or folder with that name." +msgstr "Soubor nebo složka s tímto názvem již existuje." + +#: prefs.js:103 +msgid "Size for the desktop icons" +msgstr "Velikost ikon na pracovní ploše" + +#: prefs.js:103 +msgid "Small" +msgstr "malé" + +#: prefs.js:103 +msgid "Standard" +msgstr "standardní" + +#: prefs.js:103 +msgid "Large" +msgstr "velké" + +#: prefs.js:104 +msgid "Show the personal folder in the desktop" +msgstr "Zobrazovat osobní složku na pracovní ploše" + +#: prefs.js:105 +msgid "Show the trash icon in the desktop" +msgstr "Zobrazovat ikonu koše na pracovní ploše" + +#: prefs.js:106 +msgid "Show mounted drives in the desktop" +msgstr "Zobrazovat připojené svazky na pracovní ploše" + +#: desktopGrid.js:346 +msgid "New Folder" +msgstr "Nová složka" + +#: desktopGrid.js:347 +msgid "New Document" +msgstr "Nový dokument" + +#: desktopGrid.js:350 +msgid "Paste" +msgstr "Vložit" + +#: desktopGrid.js:351 +msgid "Undo" +msgstr "Zpět" + +#: desktopGrid.js:352 +msgid "Redo" +msgstr "Znovu" + +#: desktopGrid.js:354 +msgid "Show Desktop in Files" +msgstr "Zobrazit plochu v Souborech" + +#: desktopGrid.js:355 fileItem.js:721 +msgid "Open in Terminal" +msgstr "Otevřít v terminálu" + +#: desktopGrid.js:357 +msgid "Change Background…" +msgstr "Změnit pozadí…" + +#: desktopGrid.js:359 +msgid "Display Settings" +msgstr "Nastavení zobrazení" + +#: desktopGrid.js:360 +msgid "Settings" +msgstr "Nastavení" + +#: desktopGrid.js:692 +msgid "Rename" +msgstr "Přejmenovat" + +#: desktopIconsUtil.js:63 +msgid "Command not found" +msgstr "Příkaz nebyl nalezen" + +#: fileItem.js:584 +msgid "Don’t Allow Launching" +msgstr "Nepovolit spouštění" + +#: fileItem.js:586 +msgid "Allow Launching" +msgstr "Povolit spouštění" + +#: fileItem.js:682 +msgid "Open" +msgstr "Otevřít" + +#: fileItem.js:686 +msgid "Open With Other Application" +msgstr "Otevřít pomocí jiné aplikace" + +#: fileItem.js:688 +msgid "Launch using Dedicated Graphics Card" +msgstr "Spustit pomocí vyhrazené grafické karty" + +#: fileItem.js:693 +msgid "Cut" +msgstr "Vyjmout" + +#: fileItem.js:694 +msgid "Copy" +msgstr "Kopírovat" + +#: fileItem.js:696 +msgid "Rename…" +msgstr "Přejmenovat…" + +#: fileItem.js:697 +msgid "Move to Trash" +msgstr "Přesunout do koše" + +#: fileItem.js:717 +msgid "Properties" +msgstr "Vlastnosti" + +#: fileItem.js:719 +msgid "Show in Files" +msgstr "Zobrazit v Souborech" + +#: schemas/org.gnome.shell.extensions.desktop-icons.gschema.xml:11 +msgid "Icon size" +msgstr "Velikost ikon" + +#: schemas/org.gnome.shell.extensions.desktop-icons.gschema.xml:12 +msgid "Set the size for the desktop icons." +msgstr "Nastavit velikost pro ikony na pracovní ploše." + +#: schemas/org.gnome.shell.extensions.desktop-icons.gschema.xml:16 +msgid "Show personal folder" +msgstr "Zobrazovat osobní složku" + +#: schemas/org.gnome.shell.extensions.desktop-icons.gschema.xml:17 +msgid "Show the personal folder in the desktop." +msgstr "Zobrazovat osobní složku na pracovní ploše." + +#: schemas/org.gnome.shell.extensions.desktop-icons.gschema.xml:21 +msgid "Show trash icon" +msgstr "Zobrazovat koš" + +#: schemas/org.gnome.shell.extensions.desktop-icons.gschema.xml:22 +msgid "Show the trash icon in the desktop." +msgstr "Zobrazovat ikonu koše na pracovní ploše." + +#: schemas/org.gnome.shell.extensions.desktop-icons.gschema.xml:26 +msgid "Show mounted drives" +msgstr "Zobrazovat připojené svazky" + +#: schemas/org.gnome.shell.extensions.desktop-icons.gschema.xml:27 +msgid "Show mounted drives in the desktop." +msgstr "Zobrazovat připojené svazky na pracovní ploše." + #~ msgid "Show a dot for each windows of the application." #~ msgstr "Zobrazit u ikon tečku indikující každé otevřené okno aplikace" @@ -808,3 +1019,15 @@ msgstr "Míra tlaku (px)" #~ msgid "Adaptive" #~ msgstr "Adaptivní" + +#~ msgid "Enter file name…" +#~ msgstr "Zadejte název souboru…" + +#~ msgid "OK" +#~ msgstr "Budiž" + +#~ msgid "Huge" +#~ msgstr "obrovské" + +#~ msgid "Ok" +#~ msgstr "Ok" diff --git a/po/da.po b/po/da.po index bc592f02..4bd6d2fe 100644 --- a/po/da.po +++ b/po/da.po @@ -1,3 +1,4 @@ +# #-#-#-#-# da.po (gnome-shell-extensions master) #-#-#-#-# # Danish translation for gnome-shell-extensions. # Copyright (C) 2011-2017 gnome-shell-extensions's COPYRIGHT HOLDER # This file is distributed under the same license as the gnome-shell-extensions package. @@ -6,8 +7,16 @@ # Ask Hjorth Larsen , 2015, 2017. # Joe Hansen , 2017. # +# #-#-#-#-# da.po (desktop-icons master) #-#-#-#-# +# Danish translation for desktop-icons. +# Copyright (C) 2018 desktop-icons's COPYRIGHT HOLDER +# This file is distributed under the same license as the desktop-icons package. +# Alan Mortensen , 2018. +# scootergrisen, 2020. +#, fuzzy msgid "" msgstr "" +"#-#-#-#-# da.po (gnome-shell-extensions master) #-#-#-#-#\n" "Project-Id-Version: gnome-shell-extensions master\n" "Report-Msgid-Bugs-To: https://gitlab.gnome.org/GNOME/gnome-shell-extensions/" "issues\n" @@ -21,6 +30,19 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" "X-Generator: Poedit 2.3\n" +"#-#-#-#-# da.po (desktop-icons master) #-#-#-#-#\n" +"Project-Id-Version: desktop-icons master\n" +"Report-Msgid-Bugs-To: https://gitlab.gnome.org/World/ShellExtensions/desktop-" +"icons/issues\n" +"POT-Creation-Date: 2020-05-26 20:08+0000\n" +"PO-Revision-Date: 2020-10-10 00:00+0200\n" +"Last-Translator: scootergrisen\n" +"Language-Team: Danish \n" +"Language: da\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" #: data/gnome-classic.desktop.in:3 data/gnome-classic.session.desktop.in:3 msgid "GNOME Classic" @@ -58,9 +80,12 @@ msgstr "Regler for arbejdsområde" msgid "Add Rule" msgstr "Tilføj regel" +#. #-#-#-#-# da.po (gnome-shell-extensions master) #-#-#-#-# #. TRANSLATORS: %s is the filesystem name +#. #-#-#-#-# da.po (desktop-icons master) #-#-#-#-# +#. TRANSLATORS: %s is the filesystem name #: extensions/drive-menu/extension.js:112 -#: extensions/places-menu/placeDisplay.js:233 +#: extensions/places-menu/placeDisplay.js:233 desktopIconsUtil.js:162 #, javascript-format msgid "Ejecting drive “%s” failed:" msgstr "Udskubning af drevet “%s” mislykkedes:" @@ -123,7 +148,7 @@ msgstr "Kunne ikke montere diskenhed for “%s”" msgid "Computer" msgstr "Computer" -#: extensions/places-menu/placeDisplay.js:359 +#: extensions/places-menu/placeDisplay.js:359 fileItem.js:925 msgid "Home" msgstr "Hjem" @@ -263,6 +288,202 @@ msgstr "Arbejdsområde %d" msgid "Add Workspace" msgstr "Tilføj arbejdsområde" +#: createFolderDialog.js:46 +msgid "New folder name" +msgstr "Nyt mappenavn" + +#: createFolderDialog.js:70 +msgid "Create" +msgstr "Opret" + +#: createFolderDialog.js:72 +msgid "Cancel" +msgstr "Annullér" + +#: createFolderDialog.js:145 +msgid "Folder names cannot contain “/”." +msgstr "Mappenavne må ikke indeholde “/”." + +#: createFolderDialog.js:148 +msgid "A folder cannot be called “.”." +msgstr "En mappe må ikke kaldes “.”." + +#: createFolderDialog.js:151 +msgid "A folder cannot be called “..”." +msgstr "En mappe må ikke kaldes “..”." + +#: createFolderDialog.js:153 +msgid "Folders with “.” at the beginning of their name are hidden." +msgstr "Mapper med “.” i begyndelsen af deres navn er skjulte." + +#: createFolderDialog.js:155 +msgid "There is already a file or folder with that name." +msgstr "Der findes allerede en fil eller mappe med det navn." + +#: prefs.js:103 +msgid "Size for the desktop icons" +msgstr "Størrelsen på skrivebordsikoner" + +#: prefs.js:103 +msgid "Small" +msgstr "Små" + +#: prefs.js:103 +msgid "Standard" +msgstr "Standard" + +#: prefs.js:103 +msgid "Large" +msgstr "Store" + +#: prefs.js:104 +msgid "Show the personal folder in the desktop" +msgstr "Vis den personlige mappe på skrivebordet" + +#: prefs.js:105 +msgid "Show the trash icon in the desktop" +msgstr "Vis papirkurvsikonet på skrivebordet" + +#: prefs.js:106 +#| msgid "Show the trash icon in the desktop" +msgid "Show mounted drives in the desktop" +msgstr "Vis monterede drev på skrivebordet" + +#: desktopGrid.js:346 +msgid "New Folder" +msgstr "Ny mappe" + +#: desktopGrid.js:347 +msgid "New Document" +msgstr "Nyt dokument" + +#: desktopGrid.js:350 +msgid "Paste" +msgstr "Indsæt" + +#: desktopGrid.js:351 +msgid "Undo" +msgstr "Fortryd" + +#: desktopGrid.js:352 +msgid "Redo" +msgstr "Omgør" + +#: desktopGrid.js:354 +msgid "Show Desktop in Files" +msgstr "Vis skrivebordet i Filer" + +#: desktopGrid.js:355 fileItem.js:721 +msgid "Open in Terminal" +msgstr "Åbn i terminal" + +#: desktopGrid.js:357 +msgid "Change Background…" +msgstr "Skift baggrund …" + +#: desktopGrid.js:359 +msgid "Display Settings" +msgstr "Skærmindstillinger" + +#: desktopGrid.js:360 +msgid "Settings" +msgstr "Indstillinger" + +#: desktopGrid.js:692 +msgid "Rename" +msgstr "Omdøb" + +#: desktopIconsUtil.js:63 +msgid "Command not found" +msgstr "Kommando ikke fundet" + +#: fileItem.js:584 +msgid "Don’t Allow Launching" +msgstr "Tillad ikke opstart" + +#: fileItem.js:586 +msgid "Allow Launching" +msgstr "Tillad opstart" + +#: fileItem.js:682 +msgid "Open" +msgstr "Åbn" + +#: fileItem.js:686 +msgid "Open With Other Application" +msgstr "Åbn med et andet program" + +# scootergrisen: tjek oversættelsen af "Dedicated" +#: fileItem.js:688 +msgid "Launch using Dedicated Graphics Card" +msgstr "Start med dedikeret grafikkort" + +#: fileItem.js:693 +msgid "Cut" +msgstr "Klip" + +#: fileItem.js:694 +msgid "Copy" +msgstr "Kopiér" + +#: fileItem.js:696 +msgid "Rename…" +msgstr "Omdøb …" + +#: fileItem.js:697 +msgid "Move to Trash" +msgstr "Flyt til papirkurven" + +#: fileItem.js:707 +msgid "Empty Trash" +msgstr "Tøm papirkurven" + +#: fileItem.js:711 +msgid "Eject" +msgstr "Skub ud" + +#: fileItem.js:717 +msgid "Properties" +msgstr "Egenskaber" + +#: fileItem.js:719 +msgid "Show in Files" +msgstr "Vis i Filer" + +#: schemas/org.gnome.shell.extensions.desktop-icons.gschema.xml:11 +msgid "Icon size" +msgstr "Ikonstørrelse" + +#: schemas/org.gnome.shell.extensions.desktop-icons.gschema.xml:12 +msgid "Set the size for the desktop icons." +msgstr "Angiv størrelsen på skrivebordsikoner." + +#: schemas/org.gnome.shell.extensions.desktop-icons.gschema.xml:16 +msgid "Show personal folder" +msgstr "Vis personlig mappe" + +#: schemas/org.gnome.shell.extensions.desktop-icons.gschema.xml:17 +msgid "Show the personal folder in the desktop." +msgstr "Vis den personlige mappe på skrivebordet." + +#: schemas/org.gnome.shell.extensions.desktop-icons.gschema.xml:21 +msgid "Show trash icon" +msgstr "Vis papirkurvsikon" + +#: schemas/org.gnome.shell.extensions.desktop-icons.gschema.xml:22 +msgid "Show the trash icon in the desktop." +msgstr "Vis papirkurvsikonet på skrivebordet." + +#: schemas/org.gnome.shell.extensions.desktop-icons.gschema.xml:26 +#| msgid "Show in Files" +msgid "Show mounted drives" +msgstr "Vis monterede drev" + +#: schemas/org.gnome.shell.extensions.desktop-icons.gschema.xml:27 +#| msgid "Show the trash icon in the desktop." +msgid "Show mounted drives in the desktop." +msgstr "Vis monterede drev på skrivebordet." + #~ msgid "Application" #~ msgstr "Program" diff --git a/po/de.po b/po/de.po index 30119a76..e8246586 100644 --- a/po/de.po +++ b/po/de.po @@ -1,4 +1,5 @@ # #-#-#-#-# de.po (gnome-shell-extensions master) #-#-#-#-# +# #-#-#-#-# de.po (gnome-shell-extensions master) #-#-#-#-# # German translation for gnome-shell-extensions. # Copyright (C) 2011 gnome-shell-extensions's COPYRIGHT HOLDER # This file is distributed under the same license as the gnome-shell-extensions package. @@ -17,10 +18,18 @@ # Jonatan Zeidler , 2012 # jonius , 2012 # +# #-#-#-#-# de.po (desktop-icons master) #-#-#-#-# +# German translation for desktop-icons. +# Copyright (C) 2018 desktop-icons's COPYRIGHT HOLDER +# This file is distributed under the same license as the desktop-icons package. +# Mario Blättermann , 2018. +# rugk , 2019. +# #, fuzzy msgid "" msgstr "" "#-#-#-#-# de.po (gnome-shell-extensions master) #-#-#-#-#\n" +"#-#-#-#-# de.po (gnome-shell-extensions master) #-#-#-#-#\n" "Project-Id-Version: gnome-shell-extensions master\n" "Report-Msgid-Bugs-To: https://gitlab.gnome.org/GNOME/gnome-shell-extensions/" "issues\n" @@ -46,6 +55,20 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Generator: Poedit 2.0.4\n" +"#-#-#-#-# de.po (desktop-icons master) #-#-#-#-#\n" +"Project-Id-Version: desktop-icons master\n" +"Report-Msgid-Bugs-To: https://gitlab.gnome.org/World/ShellExtensions/desktop-" +"icons/issues\n" +"POT-Creation-Date: 2020-08-16 14:44+0000\n" +"PO-Revision-Date: 2020-08-26 22:46+0200\n" +"Last-Translator: Christian Kirbach \n" +"Language-Team: German \n" +"Language: de\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" +"X-Generator: Poedit 2.3.1\n" #: data/gnome-classic.desktop.in:3 data/gnome-classic.session.desktop.in:3 msgid "GNOME Classic" @@ -86,10 +109,14 @@ msgstr "Regel hinzufügen" #. TRANSLATORS: %s is the filesystem name #: extensions/drive-menu/extension.js:112 -#: extensions/places-menu/placeDisplay.js:233 -#, javascript-format +#: extensions/places-menu/placeDisplay.js:233 desktopIconsUtil.js:162 +#, fuzzy, javascript-format msgid "Ejecting drive “%s” failed:" -msgstr "Auswerfen von Laufwerk »%s« schlug fehl:" +msgstr "" +"#-#-#-#-# de.po (gnome-shell-extensions master) #-#-#-#-#\n" +"Auswerfen von Laufwerk »%s« schlug fehl:\n" +"#-#-#-#-# de.po (desktop-icons master) #-#-#-#-#\n" +"Auswerfen des Laufwerks »%s« fehlgeschlagen:" #: extensions/drive-menu/extension.js:128 msgid "Removable devices" @@ -149,9 +176,14 @@ msgstr "Datenträger für »%s« konnte nicht eingebunden werden" msgid "Computer" msgstr "Rechner" -#: extensions/places-menu/placeDisplay.js:359 +#: extensions/places-menu/placeDisplay.js:359 fileItem.js:927 +#, fuzzy msgid "Home" -msgstr "Persönlicher Ordner" +msgstr "" +"#-#-#-#-# de.po (gnome-shell-extensions master) #-#-#-#-#\n" +"Persönlicher Ordner\n" +"#-#-#-#-# de.po (desktop-icons master) #-#-#-#-#\n" +"Startseite" #: extensions/places-menu/placeDisplay.js:404 msgid "Browse Network" @@ -729,6 +761,198 @@ msgstr "Stoßschwellwert" msgid "Isolate monitors." msgstr "Isoliere Monitore." +#: createFolderDialog.js:46 +msgid "New folder name" +msgstr "Neuer Ordner" + +#: createFolderDialog.js:70 +msgid "Create" +msgstr "Erstellen" + +#: createFolderDialog.js:72 +msgid "Cancel" +msgstr "Abbrechen" + +#: createFolderDialog.js:145 +msgid "Folder names cannot contain “/”." +msgstr "Ordnernamen dürfen kein »/« enthalten." + +#: createFolderDialog.js:148 +msgid "A folder cannot be called “.”." +msgstr "Ein Ordner darf nicht ».« genannt werden." + +#: createFolderDialog.js:151 +msgid "A folder cannot be called “..”." +msgstr "Ein Ordner darf nicht »..« genannt werden." + +#: createFolderDialog.js:153 +msgid "Folders with “.” at the beginning of their name are hidden." +msgstr "Ordner mit ».« am Anfang sind verborgen." + +#: createFolderDialog.js:155 +msgid "There is already a file or folder with that name." +msgstr "Es gibt bereits eine Datei oder einen Ordner mit diesem Namen." + +#: prefs.js:103 +msgid "Size for the desktop icons" +msgstr "Größe der Arbeitsflächensymbole" + +#: prefs.js:103 +msgid "Small" +msgstr "Klein" + +#: prefs.js:103 +msgid "Standard" +msgstr "Standard" + +#: prefs.js:103 +msgid "Large" +msgstr "Groß" + +#: prefs.js:104 +msgid "Show the personal folder in the desktop" +msgstr "Den persönlichen Ordner auf der Arbeitsfläche anzeigen" + +#: prefs.js:105 +msgid "Show the trash icon in the desktop" +msgstr "Papierkorb-Symbol auf der Arbeitsfläche anzeigen" + +#: prefs.js:106 +msgid "Show mounted drives in the desktop" +msgstr "Eingebundene Laufwerke auf der Arbeitsfläche anzeigen" + +#: desktopGrid.js:346 +msgid "New Folder" +msgstr "Neuer Ordner" + +#: desktopGrid.js:347 +msgid "New Document" +msgstr "Neues Dokument" + +#: desktopGrid.js:350 +msgid "Paste" +msgstr "Einfügen" + +#: desktopGrid.js:351 +msgid "Undo" +msgstr "Rückgängig" + +#: desktopGrid.js:352 +msgid "Redo" +msgstr "Wiederholen" + +#: desktopGrid.js:354 +msgid "Show Desktop in Files" +msgstr "Schreibtisch in Dateien anzeigen" + +#: desktopGrid.js:355 fileItem.js:723 +msgid "Open in Terminal" +msgstr "Im Terminal öffnen" + +#: desktopGrid.js:357 +msgid "Change Background…" +msgstr "Hintergrund ändern …" + +#: desktopGrid.js:359 +msgid "Display Settings" +msgstr "Anzeigeeinstellungen" + +#: desktopGrid.js:360 +msgid "Settings" +msgstr "Einstellungen" + +#: desktopGrid.js:699 +msgid "Rename" +msgstr "Umbenennen" + +#: desktopIconsUtil.js:63 +msgid "Command not found" +msgstr "Befehl nicht gefunden" + +#: fileItem.js:586 +msgid "Don’t Allow Launching" +msgstr "Start nicht erlauben" + +#: fileItem.js:588 +msgid "Allow Launching" +msgstr "Start erlauben" + +#: fileItem.js:684 +msgid "Open" +msgstr "Öffnen" + +#: fileItem.js:688 +msgid "Open With Other Application" +msgstr "Mit anderer Anwendung öffnen" + +#: fileItem.js:690 +msgid "Launch using Dedicated Graphics Card" +msgstr "Start mit dedizierter Grafikkarte" + +#: fileItem.js:695 +msgid "Cut" +msgstr "Ausschneiden" + +#: fileItem.js:696 +msgid "Copy" +msgstr "Kopieren" + +#: fileItem.js:698 +msgid "Rename…" +msgstr "Umbenennen …" + +#: fileItem.js:699 +msgid "Move to Trash" +msgstr "In den Papierkorb verschieben" + +#: fileItem.js:709 +msgid "Empty Trash" +msgstr "Papierkorb leeren" + +#: fileItem.js:713 +msgid "Eject" +msgstr "Auswerfen" + +#: fileItem.js:719 +msgid "Properties" +msgstr "Eigenschaften" + +#: fileItem.js:721 +msgid "Show in Files" +msgstr "In Dateiverwaltung anzeigen" + +#: schemas/org.gnome.shell.extensions.desktop-icons.gschema.xml:11 +msgid "Icon size" +msgstr "Symbolgröße" + +#: schemas/org.gnome.shell.extensions.desktop-icons.gschema.xml:12 +msgid "Set the size for the desktop icons." +msgstr "Die Größe der Arbeitsflächensymbole festlegen." + +#: schemas/org.gnome.shell.extensions.desktop-icons.gschema.xml:16 +msgid "Show personal folder" +msgstr "Persönlichen Ordner anzeigen" + +#: schemas/org.gnome.shell.extensions.desktop-icons.gschema.xml:17 +msgid "Show the personal folder in the desktop." +msgstr "Den persönlichen Ordner auf der Arbeitsfläche anzeigen." + +#: schemas/org.gnome.shell.extensions.desktop-icons.gschema.xml:21 +msgid "Show trash icon" +msgstr "Papierkorb-Symbol anzeigen" + +#: schemas/org.gnome.shell.extensions.desktop-icons.gschema.xml:22 +msgid "Show the trash icon in the desktop." +msgstr "Das Papierkorb-Symbol auf der Arbeitsfläche anzeigen." + +#: schemas/org.gnome.shell.extensions.desktop-icons.gschema.xml:26 +msgid "Show mounted drives" +msgstr "Eingebundene Laufwerke anzeigen" + +#: schemas/org.gnome.shell.extensions.desktop-icons.gschema.xml:27 +msgid "Show mounted drives in the desktop." +msgstr "Eingebundene Laufwerke auf der Arbeitsfläche anzeigen." + #~ msgid "Application" #~ msgstr "Anwendung" @@ -939,3 +1163,12 @@ msgstr "Isoliere Monitore." #~ msgstr "" #~ "Benutzerdefiniertes Theme verwenden (funktioniert nur mit dem Standard-" #~ "Adwaita-Theme)" + +#~ msgid "Enter file name…" +#~ msgstr "Dateinamen eingeben …" + +#~ msgid "OK" +#~ msgstr "OK" + +#~ msgid "Huge" +#~ msgstr "Riesig" diff --git a/po/el.po b/po/el.po index bd0a7a5f..fde56dd9 100644 --- a/po/el.po +++ b/po/el.po @@ -1,4 +1,5 @@ # #-#-#-#-# el.po (gnome-shell-extensions master) #-#-#-#-# +# #-#-#-#-# el.po (gnome-shell-extensions master) #-#-#-#-# # Greek translation for gnome-shell-extensions. # Copyright (C) 2011 gnome-shell-extensions's COPYRIGHT HOLDER # This file is distributed under the same license as the gnome-shell-extensions package. @@ -16,10 +17,17 @@ # Δημήτριος-Ρωμανός Ησαΐας , 2017. # Vangelis Skarmoutsos , 2017. # +# #-#-#-#-# el.po (desktop-icons master) #-#-#-#-# +# Greek translation for desktop-icons. +# Copyright (C) 2019 desktop-icons's COPYRIGHT HOLDER +# This file is distributed under the same license as the desktop-icons package. +# Emmanouil I. Kapernaros , 2019. +# #, fuzzy msgid "" msgstr "" "#-#-#-#-# el.po (gnome-shell-extensions master) #-#-#-#-#\n" +"#-#-#-#-# el.po (gnome-shell-extensions master) #-#-#-#-#\n" "Project-Id-Version: gnome-shell-extensions master\n" "Report-Msgid-Bugs-To: https://gitlab.gnome.org/GNOME/gnome-shell-extensions/" "issues\n" @@ -47,6 +55,19 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "X-Generator: Poedit 2.0.3\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" +"#-#-#-#-# el.po (desktop-icons master) #-#-#-#-#\n" +"Project-Id-Version: desktop-icons master\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2020-04-05 21:12+0200\n" +"PO-Revision-Date: 2019-10-30 23:18+0200\n" +"Last-Translator: Emmanouil I. Kapernaros \n" +"Language-Team: Greek, Modern (1453-) \n" +"Language: el\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n != 1)\n" +"X-Generator: Gtranslator 3.34.0\n" #: data/gnome-classic.desktop.in:3 data/gnome-classic.session.desktop.in:3 msgid "GNOME Classic" @@ -711,6 +732,179 @@ msgstr "Χρονικό όριο εμφάνισης" msgid "Pressure threshold" msgstr "Ελάχιστη πίεση" +#: desktopGrid.js:354 +#, fuzzy +msgid "Display Settings" +msgstr "" +"#-#-#-#-# el.po (gnome-shell-extensions master) #-#-#-#-#\n" +"Ρυθμίσεις οθόνης\n" +"#-#-#-#-# el.po (desktop-icons master) #-#-#-#-#\n" +"Ρυθμίσεις Οθόνης" + +#: schemas/org.gnome.shell.extensions.desktop-icons.gschema.xml:11 +msgid "Icon size" +msgstr "Μέγεθος εικονιδίου" + +#: createFolderDialog.js:72 +msgid "Cancel" +msgstr "Ακύρωση" + +#: createFolderDialog.js:46 +msgid "New folder name" +msgstr "Όνομα νέου φακέλου" + +#: createFolderDialog.js:70 +msgid "Create" +msgstr "Δημιουργία" + +#: createFolderDialog.js:145 +msgid "Folder names cannot contain “/”." +msgstr "Τα ονόματα φακέλων δεν μπορούν να περιέχουν “/”." + +#: createFolderDialog.js:148 +msgid "A folder cannot be called “.”." +msgstr "Ο φάκελος δεν μπορεί να ονομάζεται “.”." + +#: createFolderDialog.js:151 +msgid "A folder cannot be called “..”." +msgstr "Ο φάκελος δεν μπορεί να ονομάζεται “..”." + +#: createFolderDialog.js:153 +msgid "Folders with “.” at the beginning of their name are hidden." +msgstr "Οι φάκελοι με “.” στην αρχή του ονόματος τους είναι κρυφοί" + +#: createFolderDialog.js:155 +msgid "There is already a file or folder with that name." +msgstr "Υπάρχει ήδη ένας φάκελος ή αρχείο με αυτό το όνομα" + +#: prefs.js:102 +msgid "Size for the desktop icons" +msgstr "Μέγεθος για τα εικονίδια επιφάνειας εργασίας" + +#: prefs.js:102 +msgid "Small" +msgstr "Μικρό" + +#: prefs.js:102 +msgid "Standard" +msgstr "Κανονικό" + +#: prefs.js:102 +msgid "Large" +msgstr "Μεγάλο" + +#: prefs.js:103 +msgid "Show the personal folder in the desktop" +msgstr "Εμφάνιση του προσωπικού φακέλου στην επιφάνεια εργασίας" + +#: prefs.js:104 +msgid "Show the trash icon in the desktop" +msgstr "Εμφάνιση του εικονίδιου απορριμάτων στην επιφάνεια εργασίας" + +#: desktopGrid.js:343 +msgid "New Folder" +msgstr "Νέος Φάκελος" + +#: desktopGrid.js:345 +msgid "Paste" +msgstr "Επικόλληση" + +#: desktopGrid.js:346 +msgid "Undo" +msgstr "Αναίρεση" + +#: desktopGrid.js:347 +msgid "Redo" +msgstr "Επανάληψη" + +#: desktopGrid.js:349 +msgid "Show Desktop in Files" +msgstr "Εμφάνιση Επιφάνειας εργασίας στα Αρχεία" + +#: desktopGrid.js:350 fileItem.js:651 +msgid "Open in Terminal" +msgstr "Άνοιγμα στο Τερματικό" + +#: desktopGrid.js:352 +msgid "Change Background…" +msgstr "Αλλαγή Φόντου" + +#: desktopGrid.js:355 +msgid "Settings" +msgstr "Ρυθμίσεις" + +#: desktopGrid.js:653 +msgid "Rename" +msgstr "Μετονομασία" + +#: desktopIconsUtil.js:61 +msgid "Command not found" +msgstr "Η εντολή δεν βρέθηκε" + +#: fileItem.js:521 +msgid "Don’t Allow Launching" +msgstr "Μην Επιτρέψεις Εκτέλεση" + +#: fileItem.js:523 +msgid "Allow Launching" +msgstr "Επέτρεψε Εκτέλεση" + +#: fileItem.js:619 +msgid "Open" +msgstr "Άνοιγμα" + +#: fileItem.js:623 +msgid "Open With Other Application" +msgstr "Άνοιγμα Με Άλλη Εφαρμογή" + +#: fileItem.js:627 +msgid "Cut" +msgstr "Αποκοπή" + +#: fileItem.js:628 +msgid "Copy" +msgstr "Αντιγραφή" + +#: fileItem.js:630 +msgid "Rename…" +msgstr "Μετονομασία" + +#: fileItem.js:631 +msgid "Move to Trash" +msgstr "Μετακίνηση στα Απορρίματα" + +#: fileItem.js:641 +msgid "Empty Trash" +msgstr "Άδειασμα Απορριμάτων" + +#: fileItem.js:647 +msgid "Properties" +msgstr "Ιδιότητες" + +#: fileItem.js:649 +msgid "Show in Files" +msgstr "Εμφάνιση στα Αρχεία" + +#: schemas/org.gnome.shell.extensions.desktop-icons.gschema.xml:12 +msgid "Set the size for the desktop icons." +msgstr "Ορισμός μεγέθους για τα εικονίδια της επιφάνειας εργασίας" + +#: schemas/org.gnome.shell.extensions.desktop-icons.gschema.xml:16 +msgid "Show personal folder" +msgstr "Εμφάνιση προσωπικού φακέλου" + +#: schemas/org.gnome.shell.extensions.desktop-icons.gschema.xml:17 +msgid "Show the personal folder in the desktop." +msgstr "Εμφάνιση του προσωπικού φακέλου στην επιφάνεια εργασίας" + +#: schemas/org.gnome.shell.extensions.desktop-icons.gschema.xml:21 +msgid "Show trash icon" +msgstr "Εμφάνιση του εικονιδίου απορριμμάτων" + +#: schemas/org.gnome.shell.extensions.desktop-icons.gschema.xml:22 +msgid "Show the trash icon in the desktop." +msgstr "Εμφάνιση του εικονιδίου απορριμμάτων στην επιφάνεια εργασίας" + #~ msgid "Application" #~ msgstr "Εφαρμογή" @@ -838,9 +1032,6 @@ msgstr "Ελάχιστη πίεση" #~ msgid "Display" #~ msgstr "Οθόνη" -#~ msgid "Display Settings" -#~ msgstr "Ρυθμίσεις οθόνης" - #~ msgid "The application icon mode." #~ msgstr "Η λειτουργία εικονιδίου της εφαρμογής" @@ -876,9 +1067,6 @@ msgstr "Ελάχιστη πίεση" #~ "Ρυθμίζει τη θέση του υποδοχέα στην οθόνη. Επιτρεπόμενες τιμές είναι right " #~ "(«δεξιά») ή right («αριστερά»)" -#~ msgid "Icon size" -#~ msgstr "Μέγεθος εικονιδίου" - #~ msgid "Sets icon size of the dock." #~ msgstr "Ρυθμίζει το μέγεθος εικόνας του υποδοχέα." @@ -1066,9 +1254,6 @@ msgstr "Ελάχιστη πίεση" #~ msgid "Alt Tab Behaviour" #~ msgstr "Συμπεριφορά Alt Tab" -#~ msgid "Cancel" -#~ msgstr "Ακύρωση" - #~ msgid "Ask the user for a default behaviour if true." #~ msgstr "Ρωτήστε τον χρήστη για μια προεπιλεγμένη συμπεριφορα εαν αληθεύει." @@ -1087,3 +1272,6 @@ msgstr "Ελάχιστη πίεση" #~ msgid "Window placement strategy" #~ msgstr "Στρατηγική τοποθέτησης παραθύρου" + +#~ msgid "Enter file name…" +#~ msgstr "Εισάγετε όνομα αρχείου..." diff --git a/po/en_GB.po b/po/en_GB.po index 81ca1146..e98f70dd 100644 --- a/po/en_GB.po +++ b/po/en_GB.po @@ -1,3 +1,4 @@ +# #-#-#-#-# en_GB.po (gnome-shell-extensions) #-#-#-#-# # British English translation of gnome-shell-extensions. # Copyright (C) 2011 gnome-shell-extensions'S COPYRIGHT HOLDER. # This file is distributed under the same license as the gnome-shell-extensions package. @@ -6,8 +7,16 @@ # Philip Withnall , 2014. # Zander Brown , 2019-2020. # +# #-#-#-#-# en_GB.po (desktop-icons master) #-#-#-#-# +# British English translation for desktop-icons. +# Copyright (C) 2019 desktop-icons's COPYRIGHT HOLDER +# This file is distributed under the same license as the desktop-icons package. +# Zander Brown , 2019. +# +#, fuzzy msgid "" msgstr "" +"#-#-#-#-# en_GB.po (gnome-shell-extensions) #-#-#-#-#\n" "Project-Id-Version: gnome-shell-extensions\n" "Report-Msgid-Bugs-To: https://gitlab.gnome.org/GNOME/gnome-shell-extensions/" "issues\n" @@ -22,6 +31,19 @@ msgstr "" "Plural-Forms: nplurals=2; plural=(n != 1);\n" "X-Generator: Gtranslator 3.36.0\n" "X-Project-Style: gnome\n" +"#-#-#-#-# en_GB.po (desktop-icons master) #-#-#-#-#\n" +"Project-Id-Version: desktop-icons master\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2020-04-05 21:12+0200\n" +"PO-Revision-Date: 2019-08-23 21:48+0100\n" +"Last-Translator: Zander Brown \n" +"Language-Team: English - United Kingdom \n" +"Language: en_GB\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" +"X-Generator: Gtranslator 3.32.1\n" #: data/gnome-classic.desktop.in:3 data/gnome-classic.session.desktop.in:3 msgid "GNOME Classic" @@ -263,6 +285,175 @@ msgstr "Workspace %d" msgid "Add Workspace" msgstr "Add Workspace" +#: schemas/org.gnome.shell.extensions.desktop-icons.gschema.xml:11 +msgid "Icon size" +msgstr "Icon size" + +#: desktopGrid.js:354 +msgid "Display Settings" +msgstr "Display Settings" + +#: createFolderDialog.js:72 +msgid "Cancel" +msgstr "Cancel" + +#: createFolderDialog.js:46 +msgid "New folder name" +msgstr "New folder name" + +#: createFolderDialog.js:70 +msgid "Create" +msgstr "Create" + +#: createFolderDialog.js:145 +msgid "Folder names cannot contain “/”." +msgstr "Folder names cannot contain “/”." + +#: createFolderDialog.js:148 +msgid "A folder cannot be called “.”." +msgstr "A folder cannot be called “.”." + +#: createFolderDialog.js:151 +msgid "A folder cannot be called “..”." +msgstr "A folder cannot be called “..”." + +#: createFolderDialog.js:153 +msgid "Folders with “.” at the beginning of their name are hidden." +msgstr "Folders with “.” at the beginning of their name are hidden." + +#: createFolderDialog.js:155 +msgid "There is already a file or folder with that name." +msgstr "There is already a file or folder with that name." + +#: prefs.js:102 +msgid "Size for the desktop icons" +msgstr "Size for the desktop icons" + +#: prefs.js:102 +msgid "Small" +msgstr "Small" + +#: prefs.js:102 +msgid "Standard" +msgstr "Standard" + +#: prefs.js:102 +msgid "Large" +msgstr "Large" + +#: prefs.js:103 +msgid "Show the personal folder in the desktop" +msgstr "Show the personal folder on the desktop" + +#: prefs.js:104 +msgid "Show the trash icon in the desktop" +msgstr "Show the wastebasket icon on the desktop" + +#: desktopGrid.js:343 +msgid "New Folder" +msgstr "New Folder" + +#: desktopGrid.js:345 +msgid "Paste" +msgstr "Paste" + +#: desktopGrid.js:346 +msgid "Undo" +msgstr "Undo" + +#: desktopGrid.js:347 +msgid "Redo" +msgstr "Redo" + +#: desktopGrid.js:349 +msgid "Show Desktop in Files" +msgstr "Show Desktop in Files" + +#: desktopGrid.js:350 fileItem.js:651 +msgid "Open in Terminal" +msgstr "Open in Terminal" + +#: desktopGrid.js:352 +msgid "Change Background…" +msgstr "Change Background…" + +#: desktopGrid.js:355 +msgid "Settings" +msgstr "Settings" + +#: desktopGrid.js:653 +#, fuzzy +msgid "Rename" +msgstr "Rename…" + +#: desktopIconsUtil.js:61 +msgid "Command not found" +msgstr "Command not found" + +#: fileItem.js:521 +msgid "Don’t Allow Launching" +msgstr "Don’t Allow Launching" + +#: fileItem.js:523 +msgid "Allow Launching" +msgstr "Allow Launching" + +#: fileItem.js:619 +msgid "Open" +msgstr "Open" + +#: fileItem.js:623 +msgid "Open With Other Application" +msgstr "Open With Other Application" + +#: fileItem.js:627 +msgid "Cut" +msgstr "Cut" + +#: fileItem.js:628 +msgid "Copy" +msgstr "Copy" + +#: fileItem.js:630 +msgid "Rename…" +msgstr "Rename…" + +#: fileItem.js:631 +msgid "Move to Trash" +msgstr "Move to Wastebasket" + +#: fileItem.js:641 +msgid "Empty Trash" +msgstr "Empty Wastebasket" + +#: fileItem.js:647 +msgid "Properties" +msgstr "Properties" + +#: fileItem.js:649 +msgid "Show in Files" +msgstr "Show in Files" + +#: schemas/org.gnome.shell.extensions.desktop-icons.gschema.xml:12 +msgid "Set the size for the desktop icons." +msgstr "Set the size for the desktop icons." + +#: schemas/org.gnome.shell.extensions.desktop-icons.gschema.xml:16 +msgid "Show personal folder" +msgstr "Show personal folder" + +#: schemas/org.gnome.shell.extensions.desktop-icons.gschema.xml:17 +msgid "Show the personal folder in the desktop." +msgstr "Show the personal folder on the desktop." + +#: schemas/org.gnome.shell.extensions.desktop-icons.gschema.xml:21 +msgid "Show trash icon" +msgstr "Show wastebasket icon" + +#: schemas/org.gnome.shell.extensions.desktop-icons.gschema.xml:22 +msgid "Show the trash icon in the desktop." +msgstr "Show the trash icon on the desktop." + #~ msgid "Application" #~ msgstr "Application" @@ -413,9 +604,6 @@ msgstr "Add Workspace" #~ "Sets the position of the dock in the screen. Allowed values are 'right' " #~ "or 'left'" -#~ msgid "Icon size" -#~ msgstr "Icon size" - #~ msgid "Sets icon size of the dock." #~ msgstr "Sets icon size of the dock." @@ -487,9 +675,6 @@ msgstr "Add Workspace" #~ msgid "Display" #~ msgstr "Display" -#~ msgid "Display Settings" -#~ msgstr "Display Settings" - #~ msgid "Do Not Disturb" #~ msgstr "Do Not Disturb" @@ -561,9 +746,6 @@ msgstr "Add Workspace" #~ msgid "Native" #~ msgstr "Native" -#~ msgid "Cancel" -#~ msgstr "Cancel" - #~ msgid "Ask the user for a default behaviour if true." #~ msgstr "Ask the user for a default behaviour if true." @@ -594,3 +776,9 @@ msgstr "Add Workspace" #~ msgid "Configure display settings..." #~ msgstr "Configure display settings…" + +#~ msgid "Enter file name…" +#~ msgstr "Enter file name…" + +#~ msgid "OK" +#~ msgstr "OK" diff --git a/po/es.po b/po/es.po index eaafe99e..8d638f09 100644 --- a/po/es.po +++ b/po/es.po @@ -1,4 +1,5 @@ # #-#-#-#-# es.po (gnome-shell-extensions master) #-#-#-#-# +# #-#-#-#-# es.po (gnome-shell-extensions master) #-#-#-#-# # Spanish translation for gnome-shell-extensions. # Copyright (C) 2011 gnome-shell-extensions's COPYRIGHT HOLDER # This file is distributed under the same license as the gnome-shell-extensions package. @@ -12,10 +13,19 @@ # This file is distributed under the same license as the Dash to Dock package. # Hugo Olabera , 2015. # +# #-#-#-#-# es.po (1.0) #-#-#-#-# +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. +# FIRST AUTHOR , YEAR. +# Sergio Costas , 2018. +# Daniel Mustieles , 2018-2020. +# #, fuzzy msgid "" msgstr "" "#-#-#-#-# es.po (gnome-shell-extensions master) #-#-#-#-#\n" +"#-#-#-#-# es.po (gnome-shell-extensions master) #-#-#-#-#\n" "Project-Id-Version: gnome-shell-extensions master\n" "Report-Msgid-Bugs-To: https://gitlab.gnome.org/GNOME/gnome-shell-extensions/" "issues\n" @@ -42,6 +52,20 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "X-Generator: Poedit 2.3\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" +"#-#-#-#-# es.po (1.0) #-#-#-#-#\n" +"Project-Id-Version: 1.0\n" +"Report-Msgid-Bugs-To: https://gitlab.gnome.org/World/ShellExtensions/desktop-" +"icons/issues\n" +"POT-Creation-Date: 2020-05-26 20:08+0000\n" +"PO-Revision-Date: 2020-09-23 09:43+0200\n" +"Last-Translator: Daniel Mustieles \n" +"Language-Team: Spanish - Spain \n" +"Language: es_ES\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" +"X-Generator: Gtranslator 3.38.0\n" #: data/gnome-classic.desktop.in:3 data/gnome-classic.session.desktop.in:3 msgid "GNOME Classic" @@ -82,10 +106,14 @@ msgstr "Añadir regla" #. TRANSLATORS: %s is the filesystem name #: extensions/drive-menu/extension.js:112 -#: extensions/places-menu/placeDisplay.js:233 -#, javascript-format +#: extensions/places-menu/placeDisplay.js:233 desktopIconsUtil.js:162 +#, fuzzy, javascript-format msgid "Ejecting drive “%s” failed:" -msgstr "Falló al expulsar el dispositivo «%s»:" +msgstr "" +"#-#-#-#-# es.po (gnome-shell-extensions master) #-#-#-#-#\n" +"Falló al expulsar el dispositivo «%s»:\n" +"#-#-#-#-# es.po (1.0) #-#-#-#-#\n" +"Falló al expulsar la unidad «%s»:" #: extensions/drive-menu/extension.js:128 msgid "Removable devices" @@ -144,7 +172,7 @@ msgstr "Falló al montar el volumen para «%s»" msgid "Computer" msgstr "Equipo" -#: extensions/places-menu/placeDisplay.js:359 +#: extensions/places-menu/placeDisplay.js:359 fileItem.js:925 msgid "Home" msgstr "Carpeta personal" @@ -784,6 +812,208 @@ msgstr "Mostrar el icono Papelera" msgid "Show mounted volumes and devices" msgstr "Mostrar los dispositivos montados" +#: desktopGrid.js:359 +#, fuzzy +msgid "Display Settings" +msgstr "" +"#-#-#-#-# es.po (gnome-shell-extensions master) #-#-#-#-#\n" +"Configuración de pantalla\n" +"#-#-#-#-# es.po (1.0) #-#-#-#-#\n" +"Configuración de pantalla" + +#: schemas/org.gnome.shell.extensions.desktop-icons.gschema.xml:11 +#, fuzzy +msgid "Icon size" +msgstr "" +"#-#-#-#-# es.po (gnome-shell-extensions master) #-#-#-#-#\n" +"Tamaño del icono\n" +"#-#-#-#-# es.po (1.0) #-#-#-#-#\n" +"Tamaño de los iconos" + +#: createFolderDialog.js:72 +msgid "Cancel" +msgstr "Cancelar" + +#: createFolderDialog.js:46 +msgid "New folder name" +msgstr "Nombre de la nueva carpeta" + +#: createFolderDialog.js:70 +msgid "Create" +msgstr "Crear" + +#: createFolderDialog.js:145 +msgid "Folder names cannot contain “/”." +msgstr "Los nombres de carpetas no pueden contener «/»." + +#: createFolderDialog.js:148 +msgid "A folder cannot be called “.”." +msgstr "Una carpeta no se puede llamar «.»." + +#: createFolderDialog.js:151 +msgid "A folder cannot be called “..”." +msgstr "Una carpeta no se puede llamar «..»." + +#: createFolderDialog.js:153 +msgid "Folders with “.” at the beginning of their name are hidden." +msgstr "Las carpetas cuyo nombre empieza por «.» están ocultas." + +#: createFolderDialog.js:155 +msgid "There is already a file or folder with that name." +msgstr "Ya hay un archivo o carpeta con ese nombre." + +#: prefs.js:103 +msgid "Size for the desktop icons" +msgstr "Tamaño de los iconos del escritorio" + +#: prefs.js:103 +msgid "Small" +msgstr "Pequeño" + +#: prefs.js:103 +msgid "Standard" +msgstr "Estándar" + +#: prefs.js:103 +msgid "Large" +msgstr "Grande" + +#: prefs.js:104 +msgid "Show the personal folder in the desktop" +msgstr "Mostrar la carpeta personal en el escritorio" + +#: prefs.js:105 +msgid "Show the trash icon in the desktop" +msgstr "Mostrar la papelera en el escritorio" + +#: prefs.js:106 +msgid "Show mounted drives in the desktop" +msgstr "Mostrar unidades montadas en el escritorio" + +#: desktopGrid.js:346 +msgid "New Folder" +msgstr "Nueva carpeta" + +#: desktopGrid.js:347 +msgid "New Document" +msgstr "Nuevo documento" + +#: desktopGrid.js:350 +msgid "Paste" +msgstr "Pegar" + +#: desktopGrid.js:351 +msgid "Undo" +msgstr "Deshacer" + +#: desktopGrid.js:352 +msgid "Redo" +msgstr "Rehacer" + +#: desktopGrid.js:354 +msgid "Show Desktop in Files" +msgstr "Mostrar el escritorio en Archivos" + +#: desktopGrid.js:355 fileItem.js:721 +msgid "Open in Terminal" +msgstr "Abrir en una terminal" + +#: desktopGrid.js:357 +msgid "Change Background…" +msgstr "Cambiar el fondo..." + +#: desktopGrid.js:360 +msgid "Settings" +msgstr "Configuración" + +#: desktopGrid.js:692 +msgid "Rename" +msgstr "Renombrar" + +#: desktopIconsUtil.js:63 +msgid "Command not found" +msgstr "Comando no encontrado" + +#: fileItem.js:584 +msgid "Don’t Allow Launching" +msgstr "No permitir lanzar" + +#: fileItem.js:586 +msgid "Allow Launching" +msgstr "Permitir lanzar" + +#: fileItem.js:682 +msgid "Open" +msgstr "Abrir" + +#: fileItem.js:686 +msgid "Open With Other Application" +msgstr "Abrir con otra aplicación" + +#: fileItem.js:688 +msgid "Launch using Dedicated Graphics Card" +msgstr "Lanza usando la tarjeta gráfica dedicada" + +#: fileItem.js:693 +msgid "Cut" +msgstr "Cortar" + +#: fileItem.js:694 +msgid "Copy" +msgstr "Copiar" + +#: fileItem.js:696 +msgid "Rename…" +msgstr "Renombrar…" + +#: fileItem.js:697 +msgid "Move to Trash" +msgstr "Mover a la papelera" + +#: fileItem.js:707 +msgid "Empty Trash" +msgstr "Vaciar la papelera" + +#: fileItem.js:711 +msgid "Eject" +msgstr "Expulsar" + +#: fileItem.js:717 +msgid "Properties" +msgstr "Propiedades" + +#: fileItem.js:719 +msgid "Show in Files" +msgstr "Mostrar en Files" + +#: schemas/org.gnome.shell.extensions.desktop-icons.gschema.xml:12 +msgid "Set the size for the desktop icons." +msgstr "Establece el tamaño de los iconos del escritorio." + +#: schemas/org.gnome.shell.extensions.desktop-icons.gschema.xml:16 +msgid "Show personal folder" +msgstr "Mostrar la carpeta personal" + +#: schemas/org.gnome.shell.extensions.desktop-icons.gschema.xml:17 +msgid "Show the personal folder in the desktop." +msgstr "Mostrar la carpeta personal en el escritorio." + +#: schemas/org.gnome.shell.extensions.desktop-icons.gschema.xml:21 +msgid "Show trash icon" +msgstr "Mostrar la papelera" + +#: schemas/org.gnome.shell.extensions.desktop-icons.gschema.xml:22 +msgid "Show the trash icon in the desktop." +msgstr "Mostrar la papelera en el escritorio." + +#: schemas/org.gnome.shell.extensions.desktop-icons.gschema.xml:26 +msgid "Show mounted drives" +msgstr "Mostrar unidades montadas" + +#: schemas/org.gnome.shell.extensions.desktop-icons.gschema.xml:27 +msgid "Show mounted drives in the desktop." +msgstr "Mostrar unidades montadas en el escritorio." + #~ msgid "Application" #~ msgstr "Aplicación" @@ -913,9 +1143,6 @@ msgstr "Mostrar los dispositivos montados" #~ msgid "Display" #~ msgstr "Pantalla" -#~ msgid "Display Settings" -#~ msgstr "Configuración de pantalla" - #~ msgid "File System" #~ msgstr "Sistema de archivos" @@ -963,9 +1190,6 @@ msgstr "Mostrar los dispositivos montados" #~ "Configura la posición del tablero en la pantalla. Los valores permitidos " #~ "son «right» (derecha) o «left» (izquierda)" -#~ msgid "Icon size" -#~ msgstr "Tamaño del icono" - #~ msgid "Sets icon size of the dock." #~ msgstr "Configura el tamaño de los íconos del tablero." @@ -1136,9 +1360,6 @@ msgstr "Mostrar los dispositivos montados" #~ msgid "Alt Tab Behaviour" #~ msgstr "Comportamiento de Alt+Tab" -#~ msgid "Cancel" -#~ msgstr "Cancelar" - #~ msgid "Notifications" #~ msgstr "Notificaciones" @@ -1172,3 +1393,36 @@ msgstr "Mostrar los dispositivos montados" #~ msgid "Busy" #~ msgstr "Ocupado" + +#~ msgid "Enter file name…" +#~ msgstr "Introduzca el nombre del archivo…" + +#~ msgid "OK" +#~ msgstr "Aceptar" + +#~ msgid "Huge" +#~ msgstr "Inmenso" + +#~ msgid "Ok" +#~ msgstr "Aceptar" + +#~ msgid "huge" +#~ msgstr "inmenso" + +#~ msgid "Maximum width for the icons and filename." +#~ msgstr "Ancho máximo de los iconos y el nombre de fichero." + +#~ msgid "Shows the Documents folder in the desktop." +#~ msgstr "Muestra la carpeta Documentos en el escritorio." + +#~ msgid "Shows the Downloads folder in the desktop." +#~ msgstr "Muestra la carpeta Descargas en el escritorio." + +#~ msgid "Shows the Music folder in the desktop." +#~ msgstr "Muestra la carpeta Música en el escritorio." + +#~ msgid "Shows the Pictures folder in the desktop." +#~ msgstr "Muestra la carpeta Imágenes en el escritorio." + +#~ msgid "Shows the Videos folder in the desktop." +#~ msgstr "Muestra la carpeta Vídeos en el escritorio." diff --git a/po/eu.po b/po/eu.po index f3e26694..a006a082 100644 --- a/po/eu.po +++ b/po/eu.po @@ -1,4 +1,5 @@ # #-#-#-#-# eu.po (gnome-shell-extensions master) #-#-#-#-# +# #-#-#-#-# eu.po (gnome-shell-extensions master) #-#-#-#-# # Basque translation for gnome-shell-extensions. # Copyright (C) 2011 gnome-shell-extensions's COPYRIGHT HOLDER # This file is distributed under the same license as the gnome-shell-extensions package. @@ -13,10 +14,17 @@ # This file is distributed under the same license as the Dash to Dock package. # Ibai Oihanguren Sala , 2020. # +# #-#-#-#-# eu.po (desktop-icons master) #-#-#-#-# +# Basque translation for desktop-icons. +# Copyright (C) 2019 desktop-icons's COPYRIGHT HOLDER +# This file is distributed under the same license as the desktop-icons package. +# Asier Sarasua Garmendia , 2019. +# #, fuzzy msgid "" msgstr "" "#-#-#-#-# eu.po (gnome-shell-extensions master) #-#-#-#-#\n" +"#-#-#-#-# eu.po (gnome-shell-extensions master) #-#-#-#-#\n" "Project-Id-Version: gnome-shell-extensions master\n" "Report-Msgid-Bugs-To: https://gitlab.gnome.org/GNOME/gnome-shell-extensions/" "issues\n" @@ -42,6 +50,17 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" +"#-#-#-#-# eu.po (desktop-icons master) #-#-#-#-#\n" +"Project-Id-Version: desktop-icons master\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2020-04-05 21:12+0200\n" +"PO-Revision-Date: 2019-09-15 10:00+0100\n" +"Last-Translator: Asier Sarasua Garmendia \n" +"Language-Team: Basque \n" +"Language: eu\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" #: data/gnome-classic.desktop.in:3 data/gnome-classic.session.desktop.in:3 msgid "GNOME Classic" @@ -339,7 +358,7 @@ msgstr "Dash to Dock %s" msgid "Trash" msgstr "Zakarrontzia" -#: locations.js:74 +#: locations.js:74 fileItem.js:641 msgid "Empty Trash" msgstr "Hustu zakarrontzia" @@ -806,6 +825,171 @@ msgstr "Erakusteko denbora-muga (s)" msgid "Pressure threshold" msgstr "Presio-atalasea" +#: createFolderDialog.js:46 +msgid "New folder name" +msgstr "Karpetaren izen berria" + +#: createFolderDialog.js:70 +msgid "Create" +msgstr "Sorrera" + +#: createFolderDialog.js:72 +msgid "Cancel" +msgstr "Utzi" + +#: createFolderDialog.js:145 +msgid "Folder names cannot contain “/”." +msgstr "Karpeta-izenak ezin du '/' karaktererik eduki." + +#: createFolderDialog.js:148 +msgid "A folder cannot be called “.”." +msgstr "Karpeta ezin da '.' gisa deitu." + +#: createFolderDialog.js:151 +msgid "A folder cannot be called “..”." +msgstr "Karpeta ezin da '..' gisa deitu." + +#: createFolderDialog.js:153 +msgid "Folders with “.” at the beginning of their name are hidden." +msgstr "Izenaren hasieran \".\" duten karpetak ezkutuan daude." + +#: createFolderDialog.js:155 +msgid "There is already a file or folder with that name." +msgstr "Badago izen hori duen fitxategi edo karpeta bat." + +#: prefs.js:102 +msgid "Size for the desktop icons" +msgstr "Mahaigaineko ikonoen tamaina" + +#: prefs.js:102 +msgid "Small" +msgstr "Txikia" + +#: prefs.js:102 +msgid "Standard" +msgstr "Arrunta" + +#: prefs.js:102 +msgid "Large" +msgstr "Handia" + +#: prefs.js:103 +msgid "Show the personal folder in the desktop" +msgstr "Erakutsi karpeta pertsonala mahaigainean" + +#: prefs.js:104 +msgid "Show the trash icon in the desktop" +msgstr "Erakutsi zakarrontziaren ikonoa mahaigainean" + +#: desktopGrid.js:343 +msgid "New Folder" +msgstr "Karpeta berria" + +#: desktopGrid.js:345 +msgid "Paste" +msgstr "Itsatsi" + +#: desktopGrid.js:346 +msgid "Undo" +msgstr "Desegin" + +#: desktopGrid.js:347 +msgid "Redo" +msgstr "Berregin" + +#: desktopGrid.js:349 +msgid "Show Desktop in Files" +msgstr "Erakutsi mahaigaina Fitxategiak aplikazioan" + +#: desktopGrid.js:350 fileItem.js:651 +msgid "Open in Terminal" +msgstr "Ireki terminalean" + +#: desktopGrid.js:352 +msgid "Change Background…" +msgstr "Aldatu atzeko planoa…" + +#: desktopGrid.js:354 +msgid "Display Settings" +msgstr "Pantailaren ezarpenak" + +#: desktopGrid.js:355 +msgid "Settings" +msgstr "Ezarpenak" + +#: desktopGrid.js:653 +#, fuzzy +msgid "Rename" +msgstr "Aldatu izena…" + +#: desktopIconsUtil.js:61 +msgid "Command not found" +msgstr "Ez da komandoa aurkitu" + +#: fileItem.js:521 +msgid "Don’t Allow Launching" +msgstr "Ez baimendu abiaraztea" + +#: fileItem.js:523 +msgid "Allow Launching" +msgstr "Baimendu abiaraztea" + +#: fileItem.js:619 +msgid "Open" +msgstr "Ireki" + +#: fileItem.js:623 +msgid "Open With Other Application" +msgstr "Ireki beste aplikazio batekin" + +#: fileItem.js:627 +msgid "Cut" +msgstr "Ebaki" + +#: fileItem.js:628 +msgid "Copy" +msgstr "Kopiatu" + +#: fileItem.js:630 +msgid "Rename…" +msgstr "Aldatu izena…" + +#: fileItem.js:631 +msgid "Move to Trash" +msgstr "Bota zakarrontzira" + +#: fileItem.js:647 +msgid "Properties" +msgstr "Propietateak" + +#: fileItem.js:649 +msgid "Show in Files" +msgstr "Erakutsi Fitxategiak aplikazioan" + +#: schemas/org.gnome.shell.extensions.desktop-icons.gschema.xml:11 +msgid "Icon size" +msgstr "Ikonoaren tamaina" + +#: schemas/org.gnome.shell.extensions.desktop-icons.gschema.xml:12 +msgid "Set the size for the desktop icons." +msgstr "Ezarri mahaigaineko ikonoen tamaina." + +#: schemas/org.gnome.shell.extensions.desktop-icons.gschema.xml:16 +msgid "Show personal folder" +msgstr "Erakutsi karpeta pertsonala" + +#: schemas/org.gnome.shell.extensions.desktop-icons.gschema.xml:17 +msgid "Show the personal folder in the desktop." +msgstr "Erakutsi karpeta pertsonala mahaigainean." + +#: schemas/org.gnome.shell.extensions.desktop-icons.gschema.xml:21 +msgid "Show trash icon" +msgstr "Erakutsi zakarrontziaren ikonoa" + +#: schemas/org.gnome.shell.extensions.desktop-icons.gschema.xml:22 +msgid "Show the trash icon in the desktop." +msgstr "Erakutsi zakarrontziaren ikonoa mahaigainean." + #~ msgid "Application" #~ msgstr "Aplikazioa" @@ -960,3 +1144,9 @@ msgstr "Presio-atalasea" #~ msgid "Busy" #~ msgstr "Lanpetuta" + +#~ msgid "Enter file name…" +#~ msgstr "Sartu fitxategi-izena…" + +#~ msgid "OK" +#~ msgstr "Ados" diff --git a/po/fa.po b/po/fa.po index a896e085..f36354ef 100644 --- a/po/fa.po +++ b/po/fa.po @@ -1,11 +1,20 @@ +# #-#-#-#-# fa.po (gnome-shell-extensions gnome-3-0) #-#-#-#-# # Persian translation for gnome-shell-extensions. # Copyright (C) 2011 Iranian Free Software Users Group (IFSUG.org) translation team. # This file is distributed under the same license as the gnome-shell-extensions package. # Arash Mousavi , 2011-2017. # Danial Behzadi , 2018-2020. # +# #-#-#-#-# fa.po (desktop-icons master) #-#-#-#-# +# Persian translation for desktop-icons. +# Copyright (C) 2020 desktop-icons's COPYRIGHT HOLDER +# This file is distributed under the same license as the desktop-icons package. +# Danial Behzadi , 2020. +# +#, fuzzy msgid "" msgstr "" +"#-#-#-#-# fa.po (gnome-shell-extensions gnome-3-0) #-#-#-#-#\n" "Project-Id-Version: gnome-shell-extensions gnome-3-0\n" "Report-Msgid-Bugs-To: https://gitlab.gnome.org/GNOME/gnome-shell-extensions/" "issues\n" @@ -20,6 +29,19 @@ msgstr "" "X-Poedit-SourceCharset: utf-8\n" "X-Generator: Poedit 2.3\n" "Plural-Forms: nplurals=1; plural=0;\n" +"#-#-#-#-# fa.po (desktop-icons master) #-#-#-#-#\n" +"Project-Id-Version: desktop-icons master\n" +"Report-Msgid-Bugs-To: https://gitlab.gnome.org/World/ShellExtensions/desktop-" +"icons/issues\n" +"POT-Creation-Date: 2020-04-06 14:18+0000\n" +"PO-Revision-Date: 2020-04-06 18:21+0000\n" +"Language-Team: Persian \n" +"Language: fa\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Last-Translator: \n" +"X-Generator: Poedit 2.3\n" #: data/gnome-classic.desktop.in:3 data/gnome-classic.session.desktop.in:3 msgid "GNOME Classic" @@ -46,8 +68,8 @@ msgid "" "A list of strings, each containing an application id (desktop file name), " "followed by a colon and the workspace number" msgstr "" -"فهرستی از رشته‌ها، هرکدام حاوی شناسه‌ی یک برنامه (نام پرونده رومیزی)، در ادامه‌ی یک " -"ویرگول و شماره‌ی فضای کاری" +"فهرستی از رشته‌ها، هرکدام حاوی شناسه‌ی یک برنامه (نام پرونده رومیزی)، در " +"ادامه‌ی یک ویرگول و شماره‌ی فضای کاری" #: extensions/auto-move-windows/prefs.js:35 msgid "Workspace Rules" @@ -79,12 +101,12 @@ msgstr "استفاده از صفحه بیشتر برای پنجره" #: extensions/native-window-placement/org.gnome.shell.extensions.native-window-placement.gschema.xml:6 msgid "" "Try to use more screen for placing window thumbnails by adapting to screen " -"aspect ratio, and consolidating them further to reduce the bounding box. This " -"setting applies only with the natural placement strategy." +"aspect ratio, and consolidating them further to reduce the bounding box. " +"This setting applies only with the natural placement strategy." msgstr "" "Try to use more screen for placing window thumbnails by adapting to screen " -"aspect ratio, and consolidating them further to reduce the bounding box. This " -"setting applies only with the natural placement strategy." +"aspect ratio, and consolidating them further to reduce the bounding box. " +"This setting applies only with the natural placement strategy." #: extensions/native-window-placement/org.gnome.shell.extensions.native-window-placement.gschema.xml:11 msgid "Place window captions on top" @@ -92,15 +114,16 @@ msgstr "قراردادن عنوان پنجره در بالا" #: extensions/native-window-placement/org.gnome.shell.extensions.native-window-placement.gschema.xml:12 msgid "" -"If true, place window captions on top the respective thumbnail, overriding shell " -"default of placing it at the bottom. Changing this setting requires restarting " -"the shell to have any effect." +"If true, place window captions on top the respective thumbnail, overriding " +"shell default of placing it at the bottom. Changing this setting requires " +"restarting the shell to have any effect." msgstr "" -"اگر بر روی درست باشد، عنوان پنجره را بالای تصویر آن قرار می‌دهد، که حالت پیش‌فرض " -"شل در پایین را تغییر می‌دهد. تغییر این گزینه، نیاز به راه‌اندازی مجدد شل دارد تا " -"تاثیر بگذارد." +"اگر بر روی درست باشد، عنوان پنجره را بالای تصویر آن قرار می‌دهد، که حالت " +"پیش‌فرض شل در پایین را تغییر می‌دهد. تغییر این گزینه، نیاز به راه‌اندازی مجدد " +"شل دارد تا تاثیر بگذارد." -#: extensions/places-menu/extension.js:89 extensions/places-menu/extension.js:93 +#: extensions/places-menu/extension.js:89 +#: extensions/places-menu/extension.js:93 msgid "Places" msgstr "مکان‌ها" @@ -196,8 +219,8 @@ msgid "" "Decides when to group windows from the same application on the window list. " "Possible values are “never”, “auto” and “always”." msgstr "" -"تصمیم می‌گیرد چه زمانی پنجره‌های یک برنامه در فهرست پنجره‌ها گروه شوند. مقدارهای " -"ممکن عبارتند از «never»، «auto» و «always»." +"تصمیم می‌گیرد چه زمانی پنجره‌های یک برنامه در فهرست پنجره‌ها گروه شوند. " +"مقدارهای ممکن عبارتند از «never»، «auto» و «always»." #: extensions/window-list/org.gnome.shell.extensions.window-list.gschema.xml:20 #: extensions/window-list/prefs.js:100 @@ -206,7 +229,8 @@ msgstr "نمایش پنجره‌ها از تمام فضاهای کاری" #: extensions/window-list/org.gnome.shell.extensions.window-list.gschema.xml:21 msgid "Whether to show windows from all workspaces or only the current one." -msgstr "این که پنجره‌ها از تمام فضاهای کاری نمایش داده شود یا فقط فضای کاری فعلی." +msgstr "" +"این که پنجره‌ها از تمام فضاهای کاری نمایش داده شود یا فقط فضای کاری فعلی." #: extensions/window-list/org.gnome.shell.extensions.window-list.gschema.xml:27 msgid "Show the window list on all monitors" @@ -214,11 +238,11 @@ msgstr "نمایش فهرست پنجره‌ها در تمام نمایشگرها #: extensions/window-list/org.gnome.shell.extensions.window-list.gschema.xml:28 msgid "" -"Whether to show the window list on all connected monitors or only on the primary " -"one." +"Whether to show the window list on all connected monitors or only on the " +"primary one." msgstr "" -"اینکه آیا فهرست پنجره‌ها در تمام نمایشگرهای متصل نمایش داده شود یا فقط در نمایشگر " -"اصلی." +"اینکه آیا فهرست پنجره‌ها در تمام نمایشگرهای متصل نمایش داده شود یا فقط در " +"نمایشگر اصلی." #: extensions/window-list/prefs.js:29 msgid "Window Grouping" @@ -258,6 +282,179 @@ msgstr "فضای کاری %Id" msgid "Add Workspace" msgstr "افزودن فضای‌کاری" +#: schemas/org.gnome.shell.extensions.desktop-icons.gschema.xml:11 +#, fuzzy +msgid "Icon size" +msgstr "" +"#-#-#-#-# fa.po (gnome-shell-extensions gnome-3-0) #-#-#-#-#\n" +"اندازه شمایل\n" +"#-#-#-#-# fa.po (desktop-icons master) #-#-#-#-#\n" +"اندازهٔ نقشک" + +#: createFolderDialog.js:46 +msgid "New folder name" +msgstr "نام شاخهٔ جدید" + +#: createFolderDialog.js:70 +msgid "Create" +msgstr "ایجاد" + +#: createFolderDialog.js:72 +msgid "Cancel" +msgstr "لغو" + +#: createFolderDialog.js:145 +msgid "Folder names cannot contain “/”." +msgstr "نام شاخه‌ها نمی‌تواند شامل \"/\" شود." + +#: createFolderDialog.js:148 +msgid "A folder cannot be called “.”." +msgstr "یک شاخه را نمی‌توان «.» نامگذاری کرد." + +#: createFolderDialog.js:151 +msgid "A folder cannot be called “..”." +msgstr "یک شاخه را نمی‌توان «..» نامگذاری کرد." + +#: createFolderDialog.js:153 +msgid "Folders with “.” at the beginning of their name are hidden." +msgstr "شاخه‌هایی با «.» در ابتدای نامشان، مخفیند." + +#: createFolderDialog.js:155 +msgid "There is already a file or folder with that name." +msgstr "پرونده یا شاخه‌ای با همان نام موجود است." + +#: prefs.js:102 +msgid "Size for the desktop icons" +msgstr "اندازه برای نقشک‌های میزکار" + +#: prefs.js:102 +msgid "Small" +msgstr "کوچک" + +#: prefs.js:102 +msgid "Standard" +msgstr "استاندارد" + +#: prefs.js:102 +msgid "Large" +msgstr "بزرگ" + +#: prefs.js:103 +msgid "Show the personal folder in the desktop" +msgstr "نمایش شاخهٔ شخصی در میزکار" + +#: prefs.js:104 +msgid "Show the trash icon in the desktop" +msgstr "نمایش نقشک زباله‌دان در میزکار" + +#: desktopGrid.js:343 +msgid "New Folder" +msgstr "شاخه جدید" + +#: desktopGrid.js:345 +msgid "Paste" +msgstr "چسباندن" + +#: desktopGrid.js:346 +msgid "Undo" +msgstr "برگردان" + +#: desktopGrid.js:347 +msgid "Redo" +msgstr "انجام دوباره" + +#: desktopGrid.js:349 +msgid "Show Desktop in Files" +msgstr "نمایش میزکار در پرونده‌ها" + +#: desktopGrid.js:350 fileItem.js:651 +msgid "Open in Terminal" +msgstr "گشودن در پایانه" + +#: desktopGrid.js:352 +msgid "Change Background…" +msgstr "تغییر پس‌زمینه…" + +#: desktopGrid.js:354 +msgid "Display Settings" +msgstr "تنظیمات نمایشگر" + +#: desktopGrid.js:355 +msgid "Settings" +msgstr "تنظیمات" + +#: desktopGrid.js:653 +msgid "Rename" +msgstr "تغییر نام" + +#: desktopIconsUtil.js:61 +msgid "Command not found" +msgstr "فرمان پیدا نشد" + +#: fileItem.js:521 +msgid "Don’t Allow Launching" +msgstr "اجازه ندادن به اجرا" + +#: fileItem.js:523 +msgid "Allow Launching" +msgstr "اجازهٔ اجرا" + +#: fileItem.js:619 +msgid "Open" +msgstr "گشودن" + +#: fileItem.js:623 +msgid "Open With Other Application" +msgstr "گشودن با برنامه‌ای دیگر" + +#: fileItem.js:627 +msgid "Cut" +msgstr "برش" + +#: fileItem.js:628 +msgid "Copy" +msgstr "رونوشت" + +#: fileItem.js:630 +msgid "Rename…" +msgstr "تغییر نام…" + +#: fileItem.js:631 +msgid "Move to Trash" +msgstr "انداختن در زباله‌دان" + +#: fileItem.js:641 +msgid "Empty Trash" +msgstr "خالی کردن زباله‌دان" + +#: fileItem.js:647 +msgid "Properties" +msgstr "ویژگی‌ها" + +#: fileItem.js:649 +msgid "Show in Files" +msgstr "نمایش در پرونده‌ها" + +#: schemas/org.gnome.shell.extensions.desktop-icons.gschema.xml:12 +msgid "Set the size for the desktop icons." +msgstr "تنظیم اندازه برای نقشک‌های میزکار." + +#: schemas/org.gnome.shell.extensions.desktop-icons.gschema.xml:16 +msgid "Show personal folder" +msgstr "نمایش شاخهٔ شخصی" + +#: schemas/org.gnome.shell.extensions.desktop-icons.gschema.xml:17 +msgid "Show the personal folder in the desktop." +msgstr "نمایش شاخهٔ شخصی در میزکار." + +#: schemas/org.gnome.shell.extensions.desktop-icons.gschema.xml:21 +msgid "Show trash icon" +msgstr "نمایش نقشک زباله‌دان" + +#: schemas/org.gnome.shell.extensions.desktop-icons.gschema.xml:22 +msgid "Show the trash icon in the desktop." +msgstr "نمایش نقشک زباله‌دان در میزکار." + #~ msgid "Application" #~ msgstr "برنامه" @@ -276,7 +473,8 @@ msgstr "افزودن فضای‌کاری" #~ msgid "Attach modal dialog to the parent window" #~ msgstr "اتصال محاوره modal به پنجره والد" -#~ msgid "This key overrides the key in org.gnome.mutter when running GNOME Shell." +#~ msgid "" +#~ "This key overrides the key in org.gnome.mutter when running GNOME Shell." #~ msgstr "" #~ "این کلید، کلید org.gnome.mutter را در هنگام اجرای گنوم‌شل بازنویسی می‌کند." @@ -284,8 +482,8 @@ msgstr "افزودن فضای‌کاری" #~ msgstr "چینش دکمه‌ها در نوار عنوان" #~ msgid "" -#~ "This key overrides the key in org.gnome.desktop.wm.preferences when running " -#~ "GNOME Shell." +#~ "This key overrides the key in org.gnome.desktop.wm.preferences when " +#~ "running GNOME Shell." #~ msgstr "" #~ "این کلید، کلید org.gnome.desktop.wm.preferences را در هنگام اجرای گنوم‌شل " #~ "بازنویسی می‌کند." @@ -299,7 +497,8 @@ msgstr "افزودن فضای‌کاری" #~ msgid "Delay focus changes in mouse mode until the pointer stops moving" #~ msgstr "" -#~ "به تاخیر انداختن تغییر تمرکز در حالت موشی تا زمانی که نشانگر از حرکت باز ایستد" +#~ "به تاخیر انداختن تغییر تمرکز در حالت موشی تا زمانی که نشانگر از حرکت باز " +#~ "ایستد" #~ msgid "Thumbnail only" #~ msgstr "تنها تصویر بندانگشتی" @@ -323,18 +522,18 @@ msgstr "افزودن فضای‌کاری" #~ msgstr "متن خوش‌آمدِ جایگزین." #~ msgid "" -#~ "If not empty, it contains the text that will be shown when clicking on the " -#~ "panel." +#~ "If not empty, it contains the text that will be shown when clicking on " +#~ "the panel." #~ msgstr "" -#~ "اگر خالی نباشد، حاوی متنی خواهد بود که که هنگام کلیک بر روی پنل نمایش داده " -#~ "می‌شود است." +#~ "اگر خالی نباشد، حاوی متنی خواهد بود که که هنگام کلیک بر روی پنل نمایش " +#~ "داده می‌شود است." #~ msgid "Message" #~ msgstr "پیام" #~ msgid "" -#~ "Example aims to show how to build well behaved extensions for the Shell and " -#~ "as such it has little functionality on its own.\n" +#~ "Example aims to show how to build well behaved extensions for the Shell " +#~ "and as such it has little functionality on its own.\n" #~ "Nevertheless it’s possible to customize the greeting message." #~ msgstr "" #~ "هدف مثال نمایش چگونگی ساخت افزونه‌های خوش‌رفتار برای پوسته است، پس خودش " @@ -370,8 +569,8 @@ msgstr "افزودن فضای‌کاری" #~ msgstr "انتقالِ انتخاب فعلی به بالا قبل از بستن پنجره واشو" #~ msgid "" -#~ "The Alternate Tab can be used in different modes, that affect the way windows " -#~ "are chosen and presented." +#~ "The Alternate Tab can be used in different modes, that affect the way " +#~ "windows are chosen and presented." #~ msgstr "" #~ "«جای‌گزین Tab» می‌تواند در حالت‌های مختلفی استفاده شود، که در نحوه باز شدن و " #~ "انتخاب پنجره‌ها تاثیر می‌گذارد." @@ -397,9 +596,6 @@ msgstr "افزودن فضای‌کاری" #~ msgid "Remove from Favorites" #~ msgstr "حذف از علاقه‌مندی‌ها" -#~ msgid "Icon size" -#~ msgstr "اندازه شمایل" - #~ msgid "Enable/disable autohide" #~ msgstr "فعال/غیرفعال کردن مخفی‌سازی خودکار" diff --git a/po/fi.po b/po/fi.po index e5ab20ef..aec2626b 100644 --- a/po/fi.po +++ b/po/fi.po @@ -1,3 +1,4 @@ +# #-#-#-#-# fi.po (gnome-shell-extensions) #-#-#-#-# # Finnish translation of gnome-shell-extensions. # Copyright (C) 2011 Ville-Pekka Vainio # This file is distributed under the same license as the gnome-shell-extensions package. @@ -7,8 +8,16 @@ # Ville-Pekka Vainio , 2011. # Jiri Grönroos , 2012, 2013, 2014, 2015, 2017. # +# #-#-#-#-# fi.po (desktop-icons master) #-#-#-#-# +# Finnish translation for desktop-icons. +# Copyright (C) 2018 desktop-icons's COPYRIGHT HOLDER +# This file is distributed under the same license as the desktop-icons package. +# Jiri Grönroos , 2018. +# +#, fuzzy msgid "" msgstr "" +"#-#-#-#-# fi.po (gnome-shell-extensions) #-#-#-#-#\n" "Project-Id-Version: gnome-shell-extensions\n" "Report-Msgid-Bugs-To: https://gitlab.gnome.org/GNOME/gnome-shell-extensions/" "issues\n" @@ -24,6 +33,20 @@ msgstr "" "X-Generator: Poedit 2.0.6\n" "X-Project-Style: gnome\n" "X-POT-Import-Date: 2012-03-05 15:06:12+0000\n" +"#-#-#-#-# fi.po (desktop-icons master) #-#-#-#-#\n" +"Project-Id-Version: desktop-icons master\n" +"Report-Msgid-Bugs-To: https://gitlab.gnome.org/World/ShellExtensions/desktop-" +"icons/issues\n" +"POT-Creation-Date: 2020-05-26 20:08+0000\n" +"PO-Revision-Date: 2020-08-16 17:43+0300\n" +"Last-Translator: Jiri Grönroos \n" +"Language-Team: Finnish \n" +"Language: fi\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" +"X-Generator: Poedit 2.4.1\n" #: data/gnome-classic.desktop.in:3 msgid "GNOME Classic" @@ -63,10 +86,14 @@ msgstr "Lisää sääntö" #. TRANSLATORS: %s is the filesystem name #: extensions/drive-menu/extension.js:112 -#: extensions/places-menu/placeDisplay.js:233 -#, javascript-format +#: extensions/places-menu/placeDisplay.js:233 desktopIconsUtil.js:162 +#, fuzzy, javascript-format msgid "Ejecting drive “%s” failed:" -msgstr "Aseman “%s” irrottaminen epäonnistui:" +msgstr "" +"#-#-#-#-# fi.po (gnome-shell-extensions) #-#-#-#-#\n" +"Aseman “%s” irrottaminen epäonnistui:\n" +"#-#-#-#-# fi.po (desktop-icons master) #-#-#-#-#\n" +"Aseman “%s” avaaminen epäonnistui:" #: extensions/drive-menu/extension.js:128 msgid "Removable devices" @@ -124,7 +151,7 @@ msgstr "Taltion “%s” liittäminen epäonnistui" msgid "Computer" msgstr "Tietokone" -#: extensions/places-menu/placeDisplay.js:359 +#: extensions/places-menu/placeDisplay.js:359 fileItem.js:925 msgid "Home" msgstr "Koti" @@ -266,6 +293,203 @@ msgstr "Työtila %d" msgid "Add Workspace" msgstr "Lisää työtila" +#: desktopGrid.js:359 +msgid "Display Settings" +msgstr "Näytön asetukset" + +#: schemas/org.gnome.shell.extensions.desktop-icons.gschema.xml:11 +#, fuzzy +msgid "Icon size" +msgstr "" +"#-#-#-#-# fi.po (gnome-shell-extensions) #-#-#-#-#\n" +"Kuvakkeiden koko\n" +"#-#-#-#-# fi.po (desktop-icons master) #-#-#-#-#\n" +"Kuvakekoko" + +#: createFolderDialog.js:46 +msgid "New folder name" +msgstr "Uusi kansion nimi" + +#: createFolderDialog.js:70 +msgid "Create" +msgstr "Luo" + +#: createFolderDialog.js:72 +msgid "Cancel" +msgstr "Peru" + +#: createFolderDialog.js:145 +msgid "Folder names cannot contain “/”." +msgstr "Kansion nimi ei voi sisältää merkkiä “/”." + +#: createFolderDialog.js:148 +msgid "A folder cannot be called “.”." +msgstr "Kansion nimi ei voi olla “.”." + +#: createFolderDialog.js:151 +msgid "A folder cannot be called “..”." +msgstr "Kansion nimi ei voi olla “..”." + +#: createFolderDialog.js:153 +msgid "Folders with “.” at the beginning of their name are hidden." +msgstr "Kansiot, joiden nimi alkaa merkillä “.”, ovat piilotettuja." + +#: createFolderDialog.js:155 +msgid "There is already a file or folder with that name." +msgstr "Nimi on jo toisen tiedoston tai kansion käytössä." + +#: prefs.js:103 +msgid "Size for the desktop icons" +msgstr "Työpöydän kuvakkeiden koko" + +#: prefs.js:103 +msgid "Small" +msgstr "Pieni" + +#: prefs.js:103 +msgid "Standard" +msgstr "Normaali" + +#: prefs.js:103 +msgid "Large" +msgstr "Suuri" + +#: prefs.js:104 +msgid "Show the personal folder in the desktop" +msgstr "Näytä kotikansio työpöydällä" + +#: prefs.js:105 +msgid "Show the trash icon in the desktop" +msgstr "Näytä roskakorin kuvake työpöydällä" + +#: prefs.js:106 +msgid "Show mounted drives in the desktop" +msgstr "Näytä liitetyt asemat työpöydällä" + +#: desktopGrid.js:346 +msgid "New Folder" +msgstr "Uusi kansio" + +#: desktopGrid.js:347 +msgid "New Document" +msgstr "Uusi asiakirja" + +#: desktopGrid.js:350 +msgid "Paste" +msgstr "Liitä" + +#: desktopGrid.js:351 +msgid "Undo" +msgstr "Kumoa" + +#: desktopGrid.js:352 +msgid "Redo" +msgstr "Tee uudeleen" + +#: desktopGrid.js:354 +msgid "Show Desktop in Files" +msgstr "Näytä työpöytä tiedostonhallinnassa" + +#: desktopGrid.js:355 fileItem.js:721 +msgid "Open in Terminal" +msgstr "Avaa päätteessä" + +#: desktopGrid.js:357 +msgid "Change Background…" +msgstr "Vaihda taustakuva…" + +#: desktopGrid.js:360 +msgid "Settings" +msgstr "Asetukset" + +#: desktopGrid.js:692 +msgid "Rename" +msgstr "Nimeä uudelleen" + +#: desktopIconsUtil.js:63 +msgid "Command not found" +msgstr "Komentoa ei löydy" + +#: fileItem.js:584 +msgid "Don’t Allow Launching" +msgstr "Älä salli käynnistämistä" + +#: fileItem.js:586 +msgid "Allow Launching" +msgstr "Salli käynnistäminen" + +#: fileItem.js:682 +msgid "Open" +msgstr "Avaa" + +#: fileItem.js:686 +msgid "Open With Other Application" +msgstr "Avaa toisella sovelluksella" + +#: fileItem.js:688 +msgid "Launch using Dedicated Graphics Card" +msgstr "Käynnistä käyttäen erillistä näytönohjainta" + +#: fileItem.js:693 +msgid "Cut" +msgstr "Leikkaa" + +#: fileItem.js:694 +msgid "Copy" +msgstr "Kopioi" + +#: fileItem.js:696 +msgid "Rename…" +msgstr "Nimeä uudelleen…" + +#: fileItem.js:697 +msgid "Move to Trash" +msgstr "Siirrä roskakoriin" + +#: fileItem.js:707 +msgid "Empty Trash" +msgstr "Tyhjennä roskakori" + +#: fileItem.js:711 +msgid "Eject" +msgstr "Poista asemasta" + +#: fileItem.js:717 +msgid "Properties" +msgstr "Ominaisuudet" + +#: fileItem.js:719 +msgid "Show in Files" +msgstr "Näytä tiedostonhallinnassa" + +#: schemas/org.gnome.shell.extensions.desktop-icons.gschema.xml:12 +msgid "Set the size for the desktop icons." +msgstr "Aseta työpöytäkuvakkeiden koko." + +#: schemas/org.gnome.shell.extensions.desktop-icons.gschema.xml:16 +msgid "Show personal folder" +msgstr "Näytä kotikansio" + +#: schemas/org.gnome.shell.extensions.desktop-icons.gschema.xml:17 +msgid "Show the personal folder in the desktop." +msgstr "Näytä kotikansio työpöydällä." + +#: schemas/org.gnome.shell.extensions.desktop-icons.gschema.xml:21 +msgid "Show trash icon" +msgstr "Näytä roskakorin kuvake" + +#: schemas/org.gnome.shell.extensions.desktop-icons.gschema.xml:22 +msgid "Show the trash icon in the desktop." +msgstr "Näytä roskakorin kuvake työpöydällä." + +#: schemas/org.gnome.shell.extensions.desktop-icons.gschema.xml:26 +msgid "Show mounted drives" +msgstr "Näytä liitetyt asemat" + +#: schemas/org.gnome.shell.extensions.desktop-icons.gschema.xml:27 +msgid "Show mounted drives in the desktop." +msgstr "Näytä liitetyt asemat työpöydällä." + #~ msgid "Application" #~ msgstr "Sovellus" @@ -357,9 +581,6 @@ msgstr "Lisää työtila" #~ msgid "Display" #~ msgstr "Näyttö" -#~ msgid "Display Settings" -#~ msgstr "Näytön asetukset" - #~ msgid "Drag here to add favorites" #~ msgstr "Raahaa tähän lisätäksesi suosikkeihin" @@ -381,9 +602,6 @@ msgstr "Lisää työtila" #~ msgstr "" #~ "Asettaa telakan sijainnin näytöllä. Sallitut arvot ovat 'right' tai 'left'" -#~ msgid "Icon size" -#~ msgstr "Kuvakkeiden koko" - #~ msgid "Sets icon size of the dock." #~ msgstr "Asettaa telakan kuvakkeiden koon." @@ -428,3 +646,12 @@ msgstr "Lisää työtila" #~ msgid "Workspace & Icons" #~ msgstr "Työtila ja kuvakkeet" + +#~ msgid "Enter file name…" +#~ msgstr "Anna tiedostonimi…" + +#~ msgid "OK" +#~ msgstr "OK" + +#~ msgid "Huge" +#~ msgstr "Valtava" diff --git a/po/fr.po b/po/fr.po index b1849159..d525a5a8 100644 --- a/po/fr.po +++ b/po/fr.po @@ -1,4 +1,5 @@ # #-#-#-#-# fr.po (gnome-shell-extensions master) #-#-#-#-# +# #-#-#-#-# fr.po (gnome-shell-extensions master) #-#-#-#-# # French translation for gnome-shell-extensions. # Copyright (C) 2011-12 Listed translators # This file is distributed under the same license as the gnome-shell-extensions package. @@ -12,10 +13,20 @@ # This file is distributed under the same license as the PACKAGE package. # FIRST AUTHOR , YEAR. # +# #-#-#-#-# fr.po (desktop-icons master) #-#-#-#-# +# French translation for desktop-icons. +# Copyright (C) 2018-2020 desktop-icons's COPYRIGHT HOLDER +# This file is distributed under the same license as the desktop-icons package. +# ghentdebian , 2018. +# Charles Monzat , 2018. +# Claude Paroz , 2020. +# Sylvestris , 2020. +# #, fuzzy msgid "" msgstr "" "#-#-#-#-# fr.po (gnome-shell-extensions master) #-#-#-#-#\n" +"#-#-#-#-# fr.po (gnome-shell-extensions master) #-#-#-#-#\n" "Project-Id-Version: gnome-shell-extensions master\n" "Report-Msgid-Bugs-To: https://gitlab.gnome.org/GNOME/gnome-shell-extensions/" "issues\n" @@ -40,6 +51,20 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Generator: Poedit 2.2.4\n" +"#-#-#-#-# fr.po (desktop-icons master) #-#-#-#-#\n" +"Project-Id-Version: desktop-icons master\n" +"Report-Msgid-Bugs-To: https://gitlab.gnome.org/World/ShellExtensions/desktop-" +"icons/issues\n" +"POT-Creation-Date: 2020-08-25 19:35+0000\n" +"PO-Revision-Date: 2020-09-20 10:54+0200\n" +"Last-Translator: Sylvestris \n" +"Language-Team: GNOME French Team \n" +"Language: fr\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n > 1);\n" +"X-Generator: Gtranslator 3.36.0\n" #: data/gnome-classic.desktop.in:3 data/gnome-classic.session.desktop.in:3 msgid "GNOME Classic" @@ -80,10 +105,14 @@ msgstr "Ajouter une règle" #. TRANSLATORS: %s is the filesystem name #: extensions/drive-menu/extension.js:112 -#: extensions/places-menu/placeDisplay.js:233 -#, javascript-format +#: extensions/places-menu/placeDisplay.js:233 desktopIconsUtil.js:162 +#, fuzzy, javascript-format msgid "Ejecting drive “%s” failed:" -msgstr "L’éjection du disque « %s » a échoué :" +msgstr "" +"#-#-#-#-# fr.po (gnome-shell-extensions master) #-#-#-#-#\n" +"L’éjection du disque « %s » a échoué :\n" +"#-#-#-#-# fr.po (desktop-icons master) #-#-#-#-#\n" +"Échec de l’éjection du disque « %s » :" #: extensions/drive-menu/extension.js:128 msgid "Removable devices" @@ -143,7 +172,7 @@ msgstr "Impossible de monter le volume « %s »" msgid "Computer" msgstr "Ordinateur" -#: extensions/places-menu/placeDisplay.js:359 +#: extensions/places-menu/placeDisplay.js:359 fileItem.js:927 msgid "Home" msgstr "Dossier personnel" @@ -788,6 +817,198 @@ msgstr "Délai d’apparition (s)" msgid "Pressure threshold" msgstr "Seuil de pression" +#: createFolderDialog.js:46 +msgid "New folder name" +msgstr "Nouveau nom de dossier" + +#: createFolderDialog.js:70 +msgid "Create" +msgstr "Créer" + +#: createFolderDialog.js:72 +msgid "Cancel" +msgstr "Annuler" + +#: createFolderDialog.js:145 +msgid "Folder names cannot contain “/”." +msgstr "Les noms de dossiers ne peuvent pas contenir « / »." + +#: createFolderDialog.js:148 +msgid "A folder cannot be called “.”." +msgstr "Un dossier ne peut pas être nommé « . »." + +#: createFolderDialog.js:151 +msgid "A folder cannot be called “..”." +msgstr "Un dossier ne peut pas être nommé « .. »." + +#: createFolderDialog.js:153 +msgid "Folders with “.” at the beginning of their name are hidden." +msgstr "Les dossiers dont le nom commence par « . » sont masqués." + +#: createFolderDialog.js:155 +msgid "There is already a file or folder with that name." +msgstr "Il existe déjà un fichier ou dossier ayant ce nom." + +#: prefs.js:103 +msgid "Size for the desktop icons" +msgstr "Taille des icônes du bureau" + +#: prefs.js:103 +msgid "Small" +msgstr "Petite" + +#: prefs.js:103 +msgid "Standard" +msgstr "Normale" + +#: prefs.js:103 +msgid "Large" +msgstr "Grande" + +#: prefs.js:104 +msgid "Show the personal folder in the desktop" +msgstr "Montrer le dossier personnel sur le bureau" + +#: prefs.js:105 +msgid "Show the trash icon in the desktop" +msgstr "Montrer la corbeille sur le bureau" + +#: prefs.js:106 +msgid "Show mounted drives in the desktop" +msgstr "Montrer les disques montés sur le bureau" + +#: desktopGrid.js:346 +msgid "New Folder" +msgstr "Nouveau dossier" + +#: desktopGrid.js:347 +msgid "New Document" +msgstr "Nouveau document" + +#: desktopGrid.js:350 +msgid "Paste" +msgstr "Coller" + +#: desktopGrid.js:351 +msgid "Undo" +msgstr "Annuler" + +#: desktopGrid.js:352 +msgid "Redo" +msgstr "Rétablir" + +#: desktopGrid.js:354 +msgid "Show Desktop in Files" +msgstr "Afficher le bureau dans Fichiers" + +#: desktopGrid.js:355 fileItem.js:723 +msgid "Open in Terminal" +msgstr "Ouvrir dans un terminal" + +#: desktopGrid.js:357 +msgid "Change Background…" +msgstr "Changer l’arrière-plan…" + +#: desktopGrid.js:359 +msgid "Display Settings" +msgstr "Configuration d’affichage" + +#: desktopGrid.js:360 +msgid "Settings" +msgstr "Paramètres" + +#: desktopGrid.js:699 +msgid "Rename" +msgstr "Renommer" + +#: desktopIconsUtil.js:63 +msgid "Command not found" +msgstr "Commande introuvable" + +#: fileItem.js:586 +msgid "Don’t Allow Launching" +msgstr "Ne pas autoriser le lancement" + +#: fileItem.js:588 +msgid "Allow Launching" +msgstr "Autoriser le lancement" + +#: fileItem.js:684 +msgid "Open" +msgstr "Ouvrir" + +#: fileItem.js:688 +msgid "Open With Other Application" +msgstr "Ouvrir avec une autre application" + +#: fileItem.js:690 +msgid "Launch using Dedicated Graphics Card" +msgstr "Lancer en utilisant une carte graphique dédiée" + +#: fileItem.js:695 +msgid "Cut" +msgstr "Couper" + +#: fileItem.js:696 +msgid "Copy" +msgstr "Copier" + +#: fileItem.js:698 +msgid "Rename…" +msgstr "Renommer…" + +#: fileItem.js:699 +msgid "Move to Trash" +msgstr "Mettre à la corbeille" + +#: fileItem.js:709 +msgid "Empty Trash" +msgstr "Vider la corbeille" + +#: fileItem.js:713 +msgid "Eject" +msgstr "Éjecter" + +#: fileItem.js:719 +msgid "Properties" +msgstr "Propriétés" + +#: fileItem.js:721 +msgid "Show in Files" +msgstr "Montrer dans Fichiers" + +#: schemas/org.gnome.shell.extensions.desktop-icons.gschema.xml:11 +msgid "Icon size" +msgstr "Taille d’icônes" + +#: schemas/org.gnome.shell.extensions.desktop-icons.gschema.xml:12 +msgid "Set the size for the desktop icons." +msgstr "Définir la taille des icônes du bureau." + +#: schemas/org.gnome.shell.extensions.desktop-icons.gschema.xml:16 +msgid "Show personal folder" +msgstr "Montrer le dossier personnel" + +#: schemas/org.gnome.shell.extensions.desktop-icons.gschema.xml:17 +msgid "Show the personal folder in the desktop." +msgstr "Montrer le dossier personnel sur le bureau." + +#: schemas/org.gnome.shell.extensions.desktop-icons.gschema.xml:21 +msgid "Show trash icon" +msgstr "Montrer l’icône de la corbeille" + +#: schemas/org.gnome.shell.extensions.desktop-icons.gschema.xml:22 +msgid "Show the trash icon in the desktop." +msgstr "Montrer la corbeille sur le bureau." + +#: schemas/org.gnome.shell.extensions.desktop-icons.gschema.xml:26 +msgid "Show mounted drives" +msgstr "Montrer les disques montés" + +#: schemas/org.gnome.shell.extensions.desktop-icons.gschema.xml:27 +msgid "Show mounted drives in the desktop." +msgstr "Montrer les disques montés sur le bureau." + #~ msgid "Create new matching rule" #~ msgstr "Créer une nouvelle règle de concordance" diff --git a/po/fur.po b/po/fur.po index c3a071c3..d1fdf148 100644 --- a/po/fur.po +++ b/po/fur.po @@ -1,10 +1,19 @@ +# #-#-#-#-# fur.po (gnome-shell-extensions master) #-#-#-#-# # Friulian translation for gnome-shell-extensions. # Copyright (C) 2013 gnome-shell-extensions's COPYRIGHT HOLDER # This file is distributed under the same license as the gnome-shell-extensions package. # Fabio Tomat , 2013. # +# #-#-#-#-# fur.po (desktop-icons master) #-#-#-#-# +# Friulian translation for desktop-icons. +# Copyright (C) 2019 desktop-icons's COPYRIGHT HOLDER +# This file is distributed under the same license as the desktop-icons package. +# Fabio Tomat , 2019. +# +#, fuzzy msgid "" msgstr "" +"#-#-#-#-# fur.po (gnome-shell-extensions master) #-#-#-#-#\n" "Project-Id-Version: gnome-shell-extensions master\n" "Report-Msgid-Bugs-To: https://gitlab.gnome.org/GNOME/gnome-shell-extensions/" "issues\n" @@ -17,6 +26,19 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Generator: Poedit 2.4.1\n" +"#-#-#-#-# fur.po (desktop-icons master) #-#-#-#-#\n" +"Project-Id-Version: desktop-icons master\n" +"Report-Msgid-Bugs-To: https://gitlab.gnome.org/World/ShellExtensions/desktop-" +"icons/issues\n" +"POT-Creation-Date: 2020-05-26 20:08+0000\n" +"PO-Revision-Date: 2020-09-08 10:04+0200\n" +"Last-Translator: Fabio Tomat \n" +"Language-Team: Friulian \n" +"Language: fur\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Poedit 2.4.1\n" #: data/gnome-classic.desktop.in:3 msgid "GNOME Classic" @@ -56,10 +78,14 @@ msgstr "Zonte regule" #. TRANSLATORS: %s is the filesystem name #: extensions/drive-menu/extension.js:112 -#: extensions/places-menu/placeDisplay.js:233 -#, javascript-format +#: extensions/places-menu/placeDisplay.js:233 desktopIconsUtil.js:162 +#, fuzzy, javascript-format msgid "Ejecting drive “%s” failed:" -msgstr "No si è rivâts a parâ fûr la unitât “%s”»:" +msgstr "" +"#-#-#-#-# fur.po (gnome-shell-extensions master) #-#-#-#-#\n" +"No si è rivâts a parâ fûr la unitât “%s”»:\n" +"#-#-#-#-# fur.po (desktop-icons master) #-#-#-#-#\n" +"No si è rivâts a parâ fûr la unitât “%s”:" #: extensions/drive-menu/extension.js:128 msgid "Removable devices" @@ -118,7 +144,7 @@ msgstr "No si è rivâts a montâ il volum par “%s”" msgid "Computer" msgstr "Computer" -#: extensions/places-menu/placeDisplay.js:359 +#: extensions/places-menu/placeDisplay.js:359 fileItem.js:925 msgid "Home" msgstr "Home" @@ -258,6 +284,203 @@ msgstr "Spazi di lavôr %d" msgid "Add Workspace" msgstr "Zonte spazi di lavôr" +#: desktopGrid.js:359 +#, fuzzy +msgid "Display Settings" +msgstr "" +"#-#-#-#-# fur.po (gnome-shell-extensions master) #-#-#-#-#\n" +"Impostazions Visôr\n" +"#-#-#-#-# fur.po (desktop-icons master) #-#-#-#-#\n" +"Impostazions visôr" + +#: createFolderDialog.js:46 +msgid "New folder name" +msgstr "Gnûf non de cartele" + +#: createFolderDialog.js:70 +msgid "Create" +msgstr "Cree" + +#: createFolderDialog.js:72 +msgid "Cancel" +msgstr "Anule" + +#: createFolderDialog.js:145 +msgid "Folder names cannot contain “/”." +msgstr "I nons des cartelis no puedin contignî il caratar “/”." + +#: createFolderDialog.js:148 +msgid "A folder cannot be called “.”." +msgstr "Une cartele no pues jessi clamade “.”." + +#: createFolderDialog.js:151 +msgid "A folder cannot be called “..”." +msgstr "Une cartele no pues jessi clamade “..”." + +#: createFolderDialog.js:153 +msgid "Folders with “.” at the beginning of their name are hidden." +msgstr "Lis cartelis cul “.” al inizi dal lôr non a son platadis." + +#: createFolderDialog.js:155 +msgid "There is already a file or folder with that name." +msgstr "Un file o une cartele cul stes non e esist za." + +#: prefs.js:103 +msgid "Size for the desktop icons" +msgstr "Dimension pes iconis dal scritori" + +#: prefs.js:103 +msgid "Small" +msgstr "Piçule" + +#: prefs.js:103 +msgid "Standard" +msgstr "Standard" + +#: prefs.js:103 +msgid "Large" +msgstr "Largje" + +#: prefs.js:104 +msgid "Show the personal folder in the desktop" +msgstr "Mostre la cartele personâl intal scritori" + +#: prefs.js:105 +msgid "Show the trash icon in the desktop" +msgstr "Mostre la icone de scovacere intal scritori" + +#: prefs.js:106 +msgid "Show mounted drives in the desktop" +msgstr "Mostre lis unitâts montadis tal scritori" + +#: desktopGrid.js:346 +msgid "New Folder" +msgstr "Gnove cartele" + +#: desktopGrid.js:347 +msgid "New Document" +msgstr "Gnûf document" + +#: desktopGrid.js:350 +msgid "Paste" +msgstr "Tache" + +#: desktopGrid.js:351 +msgid "Undo" +msgstr "Anule" + +#: desktopGrid.js:352 +msgid "Redo" +msgstr "Torne fâ" + +#: desktopGrid.js:354 +msgid "Show Desktop in Files" +msgstr "Mostre Scritori in File" + +#: desktopGrid.js:355 fileItem.js:721 +msgid "Open in Terminal" +msgstr "Vierç in Terminâl" + +#: desktopGrid.js:357 +msgid "Change Background…" +msgstr "Cambie sfont…" + +#: desktopGrid.js:360 +msgid "Settings" +msgstr "Impostazions" + +#: desktopGrid.js:692 +msgid "Rename" +msgstr "Cambie non" + +#: desktopIconsUtil.js:63 +msgid "Command not found" +msgstr "Comant no cjatât" + +#: fileItem.js:584 +msgid "Don’t Allow Launching" +msgstr "No sta permeti inviament" + +#: fileItem.js:586 +msgid "Allow Launching" +msgstr "Permet inviament" + +#: fileItem.js:682 +msgid "Open" +msgstr "Vierç" + +#: fileItem.js:686 +msgid "Open With Other Application" +msgstr "Vierç cuntune altre aplicazion" + +#: fileItem.js:688 +msgid "Launch using Dedicated Graphics Card" +msgstr "Invie doprant une schede grafiche dedicade" + +#: fileItem.js:693 +msgid "Cut" +msgstr "Taie" + +#: fileItem.js:694 +msgid "Copy" +msgstr "Copie" + +#: fileItem.js:696 +msgid "Rename…" +msgstr "Cambie non…" + +#: fileItem.js:697 +msgid "Move to Trash" +msgstr "Sposte te scovacere" + +#: fileItem.js:707 +msgid "Empty Trash" +msgstr "Disvuede scovacere" + +#: fileItem.js:711 +msgid "Eject" +msgstr "Pare fûr" + +#: fileItem.js:717 +msgid "Properties" +msgstr "Propietâts" + +#: fileItem.js:719 +msgid "Show in Files" +msgstr "Mostre in File" + +#: schemas/org.gnome.shell.extensions.desktop-icons.gschema.xml:11 +msgid "Icon size" +msgstr "Dimension icone" + +#: schemas/org.gnome.shell.extensions.desktop-icons.gschema.xml:12 +msgid "Set the size for the desktop icons." +msgstr "Stabilìs la dimension pes iconis dal scritori." + +#: schemas/org.gnome.shell.extensions.desktop-icons.gschema.xml:16 +msgid "Show personal folder" +msgstr "Mostre cartele personâl" + +#: schemas/org.gnome.shell.extensions.desktop-icons.gschema.xml:17 +msgid "Show the personal folder in the desktop." +msgstr "Mostre la cartele personâl intal scritori." + +#: schemas/org.gnome.shell.extensions.desktop-icons.gschema.xml:21 +msgid "Show trash icon" +msgstr "Mostre la icone de scovacere" + +#: schemas/org.gnome.shell.extensions.desktop-icons.gschema.xml:22 +msgid "Show the trash icon in the desktop." +msgstr "Mostre la icone de scovacere intal scritori." + +#: schemas/org.gnome.shell.extensions.desktop-icons.gschema.xml:26 +msgid "Show mounted drives" +msgstr "Mostre unitâts montadis" + +#: schemas/org.gnome.shell.extensions.desktop-icons.gschema.xml:27 +msgid "Show mounted drives in the desktop." +msgstr "Mostre lis unitâts montadis intal scritori." + #~ msgid "Application" #~ msgstr "Aplicazion" @@ -368,5 +591,8 @@ msgstr "Zonte spazi di lavôr" #~ msgid "Display" #~ msgstr "Visôr" -#~ msgid "Display Settings" -#~ msgstr "Impostazions Visôr" +#~ msgid "Enter file name…" +#~ msgstr "Inserìs il non dal file…" + +#~ msgid "OK" +#~ msgstr "Va ben" diff --git a/po/hr.po b/po/hr.po index 6accc6e0..c35afb01 100644 --- a/po/hr.po +++ b/po/hr.po @@ -1,10 +1,19 @@ +# #-#-#-#-# hr.po (gnome-shell-extensions master) #-#-#-#-# # Croatian translation for gnome-shell-extensions. # Copyright (C) 2017 gnome-shell-extensions's COPYRIGHT HOLDER # This file is distributed under the same license as the gnome-shell-extensions package. # FIRST AUTHOR , YEAR. # +# #-#-#-#-# hr.po (gnome-shell-extension-desktop-icons) #-#-#-#-# +# Croatian translation for gnome-shell-extension-desktop-icons +# Copyright (c) 2019 Rosetta Contributors and Canonical Ltd 2019 +# This file is distributed under the same license as the gnome-shell-extension-desktop-icons package. +# FIRST AUTHOR , 2019. +# +#, fuzzy msgid "" msgstr "" +"#-#-#-#-# hr.po (gnome-shell-extensions master) #-#-#-#-#\n" "Project-Id-Version: gnome-shell-extensions master\n" "Report-Msgid-Bugs-To: https://gitlab.gnome.org/GNOME/gnome-shell-extensions/" "issues\n" @@ -19,6 +28,20 @@ msgstr "" "Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n" "%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" "X-Generator: Poedit 2.4.1\n" +"#-#-#-#-# hr.po (gnome-shell-extension-desktop-icons) #-#-#-#-#\n" +"Project-Id-Version: gnome-shell-extension-desktop-icons\n" +"Report-Msgid-Bugs-To: https://gitlab.gnome.org/World/ShellExtensions/desktop-" +"icons/issues\n" +"POT-Creation-Date: 2020-05-26 20:08+0000\n" +"PO-Revision-Date: 2020-09-10 17:48+0200\n" +"Last-Translator: gogo \n" +"Language-Team: Croatian \n" +"Language: hr\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Launchpad-Export-Date: 2019-03-27 09:36+0000\n" +"X-Generator: Poedit 2.3\n" #: data/gnome-classic.desktop.in:3 data/gnome-classic.session.desktop.in:3 msgid "GNOME Classic" @@ -58,10 +81,14 @@ msgstr "Dodaj pravilo" #. TRANSLATORS: %s is the filesystem name #: extensions/drive-menu/extension.js:112 -#: extensions/places-menu/placeDisplay.js:233 -#, javascript-format +#: extensions/places-menu/placeDisplay.js:233 desktopIconsUtil.js:162 +#, fuzzy, javascript-format msgid "Ejecting drive “%s” failed:" -msgstr "Izbacivanje uređaja “%s” neuspjelo:" +msgstr "" +"#-#-#-#-# hr.po (gnome-shell-extensions master) #-#-#-#-#\n" +"Izbacivanje uređaja “%s” neuspjelo:\n" +"#-#-#-#-# hr.po (gnome-shell-extension-desktop-icons) #-#-#-#-#\n" +"Neuspjelo izbacivanje “%s” uređaja:" #: extensions/drive-menu/extension.js:128 msgid "Removable devices" @@ -120,7 +147,7 @@ msgstr "Neuspješno montiranje uređaja “%s”" msgid "Computer" msgstr "Računalo" -#: extensions/places-menu/placeDisplay.js:359 +#: extensions/places-menu/placeDisplay.js:359 fileItem.js:925 msgid "Home" msgstr "Osobna mapa" @@ -260,6 +287,198 @@ msgstr "Radni prostor %d" msgid "Add Workspace" msgstr "Dodaj radni prostor" +#: createFolderDialog.js:46 +msgid "New folder name" +msgstr "Naziv nove mape" + +#: createFolderDialog.js:70 +msgid "Create" +msgstr "Stvori" + +#: createFolderDialog.js:72 +msgid "Cancel" +msgstr "Odustani" + +#: createFolderDialog.js:145 +msgid "Folder names cannot contain “/”." +msgstr "Naziv mape ne može sadržavati “/”." + +#: createFolderDialog.js:148 +msgid "A folder cannot be called “.”." +msgstr "Mapa se ne može nazvati “.”." + +#: createFolderDialog.js:151 +msgid "A folder cannot be called “..”." +msgstr "Mapa se ne može nazvati “..”." + +#: createFolderDialog.js:153 +msgid "Folders with “.” at the beginning of their name are hidden." +msgstr "Mape koje sadrže “.” na početku njihovih naziva su skrivene." + +#: createFolderDialog.js:155 +msgid "There is already a file or folder with that name." +msgstr "Već postoji datoteka ili mapa s tim nazivom." + +#: prefs.js:103 +msgid "Size for the desktop icons" +msgstr "Veličina ikona radne površine" + +#: prefs.js:103 +msgid "Small" +msgstr "Male" + +#: prefs.js:103 +msgid "Standard" +msgstr "Standardne" + +#: prefs.js:103 +msgid "Large" +msgstr "Velike" + +#: prefs.js:104 +msgid "Show the personal folder in the desktop" +msgstr "Prikaži osobnu mapu na radnoj površini" + +#: prefs.js:105 +msgid "Show the trash icon in the desktop" +msgstr "Prikaži mapu smeća na radnoj površini" + +#: prefs.js:106 +msgid "Show mounted drives in the desktop" +msgstr "Prikaži montirane uređaje na radnoj površini" + +#: desktopGrid.js:346 +msgid "New Folder" +msgstr "Nova mapa" + +#: desktopGrid.js:347 +msgid "New Document" +msgstr "Novi dokument" + +#: desktopGrid.js:350 +msgid "Paste" +msgstr "Zalijepi" + +#: desktopGrid.js:351 +msgid "Undo" +msgstr "Poništi" + +#: desktopGrid.js:352 +msgid "Redo" +msgstr "Ponovi" + +#: desktopGrid.js:354 +msgid "Show Desktop in Files" +msgstr "Prikaži radnu površinu u Datotekama" + +#: desktopGrid.js:355 fileItem.js:721 +msgid "Open in Terminal" +msgstr "Otvori u Terminalu" + +#: desktopGrid.js:357 +msgid "Change Background…" +msgstr "Promijeni pozadinu…" + +#: desktopGrid.js:359 +msgid "Display Settings" +msgstr "Postavke zaslona" + +#: desktopGrid.js:360 +msgid "Settings" +msgstr "Postavke" + +#: desktopGrid.js:692 +msgid "Rename" +msgstr "Preimenuj" + +#: desktopIconsUtil.js:63 +msgid "Command not found" +msgstr "Naredba nije pronađena" + +#: fileItem.js:584 +msgid "Don’t Allow Launching" +msgstr "Ne dopuštaj pokretanje" + +#: fileItem.js:586 +msgid "Allow Launching" +msgstr "Dopusti pokretanje" + +#: fileItem.js:682 +msgid "Open" +msgstr "Otvori" + +#: fileItem.js:686 +msgid "Open With Other Application" +msgstr "Otvori s drugom aplikacijom" + +#: fileItem.js:688 +msgid "Launch using Dedicated Graphics Card" +msgstr "Pokreni pomoću namjenske grafičke kartice" + +#: fileItem.js:693 +msgid "Cut" +msgstr "Izreži" + +#: fileItem.js:694 +msgid "Copy" +msgstr "Kopiraj" + +#: fileItem.js:696 +msgid "Rename…" +msgstr "Preimenuj…" + +#: fileItem.js:697 +msgid "Move to Trash" +msgstr "Premjesti u smeće" + +#: fileItem.js:707 +msgid "Empty Trash" +msgstr "Isprazni smeće" + +#: fileItem.js:711 +msgid "Eject" +msgstr "Izbaci" + +#: fileItem.js:717 +msgid "Properties" +msgstr "Svojstva" + +#: fileItem.js:719 +msgid "Show in Files" +msgstr "Prikaži u Datotekama" + +#: schemas/org.gnome.shell.extensions.desktop-icons.gschema.xml:11 +msgid "Icon size" +msgstr "Veličina ikona" + +#: schemas/org.gnome.shell.extensions.desktop-icons.gschema.xml:12 +msgid "Set the size for the desktop icons." +msgstr "Postavi veličinu ikona radne površine." + +#: schemas/org.gnome.shell.extensions.desktop-icons.gschema.xml:16 +msgid "Show personal folder" +msgstr "Prikaži osobnu mapu" + +#: schemas/org.gnome.shell.extensions.desktop-icons.gschema.xml:17 +msgid "Show the personal folder in the desktop." +msgstr "Prikaži osobnu mapu na radnoj površini." + +#: schemas/org.gnome.shell.extensions.desktop-icons.gschema.xml:21 +msgid "Show trash icon" +msgstr "Prikaži ikonu smeća" + +#: schemas/org.gnome.shell.extensions.desktop-icons.gschema.xml:22 +msgid "Show the trash icon in the desktop." +msgstr "Prikaži ikonu smeća na radnoj površini." + +#: schemas/org.gnome.shell.extensions.desktop-icons.gschema.xml:26 +msgid "Show mounted drives" +msgstr "Prikaži montirane uređaje" + +#: schemas/org.gnome.shell.extensions.desktop-icons.gschema.xml:27 +msgid "Show mounted drives in the desktop." +msgstr "Prikaži montirane uređaje na radnoj površini." + #~ msgid "Application" #~ msgstr "Aplikacija" @@ -340,3 +559,9 @@ msgstr "Dodaj radni prostor" #~ "Cilj primjera je prikazati kako izgraditi proširenje koje se dobro ponaša " #~ "u ljusci i kao takvo ima ograničenu funkcionalnost.\n" #~ "Unatoč tome još uvijek je moguće promijeniti poruku pozdrava." + +#~ msgid "Enter file name…" +#~ msgstr "Upiši naziv datoteke…" + +#~ msgid "OK" +#~ msgstr "U redu" diff --git a/po/hu.po b/po/hu.po index 8be4d93d..60305081 100644 --- a/po/hu.po +++ b/po/hu.po @@ -1,4 +1,5 @@ # #-#-#-#-# hu.po (gnome-shell-extensions master) #-#-#-#-# +# #-#-#-#-# hu.po (gnome-shell-extensions master) #-#-#-#-# # Hungarian translation for gnome-shell-extensions. # Copyright (C) 2011, 2012, 2013, 2014, 2017, 2019 Free Software Foundation, Inc. # This file is distributed under the same license as the gnome-shell-extensions package. @@ -12,10 +13,17 @@ # This file is distributed under the same license as the dash-to-dock package. # # Balázs Úr , 2017. +# #-#-#-#-# hu.po (desktop-icons master) #-#-#-#-# +# Hungarian translation for desktop-icons. +# Copyright (C) 2019, 2020 The Free Software Foundation, inc. +# This file is distributed under the same license as the desktop-icons package. +# +# Balázs Úr , 2019, 2020. #, fuzzy msgid "" msgstr "" "#-#-#-#-# hu.po (gnome-shell-extensions master) #-#-#-#-#\n" +"#-#-#-#-# hu.po (gnome-shell-extensions master) #-#-#-#-#\n" "Project-Id-Version: gnome-shell-extensions master\n" "Report-Msgid-Bugs-To: https://gitlab.gnome.org/GNOME/gnome-shell-extensions/" "issues\n" @@ -42,6 +50,20 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "X-Generator: Lokalize 2.0\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" +"#-#-#-#-# hu.po (desktop-icons master) #-#-#-#-#\n" +"Project-Id-Version: desktop-icons master\n" +"Report-Msgid-Bugs-To: https://gitlab.gnome.org/World/ShellExtensions/desktop-" +"icons/issues\n" +"POT-Creation-Date: 2020-05-26 20:08+0000\n" +"PO-Revision-Date: 2020-09-12 14:46+0200\n" +"Last-Translator: Balázs Úr \n" +"Language-Team: Hungarian \n" +"Language: hu\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" +"X-Generator: Lokalize 19.12.3\n" #: data/gnome-classic.desktop.in:3 data/gnome-classic.session.desktop.in:3 msgid "GNOME Classic" @@ -81,7 +103,7 @@ msgstr "Szabály hozzáadása" #. TRANSLATORS: %s is the filesystem name #: extensions/drive-menu/extension.js:112 -#: extensions/places-menu/placeDisplay.js:233 +#: extensions/places-menu/placeDisplay.js:233 desktopIconsUtil.js:162 #, javascript-format msgid "Ejecting drive “%s” failed:" msgstr "A(z) „%s” meghajtó kiadása nem sikerült:" @@ -143,7 +165,7 @@ msgstr "Nem sikerült a kötet csatolása ennél: „%s”" msgid "Computer" msgstr "Számítógép" -#: extensions/places-menu/placeDisplay.js:359 +#: extensions/places-menu/placeDisplay.js:359 fileItem.js:925 msgid "Home" msgstr "Saját mappa" @@ -702,6 +724,201 @@ msgstr "Megjelenítési időkorlát (mp)" msgid "Pressure threshold" msgstr "Nyomás küszöbszintje" +#: createFolderDialog.js:46 +msgid "New folder name" +msgstr "Új mappa neve" + +#: createFolderDialog.js:70 +msgid "Create" +msgstr "Létrehozás" + +#: createFolderDialog.js:72 +msgid "Cancel" +msgstr "Mégse" + +#: createFolderDialog.js:145 +msgid "Folder names cannot contain “/”." +msgstr "A mappanevek nem tartalmazhatnak „/” karaktert." + +#: createFolderDialog.js:148 +msgid "A folder cannot be called “.”." +msgstr "Egy mappának nem lehet „.” a neve." + +#: createFolderDialog.js:151 +msgid "A folder cannot be called “..”." +msgstr "Egy mappának nem lehet „..” a neve." + +#: createFolderDialog.js:153 +msgid "Folders with “.” at the beginning of their name are hidden." +msgstr "A „.” karakterrel kezdődő nevű mappák rejtettek." + +#: createFolderDialog.js:155 +msgid "There is already a file or folder with that name." +msgstr "Már van egy fájl vagy mappa azzal a névvel." + +#: prefs.js:103 +msgid "Size for the desktop icons" +msgstr "Az asztali ikonok mérete" + +#: prefs.js:103 +msgid "Small" +msgstr "Kicsi" + +#: prefs.js:103 +msgid "Standard" +msgstr "Szabványos" + +#: prefs.js:103 +msgid "Large" +msgstr "Nagy" + +#: prefs.js:104 +msgid "Show the personal folder in the desktop" +msgstr "A személyes mappa megjelenítése az asztalon" + +#: prefs.js:105 +msgid "Show the trash icon in the desktop" +msgstr "A kuka ikon megjelenítése az asztalon" + +#: prefs.js:106 +#| msgid "Show the trash icon in the desktop" +msgid "Show mounted drives in the desktop" +msgstr "Csatolt meghajtók megjelenítése az asztalon" + +#: desktopGrid.js:346 +msgid "New Folder" +msgstr "Új mappa" + +#: desktopGrid.js:347 +msgid "New Document" +msgstr "Új dokumentum" + +#: desktopGrid.js:350 +msgid "Paste" +msgstr "Beillesztés" + +#: desktopGrid.js:351 +msgid "Undo" +msgstr "Visszavonás" + +#: desktopGrid.js:352 +msgid "Redo" +msgstr "Újra" + +#: desktopGrid.js:354 +msgid "Show Desktop in Files" +msgstr "Asztal megjelenítése a Fájlokban" + +#: desktopGrid.js:355 fileItem.js:721 +msgid "Open in Terminal" +msgstr "Megnyitás terminálban" + +#: desktopGrid.js:357 +msgid "Change Background…" +msgstr "Háttér megváltoztatása…" + +#: desktopGrid.js:359 +msgid "Display Settings" +msgstr "Megjelenítés beállításai" + +#: desktopGrid.js:360 +msgid "Settings" +msgstr "Beállítások" + +#: desktopGrid.js:692 +msgid "Rename" +msgstr "Átnevezés" + +#: desktopIconsUtil.js:63 +msgid "Command not found" +msgstr "A parancs nem található" + +#: fileItem.js:584 +msgid "Don’t Allow Launching" +msgstr "Ne engedélyezzen indítást" + +#: fileItem.js:586 +msgid "Allow Launching" +msgstr "Indítás engedélyezése" + +#: fileItem.js:682 +msgid "Open" +msgstr "Megnyitás" + +#: fileItem.js:686 +msgid "Open With Other Application" +msgstr "Megnyitás egyéb alkalmazással" + +#: fileItem.js:688 +msgid "Launch using Dedicated Graphics Card" +msgstr "Futtatás dedikált videokártya használatával" + +#: fileItem.js:693 +msgid "Cut" +msgstr "Kivágás" + +#: fileItem.js:694 +msgid "Copy" +msgstr "Másolás" + +#: fileItem.js:696 +msgid "Rename…" +msgstr "Átnevezés…" + +#: fileItem.js:697 +msgid "Move to Trash" +msgstr "Áthelyezés a Kukába" + +#: fileItem.js:707 +msgid "Empty Trash" +msgstr "Kuka ürítése" + +#: fileItem.js:711 +msgid "Eject" +msgstr "Kiadás" + +#: fileItem.js:717 +msgid "Properties" +msgstr "Tulajdonságok" + +#: fileItem.js:719 +msgid "Show in Files" +msgstr "Megjelenítés a Fájlokban" + +#: schemas/org.gnome.shell.extensions.desktop-icons.gschema.xml:11 +msgid "Icon size" +msgstr "Ikonméret" + +#: schemas/org.gnome.shell.extensions.desktop-icons.gschema.xml:12 +msgid "Set the size for the desktop icons." +msgstr "Az asztali ikonok méretének beállítása." + +#: schemas/org.gnome.shell.extensions.desktop-icons.gschema.xml:16 +msgid "Show personal folder" +msgstr "Személyes mappa megjelenítése" + +#: schemas/org.gnome.shell.extensions.desktop-icons.gschema.xml:17 +msgid "Show the personal folder in the desktop." +msgstr "A személyes mappa megjelenítése az asztalon." + +#: schemas/org.gnome.shell.extensions.desktop-icons.gschema.xml:21 +msgid "Show trash icon" +msgstr "Kuka ikon megjelenítése" + +#: schemas/org.gnome.shell.extensions.desktop-icons.gschema.xml:22 +msgid "Show the trash icon in the desktop." +msgstr "A kuka ikon megjelenítése az asztalon." + +#: schemas/org.gnome.shell.extensions.desktop-icons.gschema.xml:26 +#| msgid "Show in Files" +msgid "Show mounted drives" +msgstr "Csatolt meghajtók megjelenítése" + +#: schemas/org.gnome.shell.extensions.desktop-icons.gschema.xml:27 +#| msgid "Show the trash icon in the desktop." +msgid "Show mounted drives in the desktop." +msgstr "Csatolt meghajtók megjelenítése az asztalon." + #~ msgid "Application" #~ msgstr "Alkalmazás" @@ -713,3 +930,6 @@ msgstr "Nyomás küszöbszintje" #~ msgid "Name" #~ msgstr "Név" + +#~ msgid "Enter file name…" +#~ msgstr "Adjon meg egy fájlnevet…" diff --git a/po/id.po b/po/id.po index af7463f3..22268582 100644 --- a/po/id.po +++ b/po/id.po @@ -1,4 +1,5 @@ # #-#-#-#-# id.po (gnome-shell-extensions master) #-#-#-#-# +# #-#-#-#-# id.po (gnome-shell-extensions master) #-#-#-#-# # Indonesian translation for gnome-shell-extensions. # Copyright (C) 2012 gnome-shell-extensions's COPYRIGHT HOLDER # This file is distributed under the same license as the gnome-shell-extensions package. @@ -12,10 +13,18 @@ # This file is distributed under the same license as the PACKAGE package. # FIRST AUTHOR , YEAR. # +# #-#-#-#-# id.po (desktop-icons master) #-#-#-#-# +# Indonesian translation for desktop-icons. +# Copyright (C) 2018 desktop-icons's COPYRIGHT HOLDER +# This file is distributed under the same license as the desktop-icons package. +# Kukuh Syafaat , 2018-2020. +# Andika Triwidada , 2020. +# #, fuzzy msgid "" msgstr "" "#-#-#-#-# id.po (gnome-shell-extensions master) #-#-#-#-#\n" +"#-#-#-#-# id.po (gnome-shell-extensions master) #-#-#-#-#\n" "Project-Id-Version: gnome-shell-extensions master\n" "Report-Msgid-Bugs-To: https://gitlab.gnome.org/GNOME/gnome-shell-extensions/" "issues\n" @@ -43,6 +52,19 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=1; plural=0;\n" "X-Generator: Poedit 1.8.11\n" +"#-#-#-#-# id.po (desktop-icons master) #-#-#-#-#\n" +"Project-Id-Version: desktop-icons master\n" +"Report-Msgid-Bugs-To: https://gitlab.gnome.org/World/ShellExtensions/desktop-" +"icons/issues\n" +"POT-Creation-Date: 2020-05-26 20:08+0000\n" +"PO-Revision-Date: 2020-06-06 16:30+0700\n" +"Last-Translator: Andika Triwidada \n" +"Language-Team: Indonesian \n" +"Language: id\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Poedit 2.3.1\n" #: data/gnome-classic.desktop.in:3 data/gnome-classic.session.desktop.in:3 msgid "GNOME Classic" @@ -82,10 +104,14 @@ msgstr "Tambah Aturan" #. TRANSLATORS: %s is the filesystem name #: extensions/drive-menu/extension.js:112 -#: extensions/places-menu/placeDisplay.js:233 -#, javascript-format +#: extensions/places-menu/placeDisplay.js:233 desktopIconsUtil.js:162 +#, fuzzy, javascript-format msgid "Ejecting drive “%s” failed:" -msgstr "Saat mengeluarkan drive \"%s\" gagal:" +msgstr "" +"#-#-#-#-# id.po (gnome-shell-extensions master) #-#-#-#-#\n" +"Saat mengeluarkan drive \"%s\" gagal:\n" +"#-#-#-#-# id.po (desktop-icons master) #-#-#-#-#\n" +"Mengeluarkan kandar \"%s\" gagal:" #: extensions/drive-menu/extension.js:128 msgid "Removable devices" @@ -144,7 +170,7 @@ msgstr "Gagal mengaitkan volume untuk \"%s\"" msgid "Computer" msgstr "Komputer" -#: extensions/places-menu/placeDisplay.js:359 +#: extensions/places-menu/placeDisplay.js:359 fileItem.js:925 msgid "Home" msgstr "Rumah" @@ -702,6 +728,198 @@ msgstr "Tampilkan batas waktu (s)" msgid "Pressure threshold" msgstr "Ambang tekanan" +#: createFolderDialog.js:46 +msgid "New folder name" +msgstr "Nama folder baru" + +#: createFolderDialog.js:70 +msgid "Create" +msgstr "Buat" + +#: createFolderDialog.js:72 +msgid "Cancel" +msgstr "Batal" + +#: createFolderDialog.js:145 +msgid "Folder names cannot contain “/”." +msgstr "Nama folder tak boleh memuat \"/\"." + +#: createFolderDialog.js:148 +msgid "A folder cannot be called “.”." +msgstr "Sebuah folder tak bisa dinamai \".\"." + +#: createFolderDialog.js:151 +msgid "A folder cannot be called “..”." +msgstr "Sebuah folder tak bisa dinamai \"..\"." + +#: createFolderDialog.js:153 +msgid "Folders with “.” at the beginning of their name are hidden." +msgstr "Folder dengan \".\" di awal nama mereka disembunyikan." + +#: createFolderDialog.js:155 +msgid "There is already a file or folder with that name." +msgstr "Folder dengan nama itu sudah ada." + +#: prefs.js:103 +msgid "Size for the desktop icons" +msgstr "Ukuran untuk ikon destop" + +#: prefs.js:103 +msgid "Small" +msgstr "Kecil" + +#: prefs.js:103 +msgid "Standard" +msgstr "Standar" + +#: prefs.js:103 +msgid "Large" +msgstr "Besar" + +#: prefs.js:104 +msgid "Show the personal folder in the desktop" +msgstr "Tampilkan folder pribadi di destop" + +#: prefs.js:105 +msgid "Show the trash icon in the desktop" +msgstr "Tampilkan ikon tong sampah di destop" + +#: prefs.js:106 +msgid "Show mounted drives in the desktop" +msgstr "Tampilkan kandar yang dikaitkan di destop" + +#: desktopGrid.js:346 +msgid "New Folder" +msgstr "Folder Baru" + +#: desktopGrid.js:347 +msgid "New Document" +msgstr "Dokumen Baru" + +#: desktopGrid.js:350 +msgid "Paste" +msgstr "Tempel" + +#: desktopGrid.js:351 +msgid "Undo" +msgstr "Tak Jadi" + +#: desktopGrid.js:352 +msgid "Redo" +msgstr "Jadi Lagi" + +#: desktopGrid.js:354 +msgid "Show Desktop in Files" +msgstr "Tampilkan Destop pada Berkas" + +#: desktopGrid.js:355 fileItem.js:721 +msgid "Open in Terminal" +msgstr "Buka dalam Terminal" + +#: desktopGrid.js:357 +msgid "Change Background…" +msgstr "Ubah Latar Belakang…" + +#: desktopGrid.js:359 +msgid "Display Settings" +msgstr "Pengaturan Tampilan" + +#: desktopGrid.js:360 +msgid "Settings" +msgstr "Pengaturan" + +#: desktopGrid.js:692 +msgid "Rename" +msgstr "Ganti Nama" + +#: desktopIconsUtil.js:63 +msgid "Command not found" +msgstr "Perintah tidak ditemukan" + +#: fileItem.js:584 +msgid "Don’t Allow Launching" +msgstr "Jangan Izinkan Peluncuran" + +#: fileItem.js:586 +msgid "Allow Launching" +msgstr "Izinkan Peluncuran" + +#: fileItem.js:682 +msgid "Open" +msgstr "Buka" + +#: fileItem.js:686 +msgid "Open With Other Application" +msgstr "Buka Dengan Aplikasi Lain" + +#: fileItem.js:688 +msgid "Launch using Dedicated Graphics Card" +msgstr "Luncurkan menggunakan Kartu Grafis Terdedikasi" + +#: fileItem.js:693 +msgid "Cut" +msgstr "Potong" + +#: fileItem.js:694 +msgid "Copy" +msgstr "Salin" + +#: fileItem.js:696 +msgid "Rename…" +msgstr "Ganti Nama…" + +#: fileItem.js:697 +msgid "Move to Trash" +msgstr "Pindahkan ke Tong Sampah" + +#: fileItem.js:707 +msgid "Empty Trash" +msgstr "Kosongkan Tong Sampah" + +#: fileItem.js:711 +msgid "Eject" +msgstr "Keluarkan" + +#: fileItem.js:717 +msgid "Properties" +msgstr "Properti" + +#: fileItem.js:719 +msgid "Show in Files" +msgstr "Tampilkan pada Berkas" + +#: schemas/org.gnome.shell.extensions.desktop-icons.gschema.xml:11 +msgid "Icon size" +msgstr "Ukuran ikon" + +#: schemas/org.gnome.shell.extensions.desktop-icons.gschema.xml:12 +msgid "Set the size for the desktop icons." +msgstr "Set ukuran untuk ikon destop." + +#: schemas/org.gnome.shell.extensions.desktop-icons.gschema.xml:16 +msgid "Show personal folder" +msgstr "Tampilkan folder pribadi" + +#: schemas/org.gnome.shell.extensions.desktop-icons.gschema.xml:17 +msgid "Show the personal folder in the desktop." +msgstr "Tampilkan folder pribadi di destop." + +#: schemas/org.gnome.shell.extensions.desktop-icons.gschema.xml:21 +msgid "Show trash icon" +msgstr "Tampilkan ikon tong sampah" + +#: schemas/org.gnome.shell.extensions.desktop-icons.gschema.xml:22 +msgid "Show the trash icon in the desktop." +msgstr "Tampilkan ikon tong sampah di destop." + +#: schemas/org.gnome.shell.extensions.desktop-icons.gschema.xml:26 +msgid "Show mounted drives" +msgstr "Tampilkan kandar yang dikaitkan" + +#: schemas/org.gnome.shell.extensions.desktop-icons.gschema.xml:27 +msgid "Show mounted drives in the desktop." +msgstr "Tampilkan kandar yang dikaitkan di destop." + #~ msgid "Application" #~ msgstr "Aplikasi" diff --git a/po/it.po b/po/it.po index 4b425925..2b24e1b1 100644 --- a/po/it.po +++ b/po/it.po @@ -1,4 +1,5 @@ # #-#-#-#-# it.po (gnome-shell-extensions) #-#-#-#-# +# #-#-#-#-# it.po (gnome-shell-extensions) #-#-#-#-# # Italian translations for GNOME Shell extensions # Copyright (C) 2011 Giovanni Campagna et al. # Copyright (C) 2012, 2013, 2014, 2015, 2017, 2019, 2020 The Free Software Foundation, Inc. @@ -13,10 +14,18 @@ # This file is distributed under the same license as the Dash-to-Dock package. # Milo Casagrande , 2018 # +# #-#-#-#-# it.po (desktop-icons master) #-#-#-#-# +# Italian translation for desktop-icons. +# Copyright (C) 2019, 2020 desktop-icons's COPYRIGHT HOLDER +# This file is distributed under the same license as the desktop-icons package. +# Massimo Branchini , 2019. +# Milo Casagrande , 2019, 2020. +# #, fuzzy msgid "" msgstr "" "#-#-#-#-# it.po (gnome-shell-extensions) #-#-#-#-#\n" +"#-#-#-#-# it.po (gnome-shell-extensions) #-#-#-#-#\n" "Project-Id-Version: gnome-shell-extensions\n" "Report-Msgid-Bugs-To: https://gitlab.gnome.org/GNOME/gnome-shell-extensions/" "issues\n" @@ -41,6 +50,20 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" +"#-#-#-#-# it.po (desktop-icons master) #-#-#-#-#\n" +"Project-Id-Version: desktop-icons master\n" +"Report-Msgid-Bugs-To: https://gitlab.gnome.org/World/ShellExtensions/desktop-" +"icons/issues\n" +"POT-Creation-Date: 2020-04-05 19:13+0000\n" +"PO-Revision-Date: 2020-04-07 09:36+0200\n" +"Last-Translator: Milo Casagrande \n" +"Language-Team: Italian \n" +"Language: it\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" +"X-Generator: Poedit 2.2.4\n" #: data/gnome-classic.desktop.in:3 data/gnome-classic.session.desktop.in:3 msgid "GNOME Classic" @@ -776,3 +799,171 @@ msgstr "Timeout rivelazione (s)" #: Settings.ui.h:107 msgid "Pressure threshold" msgstr "Soglia pressione" + +#: createFolderDialog.js:46 +msgid "New folder name" +msgstr "Nuova cartella" + +#: createFolderDialog.js:70 +msgid "Create" +msgstr "Crea" + +#: createFolderDialog.js:72 +msgid "Cancel" +msgstr "Annulla" + +#: createFolderDialog.js:145 +msgid "Folder names cannot contain “/”." +msgstr "I nomi di cartelle non possono contenere il carattere «/»" + +#: createFolderDialog.js:148 +msgid "A folder cannot be called “.”." +msgstr "Una cartella non può essere chiamata «.»." + +#: createFolderDialog.js:151 +msgid "A folder cannot be called “..”." +msgstr "Una cartella non può essere chiamata «..»." + +#: createFolderDialog.js:153 +msgid "Folders with “.” at the beginning of their name are hidden." +msgstr "Cartelle il cui nome inizia con «.» sono nascoste." + +#: createFolderDialog.js:155 +msgid "There is already a file or folder with that name." +msgstr "Esiste già un file o una cartella con quel nome." + +#: prefs.js:102 +msgid "Size for the desktop icons" +msgstr "Dimensione delle icone della scrivania" + +#: prefs.js:102 +msgid "Small" +msgstr "Piccola" + +#: prefs.js:102 +msgid "Standard" +msgstr "Normale" + +#: prefs.js:102 +msgid "Large" +msgstr "Grande" + +#: prefs.js:103 +msgid "Show the personal folder in the desktop" +msgstr "Mostra la cartella personale sulla scrivania" + +#: prefs.js:104 +msgid "Show the trash icon in the desktop" +msgstr "Mostra il cestino sulla scrivania" + +#: desktopGrid.js:343 +msgid "New Folder" +msgstr "Nuova cartella" + +#: desktopGrid.js:345 +msgid "Paste" +msgstr "Incolla" + +#: desktopGrid.js:346 +msgid "Undo" +msgstr "Annulla" + +#: desktopGrid.js:347 +msgid "Redo" +msgstr "Ripeti" + +#: desktopGrid.js:349 +msgid "Show Desktop in Files" +msgstr "Mostra la scrivania in File" + +#: desktopGrid.js:350 fileItem.js:651 +msgid "Open in Terminal" +msgstr "Apri in Terminale" + +#: desktopGrid.js:352 +msgid "Change Background…" +msgstr "Cambia lo sfondo…" + +#: desktopGrid.js:354 +msgid "Display Settings" +msgstr "Impostazioni dello schermo" + +#: desktopGrid.js:355 +msgid "Settings" +msgstr "Impostazioni" + +#: desktopGrid.js:653 +msgid "Rename" +msgstr "Rinomina" + +#: desktopIconsUtil.js:61 +msgid "Command not found" +msgstr "Comando non trovato" + +#: fileItem.js:521 +msgid "Don’t Allow Launching" +msgstr "Non permettere l'esecuzione" + +#: fileItem.js:523 +msgid "Allow Launching" +msgstr "Permetti l'esecuzione" + +#: fileItem.js:619 +msgid "Open" +msgstr "Apri" + +#: fileItem.js:623 +msgid "Open With Other Application" +msgstr "Apri con altra applicazione" + +#: fileItem.js:627 +msgid "Cut" +msgstr "Taglia" + +#: fileItem.js:628 +msgid "Copy" +msgstr "Copia" + +#: fileItem.js:630 +msgid "Rename…" +msgstr "Rinomina…" + +#: fileItem.js:631 +msgid "Move to Trash" +msgstr "Sposta nel cestino" + +#: fileItem.js:641 +msgid "Empty Trash" +msgstr "Svuota il cestino" + +#: fileItem.js:647 +msgid "Properties" +msgstr "Proprietà" + +#: fileItem.js:649 +msgid "Show in Files" +msgstr "Mostra in File" + +#: schemas/org.gnome.shell.extensions.desktop-icons.gschema.xml:11 +msgid "Icon size" +msgstr "Dimensione dell'icona" + +#: schemas/org.gnome.shell.extensions.desktop-icons.gschema.xml:12 +msgid "Set the size for the desktop icons." +msgstr "Imposta la grandezza delle icone della scrivania." + +#: schemas/org.gnome.shell.extensions.desktop-icons.gschema.xml:16 +msgid "Show personal folder" +msgstr "Mostra la cartella personale" + +#: schemas/org.gnome.shell.extensions.desktop-icons.gschema.xml:17 +msgid "Show the personal folder in the desktop." +msgstr "Mostra la cartella personale sulla scrivania." + +#: schemas/org.gnome.shell.extensions.desktop-icons.gschema.xml:21 +msgid "Show trash icon" +msgstr "Mostra il cestino" + +#: schemas/org.gnome.shell.extensions.desktop-icons.gschema.xml:22 +msgid "Show the trash icon in the desktop." +msgstr "Mostra il cestino sulla scrivania." diff --git a/po/ja.po b/po/ja.po index 30b84200..8eb77253 100644 --- a/po/ja.po +++ b/po/ja.po @@ -1,4 +1,5 @@ # #-#-#-#-# ja.po (gnome-shell-extensions master) #-#-#-#-# +# #-#-#-#-# ja.po (gnome-shell-extensions master) #-#-#-#-# # gnome-shell-extensions ja.po # Copyright (C) 2011-2015, 2019-2020 gnome-shell-extensions's COPYRIGHT HOLDER # This file is distributed under the same license as the gnome-shell-extensions package. @@ -18,10 +19,17 @@ # sicklylife , 2019-2020. # Ryo Nakano , 2019. # +# #-#-#-#-# ja.po (desktop-icons master) #-#-#-#-# +# Japanese translation for desktop-icons. +# Copyright (C) 2019-2020 desktop-icons's COPYRIGHT HOLDER +# This file is distributed under the same license as the desktop-icons package. +# sicklylife , 2019-2020. +# #, fuzzy msgid "" msgstr "" "#-#-#-#-# ja.po (gnome-shell-extensions master) #-#-#-#-#\n" +"#-#-#-#-# ja.po (gnome-shell-extensions master) #-#-#-#-#\n" "Project-Id-Version: gnome-shell-extensions master\n" "Report-Msgid-Bugs-To: https://gitlab.gnome.org/GNOME/gnome-shell-extensions/" "issues\n" @@ -46,6 +54,19 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=1; plural=0;\n" +"#-#-#-#-# ja.po (desktop-icons master) #-#-#-#-#\n" +"Project-Id-Version: desktop-icons master\n" +"Report-Msgid-Bugs-To: https://gitlab.gnome.org/World/ShellExtensions/desktop-" +"icons/issues\n" +"POT-Creation-Date: 2020-05-26 20:08+0000\n" +"PO-Revision-Date: 2020-05-30 00:00+0900\n" +"Last-Translator: sicklylife \n" +"Language-Team: Japanese \n" +"Language: ja\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" #: data/gnome-classic.desktop.in:3 data/gnome-classic.session.desktop.in:3 msgid "GNOME Classic" @@ -85,10 +106,14 @@ msgstr "ルールを追加" #. TRANSLATORS: %s is the filesystem name #: extensions/drive-menu/extension.js:112 -#: extensions/places-menu/placeDisplay.js:233 -#, javascript-format +#: extensions/places-menu/placeDisplay.js:233 desktopIconsUtil.js:162 +#, fuzzy, javascript-format msgid "Ejecting drive “%s” failed:" -msgstr "ドライブ“%s”の取り出しに失敗しました:" +msgstr "" +"#-#-#-#-# ja.po (gnome-shell-extensions master) #-#-#-#-#\n" +"ドライブ“%s”の取り出しに失敗しました:\n" +"#-#-#-#-# ja.po (desktop-icons master) #-#-#-#-#\n" +"“%s”の取り出しに失敗しました:" #: extensions/drive-menu/extension.js:128 msgid "Removable devices" @@ -148,7 +173,7 @@ msgstr "“%s”のマウントに失敗しました" msgid "Computer" msgstr "コンピューター" -#: extensions/places-menu/placeDisplay.js:359 +#: extensions/places-menu/placeDisplay.js:359 fileItem.js:925 msgid "Home" msgstr "ホーム" @@ -329,7 +354,7 @@ msgstr "お気に入りから削除" msgid "All Windows" msgstr "ウィンドウプレビューの表示" -#: appIcons.js:823 +#: appIcons.js:823 fileItem.js:688 msgid "Launch using Dedicated Graphics Card" msgstr "専用のグラフィックカードを使用して起動" @@ -359,7 +384,7 @@ msgstr "%d 個のウィンドウを終了" msgid "Dash to Dock %s" msgstr "Dash to Dock の%s" -#: appIcons.js:1134 +#: appIcons.js:1134 desktopGrid.js:360 msgid "Settings" msgstr "設定" @@ -371,7 +396,7 @@ msgstr "Dash" msgid "Trash" msgstr "ゴミ箱" -#: locations.js:74 +#: locations.js:74 fileItem.js:707 msgid "Empty Trash" msgstr "ゴミ箱を空にする" @@ -379,7 +404,7 @@ msgstr "ゴミ箱を空にする" msgid "Mount" msgstr "マウント" -#: locations.js:235 +#: locations.js:235 fileItem.js:711 msgid "Eject" msgstr "取り出す" @@ -869,6 +894,192 @@ msgstr "表示までのタイムアウト (秒)" msgid "Pressure threshold" msgstr "押し込み量 (ピクセル)" +#: desktopGrid.js:359 +#, fuzzy +msgid "Display Settings" +msgstr "" +"#-#-#-#-# ja.po (gnome-shell-extensions master) #-#-#-#-#\n" +"ディスプレイ設定\n" +"#-#-#-#-# ja.po (desktop-icons master) #-#-#-#-#\n" +"ディスプレイの設定" + +#: schemas/org.gnome.shell.extensions.desktop-icons.gschema.xml:11 +#, fuzzy +msgid "Icon size" +msgstr "" +"#-#-#-#-# ja.po (gnome-shell-extensions master) #-#-#-#-#\n" +"アイコンのサイズ\n" +"#-#-#-#-# ja.po (desktop-icons master) #-#-#-#-#\n" +"アイコンサイズ" + +#: createFolderDialog.js:46 +msgid "New folder name" +msgstr "新しいフォルダー名" + +#: createFolderDialog.js:70 +msgid "Create" +msgstr "作成" + +#: createFolderDialog.js:72 +msgid "Cancel" +msgstr "キャンセル" + +#: createFolderDialog.js:145 +msgid "Folder names cannot contain “/”." +msgstr "“/”はフォルダー名に含められません。" + +#: createFolderDialog.js:148 +msgid "A folder cannot be called “.”." +msgstr "“.”という名前はフォルダーに付けられません。" + +#: createFolderDialog.js:151 +msgid "A folder cannot be called “..”." +msgstr "“..”という名前はフォルダーに付けられません。" + +#: createFolderDialog.js:153 +msgid "Folders with “.” at the beginning of their name are hidden." +msgstr "“.”で始まるフォルダーは隠しフォルダーになります。" + +#: createFolderDialog.js:155 +msgid "There is already a file or folder with that name." +msgstr "その名前のファイルかフォルダーがすでに存在します。" + +#: prefs.js:103 +msgid "Size for the desktop icons" +msgstr "デスクトップアイコンのサイズ" + +#: prefs.js:103 +msgid "Small" +msgstr "小さい" + +#: prefs.js:103 +msgid "Standard" +msgstr "標準" + +#: prefs.js:103 +msgid "Large" +msgstr "大きい" + +#: prefs.js:104 +msgid "Show the personal folder in the desktop" +msgstr "ホームフォルダーをデスクトップに表示する" + +#: prefs.js:105 +msgid "Show the trash icon in the desktop" +msgstr "ゴミ箱をデスクトップに表示する" + +#: prefs.js:106 +msgid "Show mounted drives in the desktop" +msgstr "マウントしたドライブをデスクトップに表示する" + +#: desktopGrid.js:346 +msgid "New Folder" +msgstr "新しいフォルダー" + +#: desktopGrid.js:347 +msgid "New Document" +msgstr "新しいドキュメント" + +#: desktopGrid.js:350 +msgid "Paste" +msgstr "貼り付け" + +#: desktopGrid.js:351 +msgid "Undo" +msgstr "元に戻す" + +#: desktopGrid.js:352 +msgid "Redo" +msgstr "やり直す" + +#: desktopGrid.js:354 +msgid "Show Desktop in Files" +msgstr "“ファイル”でデスクトップを表示" + +#: desktopGrid.js:355 fileItem.js:721 +msgid "Open in Terminal" +msgstr "端末で開く" + +#: desktopGrid.js:357 +msgid "Change Background…" +msgstr "背景を変更…" + +#: desktopGrid.js:692 +msgid "Rename" +msgstr "名前を変更" + +#: desktopIconsUtil.js:63 +msgid "Command not found" +msgstr "コマンドが見つかりませんでした" + +#: fileItem.js:584 +msgid "Don’t Allow Launching" +msgstr "起動を許可しない" + +#: fileItem.js:586 +msgid "Allow Launching" +msgstr "起動を許可する" + +#: fileItem.js:682 +msgid "Open" +msgstr "開く" + +#: fileItem.js:686 +msgid "Open With Other Application" +msgstr "別のアプリケーションで開く" + +#: fileItem.js:693 +msgid "Cut" +msgstr "切り取り" + +#: fileItem.js:694 +msgid "Copy" +msgstr "コピー" + +#: fileItem.js:696 +msgid "Rename…" +msgstr "名前を変更…" + +#: fileItem.js:697 +msgid "Move to Trash" +msgstr "ゴミ箱へ移動する" + +#: fileItem.js:717 +msgid "Properties" +msgstr "プロパティ" + +#: fileItem.js:719 +msgid "Show in Files" +msgstr "“ファイル”で表示" + +#: schemas/org.gnome.shell.extensions.desktop-icons.gschema.xml:12 +msgid "Set the size for the desktop icons." +msgstr "デスクトップのアイコンサイズを設定します。" + +#: schemas/org.gnome.shell.extensions.desktop-icons.gschema.xml:16 +msgid "Show personal folder" +msgstr "ホームフォルダーを表示する" + +#: schemas/org.gnome.shell.extensions.desktop-icons.gschema.xml:17 +msgid "Show the personal folder in the desktop." +msgstr "デスクトップにホームフォルダーを表示します。" + +#: schemas/org.gnome.shell.extensions.desktop-icons.gschema.xml:21 +msgid "Show trash icon" +msgstr "ゴミ箱アイコンを表示する" + +#: schemas/org.gnome.shell.extensions.desktop-icons.gschema.xml:22 +msgid "Show the trash icon in the desktop." +msgstr "デスクトップにゴミ箱のアイコンを表示します。" + +#: schemas/org.gnome.shell.extensions.desktop-icons.gschema.xml:26 +msgid "Show mounted drives" +msgstr "マウントしたドライブを表示する" + +#: schemas/org.gnome.shell.extensions.desktop-icons.gschema.xml:27 +msgid "Show mounted drives in the desktop." +msgstr "デスクトップにマウントしたドライブを表示します。" + #~ msgid "Application" #~ msgstr "アプリケーション" @@ -970,9 +1181,6 @@ msgstr "押し込み量 (ピクセル)" #~ msgid "Display" #~ msgstr "ディスプレイ" -#~ msgid "Display Settings" -#~ msgstr "ディスプレイ設定" - #~ msgid "Suspend" #~ msgstr "サスペンド" @@ -1012,9 +1220,6 @@ msgstr "押し込み量 (ピクセル)" #~ msgid "Drag here to add favorites" #~ msgstr "ドラッグでお気に入りに追加" -#~ msgid "Icon size" -#~ msgstr "アイコンのサイズ" - #~ msgid "Position of the dock" #~ msgstr "ドックの位置" diff --git a/po/kab.po b/po/kab.po index bc98151d..5184aac5 100644 --- a/po/kab.po +++ b/po/kab.po @@ -3,8 +3,10 @@ # This file is distributed under the same license as the PACKAGE package. # FIRST AUTHOR , YEAR. # +#, fuzzy msgid "" msgstr "" +"#-#-#-#-# kab.po #-#-#-#-#\n" "Project-Id-Version: \n" "Report-Msgid-Bugs-To: https://gitlab.gnome.org/GNOME/gnome-shell-extensions/" "issues\n" @@ -18,6 +20,20 @@ msgstr "" "Last-Translator: Yacine Bouklif \n" "Language-Team: \n" "X-Generator: Poedit 2.4.1\n" +"#-#-#-#-# kab.po #-#-#-#-#\n" +"Project-Id-Version: \n" +"Report-Msgid-Bugs-To: https://gitlab.gnome.org/World/ShellExtensions/desktop-" +"icons/issues\n" +"POT-Creation-Date: 2021-03-28 17:45+0000\n" +"PO-Revision-Date: 2021-04-03 21:21+0100\n" +"Language-Team: \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Poedit 2.4.2\n" +"Last-Translator: Slimane Selyan Amiri \n" +"Plural-Forms: nplurals=2; plural=(n > 1);\n" +"Language: kab\n" #: data/gnome-classic.desktop.in:3 msgid "GNOME Classic" @@ -57,10 +73,14 @@ msgstr "Rnu alugen" #. TRANSLATORS: %s is the filesystem name #: extensions/drive-menu/extension.js:112 -#: extensions/places-menu/placeDisplay.js:233 -#, javascript-format +#: extensions/places-menu/placeDisplay.js:233 desktopIconsUtil.js:162 +#, fuzzy, javascript-format msgid "Ejecting drive “%s” failed:" -msgstr "Aḍeqqer n uḍebsi “%s” ur yeddi ara:" +msgstr "" +"#-#-#-#-# kab.po #-#-#-#-#\n" +"Aḍeqqer n uḍebsi “%s” ur yeddi ara:\n" +"#-#-#-#-# kab.po #-#-#-#-#\n" +"Aḍegger n uḍebsi “%s” ur yeddi ara:" #: extensions/drive-menu/extension.js:128 msgid "Removable devices" @@ -112,9 +132,14 @@ msgstr "Aserkeb n ubleɣ “%s” ur yeddi ara" msgid "Computer" msgstr "Aselkim" -#: extensions/places-menu/placeDisplay.js:359 +#: extensions/places-menu/placeDisplay.js:359 fileItem.js:951 +#, fuzzy msgid "Home" -msgstr "Asebter agejdan" +msgstr "" +"#-#-#-#-# kab.po #-#-#-#-#\n" +"Asebter agejdan\n" +"#-#-#-#-# kab.po #-#-#-#-#\n" +"Asnubeg" #: extensions/places-menu/placeDisplay.js:404 msgid "Browse Network" @@ -252,3 +277,195 @@ msgstr "Tallunt n umahil %d" #: extensions/workspace-indicator/prefs.js:218 msgid "Add Workspace" msgstr "Rnu tallunt n umahil" + +#: createFolderDialog.js:46 +msgid "New folder name" +msgstr "Isem n ukaram amaynut" + +#: createFolderDialog.js:72 +msgid "Create" +msgstr "Rnu" + +#: createFolderDialog.js:74 +msgid "Cancel" +msgstr "Sefsex" + +#: createFolderDialog.js:147 +msgid "Folder names cannot contain “/”." +msgstr "Isem n ukaram ur izmir ara ad igber “/”." + +#: createFolderDialog.js:150 +msgid "A folder cannot be called “.”." +msgstr "Isem n ukaram ur izmir ara ad yili “.”." + +#: createFolderDialog.js:153 +msgid "A folder cannot be called “..”." +msgstr "Isem n ukaram ur izmir ara ad yili “..”." + +#: createFolderDialog.js:155 +msgid "Folders with “.” at the beginning of their name are hidden." +msgstr "Ikaramen s “.” di tazwara n yisem-nsen ttwafren." + +#: createFolderDialog.js:157 +msgid "There is already a file or folder with that name." +msgstr "Akaram s yisem-agi yella yakan." + +#: prefs.js:103 +msgid "Size for the desktop icons" +msgstr "Tuɣzi n tegnitin n tnarit" + +#: prefs.js:103 +msgid "Small" +msgstr "Meẓẓi" + +#: prefs.js:103 +msgid "Standard" +msgstr "Anaway" + +#: prefs.js:103 +msgid "Large" +msgstr "Meqqer" + +#: prefs.js:104 +msgid "Show the personal folder in the desktop" +msgstr "Sken akaram udmawan deg tnarit" + +#: prefs.js:105 +msgid "Show the trash icon in the desktop" +msgstr "Sken tignit n tqecwalt deg tnarit" + +#: prefs.js:106 +msgid "Show mounted drives in the desktop" +msgstr "Sken iḍebsiyen irekben deg tnarit" + +#: desktopGrid.js:346 +msgid "New Folder" +msgstr "Akaram amaynut" + +#: desktopGrid.js:347 +msgid "New Document" +msgstr "Isemli amaynut" + +#: desktopGrid.js:350 +msgid "Paste" +msgstr "Senṭeḍ" + +#: desktopGrid.js:351 +msgid "Undo" +msgstr "Err-d" + +#: desktopGrid.js:352 +msgid "Redo" +msgstr "Uɣal" + +#: desktopGrid.js:354 +msgid "Show Desktop in Files" +msgstr "Sken-d tanarit deg ifuyla" + +#: desktopGrid.js:355 fileItem.js:726 +msgid "Open in Terminal" +msgstr "Ldi deg unneftaɣ" + +#: desktopGrid.js:357 +msgid "Change Background…" +msgstr "Beddel agilal…" + +#: desktopGrid.js:359 +msgid "Display Settings" +msgstr "Iɣewwaren n uskan" + +#: desktopGrid.js:360 +msgid "Settings" +msgstr "Iɣewwaṛen" + +#: desktopGrid.js:699 +msgid "Rename" +msgstr "Beddel isem" + +#: desktopIconsUtil.js:63 +msgid "Command not found" +msgstr "Ulac taladna" + +#: fileItem.js:589 +msgid "Don’t Allow Launching" +msgstr "Ur sirig ara asenker" + +#: fileItem.js:591 +msgid "Allow Launching" +msgstr "Sireg asenker" + +#: fileItem.js:687 +msgid "Open" +msgstr "Ldi" + +#: fileItem.js:691 +msgid "Open With Other Application" +msgstr "Ldi s usnas-nniḍen" + +#: fileItem.js:693 +msgid "Launch using Dedicated Graphics Card" +msgstr "Sker s useqdec n tkarḍa tudlift ittwaHerzen" + +#: fileItem.js:698 +msgid "Cut" +msgstr "Gzem" + +#: fileItem.js:699 +msgid "Copy" +msgstr "Nɣel" + +#: fileItem.js:701 +msgid "Rename…" +msgstr "Snifel isem…" + +#: fileItem.js:702 +msgid "Move to Trash" +msgstr "Smutti ɣer tqecwalt" + +#: fileItem.js:712 +msgid "Empty Trash" +msgstr "Ḍeggeṛ iḍumman" + +#: fileItem.js:716 +msgid "Eject" +msgstr "Ḍeqqer-d" + +#: fileItem.js:722 +msgid "Properties" +msgstr "Tulmisin" + +#: fileItem.js:724 +msgid "Show in Files" +msgstr "Sken deg ifulay" + +#: schemas/org.gnome.shell.extensions.desktop-icons.gschema.xml:11 +msgid "Icon size" +msgstr "Tuɣzi n tignit" + +#: schemas/org.gnome.shell.extensions.desktop-icons.gschema.xml:12 +msgid "Set the size for the desktop icons." +msgstr "Sbadu tuɣzi n tegnitin n tnarit." + +#: schemas/org.gnome.shell.extensions.desktop-icons.gschema.xml:16 +msgid "Show personal folder" +msgstr "Sken akaram udmawan" + +#: schemas/org.gnome.shell.extensions.desktop-icons.gschema.xml:17 +msgid "Show the personal folder in the desktop." +msgstr "Sken akaram udmawan deg tnarit." + +#: schemas/org.gnome.shell.extensions.desktop-icons.gschema.xml:21 +msgid "Show trash icon" +msgstr "Sken tignit n tqecwalt" + +#: schemas/org.gnome.shell.extensions.desktop-icons.gschema.xml:22 +msgid "Show the trash icon in the desktop." +msgstr "Sken tignit n tqecwalt deg tnarit." + +#: schemas/org.gnome.shell.extensions.desktop-icons.gschema.xml:26 +msgid "Show mounted drives" +msgstr "Sken iḍebsiyen irekben" + +#: schemas/org.gnome.shell.extensions.desktop-icons.gschema.xml:27 +msgid "Show mounted drives in the desktop." +msgstr "Sken iḍebsiyen irekben deg tnarit." diff --git a/po/ko.po b/po/ko.po index aeb5010c..e7926e95 100644 --- a/po/ko.po +++ b/po/ko.po @@ -1,3 +1,4 @@ +# #-#-#-#-# ko.po (gnome-shell-extensions) #-#-#-#-# # Korean translation for gnome-shell-extensions. # Copyright (C) 2012 gnome-shell-extensions's COPYRIGHT HOLDER # This file is distributed under the same license as the gnome-shell-extensions package. @@ -5,8 +6,17 @@ # Seong-ho Cho , 2012. # Changwoo Ryu , 2013-2015, 2017, 2019-2020. # +# #-#-#-#-# ko.po (desktop-icons master) #-#-#-#-# +# Korean translation for desktop-icons. +# Copyright (C) 2021 desktop-icons's COPYRIGHT HOLDER +# This file is distributed under the same license as the desktop-icons package. +# FIRST AUTHOR , YEAR. +# Kuroe Hanako , 2021. +# +#, fuzzy msgid "" msgstr "" +"#-#-#-#-# ko.po (gnome-shell-extensions) #-#-#-#-#\n" "Project-Id-Version: gnome-shell-extensions\n" "Report-Msgid-Bugs-To: https://gitlab.gnome.org/GNOME/gnome-shell-extensions/" "issues\n" @@ -19,6 +29,20 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=1; plural=0;\n" +"#-#-#-#-# ko.po (desktop-icons master) #-#-#-#-#\n" +"Project-Id-Version: desktop-icons master\n" +"Report-Msgid-Bugs-To: https://gitlab.gnome.org/World/ShellExtensions/desktop-" +"icons/issues\n" +"POT-Creation-Date: 2021-03-17 02:05+0000\n" +"PO-Revision-Date: 2021-03-28 13:11+0900\n" +"Last-Translator: Kuroe Hanako \n" +"Language-Team: Korean \n" +"Language: ko\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: Gtranslator 3.36.0\n" #: data/gnome-classic.desktop.in:3 data/gnome-classic.session.desktop.in:3 msgid "GNOME Classic" @@ -58,10 +82,14 @@ msgstr "규칙 추가" #. TRANSLATORS: %s is the filesystem name #: extensions/drive-menu/extension.js:112 -#: extensions/places-menu/placeDisplay.js:233 -#, javascript-format +#: extensions/places-menu/placeDisplay.js:233 desktopIconsUtil.js:162 +#, fuzzy, javascript-format msgid "Ejecting drive “%s” failed:" -msgstr "“%s” 드라이브를 빼는데 실패했습니다:" +msgstr "" +"#-#-#-#-# ko.po (gnome-shell-extensions) #-#-#-#-#\n" +"“%s” 드라이브를 빼는데 실패했습니다:\n" +"#-#-#-#-# ko.po (desktop-icons master) #-#-#-#-#\n" +"\"%s\" 드라이브를 꺼내는 데 실패했습니다:" #: extensions/drive-menu/extension.js:128 msgid "Removable devices" @@ -119,7 +147,7 @@ msgstr "“%s” 볼륨 마운트에 실패했습니다" msgid "Computer" msgstr "컴퓨터" -#: extensions/places-menu/placeDisplay.js:359 +#: extensions/places-menu/placeDisplay.js:359 fileItem.js:951 msgid "Home" msgstr "홈" @@ -258,6 +286,198 @@ msgstr "작업 공간 %d" msgid "Add Workspace" msgstr "작업 공간 추가" +#: createFolderDialog.js:46 +msgid "New folder name" +msgstr "새 폴더 이름" + +#: createFolderDialog.js:72 +msgid "Create" +msgstr "만들기" + +#: createFolderDialog.js:74 +msgid "Cancel" +msgstr "취소" + +#: createFolderDialog.js:147 +msgid "Folder names cannot contain “/”." +msgstr "폴더 이름에는 \"/\"가 들어갈 수 없습니다." + +#: createFolderDialog.js:150 +msgid "A folder cannot be called “.”." +msgstr "폴더 이름은 \".\"이 될 수 없습니다." + +#: createFolderDialog.js:153 +msgid "A folder cannot be called “..”." +msgstr "폴더 이름은 \"..\"이 될 수 없습니다." + +#: createFolderDialog.js:155 +msgid "Folders with “.” at the beginning of their name are hidden." +msgstr "폴더 이름이 \".\"으로 시작하면 폴더가 숨겨집니다." + +#: createFolderDialog.js:157 +msgid "There is already a file or folder with that name." +msgstr "같은 이름의 폴더가 이미 있습니다." + +#: prefs.js:103 +msgid "Size for the desktop icons" +msgstr "바탕 화면 아이콘 크기" + +#: prefs.js:103 +msgid "Small" +msgstr "작게" + +#: prefs.js:103 +msgid "Standard" +msgstr "보통" + +#: prefs.js:103 +msgid "Large" +msgstr "크게" + +#: prefs.js:104 +msgid "Show the personal folder in the desktop" +msgstr "사용자 폴더를 바탕 화면에 표시" + +#: prefs.js:105 +msgid "Show the trash icon in the desktop" +msgstr "휴지통 아이콘을 바탕 화면에 표시" + +#: prefs.js:106 +msgid "Show mounted drives in the desktop" +msgstr "마운트된 드라이브를 바탕 화면에 표시" + +#: desktopGrid.js:346 +msgid "New Folder" +msgstr "새 폴더" + +#: desktopGrid.js:347 +msgid "New Document" +msgstr "새 문서" + +#: desktopGrid.js:350 +msgid "Paste" +msgstr "붙여넣기" + +#: desktopGrid.js:351 +msgid "Undo" +msgstr "실행 취소" + +#: desktopGrid.js:352 +msgid "Redo" +msgstr "다시 실행" + +#: desktopGrid.js:354 +msgid "Show Desktop in Files" +msgstr "파일에서 바탕 화면 보기" + +#: desktopGrid.js:355 fileItem.js:726 +msgid "Open in Terminal" +msgstr "터미널에서 열기" + +#: desktopGrid.js:357 +msgid "Change Background…" +msgstr "배경 바꾸기…" + +#: desktopGrid.js:359 +msgid "Display Settings" +msgstr "디스플레이 설정" + +#: desktopGrid.js:360 +msgid "Settings" +msgstr "설정" + +#: desktopGrid.js:699 +msgid "Rename" +msgstr "이름 바꾸기" + +#: desktopIconsUtil.js:63 +msgid "Command not found" +msgstr "명령을 찾을 수 없음" + +#: fileItem.js:589 +msgid "Don’t Allow Launching" +msgstr "실행 허용하지 않음" + +#: fileItem.js:591 +msgid "Allow Launching" +msgstr "실행 허용" + +#: fileItem.js:687 +msgid "Open" +msgstr "열기" + +#: fileItem.js:691 +msgid "Open With Other Application" +msgstr "다른 프로그램으로 열기" + +#: fileItem.js:693 +msgid "Launch using Dedicated Graphics Card" +msgstr "전용 그래픽 카드로 실행" + +#: fileItem.js:698 +msgid "Cut" +msgstr "잘라내기" + +#: fileItem.js:699 +msgid "Copy" +msgstr "복사" + +#: fileItem.js:701 +msgid "Rename…" +msgstr "이름 바꾸기…" + +#: fileItem.js:702 +msgid "Move to Trash" +msgstr "휴지통에 버리기" + +#: fileItem.js:712 +msgid "Empty Trash" +msgstr "휴지통 비우기" + +#: fileItem.js:716 +msgid "Eject" +msgstr "꺼내기" + +#: fileItem.js:722 +msgid "Properties" +msgstr "속성" + +#: fileItem.js:724 +msgid "Show in Files" +msgstr "파일에서 보기" + +#: schemas/org.gnome.shell.extensions.desktop-icons.gschema.xml:11 +msgid "Icon size" +msgstr "아이콘 크기" + +#: schemas/org.gnome.shell.extensions.desktop-icons.gschema.xml:12 +msgid "Set the size for the desktop icons." +msgstr "바탕 화면의 아이콘 크기를 설정합니다." + +#: schemas/org.gnome.shell.extensions.desktop-icons.gschema.xml:16 +msgid "Show personal folder" +msgstr "사용자 폴더 표시" + +#: schemas/org.gnome.shell.extensions.desktop-icons.gschema.xml:17 +msgid "Show the personal folder in the desktop." +msgstr "바탕 화면에 사용자 폴더를 표시합니다." + +#: schemas/org.gnome.shell.extensions.desktop-icons.gschema.xml:21 +msgid "Show trash icon" +msgstr "휴지통 아이콘 표시" + +#: schemas/org.gnome.shell.extensions.desktop-icons.gschema.xml:22 +msgid "Show the trash icon in the desktop." +msgstr "바탕 화면에 휴지통 아이콘을 표시합니다." + +#: schemas/org.gnome.shell.extensions.desktop-icons.gschema.xml:26 +msgid "Show mounted drives" +msgstr "마운트된 드라이브 표시" + +#: schemas/org.gnome.shell.extensions.desktop-icons.gschema.xml:27 +msgid "Show mounted drives in the desktop." +msgstr "바탕 화면에 마운트된 드라이브를 표시합니다." + #~ msgid "Application" #~ msgstr "프로그램" diff --git a/po/nl.po b/po/nl.po index 6a1ee07c..b1d2aed2 100644 --- a/po/nl.po +++ b/po/nl.po @@ -1,4 +1,5 @@ # #-#-#-#-# nl.po (gnome-shell-extensions master) #-#-#-#-# +# #-#-#-#-# nl.po (gnome-shell-extensions master) #-#-#-#-# # Dutch translation for gnome-shell-extensions. # Copyright (C) 2013 gnome-shell-extensions's COPYRIGHT HOLDER # This file is distributed under the same license as the gnome-shell-extensions package. @@ -14,10 +15,17 @@ # Jonatan Zeidler , 2012. # jonius , 2012. # Heimen Stoffels , 2015, 2019. +# #-#-#-#-# nl.po (desktop-icons master) #-#-#-#-# +# Dutch translation for desktop-icons. +# Copyright (C) 2019 desktop-icons's COPYRIGHT HOLDER +# This file is distributed under the same license as the desktop-icons package. +# Nathan Follens , 2019-2020. +# #, fuzzy msgid "" msgstr "" "#-#-#-#-# nl.po (gnome-shell-extensions master) #-#-#-#-#\n" +"#-#-#-#-# nl.po (gnome-shell-extensions master) #-#-#-#-#\n" "Project-Id-Version: gnome-shell-extensions master\n" "Report-Msgid-Bugs-To: https://gitlab.gnome.org/GNOME/gnome-shell-extensions/" "issues\n" @@ -45,6 +53,20 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "X-Generator: Lokalize 19.11.70\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" +"#-#-#-#-# nl.po (desktop-icons master) #-#-#-#-#\n" +"Project-Id-Version: desktop-icons master\n" +"Report-Msgid-Bugs-To: https://gitlab.gnome.org/World/ShellExtensions/desktop-" +"icons/issues\n" +"POT-Creation-Date: 2020-05-26 20:08+0000\n" +"PO-Revision-Date: 2020-08-25 21:34+0200\n" +"Last-Translator: Nathan Follens \n" +"Language-Team: Dutch \n" +"Language: nl\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" +"X-Generator: Poedit 2.4.1\n" #: data/gnome-classic.desktop.in:3 data/gnome-classic.session.desktop.in:3 msgid "GNOME Classic" @@ -84,7 +106,7 @@ msgstr "Regel toevoegen" #. TRANSLATORS: %s is the filesystem name #: extensions/drive-menu/extension.js:112 -#: extensions/places-menu/placeDisplay.js:233 +#: extensions/places-menu/placeDisplay.js:233 desktopIconsUtil.js:162 #, javascript-format msgid "Ejecting drive “%s” failed:" msgstr "Uitwerpen van station ‘%s’ mislukt:" @@ -147,7 +169,7 @@ msgstr "Koppelen van volume mislukt voor ‘%s’" msgid "Computer" msgstr "Computer" -#: extensions/places-menu/placeDisplay.js:359 +#: extensions/places-menu/placeDisplay.js:359 fileItem.js:925 msgid "Home" msgstr "Persoonlijke map" @@ -793,6 +815,198 @@ msgstr "Weergave-interval (s)" msgid "Pressure threshold" msgstr "Drukwaarde" +#: createFolderDialog.js:46 +msgid "New folder name" +msgstr "Nieuwe mapnaam" + +#: createFolderDialog.js:70 +msgid "Create" +msgstr "Aanmaken" + +#: createFolderDialog.js:72 +msgid "Cancel" +msgstr "Annuleren" + +#: createFolderDialog.js:145 +msgid "Folder names cannot contain “/”." +msgstr "Mapnamen kunnen geen ‘/’ bevatten." + +#: createFolderDialog.js:148 +msgid "A folder cannot be called “.”." +msgstr "Een map kan niet ‘.’ worden genoemd." + +#: createFolderDialog.js:151 +msgid "A folder cannot be called “..”." +msgstr "Een map kan niet ‘..’ worden genoemd." + +#: createFolderDialog.js:153 +msgid "Folders with “.” at the beginning of their name are hidden." +msgstr "Mappen waarvan de naam begint met ‘.’ zijn verborgen." + +#: createFolderDialog.js:155 +msgid "There is already a file or folder with that name." +msgstr "Er bestaat al een bestand of map met die naam." + +#: prefs.js:103 +msgid "Size for the desktop icons" +msgstr "Grootte van bureaubladpictogrammen" + +#: prefs.js:103 +msgid "Small" +msgstr "Klein" + +#: prefs.js:103 +msgid "Standard" +msgstr "Standaard" + +#: prefs.js:103 +msgid "Large" +msgstr "Groot" + +#: prefs.js:104 +msgid "Show the personal folder in the desktop" +msgstr "Toon de persoonlijke map op het bureaublad" + +#: prefs.js:105 +msgid "Show the trash icon in the desktop" +msgstr "Toon het prullenbakpictogram op het bureaublad" + +#: prefs.js:106 +msgid "Show mounted drives in the desktop" +msgstr "Gekoppelde volumes tonen op het bureaublad" + +#: desktopGrid.js:346 +msgid "New Folder" +msgstr "Nieuwe map" + +#: desktopGrid.js:347 +msgid "New Document" +msgstr "Nieuw document" + +#: desktopGrid.js:350 +msgid "Paste" +msgstr "Plakken" + +#: desktopGrid.js:351 +msgid "Undo" +msgstr "Ongedaan maken" + +#: desktopGrid.js:352 +msgid "Redo" +msgstr "Opnieuw" + +#: desktopGrid.js:354 +msgid "Show Desktop in Files" +msgstr "Bureaublad tonen in Bestanden" + +#: desktopGrid.js:355 fileItem.js:721 +msgid "Open in Terminal" +msgstr "Openen in terminalvenster" + +#: desktopGrid.js:357 +msgid "Change Background…" +msgstr "Achtergrond aanpassen…" + +#: desktopGrid.js:359 +msgid "Display Settings" +msgstr "Scherminstellingen" + +#: desktopGrid.js:360 +msgid "Settings" +msgstr "Instellingen" + +#: desktopGrid.js:692 +msgid "Rename" +msgstr "Hernoemen" + +#: desktopIconsUtil.js:63 +msgid "Command not found" +msgstr "Opdracht niet gevonden" + +#: fileItem.js:584 +msgid "Don’t Allow Launching" +msgstr "Toepassingen starten niet toestaan" + +#: fileItem.js:586 +msgid "Allow Launching" +msgstr "Toepassingen starten toestaan" + +#: fileItem.js:682 +msgid "Open" +msgstr "Openen" + +#: fileItem.js:686 +msgid "Open With Other Application" +msgstr "Met andere toepassing openen" + +#: fileItem.js:688 +msgid "Launch using Dedicated Graphics Card" +msgstr "Met grafische kaart opstarten" + +#: fileItem.js:693 +msgid "Cut" +msgstr "Knippen" + +#: fileItem.js:694 +msgid "Copy" +msgstr "Kopiëren" + +#: fileItem.js:696 +msgid "Rename…" +msgstr "Hernoemen…" + +#: fileItem.js:697 +msgid "Move to Trash" +msgstr "Verplaatsen naar prullenbak" + +#: fileItem.js:707 +msgid "Empty Trash" +msgstr "Prullenbak legen" + +#: fileItem.js:711 +msgid "Eject" +msgstr "Uitwerpen" + +#: fileItem.js:717 +msgid "Properties" +msgstr "Eigenschappen" + +#: fileItem.js:719 +msgid "Show in Files" +msgstr "Tonen in Bestanden" + +#: schemas/org.gnome.shell.extensions.desktop-icons.gschema.xml:11 +msgid "Icon size" +msgstr "Pictogramgrootte" + +#: schemas/org.gnome.shell.extensions.desktop-icons.gschema.xml:12 +msgid "Set the size for the desktop icons." +msgstr "Stel de grootte van de bureaubladpictogrammen in." + +#: schemas/org.gnome.shell.extensions.desktop-icons.gschema.xml:16 +msgid "Show personal folder" +msgstr "Persoonlijke map tonen" + +#: schemas/org.gnome.shell.extensions.desktop-icons.gschema.xml:17 +msgid "Show the personal folder in the desktop." +msgstr "Toon de persoonlijke map op het bureaublad." + +#: schemas/org.gnome.shell.extensions.desktop-icons.gschema.xml:21 +msgid "Show trash icon" +msgstr "Prullenbakpictogram tonen" + +#: schemas/org.gnome.shell.extensions.desktop-icons.gschema.xml:22 +msgid "Show the trash icon in the desktop." +msgstr "Toon het prullenbakpictogram op het bureaublad." + +#: schemas/org.gnome.shell.extensions.desktop-icons.gschema.xml:26 +msgid "Show mounted drives" +msgstr "Gekoppelde volumes tonen" + +#: schemas/org.gnome.shell.extensions.desktop-icons.gschema.xml:27 +msgid "Show mounted drives in the desktop." +msgstr "Gekoppelde volumes tonen op het bureaublad." + #~ msgid "Application" #~ msgstr "Toepassing" @@ -1018,3 +1232,9 @@ msgstr "Drukwaarde" #~ msgstr "" #~ "Benutzerdefiniertes Theme verwenden (funktioniert nur mit dem Standard-" #~ "Adwaita-Theme)" + +#~ msgid "Enter file name…" +#~ msgstr "Voer bestandsnaam in…" + +#~ msgid "OK" +#~ msgstr "Oké" diff --git a/po/oc.po b/po/oc.po index 1798ace8..4e1bd637 100644 --- a/po/oc.po +++ b/po/oc.po @@ -1,10 +1,19 @@ +# #-#-#-#-# oc.po (gnome-shell-extensions master) #-#-#-#-# # Occitan translation for gnome-shell-extensions. # Copyright (C) 2011-12 Listed translators # This file is distributed under the same license as the gnome-shell-extensions package. # Cédric Valmary (Tot en òc) , 2015. # Cédric Valmary (totenoc.eu) , 2016. +# #-#-#-#-# oc.po #-#-#-#-# +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. +# FIRST AUTHOR , YEAR. +# +#, fuzzy msgid "" msgstr "" +"#-#-#-#-# oc.po (gnome-shell-extensions master) #-#-#-#-#\n" "Project-Id-Version: gnome-shell-extensions master\n" "Report-Msgid-Bugs-To: https://gitlab.gnome.org/GNOME/gnome-shell-extensions/" "issues\n" @@ -19,6 +28,19 @@ msgstr "" "Plural-Forms: nplurals=2; plural=(n > 1);\n" "X-Generator: Poedit 2.4.3\n" "X-Project-Style: gnome\n" +"#-#-#-#-# oc.po #-#-#-#-#\n" +"Project-Id-Version: \n" +"Report-Msgid-Bugs-To: https://gitlab.gnome.org/World/ShellExtensions/desktop-" +"icons/issues\n" +"POT-Creation-Date: 2021-03-28 17:45+0000\n" +"PO-Revision-Date: 2021-04-02 20:01+0200\n" +"Language-Team: \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Poedit 2.4.2\n" +"Last-Translator: Quentin PAGÈS\n" +"Language: oc\n" #: data/gnome-classic.desktop.in:3 data/gnome-classic.session.desktop.in:3 msgid "GNOME Classic" @@ -59,7 +81,7 @@ msgstr "Apondre una règla" #. TRANSLATORS: %s is the filesystem name #: extensions/drive-menu/extension.js:112 -#: extensions/places-menu/placeDisplay.js:233 +#: extensions/places-menu/placeDisplay.js:233 desktopIconsUtil.js:162 #, javascript-format msgid "Ejecting drive “%s” failed:" msgstr "L'ejeccion del disc « %s » a fracassat :" @@ -121,9 +143,14 @@ msgstr "Fracàs del montatge del volum per « %s »" msgid "Computer" msgstr "Ordenador" -#: extensions/places-menu/placeDisplay.js:359 +#: extensions/places-menu/placeDisplay.js:359 fileItem.js:951 +#, fuzzy msgid "Home" -msgstr "Dorsièr personal" +msgstr "" +"#-#-#-#-# oc.po (gnome-shell-extensions master) #-#-#-#-#\n" +"Dorsièr personal\n" +"#-#-#-#-# oc.po #-#-#-#-#\n" +"Repertòri personal" #: extensions/places-menu/placeDisplay.js:404 msgid "Browse Network" @@ -263,6 +290,203 @@ msgstr "Espaci de trabalh %d" msgid "Add Workspace" msgstr "Apondre un espaci de trabalh" +#: desktopGrid.js:359 +#, fuzzy +msgid "Display Settings" +msgstr "" +"#-#-#-#-# oc.po (gnome-shell-extensions master) #-#-#-#-#\n" +"Afichar los paramètres\n" +"#-#-#-#-# oc.po #-#-#-#-#\n" +"Paramètres d'afichatge" + +#: createFolderDialog.js:46 +msgid "New folder name" +msgstr "Nom de dossièr novèl" + +#: createFolderDialog.js:72 +msgid "Create" +msgstr "Crear" + +#: createFolderDialog.js:74 +msgid "Cancel" +msgstr "Anullar" + +#: createFolderDialog.js:147 +msgid "Folder names cannot contain “/”." +msgstr "Los noms de dossièrs pòdon pas conténer « / »." + +#: createFolderDialog.js:150 +msgid "A folder cannot be called “.”." +msgstr "Impossible d'apelar un dossièr « . »." + +#: createFolderDialog.js:153 +msgid "A folder cannot be called “..”." +msgstr "Impossible d'apelar un dossièr « .. »." + +#: createFolderDialog.js:155 +msgid "Folders with “.” at the beginning of their name are hidden." +msgstr "Los dossièrs amb un « . » a la debuta de lor nom son amagats" + +#: createFolderDialog.js:157 +msgid "There is already a file or folder with that name." +msgstr "Un fichièr o un dossièr amb aqueste nom existís ja." + +#: prefs.js:103 +msgid "Size for the desktop icons" +msgstr "Talha de las icònas burèu" + +#: prefs.js:103 +msgid "Small" +msgstr "Pichon" + +#: prefs.js:103 +msgid "Standard" +msgstr "Estandard" + +#: prefs.js:103 +msgid "Large" +msgstr "Grand" + +#: prefs.js:104 +msgid "Show the personal folder in the desktop" +msgstr "Mostrar lo dorsièr personal pel burèu" + +#: prefs.js:105 +msgid "Show the trash icon in the desktop" +msgstr "Mostrar l'icòna de l'escobilhièr pel burèu" + +#: prefs.js:106 +msgid "Show mounted drives in the desktop" +msgstr "Mostrar los volums montats pel burèu" + +#: desktopGrid.js:346 +msgid "New Folder" +msgstr "Dossièr novèl" + +#: desktopGrid.js:347 +msgid "New Document" +msgstr "Document novèl" + +#: desktopGrid.js:350 +msgid "Paste" +msgstr "Pegar" + +#: desktopGrid.js:351 +msgid "Undo" +msgstr "Restablir" + +#: desktopGrid.js:352 +msgid "Redo" +msgstr "Restablir" + +#: desktopGrid.js:354 +msgid "Show Desktop in Files" +msgstr "Mostrar lo burèu dins Fichièrs" + +#: desktopGrid.js:355 fileItem.js:726 +msgid "Open in Terminal" +msgstr "Dobrir dins un terminal" + +#: desktopGrid.js:357 +msgid "Change Background…" +msgstr "Modificar lo rèireplan…" + +#: desktopGrid.js:360 +msgid "Settings" +msgstr "Paramètres" + +#: desktopGrid.js:699 +msgid "Rename" +msgstr "Renomenar" + +#: desktopIconsUtil.js:63 +msgid "Command not found" +msgstr "Comanda pas trobada" + +#: fileItem.js:589 +msgid "Don’t Allow Launching" +msgstr "Permetre pas l'aviada" + +#: fileItem.js:591 +msgid "Allow Launching" +msgstr "Permetre l'aviada" + +#: fileItem.js:687 +msgid "Open" +msgstr "Dobrir" + +#: fileItem.js:691 +msgid "Open With Other Application" +msgstr "Dobrir amb una autra aplicacion" + +#: fileItem.js:693 +msgid "Launch using Dedicated Graphics Card" +msgstr "Aviar en utilizant la carta grafica dedicada" + +#: fileItem.js:698 +msgid "Cut" +msgstr "Talhar" + +#: fileItem.js:699 +msgid "Copy" +msgstr "Copiar" + +#: fileItem.js:701 +msgid "Rename…" +msgstr "Renomenar…" + +#: fileItem.js:702 +msgid "Move to Trash" +msgstr "Desplaçar a l’_escobilhièr" + +#: fileItem.js:712 +msgid "Empty Trash" +msgstr "Voidar l’escobilhièr" + +#: fileItem.js:716 +msgid "Eject" +msgstr "Ejectar" + +#: fileItem.js:722 +msgid "Properties" +msgstr "Proprietats" + +#: fileItem.js:724 +msgid "Show in Files" +msgstr "Mostrar dins Fichièrs" + +#: schemas/org.gnome.shell.extensions.desktop-icons.gschema.xml:11 +msgid "Icon size" +msgstr "Talha de l'icòna" + +#: schemas/org.gnome.shell.extensions.desktop-icons.gschema.xml:12 +msgid "Set the size for the desktop icons." +msgstr "Definir la talha de las icònas burèu." + +#: schemas/org.gnome.shell.extensions.desktop-icons.gschema.xml:16 +msgid "Show personal folder" +msgstr "Mostrar lo dorsièr personal" + +#: schemas/org.gnome.shell.extensions.desktop-icons.gschema.xml:17 +msgid "Show the personal folder in the desktop." +msgstr "Mostrar lo dorsièr personal pel burèu." + +#: schemas/org.gnome.shell.extensions.desktop-icons.gschema.xml:21 +msgid "Show trash icon" +msgstr "Mostrar l'icòna de l'escobilhièr" + +#: schemas/org.gnome.shell.extensions.desktop-icons.gschema.xml:22 +msgid "Show the trash icon in the desktop." +msgstr "Mostrar l'icòna de l'escobilhièr pel burèu." + +#: schemas/org.gnome.shell.extensions.desktop-icons.gschema.xml:26 +msgid "Show mounted drives" +msgstr "Mostrar los lectors montats" + +#: schemas/org.gnome.shell.extensions.desktop-icons.gschema.xml:27 +msgid "Show mounted drives in the desktop." +msgstr "Mostrar los lector montats pel burèu." + #~ msgid "Attach modal dialog to the parent window" #~ msgstr "Estacar las bóstias de dialòg modalas a lor fenèstra parenta" @@ -403,6 +627,3 @@ msgstr "Apondre un espaci de trabalh" #~ msgid "Display" #~ msgstr "Afichar" - -#~ msgid "Display Settings" -#~ msgstr "Afichar los paramètres" diff --git a/po/pl.po b/po/pl.po index a97366b6..7b26d43f 100644 --- a/po/pl.po +++ b/po/pl.po @@ -1,4 +1,5 @@ # #-#-#-#-# pl.po (gnome-shell-extensions) #-#-#-#-# +# #-#-#-#-# pl.po (gnome-shell-extensions) #-#-#-#-# # Polish translation for gnome-shell-extensions. # Copyright © 2011-2020 the gnome-shell-extensions authors. # This file is distributed under the same license as the gnome-shell-extensions package. @@ -13,10 +14,18 @@ # # Piotr Sokół , 2012, 2013, 2015, 2016, 2017. # +# #-#-#-#-# pl.po (desktop-icons) #-#-#-#-# +# Polish translation for desktop-icons. +# Copyright © 2018-2020 the desktop-icons authors. +# This file is distributed under the same license as the desktop-icons package. +# Piotr Drąg , 2018-2020. +# Aviary.pl , 2018-2020. +# #, fuzzy msgid "" msgstr "" "#-#-#-#-# pl.po (gnome-shell-extensions) #-#-#-#-#\n" +"#-#-#-#-# pl.po (gnome-shell-extensions) #-#-#-#-#\n" "Project-Id-Version: gnome-shell-extensions\n" "Report-Msgid-Bugs-To: https://gitlab.gnome.org/GNOME/gnome-shell-extensions/" "issues\n" @@ -44,6 +53,20 @@ msgstr "" "Plural-Forms: nplurals=3; plural=n==1 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 " "|| n%100>=20) ? 1 : 2;\n" "X-Generator: Poedit 2.2.3\n" +"#-#-#-#-# pl.po (desktop-icons) #-#-#-#-#\n" +"Project-Id-Version: desktop-icons\n" +"Report-Msgid-Bugs-To: https://gitlab.gnome.org/World/ShellExtensions/desktop-" +"icons/issues\n" +"POT-Creation-Date: 2020-05-26 20:08+0000\n" +"PO-Revision-Date: 2020-05-31 14:15+0200\n" +"Last-Translator: Piotr Drąg \n" +"Language-Team: Polish \n" +"Language: pl\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=3; plural=(n==1 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 " +"|| n%100>=20) ? 1 : 2);\n" #: data/gnome-classic.desktop.in:3 data/gnome-classic.session.desktop.in:3 msgid "GNOME Classic" @@ -83,7 +106,7 @@ msgstr "Dodaj regułę" #. TRANSLATORS: %s is the filesystem name #: extensions/drive-menu/extension.js:112 -#: extensions/places-menu/placeDisplay.js:233 +#: extensions/places-menu/placeDisplay.js:233 desktopIconsUtil.js:162 #, javascript-format msgid "Ejecting drive “%s” failed:" msgstr "Wysunięcie napędu „%s” się nie powiodło:" @@ -145,7 +168,7 @@ msgstr "Zamontowanie woluminu dla „%s” się nie powiodło" msgid "Computer" msgstr "Komputer" -#: extensions/places-menu/placeDisplay.js:359 +#: extensions/places-menu/placeDisplay.js:359 fileItem.js:925 msgid "Home" msgstr "Katalog domowy" @@ -345,15 +368,20 @@ msgstr "%s Dash to Dock" msgid "Trash" msgstr "Kosz" -#: locations.js:74 +#: locations.js:74 fileItem.js:707 +#, fuzzy msgid "Empty Trash" -msgstr "Pusty kosz" +msgstr "" +"#-#-#-#-# pl.po (gnome-shell-extensions) #-#-#-#-#\n" +"Pusty kosz\n" +"#-#-#-#-# pl.po (desktop-icons) #-#-#-#-#\n" +"Opróżnij kosz" #: locations.js:182 msgid "Mount" msgstr "Zamontuj" -#: locations.js:225 +#: locations.js:225 fileItem.js:711 msgid "Eject" msgstr "Wysuń" @@ -815,6 +843,190 @@ msgstr "Czas wyświetlania (s)" msgid "Pressure threshold" msgstr "Próg nacisku" +#: createFolderDialog.js:46 +msgid "New folder name" +msgstr "Nazwa nowego katalogu" + +#: createFolderDialog.js:70 +msgid "Create" +msgstr "Utwórz" + +#: createFolderDialog.js:72 +msgid "Cancel" +msgstr "Anuluj" + +#: createFolderDialog.js:145 +msgid "Folder names cannot contain “/”." +msgstr "Nazwy katalogów nie mogą zawierać znaku „/”." + +#: createFolderDialog.js:148 +msgid "A folder cannot be called “.”." +msgstr "Katalog nie może mieć nazwy „.”." + +#: createFolderDialog.js:151 +msgid "A folder cannot be called “..”." +msgstr "Katalog nie może mieć nazwy „..”." + +#: createFolderDialog.js:153 +msgid "Folders with “.” at the beginning of their name are hidden." +msgstr "Katalogi z „.” na początku nazwy są ukryte." + +#: createFolderDialog.js:155 +msgid "There is already a file or folder with that name." +msgstr "Plik lub katalog o tej nazwie już istnieje." + +#: prefs.js:103 +msgid "Size for the desktop icons" +msgstr "Rozmiar ikon na pulpicie" + +#: prefs.js:103 +msgid "Small" +msgstr "Mały" + +#: prefs.js:103 +msgid "Standard" +msgstr "Standardowy" + +#: prefs.js:103 +msgid "Large" +msgstr "Duży" + +#: prefs.js:104 +msgid "Show the personal folder in the desktop" +msgstr "Katalog domowy na pulpicie" + +#: prefs.js:105 +msgid "Show the trash icon in the desktop" +msgstr "Kosz na pulpicie" + +#: prefs.js:106 +msgid "Show mounted drives in the desktop" +msgstr "Zamontowane napędy na pulpicie" + +#: desktopGrid.js:346 +msgid "New Folder" +msgstr "Nowy katalog" + +#: desktopGrid.js:347 +msgid "New Document" +msgstr "Nowy dokument" + +#: desktopGrid.js:350 +msgid "Paste" +msgstr "Wklej" + +#: desktopGrid.js:351 +msgid "Undo" +msgstr "Cofnij" + +#: desktopGrid.js:352 +msgid "Redo" +msgstr "Ponów" + +#: desktopGrid.js:354 +msgid "Show Desktop in Files" +msgstr "Wyświetl pulpit w menedżerze plików" + +#: desktopGrid.js:355 fileItem.js:721 +msgid "Open in Terminal" +msgstr "Otwórz w terminalu" + +#: desktopGrid.js:357 +msgid "Change Background…" +msgstr "Zmień tło…" + +#: desktopGrid.js:359 +msgid "Display Settings" +msgstr "Ustawienia ekranu" + +#: desktopGrid.js:360 +msgid "Settings" +msgstr "Ustawienia" + +#: desktopGrid.js:692 +msgid "Rename" +msgstr "Zmień nazwę" + +#: desktopIconsUtil.js:63 +msgid "Command not found" +msgstr "Nie odnaleziono polecenia" + +#: fileItem.js:584 +msgid "Don’t Allow Launching" +msgstr "Nie zezwalaj na uruchamianie" + +#: fileItem.js:586 +msgid "Allow Launching" +msgstr "Zezwól na uruchamianie" + +#: fileItem.js:682 +msgid "Open" +msgstr "Otwórz" + +#: fileItem.js:686 +msgid "Open With Other Application" +msgstr "Otwórz za pomocą innego programu" + +#: fileItem.js:688 +msgid "Launch using Dedicated Graphics Card" +msgstr "Uruchom za pomocą dedykowanej karty graficznej" + +#: fileItem.js:693 +msgid "Cut" +msgstr "Wytnij" + +#: fileItem.js:694 +msgid "Copy" +msgstr "Skopiuj" + +#: fileItem.js:696 +msgid "Rename…" +msgstr "Zmień nazwę…" + +#: fileItem.js:697 +msgid "Move to Trash" +msgstr "Przenieś do kosza" + +#: fileItem.js:717 +msgid "Properties" +msgstr "Właściwości" + +#: fileItem.js:719 +msgid "Show in Files" +msgstr "Wyświetl w menedżerze plików" + +#: schemas/org.gnome.shell.extensions.desktop-icons.gschema.xml:11 +msgid "Icon size" +msgstr "Rozmiar ikon" + +#: schemas/org.gnome.shell.extensions.desktop-icons.gschema.xml:12 +msgid "Set the size for the desktop icons." +msgstr "Ustawia rozmiar ikon na pulpicie." + +#: schemas/org.gnome.shell.extensions.desktop-icons.gschema.xml:16 +msgid "Show personal folder" +msgstr "Katalog domowy" + +#: schemas/org.gnome.shell.extensions.desktop-icons.gschema.xml:17 +msgid "Show the personal folder in the desktop." +msgstr "Wyświetla katalog domowy na pulpicie." + +#: schemas/org.gnome.shell.extensions.desktop-icons.gschema.xml:21 +msgid "Show trash icon" +msgstr "Kosz" + +#: schemas/org.gnome.shell.extensions.desktop-icons.gschema.xml:22 +msgid "Show the trash icon in the desktop." +msgstr "Wyświetla kosz na pulpicie." + +#: schemas/org.gnome.shell.extensions.desktop-icons.gschema.xml:26 +msgid "Show mounted drives" +msgstr "Zamontowane napędy" + +#: schemas/org.gnome.shell.extensions.desktop-icons.gschema.xml:27 +msgid "Show mounted drives in the desktop." +msgstr "Wyświetla zamontowane napędy na pulpicie." + #~ msgid "Show a dot for each windows of the application." #~ msgstr "Wyświetla kropkę dla każdego okna programu" diff --git a/po/pt.po b/po/pt.po index 99d446f9..0ae7be05 100644 --- a/po/pt.po +++ b/po/pt.po @@ -1,4 +1,5 @@ # #-#-#-#-# pt.po (3.14) #-#-#-#-# +# #-#-#-#-# pt.po (3.14) #-#-#-#-# # gnome-shell-extensions' Portuguese translation. # Copyright © 2011 gnome-shell-extensions # This file is distributed under the same license as the gnome-shell-extensions package. @@ -17,10 +18,17 @@ # This file is distributed under the same license as the PACKAGE package. # Carlos Alberto Junior Spohr Poletto , 2012. # +# #-#-#-#-# pt.po (desktop-icons master) #-#-#-#-# +# Portuguese translation for desktop-icons. +# Copyright (C) 2021 desktop-icons's COPYRIGHT HOLDER +# This file is distributed under the same license as the desktop-icons package. +# Hugo Carvalho , 2021. +# #, fuzzy msgid "" msgstr "" "#-#-#-#-# pt.po (3.14) #-#-#-#-#\n" +"#-#-#-#-# pt.po (3.14) #-#-#-#-#\n" "Project-Id-Version: 3.14\n" "Report-Msgid-Bugs-To: https://gitlab.gnome.org/GNOME/gnome-shell-extensions/" "issues\n" @@ -47,6 +55,20 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Generator: Poedit 2.2.1\n" +"#-#-#-#-# pt.po (desktop-icons master) #-#-#-#-#\n" +"Project-Id-Version: desktop-icons master\n" +"Report-Msgid-Bugs-To: https://gitlab.gnome.org/World/ShellExtensions/desktop-" +"icons/issues\n" +"POT-Creation-Date: 2021-02-03 06:55+0000\n" +"PO-Revision-Date: 2021-02-24 20:34+0000\n" +"Language-Team: Portuguese \n" +"Language: pt\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" +"Last-Translator: Hugo Carvalho \n" +"X-Generator: Poedit 2.4.1\n" #: data/gnome-classic.desktop.in:3 msgid "GNOME Classic" @@ -89,7 +111,11 @@ msgstr "Adicionar regra" #: extensions/places-menu/placeDisplay.js:233 #, javascript-format msgid "Ejecting drive “%s” failed:" -msgstr "Falha ao ejetar a unidade '%s':" +msgstr "" +"#-#-#-#-# pt.po (3.14) #-#-#-#-#\n" +"Falha ao ejetar a unidade '%s':\n" +"#-#-#-#-# pt.po (desktop-icons master) #-#-#-#-#\n" +"A ejeção da unidade “%s” falhou:" #: extensions/drive-menu/extension.js:128 msgid "Removable devices" @@ -148,9 +174,14 @@ msgstr "Falha ao montar unidade para “%s”" msgid "Computer" msgstr "Computador" -#: extensions/places-menu/placeDisplay.js:359 +#: extensions/places-menu/placeDisplay.js:359 fileItem.js:951 +#, fuzzy msgid "Home" -msgstr "Pasta pessoal" +msgstr "" +"#-#-#-#-# pt.po (3.14) #-#-#-#-#\n" +"Pasta pessoal\n" +"#-#-#-#-# pt.po (desktop-icons master) #-#-#-#-#\n" +"Início" #: extensions/places-menu/placeDisplay.js:404 msgid "Browse Network" @@ -774,6 +805,203 @@ msgstr "Mostrar tempo limite (s)" msgid "Pressure threshold" msgstr "Limite de pressão" +#: desktopGrid.js:359 +#, fuzzy +msgid "Display Settings" +msgstr "" +"#-#-#-#-# pt.po (3.14) #-#-#-#-#\n" +"Definições de Visualização\n" +"#-#-#-#-# pt.po (desktop-icons master) #-#-#-#-#\n" +"Definições de ecrã" + +#: createFolderDialog.js:46 +msgid "New folder name" +msgstr "Novo nome de pasta" + +#: createFolderDialog.js:72 +msgid "Create" +msgstr "Criar" + +#: createFolderDialog.js:74 +msgid "Cancel" +msgstr "Cancelar" + +#: createFolderDialog.js:147 +msgid "Folder names cannot contain “/”." +msgstr "Nomes de pastas não podem conter “/”." + +#: createFolderDialog.js:150 +msgid "A folder cannot be called “.”." +msgstr "Uma pasta não pode ser chamada de “.”." + +#: createFolderDialog.js:153 +msgid "A folder cannot be called “..”." +msgstr "Uma pasta não pode ser chamada de “..”." + +#: createFolderDialog.js:155 +msgid "Folders with “.” at the beginning of their name are hidden." +msgstr "Pastas com “.” no começo de seus nomes são ocultas." + +#: createFolderDialog.js:157 +msgid "There is already a file or folder with that name." +msgstr "Já existe um ficheiro ou uma pasta com esse nome." + +#: prefs.js:103 +msgid "Size for the desktop icons" +msgstr "Tamanho para os ícones do ambiente de trabalho" + +#: prefs.js:103 +msgid "Small" +msgstr "Pequeno" + +#: prefs.js:103 +msgid "Standard" +msgstr "Padrão" + +#: prefs.js:103 +msgid "Large" +msgstr "Grande" + +#: prefs.js:104 +msgid "Show the personal folder in the desktop" +msgstr "Mostrar a pasta pessoal no ambiente de trabalho" + +#: prefs.js:105 +msgid "Show the trash icon in the desktop" +msgstr "Mostrar o ícone do lixo no ambiente de trabalho" + +#: prefs.js:106 +msgid "Show mounted drives in the desktop" +msgstr "Mostrar as unidades montadas na área de trabalho" + +#: desktopGrid.js:346 +msgid "New Folder" +msgstr "Nova pasta" + +#: desktopGrid.js:347 +msgid "New Document" +msgstr "Novo documento" + +#: desktopGrid.js:350 +msgid "Paste" +msgstr "Colar" + +#: desktopGrid.js:351 +msgid "Undo" +msgstr "Anular" + +#: desktopGrid.js:352 +msgid "Redo" +msgstr "Refazer" + +#: desktopGrid.js:354 +msgid "Show Desktop in Files" +msgstr "Mostrar o ambiente de trabalho em Ficheiros" + +#: desktopGrid.js:355 fileItem.js:726 +msgid "Open in Terminal" +msgstr "Abrir no Terminal" + +#: desktopGrid.js:357 +msgid "Change Background…" +msgstr "Alterar o fundo…" + +#: desktopGrid.js:360 +msgid "Settings" +msgstr "Definições" + +#: desktopGrid.js:699 +msgid "Rename" +msgstr "Renomear" + +#: desktopIconsUtil.js:63 +msgid "Command not found" +msgstr "Comando não encontrado" + +#: fileItem.js:589 +msgid "Don’t Allow Launching" +msgstr "Não permitir iniciar" + +#: fileItem.js:591 +msgid "Allow Launching" +msgstr "Permitir iniciar" + +#: fileItem.js:687 +msgid "Open" +msgstr "Abrir" + +#: fileItem.js:691 +msgid "Open With Other Application" +msgstr "Abrir com outra aplicação" + +#: fileItem.js:693 +msgid "Launch using Dedicated Graphics Card" +msgstr "Iniciar utilizando a placa gráfica dedicada" + +#: fileItem.js:698 +msgid "Cut" +msgstr "Cortar" + +#: fileItem.js:699 +msgid "Copy" +msgstr "Copiar" + +#: fileItem.js:701 +msgid "Rename…" +msgstr "Renomear…" + +#: fileItem.js:702 +msgid "Move to Trash" +msgstr "Mover para o lixo" + +#: fileItem.js:712 +msgid "Empty Trash" +msgstr "Esvaziar lixo" + +#: fileItem.js:716 +msgid "Eject" +msgstr "Ejetar" + +#: fileItem.js:722 +msgid "Properties" +msgstr "Propriedades" + +#: fileItem.js:724 +msgid "Show in Files" +msgstr "Mostrar no Ficheiros" + +#: schemas/org.gnome.shell.extensions.desktop-icons.gschema.xml:11 +msgid "Icon size" +msgstr "Tamanho do ícone" + +#: schemas/org.gnome.shell.extensions.desktop-icons.gschema.xml:12 +msgid "Set the size for the desktop icons." +msgstr "Define o tamanho para os ícones do ambiente de trabalho." + +#: schemas/org.gnome.shell.extensions.desktop-icons.gschema.xml:16 +msgid "Show personal folder" +msgstr "Mostrar pasta pessoal" + +#: schemas/org.gnome.shell.extensions.desktop-icons.gschema.xml:17 +msgid "Show the personal folder in the desktop." +msgstr "Mostra a pasta pessoal no ambiente de trabalho." + +#: schemas/org.gnome.shell.extensions.desktop-icons.gschema.xml:21 +msgid "Show trash icon" +msgstr "Mostrar ícone do lixo" + +#: schemas/org.gnome.shell.extensions.desktop-icons.gschema.xml:22 +msgid "Show the trash icon in the desktop." +msgstr "Mostra o ícone do lixo no ambiente de trabalho." + +#: schemas/org.gnome.shell.extensions.desktop-icons.gschema.xml:26 +msgid "Show mounted drives" +msgstr "Mostrar unidades montadas" + +#: schemas/org.gnome.shell.extensions.desktop-icons.gschema.xml:27 +msgid "Show mounted drives in the desktop." +msgstr "Mostra as unidades montadas no ambiente de trabalho." + #~ msgid "Attach modal dialog to the parent window" #~ msgstr "Anexar diálogo modal à janela mãe" @@ -898,6 +1126,3 @@ msgstr "Limite de pressão" #~ msgid "Display" #~ msgstr "Apresentar" - -#~ msgid "Display Settings" -#~ msgstr "Definições de Visualização" diff --git a/po/pt_BR.po b/po/pt_BR.po index 9dc0db84..16117cec 100644 --- a/po/pt_BR.po +++ b/po/pt_BR.po @@ -1,4 +1,5 @@ # #-#-#-#-# pt_BR.po (gnome-shell-extensions master) #-#-#-#-# +# #-#-#-#-# pt_BR.po (gnome-shell-extensions master) #-#-#-#-# # Brazilian Portuguese translation for gnome-shell-extensions. # Copyright (C) 2020 gnome-shell-extensions's COPYRIGHT HOLDER # This file is distributed under the same license as the gnome-shell-extensions package. @@ -18,10 +19,18 @@ # Carlos Alberto Junior Spohr Poletto , 2012. # Fábio Nogueira , 2016. # +# #-#-#-#-# pt_BR.po (desktop-icons master) #-#-#-#-# +# Brazilian Portuguese translation for desktop-icons. +# Copyright (C) 2020 desktop-icons's COPYRIGHT HOLDER +# This file is distributed under the same license as the desktop-icons package. +# Enrico Nicoletto , 2018. +# Rafael Fontenelle , 2018-2020. +# #, fuzzy msgid "" msgstr "" "#-#-#-#-# pt_BR.po (gnome-shell-extensions master) #-#-#-#-#\n" +"#-#-#-#-# pt_BR.po (gnome-shell-extensions master) #-#-#-#-#\n" "Project-Id-Version: gnome-shell-extensions master\n" "Report-Msgid-Bugs-To: https://gitlab.gnome.org/GNOME/gnome-shell-extensions/" "issues\n" @@ -48,6 +57,20 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Generator: Poedit 2.2.1\n" +"#-#-#-#-# pt_BR.po (desktop-icons master) #-#-#-#-#\n" +"Project-Id-Version: desktop-icons master\n" +"Report-Msgid-Bugs-To: https://gitlab.gnome.org/World/ShellExtensions/desktop-" +"icons/issues\n" +"POT-Creation-Date: 2020-05-26 20:08+0000\n" +"PO-Revision-Date: 2020-05-28 18:35-0300\n" +"Last-Translator: Rafael Fontenelle \n" +"Language-Team: Brazilian Portuguese \n" +"Language: pt_BR\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n > 1)\n" +"X-Generator: Gtranslator 3.36.0\n" #: data/gnome-classic.desktop.in:3 data/gnome-classic.session.desktop.in:3 msgid "GNOME Classic" @@ -88,10 +111,14 @@ msgstr "Adicionar regra" #. TRANSLATORS: %s is the filesystem name #: extensions/drive-menu/extension.js:112 -#: extensions/places-menu/placeDisplay.js:233 -#, javascript-format +#: extensions/places-menu/placeDisplay.js:233 desktopIconsUtil.js:162 +#, fuzzy, javascript-format msgid "Ejecting drive “%s” failed:" -msgstr "Falha ao ejetar a unidade “%s”:" +msgstr "" +"#-#-#-#-# pt_BR.po (gnome-shell-extensions master) #-#-#-#-#\n" +"Falha ao ejetar a unidade “%s”:\n" +"#-#-#-#-# pt_BR.po (desktop-icons master) #-#-#-#-#\n" +"A ejeção a unidade “%s” falhou:" #: extensions/drive-menu/extension.js:128 msgid "Removable devices" @@ -150,9 +177,14 @@ msgstr "Falha ao montar volume para “%s”" msgid "Computer" msgstr "Computador" -#: extensions/places-menu/placeDisplay.js:359 +#: extensions/places-menu/placeDisplay.js:359 fileItem.js:925 +#, fuzzy msgid "Home" -msgstr "Pasta pessoal" +msgstr "" +"#-#-#-#-# pt_BR.po (gnome-shell-extensions master) #-#-#-#-#\n" +"Pasta pessoal\n" +"#-#-#-#-# pt_BR.po (desktop-icons master) #-#-#-#-#\n" +"Home" #: extensions/places-menu/placeDisplay.js:404 msgid "Browse Network" @@ -781,6 +813,203 @@ msgstr "Mostrar tempo limite [s]" msgid "Pressure threshold" msgstr "Limite de pressão" +#: desktopGrid.js:359 +#, fuzzy +msgid "Display Settings" +msgstr "" +"#-#-#-#-# pt_BR.po (gnome-shell-extensions master) #-#-#-#-#\n" +"Configurações de tela\n" +"#-#-#-#-# pt_BR.po (desktop-icons master) #-#-#-#-#\n" +"Configurações de exibição" + +#: schemas/org.gnome.shell.extensions.desktop-icons.gschema.xml:11 +msgid "Icon size" +msgstr "Tamanho do ícone" + +#: createFolderDialog.js:72 +msgid "Cancel" +msgstr "Cancelar" + +#: createFolderDialog.js:46 +msgid "New folder name" +msgstr "Nome da nova pasta" + +#: createFolderDialog.js:70 +msgid "Create" +msgstr "Criar" + +#: createFolderDialog.js:145 +msgid "Folder names cannot contain “/”." +msgstr "Nomes de pastas não podem conter “/”." + +#: createFolderDialog.js:148 +msgid "A folder cannot be called “.”." +msgstr "Uma pasta não pode ser chamada “.”." + +#: createFolderDialog.js:151 +msgid "A folder cannot be called “..”." +msgstr "Uma pasta não pode ser chamada “..”." + +#: createFolderDialog.js:153 +msgid "Folders with “.” at the beginning of their name are hidden." +msgstr "Pastas com “.” no começo de seus nomes são ocultas." + +#: createFolderDialog.js:155 +msgid "There is already a file or folder with that name." +msgstr "Já existe um arquivo ou uma pasta com esse nome." + +#: prefs.js:103 +msgid "Size for the desktop icons" +msgstr "Tamanho para os ícones da área de trabalho" + +#: prefs.js:103 +msgid "Small" +msgstr "Pequeno" + +#: prefs.js:103 +msgid "Standard" +msgstr "Padrão" + +#: prefs.js:103 +msgid "Large" +msgstr "Grande" + +#: prefs.js:104 +msgid "Show the personal folder in the desktop" +msgstr "Mostrar a pasta pessoal na área de trabalho" + +#: prefs.js:105 +msgid "Show the trash icon in the desktop" +msgstr "Mostrar o ícone da lixeira na área de trabalho" + +#: prefs.js:106 +msgid "Show mounted drives in the desktop" +msgstr "Mostrar as unidades montadas na área de trabalho" + +#: desktopGrid.js:346 +msgid "New Folder" +msgstr "Nova pasta" + +#: desktopGrid.js:347 +msgid "New Document" +msgstr "Novo documento" + +#: desktopGrid.js:350 +msgid "Paste" +msgstr "Colar" + +#: desktopGrid.js:351 +msgid "Undo" +msgstr "Desfazer" + +#: desktopGrid.js:352 +msgid "Redo" +msgstr "Refazer" + +#: desktopGrid.js:354 +msgid "Show Desktop in Files" +msgstr "Mostrar a área de trabalho no Arquivos" + +#: desktopGrid.js:355 fileItem.js:721 +msgid "Open in Terminal" +msgstr "Abrir no terminal" + +#: desktopGrid.js:357 +msgid "Change Background…" +msgstr "Alterar plano de fundo…" + +#: desktopGrid.js:360 +msgid "Settings" +msgstr "Configurações" + +#: desktopGrid.js:692 +msgid "Rename" +msgstr "Renomear" + +#: desktopIconsUtil.js:63 +msgid "Command not found" +msgstr "Comando não encontrado" + +#: fileItem.js:584 +msgid "Don’t Allow Launching" +msgstr "Não permitir iniciar" + +#: fileItem.js:586 +msgid "Allow Launching" +msgstr "Permitir iniciar" + +#: fileItem.js:682 +msgid "Open" +msgstr "Abrir" + +#: fileItem.js:686 +msgid "Open With Other Application" +msgstr "Abrir com outro aplicativo" + +#: fileItem.js:688 +msgid "Launch using Dedicated Graphics Card" +msgstr "Iniciar usando placa gráfica dedicada" + +#: fileItem.js:693 +msgid "Cut" +msgstr "Recortar" + +#: fileItem.js:694 +msgid "Copy" +msgstr "Copiar" + +#: fileItem.js:696 +msgid "Rename…" +msgstr "Renomear…" + +#: fileItem.js:697 +msgid "Move to Trash" +msgstr "Mover para a lixeira" + +#: fileItem.js:707 +msgid "Empty Trash" +msgstr "Esvaziar lixeira" + +#: fileItem.js:711 +msgid "Eject" +msgstr "Ejetar" + +#: fileItem.js:717 +msgid "Properties" +msgstr "Propriedades" + +#: fileItem.js:719 +msgid "Show in Files" +msgstr "Mostrar no Arquivos" + +#: schemas/org.gnome.shell.extensions.desktop-icons.gschema.xml:12 +msgid "Set the size for the desktop icons." +msgstr "Define o tamanho para os ícones da área de trabalho." + +#: schemas/org.gnome.shell.extensions.desktop-icons.gschema.xml:16 +msgid "Show personal folder" +msgstr "Mostrar pasta pessoal" + +#: schemas/org.gnome.shell.extensions.desktop-icons.gschema.xml:17 +msgid "Show the personal folder in the desktop." +msgstr "Mostra a pasta pessoal na área de trabalho." + +#: schemas/org.gnome.shell.extensions.desktop-icons.gschema.xml:21 +msgid "Show trash icon" +msgstr "Mostrar ícone da lixeira" + +#: schemas/org.gnome.shell.extensions.desktop-icons.gschema.xml:22 +msgid "Show the trash icon in the desktop." +msgstr "Mostra o ícone da lixeira na área de trabalho." + +#: schemas/org.gnome.shell.extensions.desktop-icons.gschema.xml:26 +msgid "Show mounted drives" +msgstr "Mostrar unidades montadas" + +#: schemas/org.gnome.shell.extensions.desktop-icons.gschema.xml:27 +msgid "Show mounted drives in the desktop." +msgstr "Mostra as unidades montadas na área de trabalho." + #~ msgid "Application" #~ msgstr "Aplicativo" @@ -906,9 +1135,6 @@ msgstr "Limite de pressão" #~ msgid "Display" #~ msgstr "Tela" -#~ msgid "Display Settings" -#~ msgstr "Configurações de tela" - #~ msgid "The application icon mode." #~ msgstr "O modo de ícone do aplicativo." @@ -943,9 +1169,6 @@ msgstr "Limite de pressão" #~ "Define a posição do dock na tela. Os valores permitidos são \"right\" ou " #~ "\"left\"" -#~ msgid "Icon size" -#~ msgstr "Tamanho do ícone" - #~ msgid "Sets icon size of the dock." #~ msgstr "Define o tamanho do ícone do dock." @@ -1105,9 +1328,6 @@ msgstr "Limite de pressão" #~ msgid "Alt Tab Behaviour" #~ msgstr "Comportamento do Alt Tab" -#~ msgid "Cancel" -#~ msgstr "Cancelar" - #~ msgid "Ask the user for a default behaviour if true." #~ msgstr "Pergunte ao usuário por um comportamento padrão se marcado." @@ -1131,3 +1351,15 @@ msgstr "Limite de pressão" #~ msgid "Log Out..." #~ msgstr "Encerrar sessão..." + +#~ msgid "Enter file name…" +#~ msgstr "Insira um nome de arquivo…" + +#~ msgid "OK" +#~ msgstr "OK" + +#~ msgid "Huge" +#~ msgstr "Enorme" + +#~ msgid "Ok" +#~ msgstr "Ok" diff --git a/po/ro.po b/po/ro.po index 26edf85e..6378ac71 100644 --- a/po/ro.po +++ b/po/ro.po @@ -1,10 +1,19 @@ +# #-#-#-#-# ro.po (gnome-shell-extensions master) #-#-#-#-# # Romanian translation for gnome-shell-extensions. # Copyright (C) 2014 gnome-shell-extensions's COPYRIGHT HOLDER # This file is distributed under the same license as the gnome-shell-extensions package. # Bogdan Mințoi , 2014. # Daniel Șerbănescu , 2014, 2015, 2018. +# #-#-#-#-# ro.po (desktop-icons master) #-#-#-#-# +# Romanian translation for desktop-icons. +# Copyright (C) 2020 desktop-icons's COPYRIGHT HOLDER +# This file is distributed under the same license as the desktop-icons package. +# Florentina Mușat , 2020. +# +#, fuzzy msgid "" msgstr "" +"#-#-#-#-# ro.po (gnome-shell-extensions master) #-#-#-#-#\n" "Project-Id-Version: gnome-shell-extensions master\n" "Report-Msgid-Bugs-To: https://gitlab.gnome.org/GNOME/gnome-shell-extensions/" "issues\n" @@ -21,6 +30,21 @@ msgstr "" "20)) ? 1 : 2);;\n" "X-Generator: Poedit 2.3\n" "X-Project-Style: gnome\n" +"#-#-#-#-# ro.po (desktop-icons master) #-#-#-#-#\n" +"Project-Id-Version: desktop-icons master\n" +"Report-Msgid-Bugs-To: https://gitlab.gnome.org/World/ShellExtensions/desktop-" +"icons/issues\n" +"POT-Creation-Date: 2020-05-26 20:08+0000\n" +"PO-Revision-Date: 2020-06-06 12:24+0300\n" +"Last-Translator: Florentina Mușat \n" +"Language-Team: Romanian \n" +"Language: ro\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=3; plural=(n==1 ? 0 : (n==0 || (n%100 > 0 && n%100 < " +"20)) ? 1 : 2);;\n" +"X-Generator: Poedit 2.3.1\n" #: data/gnome-classic.desktop.in:3 data/gnome-classic.session.desktop.in:3 msgid "GNOME Classic" @@ -61,7 +85,7 @@ msgstr "Adaugă o regulă" #. TRANSLATORS: %s is the filesystem name #: extensions/drive-menu/extension.js:112 -#: extensions/places-menu/placeDisplay.js:233 +#: extensions/places-menu/placeDisplay.js:233 desktopIconsUtil.js:162 #, javascript-format msgid "Ejecting drive “%s” failed:" msgstr "Scoaterea unității „%s” a eșuat:" @@ -124,7 +148,7 @@ msgstr "Eșec la montarea volumului pentru „%s”" msgid "Computer" msgstr "Calculator" -#: extensions/places-menu/placeDisplay.js:359 +#: extensions/places-menu/placeDisplay.js:359 fileItem.js:925 msgid "Home" msgstr "Acasă" @@ -265,6 +289,198 @@ msgstr "Spațiu de lucru %d" msgid "Add Workspace" msgstr "Adaugă un spațiu de lucru" +#: createFolderDialog.js:46 +msgid "New folder name" +msgstr "Nume nou de fișier" + +#: createFolderDialog.js:70 +msgid "Create" +msgstr "Creează" + +#: createFolderDialog.js:72 +msgid "Cancel" +msgstr "Anulează" + +#: createFolderDialog.js:145 +msgid "Folder names cannot contain “/”." +msgstr "Numele dosarelor nu pot conține „/”." + +#: createFolderDialog.js:148 +msgid "A folder cannot be called “.”." +msgstr "Un dosar nu poate fi numit „.”." + +#: createFolderDialog.js:151 +msgid "A folder cannot be called “..”." +msgstr "Un dosar nu poate fi numit „..”." + +#: createFolderDialog.js:153 +msgid "Folders with “.” at the beginning of their name are hidden." +msgstr "Dosarele cu „.” la începutul numelui sunt ascunse." + +#: createFolderDialog.js:155 +msgid "There is already a file or folder with that name." +msgstr "Există deja un fișier sau doar cu acel nume." + +#: prefs.js:103 +msgid "Size for the desktop icons" +msgstr "Dimensiunea pentru iconițele desktopului" + +#: prefs.js:103 +msgid "Small" +msgstr "Mic" + +#: prefs.js:103 +msgid "Standard" +msgstr "Standard" + +#: prefs.js:103 +msgid "Large" +msgstr "Mare" + +#: prefs.js:104 +msgid "Show the personal folder in the desktop" +msgstr "Arată dosarul personal pe desktop" + +#: prefs.js:105 +msgid "Show the trash icon in the desktop" +msgstr "Arată iconița gunoiului pe desktop" + +#: prefs.js:106 +msgid "Show mounted drives in the desktop" +msgstr "Arată dispozitivele montate pe desktop" + +#: desktopGrid.js:346 +msgid "New Folder" +msgstr "Dosar nou" + +#: desktopGrid.js:347 +msgid "New Document" +msgstr "Document nou" + +#: desktopGrid.js:350 +msgid "Paste" +msgstr "Lipește" + +#: desktopGrid.js:351 +msgid "Undo" +msgstr "Refă" + +#: desktopGrid.js:352 +msgid "Redo" +msgstr "Repetă" + +#: desktopGrid.js:354 +msgid "Show Desktop in Files" +msgstr "Aratată Desktopul în Fișiere" + +#: desktopGrid.js:355 fileItem.js:721 +msgid "Open in Terminal" +msgstr "Deschide în Terminal" + +#: desktopGrid.js:357 +msgid "Change Background…" +msgstr "Schimbă fundalul…" + +#: desktopGrid.js:359 +msgid "Display Settings" +msgstr "Configurări afișaj" + +#: desktopGrid.js:360 +msgid "Settings" +msgstr "Configurări" + +#: desktopGrid.js:692 +msgid "Rename" +msgstr "Redenumește" + +#: desktopIconsUtil.js:63 +msgid "Command not found" +msgstr "Comanda nu a fost găsită" + +#: fileItem.js:584 +msgid "Don’t Allow Launching" +msgstr "Nu permite lansarea" + +#: fileItem.js:586 +msgid "Allow Launching" +msgstr "Permite lansarea" + +#: fileItem.js:682 +msgid "Open" +msgstr "Deschide" + +#: fileItem.js:686 +msgid "Open With Other Application" +msgstr "Deschide cu altă aplicație" + +#: fileItem.js:688 +msgid "Launch using Dedicated Graphics Card" +msgstr "Lansează folosind placa grafică dedicată" + +#: fileItem.js:693 +msgid "Cut" +msgstr "Taie" + +#: fileItem.js:694 +msgid "Copy" +msgstr "Copiază" + +#: fileItem.js:696 +msgid "Rename…" +msgstr "Redenumește…" + +#: fileItem.js:697 +msgid "Move to Trash" +msgstr "Mută la gunoi" + +#: fileItem.js:707 +msgid "Empty Trash" +msgstr "Golește gunoiul" + +#: fileItem.js:711 +msgid "Eject" +msgstr "Ejectează" + +#: fileItem.js:717 +msgid "Properties" +msgstr "Proprietăți" + +#: fileItem.js:719 +msgid "Show in Files" +msgstr "Arată în Fișiere" + +#: schemas/org.gnome.shell.extensions.desktop-icons.gschema.xml:11 +msgid "Icon size" +msgstr "Dimensiune iconiță" + +#: schemas/org.gnome.shell.extensions.desktop-icons.gschema.xml:12 +msgid "Set the size for the desktop icons." +msgstr "Stabilește dimensiunea pentru iconițele desktopului." + +#: schemas/org.gnome.shell.extensions.desktop-icons.gschema.xml:16 +msgid "Show personal folder" +msgstr "Arată dosarul personal" + +#: schemas/org.gnome.shell.extensions.desktop-icons.gschema.xml:17 +msgid "Show the personal folder in the desktop." +msgstr "Arată dosarul personal pe desktop." + +#: schemas/org.gnome.shell.extensions.desktop-icons.gschema.xml:21 +msgid "Show trash icon" +msgstr "Arată iconița gunoiului" + +#: schemas/org.gnome.shell.extensions.desktop-icons.gschema.xml:22 +msgid "Show the trash icon in the desktop." +msgstr "Arată iconița gunoiului pe deskop." + +#: schemas/org.gnome.shell.extensions.desktop-icons.gschema.xml:26 +msgid "Show mounted drives" +msgstr "Arată dispozitivele montate" + +#: schemas/org.gnome.shell.extensions.desktop-icons.gschema.xml:27 +msgid "Show mounted drives in the desktop." +msgstr "Arată dispozitivele montate pe desktop." + #~ msgid "Application" #~ msgstr "Aplicație" diff --git a/po/ru.po b/po/ru.po index de5dbbb5..360d636f 100644 --- a/po/ru.po +++ b/po/ru.po @@ -1,4 +1,5 @@ # #-#-#-#-# ru.po (gnome-shell-extensions gnome-3-0) #-#-#-#-# +# #-#-#-#-# ru.po (gnome-shell-extensions gnome-3-0) #-#-#-#-# # Russian translation for gnome-shell-extensions. # Copyright (C) 2011 gnome-shell-extensions's COPYRIGHT HOLDER # This file is distributed under the same license as the gnome-shell-extensions package. @@ -9,10 +10,17 @@ # Russian translation for dash-to-dock GNOME Shell extension # Ivan Komaritsyn , 2015-2020. # +# #-#-#-#-# ru.po #-#-#-#-# +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. +# Eaglers , 2018. +# #, fuzzy msgid "" msgstr "" "#-#-#-#-# ru.po (gnome-shell-extensions gnome-3-0) #-#-#-#-#\n" +"#-#-#-#-# ru.po (gnome-shell-extensions gnome-3-0) #-#-#-#-#\n" "Project-Id-Version: gnome-shell-extensions gnome-3-0\n" "Report-Msgid-Bugs-To: https://gitlab.gnome.org/GNOME/gnome-shell-extensions/" "issues\n" @@ -41,6 +49,20 @@ msgstr "" "Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n" "%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2)\n" "X-Generator: Gtranslator 2.91.7\n" +"#-#-#-#-# ru.po #-#-#-#-#\n" +"Project-Id-Version: \n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2020-04-05 21:12+0200\n" +"PO-Revision-Date: 2020-04-06 22:29+0300\n" +"Last-Translator: Stas Solovey \n" +"Language-Team: Russian \n" +"Language: ru\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n" +"%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" +"X-Generator: Poedit 2.3\n" #: data/gnome-classic.desktop.in:3 data/gnome-classic.session.desktop.in:3 msgid "GNOME Classic" @@ -793,6 +815,174 @@ msgstr "Задержка открытия (сек.)" msgid "Pressure threshold" msgstr "Порог давления" +#: createFolderDialog.js:46 +msgid "New folder name" +msgstr "Имя новой папки" + +#: createFolderDialog.js:70 +msgid "Create" +msgstr "Создать" + +#: createFolderDialog.js:72 +msgid "Cancel" +msgstr "Отмена" + +#: createFolderDialog.js:145 +msgid "Folder names cannot contain “/”." +msgstr "Имена папок не могут содержать «/»." + +#: createFolderDialog.js:148 +msgid "A folder cannot be called “.”." +msgstr "Папка не может быть названа как «.»." + +#: createFolderDialog.js:151 +msgid "A folder cannot be called “..”." +msgstr "Папка не может быть названа как «..»." + +#: createFolderDialog.js:153 +msgid "Folders with “.” at the beginning of their name are hidden." +msgstr "Папки с точкой «.» в начале их имени скрываются." + +#: createFolderDialog.js:155 +msgid "There is already a file or folder with that name." +msgstr "Файл или папка с таким именем уже существует." + +#: prefs.js:102 +msgid "Size for the desktop icons" +msgstr "Размер значков" + +#: prefs.js:102 +msgid "Small" +msgstr "Маленький" + +#: prefs.js:102 +msgid "Standard" +msgstr "Стандартный" + +#: prefs.js:102 +msgid "Large" +msgstr "Большой" + +#: prefs.js:103 +msgid "Show the personal folder in the desktop" +msgstr "Показывать домашнюю папку на рабочем столе" + +#: prefs.js:104 +msgid "Show the trash icon in the desktop" +msgstr "Показывать «Корзину» на рабочем столе" + +#: desktopGrid.js:343 +msgid "New Folder" +msgstr "Создать папку" + +#: desktopGrid.js:345 +msgid "Paste" +msgstr "Вставить" + +#: desktopGrid.js:346 +msgid "Undo" +msgstr "Отменить" + +#: desktopGrid.js:347 +msgid "Redo" +msgstr "Повторить" + +#: desktopGrid.js:349 +msgid "Show Desktop in Files" +msgstr "Показывать папку «Рабочий стол» в приложении «Файлы»" + +#: desktopGrid.js:350 fileItem.js:651 +msgid "Open in Terminal" +msgstr "Открыть в терминале" + +#: desktopGrid.js:352 +msgid "Change Background…" +msgstr "Изменить фон…" + +#: desktopGrid.js:354 +msgid "Display Settings" +msgstr "Настройки дисплея" + +#: desktopGrid.js:355 +msgid "Settings" +msgstr "Параметры" + +#: desktopGrid.js:653 +msgid "Rename" +msgstr "Переименовать" + +#: desktopIconsUtil.js:61 +msgid "Command not found" +msgstr "Команда не найдена" + +#: fileItem.js:521 +msgid "Don’t Allow Launching" +msgstr "Запретить запуск" + +#: fileItem.js:523 +msgid "Allow Launching" +msgstr "Разрешить запуск" + +#: fileItem.js:619 +msgid "Open" +msgstr "Открыть" + +#: fileItem.js:623 +msgid "Open With Other Application" +msgstr "Открыть в другом приложении" + +#: fileItem.js:627 +msgid "Cut" +msgstr "Вырезать" + +#: fileItem.js:628 +msgid "Copy" +msgstr "Вставить" + +#: fileItem.js:630 +msgid "Rename…" +msgstr "Переименовать…" + +#: fileItem.js:631 +msgid "Move to Trash" +msgstr "Переместить в корзину" + +#: fileItem.js:641 +msgid "Empty Trash" +msgstr "Очистить корзину" + +#: fileItem.js:647 +msgid "Properties" +msgstr "Свойства" + +#: fileItem.js:649 +msgid "Show in Files" +msgstr "Показать в «Файлах»" + +#: schemas/org.gnome.shell.extensions.desktop-icons.gschema.xml:11 +msgid "Icon size" +msgstr "Размер значков" + +#: schemas/org.gnome.shell.extensions.desktop-icons.gschema.xml:12 +msgid "Set the size for the desktop icons." +msgstr "Установить размер значков рабочего стола." + +#: schemas/org.gnome.shell.extensions.desktop-icons.gschema.xml:16 +msgid "Show personal folder" +msgstr "Показывать домашнюю папку" + +#: schemas/org.gnome.shell.extensions.desktop-icons.gschema.xml:17 +msgid "Show the personal folder in the desktop." +msgstr "Показывать значок домашней папки на рабочем столе." + +#: schemas/org.gnome.shell.extensions.desktop-icons.gschema.xml:21 +msgid "Show trash icon" +msgstr "Показывать значок корзины" + +#: schemas/org.gnome.shell.extensions.desktop-icons.gschema.xml:22 +msgid "Show the trash icon in the desktop." +msgstr "Показывать значок корзины на рабочем столе." + #~ msgid "Attach modal dialog to the parent window" #~ msgstr "Прикреплять модальное диалоговое окно к родительскому окну" @@ -985,3 +1175,12 @@ msgstr "Порог давления" #~ msgid "Shrink the dash size by reducing padding" #~ msgstr "Уменьшить Док за счёт промежутков" + +#~ msgid "Huge" +#~ msgstr "Огромный" + +#~ msgid "Enter file name…" +#~ msgstr "Ввести имя файла…" + +#~ msgid "Ok" +#~ msgstr "ОК" diff --git a/po/sk.po b/po/sk.po index e8330d08..4c6c91b4 100644 --- a/po/sk.po +++ b/po/sk.po @@ -1,4 +1,5 @@ # #-#-#-#-# sk.po (gnome-shell-extensions) #-#-#-#-# +# #-#-#-#-# sk.po (gnome-shell-extensions) #-#-#-#-# # Slovak translation for gnome-shell-extensions. # Copyright (C) 2012-2013 Free Software Foundation, Inc. # This file is distributed under the same license as the gnome-shell-extensions package. @@ -11,10 +12,17 @@ # This file is distributed under the same license as the PACKAGE package. # Dušan Kazik , 2015, 2016. # +# #-#-#-#-# sk.po (desktop-icons master) #-#-#-#-# +# Slovak translation for desktop-icons. +# Copyright (C) 2020 desktop-icons's COPYRIGHT HOLDER +# This file is distributed under the same license as the desktop-icons package. +# Dušan Kazik , 2020. +# #, fuzzy msgid "" msgstr "" "#-#-#-#-# sk.po (gnome-shell-extensions) #-#-#-#-#\n" +"#-#-#-#-# sk.po (gnome-shell-extensions) #-#-#-#-#\n" "Project-Id-Version: gnome-shell-extensions\n" "Report-Msgid-Bugs-To: https://gitlab.gnome.org/GNOME/gnome-shell-extensions/" "issues\n" @@ -41,6 +49,20 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "X-Generator: Poedit 1.8.7.1\n" "Plural-Forms: nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2;\n" +"#-#-#-#-# sk.po (desktop-icons master) #-#-#-#-#\n" +"Project-Id-Version: desktop-icons master\n" +"Report-Msgid-Bugs-To: https://gitlab.gnome.org/World/ShellExtensions/desktop-" +"icons/issues\n" +"POT-Creation-Date: 2020-09-05 22:22+0000\n" +"PO-Revision-Date: 2020-09-06 18:40+0200\n" +"Language-Team: Slovak \n" +"Language: sk\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=3; plural=(n==1) ? 1 : (n>=2 && n<=4) ? 2 : 0;\n" +"Last-Translator: Dušan Kazik \n" +"X-Generator: Poedit 2.4.1\n" #: data/gnome-classic.desktop.in:3 data/gnome-classic.session.desktop.in:3 msgid "GNOME Classic" @@ -83,10 +105,11 @@ msgstr "Pravidlá pracovného priestoru" msgid "Add Rule" msgstr "Pridať pravidlo" +# #-#-#-#-# sk.po (gnome-shell-extensions) #-#-#-#-# # https://bugzilla.gnome.org/show_bug.cgi?id=687590 #. TRANSLATORS: %s is the filesystem name #: extensions/drive-menu/extension.js:112 -#: extensions/places-menu/placeDisplay.js:233 +#: extensions/places-menu/placeDisplay.js:233 desktopIconsUtil.js:162 #, javascript-format msgid "Ejecting drive “%s” failed:" msgstr "Zlyhalo vysúvanie jednotky „%s“:" @@ -154,8 +177,9 @@ msgstr "Zlyhalo pripojenie zväzku pre „%s“" msgid "Computer" msgstr "Počítač" +# #-#-#-#-# sk.po (gnome-shell-extensions) #-#-#-#-# # Places -#: extensions/places-menu/placeDisplay.js:359 +#: extensions/places-menu/placeDisplay.js:359 fileItem.js:927 msgid "Home" msgstr "Domov" @@ -735,6 +759,198 @@ msgstr "Zobraziť časový limit (s)" msgid "Pressure threshold" msgstr "Medza tlaku" +#: createFolderDialog.js:46 +msgid "New folder name" +msgstr "Nový názov priečinka" + +#: createFolderDialog.js:70 +msgid "Create" +msgstr "Vytvoriť" + +#: createFolderDialog.js:72 +msgid "Cancel" +msgstr "Zrušiť" + +#: createFolderDialog.js:145 +msgid "Folder names cannot contain “/”." +msgstr "Názvy priečinkov nemôžu obsahovať znak „/“." + +#: createFolderDialog.js:148 +msgid "A folder cannot be called “.”." +msgstr "Priečinok nemôže byť nazvaný „.“." + +#: createFolderDialog.js:151 +msgid "A folder cannot be called “..”." +msgstr "Priečinok nemôže byť nazvaný „..“." + +#: createFolderDialog.js:153 +msgid "Folders with “.” at the beginning of their name are hidden." +msgstr "Priečinky s názvami začínajúcimi znakom „.“ sú skryté." + +#: createFolderDialog.js:155 +msgid "There is already a file or folder with that name." +msgstr "Súbor alebo priečinok s týmto názvom už existuje." + +#: prefs.js:103 +msgid "Size for the desktop icons" +msgstr "Veľkosť ikon pracovnej plochy" + +#: prefs.js:103 +msgid "Small" +msgstr "Malé" + +#: prefs.js:103 +msgid "Standard" +msgstr "Štandardné" + +#: prefs.js:103 +msgid "Large" +msgstr "Veľké" + +#: prefs.js:104 +msgid "Show the personal folder in the desktop" +msgstr "Zobraziť osobný priečinok na pracovnej ploche" + +#: prefs.js:105 +msgid "Show the trash icon in the desktop" +msgstr "Zobraziť ikonu Koša na pracovnej ploche" + +#: prefs.js:106 +msgid "Show mounted drives in the desktop" +msgstr "Zobraziť pripojené jednotky na pracovnej ploche" + +#: desktopGrid.js:346 +msgid "New Folder" +msgstr "Nový priečinok" + +#: desktopGrid.js:347 +msgid "New Document" +msgstr "Nový dokument" + +#: desktopGrid.js:350 +msgid "Paste" +msgstr "Vložiť" + +#: desktopGrid.js:351 +msgid "Undo" +msgstr "Vráti späť" + +#: desktopGrid.js:352 +msgid "Redo" +msgstr "Opakovať vrátené" + +#: desktopGrid.js:354 +msgid "Show Desktop in Files" +msgstr "Zobraziť Plochu v aplikácii Súbory" + +#: desktopGrid.js:355 fileItem.js:723 +msgid "Open in Terminal" +msgstr "Otvoriť v termináli" + +#: desktopGrid.js:357 +msgid "Change Background…" +msgstr "Zmeniť pozadie…" + +#: desktopGrid.js:359 +msgid "Display Settings" +msgstr "Nastavenia displejov" + +#: desktopGrid.js:360 +msgid "Settings" +msgstr "Nastavenia" + +#: desktopGrid.js:699 +msgid "Rename" +msgstr "Premenovanie" + +#: desktopIconsUtil.js:63 +msgid "Command not found" +msgstr "Príkaz sa nenašiel" + +#: fileItem.js:586 +msgid "Don’t Allow Launching" +msgstr "Neumožniť spúšťanie" + +#: fileItem.js:588 +msgid "Allow Launching" +msgstr "Umožniť spúšťanie" + +#: fileItem.js:684 +msgid "Open" +msgstr "Otvorené" + +#: fileItem.js:688 +msgid "Open With Other Application" +msgstr "Otvoriť inou aplikáciou" + +#: fileItem.js:690 +msgid "Launch using Dedicated Graphics Card" +msgstr "Spustiť pomocou vyhradenej grafickej karty" + +#: fileItem.js:695 +msgid "Cut" +msgstr "Vystrihnúť" + +#: fileItem.js:696 +msgid "Copy" +msgstr "Skopíruje" + +#: fileItem.js:698 +msgid "Rename…" +msgstr "Premenovať…" + +#: fileItem.js:699 +msgid "Move to Trash" +msgstr "Presunúť do Koša" + +#: fileItem.js:709 +msgid "Empty Trash" +msgstr "Vyprázdniť Kôš" + +#: fileItem.js:713 +msgid "Eject" +msgstr "Vysunúť" + +#: fileItem.js:719 +msgid "Properties" +msgstr "Vlastnosti" + +#: fileItem.js:721 +msgid "Show in Files" +msgstr "Zobraziť v aplikácii Súbory" + +#: schemas/org.gnome.shell.extensions.desktop-icons.gschema.xml:11 +msgid "Icon size" +msgstr "Veľkosť ikon" + +#: schemas/org.gnome.shell.extensions.desktop-icons.gschema.xml:12 +msgid "Set the size for the desktop icons." +msgstr "Nastaví veľkosť ikon na pracovnej ploche." + +#: schemas/org.gnome.shell.extensions.desktop-icons.gschema.xml:16 +msgid "Show personal folder" +msgstr "Zobraziť osobný priečinok" + +#: schemas/org.gnome.shell.extensions.desktop-icons.gschema.xml:17 +msgid "Show the personal folder in the desktop." +msgstr "Zobrazí osobný priečinok na pracovnej ploche." + +#: schemas/org.gnome.shell.extensions.desktop-icons.gschema.xml:21 +msgid "Show trash icon" +msgstr "Zobraziť ikonu Koša" + +#: schemas/org.gnome.shell.extensions.desktop-icons.gschema.xml:22 +msgid "Show the trash icon in the desktop." +msgstr "Zobrazí ikonu Koša na pracovnej ploche." + +#: schemas/org.gnome.shell.extensions.desktop-icons.gschema.xml:26 +msgid "Show mounted drives" +msgstr "Zobraziť pripojené jednotky" + +#: schemas/org.gnome.shell.extensions.desktop-icons.gschema.xml:27 +msgid "Show mounted drives in the desktop." +msgstr "Zobrazí pripojené jednotky na pracovnej ploche." + # TreeViewColumn #~ msgid "Application" #~ msgstr "Aplikácia" diff --git a/po/sl.po b/po/sl.po index 273c1606..0a3ee8e6 100644 --- a/po/sl.po +++ b/po/sl.po @@ -1,11 +1,21 @@ +# #-#-#-#-# sl.po (gnome-shell-extension-openweather 1.1) #-#-#-#-# # Slovenian translation for gnome-shell-extension-openweather. # Copyright (C) YEAR Jens Lody # This file is distributed under the same license as the gnome-shell-extension-openweather package. # # Matej Urbančič , 2018–2020. # +# #-#-#-#-# sl.po (desktop-icons master) #-#-#-#-# +# Slovenian translations for desktop-icons. +# Copyright (C) 2018 desktop-icons's COPYRIGHT HOLDER +# This file is distributed under the same license as the atomix package. +# +# Matej Urbančič , + 2018–. +# +#, fuzzy msgid "" msgstr "" +"#-#-#-#-# sl.po (gnome-shell-extension-openweather 1.1) #-#-#-#-#\n" "Project-Id-Version: gnome-shell-extension-openweather 1.1\n" "Report-Msgid-Bugs-To: https://gitlab.gnome.org/GNOME/gnome-shell-extensions/" "issues\n" @@ -20,6 +30,21 @@ msgstr "" "Plural-Forms: nplurals=4; plural=(n%100==1 ? 0 : n%100==2 ? 1 : n%100>=3 && n" "%100<=4 ? 2 : 3);\n" "X-Generator: Poedit 2.3\n" +"#-#-#-#-# sl.po (desktop-icons master) #-#-#-#-#\n" +"Project-Id-Version: desktop-icons master\n" +"Report-Msgid-Bugs-To: https://gitlab.gnome.org/World/ShellExtensions/desktop-" +"icons/issues\n" +"POT-Creation-Date: 2020-08-28 03:11+0000\n" +"PO-Revision-Date: 2020-09-03 21:58+0200\n" +"Last-Translator: \n" +"Language-Team: Slovenian \n" +"Language: sl\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%100==1 ? 1 : n%100==2 ? 2 : n%100==3 || n" +"%100==4 ? 3 : 0);\n" +"X-Generator: Poedit 2.3\n" #: data/gnome-classic.desktop.in:3 data/gnome-classic.session.desktop.in:3 msgid "GNOME Classic" @@ -59,7 +84,7 @@ msgstr "Dodaj pravilo" #. TRANSLATORS: %s is the filesystem name #: extensions/drive-menu/extension.js:112 -#: extensions/places-menu/placeDisplay.js:233 +#: extensions/places-menu/placeDisplay.js:233 desktopIconsUtil.js:162 #, javascript-format msgid "Ejecting drive “%s” failed:" msgstr "Izmetavanje pogona »%s« je spodletelo:" @@ -120,9 +145,14 @@ msgstr "Priklapljanje nosilca za »%s« je spodletelo" msgid "Computer" msgstr "Računalnik" -#: extensions/places-menu/placeDisplay.js:359 +#: extensions/places-menu/placeDisplay.js:359 fileItem.js:927 +#, fuzzy msgid "Home" -msgstr "Home" +msgstr "" +"#-#-#-#-# sl.po (gnome-shell-extension-openweather 1.1) #-#-#-#-#\n" +"Home\n" +"#-#-#-#-# sl.po (desktop-icons master) #-#-#-#-#\n" +"Na začetek" #: extensions/places-menu/placeDisplay.js:404 msgid "Browse Network" @@ -259,6 +289,198 @@ msgstr "Delovna površina %d" msgid "Add Workspace" msgstr "Dodaj delovno površino" +#: createFolderDialog.js:72 +msgid "Cancel" +msgstr "Prekliči" + +#: createFolderDialog.js:46 +msgid "New folder name" +msgstr "Ime nove mape" + +#: createFolderDialog.js:70 +msgid "Create" +msgstr "Ustvari" + +#: createFolderDialog.js:145 +msgid "Folder names cannot contain “/”." +msgstr "Ime mape ne sme vsebovati poševnice » / «." + +#: createFolderDialog.js:148 +msgid "A folder cannot be called “.”." +msgstr "Mapa ne sme biti poimenovana » . «." + +#: createFolderDialog.js:151 +msgid "A folder cannot be called “..”." +msgstr "Mapa ne sme biti poimenovana » .. «." + +#: createFolderDialog.js:153 +msgid "Folders with “.” at the beginning of their name are hidden." +msgstr "Mape, katerih ime se začne s piko » . «, so skrite mape." + +#: createFolderDialog.js:155 +msgid "There is already a file or folder with that name." +msgstr "Mapa oziroma datoteka z enakim imenom že obstaja." + +#: prefs.js:103 +msgid "Size for the desktop icons" +msgstr "Velikost ikon namizja" + +#: prefs.js:103 +msgid "Small" +msgstr "Majhne" + +#: prefs.js:103 +msgid "Standard" +msgstr "Običajne" + +#: prefs.js:103 +msgid "Large" +msgstr "Velike" + +#: prefs.js:104 +msgid "Show the personal folder in the desktop" +msgstr "Pokaži osebno mapo na namizju" + +#: prefs.js:105 +msgid "Show the trash icon in the desktop" +msgstr "Pokaži smeti na namizju" + +#: prefs.js:106 +msgid "Show mounted drives in the desktop" +msgstr "Pokaži priklopljene nosilce na namizju" + +#: desktopGrid.js:346 +msgid "New Folder" +msgstr "Nova mapa" + +#: desktopGrid.js:347 +msgid "New Document" +msgstr "Nov dokument" + +#: desktopGrid.js:350 +msgid "Paste" +msgstr "Prilepi" + +#: desktopGrid.js:351 +msgid "Undo" +msgstr "Razveljavi" + +#: desktopGrid.js:352 +msgid "Redo" +msgstr "Ponovno uveljavi" + +#: desktopGrid.js:354 +msgid "Show Desktop in Files" +msgstr "Odpri Namizje v upravljalniku datotek" + +#: desktopGrid.js:355 fileItem.js:723 +msgid "Open in Terminal" +msgstr "Odpri v terminalu" + +#: desktopGrid.js:357 +msgid "Change Background…" +msgstr "Spremeni ozadje …" + +#: desktopGrid.js:359 +msgid "Display Settings" +msgstr "Nastavitve zaslona" + +#: desktopGrid.js:360 +msgid "Settings" +msgstr "Nastavitve" + +#: desktopGrid.js:699 +msgid "Rename" +msgstr "Preimenuj" + +#: desktopIconsUtil.js:63 +msgid "Command not found" +msgstr "Ukaza ni mogoče najti" + +#: fileItem.js:586 +msgid "Don’t Allow Launching" +msgstr "Ne dovoli zaganjanja" + +#: fileItem.js:588 +msgid "Allow Launching" +msgstr "Dovoli zaganjanje" + +#: fileItem.js:684 +msgid "Open" +msgstr "Odpri" + +#: fileItem.js:688 +msgid "Open With Other Application" +msgstr "Odpri z drugim programom …" + +#: fileItem.js:690 +msgid "Launch using Dedicated Graphics Card" +msgstr "Zaženi z uporabo določene grafične kartice" + +#: fileItem.js:695 +msgid "Cut" +msgstr "Izreži" + +#: fileItem.js:696 +msgid "Copy" +msgstr "Kopiraj" + +#: fileItem.js:698 +msgid "Rename…" +msgstr "Preimenuj …" + +#: fileItem.js:699 +msgid "Move to Trash" +msgstr "Premakni v smeti" + +#: fileItem.js:709 +msgid "Empty Trash" +msgstr "Izprazni smeti" + +#: fileItem.js:713 +msgid "Eject" +msgstr "Izvrzi" + +#: fileItem.js:719 +msgid "Properties" +msgstr "Lastnosti" + +#: fileItem.js:721 +msgid "Show in Files" +msgstr "Pokaži v upravljalniku datotek" + +#: schemas/org.gnome.shell.extensions.desktop-icons.gschema.xml:11 +msgid "Icon size" +msgstr "Velikost ikon" + +#: schemas/org.gnome.shell.extensions.desktop-icons.gschema.xml:12 +msgid "Set the size for the desktop icons." +msgstr "Nastavitev velikosti ikon na namizju." + +#: schemas/org.gnome.shell.extensions.desktop-icons.gschema.xml:16 +msgid "Show personal folder" +msgstr "Pokaži osebno mapo" + +#: schemas/org.gnome.shell.extensions.desktop-icons.gschema.xml:17 +msgid "Show the personal folder in the desktop." +msgstr "Pokaže ikono osebne mape na namizju." + +#: schemas/org.gnome.shell.extensions.desktop-icons.gschema.xml:21 +msgid "Show trash icon" +msgstr "Pokaži ikono smeti" + +#: schemas/org.gnome.shell.extensions.desktop-icons.gschema.xml:22 +msgid "Show the trash icon in the desktop." +msgstr "Pokaže ikono smeti na namizju." + +#: schemas/org.gnome.shell.extensions.desktop-icons.gschema.xml:26 +msgid "Show mounted drives" +msgstr "Pokaži priklopljene nosilce" + +#: schemas/org.gnome.shell.extensions.desktop-icons.gschema.xml:27 +msgid "Show mounted drives in the desktop." +msgstr "Pokaži priklopljene nosilce na namizju." + #~ msgid "Application" #~ msgstr "Program " @@ -707,9 +929,6 @@ msgstr "Dodaj delovno površino" #~ msgid "Extensions default weather provider" #~ msgstr "Privzeti ponudnik vremenskih podatkov" -#~ msgid "Cancel" -#~ msgstr "Prekliči" - #~ msgid "Save" #~ msgstr "Shrani" @@ -915,3 +1134,6 @@ msgstr "Dodaj delovno površino" #~ msgid "Your personal AppKey from developer.mapquest.com" #~ msgstr "Osebni programski ključ developer.mapquest.com" + +#~ msgid "Huge" +#~ msgstr "Velikanske" diff --git a/po/sr.po b/po/sr.po index 92ab6945..d18451a4 100644 --- a/po/sr.po +++ b/po/sr.po @@ -1,4 +1,5 @@ # #-#-#-#-# sr.po (gnome-shell-extensions master) #-#-#-#-# +# #-#-#-#-# sr.po (gnome-shell-extensions master) #-#-#-#-# # Serbian translation for gnome-shell-extensions. # Courtesy of Prevod.org team (http://prevod.org/) -- 2012—2017. # This file is distributed under the same license as the gnome-shell-extensions package. @@ -12,10 +13,16 @@ # This file is distributed under the same license as the PACKAGE package. # FIRST AUTHOR , YEAR. # +# #-#-#-#-# sr.po (desktop-icons master) #-#-#-#-# +# Serbian translation for desktop-icons. +# Copyright © 2021 desktop-icons's COPYRIGHT HOLDER +# This file is distributed under the same license as the desktop-icons package. +# Мирослав Николић , 2021. #, fuzzy msgid "" msgstr "" "#-#-#-#-# sr.po (gnome-shell-extensions master) #-#-#-#-#\n" +"#-#-#-#-# sr.po (gnome-shell-extensions master) #-#-#-#-#\n" "Project-Id-Version: gnome-shell-extensions master\n" "Report-Msgid-Bugs-To: https://gitlab.gnome.org/GNOME/gnome-shell-extensions/" "issues\n" @@ -45,6 +52,20 @@ msgstr "" "X-Generator: Poedit 2.0.3\n" "Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n" "%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" +"#-#-#-#-# sr.po (desktop-icons master) #-#-#-#-#\n" +"Project-Id-Version: desktop-icons master\n" +"Report-Msgid-Bugs-To: https://gitlab.gnome.org/World/ShellExtensions/desktop-" +"icons/issues\n" +"POT-Creation-Date: 2021-01-27 22:42+0000\n" +"PO-Revision-Date: 2021-02-02 07:23+0200\n" +"Last-Translator: Мирослав Николић \n" +"Language-Team: српски \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" #: data/gnome-classic.desktop.in:3 data/gnome-classic.session.desktop.in:3 msgid "GNOME Classic" @@ -85,10 +106,14 @@ msgstr "Додај правило" #. TRANSLATORS: %s is the filesystem name #: extensions/drive-menu/extension.js:112 -#: extensions/places-menu/placeDisplay.js:233 -#, javascript-format +#: extensions/places-menu/placeDisplay.js:233 desktopIconsUtil.js:162 +#, fuzzy, javascript-format msgid "Ejecting drive “%s” failed:" -msgstr "Нисам успео да избацим уређај „%s“:" +msgstr "" +"#-#-#-#-# sr.po (gnome-shell-extensions master) #-#-#-#-#\n" +"Нисам успео да избацим уређај „%s“:\n" +"#-#-#-#-# sr.po (desktop-icons master) #-#-#-#-#\n" +"Избацивање уређаја „%s“ није успело:" #: extensions/drive-menu/extension.js:128 msgid "Removable devices" @@ -146,9 +171,14 @@ msgstr "Нисам успео да прикачим волумен за „%s“ msgid "Computer" msgstr "Рачунар" -#: extensions/places-menu/placeDisplay.js:359 +#: extensions/places-menu/placeDisplay.js:359 fileItem.js:951 +#, fuzzy msgid "Home" -msgstr "Личнo" +msgstr "" +"#-#-#-#-# sr.po (gnome-shell-extensions master) #-#-#-#-#\n" +"Личнo\n" +"#-#-#-#-# sr.po (desktop-icons master) #-#-#-#-#\n" +"Полазна" #: extensions/places-menu/placeDisplay.js:404 msgid "Browse Network" @@ -721,6 +751,198 @@ msgstr "Застој приказивања" msgid "Pressure threshold" msgstr "Праг притиска" +#: createFolderDialog.js:46 +msgid "New folder name" +msgstr "Назив нове фасцикле" + +#: createFolderDialog.js:72 +msgid "Create" +msgstr "Направи" + +#: createFolderDialog.js:74 +msgid "Cancel" +msgstr "Откажи" + +#: createFolderDialog.js:147 +msgid "Folder names cannot contain “/”." +msgstr "Називи фасцикли не могу да садрже /." + +#: createFolderDialog.js:150 +msgid "A folder cannot be called “.”." +msgstr "Фасцикла се не може звати „.“." + +#: createFolderDialog.js:153 +msgid "A folder cannot be called “..”." +msgstr "Фасцикла се не може звати „..“." + +#: createFolderDialog.js:155 +msgid "Folders with “.” at the beginning of their name are hidden." +msgstr "Фасцикле са . на почетку назива су скривене." + +#: createFolderDialog.js:157 +msgid "There is already a file or folder with that name." +msgstr "Већ постоји датотека или фасцикла са тим називом." + +#: prefs.js:103 +msgid "Size for the desktop icons" +msgstr "Величина за иконице радне површи" + +#: prefs.js:103 +msgid "Small" +msgstr "Мала" + +#: prefs.js:103 +msgid "Standard" +msgstr "Обична" + +#: prefs.js:103 +msgid "Large" +msgstr "Велика" + +#: prefs.js:104 +msgid "Show the personal folder in the desktop" +msgstr "Прикажи личну фасциклу на радној површи" + +#: prefs.js:105 +msgid "Show the trash icon in the desktop" +msgstr "Прикажи иконицу смећа на радној површи" + +#: prefs.js:106 +msgid "Show mounted drives in the desktop" +msgstr "Прикажи прикачене уређаје на радној површи" + +#: desktopGrid.js:346 +msgid "New Folder" +msgstr "Нова фасцикла" + +#: desktopGrid.js:347 +msgid "New Document" +msgstr "Нови документ" + +#: desktopGrid.js:350 +msgid "Paste" +msgstr "Убаци" + +#: desktopGrid.js:351 +msgid "Undo" +msgstr "Поништи" + +#: desktopGrid.js:352 +msgid "Redo" +msgstr "Врати" + +#: desktopGrid.js:354 +msgid "Show Desktop in Files" +msgstr "Прикажи радну површ у датотекама" + +#: desktopGrid.js:355 fileItem.js:726 +msgid "Open in Terminal" +msgstr "Отвори у терминалу" + +#: desktopGrid.js:357 +msgid "Change Background…" +msgstr "Измени позадину…" + +#: desktopGrid.js:359 +msgid "Display Settings" +msgstr "Прикажи поставке" + +#: desktopGrid.js:360 +msgid "Settings" +msgstr "Поставке" + +#: desktopGrid.js:699 +msgid "Rename" +msgstr "Преименуј" + +#: desktopIconsUtil.js:63 +msgid "Command not found" +msgstr "Нема такве наредбе" + +#: fileItem.js:589 +msgid "Don’t Allow Launching" +msgstr "Не дозволи покретање" + +#: fileItem.js:591 +msgid "Allow Launching" +msgstr "Дозволи покретање" + +#: fileItem.js:687 +msgid "Open" +msgstr "Отвори" + +#: fileItem.js:691 +msgid "Open With Other Application" +msgstr "Отвори другим програмом" + +#: fileItem.js:693 +msgid "Launch using Dedicated Graphics Card" +msgstr "Покрени користећи намењену графичку картицу" + +#: fileItem.js:698 +msgid "Cut" +msgstr "Исеци" + +#: fileItem.js:699 +msgid "Copy" +msgstr "Умножи" + +#: fileItem.js:701 +msgid "Rename…" +msgstr "Преименуј…" + +#: fileItem.js:702 +msgid "Move to Trash" +msgstr "Премести у смеће" + +#: fileItem.js:712 +msgid "Empty Trash" +msgstr "Испразни смеће" + +#: fileItem.js:716 +msgid "Eject" +msgstr "Избаци" + +#: fileItem.js:722 +msgid "Properties" +msgstr "Својства" + +#: fileItem.js:724 +msgid "Show in Files" +msgstr "Прикажи у Датотекама" + +#: schemas/org.gnome.shell.extensions.desktop-icons.gschema.xml:11 +msgid "Icon size" +msgstr "Величина иконице" + +#: schemas/org.gnome.shell.extensions.desktop-icons.gschema.xml:12 +msgid "Set the size for the desktop icons." +msgstr "Поставља величину за иконице радне површи." + +#: schemas/org.gnome.shell.extensions.desktop-icons.gschema.xml:16 +msgid "Show personal folder" +msgstr "Приказ личне фасцикле" + +#: schemas/org.gnome.shell.extensions.desktop-icons.gschema.xml:17 +msgid "Show the personal folder in the desktop." +msgstr "Приказује личну фасциклу на радној површи." + +#: schemas/org.gnome.shell.extensions.desktop-icons.gschema.xml:21 +msgid "Show trash icon" +msgstr "Приказ иконице смећа" + +#: schemas/org.gnome.shell.extensions.desktop-icons.gschema.xml:22 +msgid "Show the trash icon in the desktop." +msgstr "Приказује иконицу смећа на радној површи." + +#: schemas/org.gnome.shell.extensions.desktop-icons.gschema.xml:26 +msgid "Show mounted drives" +msgstr "Приказ прикачених уређаја" + +#: schemas/org.gnome.shell.extensions.desktop-icons.gschema.xml:27 +msgid "Show mounted drives in the desktop." +msgstr "Приказује прикачене уређаје на радној површи." + #~ msgid "Application" #~ msgstr "Програм" diff --git a/po/sv.po b/po/sv.po index 2ca88c58..dedabe1b 100644 --- a/po/sv.po +++ b/po/sv.po @@ -1,4 +1,5 @@ # #-#-#-#-# sv.po (gnome-shell-extensions) #-#-#-#-# +# #-#-#-#-# sv.po (gnome-shell-extensions) #-#-#-#-# # Swedish translation for gnome-shell-extensions. # Copyright © 2011-2021 Free Software Foundation, Inc. # This file is distributed under the same license as the gnome-shell-extensions package. @@ -13,10 +14,18 @@ # Anders Jonsson , 2016. # Morgan Antonsson , 2020. # +# #-#-#-#-# sv.po (desktop-icons master) #-#-#-#-# +# Swedish translation for desktop-icons. +# Copyright © 2018-2020 desktop-icons's COPYRIGHT HOLDER +# This file is distributed under the same license as the desktop-icons package. +# Anders Jonsson , 2018, 2019, 2020. +# Josef Andersson , 2019. +# #, fuzzy msgid "" msgstr "" "#-#-#-#-# sv.po (gnome-shell-extensions) #-#-#-#-#\n" +"#-#-#-#-# sv.po (gnome-shell-extensions) #-#-#-#-#\n" "Project-Id-Version: gnome-shell-extensions\n" "Report-Msgid-Bugs-To: https://gitlab.gnome.org/GNOME/gnome-shell-extensions/" "issues\n" @@ -41,6 +50,20 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Generator: Poedit 2.3\n" +"#-#-#-#-# sv.po (desktop-icons master) #-#-#-#-#\n" +"Project-Id-Version: desktop-icons master\n" +"Report-Msgid-Bugs-To: https://gitlab.gnome.org/World/ShellExtensions/desktop-" +"icons/issues\n" +"POT-Creation-Date: 2020-05-26 20:08+0000\n" +"PO-Revision-Date: 2020-05-27 01:14+0200\n" +"Last-Translator: Anders Jonsson \n" +"Language-Team: Swedish \n" +"Language: sv\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" +"X-Generator: Poedit 2.3.1\n" #: data/gnome-classic.desktop.in:3 msgid "GNOME Classic" @@ -80,10 +103,14 @@ msgstr "Lägg till regel" #. TRANSLATORS: %s is the filesystem name #: extensions/drive-menu/extension.js:112 -#: extensions/places-menu/placeDisplay.js:233 -#, javascript-format +#: extensions/places-menu/placeDisplay.js:233 desktopIconsUtil.js:162 +#, fuzzy, javascript-format msgid "Ejecting drive “%s” failed:" -msgstr "Utmatning av disk ”%s” misslyckades:" +msgstr "" +"#-#-#-#-# sv.po (gnome-shell-extensions) #-#-#-#-#\n" +"Utmatning av disk ”%s” misslyckades:\n" +"#-#-#-#-# sv.po (desktop-icons master) #-#-#-#-#\n" +"Utmatning av enhet ”%s” misslyckades:" #: extensions/drive-menu/extension.js:128 msgid "Removable devices" @@ -142,7 +169,7 @@ msgstr "Misslyckades med att montera volym för ”%s”" msgid "Computer" msgstr "Dator" -#: extensions/places-menu/placeDisplay.js:359 +#: extensions/places-menu/placeDisplay.js:359 fileItem.js:925 msgid "Home" msgstr "Hem" @@ -342,7 +369,7 @@ msgstr "%s för Dash to Dock" msgid "Trash" msgstr "Papperskorg" -#: locations.js:89 +#: locations.js:89 fileItem.js:707 msgid "Empty Trash" msgstr "Töm papperskorgen" @@ -350,7 +377,7 @@ msgstr "Töm papperskorgen" msgid "Mount" msgstr "Montera" -#: locations.js:250 +#: locations.js:250 fileItem.js:711 msgid "Eject" msgstr "Mata ut" @@ -803,3 +830,203 @@ msgstr "Tidsgräns för att visa (s)" #: Settings.ui.h:108 msgid "Pressure threshold" msgstr "Tröskelvärde för tryck" + +#: createFolderDialog.js:46 +msgid "New folder name" +msgstr "Nytt mappnamn" + +#: createFolderDialog.js:70 +msgid "Create" +msgstr "Skapa" + +#: createFolderDialog.js:72 +msgid "Cancel" +msgstr "Avbryt" + +#: createFolderDialog.js:145 +msgid "Folder names cannot contain “/”." +msgstr "Mappnamn kan inte innehålla ”/”." + +#: createFolderDialog.js:148 +msgid "A folder cannot be called “.”." +msgstr "En mapp kan inte kallas ”.”." + +#: createFolderDialog.js:151 +msgid "A folder cannot be called “..”." +msgstr "En mapp kan inte kallas ”..”." + +#: createFolderDialog.js:153 +msgid "Folders with “.” at the beginning of their name are hidden." +msgstr "Mappar med ”.” i början på sitt namn är dolda." + +#: createFolderDialog.js:155 +msgid "There is already a file or folder with that name." +msgstr "Det finns redan en fil eller mapp med det namnet." + +#: prefs.js:103 +msgid "Size for the desktop icons" +msgstr "Storlek för skrivbordsikonerna" + +#: prefs.js:103 +msgid "Small" +msgstr "Liten" + +#: prefs.js:103 +msgid "Standard" +msgstr "Standard" + +#: prefs.js:103 +msgid "Large" +msgstr "Stor" + +# TODO: *ON* the desktop? +#: prefs.js:104 +msgid "Show the personal folder in the desktop" +msgstr "Visa den personliga mappen på skrivbordet" + +# TODO: *ON* the desktop? +#: prefs.js:105 +msgid "Show the trash icon in the desktop" +msgstr "Visa papperskorgsikonen på skrivbordet" + +# TODO: *ON* the desktop? +#: prefs.js:106 +msgid "Show mounted drives in the desktop" +msgstr "Visa monterade enheter på skrivbordet" + +#: desktopGrid.js:346 +msgid "New Folder" +msgstr "Ny mapp" + +#: desktopGrid.js:347 +msgid "New Document" +msgstr "Nytt dokument" + +#: desktopGrid.js:350 +msgid "Paste" +msgstr "Klistra in" + +#: desktopGrid.js:351 +msgid "Undo" +msgstr "Ångra" + +#: desktopGrid.js:352 +msgid "Redo" +msgstr "Gör om" + +#: desktopGrid.js:354 +msgid "Show Desktop in Files" +msgstr "Visa skrivbord i Filer" + +#: desktopGrid.js:355 fileItem.js:721 +msgid "Open in Terminal" +msgstr "Öppna i terminal" + +#: desktopGrid.js:357 +msgid "Change Background…" +msgstr "Ändra bakgrund…" + +#: desktopGrid.js:359 +msgid "Display Settings" +msgstr "Visningsinställningar" + +#: desktopGrid.js:360 +msgid "Settings" +msgstr "Inställningar" + +#: desktopGrid.js:692 +msgid "Rename" +msgstr "Byt namn" + +#: desktopIconsUtil.js:63 +msgid "Command not found" +msgstr "Kommandot hittades inte" + +#: fileItem.js:584 +msgid "Don’t Allow Launching" +msgstr "Tillåt ej programstart" + +#: fileItem.js:586 +msgid "Allow Launching" +msgstr "Tillåt programstart" + +#: fileItem.js:682 +msgid "Open" +msgstr "Öppna" + +#: fileItem.js:686 +msgid "Open With Other Application" +msgstr "Öppna med annat program" + +#: fileItem.js:688 +msgid "Launch using Dedicated Graphics Card" +msgstr "Kör med diskret grafikkort" + +#: fileItem.js:693 +msgid "Cut" +msgstr "Klipp ut" + +#: fileItem.js:694 +msgid "Copy" +msgstr "Kopiera" + +#: fileItem.js:696 +msgid "Rename…" +msgstr "Byt namn…" + +#: fileItem.js:697 +msgid "Move to Trash" +msgstr "Flytta till papperskorgen" + +#: fileItem.js:717 +msgid "Properties" +msgstr "Egenskaper" + +#: fileItem.js:719 +msgid "Show in Files" +msgstr "Visa i Filer" + +#: schemas/org.gnome.shell.extensions.desktop-icons.gschema.xml:11 +msgid "Icon size" +msgstr "Ikonstorlek" + +# TODO: *ON* the desktop? +#: schemas/org.gnome.shell.extensions.desktop-icons.gschema.xml:12 +msgid "Set the size for the desktop icons." +msgstr "Ställ in storleken för skrivbordsikonerna." + +#: schemas/org.gnome.shell.extensions.desktop-icons.gschema.xml:16 +msgid "Show personal folder" +msgstr "Visa personlig mapp" + +# TODO: *ON* the desktop? +#: schemas/org.gnome.shell.extensions.desktop-icons.gschema.xml:17 +msgid "Show the personal folder in the desktop." +msgstr "Visa den personliga mappen på skrivbordet." + +#: schemas/org.gnome.shell.extensions.desktop-icons.gschema.xml:21 +msgid "Show trash icon" +msgstr "Visa papperskorgsikon" + +# TODO: *ON* the desktop? +#: schemas/org.gnome.shell.extensions.desktop-icons.gschema.xml:22 +msgid "Show the trash icon in the desktop." +msgstr "Visa papperskorgsikonen på skrivbordet." + +#: schemas/org.gnome.shell.extensions.desktop-icons.gschema.xml:26 +msgid "Show mounted drives" +msgstr "Visa monterade enheter" + +# TODO: *ON* the desktop? +#: schemas/org.gnome.shell.extensions.desktop-icons.gschema.xml:27 +msgid "Show mounted drives in the desktop." +msgstr "Visa monterade enheter på skrivbordet." + +#~ msgid "Enter file name…" +#~ msgstr "Ange filnamn…" + +#~ msgid "OK" +#~ msgstr "OK" + +#~ msgid "Huge" +#~ msgstr "Enorm" diff --git a/po/tr.po b/po/tr.po index 38bbc7b6..3870d35e 100644 --- a/po/tr.po +++ b/po/tr.po @@ -1,4 +1,5 @@ # #-#-#-#-# tr.po (gnome-shell-extensions master) #-#-#-#-# +# #-#-#-#-# tr.po (gnome-shell-extensions master) #-#-#-#-# # Turkish translation for gnome-shell-extensions. # Copyright (C) 2012-2019 gnome-shell-extensions's COPYRIGHT HOLDER # This file is distributed under the same license as the gnome-shell-extensions package. @@ -23,10 +24,20 @@ # Note for all turkish translators: # Lütfen GNOME Shell çevirileri ile uyumlu çevirmeye gayret edelim. # +# #-#-#-#-# tr.po #-#-#-#-# +# Turkish translation for desktop-icons. +# Copyright (C) 2000-2019 desktop-icons's COPYRIGHT HOLDER +# This file is distributed under the same license as the desktop-icons package. +# +# Sabri Ünal , 2019. +# Serdar Sağlam , 2019 +# Emin Tufan Çetin , 2019, 2020. +# #, fuzzy msgid "" msgstr "" "#-#-#-#-# tr.po (gnome-shell-extensions master) #-#-#-#-#\n" +"#-#-#-#-# tr.po (gnome-shell-extensions master) #-#-#-#-#\n" "Project-Id-Version: gnome-shell-extensions master\n" "Report-Msgid-Bugs-To: https://gitlab.gnome.org/GNOME/gnome-shell-extensions/" "issues\n" @@ -53,6 +64,20 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=1; plural=0;\n" "X-Generator: Poedit 2.0.6\n" +"#-#-#-#-# tr.po #-#-#-#-#\n" +"Project-Id-Version: \n" +"Report-Msgid-Bugs-To: https://gitlab.gnome.org/World/ShellExtensions/desktop-" +"icons/issues\n" +"POT-Creation-Date: 2020-05-26 20:08+0000\n" +"PO-Revision-Date: 2020-09-06 01:02+0300\n" +"Last-Translator: Emin Tufan Çetin \n" +"Language-Team: Türkçe \n" +"Language: tr\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Poedit 2.0.6\n" +"Plural-Forms: nplurals=1; plural=0;\n" #: data/gnome-classic.desktop.in:3 data/gnome-classic.session.desktop.in:3 msgid "GNOME Classic" @@ -92,7 +117,7 @@ msgstr "Kural Ekle" #. TRANSLATORS: %s is the filesystem name #: extensions/drive-menu/extension.js:112 -#: extensions/places-menu/placeDisplay.js:233 +#: extensions/places-menu/placeDisplay.js:233 desktopIconsUtil.js:162 #, javascript-format msgid "Ejecting drive “%s” failed:" msgstr "“%s” sürücüsü çıkarılamadı:" @@ -155,9 +180,14 @@ msgstr "“%s” için birim bağlanamadı" msgid "Computer" msgstr "Bilgisayar" -#: extensions/places-menu/placeDisplay.js:359 +#: extensions/places-menu/placeDisplay.js:359 fileItem.js:925 +#, fuzzy msgid "Home" -msgstr "Başlangıç" +msgstr "" +"#-#-#-#-# tr.po (gnome-shell-extensions master) #-#-#-#-#\n" +"Başlangıç\n" +"#-#-#-#-# tr.po #-#-#-#-#\n" +"Ev" #: extensions/places-menu/placeDisplay.js:404 msgid "Browse Network" @@ -815,6 +845,198 @@ msgstr "Gösterim zaman aşımı (s)" msgid "Pressure threshold" msgstr "Etki eşiği" +#: createFolderDialog.js:46 +msgid "New folder name" +msgstr "Yeni klasör adı" + +#: createFolderDialog.js:70 +msgid "Create" +msgstr "Oluştur" + +#: createFolderDialog.js:72 +msgid "Cancel" +msgstr "İptal" + +#: createFolderDialog.js:145 +msgid "Folder names cannot contain “/”." +msgstr "Klasör adları “/” içeremez." + +#: createFolderDialog.js:148 +msgid "A folder cannot be called “.”." +msgstr "Klasör “.” olarak adlandırılamaz." + +#: createFolderDialog.js:151 +msgid "A folder cannot be called “..”." +msgstr "Klasör “..” olarak adlandırılamaz." + +#: createFolderDialog.js:153 +msgid "Folders with “.” at the beginning of their name are hidden." +msgstr "Adının başında “.” bulunan klasörler gizlenir." + +#: createFolderDialog.js:155 +msgid "There is already a file or folder with that name." +msgstr "Bu adda dosya veya klasör var." + +#: prefs.js:103 +msgid "Size for the desktop icons" +msgstr "Masaüstü simgeleri boyutu" + +#: prefs.js:103 +msgid "Small" +msgstr "Küçük" + +#: prefs.js:103 +msgid "Standard" +msgstr "Standart" + +#: prefs.js:103 +msgid "Large" +msgstr "Büyük" + +#: prefs.js:104 +msgid "Show the personal folder in the desktop" +msgstr "Kişisel klasörü masaüstünde göster" + +#: prefs.js:105 +msgid "Show the trash icon in the desktop" +msgstr "Çöp kutusunu masaüstünde göster" + +#: prefs.js:106 +msgid "Show mounted drives in the desktop" +msgstr "Bağlı sürücüleri masaüstünde göster" + +#: desktopGrid.js:346 +msgid "New Folder" +msgstr "Yeni Klasör" + +#: desktopGrid.js:347 +msgid "New Document" +msgstr "Yeni Belge" + +#: desktopGrid.js:350 +msgid "Paste" +msgstr "Yapıştır" + +#: desktopGrid.js:351 +msgid "Undo" +msgstr "Geri Al" + +#: desktopGrid.js:352 +msgid "Redo" +msgstr "Yinele" + +#: desktopGrid.js:354 +msgid "Show Desktop in Files" +msgstr "Masaüstünü Dosyalarʼda Göster" + +#: desktopGrid.js:355 fileItem.js:721 +msgid "Open in Terminal" +msgstr "Uçbirimde Aç" + +#: desktopGrid.js:357 +msgid "Change Background…" +msgstr "Arka Planı Değiştir…" + +#: desktopGrid.js:359 +msgid "Display Settings" +msgstr "Görüntü Ayarları" + +#: desktopGrid.js:360 +msgid "Settings" +msgstr "Ayarlar" + +#: desktopGrid.js:692 +msgid "Rename" +msgstr "Yeniden Adlandır" + +#: desktopIconsUtil.js:63 +msgid "Command not found" +msgstr "Komut bulunamadı" + +#: fileItem.js:584 +msgid "Don’t Allow Launching" +msgstr "Başlatmaya İzin Verme" + +#: fileItem.js:586 +msgid "Allow Launching" +msgstr "Başlatmaya İzin Ver" + +#: fileItem.js:682 +msgid "Open" +msgstr "Aç" + +#: fileItem.js:686 +msgid "Open With Other Application" +msgstr "Başka Uygulamayla Aç" + +#: fileItem.js:688 +msgid "Launch using Dedicated Graphics Card" +msgstr "Ayrık Ekran Kartıyla Başlat" + +#: fileItem.js:693 +msgid "Cut" +msgstr "Kes" + +#: fileItem.js:694 +msgid "Copy" +msgstr "Kopyala" + +#: fileItem.js:696 +msgid "Rename…" +msgstr "Yeniden Adlandır…" + +#: fileItem.js:697 +msgid "Move to Trash" +msgstr "Çöpe Taşı" + +#: fileItem.js:707 +msgid "Empty Trash" +msgstr "Çöpü Boşalt" + +#: fileItem.js:711 +msgid "Eject" +msgstr "Çıkar" + +#: fileItem.js:717 +msgid "Properties" +msgstr "Özellikler" + +#: fileItem.js:719 +msgid "Show in Files" +msgstr "Dosyalarʼda Göster" + +#: schemas/org.gnome.shell.extensions.desktop-icons.gschema.xml:11 +msgid "Icon size" +msgstr "Simge boyutu" + +#: schemas/org.gnome.shell.extensions.desktop-icons.gschema.xml:12 +msgid "Set the size for the desktop icons." +msgstr "Masaüstü simgelerinin boyutunu ayarla." + +#: schemas/org.gnome.shell.extensions.desktop-icons.gschema.xml:16 +msgid "Show personal folder" +msgstr "Kişisel klasörü göster" + +#: schemas/org.gnome.shell.extensions.desktop-icons.gschema.xml:17 +msgid "Show the personal folder in the desktop." +msgstr "Kişisel klasörü masaüstünde göster." + +#: schemas/org.gnome.shell.extensions.desktop-icons.gschema.xml:21 +msgid "Show trash icon" +msgstr "Çöp kutusunu göster" + +#: schemas/org.gnome.shell.extensions.desktop-icons.gschema.xml:22 +msgid "Show the trash icon in the desktop." +msgstr "Çöp kutusu simgesini masaüstünde göster." + +#: schemas/org.gnome.shell.extensions.desktop-icons.gschema.xml:26 +msgid "Show mounted drives" +msgstr "Bağlı sürücüleri göster" + +#: schemas/org.gnome.shell.extensions.desktop-icons.gschema.xml:27 +msgid "Show mounted drives in the desktop." +msgstr "Bağlı sürücüleri masaüstünde göster." + #~ msgid "Application" #~ msgstr "Uygulama" @@ -903,3 +1125,9 @@ msgstr "Etki eşiği" #~ msgid "Adaptive" #~ msgstr "Uyarlanır" + +#~ msgid "Enter file name…" +#~ msgstr "Dosya adını gir…" + +#~ msgid "OK" +#~ msgstr "Tamam" diff --git a/po/uk.po b/po/uk.po index f0b08466..a73dceec 100644 --- a/po/uk.po +++ b/po/uk.po @@ -1,3 +1,4 @@ +# #-#-#-#-# uk.po (gnome-shell-extensions master) #-#-#-#-# # Ukrainian translation for gnome-shell-extensions. # Copyright (C) 2011 gnome-shell-extensions's COPYRIGHT HOLDER # This file is distributed under the same license as the gnome-shell-extensions package. @@ -5,11 +6,19 @@ # Daniel Korostil , 2013, 2014, 2015, 2017. # vikaig , 2019. # Yuri Chornoivan , 2020. +# #-#-#-#-# uk.po (desktop-icons master) #-#-#-#-# +# Ukrainian translation for desktop-icons. +# Copyright (C) 2020 desktop-icons's COPYRIGHT HOLDER +# This file is distributed under the same license as the desktop-icons package. +# +# Yuri Chornoivan , 2020. +#, fuzzy msgid "" msgstr "" +"#-#-#-#-# uk.po (gnome-shell-extensions master) #-#-#-#-#\n" "Project-Id-Version: gnome-shell-extensions master\n" -"Report-Msgid-Bugs-To: https://gitlab.gnome.org/GNOME/gnome-shell-extensions/is" -"sues\n" +"Report-Msgid-Bugs-To: https://gitlab.gnome.org/GNOME/gnome-shell-extensions/" +"issues\n" "POT-Creation-Date: 2020-05-03 17:53+0000\n" "PO-Revision-Date: 2020-05-03 22:19+0300\n" "Last-Translator: Yuri Chornoivan \n" @@ -18,10 +27,25 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<" -"=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" +"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n" +"%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" "X-Generator: Lokalize 20.07.70\n" "X-Project-Style: gnome\n" +"#-#-#-#-# uk.po (desktop-icons master) #-#-#-#-#\n" +"Project-Id-Version: desktop-icons master\n" +"Report-Msgid-Bugs-To: https://gitlab.gnome.org/World/ShellExtensions/desktop-" +"icons/issues\n" +"POT-Creation-Date: 2020-05-26 20:08+0000\n" +"PO-Revision-Date: 2020-05-27 11:46+0300\n" +"Last-Translator: Yuri Chornoivan \n" +"Language-Team: Ukrainian \n" +"Language: uk\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" +"X-Generator: Lokalize 20.07.70\n" #: data/gnome-classic.desktop.in:3 data/gnome-classic.session.desktop.in:3 msgid "GNOME Classic" @@ -62,10 +86,14 @@ msgstr "Додати правило" #. TRANSLATORS: %s is the filesystem name #: extensions/drive-menu/extension.js:112 -#: extensions/places-menu/placeDisplay.js:233 -#, javascript-format +#: extensions/places-menu/placeDisplay.js:233 desktopIconsUtil.js:162 +#, fuzzy, javascript-format msgid "Ejecting drive “%s” failed:" -msgstr "Не вдалося витягнути пристрій «%s»:" +msgstr "" +"#-#-#-#-# uk.po (gnome-shell-extensions master) #-#-#-#-#\n" +"Не вдалося витягнути пристрій «%s»:\n" +"#-#-#-#-# uk.po (desktop-icons master) #-#-#-#-#\n" +"Не вдалося виштовхнути пристрій «%s»:" #: extensions/drive-menu/extension.js:128 msgid "Removable devices" @@ -124,7 +152,7 @@ msgstr "Не вдалося змонтувати том до «%s»" msgid "Computer" msgstr "Комп'ютер" -#: extensions/places-menu/placeDisplay.js:359 +#: extensions/places-menu/placeDisplay.js:359 fileItem.js:925 msgid "Home" msgstr "Домівка" @@ -263,6 +291,203 @@ msgstr "Робочий простір %d" msgid "Add Workspace" msgstr "Додати робочий простір" +#: createFolderDialog.js:72 +msgid "Cancel" +msgstr "Скасувати" + +#: schemas/org.gnome.shell.extensions.desktop-icons.gschema.xml:11 +#, fuzzy +msgid "Icon size" +msgstr "" +"#-#-#-#-# uk.po (gnome-shell-extensions master) #-#-#-#-#\n" +"Розмір піктограми\n" +"#-#-#-#-# uk.po (desktop-icons master) #-#-#-#-#\n" +"Розмір піктограм" + +#: createFolderDialog.js:46 +msgid "New folder name" +msgstr "Назва нової теки" + +#: createFolderDialog.js:70 +msgid "Create" +msgstr "Створити" + +#: createFolderDialog.js:145 +msgid "Folder names cannot contain “/”." +msgstr "Назви теки не можуть містити «/»." + +#: createFolderDialog.js:148 +msgid "A folder cannot be called “.”." +msgstr "Теку не можна називати як «.»." + +#: createFolderDialog.js:151 +msgid "A folder cannot be called “..”." +msgstr "Теку не можна називати як «..»." + +#: createFolderDialog.js:153 +msgid "Folders with “.” at the beginning of their name are hidden." +msgstr "Теки, назви яких починаються із символу «.», є прихованими." + +#: createFolderDialog.js:155 +msgid "There is already a file or folder with that name." +msgstr "Файл або тека із такою назвою вже існують." + +#: prefs.js:103 +msgid "Size for the desktop icons" +msgstr "Розмір піктограм на стільниці" + +#: prefs.js:103 +msgid "Small" +msgstr "Малий" + +#: prefs.js:103 +msgid "Standard" +msgstr "Стандартний" + +#: prefs.js:103 +msgid "Large" +msgstr "Великий" + +#: prefs.js:104 +msgid "Show the personal folder in the desktop" +msgstr "Показувати особисту теку на стільниці" + +#: prefs.js:105 +msgid "Show the trash icon in the desktop" +msgstr "Показувати піктограму смітника на стільниці" + +#: prefs.js:106 +msgid "Show mounted drives in the desktop" +msgstr "Показувати змонтовані диски на стільниці" + +#: desktopGrid.js:346 +msgid "New Folder" +msgstr "Нова тека" + +#: desktopGrid.js:347 +msgid "New Document" +msgstr "Новий документ" + +#: desktopGrid.js:350 +msgid "Paste" +msgstr "Вставити" + +#: desktopGrid.js:351 +msgid "Undo" +msgstr "Скасувати" + +#: desktopGrid.js:352 +msgid "Redo" +msgstr "Повторити" + +#: desktopGrid.js:354 +msgid "Show Desktop in Files" +msgstr "Показувати «Стільницю» у «Файлах»" + +#: desktopGrid.js:355 fileItem.js:721 +msgid "Open in Terminal" +msgstr "Відкрити у терміналі" + +#: desktopGrid.js:357 +msgid "Change Background…" +msgstr "Змінити тло…" + +#: desktopGrid.js:359 +msgid "Display Settings" +msgstr "Параметри екрана" + +#: desktopGrid.js:360 +msgid "Settings" +msgstr "Параметри" + +#: desktopGrid.js:692 +msgid "Rename" +msgstr "Перейменувати" + +#: desktopIconsUtil.js:63 +msgid "Command not found" +msgstr "Команди не знайдено" + +#: fileItem.js:584 +msgid "Don’t Allow Launching" +msgstr "Не дозволяти запуск" + +#: fileItem.js:586 +msgid "Allow Launching" +msgstr "Дозволяти запуск" + +#: fileItem.js:682 +msgid "Open" +msgstr "Відкрити" + +#: fileItem.js:686 +msgid "Open With Other Application" +msgstr "Відкрити за допомогою іншої програми" + +#: fileItem.js:688 +msgid "Launch using Dedicated Graphics Card" +msgstr "Запустити через відповідну графічну плату" + +#: fileItem.js:693 +msgid "Cut" +msgstr "Вирізати" + +#: fileItem.js:694 +msgid "Copy" +msgstr "Копіювати" + +#: fileItem.js:696 +msgid "Rename…" +msgstr "Перейменувати…" + +#: fileItem.js:697 +msgid "Move to Trash" +msgstr "Пересунути до смітника" + +#: fileItem.js:707 +msgid "Empty Trash" +msgstr "Спорожнити смітник" + +#: fileItem.js:711 +msgid "Eject" +msgstr "Виштовхнути" + +#: fileItem.js:717 +msgid "Properties" +msgstr "Властивості" + +#: fileItem.js:719 +msgid "Show in Files" +msgstr "Показувати у «Файлах»" + +#: schemas/org.gnome.shell.extensions.desktop-icons.gschema.xml:12 +msgid "Set the size for the desktop icons." +msgstr "Встановити розмір піктограм на стільниці." + +#: schemas/org.gnome.shell.extensions.desktop-icons.gschema.xml:16 +msgid "Show personal folder" +msgstr "Показувати особисту теку" + +#: schemas/org.gnome.shell.extensions.desktop-icons.gschema.xml:17 +msgid "Show the personal folder in the desktop." +msgstr "Показувати особисту теку на стільниці." + +#: schemas/org.gnome.shell.extensions.desktop-icons.gschema.xml:21 +msgid "Show trash icon" +msgstr "Показувати піктограму смітника" + +#: schemas/org.gnome.shell.extensions.desktop-icons.gschema.xml:22 +msgid "Show the trash icon in the desktop." +msgstr "Показувати піктограму смітника на стільниці." + +#: schemas/org.gnome.shell.extensions.desktop-icons.gschema.xml:26 +msgid "Show mounted drives" +msgstr "Показувати змонтовані диски" + +#: schemas/org.gnome.shell.extensions.desktop-icons.gschema.xml:27 +msgid "Show mounted drives in the desktop." +msgstr "Показувати змонтовані диски на стільниці." + #~ msgid "Application" #~ msgstr "Програма" @@ -436,9 +661,6 @@ msgstr "Додати робочий простір" #~ msgid "Alt Tab Behaviour" #~ msgstr "Режим Alt Tab" -#~ msgid "Cancel" -#~ msgstr "Скасувати" - #~ msgid "Ask the user for a default behaviour if true." #~ msgstr "Якщо вибрано, запитувати користувача про типову поведінку." @@ -473,9 +695,6 @@ msgstr "Додати робочий простір" #~ msgid "Enable/disable autohide" #~ msgstr "Увімкнути/вимкнути автоматичне приховування" -#~ msgid "Icon size" -#~ msgstr "Розмір піктограми" - #~ msgid "Position of the dock" #~ msgstr "Розташування панелі" diff --git a/po/zh_CN.po b/po/zh_CN.po index 338e86ed..69e6fcbf 100644 --- a/po/zh_CN.po +++ b/po/zh_CN.po @@ -1,4 +1,5 @@ # #-#-#-#-# zh_CN.po (gnome-shell-extensions master) #-#-#-#-# +# #-#-#-#-# zh_CN.po (gnome-shell-extensions master) #-#-#-#-# # Chinese (China) translation for gnome-shell-extensions. # Copyright (C) 2011-2019 gnome-shell-extensions's authors and contributors # This file is distributed under the same license as the gnome-shell-extensions package. @@ -17,10 +18,17 @@ # 绿色圣光 , 2015, 2016, 2017. # zhmars <1403122061@qq.com>, 2019, 2020. # +# #-#-#-#-# zh_CN.po (desktop-icons master) #-#-#-#-# +# Chinese (China) translation for desktop-icons. +# Copyright (C) 2019 desktop-icons's COPYRIGHT HOLDER +# This file is distributed under the same license as the desktop-icons package. +# Dingzhong Chen , 2019. +# #, fuzzy msgid "" msgstr "" "#-#-#-#-# zh_CN.po (gnome-shell-extensions master) #-#-#-#-#\n" +"#-#-#-#-# zh_CN.po (gnome-shell-extensions master) #-#-#-#-#\n" "Project-Id-Version: gnome-shell-extensions master\n" "Report-Msgid-Bugs-To: https://gitlab.gnome.org/GNOME/gnome-shell-extensions/" "issues\n" @@ -47,6 +55,20 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "X-Generator: Gtranslator 2.91.7\n" "Plural-Forms: nplurals=1; plural=0;\n" +"#-#-#-#-# zh_CN.po (desktop-icons master) #-#-#-#-#\n" +"Project-Id-Version: desktop-icons master\n" +"Report-Msgid-Bugs-To: https://gitlab.gnome.org/World/ShellExtensions/desktop-" +"icons/issues\n" +"POT-Creation-Date: 2020-05-26 20:08+0000\n" +"PO-Revision-Date: 2020-06-23 21:51-0400\n" +"Last-Translator: Boyuan Yang <073plan@gmail.com>\n" +"Language-Team: Chinese (China) \n" +"Language: zh_CN\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Poedit 2.3.1\n" +"Plural-Forms: nplurals=1; plural=0;\n" #: data/gnome-classic.desktop.in:3 data/gnome-classic.session.desktop.in:3 msgid "GNOME Classic" @@ -85,7 +107,7 @@ msgstr "添加规则" #. TRANSLATORS: %s is the filesystem name #: extensions/drive-menu/extension.js:112 -#: extensions/places-menu/placeDisplay.js:233 +#: extensions/places-menu/placeDisplay.js:233 desktopIconsUtil.js:162 #, javascript-format msgid "Ejecting drive “%s” failed:" msgstr "弹出驱动器“%s”失败:" @@ -144,7 +166,7 @@ msgstr "无法为“%s”挂载卷" msgid "Computer" msgstr "计算机" -#: extensions/places-menu/placeDisplay.js:359 +#: extensions/places-menu/placeDisplay.js:359 fileItem.js:925 msgid "Home" msgstr "主文件夹" @@ -346,7 +368,7 @@ msgstr "Dash to Dock %s" msgid "Trash" msgstr "回收站" -#: locations.js:74 +#: locations.js:74 fileItem.js:707 msgid "Empty Trash" msgstr "清空回收站" @@ -354,7 +376,7 @@ msgstr "清空回收站" msgid "Mount" msgstr "挂载" -#: locations.js:232 +#: locations.js:232 fileItem.js:711 msgid "Eject" msgstr "弹出" @@ -798,6 +820,190 @@ msgstr "显示超时时间(秒)" msgid "Pressure threshold" msgstr "压力阈值" +#: desktopGrid.js:359 +msgid "Display Settings" +msgstr "显示设置" + +#: schemas/org.gnome.shell.extensions.desktop-icons.gschema.xml:11 +msgid "Icon size" +msgstr "图标大小" + +#: createFolderDialog.js:72 +msgid "Cancel" +msgstr "取消" + +#: createFolderDialog.js:46 +msgid "New folder name" +msgstr "新文件夹名称" + +#: createFolderDialog.js:70 +msgid "Create" +msgstr "创建" + +#: createFolderDialog.js:145 +msgid "Folder names cannot contain “/”." +msgstr "文件夹名称不能包含“/”。" + +#: createFolderDialog.js:148 +msgid "A folder cannot be called “.”." +msgstr "文件夹不能命名为“.”。" + +#: createFolderDialog.js:151 +msgid "A folder cannot be called “..”." +msgstr "文件夹不能命名为“..”。" + +#: createFolderDialog.js:153 +msgid "Folders with “.” at the beginning of their name are hidden." +msgstr "名称以“.”开头的文件夹将被隐藏。" + +#: createFolderDialog.js:155 +msgid "There is already a file or folder with that name." +msgstr "相同名称的文件夹已存在。" + +#: prefs.js:103 +msgid "Size for the desktop icons" +msgstr "桌面图标大小" + +#: prefs.js:103 +msgid "Small" +msgstr "小" + +#: prefs.js:103 +msgid "Standard" +msgstr "标准" + +#: prefs.js:103 +msgid "Large" +msgstr "大" + +#: prefs.js:104 +msgid "Show the personal folder in the desktop" +msgstr "在桌面上显示个人文件夹" + +#: prefs.js:105 +msgid "Show the trash icon in the desktop" +msgstr "在桌面上显示回收站图标" + +#: prefs.js:106 +msgid "Show mounted drives in the desktop" +msgstr "在桌面上显示已挂载的驱动器" + +#: desktopGrid.js:346 +msgid "New Folder" +msgstr "新建文件夹" + +#: desktopGrid.js:347 +msgid "New Document" +msgstr "新建文档" + +#: desktopGrid.js:350 +msgid "Paste" +msgstr "粘贴" + +#: desktopGrid.js:351 +msgid "Undo" +msgstr "撤消" + +#: desktopGrid.js:352 +msgid "Redo" +msgstr "恢复" + +#: desktopGrid.js:354 +msgid "Show Desktop in Files" +msgstr "在文件管理器中显示桌面" + +#: desktopGrid.js:355 fileItem.js:721 +msgid "Open in Terminal" +msgstr "在终端中打开" + +#: desktopGrid.js:357 +msgid "Change Background…" +msgstr "更换壁纸…" + +#: desktopGrid.js:360 +msgid "Settings" +msgstr "设置" + +#: desktopGrid.js:692 +msgid "Rename" +msgstr "重命名" + +#: desktopIconsUtil.js:63 +msgid "Command not found" +msgstr "命令未找到" + +#: fileItem.js:584 +msgid "Don’t Allow Launching" +msgstr "不允许启动" + +#: fileItem.js:586 +msgid "Allow Launching" +msgstr "允许启动" + +#: fileItem.js:682 +msgid "Open" +msgstr "打开" + +#: fileItem.js:686 +msgid "Open With Other Application" +msgstr "用其他应用程序打开" + +#: fileItem.js:688 +msgid "Launch using Dedicated Graphics Card" +msgstr "使用独立显卡启动" + +#: fileItem.js:693 +msgid "Cut" +msgstr "剪除" + +#: fileItem.js:694 +msgid "Copy" +msgstr "复制" + +#: fileItem.js:696 +msgid "Rename…" +msgstr "重命名…" + +#: fileItem.js:697 +msgid "Move to Trash" +msgstr "移到回收站" + +#: fileItem.js:717 +msgid "Properties" +msgstr "属性" + +#: fileItem.js:719 +msgid "Show in Files" +msgstr "在文件管理器中显示" + +#: schemas/org.gnome.shell.extensions.desktop-icons.gschema.xml:12 +msgid "Set the size for the desktop icons." +msgstr "设定桌面图标的大小。" + +#: schemas/org.gnome.shell.extensions.desktop-icons.gschema.xml:16 +msgid "Show personal folder" +msgstr "显示个人文件夹" + +#: schemas/org.gnome.shell.extensions.desktop-icons.gschema.xml:17 +msgid "Show the personal folder in the desktop." +msgstr "在桌面上显示个人文件夹。" + +#: schemas/org.gnome.shell.extensions.desktop-icons.gschema.xml:21 +msgid "Show trash icon" +msgstr "显示回收站图标" + +#: schemas/org.gnome.shell.extensions.desktop-icons.gschema.xml:22 +msgid "Show the trash icon in the desktop." +msgstr "在桌面上显示回收站图标。" + +#: schemas/org.gnome.shell.extensions.desktop-icons.gschema.xml:26 +msgid "Show mounted drives" +msgstr "显示已挂载的驱动器" + +#: schemas/org.gnome.shell.extensions.desktop-icons.gschema.xml:27 +msgid "Show mounted drives in the desktop." +msgstr "在桌面上显示已挂载的驱动器。" + #~ msgid "Application" #~ msgstr "应用程序" @@ -914,9 +1120,6 @@ msgstr "压力阈值" #~ msgid "Display" #~ msgstr "显示" -#~ msgid "Display Settings" -#~ msgstr "显示设置" - #~ msgid "The application icon mode." #~ msgstr "应用程序图标模式。" @@ -948,9 +1151,6 @@ msgstr "压力阈值" #~ "or 'left'" #~ msgstr "设置 Dock 在屏幕上的位置。允许的值有“右”或“左”。" -#~ msgid "Icon size" -#~ msgstr "图标大小" - #~ msgid "Sets icon size of the dock." #~ msgstr "设置 Dock 上的图标大小。" @@ -1069,9 +1269,6 @@ msgstr "压力阈值" #~ msgid "Alt Tab Behaviour" #~ msgstr "Alt Tab 行为" -#~ msgid "Cancel" -#~ msgstr "取消" - #~ msgid "Ask the user for a default behaviour if true." #~ msgstr "如果设置为 true,询问用户设置一个默认行为。" @@ -1180,3 +1377,9 @@ msgstr "压力阈值" #~ msgid "Only when in autohide" #~ msgstr "仅当自动隐藏时" + +#~ msgid "Enter file name…" +#~ msgstr "输入文件名…" + +#~ msgid "OK" +#~ msgstr "确定" diff --git a/po/zh_TW.po b/po/zh_TW.po index 14e60ccb..4bdf7154 100644 --- a/po/zh_TW.po +++ b/po/zh_TW.po @@ -1,4 +1,5 @@ # #-#-#-#-# zh_TW.po (gnome-shell-extensions gnome-3-0) #-#-#-#-# +# #-#-#-#-# zh_TW.po (gnome-shell-extensions gnome-3-0) #-#-#-#-# # Chinese (Taiwan) translation for gnome-shell-extensions. # Copyright (C) 2011 gnome-shell-extensions's COPYRIGHT HOLDER # This file is distributed under the same license as the gnome-shell-extensions package. @@ -11,10 +12,17 @@ # This file is distributed under the same license as the dash-to-dock package. # Cheng-Chia Tseng , 2017 # +# #-#-#-#-# zh_TW.po (desktop-icons master) #-#-#-#-# +# Chinese (Taiwan) translation for desktop-icons. +# Copyright (C) 2018 desktop-icons's COPYRIGHT HOLDER +# This file is distributed under the same license as the desktop-icons package. +# Yi-Jyun Pan , 2018. +# #, fuzzy msgid "" msgstr "" "#-#-#-#-# zh_TW.po (gnome-shell-extensions gnome-3-0) #-#-#-#-#\n" +"#-#-#-#-# zh_TW.po (gnome-shell-extensions gnome-3-0) #-#-#-#-#\n" "Project-Id-Version: gnome-shell-extensions gnome-3-0\n" "Report-Msgid-Bugs-To: https://gitlab.gnome.org/GNOME/gnome-shell-extensions/" "issues\n" @@ -41,6 +49,19 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "X-Generator: Poedit 2.3.1\n" "Plural-Forms: nplurals=1; plural=0;\n" +"#-#-#-#-# zh_TW.po (desktop-icons master) #-#-#-#-#\n" +"Project-Id-Version: desktop-icons master\n" +"Report-Msgid-Bugs-To: https://gitlab.gnome.org/World/ShellExtensions/desktop-" +"icons/issues\n" +"POT-Creation-Date: 2020-05-14 18:46+0000\n" +"PO-Revision-Date: 2020-05-25 01:21+0800\n" +"Last-Translator: Yi-Jyun Pan \n" +"Language-Team: Chinese (Taiwan) \n" +"Language: zh_TW\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Poedit 2.3.1\n" #: data/gnome-classic.desktop.in:3 msgid "GNOME Classic" @@ -80,10 +101,14 @@ msgstr "加入規則" #. TRANSLATORS: %s is the filesystem name #: extensions/drive-menu/extension.js:112 -#: extensions/places-menu/placeDisplay.js:233 -#, javascript-format +#: extensions/places-menu/placeDisplay.js:233 desktopIconsUtil.js:162 +#, fuzzy, javascript-format msgid "Ejecting drive “%s” failed:" -msgstr "裝置「%s」退出失敗:" +msgstr "" +"#-#-#-#-# zh_TW.po (gnome-shell-extensions gnome-3-0) #-#-#-#-#\n" +"裝置「%s」退出失敗:\n" +"#-#-#-#-# zh_TW.po (desktop-icons master) #-#-#-#-#\n" +"退出「%s」裝置失敗:" #: extensions/drive-menu/extension.js:128 msgid "Removable devices" @@ -139,9 +164,14 @@ msgstr "無法掛載儲存區「%s」" msgid "Computer" msgstr "電腦" -#: extensions/places-menu/placeDisplay.js:359 +#: extensions/places-menu/placeDisplay.js:359 fileItem.js:906 +#, fuzzy msgid "Home" -msgstr "家目錄" +msgstr "" +"#-#-#-#-# zh_TW.po (gnome-shell-extensions gnome-3-0) #-#-#-#-#\n" +"家目錄\n" +"#-#-#-#-# zh_TW.po (desktop-icons master) #-#-#-#-#\n" +"首頁" #: extensions/places-menu/placeDisplay.js:404 msgid "Browse Network" @@ -345,7 +375,7 @@ msgstr "Dash to Dock %s" msgid "Trash" msgstr "垃圾桶" -#: locations.js:74 +#: locations.js:74 fileItem.js:688 msgid "Empty Trash" msgstr "清空垃圾桶" @@ -353,7 +383,7 @@ msgstr "清空垃圾桶" msgid "Mount" msgstr "掛載" -#: locations.js:235 +#: locations.js:235 fileItem.js:692 msgid "Eject" msgstr "退出" @@ -795,6 +825,191 @@ msgstr "顯示等候秒數" msgid "Pressure threshold" msgstr "壓力閾值" +#: desktopGrid.js:354 +#, fuzzy +msgid "Display Settings" +msgstr "" +"#-#-#-#-# zh_TW.po (gnome-shell-extensions gnome-3-0) #-#-#-#-#\n" +"顯示設定值\n" +"#-#-#-#-# zh_TW.po (desktop-icons master) #-#-#-#-#\n" +"顯示設定" + +#: schemas/org.gnome.shell.extensions.desktop-icons.gschema.xml:11 +msgid "Icon size" +msgstr "圖示大小" + +#: createFolderDialog.js:72 +msgid "Cancel" +msgstr "取消" + +#: createFolderDialog.js:46 +msgid "New folder name" +msgstr "新資料夾名稱" + +#: createFolderDialog.js:70 +msgid "Create" +msgstr "建立" + +#: createFolderDialog.js:145 +msgid "Folder names cannot contain “/”." +msgstr "資料夾名稱不能有「/」。" + +#: createFolderDialog.js:148 +msgid "A folder cannot be called “.”." +msgstr "資料夾的名稱不能是「.」。" + +#: createFolderDialog.js:151 +msgid "A folder cannot be called “..”." +msgstr "資料夾的名稱不能是「..」。" + +#: createFolderDialog.js:153 +msgid "Folders with “.” at the beginning of their name are hidden." +msgstr "會隱藏名稱開頭是「.」的資料夾。" + +#: createFolderDialog.js:155 +msgid "There is already a file or folder with that name." +msgstr "已經有同名的檔案或資料夾。" + +#: prefs.js:103 +msgid "Size for the desktop icons" +msgstr "桌面圖示的大小" + +#: prefs.js:103 +msgid "Small" +msgstr "小圖示" + +#: prefs.js:103 +msgid "Standard" +msgstr "標準大小圖示" + +#: prefs.js:103 +msgid "Large" +msgstr "大圖示" + +#: prefs.js:104 +msgid "Show the personal folder in the desktop" +msgstr "在桌面顯示個人資料夾" + +#: prefs.js:105 +msgid "Show the trash icon in the desktop" +msgstr "在桌面顯示垃圾桶圖示" + +#: prefs.js:106 +msgid "Show mounted drives in the desktop" +msgstr "在桌面顯示掛載裝置" + +#: desktopGrid.js:343 +msgid "New Folder" +msgstr "新增資料夾" + +#: desktopGrid.js:345 +msgid "Paste" +msgstr "貼上" + +#: desktopGrid.js:346 +msgid "Undo" +msgstr "復原" + +#: desktopGrid.js:347 +msgid "Redo" +msgstr "重做" + +#: desktopGrid.js:349 +msgid "Show Desktop in Files" +msgstr "在《檔案》中顯示桌面" + +#: desktopGrid.js:350 fileItem.js:702 +msgid "Open in Terminal" +msgstr "在終端器開啟" + +#: desktopGrid.js:352 +msgid "Change Background…" +msgstr "變更背景圖片…" + +#: desktopGrid.js:355 +msgid "Settings" +msgstr "設定" + +#: desktopGrid.js:653 +msgid "Rename" +msgstr "重新命名" + +#: desktopIconsUtil.js:63 +msgid "Command not found" +msgstr "找不到命令" + +#: fileItem.js:565 +msgid "Don’t Allow Launching" +msgstr "不允許啟動" + +#: fileItem.js:567 +msgid "Allow Launching" +msgstr "允許啟動" + +#: fileItem.js:663 +msgid "Open" +msgstr "開啟" + +#: fileItem.js:667 +msgid "Open With Other Application" +msgstr "以其他應用程式開啟" + +#: fileItem.js:669 +msgid "Launch using Dedicated Graphics Card" +msgstr "使用獨立圖形卡啟動" + +#: fileItem.js:674 +msgid "Cut" +msgstr "剪下" + +#: fileItem.js:675 +msgid "Copy" +msgstr "複製" + +#: fileItem.js:677 +msgid "Rename…" +msgstr "重新命名…" + +#: fileItem.js:678 +msgid "Move to Trash" +msgstr "移動到垃圾桶" + +#: fileItem.js:698 +msgid "Properties" +msgstr "屬性" + +#: fileItem.js:700 +msgid "Show in Files" +msgstr "在《檔案》中顯示" + +#: schemas/org.gnome.shell.extensions.desktop-icons.gschema.xml:12 +msgid "Set the size for the desktop icons." +msgstr "設定桌面圖示的大小。" + +#: schemas/org.gnome.shell.extensions.desktop-icons.gschema.xml:16 +msgid "Show personal folder" +msgstr "顯示個人資料夾" + +#: schemas/org.gnome.shell.extensions.desktop-icons.gschema.xml:17 +msgid "Show the personal folder in the desktop." +msgstr "在桌面顯示個人資料夾。" + +#: schemas/org.gnome.shell.extensions.desktop-icons.gschema.xml:21 +msgid "Show trash icon" +msgstr "顯示垃圾桶圖示" + +#: schemas/org.gnome.shell.extensions.desktop-icons.gschema.xml:22 +msgid "Show the trash icon in the desktop." +msgstr "在桌面顯示垃圾桶圖示。" + +#: schemas/org.gnome.shell.extensions.desktop-icons.gschema.xml:26 +msgid "Show mounted drives" +msgstr "顯示掛載裝置" + +#: schemas/org.gnome.shell.extensions.desktop-icons.gschema.xml:27 +msgid "Show mounted drives in the desktop." +msgstr "在桌面顯示掛載裝置。" + #~ msgid "Application" #~ msgstr "應用程式" @@ -896,9 +1111,6 @@ msgstr "壓力閾值" #~ msgid "Display" #~ msgstr "顯示" -#~ msgid "Display Settings" -#~ msgstr "顯示設定值" - #~ msgid "Suspend" #~ msgstr "暫停" @@ -1006,9 +1218,6 @@ msgstr "壓力閾值" #~ msgid "Enable/disable autohide" #~ msgstr "啟用/停用自動隱藏" -#~ msgid "Icon size" -#~ msgstr "圖示大小" - #~ msgid "Position of the dock" #~ msgstr "Dock 的位置" @@ -1105,9 +1314,6 @@ msgstr "壓力閾值" #~ msgid "Alt Tab Behaviour" #~ msgstr "Alt Tab 行為" -#~ msgid "Cancel" -#~ msgstr "取消" - #~ msgid "Ask the user for a default behaviour if true." #~ msgstr "若為真,詢問使用者預設行為。" @@ -1139,3 +1345,6 @@ msgstr "壓力閾值" #~ msgid "0.000" #~ msgstr "0.000" + +#~ msgid "Huge" +#~ msgstr "巨大圖示" -- 2.38.1 From 794dd76a7b7caf3324736de6c26bb992fe403daf Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Florian=20M=C3=BCllner?= Date: Thu, 2 Dec 2021 19:39:50 +0100 Subject: [PATCH 6/7] Add classification-banner --- extensions/classification-banner/adwShim.js | 202 ++++++++++++++++++ extensions/classification-banner/extension.js | 169 +++++++++++++++ extensions/classification-banner/meson.build | 8 + .../classification-banner/metadata.json.in | 11 + ...tensions.classification-banner.gschema.xml | 29 +++ extensions/classification-banner/prefs.js | 197 +++++++++++++++++ .../classification-banner/stylesheet.css | 3 + meson.build | 1 + 8 files changed, 620 insertions(+) create mode 100644 extensions/classification-banner/adwShim.js create mode 100644 extensions/classification-banner/extension.js create mode 100644 extensions/classification-banner/meson.build create mode 100644 extensions/classification-banner/metadata.json.in create mode 100644 extensions/classification-banner/org.gnome.shell.extensions.classification-banner.gschema.xml create mode 100644 extensions/classification-banner/prefs.js create mode 100644 extensions/classification-banner/stylesheet.css diff --git a/extensions/classification-banner/adwShim.js b/extensions/classification-banner/adwShim.js new file mode 100644 index 00000000..46a8afca --- /dev/null +++ b/extensions/classification-banner/adwShim.js @@ -0,0 +1,202 @@ +/* exported init PreferencesPage PreferencesGroup ActionRow ComboRow */ +const { Gio, GObject, Gtk } = imports.gi; + +function init() { +} + +var PreferencesGroup = GObject.registerClass( +class PreferencesGroup extends Gtk.Widget { + _init(params) { + super._init({ + ...params, + layout_manager: new Gtk.BinLayout(), + }); + + this._listBox = new Gtk.ListBox({ + css_classes: ['rich-list'], + show_separators: true, + selection_mode: Gtk.SelectionMode.NONE, + }); + + const frame = new Gtk.Frame({ child: this._listBox }); + frame.set_parent(this); + } + + add(child) { + this._listBox.append(child); + } +}); + +var PreferencesPage = GObject.registerClass( +class PreferencesPage extends Gtk.Widget { + _init(params) { + super._init({ + ...params, + layout_manager: new Gtk.BinLayout(), + }); + + const scrolledWindow = new Gtk.ScrolledWindow({ + hscrollbar_policy: Gtk.PolicyType.NEVER, + }); + scrolledWindow.set_parent(this); + + this._box = new Gtk.Box({ + orientation: Gtk.Orientation.VERTICAL, + halign: Gtk.Align.CENTER, + spacing: 24, + margin_top: 24, + margin_bottom: 24, + margin_start: 12, + margin_end: 12, + }); + scrolledWindow.set_child(this._box); + + const provider = new Gtk.CssProvider(); + provider.load_from_data('* { min-width: 500px; }'); + this._box.get_style_context().add_provider(provider, + Gtk.STYLE_PROVIDER_PRIORITY_APPLICATION); + } + + add(child) { + this._box.append(child); + } +}); + +var ActionRow = GObject.registerClass({ + Properties: { + 'activatable-widget': GObject.ParamSpec.object( + 'activatable-widget', 'activatable-widget', 'activatable-widget', + GObject.ParamFlags.READWRITE, + Gtk.Widget), + 'title': GObject.ParamSpec.string( + 'title', 'title', 'title', + GObject.ParamFlags.READWRITE, + null), + }, +}, class ActionRow extends Gtk.ListBoxRow { + _init(params) { + super._init(params); + + const box = new Gtk.Box({ + spacing: 12, + }); + this.set_child(box); + + this._prefixes = new Gtk.Box({ + spacing: 12, + visible: false, + }); + box.append(this._prefixes); + + this._title = new Gtk.Label({ + css_classes: ['title'], + hexpand: true, + xalign: 0, + }); + box.append(this._title); + + this._suffixes = new Gtk.Box({ + spacing: 12, + visible: false, + }); + box.append(this._suffixes); + + this.bind_property('title', + this._title, 'label', + GObject.BindingFlags.SYNC_CREATE); + + this.connect('notify::parent', () => { + const parent = this.get_parent(); + parent?.connect('row-activated', (list, row) => { + if (row === this) + this.activate(); + }); + }); + } + + vfunc_activate() { + this.activatable_widget?.mnemonic_activate(false); + } + + activate() { + this.vfunc_activate(); + } + + add_prefix(child) { + this._prefixes.append(child); + this._prefixes.show(); + } + + add_suffix(child) { + this._suffixes.append(child); + this._suffixes.show(); + } +}); + +var ComboRow = GObject.registerClass({ + Properties: { + 'selected-item': GObject.ParamSpec.object( + 'selected-item', 'selected-item', 'selected-item', + GObject.ParamFlags.READABLE, + GObject.Object), + 'model': GObject.ParamSpec.object( + 'model', 'model', 'model', + GObject.ParamFlags.READWRITE, + Gio.ListModel), + 'list-factory': GObject.ParamSpec.object( + 'list-factory', 'list-factory', 'list-factory', + GObject.ParamFlags.READWRITE, + Gtk.ListItemFactory), + 'expression': Gtk.param_spec_expression( + 'expression', 'expression', 'expression', + GObject.ParamFlags.READWRITE), + }, +}, class ComboRow extends ActionRow { + _init(params) { + super._init({ + ...params, + activatable: true, + }); + + const box = new Gtk.Box({ + valign: Gtk.Align.CENTER, + }); + box.append(new Gtk.Image({ + icon_name: 'pan-down-symbolic', + })); + this.add_suffix(box); + + this._popover = new Gtk.Popover(); + this._popover.set_parent(box); + + this._selection = new Gtk.SingleSelection(); + this._selected = -1; + + this._listView = new Gtk.ListView({ + model: this._selection, + single_click_activate: true, + }); + this._popover.set_child(this._listView); + + this._listView.connect('activate', (view, pos) => { + this._selected = pos; + this.notify('selected-item'); + this._popover.popdown(); + }); + + this.bind_property('model', + this._selection, 'model', + GObject.BindingFlags.SYNC_CREATE); + this.bind_property('list-factory', + this._listView, 'factory', + GObject.BindingFlags.SYNC_CREATE); + } + + get selected_item() { + return this._selection.selected_item; + } + + vfunc_activate() { + this._popover.popup(); + } +}); diff --git a/extensions/classification-banner/extension.js b/extensions/classification-banner/extension.js new file mode 100644 index 00000000..cc046e01 --- /dev/null +++ b/extensions/classification-banner/extension.js @@ -0,0 +1,169 @@ +/* extension.js + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + * + * SPDX-License-Identifier: GPL-2.0-or-later + */ + +/* exported init */ + +const { Clutter, Gio, GLib, GObject, St } = imports.gi; + +const ExtensionUtils = imports.misc.extensionUtils; +const Layout = imports.ui.layout; +const Main = imports.ui.main; + +const ClassificationBanner = GObject.registerClass( +class ClassificationBanner extends Clutter.Actor { + _init(index) { + super._init({ + layout_manager: new Clutter.BinLayout(), + constraints: new Layout.MonitorConstraint({ + work_area: true, + index, + }), + }); + + this._settings = ExtensionUtils.getSettings(); + this.connect('destroy', () => { + this._settings?.run_dispose(); + this._settings = null; + }); + + this._topBanner = new St.BoxLayout({ + style_class: 'classification-banner', + x_expand: true, + y_expand: true, + y_align: Clutter.ActorAlign.START, + }); + this.add_child(this._topBanner); + this._settings.bind('top-banner', + this._topBanner, 'visible', + Gio.SettingsBindFlags.GET); + + this._bottomBanner = new St.BoxLayout({ + style_class: 'classification-banner', + x_expand: true, + y_expand: true, + y_align: Clutter.ActorAlign.END, + }); + this.add_child(this._bottomBanner); + this._settings.bind('bottom-banner', + this._bottomBanner, 'visible', + Gio.SettingsBindFlags.GET); + + for (const banner of [this._topBanner, this._bottomBanner]) { + const label = new St.Label({ + style_class: 'classification-message', + x_align: Clutter.ActorAlign.CENTER, + x_expand: true, + }); + banner.add_child(label); + + this._settings.bind('message', + label, 'text', + Gio.SettingsBindFlags.GET); + } + + const hostLabel = new St.Label({ + style_class: 'classification-system-info', + text: GLib.get_host_name(), + }); + this._topBanner.insert_child_at_index(hostLabel, 0); + this._settings.bind('system-info', + hostLabel, 'visible', + Gio.SettingsBindFlags.GET); + + const userLabel = new St.Label({ + style_class: 'classification-system-info', + text: GLib.get_user_name(), + }); + this._topBanner.add_child(userLabel); + this._settings.bind('system-info', + userLabel, 'visible', + Gio.SettingsBindFlags.GET); + + this._settings.connect('changed::color', + () => this._updateStyles()); + this._settings.connect('changed::background-color', + () => this._updateStyles()); + this._updateStyles(); + } + + _getColorSetting(key) { + const str = this._settings.get_string(key); + const [valid, color] = Clutter.Color.from_string(str); + if (!valid) + return ''; + const { red, green, blue, alpha } = color; + return `${key}: rgba(${red},${green},${blue},${alpha / 255});`; + } + + _updateStyles() { + const bgStyle = this._getColorSetting('background-color'); + const fgStyle = this._getColorSetting('color'); + const style = `${bgStyle}${fgStyle}`; + this._topBanner.set({ style }); + this._bottomBanner.set({ style }); + } +}); + +class Extension { + constructor() { + this._banners = []; + } + + _updateMonitors() { + const { monitors, panelBox, primaryIndex } = Main.layoutManager; + if (monitors.length !== this._banners.length) { + this._clearBanners(); + + for (let i = 0; i < monitors.length; i++) { + const banner = new ClassificationBanner(i); + Main.uiGroup.add_child(banner); + this._banners.push(banner); + } + } + + const primaryBanner = this._banners[primaryIndex]; + if (primaryBanner) + Main.uiGroup.set_child_below_sibling(primaryBanner, panelBox); + } + + _clearBanners() { + this._banners.forEach(b => b.destroy()); + this._banners = []; + } + + enable() { + this._monitorsChangedId = Main.layoutManager.connect('monitors-changed', + () => this._updateMonitors()); + this._updateMonitors(); + } + + disable() { + if (this._monitorsChangedId) { + Main.layoutManager.disconnect(this._monitorsChangedId); + delete this._monitorsChangedId; + } + this._clearBanners(); + } +} + +/** + * @returns {Extension} - the extension's state object + */ +function init() { + return new Extension(); +} diff --git a/extensions/classification-banner/meson.build b/extensions/classification-banner/meson.build new file mode 100644 index 00000000..b027381d --- /dev/null +++ b/extensions/classification-banner/meson.build @@ -0,0 +1,8 @@ +extension_data += configure_file( + input: metadata_name + '.in', + output: metadata_name, + configuration: metadata_conf +) + +extension_sources += files('adwShim.js', 'prefs.js') +extension_schemas += files(metadata_conf.get('gschemaname') + '.gschema.xml') diff --git a/extensions/classification-banner/metadata.json.in b/extensions/classification-banner/metadata.json.in new file mode 100644 index 00000000..f93b1a2d --- /dev/null +++ b/extensions/classification-banner/metadata.json.in @@ -0,0 +1,11 @@ +{ +"extension-id": "@extension_id@", +"uuid": "@uuid@", +"settings-schema": "@gschemaname@", +"gettext-domain": "@gettext_domain@", +"name": "Classification Banner", +"description": "Display classification level banner", +"shell-version": [ "@shell_current@" ], +"session-modes": [ "gdm", "unlock-dialog", "user" ], +"url": "@url@" +} diff --git a/extensions/classification-banner/org.gnome.shell.extensions.classification-banner.gschema.xml b/extensions/classification-banner/org.gnome.shell.extensions.classification-banner.gschema.xml new file mode 100644 index 00000000..0314ef60 --- /dev/null +++ b/extensions/classification-banner/org.gnome.shell.extensions.classification-banner.gschema.xml @@ -0,0 +1,29 @@ + + + + true + Show a banner at the top + + + true + Show a banner at the bottom + + + "UNCLASSIFIED" + classification message + + + "#fff" + text color + + + "rgba(0,122,51,0.75)" + background color + + + false + Include system info in top banner + + + diff --git a/extensions/classification-banner/prefs.js b/extensions/classification-banner/prefs.js new file mode 100644 index 00000000..a5dd8af1 --- /dev/null +++ b/extensions/classification-banner/prefs.js @@ -0,0 +1,197 @@ +/* exported init buildPrefsWidget */ +const { Gdk, Gio, GObject, Gtk } = imports.gi; + +const ExtensionUtils = imports.misc.extensionUtils; +const Gettext = imports.gettext.domain('gnome-shell-extensions'); +const _ = Gettext.gettext; + +const Me = ExtensionUtils.getCurrentExtension(); +const Adw = Me.imports.adwShim; + +let settings = null; + +const GenericPrefs = GObject.registerClass( +class GenericPrefs extends Adw.PreferencesGroup { + _init() { + super._init(); + + this._actionGroup = new Gio.SimpleActionGroup(); + this.insert_action_group('options', this._actionGroup); + + this._actionGroup.add_action(settings.create_action('top-banner')); + this._actionGroup.add_action(settings.create_action('bottom-banner')); + this._actionGroup.add_action(settings.create_action('system-info')); + + this.add(this._createSettingsRow('Top banner', 'top-banner')); + this.add(this._createSettingsRow('Bottom banner', 'bottom-banner')); + this.add(this._createSettingsRow('System info', 'system-info')); + } + + _createSettingsRow(title, key) { + const activatableWidget = new Gtk.Switch({ + valign: Gtk.Align.CENTER, + action_name: `options.${key}`, + }); + const row = new Adw.ActionRow({ + activatableWidget, + title, + }); + row.add_prefix(activatableWidget); + + return row; + } +}); + +const BannerPreset = GObject.registerClass({ + Properties: { + 'message': GObject.ParamSpec.string( + 'message', 'message', 'message', + GObject.ParamFlags.READWRITE, + null), + 'color': GObject.ParamSpec.string( + 'color', 'color', 'color', + GObject.ParamFlags.READWRITE, + null), + 'background-color': GObject.ParamSpec.string( + 'background-color', 'background-color', 'background-color', + GObject.ParamFlags.READWRITE, + null), + }, +}, class BannerPreset extends GObject.Object {}); + +const AppearancePrefs = GObject.registerClass( +class AppearancePrefs extends Adw.PreferencesGroup { + _init() { + super._init(); + + const model = new Gio.ListStore({ item_type: BannerPreset.$gtype }); + model.append(new BannerPreset({ + message: 'UNCLASSIFIED', + color: '#fff', + background_color: 'rgba(0, 122, 51, 0.75)', + })); + model.append(new BannerPreset({ + message: 'CONFIDENTIAL', + color: '#fff', + background_color: 'rgba(0, 51, 160, 0.75)', + })); + model.append(new BannerPreset({ + message: 'SECRET', + color: '#fff', + background_color: 'rgba(200, 16, 46, 0.75)', + })); + model.append(new BannerPreset({ + message: 'TOP SECRET', + color: '#fff', + background_color: 'rgba(255, 103, 31, 0.75)', + })); + model.append(new BannerPreset({ + message: 'TOP SECRET//SCI', + color: '#000', + background_color: 'rgba(247, 234, 72, 0.75)', + })); + + let row, activatableWidget; + row = this._createPresetsRow(model); + row.connect('notify::selected-item', comboRow => { + const { message, color, backgroundColor } = comboRow.selected_item; + settings.set_string('message', message); + settings.set_string('color', color); + settings.set_string('background-color', backgroundColor); + }); + this.add(row); + + activatableWidget = new Gtk.Entry({ + valign: Gtk.Align.CENTER, + }); + settings.bind('message', + activatableWidget, 'text', + Gio.SettingsBindFlags.DEFAULT); + row = new Adw.ActionRow({ title: _('Message'), activatableWidget }); + row.add_suffix(activatableWidget); + this.add(row); + + activatableWidget = this._createColorButton('background-color', { + use_alpha: true, + }); + row = new Adw.ActionRow({ title: _('Background color'), activatableWidget }); + row.add_suffix(activatableWidget); + this.add(row); + + activatableWidget = this._createColorButton('color'); + row = new Adw.ActionRow({ title: _('Text color'), activatableWidget }); + row.add_suffix(activatableWidget); + this.add(row); + } + + _createPresetsRow(model) { + const listFactory = new Gtk.SignalListItemFactory(); + listFactory.connect('setup', + (f, item) => item.set_child(new Gtk.Label())); + listFactory.connect('bind', (f, listItem) => { + const { child, item } = listItem; + + const provider = new Gtk.CssProvider(); + provider.load_from_data(`* { + border-radius: 99px; + padding: 6px; + color: ${item.color}; + background-color: ${item.background_color}; + }`); + child.get_style_context().add_provider(provider, + Gtk.STYLE_PROVIDER_PRIORITY_APPLICATION); + child.label = item.message; + }); + + return new Adw.ComboRow({ + title: _('Presets'), + model, + listFactory, + expression: Gtk.ConstantExpression.new_for_value(''), + }); + } + + _createColorButton(key, params = {}) { + const rgba = new Gdk.RGBA(); + rgba.parse(settings.get_string(key)); + + const button = new Gtk.ColorButton({ + ...params, + rgba, + valign: Gtk.Align.CENTER, + }); + settings.connect(`changed::${key}`, () => { + const newRgba = new Gdk.RGBA(); + newRgba.parse(settings.get_string(key)); + if (!newRgba.equal(button.rgba)) + button.set({ rgba: newRgba }); + }); + button.connect('notify::rgba', + () => settings.set_string(key, button.rgba.to_string())); + return button; + } +}); + +const ClassificationPrefs = GObject.registerClass( +class ClassificationPrefs extends Adw.PreferencesPage { + _init() { + super._init(); + + this.add(new AppearancePrefs()); + this.add(new GenericPrefs()); + } +}); + +/** */ +function init() { + Adw.init(); + ExtensionUtils.initTranslations(); + settings = ExtensionUtils.getSettings(); +} + +/** + * @returns {Gtk.Widget} - the prefs widget + */ +function buildPrefsWidget() { + return new ClassificationPrefs(); +} diff --git a/extensions/classification-banner/stylesheet.css b/extensions/classification-banner/stylesheet.css new file mode 100644 index 00000000..fb6a697e --- /dev/null +++ b/extensions/classification-banner/stylesheet.css @@ -0,0 +1,3 @@ +.classification-system-info { padding: 0 24px; } +.classification-message { font-weight: bold; } +.classification-banner { font-size: 0.9em; } diff --git a/meson.build b/meson.build index b83f0795..c71636cb 100644 --- a/meson.build +++ b/meson.build @@ -45,6 +45,7 @@ default_extensions += [ all_extensions = default_extensions all_extensions += [ 'auto-move-windows', + 'classification-banner', 'dash-to-dock', 'native-window-placement', 'panel-favorites', -- 2.38.1 From 4cde1aa62f4605cde761c9f0f2f95af64515720d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Florian=20M=C3=BCllner?= Date: Thu, 12 Jan 2023 19:43:52 +0100 Subject: [PATCH 7/7] Add custom-menu extension --- extensions/custom-menu/config.js | 484 ++++++++++++++++++++++++ extensions/custom-menu/extension.js | 217 +++++++++++ extensions/custom-menu/meson.build | 7 + extensions/custom-menu/metadata.json.in | 10 + extensions/custom-menu/stylesheet.css | 1 + meson.build | 1 + 6 files changed, 720 insertions(+) create mode 100644 extensions/custom-menu/config.js create mode 100644 extensions/custom-menu/extension.js create mode 100644 extensions/custom-menu/meson.build create mode 100644 extensions/custom-menu/metadata.json.in create mode 100644 extensions/custom-menu/stylesheet.css diff --git a/extensions/custom-menu/config.js b/extensions/custom-menu/config.js new file mode 100644 index 00000000..652c0223 --- /dev/null +++ b/extensions/custom-menu/config.js @@ -0,0 +1,484 @@ +const Gio = imports.gi.Gio; +const GLib = imports.gi.GLib; +const Json = imports.gi.Json; +const Lang = imports.lang; +const Main = imports.ui.main; +const PopupMenu = imports.ui.popupMenu; +const ByteArray = imports.byteArray; + +const Me = imports.misc.extensionUtils.getCurrentExtension(); +const getLogger = Me.imports.extension.getLogger; + +const Entry = new Lang.Class({ + Name: 'Entry', + Abstract: true, + + _init: function(prop) { + this.type = prop.type; + this.title = prop.title || ""; + + this.__vars = prop.__vars || []; + this.updateEnv(prop); + }, + + setTitle: function(text) { + this.item.label.get_clutter_text().set_text(text); + }, + + updateEnv: function(prop) { + this.__env = {} + if(!this.__vars) return; + + for(let i in this.__vars) { + let v = this.__vars[i]; + this.__env[v] = prop[v] ? String(prop[v]) : ""; + } + }, + + // the pulse function should be read as "a pulse arrives" + pulse: function() { }, + + _try_destroy: function() { + try { + if(this.item && this.item.destroy) + this.item.destroy(); + } catch(e) { /* Ignore all errors during destory*/ } + }, +}); + +const DerivedEntry = new Lang.Class({ + Name: 'DerivedEntry', + + _init: function(prop) { + if(!prop.base) + throw new Error("Base entry not specified in type definition."); + + this.base = prop.base; + this.vars = prop.vars || []; + + delete prop.base; + delete prop.vars; + + this.prop = prop; + }, + + createInstance: function(addit_prop) { + let cls = type_map[this.base]; + if(!cls) throw new Error("Bad base class."); + if(cls.createInstance) throw new Error("Not allowed to derive from dervied types"); + + for(let rp in this.prop) + addit_prop[rp] = this.prop[rp]; + addit_prop.__vars = this.vars; + + let instance = new cls(addit_prop); + + return instance; + }, +}); + +/* + * callback: function (stdout, stderr, exit_status) { } + */ +let __pipeOpenQueue = []; +let __pipeExecTimer = null; + +function pipeOpen(cmdline, env, callback) { + let param = [cmdline, env, callback] + __pipeOpenQueue.push(param); + if(__pipeExecTimer === null) { + __pipeExecTimer = GLib.timeout_add(GLib.PRIORITY_DEFAULT, 50, + function() { + let param = __pipeOpenQueue.shift(); + if(param === undefined) { + __pipeExecTimer = null; + return false; + } + if(realPipeOpen) realPipeOpen(param[0], param[1], param[2]); + return true; + }); + + } +} + +function realPipeOpen(cmdline, env, callback) { + let user_cb = callback; + let proc; + + function wait_cb(_, _res) { + let stdout_pipe = proc.get_stdout_pipe(); + let stderr_pipe = proc.get_stderr_pipe(); + + let stdout_content; + let stderr_content; + + // Only the first GLib.MAXINT16 characters are fetched for optimization. + stdout_pipe.read_bytes_async(GLib.MAXINT16, 0, null, function(osrc, ores) { + stdout_content = ByteArray.toString(stdout_pipe.read_bytes_finish(ores).get_data()); + stdout_pipe.close(null); + + stderr_pipe.read_bytes_async(GLib.MAXINT16, 0, null, function(esrc, eres) { + stderr_content = ByteArray.toString(stderr_pipe.read_bytes_finish(eres).get_data()); + stderr_pipe.close(null); + + user_cb(stdout_content, stderr_content, proc.get_exit_status()); + }); + }); + } + + if(user_cb) { + let _pipedLauncher = new Gio.SubprocessLauncher({ + flags: + Gio.SubprocessFlags.STDERR_PIPE | + Gio.SubprocessFlags.STDOUT_PIPE + }); + for(let key in env) { + _pipedLauncher.setenv(key, env[key], true); + } + proc = _pipedLauncher.spawnv(['bash', '-c', cmdline]); + proc.wait_async(null, wait_cb); + } else { + // Detached launcher is used to spawn commands that we are not concerned + // about its result. + let _detacLauncher = new Gio.SubprocessLauncher(); + for(let key in env) { + _detacLauncher.setenv(key, env[key], true); + } + proc = _detacLauncher.spawnv(['bash', '-c', cmdline]); + } + + getLogger().info("Spawned " + cmdline); + + // log(`Spawning ${cmdline}`); TODO: BEN + return proc.get_identifier(); +} + +function _generalSpawn(command, env, title) { + title = title || "Process"; + pipeOpen(command, env, function(stdout, stderr, exit_status) { + if(exit_status != 0) { + log + getLogger().warning(stderr); + getLogger().notify("proc", title + + " exited with status " + exit_status, stderr); + } + }); +} + +function quoteShellArg(arg) { + arg = arg.replace(/'/g, "'\"'\"'"); + return "'" + arg + "'"; +} + +// This cache is used to reduce detector cost. Each time creating an item, it +// check if the result of this detector is cached, which prevent the togglers +// from running detector on each creation. This is useful especially in search +// mode. +let _toggler_state_cache = { }; + +const TogglerEntry = new Lang.Class({ + Name: 'TogglerEntry', + Extends: Entry, + + _init: function(prop) { + this.parent(prop); + + this.command_on = prop.command_on || ""; + this.command_off = prop.command_off || ""; + this.detector = prop.detector || ""; + this.auto_on = prop.auto_on || false; + this.notify_when = prop.notify_when || []; + // if the switch is manually turned off, auto_on is disabled. + this._manually_switched_off = false; + this.pulse(); // load initial state + }, + + createItem: function() { + this._try_destroy(); + this.item = new PopupMenu.PopupSwitchMenuItem(this.title, false); + this.item.label.get_clutter_text().set_use_markup(true); + this.item.connect('toggled', Lang.bind(this, this._onManuallyToggled)); + this._loadState(); + return this.item; + }, + + _onManuallyToggled: function(_, state) { + // when switched on again, this flag will get cleared. + this._manually_switched_off = !state; + this._storeState(state); + this._onToggled(state); + }, + + _onToggled: function(state) { + if(state) + _generalSpawn(this.command_on, this.__env, this.title); + else + _generalSpawn(this.command_off, this.__env, this.title); + }, + + _detect: function(callback) { + // abort detecting if detector is an empty string + if(!this.detector) + return; + + pipeOpen(this.detector, this.__env, function(out) { + out = String(out); + callback(!Boolean(out.match(/^\s*$/))); + }); + }, + + compareState: function(new_state) { + // compare the new state with cached state + // notify when state is different + let old_state = _toggler_state_cache[this.detector]; + if(old_state === undefined) return; + if(old_state == new_state) return; + + if(this.notify_when.indexOf(new_state ? "on" : "off") >= 0) { + let not_str = this.title + (new_state ? " started." : " stopped."); + if(!new_state && this.auto_on) + not_str += " Attempt to restart it now."; + getLogger().notify("state", not_str); + } + }, + + _storeState: function(state) { + let hash = JSON.stringify({ env: this.__env, detector: this.detector }); + _toggler_state_cache[hash] = state; + }, + + _loadState: function() { + let hash = JSON.stringify({ env: this.__env, detector: this.detector }); + let state = _toggler_state_cache[hash]; + if(state !== undefined) + this.item.setToggleState(state); // doesn't emit 'toggled' + }, + + pulse: function() { + this._detect(Lang.bind(this, function(state) { + this.compareState(state); + + this._storeState(state); + this._loadState(); + //global.log(this.title + ': ' + this._manually_switched_off); + + if(!state && !this._manually_switched_off && this.auto_on) + // do not call setToggleState here, because command_on may fail + this._onToggled(this.item, true); + })); + }, + + perform: function() { + this.item.toggle(); + }, +}); + +const LauncherEntry = new Lang.Class({ + Name: 'LauncherEntry', + Extends: Entry, + + _init: function(prop) { + this.parent(prop); + + this.command = prop.command || ""; + }, + + createItem: function() { + this._try_destroy(); + + this.item = new PopupMenu.PopupMenuItem(this.title); + this.item.label.get_clutter_text().set_use_markup(true); + this.item.connect('activate', Lang.bind(this, this._onClicked)); + + return this.item; + }, + + _onClicked: function(_) { + _generalSpawn(this.command, this.__env, this.title); + }, + + perform: function() { + this.item.emit('activate'); + }, +}); + +const SubMenuEntry = new Lang.Class({ + Name: 'SubMenuEntry', + Extends: Entry, + + _init: function(prop) { + this.parent(prop) + + if(prop.entries == undefined) + throw new Error("Expected entries provided in submenu entry."); + + this.entries = []; + + for(let i in prop.entries) { + let entry_prop = prop.entries[i]; + let entry = createEntry(entry_prop); + this.entries.push(entry); + } + }, + + createItem: function() { + this._try_destroy(); + + this.item = new PopupMenu.PopupSubMenuMenuItem(this.title); + this.item.label.get_clutter_text().set_use_markup(true); + for(let i in this.entries) { + let entry = this.entries[i]; + this.item.menu.addMenuItem(entry.createItem()); + } + + return this.item; + }, + + pulse: function() { + for(let i in this.entries) { + let entry = this.entries[i]; + entry.pulse(); + } + } +}); + +const SeparatorEntry = new Lang.Class({ + Name: 'SeparatorEntry', + Extends: Entry, + + _init: function(prop) { }, + + createItem: function() { + this._try_destroy(); + + this.item = new PopupMenu.PopupSeparatorMenuItem(this.title); + this.item.label.get_clutter_text().set_use_markup(true); + + return this.item; + }, +}); + +let type_map = {}; + +//////////////////////////////////////////////////////////////////////////////// +// Config Loader loads config from JSON file. + +// convert Json Nodes (GLib based) to native javascript value. +function convertJson(node) { + if(node.get_node_type() == Json.NodeType.VALUE) + return node.get_value(); + if(node.get_node_type() == Json.NodeType.OBJECT) { + let obj = {} + node.get_object().foreach_member(function(_, k, v_n) { + obj[k] = convertJson(v_n); + }); + return obj; + } + if(node.get_node_type() == Json.NodeType.ARRAY) { + let arr = [] + node.get_array().foreach_element(function(_, i, elem) { + arr.push(convertJson(elem)); + }); + return arr; + } + return null; +} + +// +function createEntry(entry_prop) { + if(!entry_prop.type) + throw new Error("No type specified in entry."); + + let cls = type_map[entry_prop.type]; + if(!cls) + throw new Error("Incorrect type '" + entry_prop.type + "'"); + else if(cls.createInstance) + return cls.createInstance(entry_prop); + + return new cls(entry_prop); +} + +var Loader = new Lang.Class({ + Name: 'ConfigLoader', + + _init: function(filename) { + if(filename) + this.loadConfig(filename); + }, + + loadConfig: function(filename) { + // reset type_map everytime load the config + type_map = { + launcher: LauncherEntry, + toggler: TogglerEntry, + submenu: SubMenuEntry, + separator: SeparatorEntry + }; + + type_map.systemd = new DerivedEntry({ + base: 'toggler', + vars: ['unit'], + command_on: "pkexec systemctl start ${unit}", + command_off: "pkexec systemctl stop ${unit}", + detector: "systemctl status ${unit} | grep Active:\\\\s\\*activ[ei]", + }); + + type_map.tmux = new DerivedEntry({ + base: 'toggler', + vars: ['command', 'session'], + command_on: 'tmux new -d -s ${session} bash -c "${command}"', + command_off: 'tmux kill-session -t ${session}', + detector: 'tmux has -t "${session}" 2>/dev/null && echo yes', + }); + + /* + * Refer to README file for detailed config file format. + */ + this.entries = []; // CAUTION: remove all entries. + + let config_parser = new Json.Parser(); + config_parser.load_from_file(filename); + + let conf = convertJson(config_parser.get_root()); + if (conf.entries == undefined) + throw new Error("Key 'entries' not found."); + if (conf.deftype) { + for (let tname in conf.deftype) { + if (type_map[tname]) + throw new Error("Type \""+tname+"\" duplicated."); + type_map[tname] = new DerivedEntry(conf.deftype[tname]); + } + } + + for (let conf_i in conf.entries) { + let entry_prop = conf.entries[conf_i]; + this.entries.push(createEntry(entry_prop)); + } + }, + + + saveDefaultConfig: function(filename) { + // Write default config + const PERMISSIONS_MODE = 0o640; + const jsonString = JSON.stringify({ + "_homepage_": "https://github.com/andreabenini/gnome-plugin.custom-menu-panel", + "_examples_": "https://github.com/andreabenini/gnome-plugin.custom-menu-panel/tree/main/examples", + "entries": [ { + "type": "launcher", + "title": "Edit menu", + "command": "gedit $HOME/.entries.json" + } ] + }, null, 4); + let fileConfig = Gio.File.new_for_path(filename); + if (GLib.mkdir_with_parents(fileConfig.get_parent().get_path(), PERMISSIONS_MODE) === 0) { + fileConfig.replace_contents(jsonString, null, false, Gio.FileCreateFlags.REPLACE_DESTINATION, null); + } + // Try to load newly saved file + try { + this.loadConfig(filename); + } catch(e) { + Main.notify(_('Cannot create and load file: '+filename)); + } + }, /**/ + +}); diff --git a/extensions/custom-menu/extension.js b/extensions/custom-menu/extension.js new file mode 100644 index 00000000..9f3e3ce8 --- /dev/null +++ b/extensions/custom-menu/extension.js @@ -0,0 +1,217 @@ +/* extension.js + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + * + * SPDX-License-Identifier: GPL-3.0-or-later + */ + +/** + * @author Ben + * @see https://github.com/andreabenini/gnome-plugin.custom-menu-panel + */ + +/* exported init */ + +const GETTEXT_DOMAIN = 'custom-menu-panel'; +const CONFIGURATION_FILE = '/.entries.json'; + +const { GObject, St } = imports.gi; + +const Gettext = imports.gettext.domain(GETTEXT_DOMAIN); +const _ = Gettext.gettext; + +const ExtensionUtils = imports.misc.extensionUtils; +const Lang = imports.lang; +const GLib = imports.gi.GLib; +const Gio = imports.gi.Gio; +const BackgroundMenu = imports.ui.backgroundMenu; +const Main = imports.ui.main; +const PanelMenu = imports.ui.panelMenu; +const PopupMenu = imports.ui.popupMenu; + +const Me = imports.misc.extensionUtils.getCurrentExtension(); +const Config = Me.imports.config + +const LOGGER_INFO = 0; +const LOGGER_WARNING = 1; +const LOGGER_ERROR = 2; + +const { BackgroundMenu: OriginalBackgroundMenu } = BackgroundMenu; + + +class CustomMenu extends PopupMenu.PopupMenu { + constructor(sourceActor) { + super(sourceActor, 0.0, St.Side.TOP, 0); + + this._loadSetup(); + } + + /** + * LOAD Program settings from .entries.json file + */ + _loadSetup() { + this.removeAll(); + // Loading configuration from file + this.configLoader = new Config.Loader(); + try { + this.configLoader.loadConfig(GLib.get_home_dir() + CONFIGURATION_FILE); // $HOME/.entries.json + } catch(e) { + this.configLoader.saveDefaultConfig(GLib.get_home_dir() + CONFIGURATION_FILE); // create default entries + } + // Build the menu + let i = 0; + for (let i in this.configLoader.entries) { + let item = this.configLoader.entries[i].createItem(); + this.addMenuItem(item); + } + } /**/ +} + +class CustomBackgroundMenu extends CustomMenu { + constructor(layoutManager) { + super(layoutManager.dummyCursor); + + this.actor.add_style_class_name('background-menu'); + + layoutManager.uiGroup.add_actor(this.actor); + this.actor.hide(); + + this.connect('open-state-changed', (menu, open) => { + if (open) + this._updateMaxHeight(); + }); + } + + _updateMaxHeight() { + const monitor = Main.layoutManager.findMonitorForActor(this.actor); + const workArea = Main.layoutManager.getWorkAreaForMonitor(monitor.index); + const {scaleFactor} = St.ThemeContext.get_for_stage(global.stage); + const vMargins = this.actor.margin_top + this.actor.margin_bottom; + const {y: offsetY} = this.sourceActor; + + const maxHeight = Math.round((monitor.height - offsetY - vMargins) / scaleFactor); + this.actor.style = `max-height: ${maxHeight}px;`; + } +} + +const Indicator = GObject.registerClass( + class Indicator extends PanelMenu.Button { + _init() { + super._init(0.0, _('Custom Menu Panel Indicator'), true); + this.add_child(new St.Icon({ + icon_name: 'view-list-bullet-symbolic', + style_class: 'system-status-icon', + })); + + this.setMenu(new CustomMenu(this)); + } + } +); + + +const Logger = new Lang.Class({ + Name: 'Logger', + + _init: function(log_file) { + this._log_file = log_file; + // initailize log_backend + if(!log_file) + this._initEmptyLog(); + else if(log_file == "gnome-shell") + this._initGnomeLog(); + else + this._initFileLog(); + + this.level = LOGGER_WARNING; + + this.info = function(t) { + if(this.level <= LOGGER_INFO) this.log(t) + }; + this.warning = function(t) { + if(this.level <= LOGGER_WARNING) this.log(t) + }; + this.error = function(t) { + if(this.level <= LOGGER_ERROR) this.log(t); + }; + }, + + _initEmptyLog: function() { + this.log = function(_) { }; + }, + + _initGnomeLog: function() { + this.log = function(s) { + global.log("custom-menu-panel> " + s); + }; + }, + + _initFileLog: function() { + this.log = function(s) { + // all operations are synchronous: any needs to optimize? + if(!this._output_file || !this._output_file.query_exists(null) || + !this._fstream || this._fstream.is_closed()) { + + this._output_file = Gio.File.new_for_path(this._log_file); + this._fstream = this._output_file.append_to( + Gio.FileCreateFlags.NONE, null); + + if(!this._fstream instanceof Gio.FileIOStream) { + this._initGnomeLog(); + this.log("IOError: Failed to append to " + this._log_file + + " [Gio.IOErrorEnum:" + this._fstream + "]"); + return; + } + } + + this._fstream.write(String(new Date())+" "+s+"\n", null); + this._fstream.flush(null); + } + }, + + notify: function(t, str, details) { + this.ncond = this.ncond || ['proc', 'ext', 'state']; + if(this.ncond.indexOf(t) < 0) return; + Main.notify(str, details || ""); + }, +}); + +// lazy-evaluation +let logger = null; +function getLogger() { + if(logger === null) + logger = new Logger("gnome-shell"); + return logger; +} + +class Extension { + constructor(uuid) { + this._uuid = uuid; + + ExtensionUtils.initTranslations(GETTEXT_DOMAIN); + } + + enable() { + BackgroundMenu.BackgroundMenu = CustomBackgroundMenu; + Main.layoutManager._updateBackgrounds(); + } + + disable() { + BackgroundMenu.BackgroundMenu = OriginalBackgroundMenu; + Main.layoutManager._updateBackgrounds(); + } +} + +function init(meta) { + return new Extension(meta.uuid); +} diff --git a/extensions/custom-menu/meson.build b/extensions/custom-menu/meson.build new file mode 100644 index 00000000..92450963 --- /dev/null +++ b/extensions/custom-menu/meson.build @@ -0,0 +1,7 @@ +extension_data += configure_file( + input: metadata_name + '.in', + output: metadata_name, + configuration: metadata_conf +) + +extension_sources += files('config.js') diff --git a/extensions/custom-menu/metadata.json.in b/extensions/custom-menu/metadata.json.in new file mode 100644 index 00000000..054f639b --- /dev/null +++ b/extensions/custom-menu/metadata.json.in @@ -0,0 +1,10 @@ +{ +"extension-id": "@extension_id@", +"uuid": "@uuid@", +"settings-schema": "@gschemaname@", +"gettext-domain": "@gettext_domain@", +"name": "Custom menu", +"description": "Quick custom menu for launching your favorite applications", +"shell-version": [ "@shell_current@" ], +"url": "@url@" +} diff --git a/extensions/custom-menu/stylesheet.css b/extensions/custom-menu/stylesheet.css new file mode 100644 index 00000000..25134b65 --- /dev/null +++ b/extensions/custom-menu/stylesheet.css @@ -0,0 +1 @@ +/* This extensions requires no special styling */ diff --git a/meson.build b/meson.build index c71636cb..23fb2c89 100644 --- a/meson.build +++ b/meson.build @@ -46,6 +46,7 @@ all_extensions = default_extensions all_extensions += [ 'auto-move-windows', 'classification-banner', + 'custom-menu', 'dash-to-dock', 'native-window-placement', 'panel-favorites', -- 2.38.1